var DATE_FORMAT_TYPE=1
//1- MM/DD/YYYY   2-DD/MM/YYYY

/*******************************************************************
 Function : isValidDate
 Purpose  : Check whether the date is a valid date
 Input    : a string containing the date separated by / eg: 1/1/2000
 Output   : true/false
*******************************************************************/

function isValidDate(sDate)
{
	if(sDate=='') {return ;}//SetStatus('PLEASE ENTER VALID DATE!'); 
	var sMM,sDD,sYY;
	var iLen;
	var iDays = 0;
	var iMnInd,iDtInd;
	iLen = sDate.length;
	if( iLen<6 && iLen>10 )
		return false;
	iMnInd = sDate.indexOf("/");
	if ( iMnInd== -1)
		return false;
	sDD = sDate.substring(0,iMnInd); // get data upto first /
	if(sDD.length>2)
		return false;
    if(!isDigit(sDD))
		return false;
	iDtInd = sDate.indexOf("/",iMnInd+1);
	if ( iDtInd == -1)
		return false;
	sMM = sDate.substring(iMnInd+1,iDtInd); // get data upto second /
	if(sMM.length>2)
		return false;
	if( ! isDigit(sMM))
		return false;
	sYY = sDate.substring(iDtInd+1,iLen); // get data after second /
	if(sYY.length>4)
		return false;
	if(!isDigit(sYY))
		return false;
		
	if(DATE_FORMAT_TYPE==1) 
	{
		var t=sDD;
		sDD=sMM;
		sMM=t;
	}
	if ( sMM <1 || sMM > 12 )
		return false;
	if ( sYY < 1900 || sYY  > 2050)
		return false;
	switch (parseInt(sMM,10))
	{
		case 2:
		    iDays = isLeap(sYY)?29:28;
            break;
		case 1: case 3: case 5: case 7: case 8: case 10: case 12:
			iDays=31;
            break;
		case 4: case 6: case 9: case 11:
            iDays =30;
            break;
    }
    if ( sDD < 1 || sDD > iDays ) return false;
		return true;
	return true;
}

/*******************************************************************
 Function : formatDateDisplay
 Purpose  : To display the given date in mm/dd/yyyy format
 Input	  : a string containing the date to be formatted for display
 Output   : formatted date
 *******************************************************************/  

function formatDateDisplay(sDate)
{  
    var sMM,sDD,sYY;
	var iLen;
    var iMnInd,iDtInd;
    sDate = sDate.split(' ')[0];
    iLen = sDate.length;
    if( sDate.length == 0 ) return(sDate);
    iMnInd = sDate.indexOf("/");
    if ( iMnInd== -1) return (sDate);
    sMM = sDate.substring(0,iMnInd);
    if (sMM.length < 2) 
		sMM = "0" + sMM;
    iDtInd = sDate.indexOf("/",iMnInd+1);
    if ( iDtInd == -1) 
		return (sDate);
    sDD = sDate.substring(iMnInd+1,iDtInd);
    if (sDD.length < 2 ) 
	sDD = "0" + sDD ;
    sYY = sDate.substring(iDtInd+1,iLen);
    if(sYY.length == 2){
      if(parseInt(sYY) < 10)  sYY = "20" + sYY;
      else sYY = "19" + sYY;
    }
    sDate = sMM + "/" + sDD + "/" + sYY;
	return(sDate); 	
}

/*****************************************************************************
 Function: dateCompare
 Purpose : to Compare two valid Dates
 Input   : two strings containing date1 and date2 and the operator sOp
		   Valid values for Operator sOp are : =, > , >= , < , <= ,  !=
 Output  : true/false
*****************************************************************************/
function dateCompare(sSrc,sDes,sOp)
{
   if(!isValidDate(sSrc)) { return ;}//SetStatus('DATE1 IS NOT A VALID DATE !'); 
   if(!isValidDate(sDes)) { return ;}//SetStatus('DATE2 IS NOT A VALID DATE !'); 
	
   var oSrcDt,oDesDt;
   var aStrTok;

   var iDt1,iDt2;

   aStrTok=sSrc.split("/");
   if(aStrTok.length !=3 ) return false;

   if(DATE_FORMAT_TYPE==1)
   	oSrcDt=new Date(aStrTok[2],aStrTok[0]-1,aStrTok[1]);
   else
   	oSrcDt=new Date(aStrTok[2],aStrTok[1]-1,aStrTok[0]);

   iDt1 = Date.parse(oSrcDt);

   if ( isNaN(iDt1)) iDt1=0;

   aStrTok=sDes.split("/");
   if(aStrTok.length !=3 ) return false;

   if(DATE_FORMAT_TYPE==1)
   	oDesDt=new Date(aStrTok[2],aStrTok[0]-1,aStrTok[1]);
   else
   	oDesDt=new Date(aStrTok[2],aStrTok[1]-1,aStrTok[0]);

   iDt2 = Date.parse(oDesDt);

   if (isNaN(iDt2)) iDt2=0;

   if(sOp!='>' && sOp!='<' && sOp!='==' && sOp!='<=' && sOp!='>=' && sOp!='<>' && sOp!='!='){SetStatus('OPERATOR IS NOT VALID !'); return ;}
  
  switch (sOp)
   {
     case ">":
			return (iDt1 > iDt2);
     case "<":
			return (iDt1 < iDt2);
     case "=": case "==":
            return (iDt1 == iDt2);
     case "<=":
			return (iDt1 <= iDt2);
     case ">=":
           return (iDt1 >= iDt2);
     case "!=" : case "<>":
           return (iDt1 != iDt2);
     default:
		   return false;
   }
 }

/************************************************************************
 Function : isLeap
 Purpose  : test the year for leap year
 Input    : a string containing the year in yyyy format
 Output	  : true/false
************************************************************************/
function isLeap(sYear)
{
    if(sYear=='') {fnSetError('','E0026'); return ;}
	var iLen;
	isValidYear(sYear);
    iLen = sYear.length;
    if ( iLen == 4 && isNumeric(sYear) )
    {
       if ((sYear%4 == 0 && sYear%100 != 0) || (sYear%400 == 0))
	       return(true);
    }
    return(false);
}


/*******************************************************************
 Function : isValidAmount
 Purpose  : Check whether the Amount is a valid one
 Input    : a string containing the Amount
 Output   : true/false
*******************************************************************/

function isValidAmount(sAmount)
{
 
if(sAmount=='') {fnSetError('','E0027'); return ;} 
 var iInd,sSub,iLen; 
  sAmount = trimString(sAmount.toString());
  iLen = sAmount.length;
  var fAmt=parseFloat(sAmount);
    if (isNaN(fAmt))
  	return(false);
  iInd = sAmount.indexOf(".");
  if(sAmount.substring(0,iInd)<0)
  return(false);
  if ( iInd == -1 )
	return(false);
  sSub = sAmount.substring(iInd,iLen-1);
  if ( sSub.length != 2)
	return(false);
  if(!isDigit(sAmount.substring(iInd+1,iLen)))
  return(false);
	sSub = sAmount.substring(iInd+1,iLen);
  if(sSub.indexOf('.')!=-1)
	  return(false);
  return (true);
}

