function validate()
{
 var errors ='';
 var v_value= document.frm_free_trial.Company_Name.value;
 var value = subValidateAll(true,v_value,document.frm_free_trial.Company_Name,"Company Name",4,100);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.Company_Name.style.backgroundColor ="#ffffff";

 var v_value= document.frm_free_trial.Last_Name.value;
 var value = subValidateAll(true,v_value,document.frm_free_trial.Last_Name,"Last Name",2,50);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.Last_Name.style.backgroundColor ="#ffffff";
	
 v_value= document.frm_free_trial.First_Name.value;
 value = subValidateAll(true,v_value,document.frm_free_trial.First_Name,"First Name",2,50);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.First_Name.style.backgroundColor ="#ffffff";
 
 v_value= document.frm_free_trial.Middle_name.value;
 value = subValidateAll(false,v_value,document.frm_free_trial.Middle_name,"Middle Name",2,50);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.Middle_name.style.backgroundColor ="#ffffff";

 if(document.frm_free_trial.State.value == '-1')
 {
 	errors = errors + " -State is required.\n";
 }

 v_value= document.frm_free_trial.Zip.value;
 if(v_value == ''){
 	errors = errors + " -Zip Code is required.\n";
	document.frm_free_trial.Zip.style.backgroundColor ="#FFFFCC";
 }
 else {
	message = validateZIP(v_value);
	if(message != 'Success') {
		errors = errors + message+"\n";
		document.frm_free_trial.Zip.style.backgroundColor ="#FFFFCC";
	}
	document.frm_free_trial.Zip.style.backgroundColor ="#ffffff"; 
 }
 
 v_value= document.frm_free_trial.Phone.value;
 if(v_value == ''){
 	errors = errors + " -Phone Number is required.\n";
	document.frm_free_trial.Phone.style.backgroundColor ="#FFFFCC";
 }
 else {
	if(v_value.length < 12) {
		errors = errors + " -Invalid Phone Number.\n";
		document.frm_free_trial.Phone.style.backgroundColor ="#FFFFCC";
	}
	document.frm_free_trial.Phone.style.backgroundColor ="#ffffff";
 }
 
 var v_email= document.frm_free_trial.Email.value;
 value = validateEmail(v_email,document.frm_free_trial.Email,"Email",true);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.Email.style.backgroundColor ="#ffffff";	
 
 v_value= document.frm_free_trial.Street_Address.value;
 value = subValidateAll(true,v_value,document.frm_free_trial.Street_Address,"Street Address",5,150);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.Street_Address.style.backgroundColor ="#ffffff";

 v_value= document.frm_free_trial.City.value;
 value = subValidateAll(true,v_value,document.frm_free_trial.City,"City",6,25);
 if(value != '') errors = errors + value;
 else document.frm_free_trial.City.style.backgroundColor ="#ffffff";
 
// v_value= document.frm_free_trial.User_Name.value;
 v_value = ''
 if(v_value == ''){
 //	errors = errors + " -User Name is required.\n";
//	document.frm_free_trial.User_Name.style.backgroundColor ="#FFFFCC";
 }
 else document.frm_free_trial.Phone.style.backgroundColor ="#ffffff";

 if(errors == '') document.frm_free_trial.submit();
 else alert('The following information(s) required/incorrect:\n'+errors);  
}

function keyCheck(eventObj, obj,frm_name) 
{ 
   var keyCode 
//	alert(eventObj);
   // Check For Browser Type 
   if (document.all){ 
      keyCode=eventObj.keyCode 
   } 
   else{ 
      keyCode=eventObj.which 
   } 
   var str=obj.value 

   if(keyCode==46){ 
      if (str.indexOf(".")>0){ 
         return false 
      } 
   } 

   if((keyCode<48 || keyCode >58)   &&   (keyCode != 46)){ // Allow only integers and decimal points 
      if(keyCode == 8)
	 	return true;
	  return false 
   } 
   return true 
} 

function ValidatePhone(m,frm_name){ 
p=m.value 
var flag;
if(p.length==3){ 
        pp=p; 
       // d4=p.indexOf('-') 
        d5=p.indexOf('-') 
       // if(d4==-1){ 
        //        pp="("+pp; 
       // } 
        if(d5==-1){ 
                pp=pp+"-"; 
        } 
        m.value=""; 
        m.value=pp; 

} 
if(p.length>3){ 
        d1=p.indexOf('-') 
        d2=p.indexOf('-') 
        if (d2==-1){ 
                l30=p.length; 
                p30=p.substring(0,3); 
                p30=p30+"-" 
                p31=p.substring(4,l30); 
                pp=p30+p31; 
                m.value=""; 
                m.value=pp; 
        } 

} 
if(p.length>5){ 
        p11=p.substring(d1+1,d2); 
        if(p11.length>3){ 
             p12=p11; 
             l12=p12.length; 
             l15=p.length 
             p13=p11.substring(0,3); 
             p14=p11.substring(3,l12); 
             p15=p.substring(d2+1,l15); 
             m.value=""; 
             pp="("+p13+")"+p14+p15; 
             m.value=pp; 
        } 
        l16=p.length; 
        p16=p.substring(d2+1,l16); 
        l17=p16.length; 
        if(l17>3&&p16.indexOf('-')==-1){ 
                p17=p.substring(d2+1,d2+4); 
                p18=p.substring(d2+4,l16); 
                p19=p.substring(0,d2+1); 
        pp=p19+p17+"-"+p18; 
        m.value=""; 
        m.value=pp; 
        } 
		
} 
} 

	function validateZIP(field) {
		var valid = "0123456789-";
		var hyphencount = 0;
	
		if (field.length!=5 && field.length!=10) {
			message = " -Please enter your 5 digit or 5 digit+4 zip code.";
			return message;
		}
		
		for (var i=0; i < field.length; i++) {
			temp = "" + field.substring(i, i+1);
			if (temp == "-") hyphencount++;
				if (valid.indexOf(temp) == "-1") {
					message = " -Invalid characters in your zip code.  Please try again.";
					return message;
				}
		
			if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
				message = " -The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.";
				return message;
			}
		}
		return "Success";
	}
