//-----------------------------------------Amount Validation----------------
//----------------------------------------------------------------------------
//  FUNCTION : FnCheckAmount
//
//  SYNOPSIS :
//  This function is used to validates a amount.
//	 This function is called in keypress event
//	 This function allows numbers and dot to be entered.
//	 This function takes the length and object of textfield as input and
//	 allows to print number of that length.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------
function FnCheckAmount(objTxtField,length)
{ 
	var sTextValue=objTxtField.value;
	var iDot=sTextValue.indexOf(".");
	var iLen=sTextValue.length;
	if(iDot<0)
	{
		if((eval(iLen)<=eval(length-3))||(eval(iLen)>eval(length-2)))
		{		
			if(((event.keyCode<48)||(event.keyCode>57))&&(event.keyCode!=46))
			{
				event.keyCode=null;
				return;	
			}
		}
		else if(eval(iLen)==eval(length-2))
		{
			if(event.keyCode!=46)
			{
				event.keyCode=null;
				return;	
			}	
		}
	}
	else
	{
		if((event.keyCode<48)||(event.keyCode>57))
		{
			event.keyCode=null;
			return;	
		} 
	}
}

//-----------------------------------------------------------------------------
//  FUNCTION : FnValidateAmount
//
//  SYNOPSIS :
//  This function is used to validates a amount.
//	 This function is called in onblur event
//	 This function takes the length and object of textfield as input.
//   This function returns true if the Amount is valid else  
//		displaying a message.
//
//   AUTHOR :  Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnValidateAmount(objTxtField,length)
{ 
	var iTextLength=length;
	var sTextValue=objTxtField.value;
	var ArValue=sTextValue.split(".");
	if(eval(ArValue[0])==0 && eval(ArValue[1])==0)
	{		
		sTextValue=sTextValue/1+".00";
		objTxtField.value=sTextValue ; 
	}
	else if(sTextValue!="")
	{
		sTextValue=sTextValue/1;
		sTextValue=sTextValue+""
		var iDotIndex=sTextValue.indexOf('.');
		if(iDotIndex==-1)
		{ 
			if(eval(sTextValue.length)<eval(iTextLength-1))
			{
				var sTxtVal=objTxtField.value;
				var ArTxtNo=sTxtVal.split(".")
				objTxtField.value=(ArTxtNo[0]/1)+".00";
			}
			else
			{	
				for(var iLen=0;iLen<eval(iTextLength-2);iLen++)
				{
					if(iLen==0)
					{
						var iMaxValue=9;
					}
					else
					{
						iMaxValue=iMaxValue+"9";
					}
				}
				alert("Value cannot be greater than "+iMaxValue+".99")
				objTxtField.focus()
				objTxtField.select()		
			}	
		}
		else if(iDotIndex>-1)
		{
			if(eval(iDotIndex)<eval(iTextLength-1))
			{
				var sDotAfterChars=sTextValue.substring(iDotIndex)
				var sTxtVal=objTxtField.value;
				var ArTxtNo=sTxtVal.split(".")
				if((sDotAfterChars.length)<2)
				{
					objTxtField.value=(ArTxtNo[0]/1)+".00";
				}
				else if((sDotAfterChars.length)<=2)
				{
					objTxtField.value=(ArTxtNo[0]/1)+"."+ArTxtNo[1]+"0";
				}
				else if((sDotAfterChars.length)==2)
				{
					objTxtField.value=(ArTxtNo[0]/1)+"."+ArTxtNo[1];
				}
			}
			else
			{
				for(var iLen=0;iLen<eval(iTextLength-2);iLen++)
				{
					if(iLen==0)
					{
						var iMaxValue=9;
					}
					else
					{
						iMaxValue=iMaxValue+"9";
					}
				}
				alert("Value cannot be greater than "+iMaxValue+".99")
				objTxtField.focus()
				objTxtField.select()		
				
			}	
				
		}
		if(iDotIndex>-1)
		{
			var sDotAfterChars=(objTxtField.value).substring(iDotIndex)
			var sTxtVal=objTxtField.value;
			var ArTxtNo=sTxtVal.split(".")
			objTxtField.value=(ArTxtNo[0]/1)+"."+ArTxtNo[1].substring(0,2)
		}
	}
}

function FnQuantity(objTxtField,length)
{ 
	var iTextLength=length;
	var sTextValue=objTxtField.value;
	var ArValue=sTextValue.split(".");
	if(eval(ArValue[0])==0 && eval(ArValue[1])==0)
	{		
		sTextValue=sTextValue/1;
		objTxtField.value=sTextValue ; 
	}
	else if(sTextValue!="")
	{
		sTextValue=sTextValue/1;
		sTextValue=sTextValue+""
		var iDotIndex=sTextValue.indexOf('.');
		if(iDotIndex==-1)
		{ 
			if(eval(sTextValue.length)<eval(iTextLength-1))
			{
				var sTxtVal=objTxtField.value;
				var ArTxtNo=sTxtVal.split(".")
				objTxtField.value=(ArTxtNo[0]/1);
			}
			else
			{	
				for(var iLen=0;iLen<eval(iTextLength-2);iLen++)
				{
					if(iLen==0)
					{
						var iMaxValue=9;
					}
					else
					{
						iMaxValue=iMaxValue+"9";
					}
				}
				alert("Value cannot be greater than "+iMaxValue)
				objTxtField.focus()
				objTxtField.select()		
			}	
		}
		else if(iDotIndex>-1)
		{
			if(eval(iDotIndex)<eval(iTextLength-1))
			{
				var sDotAfterChars=sTextValue.substring(iDotIndex)
				var sTxtVal=objTxtField.value;
				var ArTxtNo=sTxtVal.split(".")
				if((sDotAfterChars.length)<2)
				{
					objTxtField.value=(ArTxtNo[0]/1);
				}
				else if((sDotAfterChars.length)<=2)
				{
					objTxtField.value=(ArTxtNo[0]/1)+"."+ArTxtNo[1]+"0";
				}
				else if((sDotAfterChars.length)==2)
				{
					objTxtField.value=(ArTxtNo[0]/1)+"."+ArTxtNo[1];
				}
			}
			else
			{
				for(var iLen=0;iLen<eval(iTextLength-2);iLen++)
				{
					if(iLen==0)
					{
						var iMaxValue=9;
					}
					else
					{
						iMaxValue=iMaxValue+"9";
					}
				}
				alert("Value cannot be greater than "+iMaxValue)
				objTxtField.focus()
				objTxtField.select()		
				
			}	
				
		}
		if(iDotIndex>-1)
		{
			var sDotAfterChars=(objTxtField.value).substring(iDotIndex)
			var sTxtVal=objTxtField.value;
			var ArTxtNo=sTxtVal.split(".")
			objTxtField.value=(ArTxtNo[0]/1)+"."+ArTxtNo[1].substring(0,2)
		}
	}
}


