//////////////////////////////////////////////////////////////////////////////////////////////////
// File            : PAFvalidate.js
// Description     : validating user input according to the locale setting
// Version         : 1.0
// Created         :
// Author (s)      : mrunal bhandare
// History		   : 
// Copyright PROCIT B.V., The Netherlands, 2002
// Merelhoven 283
// 2902 KE, Capelle ad IJssel
// The Netherlands
// info@ Procit.com
// +31(0)871901794

// This program is the intellectual property of Procit B.V., The Netherlands ("Procit").
// The program may be used, modified and/or copied only with the written permission of
// Procit or in accordance with the terms and conditions stipulated in the
// agreement/contract under which the program has been supplied.
/////////////////////////////////////////////////////////////////////////////////////////////////

var _LocaleId;


var ErrStr='';
var dateFormat,timeFormat,decimalSeparator,digitSeparator;
var countryCode;

var isProcitDate=false;
var isProcitTime=false;

//Error message variables for Dutch and English error messages according to the country code
//********* mrunal for new validations //
var cMaxLen;
var cMinLen;
var cGreaterThan;
var cGreaterThanEqual;
var cLessThan;
var cLessThanEqual;
var cRgExpression;
var cEqualTo;

//************************************//
var cLeapYearMsg;
var cNonLeapYearMsg;
var cInvalidDateMsg;
var cInvalidDateSeparatorMsg;
var cInvalidEmailDomain;
var cInvalidIpAddress;
var cInvalidDayMsg;
var cInvalidMonthMsg;
var cInvalidYearMsg;

var cInvalidTimeMsg;
var cInvalidTimeSeparatorMsg;

var cInvalidHourMsg;
var cInvalidMinuteMsg;
var cInvalidSecondMsg;

var cInvalidNumberMsg;
//----SACHIN PIMPLE 20061213
var cInvalidalfhaNumericMsg
//----SACHIN PIMPLE 20061213
var cNotANumberMsg;
var cInvalidDecimalSeparator;

var cRequiredFieldMsg;
var cGeneralInvalidMsg;

var cZipCodeErrMsg;
var cTelNumErrMsg;

var cStartEndDateErrMsg;

var cQuoteErrMsg;

var TwoDaysCheckErrMsg;

var arrSDate='';
var arrEDate='';

var temp2Day='';

// Variables containing error messages for different types
//********* mrunal for new validations //
var mMaxLen;
var mMinLen;
var mGreaterThan;
var mGreaterThanEqual;
var mLessThan;
var mLessThanEqual;
var mRgExpression;
var mEqualTo;
//************************************//

var mReqdFields = '';					// required fields

var mInvalidDate = '';					// date fields
var mInvalidDay = '';
var mInvalidMonth = '';
var mInvalidYear = '';
var mNonLeapYearDay31 = '';
var mNonLeapYearDay30 = '';
var mNonLeapYearDay28 = '';
var mLeapYear = '';
var mStartEndDateErr = '';
var mTwoDaysCheckErr = '';
var malphaNumeric ='';

var mInvalidTime = '';					// time fields
var mInvalidHour = '';
var mInvalidMinute = '';
var mInvalidSecond = '';

var mQuoteErr = '';						// other fields
var mNotANumber= '';
var mZipCodeError = '';
var mTelNumErr = '';
var mEmailAddress = '';
var mEmailDomain = '';
var mIpAddress = '';
function clearVariables()
{
	ErrStr = '';
	//mrunal ***************8
	mMaxLen='';
	mMinLen='';
	mGreaterThan='';
	mGreaterThanEqual='';
	mLessThan='';
	mLessThanEqual='';
	mRgExpression ='';
	mEqualTo ='';
	// mruna/          
	
	mReqdFields = '';					// required fields
	
	mInvalidDate = '';					// date fields
	mInvalidDay = '';
	mInvalidMonth = '';
	mInvalidYear = '';
	mNonLeapYearDay31 = '';
	mNonLeapYearDay30 = '';
	mNonLeapYearDay28 = '';
	mLeapYear = '';
	mStartEndDateErr = '';
	mTwoDaysCheckErr = '';

	mInvalidTime = '';					// time fields
	mInvalidHour = '';
	mInvalidMinute = '';
	mInvalidSecond = '';
	
	mQuoteErr = '';					// other fields
	mNotANumber= '';
	mZipCodeError = '';
	mTelNumErr = '';
	mEmailAddress = '';
	mEmailDomain = '';
	mIpAddress ='';
}
function setMessages(cCode)
{
		switch(cCode) 
	{ 
		case 1043:  //Dutch
		
			dateFormat='dmy';
			timeFormat='hms';
			decimalSeparator=',';
			digitSeparator='.';
			countryCode=1043;

			cLeapYearMsg = "Deze datum is niet toegestaan." + '\n';
			cNonLeapYearDay31Msg="De dag moet tussen de 1 en 31 vallen voor deze maand" + '\n';
			cNonLeapYearDay30Msg="De dag moet tussen de 1 en 30 vallen voor deze maand." + '\n';
			cNonLeapYearDay28Msg="De dag moet tussen de 1 en 28 vallen voor de maand februari." + '\n';
					
			cInvalidDateMsg="Datumformaat is ongeldig" + '\n';
			cInvalidDateSeparatorMsg="Datum scheidingsteken is ongeldig" + '\n';

			cInvalidDayMsg="Ongeldige dag in de volgende datum: " + '\n';
			cInvalidMonthMsg="Ongeldige maand in de volgende datum: " + '\n';
			cInvalidYearMsg="Ongeldig jaar in de volgende datum: " + '\n'; 

			cInvalidTimeMsg="Tijdformaat is ongeldig" + '\n';
			cInvalidTimeSeparatorMsg="Tijd scheidingsteken is ongeldig" + '\n';

			cInvalidHourMsg="Ongeldig uur in de volgende tijd: " + '\n';
			cInvalidMinuteMsg="Ongeldige minuut in de volgende tijd:  " + '\n';
			cInvalidSecondMsg="Ongeldige seconde in de volgende tijd: " + '\n';

			cInvalidNumberMsg="Nummerformaat is ongeldig" + '\n';
			cNotANumberMsg="Het volgende veld heeft een ongeldig nummer: " + '\n';
			cInvalidDecimalSeparator="Ongeldig getal scheidingsteken." + '\n';

			cRequiredFieldMsg="Het volgende veld is verplicht: " + '\n';
			
			cZipCodeErrMsg="Ongeldige postcode:" + '\n';
			cTelNumErrMsg="Ongeldig telefoonnummer" + '\n';
			
			cStartEndDateErrMsg="Einddatum dient na de startdatum te liggen." + '\n';
			
			cQuoteErrMsg="Waarde bevat dubbele quote." + '\n';
			TwoDaysCheckErrMsg="Datum verschil moet kleiner of gelijk zijn aan 2."  + '\n';
			
			cInvalidIpAddress= "Invalid Ip Address in following fields:\n";
			cInvalidEmailDomain = "Invalid Domain in "
			
			cInvalidEmailAddress = "Invalid email address in "
			cInvalidalfhaNumericMsg = "Leestekens, spaties en bijzondere tekens zijn niet toegestaan."
			
			
			cMaxLen ='Following fields Exceeding Maximum Length: ' + '\n';
			cMinLen='Length of Following fields is Less than Minimum : ' + '\n';
			cGreaterThan='Values in following fields Should Be Greater than ' + '\n';
			cGreaterThanEqual='Values in following fields Should Be Greater than/Equal ' + '\n';;
			cLessThan='Values in following fields Should Be Less than ' + '\n';
			cLessThanEqual='Values in following fields Should Be Less than/Equal ' + '\n';;
            cRgExpression ='Value of Following fields not matching to Regular Expression ' + '\n';
			cEqualTo = 'Value of Following fields not Equal to the value set for the Field ' + '\n';
			
		break;
		
		case 1033:	//English 
			dateFormat='mdy';
			timeFormat='hms';
			decimalSeparator='.';
			digitSeparator=',';
			countryCode=1033;

			cLeapYearMsg="Description: Day must be between 1 to 29 for the month of February in Leap Year." + '\n';
			cNonLeapYearDay31Msg="Description: Day must be between 1 to 31 for this month." + '\n';
			cNonLeapYearDay30Msg="Description: Day must be between 1 to 30 for this month." + '\n';
			cNonLeapYearDay28Msg="Description: Day must be between 1 to 28 for the month of February." + '\n';
					
			cInvalidDateMsg="Date format is invalid!" + '\n';
			cInvalidDateSeparatorMsg="Date separator is invalid!" + '\n';

			cInvalidDayMsg="Invalid Day in following Date field: " + '\n';
			cInvalidMonthMsg="Invalid Month in following Date field: " + '\n';
			cInvalidYearMsg="Invalid Year in following Date field: " + '\n';

			cInvalidTimeMsg="Time format is invalid!" + '\n';
			cInvalidTimeSeparatorMsg="Time separator is invalid." + '\n';

			cInvalidHourMsg="Invalid Hour in following Time field: " + '\n';
			cInvalidMinuteMsg="Invalid Minute in following Time field: " + '\n';
			cInvalidSecondMsg="Invalid Second in following Time field: " + '\n';

			cInvalidNumberMsg="Number format is invalid" + '\n';
			cNotANumberMsg="Following field contains invalid number: " + '\n';
			cInvalidDecimalSeparator="The decimal separator is Invalid." + '\n';

			cRequiredFieldMsg="Following field must be filled: " + '\n';

			cZipCodeErrMsg="Following field contains invalid PostCode:" + '\n';
			cTelNumErrMsg="Invalid Telephone Number!!" + '\n';
			
			cStartEndDateErrMsg="End date is less then Start Date." + '\n';
			
			cQuoteErrMsg="Value contains Double Quote." + '\n';
			TwoDaysCheckErrMsg="Date Difference must be less than equals to 2"  + '\n';
			
			cInvalidEmailAddress = "Invalid email address in "
			cInvalidalfhaNumericMsg = "Special characters or spaces are not allowed."
			
			cInvalidIpAddress= "Invalid Ip Address in following fields:\n";
			
			cMaxLen ='Following fields Exceeding Maximum Length: ' + '\n';
			cMinLen='Length of Following fields is Less than Minimum : ' + '\n';
			cGreaterThan='Values in following fields Should Be Greater than ' + '\n';
			cGreaterThanEqual='Values in following fields Should Be Greater than/Equal ' + '\n';;
			cLessThan='Values in following fields Should Be Less than ' + '\n';
			cLessThanEqual='Values in following fields Should Be Less than/Equal ' + '\n';;
            cRgExpression ='Value of Following fields not matching to Regular Expression ' + '\n';
			cEqualTo = 'Value of Following fields not Equal to the value set for the Field ' + '\n';
		break;
	}

}




