function ltrim(s) { return s.replace( /^\s*/, "" ); }
function rtrim(s) { return s.replace( /\s*$/, "" ); } 
function trim(s)  { return rtrim(ltrim(s)); }  

function CharValidate(Field,ValidValues){
		
		var isValid = true;
		var i = 0;
		var j;
			

		while ((i < Field.length) & (isValid)){
		isValid = false;
		j = 0;
		while ( (j<=ValidValues.length) & (!isValid) ){
		if (Field.charAt(i) == ValidValues.charAt(j)){
		isValid = true;
		}
		j++;
					
		}
		i++;
		}
		return isValid;
	}
	
function CharCountFromArray(Field,ValidValues){
		
		var isValid = true;
		var i = 0;
		var j;
		var nr = 0;
			

		while ((i < Field.length) & (isValid)){
		isValid = false;
		j = 0;
		while ( (j<=ValidValues.length) & (!isValid) ){
		if (Field.charAt(i) == ValidValues.charAt(j)){
		isValid = true;
		nr++;
		}
		j++;
					
		}
		i++;
		}
		return i;
	}	


function emailCheck(seml) {
 var emailPat=/^(.+)@(.+)$/
 var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
 var validChars="\[^\\s" + specialChars + "\]"
 var quotedUser="(\"[^\"]*\")"
 var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
 var atom=validChars + '+'
 var word="(" + atom + "|" + quotedUser + ")"
 var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
 var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
 var matchArray=seml.match(emailPat)
 var msg = "The form cannot be processed because\n";
 if (matchArray==null) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 var user=matchArray[1];
 var domain=matchArray[2];
 if (user.match(userPat)==null) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 var IPArray=domain.match(ipDomainPat);
 if (IPArray!=null) {
	for (var i=1;i<=4;i++) { if (IPArray[i]>255) {
	 alert(msg + "the email address is invalid.");
	 return false; }
	}
	return true;
 }
 var domainArray=domain.match(domainPat);
 if (domainArray==null) {
	alert(msg + "the email address is invalid.\n");
	return false;
 }
 var atomPat=new RegExp(atom,"g");
 var domArr=domain.match(atomPat);
 var len=domArr.length;
 if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 if (len<2) {
	alert(msg + "the email address is invalid.");
	return false;
 }
 return true;
}
function checkValues(fmode) {
	var nu = trim(document.contdetest.elements["nume"].value);
	var em = trim(document.contdetest.elements["emailc"].value);
	var ad = trim(document.contdetest.elements["adr"].value);
	
	var co = trim(document.contdetest.elements["numef"].value);
	
	var nr = trim(document.contdetest.elements["tel"].value);
	var gs = trim(document.contdetest.elements["gsm"].value);
	
	var or = trim(document.contdetest.elements["oras"].value);
	var m1 = trim(document.contdetest.elements["mac1"].value);
	var m2 = trim(document.contdetest.elements["mac2"].value);
	var m3 = trim(document.contdetest.elements["mac3"].value);
	var m4 = trim(document.contdetest.elements["mac4"].value);
	var m5 = trim(document.contdetest.elements["mac5"].value);
	var m6 = trim(document.contdetest.elements["mac6"].value);
	var mar = trim(document.contdetest.elements["mar"].value);
 	
	var mpl = trim(document.contdetest.elements["mpl"].value);
	var tip = trim(document.contdetest.elements["tipleg"].value);
	var so = trim(document.contdetest.elements["so"].value);
	
	
	var ret = "The test account request form cannot be processed because there are required fields which are not filed:\n\n";
	var cnt = 0;
	var sel = 0;
	
	if (fmode==1) {
	 if (nu == "") {
		ret = ret + "- Please provide your name.\n"; 
		document.contdetest.elements["nume"].focus(); sel = 1;
		if (isIE){document.contdetest.elements["nume"].style.background="#CC9999";}
	 } else {
		cnt = cnt + 1; 
		if (isIE){document.contdetest.elements["nume"].style.background="#ebebeb";}
	 }
	} else { cnt = cnt + 1; }
	
	if (em  == "") {
	 ret = ret + "- Please provide your e-mail address.\n";
	 if (sel != 1) document.contdetest.elements["emailc"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["emailc"].style.background="#CC9999";} 
	} else { 
	 if (emailCheck(em)) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["emailc"].style.background="#ebebeb";} 
	 } else { 
	   document.contdetest.elements["emailc"].focus(); sel = 1; cnt = 6;
	   if (isIE){document.contdetest.elements["emailc"].style.background="#CC9999";}		
	 }
	}
		
	
	
	if (co == "") {
	 ret = ret + "- Please provide your company name.\n";
	 if (sel != 1) document.contdetest.elements["numef"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["numef"].style.background="#CC9999";}
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["numef"].style.background="#ebebeb";}
	}
	
 
	
	