/*******************************************************************
 Function : formatAmountDisplay
 Purpose  : To display the given Amount with two digits after the
			decimal point
 Input	  : a string containing the Amount to be formatted for display
 Output   : formatted Amount
 *******************************************************************/
function formatAmountDisplay(sAmount)
{
  var iInd,iLen,fAmount;
  var sTemp = "";
  sAmount = trimString(sAmount.toString());
  if(!isNumeric(sAmount))
  {
	  //fnSetError('','E0040');
	  return ("")
	 };
  if(sAmount.indexOf(".") != -1)
	{
		var dotIn = sAmount.indexOf(".");
		var iVal=sAmount.substring(dotIn+1,sAmount.length);
		if(iVal.indexOf(".")>=0)
		{
		//fnSetError('','E0040');
		return("") ;
		}
	}
	else
	{
		
		if(!isDigit(sAmount))
		{
		//fnSetError('','E0040');
		return("") ;
		}
	
	
	}
	
  iInd = sAmount.indexOf(".");
  iLen = sAmount.length;
  if (iInd == iLen - 3 && iInd != -1)
   	return(sAmount);
  if (iLen == 0)
  return("");
  
  fAmount = parseFloat(sAmount);
  fAmount = Math.round(fAmount * 100);
  fAmount = fAmount / 100;
  sTemp = new String(fAmount);
  iInd = sTemp.indexOf(".");
  iLen = sTemp.length;
  switch (iInd)
  {
	case -1			:	sTemp += ".00";
						break;
	case iLen - 2	:	sTemp += "0";
						break;
	case iLen - 3	:	break;
	default			:	sTemp = "0.00";
						break;
  }
  return sTemp;
}

function formatAmountDisplay2(sAmount)
{
	var amount,sp;
	sAmount = trimString(sAmount.toString());
	if(sAmount.length==0)
	return("");
	if(sAmount.indexOf('.')>=0)
	{
		sp=sAmount.split('.');
		amount=formatComma(sp[0]);
		return(amount+'.'+sp[1]);	
	}
	else
	{
	amount=formatComma(sAmount);
	amount=amount+'.00';
	return amount;
	}
}

function formatAmount(elem)
{  
	var tmp;
	if(elem.value.indexOf('.') >= 0)
	{  
		tmp = elem.value.split('.');		
		if(tmp.length > 1) elem.value = tmp[0] + '.' + tmp[1].charAt(0) + tmp[1].charAt(1);  
	}  
}


/********************************************************************************
 Function   : formatFloat
 Purpose	: To display the given number in the desired format
 Parameters :
  1. fNum		   - The actual number to be formatted
  2. iLenAfterDot  - Digits to be displayed after decimal(Integer)
  3. bSep		   - Whether comma separator required or not(Boolean)
  4. bDollerPrefix - Whether dollar prefix required or not (Boolean)
  5. bNeg		   - Whether parenthesis for neg numbers required or not(Boolean)
 Output		: formatted Number
********************************************************************************/

function formatFloat(fNum,iLenAfterDot,bSep,bDollerPrefix,bNeg)
{
   if(isNaN(fNum)){fnSetError('','E0040'); return ("");}
   fNum=formatAmountDisplay(fNum);
   var bSign,iNum;
   var sTemp,sDot;
   var i,iInd;
   var iNoDigit;
   if (fNum.length == 0)
		fNum= 0;
   iNoDigit=parseInt(iLenAfterDot);
   if (isNaN(iNoDigit))
        return(-1);
   iNum = parseFloat(fNum);
   if (isNaN(iNum))
        return(-1);
   if ( iNoDigit >5 )
		return(-1);
   if( iNum < 0 )
   {
		bSign=true;
		iNum = -iNum;
   }
   var iPow= Math.pow(10, iNoDigit)
   iNum = Math.round(iNum * iPow);
   iNum = iNum / iPow;
   sTemp = new String(iNum);
   if ( iNoDigit != 0 )
   {
       iInd = sTemp.indexOf(".");
       if (iInd == -1)
       {
			iInd = iNoDigit;
			sDot="."
	   }
       else
       {
			iInd = iNoDigit -(sTemp.length - iInd)+1;
			sDot="";
       }
       for( i = 0; i< iInd; i++ )
			sDot = sDot + "0";
       sTemp = sTemp + sDot;
   }
   if(bSep)
	   sTemp = formatNumberComma(sTemp);
   if(bSign)
   {
	   if (bNeg)
		   sTemp = "(" + sTemp + ")";
	   else
		   sTemp = "-" + sTemp;
   }
   if(bDollerPrefix)
   {
	   sTemp = "$" + sTemp;
   }
   return(sTemp);
}


/********************************************************************************
 Function   : formatNumberComma
 Purpose	: To display the given number with commas in appropriate place
 Input		: a string containing the number to be formatted
 Output		: formatted Number
********************************************************************************/

function formatNumberComma(sNum)
{
    sNum=formatAmountDisplay(sNum);
	
	var i,iInd,iMod,iLen;
    var sTemp,sRest,sResult;
    iInd = sNum.indexOf(".");
    if ( iInd == -1)
    {
          sTemp = sNum;
          sRest="";
    }
    else
    {
         sRest= sNum.substring(iInd,sNum.length);
         sTemp= sNum.substring(0,iInd);
    }
    iLen = sTemp.length;
    if(iLen <= 3)
       	return(sNum);
   	sResult="";
    for(i=0; i < iLen;i++)
    {
        iMod = iLen- i;
        if( (iMod % 2) != 0 && iMod > 2 && i != 0)
			sResult = sResult + ",";
        sResult = sResult + sTemp.charAt(i);
    }
    sResult = sResult + sRest;
    return(sResult);
}

/***************************************************************
 Function : isNumeric
 Purpose  : Test the string for Numeric
 Input	  : a string to be tested
 Output	  : true/false
***************************************************************/
function isNumeric(sData)
{
	if (!sData.length) return false;
 	if(sData.substring(0,1)==" ")return false;	
	var sVal= trimString(sData.toString());
    if(sVal<0)
	return false;
	return (!isNaN(sVal))
}

/***************************************************************
 Function : isDigit
 Purpose  : Test the character for a number
 Input	  : a character to be tested
 Output	  : true/false
***************************************************************/
function isDigit(sData)
{
	if (!sData.length)
	return false;
    var sVal= sData;
	var re=/\D/;
	return (!re.test(sVal));
}

/****************************************************************
 Function : trimString
 Purpose  : To Remove leading and trailing Spaces
 Input	  : a string for which the white spaces are to be removed
 Output	  : a string with the white spaces removed
 ****************************************************************/
function trimString(sStr)
{
   var s; 
   sStr = sStr.toString();
   s = sStr.replace(/(^\s*)|(\s*$)/g,"");
   return(s);
}

