function goCheckField(fn){
	var cansub = true
	myValue = document.getElementById("CName");
	myValue2 = document.getElementById("CCompany");
	myValue3 = document.getElementById("CIndustry");
	myValue4 = document.getElementById("CTel");
	myValue5 = document.getElementById("CEMail");
	document.getElementById("ip_address").value = '<!--#echo var="REMOTE_ADDR"-->';
    //myValue6 = document.pricing.WHICH_MEDIA
	
	myMsg	= 'Please tell us your name...';
	myMsg2	= 'Which company do you slog for?';
	myMsg3	= 'Pray tell, which industry does your company belong to?';
	myMsg4	= 'Can you give us your phone number, please? ;P';
	myMsg4a	= 'Your telephone number does not seem to be valid. Btw, I cannot handle spaces inbetween... :(';
	myMsg5  = 'Pray tell, what is your email address?';
	myMsg5a  = 'The email address you provided is suspiciously dubious... Please check again. Thanks. :)';
	myMsg6  = 'Pray tell, how did you find out about us?';
	
		if ((myValue.value == '') && (myMsg !== '')) {alert(myMsg); myValue.focus();cansub=false;}
		else if ((myValue2.value == '') && (myMsg2 !== '')) {alert(myMsg2);myValue2.focus();cansub=false;}
		else if ((myValue3.selectedIndex == 0) && (myMsg3 !== '')) {alert(myMsg3);myValue3.focus();cansub=false;}
		else if ((myValue4.value == '') && (myMsg4 !== '')) {alert(myMsg4);myValue4.focus();cansub=false;}
		else if (myValue4.value !== '') 		
		{
		function isInteger(s)
			{   var i;
 			   for (i = 0; i < s.length; i++)
 			   {   
 			       // Check that current character is number.
 			       var c = s.charAt(i);
 			       if (((c < "0") || (c > "9"))) return false;cansub=false;
 			   }
 			}
		
		if (isInteger(myValue4.value)==false){
		alert(myMsg4a);
		myValue4.focus();
		cansub=false;
		}
		else if ((myValue4.value.length != 8) || (isNaN(myValue4.value)))
		{alert(myMsg4a);
		myValue4.focus();
		cansub=false;
		} 
		else if ((myValue5.value == '') && (myMsg5 !== '')) {alert(myMsg5);myValue5.focus();cansub=false;}
		else
		{
		  emailCheck(myValue5.value, fn);
		}
	}
	}
function emailCheck (emailStr, fn) {
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=emailStr.match(emailPat)
if (matchArray==null) {
  	alert(myMsg5a);
  	myValue5.focus();
  	cansub=false;
} else
{
  var user=matchArray[1]
  var domain=matchArray[2]
  var IPArray=domain.match(ipDomainPat)
  var domainArray=domain.match(domainPat)
  if (user.match(userPat)==null) {
    alert(myMsg5a);myValue5.focus();
    cansub=false;
  }
  else
  if (IPArray!=null) {
    	for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert(myMsg5a);myValue5.focus();
	        cansub=false;
	    }
    }
  } else
  if (domainArray==null) {
	alert(myMsg5a);myValue5.focus();
	cansub=false;
  } else
  if (cansub=true)
  {
    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(myMsg5a);myValue5.focus();
        cansub=false;
    } else
    if (len<2) {
      alert(myMsg5a);myValue5.focus();
      cansub=false;
    }
  }
}
if (cansub==true) {
  glSubmit(fn, '/cgi-bin/formmail.pl', '');
}
}
function glSubmit(fn, urlpath, msg)
{
var frmname
   if (fn=='registration') {frmname=document.registration} else
   if (fn=='feedback') {frmname=document.feedback} else
   if (fn=='pricing') {frmname=document.pricing}
   if (msg !== ''){
   	 if (confirm(msg)) {
	   frmname.action = urlpath;
	   frmname.submit();   		 
	 	return true;
	}
	else return false;
   }
	   frmname.action = urlpath;
	   frmname.submit();   		   
}

