//javascript which takes care of client side form validations

var new_fieldname = "";
function check(form,x)
 {
	var flg=true;
	var message = "";
	x = x - 1;
	for (var i = 0; i <= x; i++)
	{
		//if error then break and give alert msg
		if(!flg)
		  break;
		var messenger = form.elements[i].name;
		fieldname = messenger.substring(messenger.lastIndexOf("_")+1);
		var prefixesStr=messenger.substring(0,messenger.lastIndexOf("_")+1);
		var alertfieldname= form.elements[i].value;
		if(form.elements[i].type=="hidden")
		{
			 //get all the prefixes for this field into an array
			var prefixArray=new Array();
			var pt1=0;
			var pt2=0;
			var a=0;
			while(pt1<prefixesStr.length)
			{
				pt2=prefixesStr.indexOf("_",pt1);
				prefixArray[a]=prefixesStr.substring(pt1,pt2+1);
				a++;
				pt1=pt2+1;
			}
			//for all the prefixes do the validations
			for(jj=0;jj<prefixArray.length;jj++)				
			{
				var prefix=prefixArray[jj];
				//if atleast one field from the form should be entered
				if(prefix.indexOf("atleastone_")>=0)
				{
						var flag=false;
					    //check if any of the fields are entered
						for(var k = 0; k <= x; k++)
					    {
						    if(form.elements[k].value!="" && form.elements[k].type!="hidden")
					    	{
					    		flag=true;
						    }		  
				    	}
						 if(!flag)
						 {
							alert("Atleast one field from the form should be entered");
							flg=false;
							break;
						 }
				}		
				else	
				//if its a mandatory field
				if (prefix=="r_")
			    {
						 var flag = r_check(form,x,fieldname,i,alertfieldname)
						 if(!flag)
						 {
							form.elements[i-1].focus();
							flg=false;
							break;
						 }
				}
				else
				//if number 
			    if(prefix=="i_")
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {
						   flag = i_check(form,x,fieldname,i)
						   if(!flag)
						   {
							   alert("Please enter only numbers for "+alertfieldname);
							   form.elements[i-1].focus();
							   form.elements[i-1].value="";
							   flg = false;
							   break;
						   }
					    }
				}
				else 
				//if date
				if(prefix=="d_")
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {
							  flag = d_check(form,x,fieldname,i)
							  if(!flag)
							  {
								   alert("Please enter a valid date for "+alertfieldname);
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;
							  }
						}
				}
				else 
				//if email
				if(prefix=="e_")
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {				  
							  flag = e_check(form,x,fieldname,i)
							  if(!flag)
							  {
								   alert("Please enter correct email format ");
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;
							  }
						}
				}
				else 
				//compare strings(should be same)
				if(prefix=="cs_")
				{
					    //get the char after 'cs_' to get the string set
					    var pt1=messenger.indexOf("cs_");
					    pt1=pt1+3;
					    var pt2=messenger.indexOf("_",pt1);
					    var strset=messenger.substring(pt1,pt2)
					    //now get the otherstring hidden field name and value
					    var otherfieldname;
					    var otherfieldvalue;
					    for (var ii = 0; ii < x; ii++)
					    {
				  			if((form.elements[ii].name).indexOf("cs_"+strset+"_")>=0)
							{
							    otherfieldname=form.elements[ii].name;
							    otherfieldvalue=form.elements[ii].value;
							}
					    }
					    //from otherstring hidden field name get the otherstring field name to pass it to the func
					    otherfieldname = otherfieldname.substring(otherfieldname.lastIndexOf("_")+1);
					    flag = cs_check(form,x,fieldname,otherfieldname,alertfieldname,otherfieldvalue)
					    if(!flag)
					    {
						   flg = false;
						   break;					   
					    }
				}   
				else  
				//loginID validation
				if(prefix=="l_")
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {
							  flag = l_check(form,x,fieldname,i,alertfieldname)
							  if(!flag)
							  {
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;
							  }
					    }
				}
				else 
				//dependent fields validation
				if(prefix=="dep_")
				{
					    //get the char after 'dep_' to get the dependent fields set
					    var pt1=messenger.indexOf("dep_");
					    pt1=pt1+4;
					    var pt2=messenger.indexOf("_",pt1);
					    var strset=messenger.substring(pt1,pt2)
					    //now get the other dependent hidden field name and value
					    var otherfieldname;
					    var otherfieldvalue;
					    for (var ii = 0; ii < x; ii++)
					    {
				  			if((form.elements[ii].name).indexOf("dep_"+strset+"_")>=0)
							{
								otherfieldname=form.elements[ii].name;
								otherfieldvalue=form.elements[ii].value;
							}
					    }
					    //from the other dependent hidden field name get the other dependent field name to pass it to the func
					    otherfieldname = otherfieldname.substring(otherfieldname.lastIndexOf("_")+1);
					    flag = dep_check(form,x,fieldname,otherfieldname,alertfieldname,otherfieldvalue)
					    if(!flag)
					    {
						   flg = false;
						   break;					   
					    }
				}  
				else 
				//time
				if(prefix=="t_")
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {							  
							  flag = t_check(form,x,fieldname,i)
							  if(!flag)
							  {
								   alert("Please enter "+alertfieldname+" in 10:30 format only.");
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;
							  }
						}
				}
				else 
				//compare two dates
				if(prefix.indexOf("cde_")>=0)
				{
					    //get the value entered in the end date field 
					    endFieldValue=form.elements[i-1].value;
					    //get the char after 'cde_' to get the dates set
					    var pt1=messenger.indexOf("cde_");
					    pt1=pt1+4;
					    var pt2=messenger.indexOf("_",pt1);
					    var strset=messenger.substring(pt1,pt2)
					    //now get the startdate hidden field name and value
					    var otherfieldname;
					    var otherfieldvalue;
					    for (var ii = 0; ii < x; ii++)
					    {
							if((form.elements[ii].name).indexOf("cds_"+strset+"_")>=0)
							{
							  otherfieldname=form.elements[ii].name;
							  otherfieldvalue=form.elements[ii].value;
							}
					    }
					    //from the startdate hidden field name get the startdate field name to pass it to the func
					    otherfieldname = otherfieldname.substring(otherfieldname.lastIndexOf("_")+1);
					    //with the startdate field name get the value entered in it
					    startFieldValue="";
					    for (var ii = 0; ii < x; ii++)
					    {
							if(form.elements[ii].name==otherfieldname)
							{
							  startFieldValue=form.elements[ii].value;
							}
					    }
					    //validation should be done when atleast one of the start or end dates is entered
					    if(endFieldValue!="" || startFieldValue!="")
					    {
						  flag = cd_check(form,x,fieldname,otherfieldname)
						  if(!flag)
						  {
							   alert(alertfieldname+" should be greater than "+otherfieldvalue);
							   form.elements[i-1].focus();
							   form.elements[i-1].value="";
							   flg = false;
							   break;					   
						  }
					    }
				}		
				else 
				//date should be less than today's date
				if(prefix.indexOf("ltt_")>=0)
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {							  
							  flag = ltt_check(form,x,fieldname)
							  if(!flag)
							  {
								   alert(alertfieldname+" should be less than Today's date.");
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;					   
							  }
						}
				}					
				else 
				//date should be greater than today's date
				if(prefix.indexOf("gtt_")>=0)
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {							  
							  flag = gtt_check(form,x,fieldname)
							  if(!flag)
							  {
								   alert(alertfieldname+" should be greater than Today's date.");
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;					   
							  }
						}
				}
				else 
				//date should be greater than or equal to today's date
				if(prefix.indexOf("gtet_")>=0)
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {							  
							  flag = gtet_check(form,x,fieldname)
							  if(!flag)
							  {
								   alert(alertfieldname+" should be greater than or equal to Today's date.");
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;					   
							  }
						}
				}		
				else 
				//file uploads
				if(prefix.indexOf("file_")>=0)
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {							  
							  flag = gtet_check(form,x,fieldname)
							  var fileVal="";
							  for (var ii = 0; ii < x; ii++)
    					      {
								  if(form.elements[ii].name==fieldname)
								  {
								  	  fileVal=form.elements[ii].value;
								  }
					          }			
							  fileVal=fileVal.substring(fileVal.lastIndexOf("."));				  
							  // if(fileVal.indexOf(".html")<0 && fileVal.indexOf(".htm")<0 && fileVal.indexOf(".txt")<0 && fileVal.indexOf(".pdf")<0 && fileVal.indexOf(".rtf")<0 && fileVal.indexOf(".doc")<0)
							  if(fileVal.indexOf(".bat")>=0 || fileVal.indexOf(".cgi")>=0 ||  fileVal.indexOf(".pl")>=0 || fileVal.indexOf(".exe")>=0 || fileVal.indexOf(".com")>=0 || fileVal.indexOf(".cfm")>=0 )
							  {
								   //alert("Valid file extensions for "+alertfieldname+" are .html or .htm or .pdf or .rtf or .doc or .txt");
								   alert("Valid file extensions for "+alertfieldname+" are not have to be any of the file  extensions .bat or .cgi  or .pl  or .exe  or .com  or .cfm");
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;					   
							  }
						}
				}		
				else  
				//special charaters validation
				if(prefix=="spl_")
				{
					    //do the validation only when the value is entered
					    if(form.elements[i-1].value!="")
					    {
							  flag = spl_check(form,x,fieldname,i,alertfieldname)
							  if(!flag)
							  {
								   form.elements[i-1].focus();
								   form.elements[i-1].value="";
								   flg = false;
								   break;
							  }
					    }
				}			
			}//end inner for 
		} // end else
    }// end for
    if(flg)
    {
        form.submit();
    }
}	

