// JavaScript Document  
  // validate the form
function validateForm(f, preCheck){
  var errors = '';
  if(preCheck != null) errors += preCheck;
  var i,e,t,n,v;
  for(i=0; i < f.elements.length; i++){
    e = f.elements[i];
    if(e.optional) continue;
    t = e.type;
    n = e.name;
    v = e.value;
    if(t == 'text' || t == 'password' || t == 'textarea'){
      if(isEmpty(v)){
        errors += n+' cannot be empty.\n'; continue;
      }
      if(v == e.defaultValue){
        errors += n+' cannot use the default value.\n'; continue;
      }
      if(e.isAlpha){
        if(!isAlpha(v)){
          errors += n+' can only contain characters A-Z a-z.\n'; continue;
        }
      }
      if(e.isNumeric){
        if(!isNumeric(v)){
          errors += n+' can only contain characters 0-9.\n'; continue;
        }
      }
      if(e.isAlphaNumeric){
        if(!isAlphaNumeric(v)){
          errors += n+' can only contain characters A-Z a-z 0-9.\n'; continue;
        }
      }
      if(e.isEmail){
        if(!isEmail(v)){
          errors += v+' is not a valid email.\n'; continue;
        }
      }
      if(e.isLength != null){
        var len = e.isLength;
        if(!isLength(v,len)){
          errors += n+' must contain only '+len+' characters.\n'; continue;
        }
      }
      if(e.isLengthBetween != null){
        var min = e.isLengthBetween[0];
        var max = e.isLengthBetween[1];
        if(!isLengthBetween(v,min,max)){
          errors += n+' cannot contain less than '+min+' or more than '+max+' characters.\n'; continue;
        }
      }
      if(e.isPhoneNumber){
        if(!isPhoneNumber(v)){
          errors += v+' is not a valid US phone number.\n'; continue;
        }
      }
      if(e.isDate){
        if(!isDate(v)){
          errors += v+' is not a valid date.\n'; continue;
        }
      }
      if(e.isMatch != null){
        if(!isMatch(v, e.isMatch)){
          errors += n+' does not match.\n'; continue;
        }
      }
    }
    if(t.indexOf('select') != -1){
      if(isEmpty(e.options[e.selectedIndex].value)){
        errors += n+' needs an option selected.\n'; continue;
      }
    }
    if(t == 'file'){
      if(isEmpty(v)){
        errors += n+' needs a file to upload.\n'; continue;
      }
    }
  }
  if(errors != '') alert(errors);
  return errors == '';
}

  function valSubmit() {
			
			var TextBoxSerial = document.frm1.TextBoxSerial.value;
			var TextBoxWarnum = document.frm1.TextBoxWarnum.value;
			var TextBoxSerialTag = document.frm1.TextBoxSerialTag.value;
			var TextBoxModel = document.frm1.TextBoxModel.value;
			var TextBoxProb = document.frm1.TextBoxProb.value;
			var TextBoxCustemail = document.frm1.TextBoxCustemail.value;
			var TextBoxCustmobile = document.frm1.TextBoxCustmobile.value;
			//var TextBoxCustemail = document.frm1.TextBoxCustemail.value;
			var lserror = DOMCall('lblerror2');
			var lserror2 = DOMCall('lblError3');
            if (lserror == null){
                alert ('It was null lblError2');
                return false ;
            } 
            
            if (lserror2 == null){
                alert ('It was null lblError3');
                return false ;
            } 
			
			if (TextBoxSerial=='') {
				lserror.innerHTML = 'Service Tag Required.';
				document.frm1.TextBoxSerial.focus();
				return false;}
			
			if (TextBoxWarnum=='') {
				//alert('Warranty Card Number Required.');
				lserror.innerHTML = 'Warranty Date Required.';
				document.frm1.TextBoxWarnum.focus();
				return false;}
			else {
			    var liDateRtn = ChkDate(TextBoxWarnum);
			    if (liDateRtn == 2) 
		            {
			            lserror.innerHTML = 'Invalid Date Format. Please use MM/DD/YYYY';
			            document.frm1.TextBoxWarnum.focus();
			            return false;
		             }
		        else if (liDateRtn == 1) 
		            {
			            lserror.innerHTML = 'Invalid Date Format. Please use MM/DD/YYYY';
			            document.frm1.TextBoxWarnum.focus();
			            return false;
		            }
		        else if (liDateRtn == 3) 
		            {
		                lserror.innerHTML = 'Cannot enter Date Later than 01/01/1800';
			            document.frm1.TextBoxWarnum.focus();
			            return false;  			
		            }
		        else if (liDateRtn == 4) 
		            {
			            lserror.innerHTML = 'Cannot enter Date Greater than 12/31/2040';
			            document.frm1.TextBoxWarnum.focus();
			            return false;  	
		            }
			}	
			if (TextBoxSerialTag=='') {
				lserror.innerHTML = 'Serial Number Required.';
				document.frm1.TextBoxSerialTag.focus();
				return false;}
			
			if (TextBoxModel=='') {
				//alert('NEO Laptop Model Required.');
				lserror.innerHTML = 'NEO Laptop Model Required.';
				document.frm1.TextBoxModel.focus();
				return false;}
			if (TextBoxProb=='') {
				//alert('Unit Problems Details Required.');
				lserror.innerHTML = 'Unit Problems Details Required.';
				document.frm1.TextBoxProb.focus();
				return false;}
			/*if (TextBoxCustemail!='') {
				//alert('E-mail Add Required.');
						
				//document.frm1.lblError.visible = true;
				//lserror.innerHTML = "E-mail Add Required.";
				
				//document.frm1.TextBox7.focus();
				//return false;}
				
				if (echeck(TextBoxCustemail)==false){
				TextBoxCustemail=='';
				document.frm1.TextBoxCustemail.focus();
				return false;}
			return false;}*/
			if (TextBoxCustemail=='') {
				//alert('Unit Problems Details Required.');
				lserror.innerHTML = 'Customer Email Add Required.';
				document.frm1.TextBoxCustemail.focus();
				return false;}
			if (echeck(TextBoxCustemail)==false){
				TextBoxCustemail=='';
				document.frm1.TextBoxCustemail.focus();
				return false;}
			if (TextBoxCustmobile=='') {
				//alert('Unit Problems Details Required.');
				lserror.innerHTML = 'Customer Mobile Number Required.';
				document.frm1.TextBoxCustmobile.focus();
				return false;}
			
			document.frm1.hsForSub.value = TextBoxSerial;
			lserror2.innerHTML = '';
	}