//-----------------------------------------E-Mail Validation------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckEmail
//
//  SYNOPSIS :
//  This function is used to validates a E-mail.
//	 This function allows characters,numbers,@,.and _ for E-mailvaildation.
//	 This function can be called in keyPress event.
//	 This function takes no inputs.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------
function FnCheckEmail()
{
	if (((event.keyCode<64)||(event.keyCode>90))
	&&((event.keyCode<97)||(event.keyCode>122)) 
	&&((event.keyCode<48)||(event.keyCode>57))
	&&(event.keyCode!=95)&&(event.keyCode!=46))
	{
		event.keyCode=0
	}
	else
	{

	}
}

//-----------------------------------------------------------------------------
//  FUNCTION : FnValidateEmail
//
//  SYNOPSIS :
//  This Function is used to validates a E-mail.
//   This Function check whether the given e-mail id is in E-mail format
//		(ex: xxxx@yyyy.zzz).
//	 This function can be called in On Blur event.
//	 This function takes the length and object of textfield as input.
//   This function returns true if the e-mail is valid else returns false 
//		after displaying a message.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------
function FnValidateEmail(objTxtField)
{
	var sAt="@"
	var sDot="."
	var iLAt=objTxtField.value.indexOf(sAt)
	var iLStr=objTxtField.value.length
	var iLDot=objTxtField.value.indexOf(sDot)
	if(iLStr>0)
	{
		if (objTxtField.value.indexOf(sAt)==-1)
		{
		   alert("Invalid E-mail ID")
		   objTxtField.select()
		   objTxtField.focus()
		   return false
		}
		if (objTxtField.value.indexOf(sAt)==-1 
		|| objTxtField.value.indexOf(sAt)==0 
		|| objTxtField.value.indexOf(sAt)==iLStr)
		{
		   alert("Invalid E-mail ID")
		   objTxtField.select()
		   objTxtField.focus()
		   return false
		}
		if (objTxtField.value.indexOf(sDot)==-1 
		|| objTxtField.value.indexOf(sDot)==0 
		|| objTxtField.value.indexOf(sDot)==iLStr)
		{
			alert("Invalid E-mail ID")
			objTxtField.select()
			objTxtField.focus()
			return false
		}
		if (objTxtField.value.indexOf(sAt,(iLAt+1))!=-1)
		{
			alert("Invalid E-mail ID")
			objTxtField.select()
			objTxtField.focus()
			return false
		 }
		 if (objTxtField.value.substring(iLAt-1,iLAt)==sDot 
		 || objTxtField.value.substring(iLAt+1,iLAt+2)==sDot)
		 {
			alert("Invalid E-mail ID")
			objTxtField.select()
			objTxtField.focus()
			return false
		 }
		 if (objTxtField.value.indexOf(sDot,(iLAt+2))==-1)
		 {
			alert("Invalid E-mail ID")
			objTxtField.select()
			objTxtField.focus()
			return false
		 }
		 if (objTxtField.value.indexOf(" ")!=-1)
		 {
			alert("Invalid E-mail ID")
			objTxtField.select()
			objTxtField.focus()
			return false
		 }
		 if ((objTxtField.value.lastIndexOf(sDot)>0) 
		 && (iLStr-1 == objTxtField.value.lastIndexOf(sDot)))
		 {
			alert("Invalid E-mail ID ")
			objTxtField.select()
			objTxtField.focus()
			return false
		 }
		if ((objTxtField.value.lastIndexOf(sDot)>0) 
		&& (iLStr-1 == objTxtField.value.lastIndexOf(sDot)))
		{
			alert("Invalid E-mail ID ")
			objTxtField.select()
			objTxtField.focus()
			return false
		 }
		for (var i=iLDot;i<(objTxtField.value.lastIndexOf(sDot)); i++)
		{
			if((objTxtField.value.substring(i,i+1)==sDot)
			&&(objTxtField.value.substring(i+1,i+2)==sDot))
			{
				alert("Invalid E-mail ID")
				objTxtField.select()
				objTxtField.focus()
				return false
			}
		}
	}
 	 return true					
}

//-----------------------------------------Number Check-----------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckNumber
//
//  SYNOPSIS :
//  This function is used for check for Numbers.
//	 This function allows numbers only.
//	 This function can be called in keyPress event.
//	 This function takes no inputs.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function  FnCheckNumber()
{
	if(((event.keyCode<48)||(event.keyCode>57)))
	{
		event.keyCode=0;
	}
}



//-----------------------------------------Character Check----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCharacterCheck
//
//  SYNOPSIS :
//  This function is used for check for character.
//	 This function allows characters,space and . only.
//	 This function can be called in keyPress event.
//	 This function takes object of textfield as input.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCharacterCheck(objtxtfield)
{
	if(((event.keyCode<65)||(event.keyCode>90))
	&&((event.keyCode<97)||(event.keyCode>122)))
	{
		if ((event.keyCode==32)||(event.keyCode==46))
		{
			var sString=objtxtfield.value;
			var sStringAt=sString.charAt(0);
			if (sStringAt=="")
			{	
				if(event.keyCode==32)
				{
					event.keyCode=0;
				}
				else if(event.keyCode==46)	
				{
					event.keyCode=0;				
				}
			}
		}		
		else
		event.keyCode=0;
	}
}

//-----------------------------------------Character Check----------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckCharacter
//
//  SYNOPSIS :
//  This function is used for check for character.
//	 This function allows characters,space and . only.
//	 This function can be called in keyPress event.
//	 This function takes object of textfield as input.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckCharacter(objTxtField)
{
	if(((event.keyCode<65)||(event.keyCode>90))
	&&((event.keyCode<97)||(event.keyCode>122)))
	{
		if ((event.keyCode==32)||(event.keyCode==46))
		{
			var sString=objTxtField.value;
			var sStringAt=sString.charAt(0);
			if (sStringAt=="")
			{	
				if(event.keyCode==32)
				{
					event.keyCode=0;
				}
				else if(event.keyCode==46)	
				{
					event.keyCode=0;				
				}
			}
		}		
		else
		event.keyCode=0;
	}
}

//-----------------------------Number Character Check--------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckNumChars
//
//  SYNOPSIS :
//  This function is used for check for character and numbers.
//	 This function allows characters and numbers.
//	 This function can be called in keyPress event.
//	 This function takes object of textfield as input.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckNumChars()
{
	if((event.keyCode>=48)&&(event.keyCode<=57)||
			(event.keyCode>=65)&&(event.keyCode<=90)
	||(event.keyCode>=97)&&(event.keyCode<=122)||
			(event.keyCode==13))
		event.keyCode = event.keyCode;
	else
		event.keyCode=0;
}

