/////////////////////////////////////////////////////////////
//Client side error handling function starts from here.
/////////////////////////////////////////////////////////////
function __ErrorHandler()
{
	this.prefix = "";
	this.header = "";

	oDiv = document.getElementById("divError");
	if(oDiv == "undefined")
	{
		alert("'divError' not defined on this page.");
	}
}
__ErrorHandler.prototype = 
{
	isBlank: function()
	{
		return oDiv.innerHTML == "";
	},
	showError: function()
	{
		if(this.isBlank() != true)
		{
			oDiv.style.display = "block";
		}
	},
	hideError: function()
	{
		oDiv.style.display = "none";
	},
	clearError: function()
	{
		oDiv.innerHTML = "";
		this.hideError();
	},
	addError: function(str)
	{
	  var strHTML = "";

	  if(this.isBlank())
	  {
		strHTML += this.header;
		strHTML += "</p>";
	  }
	  else
	  {
      	strHTML += "<br>";
	  }

	  strHTML += this.prefix + ' ' + str;
	  oDiv.innerHTML += strHTML;
	}
}

function fnDo(str)
{
	var oName = document.getElementById("txtName");
	var oErr = new __ErrorHandler();
	
	oErr.prefix = "-";
	switch (str)
	{
		case 'add':
			{
				oErr.addError('An Error was added');
			}
		case 'show':
			{
				oErr.showError();
				break
			}
		case 'clear':
			{
				oErr.clearError()
				break;
			}
		case 'hide':
			{
				oErr.hideError()
				break;
			}
		default:
			break;
	}
	document.getElementById("txtdebug").innerText =  document.getElementById("divError").innerHTML;

}
/////////////////////////////////////////////////////////
//End
////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////
//Used to check whether the email address is in correct format or not.
//////////////////////////////////////////////////////////////////////
function CheckMailAddressFormat( sEmailAddress )
{
    //Check whether the specified email address is in correct format or not.
    var sEmail = new String( sEmailAddress );
    var emailValid = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\.\-])+\.)+([a-zA-Z0-9]{2,4})$/;

    if( emailValid.test( sEmail ) == false)
    {
        return false;
    }
    
    return true;
}

/////////////////////////////////////////////////////////
//Used to trim the string.
////////////////////////////////////////////////////////
function Trim(tstrInput)
{
	return (tstrInput.replace(/^ *| *$/g,""));
}

///////////////////////////////////////////////////////
//Used this function to allow only characters.
////////////////////////////////////////////////////////
function fnAllowOnlyCharacters( eObj )
{
    var oKey;
    
	if( navigator.userAgent.toLowerCase().indexOf("msie") != -1 )
	{ 
		oKey = eObj.keyCode;
	}
	else if( navigator.product == "Gecko" )
	{
		oKey = eObj.which;
	}
		
	if( ( oKey > 47) && ( oKey < 58) )
	{
		return false;
	}
	return true;
}

////////////////////////////////////////////////////////
//Used this function to allow only numeric values.
////////////////////////////////////////////////////////
function fnAllowOnlyNumerics( eObj )
{
    var oKey;
    
	if( navigator.userAgent.toLowerCase().indexOf("msie") != -1 )
	{ 
		oKey = eObj.keyCode;
	}
	else if( navigator.product == "Gecko" )
	{
		oKey = eObj.which;
	}
		
	if( (( oKey > 47) && ( oKey < 58)) || oKey == 8 || oKey == 0 )
	{
		return true;
	}
	return false;
}


/////////////////////////////////////////////////////////////////////////////////
//Used to allow custom characters. Pass all the custom chars in seconde parameter.
//Example if you want to allow '(' and ')' then call this function as 
//                  fnAllowCustomChars( event , '('')' )
/////////////////////////////////////////////////////////////////////////////////

function fnAllowCustomChars( eObj , sChars )
{
    var oKey;
    
	if( navigator.userAgent.toLowerCase().indexOf("msie") != -1 )
	{ 
		oKey = eObj.keyCode;
	}
	else if( navigator.product == "Gecko" )
	{
		oKey = eObj.which;
	}
    
    
	if( ( oKey > 64 && oKey < 91 ) || ( oKey > 96 && oKey <123 ) || ( oKey > 47 && oKey < 58 ) || oKey == 8 || oKey == 0 )
	{
		return true;
	}
	else 
	{
	    var sAllowChars = new String( sChars );  
	    var cChar       = "'" + String.fromCharCode( oKey ) + "'";
	    
	    if( sAllowChars.indexOf( cChar ) != -1 )
	    {
	        return true;
	    }
	}
	return false;
}


//////////////////////////////////////////////////////////////////
//Trim the editor content.
/////////////////////////////////////////////////////////////////
function TrimEditor( strValue )
{

    var sValue = new String(strValue);
    sValue = sValue.replace( /&nbsp;/g, "");
    sValue = sValue.replace( /<p>/g, "");
    sValue = sValue.replace( /<\/p>/g, "");
    sValue = sValue.replace( /<P>/g, "");
    sValue = sValue.replace( /<\/P>/g, "");
    sValue = sValue.replace( /<br>/g, "");
    sValue = sValue.replace( /<BR>/g, "");
    
//    if ( sValue.indexOf("<p>") == 0 )
//        sValue = sValue.substring( 3 );
//    if( sValue.lastIndexOf("</p>") == sValue.length - 4 )
//        sValue = sValue.substring( 0 ,  sValue.lastIndexOf("</p>") );
//    if( sValue.lastIndexOf("<br>") == sValue.length - 4 )
//        sValue = sValue.substring( 0 ,  sValue.lastIndexOf("<br>") );
    
    return sValue;
}