// end -->

function valSubmitmae() {
			var email = document.frm1.email.value;
			
			if (email=='') {
				alert('E-mail Add Required.');
				document.frm1.email.focus();
				return false;}
			if (echeck(email)==false){
				email==''
				document.frm1.email.focus();
				return false;
			}
}
// end -->


function echeck(str) {
  var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)
  var lserror = DOMCall('lblError');
    if (lserror == null){
        alert ('It was null');
        return false ;
    }   
  if (str.indexOf(at)==-1){
     //alert("Invalid E-mail ID")
     lserror.innerHTML = 'Invalid E-mail ID';//
     return false
  }
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
     //alert("Invalid E-mail ID")
     lserror.innerHTML = 'Invalid E-mail ID';//
     return false
  }
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
     // alert("Invalid E-mail ID")
      lserror.innerHTML = 'Invalid E-mail ID';
      return false
  }
   if (str.indexOf(at,(lat+1))!=-1){
      //alert("Invalid E-mail ID")
      lserror.innerHTML = 'Invalid E-mail ID';
      return false
   }
   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
      //alert("Invalid E-mail ID")
      lserror.innerHTML = 'Invalid E-mail ID';
      return false
   }
   if (str.indexOf(dot,(lat+2))==-1){
      //alert("Invalid E-mail ID")
      lserror.innerHTML = 'Invalid E-mail ID';
      return false
   }
   if (str.indexOf(" ")!=-1){
      //alert("Invalid E-mail ID")
      lserror.innerHTML = 'Invalid E-mail ID';
      return false
   }
   return true          
}


