function isValidSubmission( _form )





{





	if( _form == null )





		return;











	// valid email addresses will bypass invalid check





	var vEmail = new Array(0);





	vEmail[vEmail.length] = ".uk";	// United Kingdom





	vEmail[vEmail.length] = ".ca";	// Canada





	vEmail[vEmail.length] = ".de";	// Germany





	vEmail[vEmail.length] = ".ch";	// Switzerland





	vEmail[vEmail.length] = ".se";	// Finland, Sweden





	vEmail[vEmail.length] = ".jp";		// Japan





	vEmail[vEmail.length] = ".kr";	// South Korea





	vEmail[vEmail.length] = ".fr";		// France





	vEmail[vEmail.length] = ".dk";	// Denmark





	vEmail[vEmail.length] = ".au";	// Australia





	





	// invalid email addresses





	var ivEmail = new Array(0);





	ivEmail[ivEmail.length] = ".edu";





	ivEmail[ivEmail.length] = "@yahoo.com";





	ivEmail[ivEmail.length] = "@aol.com";





	ivEmail[ivEmail.length] = "@pacbell.net";





	ivEmail[ivEmail.length] = "@263.net";



	ivEmail[ivEmail.length] = "@163.com";


	ivEmail[ivEmail.length] = "@cn21.net";





	ivEmail[ivEmail.length] = "@citiz.net";





	ivEmail[ivEmail.length] = "@arasan.com";





	ivEmail[ivEmail.length] = "@wipro.com";





	ivEmail[ivEmail.length] = "@insilicon.com";





	ivEmail[ivEmail.length] = "@mentor.com";





	ivEmail[ivEmail.length] = "@hotmail.com";





	ivEmail[ivEmail.length] = "@faraday.com.tw";




	


	ivEmail[ivEmail.length] = "@sota.com.tw";





	ivEmail[ivEmail.length] = "@gdatech.com";







	ivEmail[ivEmail.length] = "@globalunichip.com";







	ivEmail[ivEmail.length] = "@tundra.com";





	ivEmail[ivEmail.length] = "@plxtech.com";





	ivEmail[ivEmail.length] = "@hanmail.net";





	ivEmail[ivEmail.length] = "@rediffmail.com";





	ivEmail[ivEmail.length] = "@prodigy.net";





	ivEmail[ivEmail.length] = "@pchome.com.tw";











	// valid countries will bypass invalid check





	// leave as is, add a new valid country to the form's country selector





	var vCountry = null;











	// invalid countries





	var ivCountry = new Array(0);





	ivCountry[ivCountry.length] = "Other";




       ivCountry[ivCountry.length] = "India";





       ivCountry[ivCountry.length] = "Russia";











	





	var EMAIL = getValue( _form.EMAIL );





	var COUNTRY = getValue( _form.COUNTRY );





	





	var bIsValidEmail = isValidValue( vEmail, ivEmail, EMAIL, false, false );





	var bIsValidCountry = isValidValue( vCountry, ivCountry, COUNTRY, true, false );











	var bIsValidSubmission = false;





	if ( bIsValidEmail && bIsValidCountry )





		bIsValidSubmission = true;





		





	return bIsValidSubmission;





}











function isValidValue( vArray, ivArray, sValue, bMatchWord, bValidOnly )





{





	var bIsValidValue = false;





	





	if ( sValue == null || sValue == "" )





		return bIsValidValue;





	





	if ( vArray != null )





	{





		for ( var i = 0; i < vArray.length; i++ )





		{





			var Valid = vArray[i];





//			if ( Valid[0] != null )





//			{





//				bIsValidValue = isValidValue( Valid, null, sValue, bMatchWord, bValidOnly );





//				if ( bIsValidValue )





//					break;





//			}





//			else





//			{





			var valA = sValue.toLowerCase();





			var valB = Valid.toLowerCase();





			





			if ( bMatchWord )





			{





				if ( valA == valB )





				{





					bIsValidValue = true;





					break;





				}





			}





			else





			{





				if ( valA.indexOf( valB ) != -1 )





				{





					bIsValidValue = true;





					break;





				}





			} // if(bMatchWord)





//			} // if(Valid[0]!=null)





		} // for





	} // if(vArray!=null)











	if ( ivArray != null && !bIsValidValue && !bValidOnly )





	{





		bIsValidValue = !isValidValue( ivArray, null, sValue, bMatchWord, bValidOnly );





	}





	return bIsValidValue;





}











function findObj(n, d) { //v3.0





  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {





    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}





  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];





  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); return x;





}











function validateForm() { //v3.0





  var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;





  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=findObj(args[i]);





    if (val) { nm=val.name; if ((val=val.value)!="") {





      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');





        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';





      } else if (test!='R') { num = parseFloat(val);





        if (val!=''+num) errors+='- '+nm+' must contain a number.\n';





        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');





          min=test.substring(8,p); max=test.substring(p+1);





          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';





    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }





  }





  if (errors) alert('The following error(s) occurred:\n'+errors);





  document.returnValue = (errors == '');





}