function validfield(field)
{
	var fieldtype=eval("document.form1."+field+".value.charAt(0)");

	if(!isNaN(eval("document.form1."+field+".value"))) 
	{
		//eval("document.form1."+field+".value=''");
		eval("document.form1."+field+".focus()");	
		return false;
	}

	e = eval("document.form1."+field);
	check_spl_char(e);
}

function valid(field)
{		
	var re = /^\s+$|^\s+/g;
	var fieldval=eval("document.forms[0]."+field+".value");
	var splchar = fieldval.match(re);

	if(splchar && !fieldval.match("\n"))
	{
		//alert("Invalid character");	
		var trimstr=fieldval.replace(re, "");
		eval("document.forms[0]."+field+".value=\'"+trimstr+"\'");
		eval("document.forms[0]."+field+".focus()");	
	}
}

function check_spl_char(elem)
{
	var re = /[~|`|!|@|#|$|%|^|&|*|(|)|=|+|/|\|{|}|\[|\]|\?|<|>|1|2|3|4|5|6|7|8|9|0|\"|\'|:|;]/g;
	//var re = /[~|`|@|#|^|*|=|{|}|/|\\[|\]|\?|<|>|1|2|3|4|5|6|7|8|9|0|\"|:|;]/g;

	var val = elem.value;
	var len = val.length;
	var splchar = val.match(re);
	if(splchar)
	{
		//alert("Invalid Character");
		//var val2 = val.substring(0,len-1);
		var val2 = val.replace(re,"");
		elem.value = val2;
		return false;
	}
}
function validfield1(field)
{
	var fieldtype=eval("document.form1."+field+".value.charAt(0)");

	if (fieldtype==" ")
	{
		//eval("document.form1."+field+".value=''");
		eval("document.form1."+field+".focus()");	
		return false;		
	}

	e = eval("document.form1."+field);
	check_spl_char1(e);
}

function check_spl_char1(elem)
{
	var re = /[~|`|!|@|#|$|%|^|&|*|(|)|=|+|/|\|{|}|\[|\]|\?|<|>|\"|\'|:|;]/g;
	//var re = /[~|`|@|#|^|*|=|{|}|/|\\[|\]|\?|<|>|\"|:|;]/g;

	var val = elem.value;
	var len = val.length;
	var splchar = val.match(re);
	if(splchar)
	{
		//alert("Invalid Character");
		//var val2 = val.substring(0,len-1);
		var val2 = val.replace(re,"");
		elem.value = val2;
		return false;
	}
}
 
function textCounter(field,cntfield,maxlimit) 
{
	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit);
	else
		cntfield.value = maxlimit - field.value.length;
}
 
function isBlank(val) 
{
	//True if val is whitespace only or empty.
	var re = /\S+/;
 	return (!re.test(val));
}

function chk_date()
{
   str3 = arguments[0];	
   
   dt1=str3.split("."); 
   dtmon=dt1[1].split(" ");     

   if(dtmon[1]=="January")
   {
	mon1="01";
   } 
   if(dtmon[1]=="February")
   {
	mon1="02";
   } 
   if(dtmon[1]=="March")
   {
	mon1="03";
   } 
   if(dtmon[1]=="April")
   {
	mon1="04";
   } 
   if(dtmon[1]=="May")
   {
	mon1="05";
   } 	
   if(dtmon[1]=="June")
   {
	mon1="06";
   } 
   if(dtmon[1]=="July")
   {
	mon1="07";
   } 
   if(dtmon[1]=="August")
   {
	mon1="08";
   } 
   if(dtmon[1]=="September")
   {
	mon1="09";
   }  		
   if(dtmon[1]=="October")
   {
	mon1="10";
   }  		
   if(dtmon[1]=="November")
   {
	mon1="11";
   }  		
   if(dtmon[1]=="December")
   {
	mon1="12";
   }  	



   var date1 = new Date(dtmon[2], mon1, dt1[0]);  
  
  /* var dt1   = parseInt(str3.substring(0,2),10); 
   var mon1  = parseInt(str3.substring(3,5),10); 
   var yr1   = parseInt(str3.substring(6,10),10); 
   var date1 = new Date(yr1, mon1, dt1);    */

   todate = new Date();
   cdt = todate.getDate();
   cmn = todate.getMonth() + 1;
   cyr = todate.getFullYear();
   var cdate = new Date(cyr, cmn, cdt); 

   var flag = 0; 	

   if(date1 > cdate)
   { 
	flag = 1;
   }
   return flag;
}

function CompareDates() 
{ 
   //var str1  = document.getElementById("Fromdate").value; 
   //var str2  = document.getElementById("Todate").value; 

   str1 = arguments[0];
   str2 = arguments[1];  	

   dt1=str1.split(".");
   st1=dt1[1].split(" ");
   dt2=str2.split(".");
   st2=dt2[1].split(" "); 

   if(st1[1]=="January")
   {
	fmon1="01";
   } 
   if(st1[1]=="February")
   {
	fmon1="02";
   } 
   if(st1[1]=="March")
   {
	fmon1="03";
   } 
   if(st1[1]=="April")
   {
	fmon1="04";
   } 
   if(st1[1]=="May")
   {
	fmon1="05";
   } 	
   if(st1[1]=="June")
   {
	fmon1="06";
   } 
   if(st1[1]=="July")
   {
	fmon1="07";
   } 
   if(st1[1]=="August")
   {
	fmon1="08";
   } 
   if(st1[1]=="September")
   {
	fmon1="09";
   }  		
   if(st1[1]=="October")
   {
	fmon1="10";
   }   		
   if(st1[1]=="November")
   {
	fmon1="11";
   }  		
   if(st1[1]=="December")
   {
	fmon1="12";
   }  

    if(st2[1]=="January")
   {
	tmon1="01";
   } 
   if(st2[1]=="February")
   {
	tmon1="02";
   } 
   if(st2[1]=="March")
   {
	tmon1="03";
   } 
   if(st1[1]=="April")
   {
	tmon1="04";
   } 
   if(st2[1]=="May")
   {
	tmon1="05";
   } 	
   if(st2[1]=="June")
   {
	tmon1="06";
   } 
   if(st2[1]=="July")
   {
	tmon1="07";
   } 
   if(st2[1]=="August")
   {
	tmon1="08";
   } 
   if(st2[1]=="September")
   {
	tmon1="09";
   }  		
   if(st2[1]=="October")
   {
	tmon1="10";
   }   		
   if(st2[1]=="November")
   {
	tmon1="11";
   }  		
   if(st2[1]=="December")
   {
	tmon1="12";
   }  
	

/*   var dt1   = parseInt(str1.substring(0,2),10); 
   var mon1  = parseInt(str1.substring(3,5),10); 
   var yr1   = parseInt(str1.substring(6,10),10); 
   var dt2   = parseInt(str2.substring(0,2),10); 
   var mon2  = parseInt(str2.substring(3,5),10); 
   var yr2   = parseInt(str2.substring(6,10),10); 
   var date1 = new Date(yr1, mon1, dt1); 
   var date2 = new Date(yr2, mon2, dt2); */

   var date1 = new Date(st1[2], fmon1, dt1[0]); 
   var date2 = new Date(st2[2], tmon1, dt2[0]);  

   var invalid_flag = 0;
   if(date2 < date1)
   { 
	invalid_flag = 1;
   }
   return invalid_flag;
} 


function trim(argvalue) 
{
	var tmpstr = ltrim(argvalue);
	return rtrim(tmpstr);
}

function ltrim(argvalue) 
{
	while (1) 
	{
		if (argvalue.substring(0, 1) != " ")
		break;
		argvalue = argvalue.substring(1, argvalue.length);
	}
	return argvalue;
}

function rtrim(argvalue) 
{
	while (1) 
	{
		if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
		break;
		argvalue = argvalue.substring(0, argvalue.length - 1);
	}
	return argvalue;
}
function removefirstspace(form,field)
{
        //alert("hai");
        var re = /^\s+$|^\s+/g;

        var fieldval=eval("document."+form+"."+field+".value");
        //alert(fieldval);
        var splchar = fieldval.match(re);

        if(splchar && !fieldval.match("\n"))
        {

                var trimstr=fieldval.replace(re, "");

                eval("document."+form+"."+field+".value=\""+trimstr+"\"");

                eval("document."+form+"."+field+".focus()");
        }
}
function charnumspconly(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	
	if( keycode == 32 && (e.value).length==0)
	{
		return false;
	}
	if((keycode>=33 && keycode <=43) || keycode ==47 || (keycode>=58 && keycode<=64) || (keycode>=91 && keycode<=94) || keycode==96 || (keycode>=123 && keycode<=127))
	{
	     return false;
	}
	else return true;				
}
function validchars(field,form,flg)
{	
//ert(field);
//alert(form);
//alert(flg);
	var price=0;
	var fieldval=eval("document."+form+"."+field+".value");
	switch(flg)
	{
		case 0:
			//Allow characters only while paste
			//==================================
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\(|\)|\+|\=|\[|\]|\-|\_|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\?|\\|[0-9]/g;
			break;

		case 1:						
			//Allow Numbers only while paste
			//================================
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\=|\[|\]|\}|\{|\;|\.|\:|\'|\"|\,|\(|\)|\<|\>|\||\/|\?|\\|[A-Z a-z]/g;
			break;

		case 2:
			//Allow Alphanumeric only while paste
			//====================================	
		
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\\|\?/g;
			break;
	
		case 3:
			//Do not allow the Special characters only
			//========================================	
			var re = /\$|!|@|#|~|`|%|\*|\^|\+|\=|\[|\]|\}|\{|\<|\>|\:|\;|\'|\"|\||\/|\\|\?/g;
			break;

		case 4:
			//Allow need chars only while paste
			//====================================			
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\+|\=|\[|\]|\}|\{|\;|\:|\'|\"|\<|\>|\|\\|\?/g;
			break;

		case 5:
			//Allow color code chars only while paste
			//========================================			
			var re = /\$|!|@|~|`|%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\\|\?|\.|\,|\s/g;
			break;

		case 6:
			//Allow date chars only while paste
			//========================================			
			var re = /\$|!|@|~|`|%|\*|\^|\&|\(|\)|\+|\=|\[|\_|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\\|\?|\.|\,|[A-Z a-z]/g;
			break;

		case 7:
			//Allow price chars only while paste
			//========================================			
			var re = /\$|!|@|~|`|%|\#|\*|\^|\&|\(|\)|\+|\=|\[|\_|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\\|\?|\,|[A-Z a-z]/g;
			var price=1;
			break;
				
		case 8:
			//Do not allow the Special characters only for login name authentication
			//========================================	
			var re = /\$|!|@|~|`|%|\*|\^|\&|\(|\)|\+|\=|\[|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\\|\?|\.|\,|\s/g;
			break;
		case 9:
			//Phone numbers only allowing few special characters as (,),+,space,-.
			//====================================			
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\(|\)|\+|\=|\[|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\\|\?|[A-Z a-z]/g;
			break;

		case 10:
			//Phone numbers only allowing few special characters as (,),+,space,-.
			//====================================			
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\=|\[|\]|\}|\{|\;|\'|\"|\<|\>|\|\\|\?/g;
			break;

		case 12:						
			//Allow Numbers and . only while paste
			//====================================
			var re = /\$|!|@|#|~|`|%|\*|\^|\&|\=|\[|\]|\}|\{|\;|\:|\'|\"|\,|\)|\(|\<|\>|\||\/|\?|\\|[A-Z a-z]/g;
			break;

		case 13:						

			//Allow characters only while paste Except '_()' char
			//=================================================
			var re =/^\s+|\$|!|@|#|~|`|%|\*|\^|\+|\=|\[|\]|\}|\{|\;|\:|\'|\"|\<|\>|\||\/|\?/g;
			break;
		case 14:						
		
			//Allow need chars only while paste
			//====================================			
			var re = /\$|!|@|#|~|`|%|\*|\^|\+|\=|\[|\]|\}|\{|\;|\:|\'|\"|\<|\>|\|\\|\?/g;
			break;

	}	
	var splchar = fieldval.match(re);
	if(splchar)
	{
		var trimstr=fieldval.replace(re, "");
		eval("document."+form+"."+field+".value=\'"+trimstr+"\'");
		eval("document."+form+"."+field+".focus()");
	}	
	if(price==1 && fieldval.match(/(.*)\.(.+)/))
	{
		var arr=fieldval.split("\.");
		if((arr[1].length)>2)
		{
			var sstr=arr[1].substr(0,2);
			trimstr=arr[0] + "." + sstr;			
			eval("document."+form+"."+field+".value=\'"+trimstr+"\'");
			eval("document."+form+"."+field+".focus()");
		}
	}	
}
function removeabove_400_char(form,field)
{
	//alert("hai");
        var re = /^\s+$|^\s+/g;

        var fieldval=eval("document."+form+"."+field+".value");
        //alert(fieldval);
        var splchar = fieldval.match(re);

        if(splchar && !fieldval.match("\n"))
        {

                var trimstr=fieldval.replace(re, "");

                eval("document."+form+"."+field+".value=\""+trimstr+"\"");

                eval("document."+form+"."+field+".focus()");
        }
        
    if(eval("document."+form+"."+field+".type")=="textarea" && fieldval.length>=400)
    {
        var sub_string = fieldval.substr(0,400);
        alert("Please do not enter greater than 400 Characters.");
        eval("document."+form+"."+field+".value=\""+sub_string+"\"");
		//event.keyCode=0;
		if (window.event) window.event.keyCode=0;
    	//else if (e) e.which=0;
        eval("document."+form+"."+field+".focus()");
		return false;
        }
}
function validlength(e)
{	
	var keycode;
	
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if((keycode == 32 && (e.value).length==0) || (e.value).length>=200)
	{
		e.value=(e.value).substr(0,200);		
		return false;
		
	}
	if(keycode==42 || keycode==43 || (keycode>=60 && keycode<=62) || (keycode>=91 && keycode<=96) || (keycode>=123 && keycode<=127))
	{
		return false;
	}
	else
	{
		return true;
	}
}
function removefirstspace_textarea(form,field)
{
        var re = /^\s+$|^\s+/g;
        var fieldval=eval("document."+form+"."+field+".value");
        var splchar = fieldval.match(re);
 	//alert(fieldval);
        if((splchar && !fieldval.match("\n")) || (fieldval.charCodeAt(0)==13))
        {
                var trimstr=fieldval.replace(re, "");
                eval("document."+form+"."+field+".value=\""+trimstr+"\"");
                eval("document."+form+"."+field+".focus()");
        }
}
function removefirst_specialchar(form,field)
{
  	/*var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	val = e.value;
	dot_index = val.indexOf('.',);*/

	var re = /^(\$|!|@|#|~|`|%|\*|\^|\+|\=|\[|\]|\}|\{|\<|\>|\:|\;|\'|\"|\||\/|\\|\?|\.|\&)/g;
        var fieldval=eval("document."+form+"."+field+".value");
        var splchar = fieldval.match(re);
 	//alert(fieldval);
        if((splchar && !fieldval.match("\n")) || (fieldval.charCodeAt(0)==13))
        {
                var trimstr=fieldval.replace(re, "");
                eval("document."+form+"."+field+".value=\""+trimstr+"\"");
                eval("document."+form+"."+field+".focus()");
        }
}
function number_dot(e)
{
	if(arguments[1])
	{
		dec_limit = arguments[1];
	}
	else
	{
		dec_limit=2;
	}
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	
	
	
	else if (e) keycode = e.which;
	else return true;		

	val = e.value;
	dot_index = val.indexOf('.');
	
	var selection=document.selection.createRange();
	var selected_text = selection.text;

	//keycodes allowed but not in the beginning - 0,dot
	
	desiLen=val.substr(dot_index,(val.length-dot_index));
	if(dot_index>0 && desiLen.length>(dec_limit))
	{
		return false;
	}
	
	if((val.length==0 || selected_text != "") && (keycode == 46) || (keycode == 45) )	// || keycode==48
	{
		return false;
	}
	else if(dot_index != -1 && keycode == 46 )
	{
		return false;
	}
	else if(!(keycode>=48 && keycode <=57) && (keycode!=13) && (keycode==46) && (keycode!=45) )
	{
		return false;
	}
	if((keycode>=33 && keycode <=46)  || keycode ==47 || (keycode>=58 && keycode<=64) || (keycode>=65 && keycode<=77) || (keycode>=78 && keycode<=80) || (keycode>=81 && keycode<=96) || (keycode>=97 && keycode<=109) || (keycode>=110 && keycode<=111 || (keycode>=112 && keycode<=127) ))
	{
	     return false;
	}
	else return true;
	
	
}
function isDate(theElement,label,dformat)
{
        // dd-mmm-yyyy format; leading zeros required
	var type;
	retval=true;
	if(arguments[3]=="dt")
	{
		str1 = theElement.value;
		str = str1.substring(0, str1.indexOf(" "));
	}
	else
	{
        	str = theElement.value;
        }
        
        
        //alert(str+"|"+dformat);
        len = str.length;
        if(len>0)
        {

		deli="-";
		if(dformat.indexOf(deli)==-1)
		{
			deli="/";
		}
		
		Arg=new Array();
		Val=new Array();
		
		Arg[0]=dformat.substr(0,dformat.indexOf(deli));
		Arg[1]=dformat.substr(Arg[0].length+1,dformat.indexOf(deli,Arg[0].length+1)-Arg[0].length-1);
		Arg[2]=dformat.substr(dformat.indexOf(deli,Arg[0].length+1)+1,dformat.length-dformat.indexOf(deli,Arg[0].length+1)-1);

		Val[0]=str.substr(0,str.indexOf(deli));
		Val[1]=str.substr(Val[0].length+1,str.indexOf(deli,Val[0].length+1)-Val[0].length-1);
		Val[2]=str.substr(str.indexOf(deli,Val[0].length+1)+1,str.length-str.indexOf(deli,Val[0].length+1)-1);
		
		//alert(Arg[0]+" - "+Val[0]+" - "+Arg[1]+" - "+Val[1]+" - "+Arg[2]+" - "+Val[2]);
		
		formatFail=0;
		
		if(Arg[0]!="" && Arg[1]!="" && Arg[2]!="" && Val[0]!="" && Val[1]!="" && Val[2]!="")
		{
			formatFail=1;
		}
		//alert(formatFail);
		if(formatFail==1)
		{

			var mdays,cmonth,fullYear;
			
			DOMonth = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 3