function TextEditorValidator(objifr,ErrorMessage)
{
    //alert("TextEditorINN");
    ifr = objifr;
    if (ifr)
    {
        var ifrDoc = ifr.contentWindow ? ifr.contentWindow.document : ifr.contentDocument;
        var edittd = ifrDoc.getElementById("xEditingArea");
        
        if( edittd.childNodes[0].tagName == "IFRAME")
        {
            ifr = ifrDoc.documentElement.getElementsByTagName("IFRAME")[0] ;
            ifrDoc = ifr.contentWindow ? ifr.contentWindow.document : ifr.contentDocument;
            
            var ifrbdy = ifrDoc.documentElement.getElementsByTagName('body').item(0);
            if (ifrbdy) 
            { 
              if( Trim( TrimEditor( ifrbdy.innerHTML ) ) == "" )
              {
                  //ErrorObj.addError(ErrorMessage);
                  //ErrorObj.showError();
                  return false;
              }
            }
        }
        else
        {
            if( Trim( TrimEditor( edittd.childNodes[0].value ) )  == "" )
            {
                //ErrorObj.addError(ErrorMessage);
                //ErrorObj.showError();
                return false;
            }
        }
    }
}
     

function fnValidateDate(stringFormat)
{
    var str = stringFormat.split("/")
    if(str.length == 0)
    {
        return false;
    }
    else
    {
        if(str.length != 3)
        {
            return false;
        }
        else
        {
            try
            {
                
                if(isNaN(str[0]) || isNaN(str[1]) || isNaN(str[2]))
                {
                    return false
                }
                //alert("dd");
                if(str[1] == "08")
                {
                    m = 8;
                }
                else if(str[1] == "09")
                {
                    m = 9;
                }
                else
                {
                    m = parseInt(str[1]);
                }
                if(str[0] == "08")
                {
                    d = 8;
                }
                else if(str[0] == "09")
                {
                    d = 9;
                }
                else
                {
                    d = parseInt(str[0]);
                }
                
                y = parseInt(str[2]);
                if(str[2].length != 4)
                {
                    return false;
                }
                monthValid = false;
                
                if(m >=1 && m <=12)
                {
                    monthValid = true;
                }

                dayValid = false;
                
                if( (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) && ( d >= 1 && d <= 31 ) )
                {
                    dayValid=true;
                }
                else if( (m==4 || m==6 || m==9 || m==11 ) && ( d >= 1 && d <= 30 ) )
                {
                    dayValid=true;
                }
                else if( m == 2 && ( d >= 1 && d <= 29 ) )
                {
                   // dayValid=true;
                   //alert(d);
                   if(d == 29)
                   {
                        if(y%4==0 && y%100 != 0)
                        {
                            dayValid=true;
                        }
                        else
                        {
                            if(y%400 == 0)
                            {
                                dayValid=true;
                            }
                        }
                    }
                    else
                    {   
                        if( m == 2 && ( d >= 1 && d <= 28 ) )
                        {
                            dayValid=true;
                        }
                    }
                    
                }
                
                if(monthValid == false || dayValid == false)
                {
                    return false;
                }
                return true;
             }
             catch(ex)
             {
                return false;
             }
        }
    }
}




function TextEditorValidator(objifr,ErrorMessage)
{
    //alert("TextEditorINN");
    ifr = objifr;
    if (ifr)
    {
        var ifrDoc = ifr.contentWindow ? ifr.contentWindow.document : ifr.contentDocument;
        var edittd = ifrDoc.getElementById("xEditingArea");
        
        if( edittd.childNodes[0].tagName == "IFRAME")
        {
            ifr = ifrDoc.documentElement.getElementsByTagName("IFRAME")[0] ;
            ifrDoc = ifr.contentWindow ? ifr.contentWindow.document : ifr.contentDocument;
            
            var ifrbdy = ifrDoc.documentElement.getElementsByTagName('body').item(0);
            if (ifrbdy) 
            { 
              if( Trim( TrimEditor( ifrbdy.innerHTML ) ) == "" )
              {
                  //ErrorObj.addError(ErrorMessage);
                  //ErrorObj.showError();
                  return false;
              }
            }
        }
        else
        {
            if( Trim( TrimEditor( edittd.childNodes[0].value ) )  == "" )
            {
                //ErrorObj.addError(ErrorMessage);
                //ErrorObj.showError();
                return false;
            }
        }
    }
}

/**************** CHANDRESH ***********START****/
function fntgl()
{
    if (document.getElementById('_lgnlnk').style.display == 'none')
    {
        document.getElementById('_lgnlnk').style.display = 'block'
    }
    else
    {
        document.getElementById('_lgnlnk').style.display = 'none'
    }
}
/**************** CHANDRESH ***********END******/