function validateControl(obj,cCode)
{
   if(document.getElementById("_err_" +obj.id) != null)
		document.getElementById("_err_" +obj.id).style.display ="none";
   setMessages(cCode);

  clearVariables(); // clear variables to start fresh error message
	
  validatefrmControl(obj);
  BuiltErrMessageString(); 
	
	if (ErrStr!='')
	{			
		alert(ErrStr);
		obj.focus();
		ErrStr='';
		nretVal=true;
		retval=false;
		if(document.getElementById("_err_" +obj.id) != null)
			obj.document.getElementById("_err_" +obj.id).style.display ="";
		  
	}
	else
	{
		retval =true;
	}
  return retval;
}

function  validatefrmControl(obj)
{
	//alert("Validate : " + obj.name);
	        
	       // alert("in");
	        var cType,cVal,idexPos,arrValidations,caption;
	        var allValidations = new String();
	         
	        allValidations = getValidationAttribute(obj,"ALL");
	          //alert(obj.type); 
	         
	        if(allValidations =="") return true;
	        caption =  getValidationAttribute(obj,'caption');
	      
	        if(obj.type.toLocaleLowerCase() =="text" || obj.type.toLocaleLowerCase() =="textarea" || obj.type.toLocaleLowerCase() == "password" || obj.type.toLocaleLowerCase() =="hidden")
	            obj.value  = Trim(obj.value);        
			cType = getValidationAttribute(obj,'isRequired');
			cType = cType.toLocaleLowerCase();
			//alert (obj.id + " >> " + cType + " >>" +  obj.value )  ; 
			
			if(cType=='yes' && obj.value=='')
				cVal = 0
			else if(cType=='no' && obj.value=='')
				cVal =  1;
			else
				cVal =  2;
			
			if(cVal!=1 && cVal!=2)
			{
				mReqdFields = mReqdFields +  caption + '\n';
				return false;
			} 
			
			idexPos = allValidations.indexOf("isRequired");
			if(idexPos != -1)
			{
			   if(allValidations.indexOf(";",parseInt(idexPos)) != -1)
			   {
				  cType  = allValidations.substring(idexPos,allValidations.indexOf(";",idexPos));
			      allValidations=allValidations.replace(cType + ";","");  
			   }
			   else                  
			    {  cType  = allValidations.substr(idexPos,allValidations.length - idexPos  ); 
			       allValidations=allValidations.replace(";" + cType ,"");  
     
			    }
			} 
		
			cType=getValidationAttribute(obj,'controlType');
			idexPos = allValidations.indexOf("controlType");
			if(idexPos != -1)
			{
			   if(allValidations.indexOf(";",parseInt(idexPos)) != -1)
			   {
				  cVal  = allValidations.substring(idexPos,allValidations.indexOf(";",idexPos));
			      allValidations=allValidations.replace(cVal + ";","");  
			   }
			   else                  
			    {  
		 		  cVal  = allValidations.substr(idexPos,allValidations.length - idexPos  );
		          if(allValidations.indexOf(";")!= -1)
				    allValidations=allValidations.replace(";" + cVal ,"");  
                  else
                    allValidations=allValidations.replace( cVal ,"");  
                  
			    }
			} 
			if(allValidations != "")
				arrValidations = allValidations.split(";") ;
	
			cType=cType.toLowerCase();
			switch(cType) 
			{ 
		        case 'alphanumeric': 
					mQuoteErr ='';
					var tempStr;
					tempStr=fnalphanumeric(obj);
					if (tempStr)
						malphaNumeric = '';
					else if (!tempStr )
						{
							mReqdFields = mReqdFields +  caption + '\n';
							malphaNumeric = 'false';
							return false;
						}
					break;
						 
				case 'date': 					
					var tempStr;
					tempStr=checkExtDate(obj,countryCode);
					if (!tempStr )
						return false;
						
					break;

				case 'time': 
					var tempStr;
					tempStr=checkExtTime(obj,countryCode);
					if (!tempStr )
							return false;
					break;
					
				case 'datetime':
				    var tempStr;
					tempStr = validDateTime(obj,countryCode);
					if (!tempStr )
						return false;
					break;

				case 'number': 
				     if(obj.value !="")
				    {
						if(checkSigns(obj)!=0)
						{
							mQuoteErr = mQuoteErr + caption + '\n';
							return false;
						}
						var tempStr;
						tempStr=checkExtNumber(obj,countryCode);
						if (!tempStr )
								return false;
					}
					break;
	
				case 'text': 
					if(checkSigns(obj)!=0)
					{
						mQuoteErr = mQuoteErr + caption + '\n';
						return false;
					}
					break;
	
				case 'postalcode': 
					var tempStr;
					tempStr=checkPostalCode(obj);
					if (!tempStr )
						return false;
					break;

				
				case 'phonenumber': 
					var tempStr;
					tempStr=checkTelephoneNumber(obj,countryCode);
					if(tempStr!=true)
					{
							mTelNumErr = mTelNumErr + tempStr + '\n';
							return false;
					}
					
				break;
				
				case 'email' :
					if(!validateEmail(obj))
					{	 
						mEmailAddress = mEmailAddress + caption + '\n';
						return false;
					}
					break;
					
				case 'emaildomain' :
					if(!validateEmailDomain(obj))
						{
						   mEmailDomain = mEmailDomain + caption + '\n';
						   return false;
						}
					break;
				case 'ipaddress' :
				if(!ValidateIpAddress(obj))
				        {
						  
						   mIpAddress = mIpAddress + caption + '\n';
						   return false;
						}
					break;
				/*
				case 'OptionalNumber': 
					var tempStr;
					tempStr=OptionalNumericFields(obj);
					if(tempStr!=true)
					{
						ErrStr = ErrStr + tempStr + '\n';
					}
					break;
				*/
			} 
			
			if( arrValidations != null)
			{
			  for(var valCnt =0 ;valCnt< arrValidations.length; valCnt ++)
			  {
			    var strvalidation = arrValidations[valCnt].split("="); 
			    if(! validateData(strvalidation[0],strvalidation[1],obj.value,caption) )
					return false;
			  }  
			
			}
			return true;
}
function validateData(command,cmdvalue,objValue,caption) 
{ 
    //var epos = strValidateStr.search('='); 
    //var  command  = ''; 
    //var  cmdvalue = ''; 
    //if(epos >= 0) 
    //{ 
    // command  = strValidateStr.substring(0,epos); 
    // cmdvalue = strValidateStr.substr(epos+1); 
    //} 
    //else 
    //{ 
    // command = strValidateStr; 
   // } 

    switch(command) 
    { 
       
        case 'MaxLength': 
        case 'MaxLen': 
          { 
             if(eval(objValue.length) >  eval(cmdvalue)) 
             { 
       			mMaxLen  = mMaxLen +  caption + '(maxLen =' + cmdvalue + ')'+ '\n';
	            return false; 
             }//if 
             break; 
          }//case maxlen 
        case 'MinLength': 
        case 'MinLen': 
           { 
             if(eval(objValue.length) <  eval(cmdvalue)) 
             { 
               mMinLen  = mMinLen +   caption + '(minLen =' + cmdvalue + ')'+ '\n';
               return false;                 
             }//if 
             break; 
            }//case minlen 
        case 'LessThan': 
         { 
            if(isNaN(objValue)) 
            { 
              mNotANumber =mNotANumber +  caption + '\n';
               return false;  
            }//if 
            if(eval(objValue) >=  eval(cmdvalue)) 
            { 
              mLessThan =  mLessThan +  caption + '  <' + cmdvalue +  '\n';              
              return false;                 
             }//if             
            break; 
         }//case lessthan 
        case 'LessThanEqualTo': 
         { 
            if(isNaN(objValue)) 
            { 
              mNotANumber =mNotANumber +  caption + '\n';
               return false;  
            }//if 
            if(eval(objValue) >  eval(cmdvalue)) 
            { 
              //mLessThanEqual =   mLessThanEqual   + caption + ' <=' + cmdvalue +  '\n';              
              mLessThanEqual =   mLessThanEqual   + caption +  '\n';              
              return false;                 
             }//if             
            break; 
         }//case lessthanGreater 
         
        case 'GreaterThan': 
         { 
            if(isNaN(objValue)) 
            { 
              mNotANumber =mNotANumber +  caption + '\n';
               return false;  
            }//if 
             if(eval(objValue) <=  eval(cmdvalue)) 
             { 
                 mGreaterThan  =   mGreaterThan  +   caption + '  >' + cmdvalue +  '\n';              
                 return false;     
             }//if             
            break; 
         }//case greaterthan 
        case 'GreaterThanEqualTo': 
         { 
            if(isNaN(objValue)) 
            { 
              mNotANumber =mNotANumber +  caption + '\n';
               return false;  
            }//if 
             if(eval(objValue) <  eval(cmdvalue)) 
             { 
                 mGreaterThanEqual   =   mGreaterThanEqual  +   caption + '  >=' + cmdvalue + ''+ '\n';              
             }//if             
            break; 
         }//case greaterthan 
        case 'EqualTo' :
        {
             if(eval(objValue) != eval(cmdvalue)) 
             { 
                 mGreaterThanEqual   =   mGreaterThanEqual  +   caption + '  >=' + cmdvalue + ''+ '\n';              
             }//if             
        
        }//equal 
        case 'RegularExpression': 
         { 
            if(!objValue.match(cmdvalue)) 
            { 
               mRgExpression = mRgExpression + caption + '\n';
               return false;                   
            }//if 
           break; 
         }//case regexp 
        
    }//switch 
    return true; 
} 



