// JavaScript Document

function validGeneral(){
	var errormessage ="";
	
	if(document.all.r_Name.value == ""){
		errormessage += "Please Enter Your Name\n";		
	}
	
	if(document.all.re_email.value == ""){
		errormessage += "Please Enter Email Address\n";		
	}
	else if (!CheckEmail(document.all.re_email)){
		errormessage += "Please Enter A Valid Email Address\n";
		document.all.re_email.value = "";
	}
	
	//if(document.all.r_Contact.value == ""){
		//errormessage += "Please Enter Your Contact Info\n";
	//}
	
	if(document.all.r_City.value == ""){
		errormessage += "Please Enter A City\n";
	}
	
	if(document.all.r_State.value == ""){
		errormessage += "Please Enter A State\n";
	}
	
	if(document.all.r_Phone.value == ""){
		errormessage += "Please Enter Your Phone Number\n";
	}
	
	if(isNaN(document.all.r_Phone.value)){
		 errormessage += "Please Enter A Valid Phone Number\n";
		 document.all.r_Phone.value = "";
	}	
	
	if(document.all.r_Fax.value != ""){
		if(isNaN(document.all.r_Fax.value)){
			errormessage += "Please Enter A Valid Fax Number\n";
			document.all.r_Fax.value = "";
		}
	}
	
	if(document.all.Work_Type.value == "Please Select"){
		errormessage += "Please Select A Work Type\n";
	}
	
	if(document.all.shirt_Color.value == "Shirt Color"){
		errormessage += "Please Select Shirt Color\n";
	}
	
	if(document.all.Position.value == "Position"){
		errormessage += "Please Select Position Of Artwork On Front\n";
	}
	
	if(document.all.colors.value == "# of Colors"){
		errormessage += "Please Select # of Colors For Artwork On The Front\n";
	}
	
	if(document.all.Position1.value == "Position"){
		errormessage += "Please Select Position Of Artwork On Back\n";
	}
	
	if(document.all.Colors1.value == "# of Colors"){
		errormessage += "Please Select # of Colors For Artwork On The Back\n";
	}
	
	if(document.all.Shirt_Type.value == "Please Choose"){
		errormessage += "Please Select A Shirt Type\n";
	}
	
	if(document.all._Interest_Level.value == "none chosen"){
		errormessage += "Please Choose A Level Of Interest\n";
	}
	
	if((document.all._Piece_Count.value == "none chosen") && (document.all._Exact_Piece_Count.value == "")){
		errormessage += "Please Choose/Enter Number Of Items\n";		
	}
	else if(isNaN(document.all._Exact_Piece_Count.value)){
		errormessage += "Please Enter A Valid Number Of Items\n";
	}
	
	if(document.all._Unit_Budget.value == ""){		
		errormessage += "Please Enter Unit Budget\n";
	}
	else if (isNaN(document.all._Unit_Budget.value)){
		errormessage += "Please Enter A Valid Number For Unit Budget\n";
	}		
	
	if(document.all._Project_Budget.value == ""){
		errormessage += "Please Enter Project Budget\n";
	}
	else if(isNaN(document.all._Project_Budget.value)){
		errormessage += "Please Enter A Valid Number For Project Budget\n";
	}
	
	if(document.all._Urgency.value == "none chosen"){
		errormessage += "Please Choose Level Of Urgency\n";
	}
	
	if(document.all.findUs.value == "How did you find us?"){
		errormessage += "Please Choose How You Found Out About Air Mania\n";
	}
	
	if (errormessage != "")
	{
		alert("In order to continue with the order,\nyou must enter the following information:\n\n" + errormessage + "\nPlease click OK, enter the required information,\nand re-submit your request.");
		return false;
	}
	return true;
}

function CheckEmail(frm) 
{
	var emailStr=frm.value;

	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)
	 {
			frm.value="";
			frm.focus();
			return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	// See if "user" is valid 
	if (user.match(userPat)==null)
	 {
				frm.value="";
				frm.focus();
				return false;
	}

	/* if the e-mail address is at an IP address (as opposed to a symbolic
   	host name) make sure the IP address is valid. */

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
    		// this is an IP address

	 	 for (var i=1;i<=4;i++) 
		 {
	    		if (IPArray[i]>255) 
				{
					frm.value="";
					frm.focus();
					return false;	
	   		 	}
    	}
    		return true;
	}
	// Domain is symbolic name

	var domainArray=domain.match(domainPat)
	if (domainArray==null) 
	{
				frm.value="";
				frm.focus();
				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) 
	{
				frm.value="";
				frm.focus();
				return false;	
	}

	// Make sure there's a host name preceding the domain.
	if (len<2) 
	{
   		var errStr="This address is missing a hostname!";				
				frm.value="";
				frm.focus();
				return false;	
	}
	return true;
}