//------------------------------Address Check------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckAddress
//
//  SYNOPSIS :
//  This function is used for check for Address.
//	 This function allows characters,numbers,#,.,- ,space and , only.
//	 This function can be called in keyPress event.
//	 This function takes no inputs.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckAddress()
{
	if(((event.keyCode<65)||(event.keyCode>90))
	&&((event.keyCode<97)||(event.keyCode>122))
	&&((event.keyCode<48)||(event.keyCode>57)))
	{
		if((event.keyCode==32)||(event.keyCode==35)
		||(event.keyCode==44)||(event.keyCode==45)
		||(event.keyCode==46)||(event.keyCode==47))
		{
		}
		else 
		event.keyCode=0;
	}
	else 
	{
	}
}

//----------------------------Remark Check------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckRemark
//
//  SYNOPSIS :
//  This function is used for check for Remark.
//	 This function allows characters,numbers,%,&,*,(,),_,+,
//		=,-,`,},{,[,],\,;,<,>,?,/,. ,space and , only.
//	 This function can be called in keyPress event.
//	 This function takes no inputs.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckRemark()
{
	if(((event.keyCode==33)||(event.keyCode==64))  
	||((event.keyCode==35)||(event.keyCode==36)) 
	||((event.keyCode==126)||(event.keyCode==39)
	||(event.keyCode==94) ||(event.keyCode==58)
	||(event.keyCode==124)||(event.keyCode==34)))
	{
		event.keyCode=0;
	}
	else
	{
	}
}

//------------------------Date Check-----------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckDate
//
//  SYNOPSIS :
//  This function is used for check for Date.
//	 This function allows numbers and - only.
//	 This function can be called in keyPress event.
//	 This function takes no inputs.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckDate()
{
	if(((event.keyCode<48)||(event.keyCode>57)))
	{
		if(event.keyCode==45)
		{
		}
		else
		{
			event.keyCode=0;
		}
	}
}


//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckLeapYear
//
//  SYNOPSIS :
//  This function is used for check for leapyear.
//	 This function takes year as input.
//	This function returns true if the year  is leapYear  else returns false. 
//		
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckLeapYear(year)
{
     if(((year%4==0)&&(year%100!=0))||((year%100==0)&&(year%400==0)))
     {
        return true;
     }
     else
     {
       return false;
     }
}

//-----------------------------------------------------------------------------
//  FUNCTION : FnGetDays
//
//  SYNOPSIS :
//  This function used for check each month number of days. .
//	 This function takes year,month as input.
//	This function returns No on days in a month. 
//		
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnGetDays(month,year)
{
    var ArMon=new Array(12);
    ArMon[0]=31
    ArMon[1]=(FnCheckLeapYear(year))?29:28
    ArMon[2]=31
    ArMon[3]=30
    ArMon[4]=31
    ArMon[5]=30
    ArMon[6]=31
    ArMon[7]=31
    ArMon[8]=30
    ArMon[9]=31
    ArMon[10]=30
    ArMon[11]=31
    return ArMon[month]
}

//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckDateFormat
//
//  SYNOPSIS :
//  This function used for check whether the the date is valid or not.
//	This function takes object of textbox,sysDate as input.
//	This function is called onblur.
//	This function returns formatted date if true or error message if
//	is false.
//		
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckDateFormat(objTxtField,sysDate)
{   
	var isValid = true;
	if(objTxtField.value!="")
    {
		var sDateVal=objTxtField.value;
		for(i=0;i<sDateVal.length;i++)
		{
			sDateVal=sDateVal.replace('-','');
		}	
		if(sDateVal.length!=8)
        {
		    alert("Enter Valid Date Format!");
	     	objTxtField.focus();
			objTxtField.select();
			isValid=false;
        }
        else
        {    
			var sDate=sDateVal.substring(0,2);
            sDate=sDate+'-';
            var sMonth=sDateVal.substring(2,4);
            sMonth=sMonth+'-';
            sYear=sDateVal.substring(4,8);
            sDateVal=sDate+sMonth+sYear; 
           	sNoDays=FnGetDays((sDateVal.substring(3,5)-1),sYear);
            if(sDateVal.substring(0,2)>sNoDays)
			{
   		   		alert("DD Cannot Be Greater Than "+sNoDays);
   		   		objTxtField.focus();
   		   		objTxtField.select();
				isValid=false;
			}
			else if(parseInt(sDateVal.substring(0,2),10)==0)
			{
   		   		alert("DD Should Be Greater Than Zero");
   		   		objTxtField.focus();
   		   		objTxtField.select();
				isValid=false;
			}
            else if((sDateVal.substring(0,2)>31)||(sDateVal.substring(3,5)>12))
            {
			    alert("MM Should Be Between 1 And 12");
     		    objTxtField.focus();
			    objTxtField.select();
			    isValid=false;
            }
            else if((sDateVal.substring(0,2)>31)||
							(parseInt(sDateVal.substring(3,5),10)==0))
            {
			    alert("MM Should Be Greater Than Zero");
     		    objTxtField.focus();
			    objTxtField.select();
			    isValid=false;
            }
			else if((sDateVal.substring(0,2)<1)||(sDateVal.substring(3,5)<1)
					||(sYear<1900))
			{
		      alert("Year Should Be Greater Than 1900");
              objTxtField.focus();
              objTxtField.select();
	      isValid=false;
			}
            else
			{
         		if(sysDate.length<10)
				{
					var sDSplit=sysDate.split("-");
					if(sDSplit[0].length<2)
					{
						sDSplit[0]="0"+sDSplit[0]
					}
					if(sDSplit[1].length<2)
					{
						sDSplit[1]="0"+sDSplit[1]
					}
					sysDate=sDSplit[0]+"-"+sDSplit[1]+"-"+sDSplit[2]
				}
				        		
 		   		var iCurDate   = sysDate.substring(0,2);
				var iCurMonth = sysDate.substring(3,5);
				var iCurYear  = sysDate.substring(6,10);
          			var iDay    = sDateVal.substring(0,2)
           			var iMonth  = sDateVal.substring(3,5)
				var iYear   = sDateVal.substring(6,10)
				
				if(iYear>iCurYear)
				{
					alert("Year should not Be greater than Current Year");
      				objTxtField.focus();
					objTxtField.select();
					isValid=false;
				}
			   else if((iCurYear == iYear) && (iCurMonth < iMonth))
			   {
			   		alert("Month should not Be greater than Current  Month");
			   		objTxtField.focus();
			   		objTxtField.select();
					isValid=false;
			   }
			   else if((iCurYear == iYear) && (iCurMonth == iMonth) && 
								(iCurDate < iDay)) 
			   {
			   		alert("Date Should Not Be Greater Than Current Date");
			   		objTxtField.focus();
			   		objTxtField.select();
					isValid=false;
			   }
			   else
			   {
			   	   	objTxtField.value=sDateVal;
					isValid=true;
			   }
          }
      }
   }
   return isValid;
}



