function charspcsplchrs(e)// Allow . & - ()
{
	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<=37) || (keycode==39) || (keycode>=42 && keycode <=44)  || (keycode==47) || (keycode>=58 && keycode<=64) || (keycode>=91 && keycode<=94) || keycode==96 || (keycode>=123 && keycode<=127))
	{
	     return false;
	} 
	else return true;				
}

function charspc_splchrs(e)// Allow . & - @ _ ()
{
	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<=37) || (keycode==39) || (keycode>=42 && keycode <=44)  || (keycode==47) || (keycode>=58 && keycode<=63) || (keycode>=91 && keycode<=94) || keycode==96 || (keycode>=123 && keycode<=127))
	{
	     return false;
	}
	else return true;				
}


function characteronly(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 <=64) || (keycode>=91 && keycode <=96) || (keycode>=123 && keycode <=127))
	{
	     return false;
	}
	else return true;				
}

function numberonly(e)
{
	//alert(e);
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if((keycode>=32 && keycode <=47)  || (keycode>=58 && keycode<=127))
	{
	     return false;
	}
	else return true;				
	
}
function numberdotonly(e)
{
	var val = e.value;
  var dot_index = val.indexOf('.');

  var selection=document.selection.createRange();
  var selected_text = selection.text;
  var keycode = window.event.keyCode;

  //keycodes allowed but not in the beginning - 0,dot
  if( (val.length==0 || selected_text != "") && (keycode == 46) ) 
  {
   return false;
  }
  else if(dot_index != -1 && keycode == 46 )
  {
   return false;
  }
  else if(!(keycode>=48 && keycode <=57) && (keycode!=13) && (keycode!=46) )
  {
   return false;
  }
  else return true;
  
  /* previous code
  
  //alert(e);
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if((keycode>=32 && keycode <=45)  || (keycode>=58 && keycode<=127))
	{
	     return false;
	}
	else return true;
  */				
}


function numberspconly(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if((keycode>=33 && keycode <=47)  || (keycode>=58 && keycode<=127))
	{
	     return false;
	}
	else return true;				
}

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 <=44) || keycode==46 || keycode ==47 || (keycode>=58 && keycode<=64) || (keycode>=91 && keycode<=94) || keycode==96 || (keycode>=123 && keycode<=127))
	{
	     return false;
	}
	else return true;				
}
function streetname(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 <=34) ||(keycode>=36 && keycode <=37) || keycode==43 || keycode==46 || keycode ==47 || (keycode>=58 && keycode<=64) || (keycode>=91 && keycode<=94) || keycode==96 || (keycode>=123 && keycode<=127))
	{
	     return false;
	}
	else return true;				
}
function removefirstspchar(val_objec)
{
	fieldval = val_objec.value;
	var charcode = fieldval.charCodeAt(0);
	if(charcode == 40 || charcode == 41 || charcode == 44 || charcode == 45 || charcode == 46 || charcode == 32)
	{
		val_objec.value = fieldval.substr(1,fieldval.length);
		removefirstspchar(val_objec);

	}
}
function colorcodechar(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if((keycode>=32 && keycode<=34) || (keycode==36 && keycode ==47) || (keycode>=58 && keycode<=64) || (keycode>=91 && keycode<=96) || (keycode>=123 && keycode<=127))
	{
	     return false;
	}
	else return true;				
}

function firstchar(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;
	}
	else return true;
}

function faxphone(e)
{
  
  var keycode;
	if (window.event)
  {
    keycode = window.event.keyCode;
  }
	else if (e)
  {
     keycode = e.which;
  }
	else return true;	
	
  if((keycode>=33 && keycode <=39) || keycode ==42 || keycode==44 || keycode==46 || keycode==47 || (keycode>=58 && keycode<=127))
	{
	     
       return false;
	}
	else return true;
}

function validprice(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;			
	if((keycode>=32 && keycode <=45) || keycode==47  || (keycode>=58 && keycode<=127))
	{
	     return false;
	}
	else return true;	
}

function charnumber(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 <=47) || (keycode>=58 && keycode <=64) || (keycode>=91 && keycode <=96) || (keycode>=123 && keycode <=127))
	{
	     return false;
	}
	else return true;
}

function characterdot(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) || (keycode == 46 &&(e.value).length==0))
	{
		return false;
	}
	if((keycode>=33 && keycode <=45) || (keycode>=47 && keycode <=64) || (keycode>=91 && keycode <=96) || (keycode>=123 && keycode <=127))
	{
	     return false;
	}
	else return true;				
}
function emailfld(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if((keycode>=32 && keycode<=44) || keycode==47 || (keycode>=58 && keycode<=63) || (keycode>=91 && keycode<=94) || keycode==96 || (keycode>=123 && keycode<=127))
	{
	     return false;
	}
	else return true;
}