function BuiltErrMessageString()
{
	// required fields
	if (mReqdFields != '')
			ErrStr = ErrStr + cRequiredFieldMsg + mReqdFields;
		
	// date fields		
	if (mInvalidDate != '')
			ErrStr = ErrStr + cInvalidDateMsg + mInvalidDate + '\n';
	if (mInvalidDay != '')
			ErrStr = ErrStr + cInvalidDayMsg + mInvalidDay + '\n';
	if (mInvalidMonth != '')
			ErrStr = ErrStr + cInvalidMonthMsg + mInvalidMonth + '\n';
	if (mInvalidYear != '')
			ErrStr = ErrStr + cInvalidYearMsg + mInvalidYear + '\n';
	if (mNonLeapYearDay31 != '')
			ErrStr = ErrStr + cNonLeapYearDay31Msg + mNonLeapYearDay31 + '\n';
	if (mNonLeapYearDay30 != '')
			ErrStr = ErrStr + cNonLeapYearDay30Msg + mNonLeapYearDay30 + '\n';		
	if (mNonLeapYearDay28 != '')
			ErrStr = ErrStr + cNonLeapYearDay28Msg + mNonLeapYearDay28 + '\n';
	if (mLeapYear != '')
			ErrStr = ErrStr + cLeapYearMsg + mLeapYear + '\n';	
	if (mStartEndDateErr != '')
			ErrStr = ErrStr + mStartEndDateErr + '\n';
	if (mTwoDaysCheckErr != '')
			ErrStr = ErrStr + mTwoDaysCheckErr + '\n';		
		
	// time fields
	if (mInvalidTime != '')
			ErrStr = ErrStr + cInvalidTimeMsg + mInvalidTime + '\n';
	if (mInvalidHour != '')
			ErrStr = ErrStr + cInvalidHourMsg + mInvalidHour + '\n';		
	if (mInvalidMinute != '')
			ErrStr = ErrStr + cInvalidMinuteMsg + mInvalidMinute + '\n';
	if (mInvalidSecond != '')
			ErrStr = ErrStr + cInvalidSecondMsg + mInvalidSecond + '\n';
		
	// other fields
	if (mQuoteErr != '')
			ErrStr = ErrStr + cQuoteErrMsg + mQuoteErr + '\n';
	if (mNotANumber != '')
			ErrStr = ErrStr + cNotANumberMsg + mNotANumber + '\n';		
	if (mZipCodeError != '')
			ErrStr = ErrStr + cZipCodeErrMsg + mZipCodeError + '\n';
	if (mTelNumErr != '')
			ErrStr = ErrStr + cTelNumErrMsg + mTelNumErr + '\n';
	if (mEmailAddress != '')
			ErrStr = ErrStr + cInvalidEmailAddress + mEmailAddress + '\n';
	if (mEmailDomain != '')
			ErrStr = ErrStr + cInvalidEmailDomain + mEmailDomain + '\n';
	if (mIpAddress != '')
			ErrStr = ErrStr + cInvalidIpAddress + mIpAddress + '\n';
	
			//----SACHIN PIMPLE 20061213
	if (malphaNumeric!= '')
			ErrStr = ErrStr + cInvalidalfhaNumericMsg + '\n';
			//----SACHIN PIMPLE 20061213
	
	// mrunal new 
	if(mEqualTo !='')
	   ErrStr += cEqualTo  + mEqualTo  + '\n' ;
	if(mMinLen !='')
	   ErrStr += cMinLen + mMinLen + '\n' ;
	if(mMaxLen !='')
	   ErrStr += cMaxLen + mMaxLen + '\n' ;
	if(mGreaterThan  !='')
	   ErrStr += cGreaterThan + mGreaterThan + '\n' ;
	if(mGreaterThanEqual  !='')
	   ErrStr += cGreaterThanEqual  + mGreaterThanEqual  + '\n' ;
	if(mLessThan  !='')
	   ErrStr += cLessThan  + mLessThan  + '\n' ;
	if(mLessThanEqual  !='')
	   ErrStr += cLessThanEqual  + mLessThanEqual  + '\n' ;
	if(mRgExpression  !='')
	   ErrStr += cRgExpression  + mRgExpression  + '\n' ;
	
}