//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckDateFormat1
//
//  SYNOPSIS :
//  This function used for check whether the the date is valid or not.
//	This function takes object of textbox,sysDate as input.
//	This function is called onblur.
//	This function returns formatted date if true or error message if
//	is false.
//		
//   AUTHOR : P.R.Praveen Kumar 
//-----------------------------------------------------------------------------

function FnCheckDateFormat1(objTxtField,sysDate)
{   
	if(objTxtField.value!="")
    {
		var sDateVal=objTxtField.value;
		if(sDateVal.length<10)
				{
					var sDSplit1=sDateVal.split("-");
					if (sDSplit1.length==3)
					{
					if(sDSplit1[0].length<2)
					{
						sDSplit1[0]="0"+sDSplit1[0]
					}
					if(sDSplit1[1].length<2)
					{
						sDSplit1[1]="0"+sDSplit1[1]
					}
					sDateVal=sDSplit1[0]+"-"+sDSplit1[1]+"-"+sDSplit1[2]
					}
				}
		for(i=0;i<sDateVal.length;i++)
		{
			sDateVal=sDateVal.replace('-','');
		}	
		if(sDateVal.length!=8)
        {
		    alert("Enter Valid Date");
	     	objTxtField.focus();
			objTxtField.select();
        }
        else
        {    
			var sDate=sDateVal.substring(0,2);
            sDate=sDate+'-';
            var sMonth=sDateVal.substring(2,4);
            sMonth=sMonth+'-';
            sYear=sDateVal.substring(4,8);
            sDateVal=sDate+sMonth+sYear; 
           	sNoDays=FnGetDays((sDateVal.substring(3,5)-1),sYear);
            if(sDateVal.substring(0,2)>sNoDays)
			{
   		   		alert("DD Cannot Be Greater Than "+sNoDays);
   		   		objTxtField.focus();
   		   		objTxtField.select();
			}
			else if(parseInt(sDateVal.substring(0,2),10)==0)
			{
   		   		alert("DD Should Be Greater Than Zero");
   		   		objTxtField.focus();
   		   		objTxtField.select();
			}
            else if((sDateVal.substring(0,2)>31)||(sDateVal.substring(3,5)>12))
            {
			    alert("MM Should Be Between 1 And 12");
     		    objTxtField.focus();
			    objTxtField.select();
            }
            else if((sDateVal.substring(0,2)>31)||(parseInt(sDateVal.substring(3,5),10)==0))
            {
			    alert("MM Should Be Greater Than Zero");
     		    objTxtField.focus();
			    objTxtField.select();
            }
			else if((sDateVal.substring(0,2)<1)||(sDateVal.substring(3,5)<1)
					||(sYear<1900))
			{
		      alert("Year Should Be Greater Than 1900");
              objTxtField.focus();
              objTxtField.select();
			}
            else
			{
         		if(sysDate.length<10)
				{
					var sDSplit=sysDate.split("-");
					if(sDSplit[0].length<2)
					{
						sDSplit[0]="0"+sDSplit[0]
					}
					if(sDSplit[1].length<2)
					{
						sDSplit[1]="0"+sDSplit[1]
					}
					sysDate=sDSplit[0]+"-"+sDSplit[1]+"-"+sDSplit[2]
				}
				        		
 		   		var iCurDate   = sysDate.substring(0,2);
				var iCurMonth = sysDate.substring(3,5);
				var iCurYear  = sysDate.substring(6,10);
          			var iDay    = sDateVal.substring(0,2)
           			var iMonth  = sDateVal.substring(3,5)
				var iYear   = sDateVal.substring(6,10)
				
				if(iYear>iCurYear)
				{
					alert("Year should not Be greater than Current Year");
      				objTxtField.focus();
					objTxtField.select();
				objTxtField.focus();
				}
			   else if((iCurYear == iYear) && (iCurMonth < iMonth))
			   {
			   		alert("Month should not Be greater than Current  Month");
			   		objTxtField.focus();
			   		objTxtField.select();
			   }
			   else if((iCurYear == iYear) && (iCurMonth == iMonth) && (iCurDate < iDay)) 
			   {
			   		alert("Date Should Not Be Greater Than Current Date");
			   		objTxtField.focus();
			   		objTxtField.select();
			   }
			   else
			   {
			   	   	objTxtField.value=sDateVal;
			   }
          }
      }
   }
}

//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckFutureDate
//
//  SYNOPSIS :
//  This function used for check whether the the date is valid or not.
//	This function takes object of textbox,sysDate as input.
//	This function is called onblur.
//	This function returns formatted date if true or error message if
//	is false.
//		
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckFutureDate(objTxtField,sysDate)
{   
	if(objTxtField.value!="")
    {
		var sDateVal=objTxtField.value;
		for(i=0;i<sDateVal.length;i++)
		{
			sDateVal=sDateVal.replace('-','');
		}	
		if(sDateVal.length!=8)
        {
		    alert("Enter Valid Date");
	     	objTxtField.focus();
			objTxtField.select();
        }
        else
        {    
			var sDate=sDateVal.substring(0,2);
            sDate=sDate+'-';
            var sMonth=sDateVal.substring(2,4);
            sMonth=sMonth+'-';
            sYear=sDateVal.substring(4,8);
            sDateVal=sDate+sMonth+sYear; 
           	sNoDays=FnGetDays((sDateVal.substring(3,5)-1),sYear);
            if(sDateVal.substring(0,2)>sNoDays)
			{
   		   		alert("DD Cannot Be Greater Than "+sNoDays);
   		   		objTxtField.focus();
   		   		objTxtField.select();
			}
			else if(parseInt(sDateVal.substring(0,2),10)==0)
			{
   		   		alert("DD Should Be Greater Than Zero");
   		   		objTxtField.focus();
   		   		objTxtField.select();
			}
            else if((sDateVal.substring(0,2)>31)||(sDateVal.substring(3,5)>12))
            {
			    alert("MM Should Be Between 1 And 12");
     		    objTxtField.focus();
			    objTxtField.select();
            }
            else if((sDateVal.substring(0,2)>31)||(parseInt(sDateVal.substring(3,5),10)==0))
            {
			    alert("MM Should Be Greater Than Zero");
     		    objTxtField.focus();
			    objTxtField.select();
            }
			else if((sDateVal.substring(0,2)<1)||(sDateVal.substring(3,5)<1)
					||(sYear<1900))
			{
		      alert("Year Should Be Greater Than 1900");
              objTxtField.focus();
              objTxtField.select();
			}
            else
			{
         		if(sysDate.length<10)
				{
					var sDSplit=sysDate.split("-");
					if(sDSplit[0].length<2)
					{
						sDSplit[0]="0"+sDSplit[0]
					}
					if(sDSplit[1].length<2)
					{
						sDSplit[1]="0"+sDSplit[1]
					}
					sysDate=sDSplit[0]+"-"+sDSplit[1]+"-"+sDSplit[2]
				}
         			var iCurDate   = sysDate.substring(0,2);
				var iCurMonth = sysDate.substring(3,5);
				var iCurYear  = sysDate.substring(6,10);
          		var iDay    = sDateVal.substring(0,2)
           		var iMonth  = sDateVal.substring(3,5)
				var iYear   = sDateVal.substring(6,10)
				
				if(iYear<iCurYear)
				{
					alert("Date Should Be Greater Than Current Date");
      				objTxtField.focus();
					objTxtField.select();
				}
			   else if((iCurYear == iYear) && (iCurMonth > iMonth))
			   {
			   		alert("Date Should Be Greater Than Current Date");
			   		objTxtField.focus();
			   		objTxtField.select();
			   }
			   else if((iCurYear == iYear) && (iCurMonth == iMonth) && (iCurDate > iDay)) 
			   {
			   		alert("Date Should Be Greater Than Current Date");
			   		objTxtField.focus();
			   		objTxtField.select();
			   }
			   else
			   {
			   	   	objTxtField.value=sDateVal;
			   }
          }
      }
   }
}