//required validation
function r_check(form,x,fieldname,i,alertfieldname)
{
	var res=false;
	new_fieldname = fieldname
	for (var y = 0; y <= x; y++)
	{
		if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true)
		{
			res=true;
		}
		else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false)
		{
			res=false;
			alert("Please check  "+alertfieldname+". This field is mandatory."); 
		}
		else if (form.elements[y].type == "select-multiple" || form.elements[y].type == "select-one")
		{
			var l = form.elements[y].selectedIndex
			if(l!=-1)
			{
				if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "" )
				{
					res=true;
				}
				else if (form.elements[y].name == fieldname  && form.elements[y].options[l].value == ""  )
				{	
					res=false;
					alert("Please select  "+alertfieldname+". This field is mandatory.");
				}
			}
		}
		else if(form.elements[y].name==fieldname && form.elements[y].type!="radio" && form.elements[y].type!="checkbox" && form.elements[y].type!="select-one" && (form.elements[y].value=="" || isSpace(form.elements[y].value)==true) )
		{
			res=false;
			alert("Please enter "+alertfieldname+". This field is mandatory.");
		}
		else if(form.elements[y].name==fieldname && form.elements[y].type!="radio" && form.elements[y].type!="checkbox" && form.elements[y].type!="select-one" && (form.elements[y].value!="" || isSpace(form.elements[y].value)==false) )
		{
			res=true;
		}
	}
	return res;
}
//numbers validation,real numbers			
function i_check(form,x,fieldname,i)
{
	var flag=true;	
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
		break
	}						
	var decimal = ""	
	inputStr = form.elements[i-1].value.toString()
	for (var c = 0; c < inputStr.length; c++)
	{
		var oneChar = inputStr.charAt(c)
		if (c == 0 && oneChar == "-" || oneChar == "."  && decimal == "")
		{
			if (oneChar == ".")
			{
				decimal = "yes"
			}
			continue
		}
		if (oneChar < "0" || oneChar > "9")
		{
			flag=false;
		}
	}
	return flag;
}	