function disableForm()
{
    if(document.getElementById("_pafDisabledPanel")== null ||  document.getElementById("_disabledpanel")== null || document.getElementById("_imagePanel")== null )
        return;
      
    var mx="",mx1="";
    mx = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight) + "px";
    mx1 = Math.max(Math.max(document.documentElement.scrollWidth, document.body.scrollWidth), document.documentElement.scrollWidth)+'px';
    document.getElementById("_pafDisabledPanel").style.height =mx; 
    document.getElementById("_pafDisabledPanel").style.width  =mx1; 
    document.getElementById("_disabledpanel").style.display='block';
    document.getElementById("_disabledpanel").style.height =mx; 
    document.getElementById("_disabledpanel").style.width  =mx1; 
    document.getElementById("_imagePanel").style.display='block';
    document.getElementById("_imagePanel").style.left  = ((Math.max(Math.max(document.documentElement.scrollWidth, document.body.scrollWidth), document.documentElement.scrollWidth)-250)/2) +'px'; 
    document.getElementById("_imagePanel").style.top   = ((Math.max(document.documentElement.scrollHeight, document.body.scrollHeight)/2)- 20) +'px';  
}

function __PAFValidatePostBack(serverCommand,commandArguments,objForm)
{
//alert("in post back");
    if(validateForm(objForm))
     {
        objForm.__serverCommand.value = serverCommand;
        objForm.__commandArguments.value = commandArguments;
        disableForm();
        objForm.submit();
        
     }   
     else
     {
        return false;
     } 
}

function __PAFPostBack(serverCommand,commandArguments)
{
       // alert("in");
        //alert(serverCommand);
        //alert(commandArguments);
        document.forms[0].__serverCommand.value = serverCommand;
        document.forms[0].__commandArguments.value = commandArguments;
	disableForm();
        document.forms[0].submit();
         
}

function setLocale(localeid)
{_LocaleId = localeid;}

function validateForm(objform)
{
 if(_LocaleId== null || _LocaleId==0)
     _LocaleId = 1033;
 if( validateAll(objform,_LocaleId))
    return true;
 else 
    return false;   
  
}

function validateFormControl(obj)
{
  if(_LocaleId== null || _LocaleId==0)
     _LocaleId = 1033;
  if( validateControl(obj,_LocaleId))
     return true;
  else
     return false;      
}

function validateAll(objform,cCode)
{
	var i, obj,retval;
	retval=true;
	
	setMessages(cCode);
	clearVariables(); // clear variables to start fresh error message
			
	for(i=0;i<objform.elements.length;i++)
	{
		
		
		obj=objform.elements[i];
		if(obj.disabled)
		    continue
		//if(obj.id.indexOf("")
		if(document.getElementById("_err_" +obj.id) != null)
			document.getElementById("_err_" +obj.id).style.display ="none";
       
       if(	validatefrmControl(obj) == false)
		{
			
			if(document.getElementById("_err_" +obj.id) != null)
			{  
			   document.getElementById("_err_" +obj.id).style.display ="";
			}
		
		}
	}
	
	BuiltErrMessageString(); 
	
	if (ErrStr!='')
	{			
		alert(ErrStr);
		ErrStr='';
		nretVal=true;
		retval=false;
	}
	else
	{
		retval =true;
	}
		
	return retval;
}

function validateEmail(emailField) 
{   
	var validmail;
	if(emailField.value =="")
	    return true;
	validmail=Trim(emailField.value); 
	     
      //emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	  emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9])+(\.[a-zA-Z0-9]+)+$/;
	
		
	if(!emailpat.test(emailField.value)) 
		return false;
	else
	   {
		if (validmail.search("@-") != -1 || validmail.search("@_") != -1 || validmail.search("-@") != -1 || validmail.search("_@") != -1) 
				return false;
				else	
		        return true;
	   } 
}

function validateEmailDomain(emailField) 
{   
	var validmail;
	validmail=emailField.value; 
	     
      emailpat1 = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	  emailpat2 = /^@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	
		
	if(!emailpat1.test(emailField.value) && !emailpat2.test(emailField.value))
	  {  
		return false;
	  } 	
	else
	   {
	    if (validmail.search("@-") != -1 || validmail.search("@_") != -1 || validmail.search("-@") != -1 || validmail.search("_@") != -1) 
		return false;
		else	
		return true;
	   }
}
function ValidateIpAddress(objipaddr)
{
   var ipaddr = objipaddr.value;
   var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
   if (re.test(ipaddr))
    {
          
      var parts = ipaddr.split(".");
      
      if (parseInt(parseFloat(parts[0])) == 0)
       {
        return false ;
        }
      for (var i=0; i<parts.length; i++)
       {
         if (parseInt(parseFloat(parts[i])) > 255)
          {
          //isValidIP = false;
          return false;
          }
      }
      return  true;
     /// return isValidIP;
      
      
   } 
   else
    {
      return false;
      ///return isValidIP;
      
   }
   //alert(isValidIP);
}