//-----------------------------------------Date Difference----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION :  FnCheckDiffDate
//
//  SYNOPSIS :
//  This function is used to check Date difference.
//	This function does not validate whether given date is valid or not.
//	This function is called in onblur event.
//	This function takes the  2 textfield values and 1 message as
//		 inputs in DD-MM-YYYY format
//  This function takes 2nd input as object of textfield.
//	This function return true if the 2 nd txtfield input date  is greater than
//		 1st txtfield input date returns false and displaying a alert message.
//
//  AUTHOR :  K.Chandrasekhar 
//-----------------------------------------------------------------------------
function FnCheckDiffDate(txtField1,objTxtField2,message) 
{	
	var sFromDate,sToDate,sFromMonth,sToMonth,sFromYear,sToYear,ArMonth;
	ArMonth = new Array("January","February","March","April","May","June",
			"July","August","September","October","November","December");
	
	sFromDate=txtField1.substring(0,2);
	sFromMonth=txtField1.substring(3,5);
	sFromYear=txtField1.substring(6,10);
	
	var sTxtField2=objTxtField2.value;
	sToDate=sTxtField2.substring(0,2);
	sToMonth=sTxtField2.substring(3,5);
	sToYear=sTxtField2.substring(6,10);
	
	var sFrDate=ArMonth[sFromMonth-1] + " " + sFromDate + "," +sFromYear
	var sToDate=ArMonth[sToMonth-1] + " " + sToDate + "," +sToYear
		
	var dStartDate=new Date(sFrDate)
	var dEndDate = new Date(sToDate)	
	
	
	var iStartDate_MSec=dStartDate.getTime();    
    var iEndDate_MSec=dEndDate.getTime(); 
    
    if((iEndDate_MSec-iStartDate_MSec)/(1000 * 60 * 60 * 24)<0)
    {    
		alert(message);
		objTxtField2.focus();
   		objTxtField2.select();    
   	}	
}

//-----------------------------------------Month Add----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION :  FnAddMonths
//
//  SYNOPSIS :
//	This function is used to add Months to a date 
//	This function does not validate whether given date is valid or not
//		and olso does not doesn't validate whether 
//		months is +ve,-ve,character or number 	
//	This function is called in onblur event
//	This function takes the 2 inputs txtfield value,months
//	This function returns date 
//
//  AUTHOR :  K.Chandrasekhar 
//-----------------------------------------------------------------------------

function FnAddMonths(txtField1,months) 
{	
	var sFromDate,sFromMonth,sFromYear;
	var sRyy,sTmm,sTyy;
	var ArDaysOfMonths=['31','28','31','30','31','30','31','31','30','31','30','31'];
	var ArDaysOfLeapMonth =['31','29','31','30','31','30','31','31','30','31','30','31'];

	function LeapYear(year)
	{
		if ((year/4)   != Math.floor(year/4))   return false;
		if ((year/100) != Math.floor(year/100)) return true;
		if ((year/400) != Math.floor(year/400)) return false;
		return true;
	}	
	
	sFromDate=txtField1.substring(0,2);
	sFromMonth=txtField1.substring(3,5);
	sFromYear =txtField1.substring(6,10);
	
	sFromMonth =eval(sFromMonth) + eval(months);       
   
    if (sFromMonth>11)
    {    
		sRyy = Math.floor(sFromMonth/12);
		sTmm=sFromMonth -12*sRyy;     
		sTyy =eval(sFromYear)+eval(sRyy);
		if(sTmm==0)
		{
			sTmm =12;
			sTyy =sTyy -1;
		}             
	}
    else
    {
		sTyy =sFromYear;
		sTmm=sFromMonth;  
    }
    	
	if (LeapYear(sTyy ))
	{		
		var iDaysOfMonth = ArDaysOfLeapMonth[sTmm-1];		
	}
	else
	{
		var iDaysOfMonth = ArDaysOfMonths[sTmm-1];		
	}
	
	if (eval(sFromDate)>eval(iDaysOfMonth))
	{	
		sFromDate=iDaysOfMonth;
	}    
    
    if (eval(sTmm)<10)
	{
		sTmm='0'+ sTmm;
	}
    
    return sFromDate + '-' + sTmm  + '-' + sTyy;    
}

//-----------------------------------------Month Diff----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION :  FnCheckDiffMonth
//
//  SYNOPSIS :
//	This function is used to check whether the month difference between 
//		to dates is greater or less than depending on parameters 
//	This function does not validate whether given date. 
//	This function is called in onblur event
//	This function takes the 4 inputs txtfield value,months
//		first input is textfield values
//		second input is object of textfield
//		third input is no:of months
//		fourth input is a message
//	This function returns true if the difference between two dates
//		is valid else returns false after displaying a message
//
//  AUTHOR :  Rahul k Chandrupatla
//-----------------------------------------------------------------------------
function FnCheckDiffMonth(txtField1,objTxtField2,months,message)
{
	var txtField2=objTxtField2.value;
	var sReqDate=FnAddMonths(txtField1,months);
	
	var sFromDate,sToDate,sFromMonth,sToMonth,sFromYear,sToYear,ArMonth;
	ArMonth = new Array("January","February","March","April","May","June",
			"July","August","September","October","November","December");
	
	sFromDate=sReqDate.substring(0,2);
	sFromMonth=sReqDate.substring(3,5);
	sFromYear=sReqDate.substring(6,10);
	
	
	sToDate=txtField2.substring(0,2);
	sToMonth=txtField2.substring(3,5);
	sToYear=txtField2.substring(6,10);
	
	var sFrDate=ArMonth[sFromMonth-1] + " " + sFromDate + "," +sFromYear
	var sToDate=ArMonth[sToMonth-1] + " " + sToDate + "," +sToYear
		
	var dStartDate=new Date(sFrDate)
	var dEndDate = new Date(sToDate)	
	
	
	var iStartDate_MSec=dStartDate.getTime();    
    var iEndDate_MSec=dEndDate.getTime(); 
    
    
	if((iEndDate_MSec-iStartDate_MSec)/(1000 * 60 * 60 * 24)<0)
	{    
		alert(message);
		objTxtField2.focus();
   		objTxtField2.select(); 
   	}	   
}