function isPassword(obj)
{ 
	if ((obj.value.length)<5)
	{
		//alert("enter the "+msg);
		return;
	}
 	else

	return false;
}

function fnChkAlphaNum(obj)
{
	alert("a");
	exp=/[^a-zA-Z0-9]/;
 	if(exp.test(obj.value))
	{
		alert("Special characters not accepted");
		//obj.focus();
		return;
	}
	else
		return false;
}

function isValidYear(sval)
{
   if(sval=='') {fnSetError('','E0026'); return ;}
   var len,ncount;
   var sYear;
   sYear = trimString(sval.toString());
   len = sYear.length;
   if(len != 4){
     return false;
   }
   if(len == 4){
     if(!isNumeric(sval))
      return false;
     if(sval < 1900 || sval > 9999)
      return false;
   }
   return true;
}

function isAlphaNumeric(strVal)
{
	if(strVal=='') {fnSetError('','E0028'); return ;}
	if(strVal.substring(0,1)==" ")return false;
	if(!isNotAlphaNumeric(strVal))
	return true;
	else
	return false;
 }
 
 function isNotAlphaNumeric(strVal) 
 {
	if(strVal=='') {fnSetError('','E0029'); return ;}
 	if(strVal.substring(0,1)==" ")return false;
	var s= trimString(strVal.toString());
    if(s.length<1) return false;
    //var re=/[^A-Za-z0-9&\-\+\/,".()\s]/g;
	var re=/[^A-Za-z0-9&.s]/g;
    return (re.test(s));
 }

function isNotAlphabet(strVal) 
{
	if(strVal=='') {fnSetError('','E0029'); return ;}
	if(strVal.substring(0,1)==" ")return false;
	var s= trimString(strVal.toString());
    if(s.length<1) return false;
    var re=/[^A-Za-z\s]/g;
    return (re.test(s));
}
 
function isEmailValid(email)
{
  if(email=='') {fnSetError('','E0030'); return ;}
  var i;
  var flag = 0;
  email = trimString(email.toString());
  if (email.indexOf("@") <=0 || email.indexOf(".") <= 0 || email.charAt(email.length-1) == "@" || email.charAt(email.length-1) == "." || email == "" || email.indexOf(" ") >= 0 || email.length < 10)
    flag = 1;
  for(i=email.indexOf("@")+1; i<email.length; i++)
    if(email.charAt(i) == "@")
    {
		flag = 1;
		break;
    }	
	if(email.indexOf(".")!=-1)
	{
		i=email.indexOf("@")+1;
    	if(email.charAt(i) == "." || email.charAt(i+1) == ".")
    	flag=1;	
	}
	
    var re=/[^A-Za-z0-9@._\s]/g;
    if(re.test(email)) flag=1;
	
  if(flag == 1) return false;
  else return true;
}



/********************************************************************
   Function : formatTime
   Purpose  : to get the Time and format it during keypress
   Input    : Event and the Target Control
   Output   : none
********************************************************************/

function formatTime(e,sTarget)
{ 
	fnClearError(sTarget);
    var iLen;
    var iHour;
    var iMinute;
	sTarget = get(sTarget); 
	if(e.keyCode == 32 || e.keyCode == 9 || e.keyCode == 45 || e.keyCode == 27 || e.keyCode == 13 || e.keyCode == 33 || e.keyCode == 34 || e.keyCode == 35 || e.keyCode == 36 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40) return;
	if((e.keyCode>=48 && e.keyCode<=57) || (e.keyCode>=96 && e.keyCode<=105))
    {
	    iLen = sTarget.value.length;
		switch(iLen)
		{
			case 0:	break;
			case 1:	if(sTarget.value > 2)  {sTarget.value='';iLen--; } if(!isDigit(sTarget.value)){sTarget.value=(sTarget.value.substring(0,(sTarget.value.length-1)));iLen--;}break;
			case 2: if(sTarget.value.charAt(0) == 2 && sTarget.value.charAt(1) > 3) {sTarget.value=sTarget.value.charAt(0);iLen--;}if(!isDigit(sTarget.value)){sTarget.value=(sTarget.value.substring(0,(sTarget.value.length-1)));iLen--;}break;
			case 3: if(sTarget.value > 23) {sTarget.value=''; iLen = 0;break; }
			case 4: if(sTarget.value.charAt(3) > 5)  {sTarget.value=sTarget.value.charAt(0) + sTarget.value.charAt(1)+ ':'; iLen--;}if(!isDigit(sTarget.value.substring(3,4))){sTarget.value=(sTarget.value.substring(0,(sTarget.value.length-1)));iLen--;}break;
			case 5: if(parseInt(sTarget.value.charAt(0) + sTarget.value.charAt(1))  > 23){sTarget.value='';}if(parseInt(sTarget.value.charAt(3) + sTarget.value.charAt(4))  > 59) { sTarget.value=sTarget.value.charAt(0) + sTarget.value.charAt(1)+ ':' +sTarget.value.charAt(3); iLen--;}if(!isDigit(sTarget.value.substring(4,5))){sTarget.value=(sTarget.value.substring(0,(sTarget.value.length-1)));iLen--;}break;
		}
		
		if(iLen == 2) sTarget.value = sTarget.value + ":";
     }
	 else sTarget.value = '';
	 
	 if(iLen > 5 && iLen < 6) sTarget.value = sTarget.value.substring(0,(sTarget.value.length-1));
     if(iLen > 6)sTarget.value = '';
}

function Cdate(str)
{
	if(str=='') {return '' ;} //SetStatus('Date cannot be null !'); 
	if(!isValidDate(str)) { return '';}//SetStatus('Date is not a valid date !');
	var strdt='';

	if(DATE_FORMAT_TYPE==1) return str; //No need to convert the Date Format for MM/DD/YYYY format

	if(str.indexOf('/') > 0)
	{
		strdt = str.split('/');
		return strdt[1]+ '/' +strdt[0]+ '/' +strdt[2];
	}
	return strdt;
}

/********************************************************************
   Function : FormatTextArea
   Purpose  : To Avoid the user typing more than the mentioned length in the TextArea.
   Input    : Event, Target Control and Maxlength
   Output   : none
********************************************************************/

function FormatTextArea(e,sTarget,iMax)
{
	fnClearError(sTarget.id);
	try{//Try catch added to solve problem in XP.
		var iLen = parseInt(sTarget.value.length);
		var strEntry= sTarget.value.substring(iLen-1,iLen);
		var strFirst= sTarget.value.substring(0,1);
		if(strFirst==' ') sTarget.value=trimString(sTarget.value);
		if (iLen==0 && e.keyCode==32) e.keyCode=0;
		var strEntry= sTarget.value.substring(iLen-1,iLen);
		if (strEntry=='>' ||strEntry=='<' ||strEntry=='&')
			sTarget.value=sTarget.value.substring(0,iLen-1);
		iLen = parseInt(sTarget.value.length);
		if(iLen > iMax) sTarget.value=sTarget.value.substring(0,parseInt(iMax));
		if((strVal.indexOf('>') >= 0) ||(strVal.indexOf('<') >= 0)||(strVal.indexOf('&') >= 0))
			sTarget.value='';
	}catch(e){}
}
/********************************************************************
   Function : FormatText
   Purpose  : To Avoid the user typing Other than -AlphaNumeric, N and Digit Entries
   Input    : Event, this 
   Output   : none
********************************************************************/