function setSub(){
    var TextBox7 = document.frm1.TextBox7.value;
	var TextBox6 = document.frm1.TextBox6.value;
	var TextBox1 = document.frm1.TextBox1.value;
	var TextBox2 = document.frm1.TextBox2.value;	
	var Address = document.frm1.txtForAddress.value;
	var Contact = document.frm1.txtContact.value;
	
    var lserror = DOMCall('lblError');
    if (lserror == null){
        alert ('It was null');
        return false ;
    }   
    
    if (TextBox7=='') {
        //alert('E-mail Add Required.');
        			
        //document.frm1.lblError.visible = true;
        lserror.innerHTML = "E-mail Add Required.";
	
        document.frm1.TextBox7.focus();
        return false;}
        
    if (echeck(TextBox7)==false){
        TextBox7=='';
        document.frm1.TextBox7.focus();
        return false;}
        
    if (TextBox6=='') {
        //alert('Key Verifier Required.');
        //document.getElementById('lblError').visible = true;
        lserror.innerHTML = "Key Verifier Required.";
        	
        document.frm1.TextBox6.focus();
        return false;}
        
    if (TextBox1=='') {
			   // alert('Complete Name Required.');
			    //document.getElementById('lblError').visible = true;
			    lserror.innerHTML =  "Complete Name Required.";
			
			    document.frm1.TextBox1.focus();
			    return false;}
			    
	if (TextBox2=='') {
			    //alert('Dealers Name Required.');
			    //document.getElementById('lblError').visible = true;
			    lserror.innerHTML =  "Dealers Code Required.";		
			
			    document.frm1.TextBox2.focus();
			    return false;}    
    
    if (Address=='') {
			    //alert('Dealers Name Required.');
			    //document.getElementById('lblError').visible = true;
			    lserror.innerHTML =  "Dealers Address Required.";		
			
			    document.frm1.txtForAddress.focus();
			    return false;}
	if (Contact=='') {
			    //alert('Dealers Name Required.');
			    //document.getElementById('lblError').visible = true;
			    lserror.innerHTML =  "Contact Number Required.";		
			
			    document.frm1.txtContact.focus();
			    return false;}
	
	if (document.frm1.hfkey.value!=TextBox6) {		
			    return false;}
		
	    document.frm1.hfemail.value = TextBox7;
	    document.frm1.hfkey.value = TextBox6;
	    document.frm1.hfdealer.value = TextBox2;
	    document.frm1.hfname.value = TextBox1;
		document.frm1.hfAddress.value =	Address;
		document.frm1.hfContact.value =	Contact;
		    
    return true;

}


function DOMCall(name) 
{
  //Checks the DOM features available
   if (document.layers) //checks document.layers
        return document.layers[name];
   else if (document.all) //checks document.all
        return document.all[name];
   else if (document.getElementById) //checks getElementById
        return document.getElementById(name);
}
//end


  
function setElementVisibility(elementToSet, showItSwitch, keepPlacementSwitch){
 if (showItSwitch) {
   //elementToSet.style.display = "inline";
   //elementToSet.style.visibility = "visible";
   elementToSet.style.display = "";
 }
 else{
   if (keepPlacementSwitch) {
     elementToSet.style.display = "inline";
     //elementToSet.style.visibility = "hidden";
     elementToSet.style.display = "none";
   }
   else{
     elementToSet.style.display = "none";
   }
 }
}

function hideTableA(){
 var lserror = DOMCall('lblError3');
  document.frm1.hsForSub.value = ""; 
  lserror.innerHTML = "";
 setElementVisibility(document.getElementById("tdSub3"), false, true);
}
function hideTableB(){
 setElementVisibility(document.getElementById("tdSub2"), false, true);
}
function showTableA(){

 document.frm1.TextBoxSerial.value = "";
 document.frm1.TextBoxWarnum.value = "";
 document.frm1.TextBoxSerialTag.value = "";
 document.frm1.TextBoxModel.value = "";
 document.frm1.TextBoxProb.value = "";
 document.frm1.TextBoxCustname.value = "";
 document.frm1.TextBoxCustemail.value = "";
 document.frm1.TextBoxCustmobile.value = "";
 document.frm1.TextBoxCusttel.value = "";
 document.frm1.TextBoxCustrem.value = ""; 
			 
 document.frm1.hsForSub.value = ""; 
 setElementVisibility(document.getElementById("tdSub2"), true);

}
function showTableB(){
 setElementVisibility(document.getElementById("tdSub3"), true);
} 

function ChkDate(dateStr) 
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		return 1;
	}
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[5];
	if (month < 1 || month > 12) { // check month range
		return 2;
	}
	if (day < 1 || day > 31) {
		return 2;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return 2;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			return 2;
		}
	}
	if (year < 1753)
		return 3;
		
	if (year > 2050)
		return 4;

	return 0; // date is valid
}