//-----------------------------------------Amount in words----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION :  FnGetAmountInWords
//
//  SYNOPSIS :
//	This function is used to write amount in words. 
//	This function does not validate whether given Amount. 
//	This function is called in onblur event
//	This function takes the 1 inputs is object of textfield
//	This function returns Amount in words upto 99,99,99,999.99
//		else returns undefined.
//
//  AUTHOR : K.Chandrasekhar
//-----------------------------------------------------------------------------
function FnGetAmountInWords(objDigits) 
{
	var iNumber,sNewNum,sNewNum1,sWords,sNewNumber,sPaise;
	var sChequeAmount,sPaiseStr,sValue;
	var ArNumbers = ['','One','Two','Three','Four','Five','Six','Seven',
					'Eight','Nine','Ten','Eleven','Twelve','Thirteen',
					'Fourteen','Fifthteen','Sixteen','Seventeen',
					'Eighteen','Nineteen'];
	var ArNumbersTy= ['','Ten','Twenty','Thirty','Fourty','Fifty',
					 'Sixty','Seventy','Eighty','Ninety'];	
	
	iNumber=eval(objDigits.value);	
	sWords="";
	
	if (iNumber==0)
	{
		return "Zero Only";
	}
	
	if (iNumber>9999999999.99)
	{
		sWords="Undefined";
		return sWords;		
	}
	
	if(objDigits.value.indexOf(".")==-1)
	{
		sPaise = 0;
        sNewNum=iNumber;
        sNewNum1=iNumber;               
	}
	else
	{
		var iDot=objDigits.value.indexOf(".");		
		sNewNum = objDigits.value.substring(0,iDot);		
		sNewNum1 = objDigits.value.substring(0,iDot);		
		sPaise =objDigits.value.substring(iDot+1,iDot+3);		        				
	}
	
	//for crores
	if (eval(sNewNum)>=10000000)
	{
		sValue= eval(Math.floor(eval(sNewNum)/10000000))
		sNewNum=eval(sNewNum)%10000000;
		sNewNumber =sValue +"";
				
		if (eval(sNewNumber)==1)
		{			
			sWords = sWords +	ArNumbers[eval(sNewNumber)]+ " Crore";
		}
		
		else if ((eval(sNewNumber)>1) && (eval(sNewNumber)<20))			
		{									
			sWords = sWords +	ArNumbers[eval(sNewNumber)]+ " Crores";
		}		
		else if(eval(sNewNumber<100)) 			
		{
			sWords = sWords + ArNumbersTy[eval(sNewNumber.substring(0,1))]
			sWords = sWords +' '+	ArNumbers[eval(sNewNumber.substring(1))]+ " Crores";	
		}
		else if (eval(sNewNumber)>=100)  	 		
		{				
			
			sWords = sWords + ArNumbers[eval(sNewNumber.substring(0,1))] + " Hundred"
			
			if (eval(sNewNumber.substring(1,2))>0) 
			{	
				sWords = sWords +' ' + ArNumbersTy[eval(sNewNumber.substring(1,2))]
			}
			else
			{	
				sWords = sWords + ArNumbersTy[eval(sNewNumber.substring(1,2))]
			}
			
			if (eval(sNewNumber.substring(2,3))>0)
			{
				sWords = sWords +' ' + ArNumbers[eval(sNewNumber.substring(2,3))] + " Crores"
			}
			else
			{
				sWords = sWords + ArNumbers[eval(sNewNumber.substring(2,3))] + " Crores"
			}
		}
	
	}
		
	//for lakhs
	if (eval(sNewNum)>=100000)
	{
		sValue= eval(Math.floor(eval(sNewNum)/100000))
		sNewNum=eval(sNewNum)%100000;
		sNewNumber =sValue +"";
		if (eval(sNewNumber)==1)
		{			
			sWords = sWords +' '+	ArNumbers[eval(sNewNumber)]+ " Lakh";
		}
		else if ((eval(sNewNumber)>1) && (eval(sNewNumber)<20))			
		{									
			sWords = sWords +' '+	ArNumbers[eval(sNewNumber)]+ " Lakhs";
		}		
		else			
		{
			sWords = sWords +' ' + ArNumbersTy[eval(sNewNumber.substring(0,1))]
			sWords = sWords +' '+	ArNumbers[eval(sNewNumber.substring(1))]+ " Lakhs";
		}
	}
	
	//for thousands	
	if (eval(sNewNum)>=1000)		
	{
		sValue= eval(Math.floor(eval(sNewNum)/1000))
		sNewNum=eval(sNewNum)%1000;		
		sNewNumber =sValue +""		
		if (eval(sNewNumber)<19)
		{						
			sWords = sWords +' '+	ArNumbers[eval(sNewNumber)]+ " Thousand"
		}
		else
		{
			sWords = sWords +' ' + ArNumbersTy[eval(sNewNumber.substring(0,1))]
			sWords = sWords +' '+	ArNumbers[eval(sNewNumber.substring(1))]+ " Thousand"
		}		
	}
		
	//for hundres
	if( eval(sNewNum)>=100)
	{
		sValue= eval(Math.floor(eval(sNewNum)/100));
		sNewNum=eval(sNewNum)%100;
		
		if (eval(sNewNum)>0)
		{			
			sWords = sWords +' ' + ArNumbers[eval(sValue)] + " Hundred "
		}
		else
		{
			sWords = sWords +' ' + ArNumbers[eval(sValue)] + " Hundred"
		}				
	}		
			
	//for tens	
	if (eval(sNewNum) > 0)
	{         
		sNewNumber=sNewNum+""		
		if (eval(sNewNumber)<20) 
		{						
				sWords = sWords + ' ' + ArNumbers[eval(sNewNumber)];      
		}								
        else
		{				
				sWords = sWords + ' ' + ArNumbersTy[eval(sNewNumber.substring(0,1))];        
				sWords = sWords + ' ' + ArNumbers[eval(sNewNumber.substring(1))];        			
		}
	}
		
	if ((eval(sNewNum1)>1) && (eval(sPaise)>0))
	{
		sWords=sWords+' '+'Rupees and';
	}
	else if ((eval(sNewNum1)==1) && (eval(sPaise)>0))
	{
		sWords=sWords+' '+'Rupee and';
	}  
	else if ((eval(sNewNum1)>1) && (eval(sPaise)==0))
 	{
		sWords=sWords+' '+'Rupees'
	}
	else if ((eval(sNewNum1)==1) && (eval(sPaise)==0))
	{
		sWords=sWords+' '+'Rupee'
	}
	
	//for paisa values			
	
	sPaiseStr=sPaise+""
	
	if (eval(sPaise)>0)
	{
		if (eval(sPaise)==10) 
		{
			sWords=sWords + ' ' + " Ten paisa";    		
		}				
		else if ((eval(sPaise)<20) && (sPaiseStr.length==2))
		{			
			sWords = sWords + ' ' + ArNumbers[eval(sPaise)];        
			sWords = sWords + ' ' + "Paise"; 			
	    }
		else if ((eval(sPaise)<20) && (sPaiseStr.length==1))
		{			
			//sWords = sWords + ' ' + ArNumbers[eval(sPaise)];			
			sWords = sWords + ' ' + ArNumbersTy[eval(sPaise)];        
			sWords = sWords + ' ' + "Paise"; 			
	    }		    
		else if (eval(sPaise)>10) 
		{
		    sWords = sWords + ' ' + ArNumbersTy[eval(sPaise.substring(0,1))];        
		    sWords = sWords + ' ' + ArNumbers[eval(sPaise.substring(1))];        
			sWords = sWords + ' ' + "Paise"; 
	    }                        
	}
    sChequeAmount=sWords+" Only";         
	return sChequeAmount;
}