//Email validation added 6/20/98
function e_check(form,x,fieldname,i)
{
	var flag=true;
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
		break
	}						
	ctrl = form.elements[y];
	period = ".";
    if (ctrl.value == "" || ctrl.value.indexOf ('@', 0) < 2)
    {    error = 1;
	}
	else
    {
	    test = ctrl.value.indexOf('.', ctrl.value.indexOf ('@', 0))
	    //alert(test);
	    //alert(ctrl.value.indexOf ('@', 0));
		if (test != -1)
		{
			error = 0;
		}
		else
		{
	    	error=1;
		}
     }
     if (error == 1)
	 {
     	flag=false;
	 }
     else
     {
		new_length = ctrl.value.length - test
		//alert("total="+ctrl.value.length);
		//alert("test="+test);
		//alert("new_length="+new_length);
        if (new_length == 5 || new_length == 4 || new_length == 3 || (new_length >= 5 && ctrl.value.indexOf ('.', (test+1)) != -1))
		{
			flag=true;
		}
		else
			flag=false;
	 }
	 return flag;
}	


//compare strings 
function cs_check(form,x,fieldname,otherfieldname,fieldCaption,otherFieldCaption)
{
	  var flag=false;
	  var str1;
	  var str2;
	  var elem;
	  for (var y = 0; y <= x; y++)
	  {
		    if(form.elements[y].name == fieldname)
			  str1=form.elements[y].value;
		    if(form.elements[y].name == otherfieldname)
			{
			   str2=form.elements[y].value;
			   elem=y;
			}
	  }  
	  if(str1 == str2)
	     flag=true;
	  else
	  if(str1!=str2)
	  {
		   alert(fieldCaption+" and "+otherFieldCaption+" should be same.");
		   form.elements[elem].focus();
		   form.elements[elem].value="";
		   flag=false;
	  }	 
	  return flag;
}