function emailvalidate(fld)
{
		email = fld.value
		var re = /^[a-zA-Z0-9\_.]+w*@[a-z0-9_]+\.+[a-z0-9_.]{2,4}|^[a-zA-Z0-9]+w*@[a-z]+\.+[a-z]{2,4}\.[a-z]{2}$/i;
		if(!re.test(email))
		{
			alert("Please enter valid Email Address");
			fld.focus();
			return false;
		}
		else
		{
			return true; 
		}
}
 function validate_email(e)
            {
              e = eval(e);
              email = e.value;
              var blank_re = / /ig;
              email2 = email.replace(blank_re,'');
//            var re = /^[a-zA-Z0-9\_.]+w*@[a-z0-9_]+\.+[a-z_.]{2,4}|^[a-zA-Z0-9]+w*@[a-z]+\.+[a-z]{2,4}\.[a-z]{2}$/i;
//            var re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;

              var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]){2,}\.)+([a-zA-Z0-9]{2,4})+$/;

                    mandatory_flag = arguments[1];
                    if(!email2 && mandatory_flag == 1)
                    {
                            alert("Please enter Email Address");
                            e.focus();
                            return false;
                    }
                    else if(email  && !re.test(email))
                    {
                            alert("Please enter valid Email Id");
                            e.select();
                            e.focus();
                            return false;
                    }
                    else
                    {
                            return true;
                    }
              }
function datefld(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if((keycode>=32 && keycode <=44) || keycode==46  || (keycode>=58 && keycode<=127))
	{
	     return false;
	}
	else return true;	
}
function datetimefld(e)
{	
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if((keycode>=33 && keycode <=46)  || (keycode>=59 && keycode<=64) || (keycode>=66 && keycode<=76) || keycode==78 || keycode==79 || (keycode>=81 && keycode<=96) || (keycode>=98 && keycode<=108) || keycode==110 || keycode==111 || (keycode>=113 && keycode<=127))
	{
	     return false;
	}
	else return true;	
}
function validchars(field,form,flg)
{	
//alert(field)
//alert(form)
//alert(flg)

//alert("in valid chars")
	
	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;

	}	
	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 validlength(e,vlen)
{					
	var keycode;
	var trimstr;
	var re = /\*|\+|\=|\<|\>|\[|\]|\{|\}|^|\\|\||\_|`|~/g;

	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>=vlen)
	{
		e.value=(e.value).substr(0,vlen);		
		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 startObj()
{
	if(window.ActiveXObject)
	{
  		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		xmlhttp = new XMLHttpRequest();
	}	
}
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 Trim(s) 
{
	// Remove leading spaces and carriage returns
	while ((s.substring(0,1) == " ") || (s.substring(0,1) == "\n") || (s.substring(0,1) == "\r"))
		{ s = s.substring(1,s.length); }
		// Remove trailing spaces and carriage returns
	while ((s.substring(s.length-1,s.length) == " ") || (s.substring(s.length-1,s.length) == "\n") || (s.substring(s.length-1,s.length) == "\r"))
	{ s = s.substring(0,s.length-1); }
	return s;
} 

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 passonly(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==32)
	 {
	     return false;
	 }
	 else return true;
}
function nameonly(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==32)
	{
	     return false;
	}
	else return true;				
}
function checkemail(email)
{


        var testresults
        var str=email.value;

        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

                //var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i   //already
                //var filter=/^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;  //net
                //var filter=\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*;
                //var re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;

        if (filter.test(str))
        testresults=true;
        else
        {

                alert("Please enter valid E-Mail ID")
                email.value="";
                email.focus();
                testresults=false
        }

        return (testresults)
}

//var re = /^\s+$|^\s+/g;

function ffnumberonly(form_name,field_name,field_value)
{
     
     var txt_element = eval("document."+form_name+"."+field_name);
     var str_value = field_value;
 
     if(str_value != '')
     {
          var str = str_value.replace(/[0-9]/gi, '');
          if(str != '')
          {
               txt_element.value = '';
               txt_element.focus();
          }
     }
 
}
function ffnumberdotonly(form_name,field_name,field_value)
{
     
     var txt_element = eval("document."+form_name+"."+field_name);
     var str_value = field_value;
 
     if(str_value != '')
     {
          var str = str_value.replace(/[0-9.]/gi, '');
          if(str != '')
          {
               txt_element.value = '';
               txt_element.focus();
          }
     }
 
}
function ffcharonly(form_name,field_name,field_value)
{
     
     var txt_element = eval("document."+form_name+"."+field_name);
     var str_value = field_value;
 
     if(str_value != '')
     {
          var str = str_value.replace(/[A-Za-z ]/gi, '');
          if(str != '')
          {
               txt_element.value = '';
               txt_element.focus();
          }
     }
 
}
function ffnumberhyphen(form_name,field_name,field_value)
{
     
     var txt_element = eval("document."+form_name+"."+field_name);
     var str_value = field_value;
 
     if(str_value != '')
     {
          var str = str_value.replace(/[0-9,-]/gi, '');
          if(str != '')
          {
               txt_element.value ='';
               txt_element.focus();
          }
     }
 
}
function ffstreetname(form_name,field_name,field_value)
{
     
     var txt_element = eval("document."+form_name+"."+field_name);
     var str_value = field_value;
 
     if(str_value != '')
     {
          var str = str_value.replace(/[A-Za-z0-9#,.&-_ ]/gi, '');
          if(str != '')
          {
               txt_element.value ='';
               txt_element.focus();
          }
     }
 
}
function ffalphanumeric(form_name,field_name,field_value)
{
     
     var txt_element = eval("document."+form_name+"."+field_name);
     var str_value = field_value;
 
     if(str_value != '')
     {
          var str = str_value.replace(/[A-Za-z0-9 ]/gi, '');
          if(str != '')
          {
               txt_element.value ='';
               txt_element.focus();
          }
     }
 
}


function check_date(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = ".";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }

   return err
}