//-------------------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckDeptDate
//
//  SYNOPSIS :
//  This function used for check whether the the date is valid or not.
//	This function takes object of textbox,DeptDate as input.
//	This function is called onblur.
//	This function returns formatted date if true or error message if
//	is false.
//		
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckDeptDate(objTxtField,sysDate)
{   
	if(objTxtField.value!="")
    {
		var sDateVal=objTxtField.value;
		for(i=0;i<sDateVal.length;i++)
		{
			sDateVal=sDateVal.replace('-','');
		}	
		if(sDateVal.length!=8)
        {
		    alert("Enter Valid Date");
	     	objTxtField.focus();
			objTxtField.select();
        }
        else
        {    
			var sDate=sDateVal.substring(0,2);
            sDate=sDate+'-';
            var sMonth=sDateVal.substring(2,4);
            sMonth=sMonth+'-';
            sYear=sDateVal.substring(4,8);
            sDateVal=sDate+sMonth+sYear; 
           	sNoDays=FnGetDays((sDateVal.substring(3,5)-1),sYear);
            if(sDateVal.substring(0,2)>sNoDays)
			{
   		   		alert("DD Cannot Be Greater Than "+sNoDays);
   		   		objTxtField.focus();
   		   		objTxtField.select();
			}
			else if(parseInt(sDateVal.substring(0,2),10)==0)
			{
   		   		alert("DD Should Be Greater Than Zero");
   		   		objTxtField.focus();
   		   		objTxtField.select();
			}
            else if((sDateVal.substring(0,2)>31)||(sDateVal.substring(3,5)>12))
            {
			    alert("MM Should Be Between 1 And 12");
     		    objTxtField.focus();
			    objTxtField.select();
            }
            else if((sDateVal.substring(0,2)>31)||(parseInt(sDateVal.substring(3,5),10)==0))
            {
			    alert("MM Should Be Greater Than Zero");
     		    objTxtField.focus();
			    objTxtField.select();
            }
			else if((sDateVal.substring(0,2)<1)||(sDateVal.substring(3,5)<1)
					||(sYear<1900))
			{
		      alert("Year Should Be Greater Than 1900");
              objTxtField.focus();
              objTxtField.select();
			}
            else
			{
         		if(sysDate.length<10)
				{
					var sDSplit=sysDate.split("-");
					if(sDSplit[0].length<2)
					{
						sDSplit[0]="0"+sDSplit[0]
					}
					if(sDSplit[1].length<2)
					{
						sDSplit[1]="0"+sDSplit[1]
					}
					sysDate=sDSplit[0]+"-"+sDSplit[1]+"-"+sDSplit[2]
				}
         			var iCurDate   = sysDate.substring(0,2);
				var iCurMonth = sysDate.substring(3,5);
				var iCurYear  = sysDate.substring(6,10);
          		var iDay    = sDateVal.substring(0,2)
           		var iMonth  = sDateVal.substring(3,5)
				var iYear   = sDateVal.substring(6,10)
				
				if(iYear<iCurYear)
				{
					alert("Date Should Be Greater Than Department Date");
      				objTxtField.focus();
					objTxtField.select();
				}
			   else if((iCurYear == iYear) && (iCurMonth > iMonth))
			   {
			   		alert("Date Should Be Greater Than Department Date");
			   		objTxtField.focus();
			   		objTxtField.select();
			   }
			   else if((iCurYear == iYear) && (iCurMonth == iMonth) && (iCurDate > iDay)) 
			   {
			   		alert("Date Should Be Greater Than Department Date");
			   		objTxtField.focus();
			   		objTxtField.select();
			   }
			   else
			   {
			   	   	objTxtField.value=sDateVal;
			   }
          }
      }
   }
}

//-------------------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : getAcYears
//
//  SYNOPSIS :
//  This function used is display to display academic years
//	This function takes object of combo box as input.
//	This function is called onload.
//	This function returns all the academic years in the format 2004-05
//		
//   AUTHOR : P.R.Praveen Kumar
//-----------------------------------------------------------------------------


function getAcYears(objAcYear)
{
var dt,j=1;
var d,m,y,acyear;
dt=new Date();
d=dt.getDate();
m=dt.getMonth();
y=dt.getYear();
if (m>2)
{
	yy=new Number(y+1).toString().substring(2,4);
	acyear=y+"-"+yy;	
}
else
{
	yy=new Number(y).toString().substring(2,4);
	y=y-1;
	acyear=(y)+"-"+yy;	
}
objAcYear.options[eval(1)] = new Option(acyear,acyear);
for(i=y;i>=2001;i--)
{
	yy=new Number(i).toString().substring(2,4);
	acyear=(i-1)+"-"+yy;	
	j=j+1;
	objAcYear.options[eval(j)] = new Option(acyear,acyear);
}
}

//-------------------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : getAcYears
//
//  SYNOPSIS :
//  This function used is display to display academic years
//	This function takes object of combo box as input.
//	This function is called onload.
//	This function returns all the academic years in the format 2004-05
//		
//   AUTHOR : P.R.Praveen Kumar
//-----------------------------------------------------------------------------