//LoginID Validation(Should not contain any special chars and should be of minimum 5 chars)
function l_check(form,x,fieldname,i,alertfieldname)
{
	var flag=true;	
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
		break
	}	
	inputStr = form.elements[y].value.toString();					
    var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789';
	if(inputStr.length < 5)
	{
		alert(alertfieldname+" should be minimum of 5 characters");
		flag=false;
	}
	else
	{
		for(i=0;i<inputStr.length;i++)
	    {
		      var flag=false;
			  for(j=0;j<chars.length;j++)
			  {
			     if(inputStr.charAt(i)==chars.charAt(j))
				 {
				    flag=true;
					break;
				 }
			  }
			  if(!flag)
			  {
			    alert("Do not enter any special characters for "+alertfieldname);
				break;
			  }
	    }
	}
    return flag;
}	


//Dependent fields validation(if one is entered then, the other one should also be entered)
function dep_check(form,x,fieldname,otherfieldname,fieldCaption,otherFieldCaption)
{
  var flag=true;
  var str1;
  var str2;
  var elem1;
  var elem2;
  for (var y = 0; y <= x; y++)
  {
	    if(form.elements[y].name == fieldname)
		{
			  elem1=y;
			  str1=form.elements[y].value;
	    }
		if(form.elements[y].name == otherfieldname)
		{
			  elem2=y;
			  str2=form.elements[y].value;
		}
  }  
  if(str1!="" && str2=="")
  {
	    alert(otherFieldCaption+" should be entered when "+fieldCaption+" is entered.");
		form.elements[elem2].focus();
		flag=false;
  }
  else
  if(str1=="" && str2!="")
  {
	    alert(fieldCaption+" should be entered when "+otherFieldCaption+" is entered.");
		form.elements[elem1].focus();
		flag=false;
  }
  return flag;
}


//Time validation(should be in 10:30 format)
function t_check(form,x,fieldname,i)
{
	var flag=true;	
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
		break
	}	
	inputStr = form.elements[y].value.toString();					
	var mid=inputStr.charAt(2);
	var fpart=inputStr.charAt(0)+inputStr.charAt(1);
	var lpart=inputStr.charAt(3)+inputStr.charAt(4);
	if(mid!=":")
	{
	  flag=false;
	}
	else
	if(isNaN(fpart) || fpart<0 || fpart>12)
	{
	  flag=false;	
	}
	else
	if(isNaN(lpart) || lpart<0 || lpart>59)
	{
	  flag=false;	
	}
    return flag;
}	