//	if (co == "") {
//	 ret = ret + "- Please provide your company name.\n";
//	 if (sel != 1) document.contdetest.elements["numef"].focus(); sel = 1;
//	 if (isIE){document.contdetest.elements["numef"].style.background="#CC9999";} 
//	} else {
//	  if (CharCountFromArray(co,"aeiouAEIOU")<1) { 
//	  cnt = cnt + 1;
//	  if (isIE){document.contdetest.elements["numef"].style.background="#ebebeb";} 
//	 } else { 
//	   ret = ret + "- Your company is not a valid one. "+CharCountFromArray(co,"aeiouAEIOU")+"\n";
//	   document.contdetest.elements["numef"].focus(); sel = 1; 
//	   if (isIE){document.contdetest.elements["numef"].style.background="#CC9999";}		
//	 }
//	}
	
 
	
	if (nr == "") {
	 ret = ret + "- Please provide your phone number.\n";
	 if (sel != 1) document.contdetest.elements["tel"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["tel"].style.background="#CC9999";} 
	} else {
	  if (CharValidate(nr,"0123456789-")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["tel"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The phone number must be numbers.\n";
	   document.contdetest.elements["tel"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["tel"].style.background="#CC9999";}		
	 }
	}
	
	
	
	if (gs == "") {
	 ret = ret + "- Please provide your gsm number.\n";
	 if (sel != 1) document.contdetest.elements["gsm"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["gsm"].style.background="#CC9999";} 
	} else {
	  if (CharValidate(gs,"0123456789-")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["gsm"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The gsm number must be numbers.\n";
	   document.contdetest.elements["gsm"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["gsm"].style.background="#CC9999";}		
	 }
	}
	
 
	
	
	if (ad == "") {
	 ret = ret + "- Please provide your address.\n";
	 if (sel != 1) document.contdetest.elements["adr"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["adr"].style.background="#CC9999";}
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["adr"].style.background="#ebebeb";}
	}
	
	
	
		
	if (or == "") {
	 ret = ret + "- Please provide your town.\n";
	 if (sel != 1) document.contdetest.elements["oras"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["oras"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["oras"].style.background="#ebebeb";}
	}
	
	if (mar == "gol") {
	 ret = ret + "- Please provide the dish size.\n";
	 if (sel != 1) document.contdetest.elements["mar"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mar"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["mar"].style.background="#ebebeb";}
	}
	
	
	
	
	if (document.contdetest.poz[1].checked) {
	 ret = ret + "- You must point your dish to can receive a test account.\n";
//	 if (sel != 1) document.contdetest.elements["poz"].focus(); sel = 1;
//	 if (isIE){document.contdetest.elements["poz"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
//	 if (isIE){document.contdetest.elements["poz"].style.background="#ebebeb";}
	}
	 
	 
	 
	
	
	
	if (m1.length < 2) {
	 ret = ret + "- Please provide the mac address in the first field.\n";
	 if (sel != 1) document.contdetest.elements["mac1"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mac1"].style.background="#CC9999";} 
	} else {
	  if (CharValidate(m1,"0123456789abcdefABCDEF")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["mac1"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The first field of MAC address must be in hexadeciaml format.\n";
	   document.contdetest.elements["mac1"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["mac1"].style.background="#CC9999";}		
	 }
	}
	
	if (m2.length < 2) {
	 ret = ret + "- Please provide the mac address in the second field..\n";
	 if (sel != 1) document.contdetest.elements["mac2"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mac2"].style.background="#CC9999";} 
	} else {
	 if (CharValidate(m2,"0123456789abcdefABCDEF")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["mac2"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The second field of MAC address must be in hexadeciaml format.\n";
	   document.contdetest.elements["mac2"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["mac2"].style.background="#CC9999";}		
	 }
	}
	
	if (m3.length < 2) {
	 ret = ret + "- Please provide the mac address in the third field..\n";
	 if (sel != 1) document.contdetest.elements["mac3"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mac3"].style.background="#CC9999";} 
	} else {
	 if (CharValidate(m3,"0123456789abcdefABCDEF")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["mac3"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The third field of MAC address must be in hexadeciaml format.\n";
	   document.contdetest.elements["mac3"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["mac3"].style.background="#CC9999";}		
	 }
	}
	
	if (m4.length < 2) {
	 ret = ret + "- Please provide the mac address in the fourth field..\n";
	 if (sel != 1) document.contdetest.elements["mac4"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mac4"].style.background="#CC9999";} 
	} else {
	if (CharValidate(m4,"0123456789abcdefABCDEF")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["mac4"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The fourth field of MAC address must be in hexadeciaml format.\n";
	   document.contdetest.elements["mac4"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["mac4"].style.background="#CC9999";}		
	 }
	}
	
	if (m5.length < 2) {
	 ret = ret + "- Please provide the mac address in the fifth field..\n";
	 if (sel != 1) document.contdetest.elements["mac5"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mac5"].style.background="#CC9999";} 
	} else {
	 if (CharValidate(m5,"0123456789abcdefABCDEF")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["mac5"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The fifth field of MAC address must be in hexadeciaml format.\n";
	   document.contdetest.elements["mac5"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["mac5"].style.background="#CC9999";}		
	 }
	}

	if (m6.length < 2) {
	 ret = ret + "- Please provide the mac address in the sixth field..\n";
	 if (sel != 1) document.contdetest.elements["mac6"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mac6"].style.background="#CC9999";} 
	} else {
	 if (CharValidate(m6,"0123456789abcdefABCDEF")) { 
	  cnt = cnt + 1;
	  if (isIE){document.contdetest.elements["mac6"].style.background="#ebebeb";} 
	 } else { 
	   ret = ret + "- The sixth field of MAC address must be in hexadeciaml format.\n";
	   document.contdetest.elements["mac6"].focus(); sel = 1; 
	   if (isIE){document.contdetest.elements["mac6"].style.background="#CC9999";}		
	 }
	}
	
	
	
	
	
	
	
	
	if (mpl == "gol") {
	 ret = ret + "- Please provide your dvb card.\n";
	 if (sel != 1) document.contdetest.elements["mpl"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["mpl"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["mpl"].style.background="#ebebeb";}
	}
	
	if (tip == "gol") {
	 ret = ret + "- Please provide connection type.\n";
	 if (sel != 1) document.contdetest.elements["tipleg"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["tipleg"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["tipleg"].style.background="#ebebeb";}
	}
 
	
	
	if (so == "gol") {
	 ret = ret + "- Please provide operating system.\n";
	 if (sel != 1) document.contdetest.elements["so"].focus(); sel = 1;
	 if (isIE){document.contdetest.elements["so"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
	 if (isIE){document.contdetest.elements["so"].style.background="#ebebeb";}
	}
	
	
	
	if (document.contdetest.citit[1].checked) {
	 ret = ret + "- You must read our documentations to can receive a test account.\n";
//	 if (sel != 1) document.contdetest.elements["citit"].focus(); sel = 1;
//	 if (isIE){document.contdetest.elements["citit"].style.background="#CC9999";} 
	} else {
	 cnt = cnt + 1;
//	 if (isIE){document.contdetest.elements["citit"].style.background="#ebebeb";}
	}
	
	if (nu == co) {
	 ret = ret + "- Your name and company name cannot be the same.\n";
	 if (sel != 1) document.contdetest.elements["nume"].focus(); sel = 1;
	 if (isIE){
	 		document.contdetest.elements["nume"].style.background="#CC9999";
			document.contdetest.elements["numef"].style.background="#CC9999";
			}
	} else {
	 cnt = cnt + 1;
	 if (isIE){
	 	document.contdetest.elements["nume"].style.background="#ebebeb";
		document.contdetest.elements["numef"].style.background="#ebebeb";
		}
	}
	
	

	if (cnt < 20) {
	 alert(ret); 	 
	 return false;
	} else { 
	 if (cnt == 20) { return true; } else { return false; }
	}
}