function FormatText(e,sTarget)
{
	fnClearError(sTarget.id);
	var ekey=e.keyCode;
	if(((ekey>=33 && ekey<=47 && ekey!=46)) ||  (ekey>=58 && ekey<=64) || (ekey>=91 && ekey<=96) || (ekey>=123 && ekey<=126))
	{
		e.keyCode=0;	
		return;
	}	
	//var sTarget = document.getElementById(sTarget);	
	var ValidType=sTarget.getAttribute('TYPE-CHECK');	
	var strVal=sTarget.value;		
	if(strVal=='')return;
	var iLen = parseInt(strVal.length);	
	var strEntry= strVal.substring(iLen-1,iLen);
	var strFirst= strVal.substring(0,1);	
	if (strFirst==' ')	
	{
		sTarget.value=trimString(strVal);				
	}
	iLen = parseInt(sTarget.value.length);
	
	
	switch(ValidType)
	{
	case 'ALPHA-NUMERIC':
		var re=/[^A-Za-z0-9-\.\s]/g;
    	if(re.test(strEntry)) 		
		sTarget.value=(sTarget.value.substring(0,iLen-1));	
		strVal=trimString(sTarget.value);
		var cmpTemp=sTarget.getAttribute('REF-XML');
		if (cmpTemp!=null)
		{
			re=/[^A-Za-z0-9-\;\&\.\s]/g;
			sTarget.value=strVal.replace("&amp;","&");
		}
		if((re.test(strVal)) || (strVal.indexOf('>') >= 0) ||(strVal.indexOf('<') >= 0) || ((cmpTemp=='null') && ( strVal.indexOf('&') >= 0 )))
		{
		sTarget.value='';
		if(sTarget.getAttribute('REF-XML'))
		setInner(sTarget.id,'');
		//fnSetError('','E0028');
		}
		
	break ;
	
	case 'ALPHABETIC'://Code added by babu
		var re=/[^A-Za-z]/g;
    	if(re.test(strEntry)) 		
		sTarget.value=(sTarget.value.substring(0,iLen-1));	
		strVal=trimString(sTarget.value);
		var cmpTemp=sTarget.getAttribute('REF-XML');
		if (cmpTemp!=null)
		{
			re=/[^A-Za-z]/g;
			sTarget.value=strVal.replace("&amp;","&");
		}
		if((re.test(strVal)) || (strVal.indexOf('>') >= 0) ||(strVal.indexOf('<') >= 0) || ((cmpTemp=='null') && ( strVal.indexOf('&') >= 0 )))
		{
		sTarget.value='';
		if(sTarget.getAttribute('REF-XML'))
		setInner(sTarget.id,'');
		//fnSetError('','E0028');
		}
		
	case 'ALPHANUMSPACE'://Code added by babu
		var re=/[^A-Za-z0-9-\.\s]/g;
    	if(re.test(strEntry)) 		
		sTarget.value=(sTarget.value.substring(0,iLen-1));	
		strVal=trimString(sTarget.value);
		var cmpTemp=sTarget.getAttribute('REF-XML');
		if (cmpTemp!=null)
		{
			re=/[^A-Za-z0-9&.s ]/g;
			sTarget.value=strVal.replace("&amp;","&");
		}
		if((re.test(strVal)) || (strVal.indexOf('>') >= 0) ||(strVal.indexOf('<') >= 0) || ((cmpTemp=='null') && ( strVal.indexOf('&') >= 0 )))
		{
		sTarget.value='';
		if(sTarget.getAttribute('REF-XML'))
		setInner(sTarget.id,'');
		//fnSetError('','E0028');
		}
		
	break ;

	case 'NUMERIC':
	var nCount1=strVal.indexOf(".",0);
	var nCount2=strVal.indexOf(".",nCount1+1);	
	if(nCount2>1)
		{		
		sTarget.value=sTarget.value.substring(0,nCount2+1)	
		}
	
	 if((e.keyCode!=46 || e.keyCode!=190 )&&(!isNumeric(strVal)))
	{	sTarget.value=trimString(sTarget.value.substring(0,sTarget.value.length-1));	
		if(!isNumeric(sTarget.value))
		sTarget.value='';
		//fnSetError('','E0028');
	}
	break ;
	
	case 'DIGIT':
		if(!isDigit(strEntry))
		sTarget.value=sTarget.value.substring(0,iLen-1);	
		strVal=sTarget.value
		if(!isDigit(strVal))
		{
			sTarget.value='';
			fnSetError('','E0028');
		}

	break ;
	case '':
	case 'null':
	case 'undefined':
	{alert('Set TYPE-CHECK ATTRIBUTE'); return false;}
	break;
	}	

}

/*******************************************************************
 Function : formatSSNDisplay
 Purpose  : To display the given SSN in the format ddd-dd-dddd
 Input	  : a string containing the SSN to be formatted for display
 Output   : formatted SSN
 *******************************************************************/  

function formatSSNDisplay(sSSN)
{
    var sTssn;
    sSSN = trimString(sSSN);
    var iLen= sSSN.length;
    switch( parseInt(iLen,10)) 
    {
       case 0:
            sTssn=""
            break;
       case 9:
            sTssn = sSSN.substr(0,3) + "-" + sSSN.substr(3,2) + "-" +  sSSN.substr(5,4);     
            break;           
       default:
           sTssn =sSSN;
    }
    return(sTssn);
}

function formatSSN(e,sTarget)
{
	try{//Try catch added to solve problem in XP.
		fnClearError(sTarget.id);
		var str=sTarget.value.toString();
		var re=/[^0-9^/-]/g;
		var b=re.test(str)
	   	if(b)
		 sTarget.value='';
		if(e.keyCode >=48 && e.keyCode <=57)
		{
			var iLen= sTarget.value.length;
			if( iLen==3 || iLen ==6) sTarget.value =sTarget.value + "-";
		}
		else  e.keyCode=0;
	}catch(e){}
}

/********************************************************************
   Function : formatPhone                             
   Purpose  : to get the phone number and format it during keypress 
   Input    : Event and the Target Control
   Output   : none
********************************************************************/

function formatPhone(e,sTarget)
{
	fnClearError(sTarget.id);
	try{//Try catch added to solve problem in XP.
		var iLen;
		//added to solve copy paste problem
		var str=sTarget.value.toString();	
		var re=/[^0-9^/-]/g;	
		var b=re.test(str)
		if(b) sTarget.value='';   	
	  	//End
		if (e.keyCode>=48 && e.keyCode<=57)
		{
		iLen = sTarget.value.length;
		if (iLen==3 || iLen==7) sTarget.value = sTarget.value + "-" ;
		}
		else e.keyCode = 0;
	}catch(e){}
}