//date validation
function d_check(form,x,fieldname,i)	
//date must be in MM/DD/YYYY OR M/D/YYYY OR a combination of both
 {
    var flag=true;
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
		break
	}		
	var sDate = form.elements[y].value
	//position of first slash
	var SlashlPos = form.elements[y].value.indexOf("/",0)
	//position of second slash
	var Slash2Pos = form.elements[y].value.indexOf("/",SlashlPos + 1)
	
	if ((slash1Pos = 1 && Slash2Pos == 3) ||(SlashlPos == 1 && Slash2Pos == 4)||(SlashlPos == 2 && Slash2Pos == 4)||(SlashlPos == 2 && Slash2Pos == 5))
	{	
		if (slash1Pos = 1 && Slash2Pos == 3)
		{
			// month value
			var sMonth = sDate.substr(0, 1)
			// day value
			var sDay = sDate.substr(2,1)
			// year value
			var sYear = sDate.substring(4)
		}
		else if (SlashlPos == 1 && Slash2Pos == 4)
		{
			// month value
			var sMonth = sDate.substr(0,1)
			// day value
			var sDay = sDate.substr(2,2)
			// year value
			var sYear = sDate.substring(5)
		}
		else if (SlashlPos == 2 && Slash2Pos == 4)
		{
			// month value
			var sMonth = sDate.substr(0, 2)
			// day value
			var sDay = sDate.substr(3,1)
			// year value
			var sYear = sDate.substring(5)
		}
		else
		{
			// month value
			var sMonth = sDate.substr(0, 2)
			// day value
			var sDay = sDate.substr(3,2)
			// year value
			var sYear = sDate.substring(6)
		}
		// length of year
		var lYear = sYear.length
		var daysInMonth 
		if (sMonth == 1 || sMonth == 3 || sMonth == 5 || sMonth == 7 || sMonth == 8 || sMonth == 10 || sMonth == 12)
		{	
			daysInMonth = 31
		}
		if (sMonth == 4 || sMonth == 6 || sMonth == 9 || sMonth == 11)
		{
			daysInMonth = 30
		}
		if (sMonth == 2)
		{	
			if ((sYear % 4 == 0 && sYear % 100 != 0) || (sYear % 400 == 0)) 
			{
				daysInMonth = 29
			}
			else
			{
				daysInMonth = 28
			}	
		}
		// output for checking
		/*document.write(sDay)
		document.write('\n')
		document.write(sMonth)
		document.write('\n')
		document.write(sYear)
		document.write('\n')
		document.write(daysInMonth)
		document.write('\n')
		document.write(SlashlPos)
		document.write('\n')
		document.write(Slash2Pos)
		*/
		if ((sMonth > 0	&& sMonth < 13 ) && (sDay > 0 && sDay <= daysInMonth ) && lYear == 4 )
		{	
			flag=true;
		}
		else
		{	
			flag=false;
		}		
	}
	else
	{	
		flag=false;	
	}
	return flag;
}
//end of revised date validation


//comparing dates, field1 should be greater than field2
function cd_check(form,x,field1,field2)
{
   var date1;
   var date2;
   for(var i=0 ; i<x ; i++)
   {
      if(form.elements[i].name==field1)
	  {
		date1=form.elements[i].value
      }
	  if(form.elements[i].name==field2)
	  {
	    date2=form.elements[i].value
	  }
   }
   
   var m1=date1.charAt(0)+date1.charAt(1)
   var d1=date1.charAt(3)+date1.charAt(4)
   var y1=date1.charAt(6)+date1.charAt(7)+date1.charAt(8)+date1.charAt(9)

   var m2=date2.charAt(0)+date2.charAt(1)
   var d2=date2.charAt(3)+date2.charAt(4)
   var y2=date2.charAt(6)+date2.charAt(7)+date2.charAt(8)+date2.charAt(9)
   
   if(y1>y2)
       return true;
   else
   if(y1==y2)
   {
       if(m1>m2)
	      return true;
       else
	   if(m1==m2)		
	   {
	      if(d1>d2)
		     return true;
		  else
		  if(d1<=d2)
		     return false;  
	   }
	   else
	   if(m1<m2)
	      return false;
    }
    else
    if(y1<y2)
        return false;
}

//comparing dates, date should be less than todays date
function ltt_check(form,x,field1)
{
   //todays date
   var dt=new Date();
   var m1=dt.getMonth()+1;
   var d1=dt.getDate();
   var y1=dt.getFullYear();

   //given date
   var date2;
   for(var i=0 ; i<x ; i++)
   {
      if(form.elements[i].name==field1)
	  {
		date2=form.elements[i].value
      }
   }
   var fSlashPos=date2.indexOf("/");
   var sSlashPos=date2.indexOf("/",fSlashPos+1);
   var m2=date2.substring(0,fSlashPos);
   var d2=date2.substring(fSlashPos+1,sSlashPos);
   var y2=date2.substring(sSlashPos+1);
  
   if(y1>y2)
       return true;
   else
   if(y1==y2)
   {
       if(m1>m2)
	      return true;
       else
	   if(m1==m2)		
	   {
	      if(d1>d2)
		     return true;
		  else
		  if(d1<=d2)
		     return false;  
	   }
	   else
	   if(m1<m2)
	      return false;
    }
    else
    if(y1<y2)
        return false;
}