function FnGetAcYears(objAcYear)
{
var dt,j=1;
var d,m,y,acyear;
dt=new Date();
d=dt.getDate();
m=dt.getMonth();
y=dt.getYear();
if (m>2)
{
	yy=new Number(y+1).toString().substring(2,4);
	acyear=y+"-"+yy;	
}
else
{
	yy=new Number(y).toString().substring(2,4);
	y=y-1;
	acyear=(y)+"-"+yy;	
}
objAcYear.options[eval(1)] = new Option(acyear,acyear);
for(i=y;i>=2001;i--)
{
	yy=new Number(i).toString().substring(2,4);
	acyear=(i-1)+"-"+yy;	
	j=j+1;
	objAcYear.options[eval(j)] = new Option(acyear,acyear);
}
}
//-------------------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : fnLength
//
//  SYNOPSIS :
//  This function used is check the length in Text Area
//	This function is called onClick
//   AUTHOR :wilson
//-----------------------------------------------------------------------------



function fnLength(obj)
{
  if(obj.value.length>5)
  {
    event.keyCode=0;
   alert("Reached the Maximum 95 Characters of Limit");
    obj.focus();
  }
}

function  FnNumberCheck()
{
	if(((event.keyCode<48)||(event.keyCode>57)))
	{
		event.keyCode=0;
	}
}
function FnRemarkCheck()
{alert("FnRemarkCheck");
	if(((event.keyCode==33)||(event.keyCode==64))  
	||((event.keyCode==35)||(event.keyCode==36)) 
	||((event.keyCode==126)||(event.keyCode==39)
	||(event.keyCode==94) ||(event.keyCode==58)
	||(event.keyCode==124)||(event.keyCode==34)))
	{
		event.keyCode=0;
	}
	else
	{
	}
}

//-----------------------------------------CharNum Validation----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnAlphaNumcheck
//
//  SYNOPSIS :
//  This function is used for check for character&number.
//	 This function allows characters,numbers
//	 This function can be called in keyPress event.
//	 
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------
function FnAlphaNumcheck()
{

if (((event.keyCode<65)||(event.keyCode>90))&&((event.keyCode<97)||(event.keyCode>122))&&((event.keyCode<48)||(event.keyCode>57))&&(event.keyCode!=47))
{
	event.keyCode=0
}
else
{
}
}


//-----------------------------------------Character Check----------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnCheckCharacter1
//
//  SYNOPSIS :
//  This function is used for check for character.
//	 This function allows characters,/ and ' only.
//	 This function can be called in keyPress event.
//	 This function takes object of textfield as input.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------

function FnCheckCharacter1(objTxtField)
{
	if(((event.keyCode<65)||(event.keyCode>90))
	&&((event.keyCode<97)||(event.keyCode>122)))
	{
		if ((event.keyCode==39)||(event.keyCode==47))
		{
			var sString=objTxtField.value;
			var sStringAt=sString.charAt(0);
			if (sStringAt=="")
			{	
				if(event.keyCode==32)
				{
					event.keyCode=0;
				}
				else if(event.keyCode==47)	
				{
					event.keyCode=0;				
				}
				else if(event.keyCode==39)	
				{
					event.keyCode=0;				
				}
			}
		}		
		else
		event.keyCode=0;
	}
}

//-----------------------------------------E-Mail Validation----------------------------------------------------
//-----------------------------------------------------------------------------
//  FUNCTION : FnECheck
//
//  SYNOPSIS :
//  This function is used to validates a E-mail.
//	 This function allows characters,numbers,@,.and _ for E-mailvaildation.
//	 This function can be called in keyPress event.
//	 This function takes no inputs.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------
function FnECheck()
{
	if (((event.keyCode<64)||(event.keyCode>90))
	&&((event.keyCode<97)||(event.keyCode>122)) 
	&&((event.keyCode<48)||(event.keyCode>57))
	&&(event.keyCode!=95)&&(event.keyCode!=46))
	{
		event.keyCode=0
	}
	else
	{

	}
}

//-----------------------------------------------------------------------------
//  FUNCTION : FnEValidate
//
//  SYNOPSIS :
//  This Function is used to validates a E-mail.
//   This Function check whether the given e-mail id is in E-mail format
//		(ex: xxxx@yyyy.zzz).
//	 This function can be called in On Blur event.
//	 This function takes the length and object of textfield as input.
//   This function returns true if the e-mail is valid else returns false 
//		after displaying a message.
//
//   AUTHOR : Rahul K Chandrupatla 
//-----------------------------------------------------------------------------
function FnEValidate(objtxtfield)
{
	var sAt="@"
	var sDot="."
	var iLAt=objtxtfield.value.indexOf(sAt)
	var iLStr=objtxtfield.value.length
	var iLDot=objtxtfield.value.indexOf(sDot)
	if(iLStr>0)
	{
		if (objtxtfield.value.indexOf(sAt)==-1)
		{
		   alert("Invalid E-mail ID")
		   objtxtfield.select()
		   objtxtfield.focus()
		   return false
		}
		if (objtxtfield.value.indexOf(sAt)==-1 
		|| objtxtfield.value.indexOf(sAt)==0 
		|| objtxtfield.value.indexOf(sAt)==iLStr)
		{
		   alert("Invalid E-mail ID")
		   objtxtfield.select()
		   objtxtfield.focus()
		   return false
		}
		if (objtxtfield.value.indexOf(sDot)==-1 
		|| objtxtfield.value.indexOf(sDot)==0 
		|| objtxtfield.value.indexOf(sDot)==iLStr)
		{
			alert("Invalid E-mail ID")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		}
		if (objtxtfield.value.indexOf(sAt,(iLAt+1))!=-1)
		{
			alert("Invalid E-mail ID")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		 }
		 if (objtxtfield.value.substring(iLAt-1,iLAt)==sDot 
		 || objtxtfield.value.substring(iLAt+1,iLAt+2)==sDot)
		 {
			alert("Invalid E-mail ID")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		 }
		 if (objtxtfield.value.indexOf(sDot,(iLAt+2))==-1)
		 {
			alert("Invalid E-mail ID")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		 }
		 if (objtxtfield.value.indexOf(" ")!=-1)
		 {
			alert("Invalid E-mail ID")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		 }
		 if ((objtxtfield.value.lastIndexOf(sDot)>0) 
		 && (iLStr-1 == objtxtfield.value.lastIndexOf(sDot)))
		 {
			alert("Invalid E-mail ID ")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		 }
		if ((objtxtfield.value.lastIndexOf(sDot)>0) 
		&& (iLStr-1 == objtxtfield.value.lastIndexOf(sDot)))
		{
			alert("Invalid E-mail ID ")
			objtxtfield.select()
			objtxtfield.focus()
			return false
		 }
		for (var i=iLDot;i<(objtxtfield.value.lastIndexOf(sDot)); i++)
		{
			if((objtxtfield.value.substring(i,i+1)==sDot)
			&&(objtxtfield.value.substring(i+1,i+2)==sDot))
			{
				alert("Invalid E-mail ID")
				objtxtfield.select()
				objtxtfield.focus()
				return false
			}
		}
	}
 	 return true					
}