function checkSigns(obj)
{
	var tempData;
	tempData = obj.value;
	if(tempData.indexOf('"')==-1)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

function checkExtNumber(objElement,countryCode)
{
		var tempArray;
		var tempData;
		var tempPos;
		var nretVal = true;
		var tempMessage = '';
		
		tempData = '' + objElement.value;
		
		if (tempData != '')
		{						
			if(countryCode==1033)
			{
				if(tempData.indexOf('.')!=-1 && tempData.indexOf(',')!=-1)
				{
					tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
					nretVal = false;
				}

				if(tempData.indexOf(',')!=-1)
				{
					if (tempMessage == '')
						tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
					nretVal = false;
				}
				
				tempArray = tempData.split(".");
				
				if(tempArray.length>2)
				{
					if (tempMessage == '')
						tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
					nretVal = false;
				}
				
				if(tempArray.length ==1)
				{
					if(isNaN(tempArray[0]))
					{
						if (tempMessage == '')
							tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
						nretVal = false;
					}
					else
					{
						objElement.value = '' + objElement.value //+ "." + '00';
						if (tempMessage != '')
							mNotANumber = mNotANumber + tempMessage;
						return true;
					}
				}
				
				if(tempArray.length ==2)
				{
					if(isNaN(tempArray[0]) || isNaN(tempArray[1])||(tempArray[0].indexOf('e')!==-1) || (tempArray[0].indexOf('E')!==-1) ||  (tempArray[1].indexOf('e')!==-1) || (tempArray[1].indexOf('E')!==-1))
					{
						if (tempMessage == '')
							tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
						nretVal = false;
					}
					else
					{
						objElement.value =  tempArray[0] + "." + tempArray[1]; 	
						if (tempMessage != '')
							mNotANumber = mNotANumber + tempMessage;		
						return true;
					}
				}
			}
			else if(countryCode==1043)
			{
				if(tempData.indexOf('.')!=-1 && tempData.indexOf(',')!=-1)
				{
					if (tempMessage == '')
						tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
					nretVal = false;
				}
				
				if(tempData.indexOf('.')!=-1)
				{
					if (tempMessage == '')
						tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
					nretVal = false;
				}
				
				tempArray = tempData.split(",");
				
				if(tempArray.length > 2)
				{
					if (tempMessage == '')
						tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
					nretVal = false;
				}
				
				if(tempArray.length ==1)
				{
					if(isNaN(tempArray[0]))
					{
						if (tempMessage == '')
							tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
						nretVal = false;
					}
					else
					{
						objElement.value = '' + (objElement.value).replace('.', ',') //+ "," + '00';
						if (tempMessage != '')
							mNotANumber = mNotANumber + tempMessage;
						return true;
					}
				}
				
				if(tempArray.length ==2)
				{
					if(isNaN(tempArray[0]) || isNaN(tempArray[1])|| (tempArray[0].indexOf('e')!==-1) || (tempArray[0].indexOf('E')!==-1) || (tempArray[1].indexOf('e')!==-1) || (tempArray[1].indexOf('E')!==-1))
					{
						if (tempMessage == '')
							tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
						nretVal = false;
					}
					else
					{
						objElement.value =  tempArray[0] + "," + tempArray[1]; 
						if (tempMessage != '')
							mNotANumber = mNotANumber + tempMessage;			
						return true;
					}
				}
			}
		}
		
		if (tempMessage != '')
			mNotANumber = mNotANumber + tempMessage;
	
		return nretVal;
}

function checkExtDate(objElement,countryCode)
{
		var retVal = true;
		var strSeparator;
		var dateArray;
		var strDate = objElement.value;
		var tempstrformat;
		var tempRetVal='';
		var tempMessage = '';
		var dd;
		var mm;
		var yyyy;
		if(strDate == "")
		    return true;
			  
		if(strDate.length > 10)
		{
			mInvalidDate = mInvalidDate +  getValidationAttribute(objElement,'caption') + '\n';
			return false;
		}
		strSeparator = "";
        tempstrformat= getValidationAttribute(objElement,'dateformat');
        //alert(tempstrformat);
        if(tempstrformat == "")
            {
              if(_LocaleId =="1033")
                   tempstrformat ="mm/dd/yyyy" ;
              else if (_LocaleId =="1043")
                   tempstrformat ="dd-mm-yyyy" ;
            }   
            
        if(tempstrformat != "")
            {
                if(tempstrformat.indexOf("-")!=-1)
			            strSeparator = "-";
		        else if(tempstrformat.indexOf("/")!=-1)
			        strSeparator = "/";
		       
            }
         
       


      if(strSeparator=="" ) 
		{
			if(tempstrformat=="")
			{
			    if (strDate.length == 8)
			    {
				    isProcitDate=false;
				    strDate = strDate.substr(0,2) + '-' + strDate.substr(2,2) + '-'+ strDate.substr(4,4) 
				    if(strDate!='')
				    {
					    strSeparator='-';
					    dateArray = strDate.split('-');
					    if(dateArray.length <3)
		                { 
			                if (tempMessage == '')
				                tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
			                retVal = false;
		                }
		                else
		                {
		                     dd = dateArray[0];
		                     mm = dateArray[1];
		                     yyyy = dateArray[2];
		                }
				    }
			    }
			    else
			    {
				    tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
				    retVal = false;
				    dateArray = new Array(); // simply make array to avoid error, while checking length
			    }
		   }
		   else
		   {
		       if (strDate.length != 8)
			   {
			        tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
				    if(tempMessage=='')
				        tempMessage = objElement.id;
				        
				    retVal = false;
			   }
			   else
			   { 
		            switch(tempstrformat)
		            {
		                case "ddmmyyyy" :
    		                
		                        dd = strDate.substr(0,2)  
		                        mm = strDate.substr(3,2)  
		                        yyyy = strDate.substr(5,4)  
		                break;
		                case "mmddyyyy" :
    		                
		                        mm = strDate.substr(0,2)  
		                        dd = strDate.substr(3,2)  
		                        yyyy = strDate.substr(5,4)  
		                break;
		                case "yyyymmdd" :
    		                
		                        yyyy = strDate.substr(0,4)  
		                        mm = strDate.substr(4,2)  
		                        dd = strDate.substr(6,2)  
		                break;
    		            
    		            
    		        
	                }
	           }	   
		   }
		
		
		}		
		//alert("retval>>" + retVal);
		if(retVal)
		{
		    if(strSeparator=='-' || strSeparator=='/')
		    {	
		            tempstrformat = tempstrformat.toLowerCase();
		            dateArray = strDate.split(strSeparator);
		            if(dateArray.length <3)
		            { 
			            if (tempMessage == '')
				        {
				            tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
				            if(tempMessage=='')
				                  tempMessage = objElement.id;
    				        
			            }
    			        
			            retVal = false;
		             }
		            else
		            {
		                switch(tempstrformat)
		                {
		                    case "dd/mm/yyyy" :
        		                   
		                            dd = dateArray[0];
		                            mm = dateArray[1];
		                            yyyy = dateArray[2];
		                    break
		                    case "mm/dd/yyyy" :
		                            dd = dateArray[1];
		                            mm = dateArray[0];
		                            yyyy = dateArray[2];
		                    break
		                    case "yyyy/mm/dd" :
		                            dd = dateArray[2];
		                            mm = dateArray[1];
		                            yyyy = dateArray[0];
		                    break
		                    case "dd-mm-yyyy" :
		                            dd = dateArray[0];
		                            mm = dateArray[1];
		                            yyyy = dateArray[2];
		                    break
		                    case "mm-dd-yyyy" :
		                            dd = dateArray[1];
		                            mm = dateArray[0];
		                            yyyy = dateArray[2];
		                    break
		                    case "yyyy-mm-dd" :
		                            dd = dateArray[2];
		                            mm = dateArray[1];
		                            yyyy = dateArray[0];
		                    break
		                }
		           }
		    }
		}    
		//for day
		tempRetVal = true;
		if(retVal)
		{
		if((parseInt(dd,10)>31)||(parseInt(dd,10)==0)||(dd=='00')||(isNaN(dd,10)))
				{
					mInvalidDay = mInvalidDay +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
		//check for month
		if((parseInt(mm,10)<1) || (parseInt(mm,10)>12)||(parseInt(mm,10)==0)||(mm=='00')||(isNaN(mm,10)))
				{
					mInvalidMonth = mInvalidMonth +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
		//check for year
		if((parseInt(yyyy,10)>9999)||(parseInt(yyyy,10)<1900)||(isNaN(parseInt(yyyy,10))))
				{
					mInvalidYear = mInvalidYear +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
				
				var temp;
				temp=parseInt(mm,10);
				if((temp==1 || temp==3 || temp==5|| temp==7|| temp==8|| temp==10|| temp==12) && (parseInt(dd,10)<1 || parseInt(dd,10)>31))
				{
					mNonLeapYearDay31 = mNonLeapYearDay31 +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}				
				else if((temp==4 || temp==6 || temp==9|| temp==11) && ( parseInt(dd,10)<1 || parseInt(dd,10)>30))
				{
					mNonLeapYearDay30 = mNonLeapYearDay30 +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
				else if((temp==2) && (parseInt(dd,10)<1 || parseInt(dd,10)>28) && (parseInt(yyyy,10)%4!=0 && parseInt(yyyy,10)%100!=0 && parseInt(yyyy,10)%400!=0))
				{
					mNonLeapYearDay28 = mNonLeapYearDay28 +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
				else if((temp==2) && (parseInt(dd,10)<1 || parseInt(dd,10)>29) && (parseInt(yyyy,10)%4==0 || ( parseInt(yyyy,10)%100==0 && parseInt(yyyy,10)%400!=0)))
				{
					mLeapYear = mLeapYear +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
		

			
			//for checking enddate and startdate
			var tempalt;
			tempalt =  getValidationAttribute(objElement,'caption');
			tempalt=tempalt.toLowerCase();
			if(tempalt.indexOf("start date")!=-1 || tempalt.indexOf("end date")!=-1)
			{
				var tempRVal;
				tempRVal = checkStartEndDate(objElement,dateArray,countryCode);
				if(tempRVal!= true)
				{
					mStartEndDateErr = cStartEndDateErrMsg;
					tempRetVal = false;
				}	
			}

			tempName=objElement.altalt
			if(tempName)
			{
				tempName=tempName.toLowerCase();
				if(tempName=='sdate' || tempName=='edate')
				{
					var tVal;
					tVal=check2Day(objElement,countryCode,dateArray);
					if(tVal!=true)
					{
						mTwoDaysCheckErr = TwoDaysCheckErrMsg;
						tempRetVal = false;
					}
				}
			} 

			if (tempRetVal!='')
			{
				retVal= tempRetVal;
			}
	}
		
		if (tempMessage != '')
			mInvalidDate = mInvalidDate + tempMessage;
			
		if (retVal==true)
		{
			if (dd.length==1 && isProcitDate==false) 
				dd= "0" + dd;
			if (mm.length==1 && isProcitDate==false) 
				mm= "0" + mm	
			//if(isProcitDate==false)
				//objElement.value=dd + strSeparator + mm+ strSeparator + yyyy; 
		}
		if(tempRetVal == false)
		    retVal = false;
		return retVal;
	    		
				
	
	
}

function daysInAMonth(intMonth,intYear)
{
	if((intMonth==1) || (intMonth==3) || (intMonth==5) || (intMonth==7) || (intMonth==8) || (intMonth==10) || (intMonth==12))
		return 31
	if((intMonth==4) || (intMonth==6) || (intMonth==9) || (intMonth==11))
		return 30
	if(intMonth==2)
	{
	if((intYear % 400 == 0) || ((intYear % 4 == 0) && (intYear % 100 != 0)))
		return 29
	else
		return 28
	}
}

function check2Day(obj,cCode,dArray)
{
	var startdate,enddate;
	var returnVal=true;
	var tempenddate,tempendmonth,tempendyear;
	var tempstartdate,tempstartmonth,tempstartyear
	var tempCap,tName;
	var temp1=new Array();		
	tempCap= getValidationAttribute(obj,'caption');
	tempCap=tempCap.toLowerCase();
	if(cCode==1033)
	{
		temp1 = dArray;
	}
	else if(cCode==1043)
	{
		temp1[0]=dArray[1];
		temp1[1]=dArray[0];
		temp1[2]=dArray[2];
	}
	temp1[0]=MakeTwo(temp1[0]);
	temp1[1]=MakeTwo(temp1[1]);
	temp1[2]=MakeTwo(temp1[2]);
	if(tempCap.indexOf("end date")!=-1)					
	tName=obj.name;
	var tDate;
	if(temp2Day=='' && tempCap.indexOf("start date")!=-1)
	{
		temp2Day=temp1[0] + '/' + temp1[1] + '/' + temp1[2];
	}
	else if(temp2Day!=tDate && tempCap.indexOf("start date")!=-1)
	{
		tDate=MakeTwo(temp1[0]) + '/' + MakeTwo(temp1[1]) + '/' + temp1[2];
		temp2Day=tDate;
	}
	else if(tempCap.indexOf("end date")!=-1)
	{
		startdate=temp2Day;
		enddate=MakeTwo(temp1[0]) + '/' + MakeTwo(temp1[1]) + '/' + temp1[2];
		var enddatearr=new Date(parseInt(temp1[2]),parseInt(temp1[0]),parseInt(temp1[1]));
		var startdatearr = new Date(parseInt(startdate.substr(6)),parseInt(startdate.substr(0,2)),parseInt(startdate.substr(3,2)))
		var addDate = new Date(parseInt(startdate.substr(6)),parseInt(startdate.substr(0,2)),2)
		if((enddatearr-startdatearr)>172800000)
		{
			document.all(tName).value='';
			returnVal=TwoDaysCheckErrMsg;
			temp2Day='';
		}
		else
		{
			returnVal=true;
		}
	}
	return returnVal;
}

function checkStartEndDate(obj,dArray,ccode)
{
	
	var retVal=true;
	var tempCap,temp1;
	tempCap =  getValidationAttribute(obj,'caption');
	tempCap=tempCap.toLowerCase();
	temp1 = new Array();
	
	if(ccode==1033)
	{
		temp1 = dArray;
	}
	else if(ccode==1043)
	{
	
		temp1[0]=dArray[1];
		temp1[1]=dArray[0];
		temp1[2]=dArray[2];
	}
	//alert('darray=' + dArray[0] + dArray[1] + dArray[2]+ ccode + '\n' + temp1[0] + temp1[1] + temp1[2])
	temp1[0]=MakeTwo(temp1[0]);
	temp1[1]=MakeTwo(temp1[1]);
	temp1[2]=MakeTwo(temp1[2]);
	
	if(arrSDate=='')
	{
		if(tempCap.indexOf("start date")!=-1)
			arrSDate=tempCap.substring(0,(tempCap.indexOf("start date"))) + '_' + temp1[0] + '/' + temp1[1] + '/' + temp1[2];
		else if(tempCap.indexOf("end date")!=-1)
			arrEDate=tempCap.substring(0,(tempCap.indexOf("end date"))) + '_' + temp1[0] + '/' + temp1[1] + '/' + temp1[2];
	}
	else
	{
		var tDate;
		if(tempCap.indexOf("start date")!=-1)
			tDate=MakeTwo(temp1[0]) + '/' + MakeTwo(temp1[1]) + '/' + temp1[2];
		else
			tDate=arrSDate.substring(arrSDate.indexOf("_")+1,arrSDate.length)
		
  		if(arrSDate.substring(arrSDate.indexOf("_")+1,arrSDate.length)!=tDate)
		{
		   	if(tempCap.indexOf("start date")!=-1)
		   		arrSDate=tempCap.substring(0,(tempCap.indexOf("start date"))) + '_' + MakeTwo(temp1[0]) + '/' + MakeTwo(temp1[1]) + '/' + temp1[2];
		}

		if(tempCap.indexOf("end date")!=-1)
		{
			
			var temp;
			temp = tempCap.indexOf("end date");
			var tempFirst;
			tempFirst = tempCap.substring(0,temp);
			
			if(tempFirst == arrSDate.substring(0,(arrSDate.indexOf("_"))))
			{
				var sd,ed,aDate;
				sd = MakeTwo(temp1[0]) + '/' + MakeTwo(temp1[1]) + '/' + temp1[2];
				aDate = arrSDate.substring(arrSDate.indexOf("_")+1,arrSDate.length);
				if(aDate.indexOf('/')!=-1)
					sd = aDate.split('/');
				else if(aDate.indexOf(':')!=-1)
					sd = aDate.split(':');

				if(temp1[2]<sd[2])						
				{
					retVal = cStartEndDateErrMsg + '\n';
				}
				else if(temp1[2]==sd[2])						
				{
					if(MakeTwo(temp1[0])<sd[0])
					{
						retVal = cStartEndDateErrMsg + '\n';
					}
					else if(MakeTwo(temp1[0])==sd[0])
					{
						if(MakeTwo(temp1[1])<sd[1])
						{
							retVal = cStartEndDateErrMsg + '\n';
						}
					}
				}
			}
		}
	}
	return retVal;
}	

function MakeTwo(valNumber)
{
	var temp;
	if(valNumber.length<2)
		temp='0' + valNumber;
	else
		temp=valNumber;
	return temp;
}

function checkExtTime(objElement,countryCode)
{
		var retVal = true;
		var strSeparator;
		var timeArray = new Array();
		var strTime = objElement.value;
		var tempRetVal='';
		var tempMessage='';
		
		if(strTime.length < 2 || strTime.length > 10)
		{	
			mInvalidTime  = mInvalidTime  +  getValidationAttribute(objElement,'caption') + '\n';
			return false;
		}
		strSeparator = '';
		
		if(strTime.indexOf(":")!=-1)
		{
			strSeparator = ':';
		}
		else
		{
			if(strTime.indexOf('')!=-1 && (strTime.length==4 || strTime.length==6))
			{
				strSeparator=':';
				isProcitTime=true;
			}
			else
			{
				mInvalidTime  = mInvalidTime  +  getValidationAttribute(objElement,'caption') + '\n';
				return false;
			}
		}
		
		if(strSeparator=='') 
		{
			if(strTime.length==4)
				strTime=strTime.substring(0,2) + ':' + strTime.substring(2,4)
			else if(strTime.length==6 )
				strTime=strTime.substring(0,2) + ':' + strTime.substring(2,4)+ ':' + strTime.substring(4,6)
			strSeparator=":"
		}
		
		if(strSeparator==':')				
		{
			timeArray[2]="00";
			timeArray = strTime.split(strSeparator);
		}
			
		if(timeArray.length < 2 || timeArray.length >3)
		{ 
			tempMessage  =  getValidationAttribute(objElement,'caption') + '\n';
			retVal = false;
		}
		else if(timeArray.length==3) 
		{
			if(countryCode==1043 || countryCode==1033)
			{
				//check for hour
				if((parseInt(timeArray[0],10)<0 || parseInt(timeArray[0],10)>23)||(isNaN(parseInt(timeArray[0],10))))
				{
					mInvalidHour = mInvalidHour +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
				//check for minute
				if((parseInt(timeArray[1],10)<0 || parseInt(timeArray[1],10)>60)||(isNaN(parseInt(timeArray[1],10))))
				{
					mInvalidMinute = mInvalidMinute +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
				//check for second
				if((parseInt(timeArray[2],10)>59)||(parseInt(timeArray[2],10)<0)||(isNaN(parseInt(timeArray[2],10))))
				{
					mInvalidSecond = mInvalidSecond +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
			}	
		}	
		else if(timeArray.length==2) 
		{
			
			if(countryCode==1043 || countryCode==1033)
			{		
				//check for hour
				if((parseInt(timeArray[0],10)<0 || parseInt(timeArray[0],10)>23)||(isNaN(parseInt(timeArray[0],10))))
				{
					mInvalidHour = mInvalidHour +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
				//check for minute
				if((parseInt(timeArray[1],10)<0 || parseInt(timeArray[1],10)>60)||(isNaN(parseInt(timeArray[1],10))))
				{
					mInvalidMinute = mInvalidMinute +  getValidationAttribute(objElement,'caption') + '\n';
					tempRetVal = false;
				}
			}
		}
		else if(timeArray.length==1 && timeArray[0].length!=4)
		{
			if (tempMessage == '')
					tempMessage =  getValidationAttribute(objElement,'caption') + '\n';
			tempRetVal = false;
		}
		else if(timeArray.length==1 && timeArray[0].length==4)
		{
			var temp,temp1;
			temp= timeArray.substr(1,2);
			temp1=timeArray.substr(3,2);
			timeArray[0]=temp;
			timeArray[1]=temp1;
		}
		
		if (retVal==true)
		{
			if (timeArray[0].length==1) 
				timeArray[0]= "0" + timeArray[0];
			if (timeArray[1].length==1) 
				timeArray[1]= "0" + timeArray[1];	
			if(timeArray.length==2)
				timeArray[2]= "00";
			if(timeArray.ubound > 2)
			{
				if (timeArray[2].length!=0 && timeArray[2].length==1) 
					timeArray[2]= "0" + timeArray[2];
				//if (timeArray[2].length==0)
				//	timeArray[2]= "00";
			}
			if(isProcitTime==false)
			objElement.value=timeArray[0] + strSeparator + timeArray[1]+ strSeparator + timeArray[2]; 
			else
			objElement.value=timeArray[0] + strSeparator + timeArray[1]+ strSeparator + timeArray[2]; 
			//objElement.value=timeArray[0] + timeArray[1]+ timeArray[2]; 
		}
		
		if (tempMessage != '')
			mInvalidTime  = mInvalidTime + tempMessage + '\n';
		
		if (tempRetVal!='')
		{
			retVal=tempRetVal;
		}

		return retVal;
}

function checkRequired(objElement)
{
	var cType;
	
    	cType = getValidationAttribute(objElement,'isRequired');
		if(cType=='yes' && objElement.value=='')
		{
			return getValidationAttribute(objElement,'caption');
		}
		else if(cType=='no' && objElement.value=='')
		{
			return 1;
		}
		else
		{
			return 2;
		}
	
}

function checkPostalCode(obj)
{
	var x;
	var ret;
	var objValue;
	objValue=obj.value;
	if(objValue =="")
	    return true;
	re= /(^(\d{4}))(\s)?(([a-z|A-Z]{2})$)/;
	x= objValue.match(re)
	if (x!= null)
	{
		ret=true;
	}
	else
	{
		ret = false;
	}
	
	if (ret==false)
	{
		mZipCodeError = mZipCodeError +  getValidationAttribute(obj,'caption') + '\n';
	}
	return ret;
}

function checkTelephoneNumber(obj,countryCode)
{
		var retVal = true;
		var strTelNumber = obj.value;
		var tempRetVal='';
		var tSign,tCCode,tAreaCode,tNum;
		
		var tempStr = strTelNumber.split("-");
		
		if(tempStr.length>1)
		{
			if(isNaN(tempStr[0]) || isNaN(tempStr[1]))
			{
				retVal =  getValidationAttribute(obj,'caption') + '\n';
				return retVal;
			}
		}

		else
		{
			if(isNaN(strTelNumber))
			{
				retVal =  getValidationAttribute(obj,'caption') + '\n';
				return retVal;
			}
		}
		return retVal;
		

}

function validDateTime(objDateTime,countryCode)
	{
	var strDateTime
	var DateTime
	strDateTime = objDateTime.value;	
	
	DateTime = strDateTime.split(" ");	
	objDateTime.value = DateTime[0]
	
	var tempStr;
	tempStr=checkExtDate(objDateTime,countryCode);
	var tempStr1;
	if (DateTime.length > 1 ) 
		{
			objDateTime.value = DateTime[1]				
			tempStr1=checkExtTime(objDateTime,countryCode);
		}
	else
		{
			tempStr1 = true;			
		}
		
	if ((tempStr==true) && (tempStr1==true))
		{
		objDateTime.value= strDateTime
		return true;
		}
	else
		{
			objDateTime.value= strDateTime;
			if ((tempStr1 != true) && (tempStr != true))
				return false;
			else if ((tempStr1 == true) && (tempStr != true))
				return false;
			else 
				return true;
		}
}

function validateTime(obj)
{
  if(obj.value.length==2 || obj.value.length ==5)
  {obj.value = obj.value +":";}
}

	function fnalphanumeric(objValue)
	  {
	   var charpos = objValue.value.search("[^A-Za-z0-9]"); 
	              if(objValue.value.length > 0 &&  charpos >= 0) 
	              { 
					return false;
	              }
	              else
	              {
					
					 return true;
	              }               
		}




function getValidationAttribute(objAtribute,strAttribute)
{
 //alert("in atrr >>" + objAtribute +">>" + strAttribute); 
 var strAttributes  = new String(); 
 var AttributeVal =""
 strAttributes ="";
 
 if(((navigator.appName).toLowerCase()).indexOf("microsoft internet explorer") == -1)
 {
   if(objAtribute.attributes["attributes"] != null)
    strAttributes = objAtribute.attributes["attributes"].value ;
 }
  else
  {
   
    try {
		if(objAtribute.attributes.toString()  != ""  )
				strAttributes = objAtribute.attributes;
		}catch(e){};	
  }
  
  if(strAttributes =="") 
	return AttributeVal;
  else if (strAttribute =="ALL")
    return strAttributes;
    
  var arrAttributes = strAttributes.split(";");
  
  if(strAttributes.indexOf(strAttribute) == -1)
  {
     if(strAttribute.toLocaleLowerCase()  == "caption")
           return  objAtribute.id;
     else
        return "";          
  } 
  for(var cntAttributes = 0;  cntAttributes <= arrAttributes.length; cntAttributes++)
  {
    
    if(arrAttributes[cntAttributes].indexOf("=") == -1)
       return AttributeVal;
    var tempAttribute = arrAttributes[cntAttributes];
    tempAttribute = tempAttribute.split("=");
    if(tempAttribute[0].toLowerCase()==strAttribute.toLowerCase())
     {  AttributeVal = tempAttribute[1];  break; 
      } 
  }
  return AttributeVal;
// alert(AttributeVal); 
}

//Java script right trim function
function rTrim(strText)
{
	while(''+ strText.charAt(strText.length-1)==' ')
		strText=strText.substring(0,strText.length-1);
	return strText;
}

//Java script left trim function
function lTrim(strText)
{
	
	while(''+strText.charAt(0) ==' ')
		strText=strText.substring(1,strText.length);
	return strText;
}

//Java script right+left trim function
function Trim(strText)
{
	strText = rTrim(strText);
	strText = lTrim(strText);	
	return strText;
}
////********************************* 
 
function SetFocusToInput(obj)
{
     obj.focus();
}




//--------------------For Future USE--------------------
/*	
function JStrim(strVal)
{
	var i;
	if(strVal != '')
		while(strVal.charAt(0)== ' ')
		{
			strVal = strVal.substr(1); 
		}
	return strVal;
}


function OptionalNumericFields(obj)
	{	
	// PURPOSE:	validate the optional Numeric fields before subbmittin
	// IN:		myform - the current form to validate
	// OUT:		Boolean (validation = OK)
	
	var retVal = true;
	
	var err = '';
				
			if(JStrim(eval(obj.value)!='')
				{
					if (!validNumber(eval(obj.value))
						{
						retVal = false;	 	
						err = err + "Field - " +  getValidationAttribute(obj,'caption') + " must be numeric.\n";
						}
				}
											
		if(err!= '')
			{
				alert(err);
				retVal = false;
			}
		return retVal;
	}

	function validNumber(value)
		{
			// PURPOSE:	validate the Numeric field
			// IN:		value
			// OUT:		true/false
			
			if(value =='')
		      return false;
		    if(isNaN(value))
			  return false;
			
		return true;
		}

*/
//------------------------------------------------------




//********************************COMMON FUNCTIONS USED IN ALL PAGES********************************	
//********************************for a temporary use********************************	
/*
function DateObject(strValue)
{
this.value = strValue;
//this.alt	= 
}
	
function fnCalPopUp(strTextBox)
{
	var iTop, iLeft, iWidth, iHeight;
	var fldname;
	fldname = strTextBox
	
	iHeight = 206; iWidth = 162;
			
	iTop = event.clientX;
	iLeft = event.clientY;
		
	var strTextBox = new CalendarPopup();
	strTextBox.offsetX = iLeft ;
	
	strTextBox.top = iTop
	strTextBox.showYearNavigation();
	strTextBox.showYearNavigationInput();

	strTextBox.select(document.all(fldname),'',fldname,'dd-MM-yyyy');
	
}

function fnCalPopUpTwoArgs(strDateBox, strTimeBox)
{
	var iTop, iLeft, iWidth, iHeight;
	var fldname;
	fldname = strDateBox
	
	iHeight = 206; iWidth = 162;
			
	iTop = event.clientX;
	iLeft = event.clientY;
		
	var strDateBox = new CalendarPopup();
	strDateBox.offsetX = iLeft ;
	
	strDateBox.top = iTop
	strDateBox.showYearNavigation();
	strDateBox.showYearNavigationInput();

	strDateBox.select(document.all(fldname),document.all(strTimeBox),fldname,'dd-MM-yyyy');
}

function fnGetDateTime(obj)
{		
	eval("document.forms(0)." + obj).value = document.all(obj+"1").value + ' ' + document.all(obj+"2").value
}

function onpopupClick()
{
	//this line has nothing to do with application function
	//but it must be there.
	var dummy = 1;
}	
function openList(strForeignTableKeyField,strURL)
{
	var iTop,iLeft, iWidth, iHeight;
	iWidth = 900; iHeight = 400;
	iTop = (window.screen.height - iHeight)/2;
	iLeft = (window.screen.width - iWidth)/2;
			
	window.open(strURL,strForeignTableKeyField ,'top=' + iTop + ',left=' + iLeft + ',width=' + iWidth + ',height=' + iHeight + ',tltlebar=no,toolbar=no,location=no,menubar=no');
		
	try{
		eval("document.forms(0)." + strForeignTableKeyField).value = '';
		//document.all(strForeignTableKeyField).value = '';	
	}catch(err){}
}

function returnedToPage(strForeignTableKeyField,idfieldvalue, descfieldvalue,desc1,desc1value,desc2,desc2value,desc3,desc3value,des4,desc4value)
{
	eval("document.forms(0)."+strForeignTableKeyField).value = idfieldvalue;
	eval("document.forms(0).slListDesc"+strForeignTableKeyField).value = descfieldvalue;
	if (desc1!="")
	{
	
		try{eval("document.forms(0)."+desc1).value = desc1value;
			eval("document.forms(0)."+desc2).value = desc2value;
			eval("document.forms(0)."+desc3).value = desc3value;
			eval("document.forms(0)."+desc4).value = desc4value;
			}
		catch(e){}
	}
}
	
function returnedToEditable(strForeignTableKeyField,idfieldvalue, descfieldvalue)
{
	eval("document.forms(0).fld_"+strForeignTableKeyField+intId).value = idfieldvalue;
	eval("document.forms(0).slListDescfld_"+strForeignTableKeyField+intId).value = descfieldvalue;
}

function rTrim(strText)
{
	while(''+ strText.charAt(strText.length-1)==' ')
		strText=strText.substring(0,strText.length-1);
	return strText;
}

function lTrim(strText)
{
	while(''+strText.charAt ==' ')
		strText=strText.substring(1,strText.length);
	return strText;
}

function Trim(strText)
{
	strText = rTrim(strText);	
	return lTrim(strText);
}

function fnDoSubmit()
{
	document.forms(0).submit();
}

function fnFilterSubmit()
{

	if(event.keyCode == 13)
	{
	//alert();
	document.forms(0).submit();
	}
}

function fnSwapCheckbox(obj, strObjName)
{
	if (strObjName=="")
		strObjName = "fldHiddenActive";
	
	if(obj)
	{
		if(obj.checked)
			document.all(strObjName).value = "true";
		else
		{
			document.all(strObjName).value = "false";
			document.all("o").value = "1";	
		}
		
		try{document.all("p").value	= "1";} catch(e){}	
		document.forms(0).submit();
	}
}

function fnSwapHistoryActive(objThis)
{		
	var objActive = document.all("fldHiddenActive");
	var objHistory = document.all("fldHiddenHistory");
	if (objThis == document.all("fldActive"))
	{	
		if(objThis.checked)
		{
			document.all("o").value = "1";
			objActive.value = "true";
			objHistory.value = "false";
		}
		else
			objActive.value = "false";
	}
	else if (objThis == document.all("fldShowHistory"))
	{
		if(objThis.checked)
		{
			objHistory.value = "true";
			objActive.value = "false";
		}
		else
		{
			objHistory.value = "false";
			document.all("o").value = "1";
		}	
	}
	try{document.all("p").value	= "1";} catch(e){}	
	document.forms(0).submit();
}

function SetFocus(objStr)
{
	var obj;
	try
	{
	obj = document.all(objStr);
	obj.focus();
	}
	catch(e){}
}

function fnFlipDivision(strDivName)
{
	var objFrame = document.all(strDivName);
	if (objFrame.style.display=='')
		objFrame.style.display = 'none';
	else
		objFrame.style.display = '';
	
}


*/
	
//********************************COMMON FUNCTIONS USED IN ALL PAGES********************************	