/*******************************************************************
 Function : isValidPhone
 Purpose  : Check whether the phone is a valid phone
 Input    : a string containing the phone 
 Output   : true/false
*******************************************************************/

function isValidPhone(sPhone)
{
	var iLen;
	var iInd1,iInd2;
	var sPh;
	sPhone = trimString(sPhone);
	iLen = sPhone.length;
	if (iLen != 12)
   	   return false;
	iInd1 = sPhone.indexOf("-");
	if ( iInd1 != 3 )
   	   return false;
	iInd2 = sPhone.indexOf("-",iInd1+1);
	if ( iInd2 != 7 ) 
   	   return false;
	sPh = sPhone.substring(iInd2+1,iLen);
	if ( sPh.length != 4 ) 
   	   return false;   	   
   	 if(sPhone=='000-000-0000') return false;  
   	 if(sPhone.substring(0,3)=="000" || sPhone.substring(4,7)=="000" || sPhone.substring(8,12)=="0000")  return false;
	return true;
}

function formatAmt(e,Target)
{
	try
	{
		fnClearError(Target.id);
	  	var s,t;
	  	s = trimString(Target.value);
	  	var len = s.length; 
	  	var ch= e.keyCode; 
		if (ch == 46) 
	  	{
	  		n = s.indexOf(".");
	    	if( n == -1 ) return(true);
	    	e.keyCode = 0;
	    	return;
	  	}
	  	if (ch>=48 && ch<=57 ){}
	 	else
	 	{
		 	e.keyCode = 0;
		 	return(false); 
	 	}
	 	if(Target.type=="text")
		{
			iLen = Target.value.length;
			if (iLen==1 && Target.value=='.')
				Target.value='0'+'.';
	    	if (iLen==11 && Target.value.indexOf('.')==-1)
	    	{
		    	Target.value = Target.value + "." ;
	    	}
			var sVal=Target.value;
			sVal=sVal.split('.');
			if(sVal.length>1)
			{
				if(sVal[1].length>2)
				{
					sVal=sVal[0]+'.'+sVal[1].substring(0,2);
					Target.value=sVal;
				}
			}
			FormatText(event,Target);
		}
	}catch(e){}
}
function formatAmt1(event,elem) 
{
	try
	{
	fnClearError(elem.id);
	var caretPos = document.selection.createRange().duplicate();
	caretPos.collapse();
	caretPos.moveStart("textedit",-1);
	var pos=caretPos.text.length;
	var number=elem.value;
	var len=number.length;
	var sp=number.split('.');
   	var re=/[0-9.]/g;
   	var sText=elem.value
   	if(!re.test(sText))elem.value='';
   	if(event.keyCode==46 && elem.value.indexOf('.')!=-1)
   	{
	   	event.keyCode=0;
	 	return false;
   	}
   	var bFormat=false;
   	
   	if(event.type=='keypress')return;
	if((event.keyCode >=48 && event.keyCode <=57) || (event.keyCode >=96 && event.keyCode <=105)  || event.keyCode ==8 || event.keyCode ==46 )
	{
		if(number.length<=17)
		{
			if(number.length<=14 || event.keyCode ==8 || event.keyCode ==46)
			{
				number=sp[0];
				number=number.toString();
				number=number.replace(',',"");
				number = '' + number;
				number=number.replace(',',"");
				if(elem.value.indexOf('.') >= 0 && event.keyCode !=8 && event.keyCode !=46)
				{
					tmp = elem.value.split('.');
					if(tmp.length > 1) elem.value = tmp[0] + '.' + tmp[1].charAt(0) + tmp[1].charAt(1);  
					output=formatComma(number);
					elem.value =output+'.'+ tmp[1].charAt(0) + tmp[1].charAt(1);
					var r = elem.createTextRange()
					r.move("character",pos);
  					r.select();
  					bFormat=true;
				}  
				else
				{
					if (number.length >= 3) 
					{
						number=number.replace(',',"");
						number=number.substring(0,13);
						output=formatComma(number);
						if(event.keyCode !=8 && event.keyCode !=46 && elem.value.indexOf('.') ==-1 && elem.value.substring(pos,elem.value.length)=='')
						{
							elem.value=output;
						}
						else if((event.keyCode ==8 || event.keyCode ==46) && elem.value.indexOf('.') ==-1)
						{
							elem.value=output;
							var r = elem.createTextRange()
							r.move("character",pos)
	  						r.select();
						}
						else if(event.keyCode !=8 && event.keyCode !=46 && elem.value.indexOf('.') ==-1 && elem.value.substring(pos,elem.value.length)!='')
						{
							elem.value=output;
							var r = elem.createTextRange()
							r.move("character",pos)
	  						r.select();
						}
						else
						{
							if(sp[1]!=undefined) elem.value=output+'.'+sp[1];
							var r = elem.createTextRange()
							if(len-output.length==4) r.move("character",pos-1)
							else r.move("character",pos)
	  						r.select();
						}
						bFormat=true;
					}
				}
			}
			if(number.length==15)
			{
				if(number.substring(number.length-1,number.length)=='.')
				{
					elem.value=elem.value.substring(0,number.length-1)+elem.value.substring(number.length-1,number.length)
				}
				else if (sp[1]!=undefined && sp[1]!=3)
				{
					number=sp[0].replace(',',"")
					elem.value=formatComma(number)+'.'+sp[1].charAt(0) + sp[1].charAt(1);
					var r = elem.createTextRange()
					r.move("character",pos)
  					r.select();
				}
				else if(elem.value.indexOf('.') ==-1)
				{
					if(pos==elem.value.length) elem.value=elem.value.substring(0,number.length-1)+'.'+elem.value.substring(number.length-1,number.length);
					else elem.value=elem.value.substring(0,pos-1)+elem.value.substring(pos,elem.value.length)+'.'+elem.value.substring(pos-1,pos);
				}
				else
				{
					elem.value=elem.value.substring(0,number.length-1)+'.'+elem.value.substring(number.length-1,number.length)
				}
				bFormat=true;
			}
			if(elem.value.indexOf('.') >= 0 && event.keyCode !=8 && event.keyCode !=46 && number.length==17)
			{
				tmp = elem.value.split('.');
				if(tmp.length > 1) elem.value = tmp[0] + '.' + tmp[1].charAt(0) + tmp[1].charAt(1);
				if(tmp[1].length==1)
				{
					elem.value=elem.value.substring(0,pos-1)+elem.value.substring(pos,elem.value.length)+elem.value.substring(pos-1,pos);
					bFormat=true;
				}
				else
				{
					tmp[0]=tmp[0].replace(',',"")
					tmp[0]=tmp[0].replace(',',"")
					tmp[0]=tmp[0].replace(',',"")
					output=formatComma(tmp[0]);
					elem.value =output+'.'+ tmp[1].charAt(0) + tmp[1].charAt(1);
					var r = elem.createTextRange()
					r.move("character",pos)
		  			r.select();
				}
				bFormat=true;
			}
			if(!bFormat)
			{
				var sText=elem.value;
		 		if(sText.indexOf('.')!=-1)
		 		{
			 		sText=sText.split('.');
		 			formatComma(removeComma(sText[0].substring(0,11)))+'.'+sText[1];
		 		}
		 		else
		 			elem.value=formatComma(removeComma(elem.value.substring(0,11)));
			}
		}
 		else
 		{
	 		var sText=elem.value;
	 		if(sText.indexOf('.')!=-1)
	 		{
		 		sText=sText.split('.');
		 		formatComma(removeComma(sText[0].substring(0,11)))+'.'+sText[1];
	 		}
	 		else
	 			elem.value=formatComma(removeComma(elem.value.substring(0,11)));
	 		
 		}
	}
	else
	{
		if(event.keyCode!=37 && event.keyCode!=39)
		{
			if(elem.value.substring(pos-1,pos)=='.' ) elem.value=elem.value.substring(0,elem.value.length)
			else event.keyCode=0;
		}
	}
	if(elem.value.substring(0,1)==',')
	{
		elem.value=elem.value.substring(1,elem.value.length)
		var r = elem.createTextRange()
		r.move("character",pos)
  		r.select();
	}
 }
 catch(e){}
	
}