//comparing dates, date should be greater than todays date
function gtt_check(form,x,field1)
{
   //given date
   var date1;
   for(var i=0 ; i<x ; i++)
   {
      if(form.elements[i].name==field1)
	  {
		date1=form.elements[i].value
      }
   }
   var fSlashPos=date1.indexOf("/");
   var sSlashPos=date1.indexOf("/",fSlashPos+1);
   var m1=date1.substring(0,fSlashPos);
   var d1=date1.substring(fSlashPos+1,sSlashPos);
   var y1=date1.substring(sSlashPos+1);
  
   //todays date
   var dt=new Date();
   var m2=dt.getMonth()+1;
   var d2=dt.getDate();
   var y2=dt.getFullYear();

   
   if(y1>y2)
       return true;
   else
   if(y1==y2)
   {
       if(m1>m2)
	      return true;
       else
	   if(m1==m2)		
	   {
	      if(d1>d2)
		     return true;
		  else
		  if(d1<=d2)
		     return false;  
	   }
	   else
	   if(m1<m2)
	      return false;
    }
    else
    if(y1<y2)
        return false;
}
//comparing dates, date should be greater than or equal to today's date
function gtet_check(form,x,field1)
{
   //given date
   var date1;
   for(var i=0 ; i<x ; i++)
   {
      if(form.elements[i].name==field1)
	  {
		date1=form.elements[i].value
      }
   }
   var fSlashPos=date1.indexOf("/");
   var sSlashPos=date1.indexOf("/",fSlashPos+1);
   var m1=date1.substring(0,fSlashPos);
   var d1=date1.substring(fSlashPos+1,sSlashPos);
   var y1=date1.substring(sSlashPos+1);
  
   //todays date
   var dt=new Date();
   var m2=dt.getMonth()+1;
   var d2=dt.getDate();
   var y2=dt.getFullYear();
   
   if(y1>y2)
       return true;
   else
   if(y1==y2)
   {
       if(m1>m2)
	      return true;
       else
	   if(m1==m2)		
	   {
	      if(d1>=d2)
		     return true;
		  else
		  if(d1<d2)
		     return false;  
	   }
	   else
	   if(m1<m2)
	      return false;
    }
    else
    if(y1<y2)
        return false;
}

function isInteger(sDate)
{
	var new_msg = "true"
	inputStr = sDate.toString()
	for (var i = 0; i < inputStr.length; i++)
	{
		var oneChar = inputStr.charAt(i)			
		if ((oneChar < "0" || oneChar > "9") && oneChar != "/")
		{
			new_msg = "false"
		}
	}
	return (new_msg)
}
	
function cutSpaces(s)
{
	var s1, x;
	x = s1 = "";
	l = s.length;
	for(i = 0; i < l; i++)
	{	
		if (s.charAt(i) != " ")
			s1=s1+s.charAt(i);
		else if(s.charAt(i) == " " && s.charAt(i+1)!=" ")
				s1=s1+s.charAt(i);
	}
	if(s1.charAt(0) == " ")
		s1=s1.substring(1)
	return s1;
}
	
function asc(each_char)
{
	var n = 0
	var char_str = charSetStr()
	for (i = 0; i < char_str.length; i++)
	{
		if (each_char == char_str.substring(i, i+1))
		{
			break
		}
	}
	return i + 32
}
		
function charSetStr()
{
	var str;
	str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
	return str;
}
	
//checks if the value field is empty, returns true if only space in entered
function isSpace(stringValue)
{
   var s=stringValue;
   var str = '!"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
   var flag=true;
   for(i=0;i<s.length;i++)
   {
      for(j=0;j<str.length;j++)
	  {
	     if(s.charAt(i)==str.charAt(j))
		 {
		    flag=false;
			 break;
		 }
	  }
	  if(!flag)
	   break;
   }
   return flag;
}


//special characters Validation(Should not contain any special chars)
function spl_check(form,x,fieldname,i,alertfieldname)
{
	var flag=true;	
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
		break
	}	
	inputStr = form.elements[y].value.toString();					
    var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789';
	for(i=0;i<inputStr.length;i++)
    {
	      var flag=false;
		  for(j=0;j<chars.length;j++)
		  {
		     if(inputStr.charAt(i)==chars.charAt(j))
			 {
			    flag=true;
				break;
			 }
		  }
		  if(!flag)
		  {
		     alert("Do not enter any special characters for "+alertfieldname);
			 break;
		  }
    }
    return flag;
}	





