document.onkeydown = getKeycode;

var enable_enter = false;
var blnDOM = false, blnIE4 = false, blnNN4 = false; 

if (document.getElementById) blnDOM = true;
else if (document.layers) blnNN4 = true;
else if (document.all) blnIE4 = true;

function state_enter_key(str)
{
	if(str = "on")	
	{
		enable_enter = true;
	}
	else
		enable_enter = false;
	
}

function getKeycode(e)
{
	if(!enable_enter)
	{
	  if (blnNN4)
	  {
	    var mykey = e.which;
	  }
	
	
	  if (blnDOM || blnIE4)
	  {
	    var mykey = event.keyCode;
	  } 
	
	  if (mykey ==13)
		return false;
	}
}

var blnSubmited = false; // used in function OkToSubmit()
function OkToSubmit()
{
	if(!blnSubmited)
	{
		var f = document.forms[0];
		var err = "";
		var err_sorry = "Sorry, we were unable to process your request.\nPlease complete the following:\n\n";
	
		var err_fname = "Enter your First Name\n";
		var err_lname = "Enter your Last Name\n";	
		var err_prov = "Select your Province\n";
		var err_postal2 = "Enter a valid Postal Code\n";
		var err_contact_nums = "Enter your Home or Work Phone Number, or your Email Address\n";
		var err_w_phone2 = "Enter your Work Area Code\n";
		var err_w_phone3 = "Enter your Work Phone Number\n"
		var err_w_phone4 = "Enter a valid Work Area Code\n";
		var err_w_phone5 = "Enter a valid Work Phone Number\n";
		var err_h_phone2 = "Enter your Home Area Code\n";
		var err_h_phone3 = "Enter your Home Phone Number\n"
		var err_h_phone4 = "Enter a valid Home Area Code\n";
		var err_h_phone5 = "Enter a valid Home Phone Number\n";
		var err_email2 = "Enter a valid E-mail Address\n";
		var err_message = "Enter a Message\n";
		var err_country1 = "Select a Country\n";
		var err_prov_state1 = "Select a Province or State\n";
		var err_prov_state2 = "Select a Province\n";
		var err_prov_state3 = "Select a State\n";
		var err_bbdate = "Enter a valid Best Before Code Date\n";	
		var err_other_date = "Enter a valid Other Code Date\n";	
		var err_city = "Enter a City\n";
		
		if(trim(f.elements["fname"]) == "")
				err += err_fname;
		if(trim(f.elements["lname"]) == "")
				err += err_lname;				
				
		if(f.elements["country"].selectedIndex == 0)
				err += err_country1;
		if(f.elements["country"].selectedIndex == 0 && (f.elements["prov_state"].selectedIndex == 0 || f.elements["prov_state"].selectedIndex == 1 || f.elements["prov_state"].selectedIndex == 15 || f.elements["prov_state"].selectedIndex == 16 || f.elements["prov_state"].selectedIndex == 17))
				err += err_prov_state1;
										
		if(f.elements["country"].selectedIndex == 1 && (f.elements["prov_state"].selectedIndex <= 1 || f.elements["prov_state"].selectedIndex > 14 ) )
				err += err_prov_state2;		
		else if(f.elements["country"].selectedIndex == 2 && (f.elements["prov_state"].selectedIndex < 18) )
				err += err_prov_state3;
						
		if(f.elements["country"].selectedIndex == 1)
		{
			if(trim(f.elements["postal"]) != "")
			{
				if(!checkPostalCode(f.elements["postal"]))
					err += err_postal2;
			}
		}
		
		if(trim(f.elements["city"]) == "")
				err += err_city;	

		if(trim(f.elements["h_phone1"]) == "" && trim(f.elements["h_phone2"]) == "" && trim(f.elements["w_phone1"]) == "" && trim(f.elements["w_phone2"]) == "" && trim(f.elements["email"]) == "")
			err += err_contact_nums;
		else
		{
			if(trim(f.elements["h_phone1"]) != "" || trim(f.elements["h_phone2"]) != "")
			{
				if(trim(f.elements["h_phone1"]) == "")
					err += err_h_phone2;
				else if(trim(f.elements["h_phone1"]).length < 3)
					err += err_h_phone4;
				else if(!checkNumber(trim(f.elements["h_phone1"])) )
					err += err_h_phone4;
				if(trim(f.elements["h_phone2"]) == "")
					err += err_h_phone3;
				else if(trim(f.elements["h_phone2"]).length < 7)
					err += err_h_phone5;
				else if(!check7DigitPhone(trim(f.elements["h_phone2"])))
					err += err_h_phone5;
					
				
			}
			
			if(trim(f.elements["w_phone1"]) != "" || trim(f.elements["w_phone2"]) != "")
			{
				if(trim(f.elements["w_phone1"]) == "")
					err += err_w_phone2;
				else if(trim(f.elements["w_phone1"]).length < 3)
					err += err_w_phone4;
				else if(!checkNumber(trim(f.elements["w_phone1"])) )
					err += err_w_phone4;
				if(trim(f.elements["w_phone2"]) == "")
					err += err_w_phone3;
				else if(trim(f.elements["w_phone2"]).length < 7)
					err += err_w_phone5;
				else if(!check7DigitPhone(trim(f.elements["w_phone2"])))
					err += err_w_phone5;
					
				
			}
			
			if(trim(f.elements["email"]) != "")
			{
				if(checkEmail(trim(f.elements["email"])))
					err += err_email2;
			}	
		}
		
		if(f.elements["bbmonth"].selectedIndex != 0 && f.elements["bbday"].selectedIndex != 0 && f.elements["bbyear"].selectedIndex != 0)
		{
			if(!checkValidDate(parseInt(f.elements["bbyear"].options[f.elements["bbyear"].selectedIndex].value),parseInt(f.elements["bbmonth"].options[f.elements["bbmonth"].selectedIndex].value),parseInt(f.elements["bbday"].options[f.elements["bbday"].selectedIndex].value)))
				err += err_bbdate;
			else
			{
				f.elements["bb_code_dt"].value = f.elements["bbmonth"].options[f.elements["bbmonth"].selectedIndex].value + "/" + f.elements["bbday"].options[f.elements["bbday"].selectedIndex].value + "/" + f.elements["bbyear"].options[f.elements["bbyear"].selectedIndex].value;
			}
		}		
		else if(f.elements["bbmonth"].selectedIndex != 0 || f.elements["bbday"].selectedIndex != 0 || f.elements["bbyear"].selectedIndex != 0)
			err += err_bbdate;
					
		if(trim(f.elements["message"]) == "")
			err += err_message;
		
		if(err == "")
		{
			f.elements["h_phone2_h"].value = return7DigitPhone(trim(f.elements["h_phone2"]));
			f.elements["w_phone2_h"].value = return7DigitPhone(trim(f.elements["w_phone2"]));		
			blnSubmited = true;
			return true;
		}
		else
		{								
			alert(err_sorry + err);	
			return false;
		}
	}	
}
function checkValidDate(intYear,intMonth,intDay)
	{
		var ndt = new Date(intYear,intMonth-1,intDay);
		var blnDTOk = true;
		
		if(ndt.getMonth()+1 != intMonth)
			blnDTOk = false;
		
		return blnDTOk;		
	}
function return7DigitPhone(str)
{

	var phone = str;
	var newPhone = "";
		
	for(i=0; i<phone.length; i++)
	{
		if(phone.charCodeAt(i) >= 48 && phone.charCodeAt(i) <=57)
		{
			newPhone += phone.charAt(i);
		}
	}
	
	return newPhone;
}