function formatComma(number)
{
	try
	{
	var i;
	number=number.replace(',',"")
	var mod = number.length % 3;
	var output = (mod > 0 ? (number.substring(0,mod)) : '');
	output=output.replace(',',"");
	
	for (i=0 ; i < Math.floor(number.length / 3) && output.length<=14; i++) 
	{
		if ((mod == 0) && (i == 0))
		{
			output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
		}
	
		else
		{
			output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
	}
	return(output);
	}
	catch(e){}
}
function isExcludeKeyKeyPress()
{
  var ch=window.event.keyCode;
  var s="`~!@#$%^&*()_=+|\\'\":;{}[]<>,? "
  if ( ch <=46 || ch > 122) {
         switch(ch) {
                    case 13:
                    case 32:
                    case 45: 
                    case 188:
                    case 189:
                    case 190:
                    case 191:
                    case 222:
                            return(false)
                    default: 
                            ch= String.fromCharCode(ch);
                            if( s.indexOf(ch) != -1)  return(false);
                   }
                return(true);   
          }
   return(false);          
}

function formatZIP(e,sTarget)//written by Babu D
{
	try{
	fnClearError(sTarget.id);
	if(e.keyCode==96 || e.keyCode==61 || e.keyCode==94 || e.keyCode==43) { e.keyCode= 0;return;} //Code added by Babu
	var e=window.event, ekey=e.keyCode;
	if(ekey==13 || ekey==27 || ekey==9 || e.altKey || ekey==18 ) return true;
	if(e.ctrlKey && ekey==65) return true;
	var re=/[^0-9^/-]/g;
    var sVal=sTarget.value, iLen=sVal.length;

   	if(iLen>5 && sVal.indexOf('-')==-1)
	{
		sTarget.value='';
		for(var i=0;i<iLen,i<9;i++)
		{
			if(i==5) sTarget.value= sTarget.value + "-";
			sTarget.value+=sVal.substring(i,i+1).toString();
		}
	}
   	
	if( (e.keyCode!=46) && !(e.ctrlKey && (e.keyCode==67 || e.keyCode==88)) &&  !(e.ctrlKey && e.keyCode==86) )
  	{
	  	if(re.test(String.fromCharCode(ekey)))
		{
			e.keyCode=0;
			if(re.test(sVal)) sTarget.value='';
			return true;
		}
		if(sVal.indexOf('-')!=-1 && String.fromCharCode(ekey)=='-')
		{
			e.keyCode=0; return true;
		}
	}
	if(re.test(sVal))
    {
	    sTarget.value=''; return true;
    }
    if (e.keyCode >=48 && e.keyCode <=57)
	{
		iLen=sTarget.value.length;
		if(iLen==5 && e.type=='keydown') sTarget.value= sTarget.value + "-";
	}
	sVal=sTarget.value;
	iLen=sVal.length;
	if(iLen<=5 && sVal.indexOf('-')!=-1)
	{
		sTarget.value='';
		for(var i=0;i<iLen;i++)
		{
			if(!isNaN(sVal.substring(i,i+1).toString()))
				sTarget.value+=sVal.substring(i,i+1).toString();
		}
	}
	else if(iLen>5 && sVal.indexOf('-')==-1)
	{
		sTarget.value='';
		for(var i=0;i<iLen,i<9;i++)
		{
			if(i==5) sTarget.value= sTarget.value + "-";
			sTarget.value+=sVal.substring(i,i+1).toString();
		}
	}
	}catch(e){}
	return true;
	
}
/*
function formatZIP(e,sTarget)
{
	var iLen;
	
	//added to solve copy paste problem
    var str=sTarget.value.toString();	
	var re=/[^0-9^/-]/g;	
	var b=re.test(str)
   	if(b)   	
	 sTarget.value='';   	
  	//End
	
	
    if( isExcludeKeyKeyPress(window.event.keyCode)) return(true);
	if (e.keyCode >=48 && e.keyCode <=57)
	{
	   iLen = sTarget.value.length;
	   if(iLen==5) sTarget.value= sTarget.value + "-";
	}
	else e.keyCode=0;
}
*/
function isValidZIP(sZip)
{
    var sTemp,iLen,iInd;
    sTemp = trimString(sZip);
    iLen = sTemp.length;
    iInd = sTemp.indexOf("-");
    if(iInd == -1 && iLen==5)
    {
	    if(!isAllZero(sTemp.substring(0,5))) return false
	    return true;//Code Added by Babu.
    }
    if(iLen != 10) return false;
	if(iInd != 5) return false;
	iLen = sTemp.substring(iInd,iLen-1).length;
	if(iLen!= 4) return false;
	//if(!isAllZero(sTemp.substring(6,10))) return false;//Commented for issue I0000290(2)
	if(sZip=='00000-0000') return false;
	return true;
}

function acceptKey(e,cType,bSpace)
{
	fnClearError(e.srcElement.id);
	if(e.srcElement.value.toString().length == 0 && e.keyCode==32) { e.keyCode=0; return; } // added to Not accept space as first chatecter
	if(cType=='ANNoDot') if(e.keyCode==46) { e.keyCode=0; return; }
    if( isExcludeKeyKeyPress(window.event.keyCode)) return(true);  
    if(bSpace && cType != 'N') if(e.keyCode == 32) return(true);
    switch(cType)
    {
		case 'U'	:	if (e.keyCode > 96 && e.keyCode < 123)
							e.keyCode= e.keyCode - 32;
						if (e.keyCode < 65 || e.keyCode > 90) 
						{
							e.keyCode=0;
							return;
						}
						break;
		case 'L'	:	if (e.keyCode > 64 && e.keyCode < 91)
							e.keyCode=e.keyCode + 32;
						if (e.keyCode < 97 || e.keyCode > 122)
						{
							e.keyCode=0;
							return;
						}
						break;
		case 'A'	:	
					if ((e.keyCode < 65 || e.keyCode > 90) && (e.keyCode < 97 || e.keyCode > 122))
						{
							e.keyCode=0;
							return;
						}
					if(e.keyCode > 96 && e.keyCode < 123) e.keyCode = e.keyCode - 32;//Make upper case
					break;
		case 'N'	:	if (e.keyCode<48 || e.keyCode>57)
						{
							e.keyCode=0;
							return;
						}
						break;
		case 'AN'	:	if( e.keyCode>=48 && e.keyCode<=57 ) 
							return;
						if (e.keyCode>96 && e.keyCode<123) e.keyCode=e.keyCode - 32;//Make upper case
						if(e.keyCode>=65 && e.keyCode<=90)
							return;
						//if (e.keyCode>96 && e.keyCode<123) return;//Added since the upper case is commented	
						e.keyCode=0;
						break;
						
		case 'ANNoDot'	:
						if( e.keyCode>=48 && e.keyCode<=57 ) 
							return;
						if (e.keyCode>96 && e.keyCode<123) e.keyCode=e.keyCode - 32;//Make upper case
						if(e.keyCode>=65 && e.keyCode<=90)
							return;
						//if (e.keyCode>96 && e.keyCode<123) return;//Added since the upper case is commented	
						e.keyCode=0;
						break;
		default		:	e.keyCode = 0;
	}
}
function isValidSSN(sSSN)
{
	var iLen;  
	var i,cChr,cTemp;
	var iInd1, iInd2;
	sSSN=trimString(sSSN);
	iLen=sSSN.length;
	if(sSSN.length != 11) 
		return false;
	iInd1 = sSSN.indexOf("-");
	if (iInd1 != 3)
		return false;
	iInd2 = sSSN.indexOf("-",iInd1+1);
	if (iInd2 != 6)
		return false;
	cChr = sSSN.charAt(0);

	if(!isAllZeroSSN(sSSN.substring(0,3))) return false;
	if(!isAllZeroSSN(sSSN.substring(4,6))) return false;
	if(!isAllZeroSSN(sSSN.substring(7,11))) return false;

	if(sSSN=='000-000-0000') return false;

	for(i=1;i<iLen;i++)
	{
		cTemp = sSSN.charAt(i);
		if(cTemp == '-')
			continue;
		if ( cChr != cTemp) 
			return true;
	}
	return false;
}
function acceptAddress(e)
{
	try{//Try catch added to solve problem in XP.
	 	if ((e.keyCode>32 && e.keyCode<= 90) ||(e.keyCode>=94 && e.keyCode<= 96) || (e.keyCode>=126))   return;
		if (e.keyCode>96 && e.keyCode<123)
		{
			e.keyCode=e.keyCode - 32;
			return;
		}
		if(e.keyCode==32 && e.srcElement.value!='') return;
		e.keyCode = 0;
	}catch(e){}
    return;
}
function isValidAddress(sData)
{
    var sVal= trimString(sData);
    var re=/[^A-Za-z0-9!"#$%&'()*+,-./:;<>=?@^~`_ ]/;
    if(re.test(sVal)) return false;
    return true;
}
function isAlphaNumSpace(strVal)
{
	strVal=strVal.toString();
	if(strVal.substring(0,1)==" ")return false;
	var s = trimString(strVal);
	if(s.length<1) return false;
	var re=/[^A-Za-z0-9&.s ]/g;
	return !(re.test(s));
}
function acceptCity(e)
{
	fnClearError(e.srcElement.id);
	if ((e.keyCode>=65 && e.keyCode<=90) || (e.keyCode>=48 && e.keyCode<=57 )) return;
    if (e.keyCode>96 && e.keyCode<123)
	{
	    e.keyCode=e.keyCode - 32;
		return;
	}
	if(e.keyCode==32 && e.srcElement.value!='') { e.srcElement.value=e.srcElement.value.toString().trim(); return;}
	e.keyCode = 0;
	return;
}
function isValidCity(sData)
{
    var sVal= trimString(sData);
    var re=/[^A-Za-z0-9'. ]/;
    if(!isNaN(sData)) return false;
    return  !(re.test(sVal));
}

function formatNumber(e,sTarget)
{
	try{
	fnClearError(sTarget.id);
	var iLen;
	fnCheckOnPaste(sTarget.id) //added to solve copy paste problem
	if( (e.ctrlKey && (e.keyCode==67 || e.keyCode==88))  || e.altKey)
	{
	  return;
	}
	if( (e.ctrlKey && (e.keyCode==86)))
	{
	var sData=sTarget.value;
	if(!isDigit(sData))sTarget.value='';
	return;
	}
	if (e.keyCode>=48 && e.keyCode<=57 || e.keyCode==46 || e.keyCode==9)  return;
	else e.keyCode = 0;
	}catch(e){}
}

function formatPhoneDisplay(sPhone){
  try{
	var iLen =sPhone.length;
	if(iLen != 10) return(sPhone);
  	return(sPhone.substring(0,3) + "-" + sPhone.substring(3,6) + "-" + sPhone.substring(6,10));
  }
  catch(e){
        var sErrDesc = e.description + ' occured in formatPhoneDisplay()';
        SetStatus(sErrDesc);
        return sErrDesc;
  }
}

function formatColDate(e,Target)
{
	var str=get(Target).value  	
	if(e.keyCode>=48 && e.keyCode<=57 || e.keyCode>=96 && e.keyCode<=105) 
	{ 
		if(str.length==2) 
	  	{
		  	var t=str.substring(0,2)+"/"+str.substring(3,7)
		  	 if(parseInt(t)>12) get(Target).value=''
		}
		else
		{
	  		if(str.length>2 && str.length<4) get(Target).value=str.substring(0,2)+"/"+str.substring(2,3)+str.substring(3,7)
		}	
	}
  	else
  	{
	  	get(Target).value=str.substring(0,str.length-1)  	
  		e.keyCode = 0;  		
  	}
}

function isValidMonthYear(sData)
{
    if(sData.length<7) return false
    else
    return sData
}
function formatDate(e,sTgt)
{
	fnClearError(sTgt);
	if(e.keyCode==96 || e.keyCode==61 || e.keyCode==94 || e.keyCode==43) { e.keyCode= 0;return;} //Code added by Babu
	var sTarget=get(sTgt);
    var iLen;
    if( isExcludeKeyKeyPress(window.event.keyCode)) return(true);
	if ((e.keyCode>=48) && (e.keyCode<=57) || (e.keyCode>=96 && e.keyCode<=105 ))
    {
      iLen = sTarget.value.length;
      if( iLen ==2 || iLen == 5)  sTarget.value = sTarget.value + "/"; 
    }
    else
    {
	    if(isExcludeKeyKeyPress(window.event.keyCode))
			e.keyCode= 0;
    }
    
    //Code Added for Insert problem starts
  /*  if(iLen>3)
    {
	  if((sTarget.value.charAt(2)!='/') || (sTarget.value.charAt(5)!='/'))
      {
       	  	var sVal=sTarget.value;
			var Len=sVal.length;
			sTarget.value='';
			if(Len>10) Len=10;
			for(var i=0,k=0;i<Len;i++)
			{
				if(!isNaN(sVal.substring(i,i+1)))
				{
					sTarget.value+=sVal.substring(i,i+1);
					if(k==1 || k==4)
					{
						sTarget.value+="/";
						k++;
					}
					k++;
				}
			}
			sTarget.value=sTarget.value.substring(0,10);
       }
    }
    */
    //Code Added for Insert problem ends
    var re=/[^0-9^/-]/g;
    if(re.test(sTarget.value))
        sTarget.value='';
	
  
}
function formatColDate(e,sTarget)
{
    if( isExcludeKeyKeyPress(window.event.keyCode)) return(true);
    if (e.keyCode>=48 && e.keyCode<=57)
    {
      if(sTarget.value.length ==2)  sTarget.value = sTarget.value + "/"; 
    }
    else e.keyCode= 0;
}
function isValidColDate(sDate){
  var sMM,sYY;
  var iLen;
  var iDays = 0;
  var iMnInd,iDtInd;
  iLen = sDate.length;
  if( iLen == 0 ) 
    return false
  if( iLen < 7 ) 
    return false	
  iMnInd = sDate.indexOf("/");  
  if ( iMnInd== -1) 
    return false
  sMM = sDate.substring(0,iMnInd); // get data upto first /
  if( ! isNumeric(sMM)) 
    return false
  sYY = sDate.substring(iMnInd+1,iLen); // get data after first /
  if( ! isNumeric(sYY)) 
    return false
  if( sMM <1 || sMM > 12 ) 
    return false
  if( sYY < 1900 || sYY  > 9999) 
    return false
		
  return true;
}

function isValidCreditCard(sVal)
{
	if(sVal.length<16) return false;
	if(parseInt(sVal)==0)
		return false;
	for(var i=0;i<=12;i=i+4)
		if(!isAllZero(sVal.substring(i,i+4))) return false;
	return true
}
function isAllZeroSSN(sVal)
{
	if(parseFloat(sVal)==0)
		return false;
	return true
}

function isAllZero(sVal)
{
	if(parseFloat(sVal)==0)
		return false;
	return true
}


function fnClearError(strid,bForce)
{
//	if(event.type=='keypress' || event.type=='change' || bForce)
	//{
		
		var obj=get(strid).className;
		//alert(obj);
		if (obj=="ERROR")
		{	
			
			SetStatus('');
			fnResetError(get(strid))
		}
		//fnclrdiv();
		fnResetDivMessage();
	//}
}
function fnClearError2(strid,bForce)
{
	
//	if(event.type=='keypress' || event.type=='change' || bForce)
//	{
		
		var obj=get(strid).className;
		//alert(obj)
		if (obj=="ERROR1")
		{	
			
			SetStatus('');
			fnResetError2(get(strid))
		}
		fnclrdiv();
		fnResetDivMessage();
//	}
}
function fnClearError3(strid,bForce)
{
	
//	if(event.type=='keypress' || event.type=='change' || bForce)
//	{
		
		var obj=get(strid).className;
		//alert(obj)
		if (obj=="CmbERROR")
		{	
			SetStatus('');
			fnResetError(get(strid))
		}
		
		fnResetDivMessage();
//	}
}
function fnClearError4(strid,bForce)
{
	
	if(event.type=='keypress' || event.type=='change' || bForce)
	{
		
		var obj=get(strid).className;
		//alert(obj)
		if (obj=="ERROR4")
		{	
			
			SetStatus('');
			fnResetError4(get(strid))
		}
		
		fnResetDivMessage();
	}
}
function fnClearErrorImg(strid,bForce)
{
	
//	if(event.type=='keypress' || event.type=='change' || bForce)
//	{
		
		var obj=get(strid).className;
		//alert(obj)
		if (obj=="ERRORIMAGE")
		{	
			SetStatus('');
			fnResetErrorImg(get(strid))
		}
		fnclrdiv();
		fnResetDivMessage();
//	}
}
function fnClearforclick(strid,bForce)
{
	
	if(event.type=='click' )
	{
		//alert(event.type);
		var obj="ERROR";
		//alert(obj)
		
		if (obj=="ERROR")
		{	
			
			SetStatus('');
			fnResetError(get(strid))
		}
		
		fnResetDivMessage();
	}
}
function fnClearError9(strid,bForce)
{
	
	if(event.type=='keypress' || event.type=='change' || bForce)
	{
		
		var obj=get(strid).className;
		//alert(obj)
		if (obj=="ERROR9")
		{	
			
			SetStatus('');
			fnResetError9(get(strid))
		}
		
		fnResetDivMessage();
	}
}
function fnClearError8(strid,bForce)
{
	
	if(event.type=='keypress' || event.type=='change' || bForce)
	{
		
		var obj=get(strid).className;
		//alert(obj)
		if (obj=="ERROR8")
		{	
			
			SetStatus('');
			fnResetError8(get(strid))
		}
		
		fnResetDivMessage();
	}
}
function fnResetDivMessage()
{
	//function definition in individual screen
	
}


function timeCompare(str1,str2,op) 
{	
	var len1=str1.length;
	var len2=str2.length;
	if (len1==6)
		str1="0"+str1;
	if (len2==6)
		str2="0"+str2;
	str1hh=str1.substring(0,2);
	str1mm=str1.substring(3,5);
	str1am=str1.substring(5,7);
	str2hh=str2.substring(0,2);
	str2mm=str2.substring(3,5);
	str2am=str2.substring(5,7);
	if (str1hh==12)
		str1hh="00:"+str1mm;
	else
		str1hh=str1hh+":"+str1mm
	if (str2hh==12)
		str2hh="00:"+str2mm;
	else
		str2hh=str2hh+":"+str2mm
	if (op=='>')
	{
		if (str1am==str2am) 
			if  (str1hh>str2hh)	
				return true;
			else
				return false;
		else
		if (str1am>str2am)	return true;		
		else
			return false;
	}
	else
	if (op=='<')
	{
		if (str1am==str2am) 
			if  (str1hh<str2hh)	
				return true;
			else
				return false;
		else
		if (str1am<str2am)	return true;		
		else
			return false;
	}
}
function fnSpCharRestrict(event,obj)
{
	if((event.keyCode==38)||(event.keyCode==60)||(event.keyCode==62))
	{
		FormatText(event,obj);
	}
}
function fnOnSPCharPaste()
{
	var sValue= window.clipboardData.getData("Text")
	if(sValue == null) return;
	for(i=0;i<sValue.length;i++)
	{
		if(sValue.substring(i,i+1)=='&' || sValue.substring(i,i+1)=='<' ||sValue.substring(i,i+1)=='>')
		{
			window.event.returnValue= false;
			return;
		}				
	}
}
