// broker/Register.aspx
function CheckRealEstateRegister(w)
{
	if (w.ddl_state && w.ddl_state.options[w.ddl_state.selectedIndex].value == "")
	{
		alert("Please choose a State");
		w.ddl_state.focus();
		return false;
	}

	if (w.ddl_region && w.ddl_region.options[w.ddl_region.selectedIndex].value == "")
	{
		alert("Please choose a Region");
		w.ddl_region.focus();
		return false;
	}

	if (w.tb_fname && !validName(w.tb_fname.value, "First Name"))
	{
		w.tb_fname.focus();
		return false;
	}
	if (w.tb_lname && !validName(w.tb_lname.value, "Last Name"))
	{
		w.tb_lname.focus();
		return false;
	}
	
	//###############################
	// handle daytime phone number
	if (w.tb_daytimephone1.value == "" || w.tb_daytimephone1.value.length < 3)
	{
		alert("Please enter your complete Daytime Phone number");
		w.tb_daytimephone1.focus();
		return false;
	}
	if (w.tb_daytimephone2.value == "" || w.tb_daytimephone2.value.length < 3)
	{
		alert("Please enter your complete Daytime Phone number");
		w.tb_daytimephone2.focus();
		return false;
	}
	if (w.tb_daytimephone3.value == "" || w.tb_daytimephone3.value.length < 4)
	{
		alert("Please enter your complete Daytime Phone number");
		w.tb_daytimephone3.focus();
		return false;
	}

	//###############################
	// handle cell phone number
	if (w.tb_cellphone1.value == "" || w.tb_cellphone1.value.length < 3)
	{
		alert("Please enter your complete Cell Phone number");
		w.tb_cellphone1.focus();
		return false;
	}
	if (w.tb_cellphone2.value == "" || w.tb_cellphone2.value.length < 3)
	{
		alert("Please enter your complete Cell Phone number");
		w.tb_cellphone2.focus();
		return false;
	}
	if (w.tb_cellphone3.value == "" || w.tb_cellphone3.value.length < 4)
	{
		alert("Please enter your complete Cell Phone number");
		w.tb_cellphone3.focus();
		return false;
	}

	//###############################
	// handle fax number
	if (w.tb_fax1.value == "" || w.tb_fax1.value.length < 3)
	{
		alert("Please enter your complete Fax number");
		w.tb_fax1.focus();
		return false;
	}
	if (w.tb_fax2.value == "" || w.tb_fax2.value.length < 3)
	{
		alert("Please enter your complete Fax number");
		w.tb_fax2.focus();
		return false;
	}
	if (w.tb_fax3.value == "" || w.tb_fax3.value.length < 4)
	{
		alert("Please enter your complete Fax number");
		w.tb_fax3.focus();
		return false;
	}

	if (w.tb_company && w.tb_company.value == "")
	{
		alert("Please enter your Company name");
		w.tb_company.focus();
		return false;
	}

	if (w.tb_address && w.tb_address.value == "")
	{
		alert("Please enter your street address");
		w.tb_address.focus();
		return false;
	}

	if (w.tb_city && !validName(w.tb_city.value, "City"))
	{
		w.tb_city.focus();
		return false;
	}

	if (w.tb_zip && !validZip(w.tb_zip.value, "Zip"))
	{
		w.tb_zip.focus();
		return false;
	}

	if (w.ddl_state1 && w.ddl_state1.options[w.ddl_state.selectedIndex].value == "")
	{
		alert("Please choose a State");
		w.ddl_state1.focus();
		return false;
	}
}


// regcard/Contact.aspx
function CheckContactUs(w)
{
	var obutton = document.getElementById("imgbtn_send");
	obutton.enabled = false;

	if (w.tb_fname && !validName(w.tb_fname.value, "First Name"))
	{
		w.tb_fname.focus();
		return false;
	}
	if (w.tb_lname && !validName(w.tb_lname.value, "Last Name"))
	{
		w.tb_lname.focus();
		return false;
	}

	if (w.tb_email && !validEmail(w.tb_email.value, "Email Address"))
	{
		w.tb_email.focus();
		return false;
	}

	if (w.tb_email && w.tb_emailconfirm && (w.tb_email.value != w.tb_emailconfirm.value))
	{
		alert("Please confirm your email address");
		w.tb_emailconfirm.value = '';
		w.tb_emailconfirm.focus();
		return false;
	}

	if (w.ddl_region && w.ddl_region.selectedIndex == 0)
	{
		alert("Please select a region");
		w.ddl_region.focus();
		return false;
	}

	if (w.tb_zip && !validZip(w.tb_zip.value, "Zip"))
	{
		w.tb_zip.focus();
		return false;
	}	
		
	return true;
}

function CheckSeminarRSVP(w)
{
	var obutton = document.getElementById("imgbtn_send");
	obutton.enabled = false;

	if (w.tb_fname && !validName(w.tb_fname.value, "First Name"))
	{
		w.tb_fname.focus();
		return false;
	}
	if (w.tb_lname && !validName(w.tb_lname.value, "Last Name"))
	{
		w.tb_lname.focus();
		return false;
	}

	if (w.tb_email && !validEmail(w.tb_email.value, "Email Address"))
	{
		w.tb_email.focus();
		return false;
	}

	if (w.tb_email && w.tb_emailconfirm && (w.tb_email.value != w.tb_emailconfirm.value))
	{
		alert("Please confirm your email address");
		w.tb_emailconfirm.value = '';
		w.tb_emailconfirm.focus();
		return false;
	}

	if (w.ddl_region && w.ddl_region.selectedIndex == 0)
	{
		alert("Please select a region");
		w.ddl_region.focus();
		return false;
	}

	if (w.tb_zip && !validZip(w.tb_zip.value, "Zip"))
	{
		w.tb_zip.focus();
		return false;
	}
		
	if (w.tb_RSVPphone1.value == "" || w.tb_RSVPphone1.value.length < 3)
	{
		alert("Please enter your complete Phone number");
		w.tb_RSVPphone1.focus();
		return false;
	}
	
	if (w.tb_RSVPphone2.value == "" || w.tb_RSVPphone2.value.length < 3)
	{
		alert("Please enter your complete Phone number");
		w.tb_RSVPphone2.focus();
		return false;
	}
	
	if (w.tb_RSVPphone3.value == "" || w.tb_RSVPphone3.value.length < 4)
	{
		alert("Please enter your complete Phone number");
		w.tb_RSVPphone3.focus();
		return false;
	}
	
	return true;
}

// regcard/Contact.aspx
function CheckContactUsContest(w)
{
	var obutton = document.getElementById("btn_register");
	obutton.enabled = false;

	if (w.tb_fname && !validName(w.tb_fname.value, "First Name"))
	{
		w.tb_fname.focus();
		return false;
	}
	if (w.tb_lname && !validName(w.tb_lname.value, "Last Name"))
	{
		alert("A valid first name is required for entry.");
		w.tb_lname.focus();
		return false;
	}

	if (w.tb_email && !validEmail(w.tb_email.value, "Email Address"))
	{
		w.tb_email.focus();
		return false;
	}

	if (w.tb_email && w.tb_emailconfirm && (w.tb_email.value != w.tb_emailconfirm.value))
	{
		alert("Please confirm your email address");
		w.tb_emailconfirm.value = '';
		w.tb_emailconfirm.focus();
		return false;
	}

	if (w.ddl_region && w.ddl_region.selectedIndex == 0)
	{
		alert("Please select a region");
		w.ddl_region.focus();
		return false;
	}

	if (w.tb_address && w.tb_address.value == "")
	{
		alert("A valid address is required for entry.");
		w.tb_address.focus();
		return false;
	}
	
	if (w.tb_city && w.tb_city.value == "")
	{
		alert("A valid city is required for entry.");
		w.tb_city.focus();
		return false;
	}
	
	if (w.tb_state && w.tb_state.value == "")
	{
		alert("A valid state is required for entry.");
		w.tb_state.focus();
		return false;
	}
	
	if (w.tb_zip && !validZip(w.tb_zip.value, "Zip"))
	{
		w.tb_zip.focus();
		return false;
	}
	
	if (w.tb_phone1.value == "" || w.tb_phone1.value.length < 3)
	{
		alert("Please enter your complete Phone number");
		w.tb_phone1.focus();
		return false;
	}
	if (w.tb_phone2.value == "" || w.tb_phone2.value.length < 3)
	{
		alert("Please enter your complete Phone number");
		w.tb_phone2.focus();
		return false;
	}
	if (w.tb_phone3.value == "" || w.tb_phone3.value.length < 4)
	{
		alert("Please enter your complete Phone number");
		w.tb_phone3.focus();
		return false;
	}
	
	return true;
}


// regcard/investorconference.aspx
function CheckInvestor(w)
{
	if (w.tb_fname && !validName(w.tb_fname.value, "First Name"))
	{
		w.tb_fname.focus();
		return false;
	}
	if (w.tb_lname && !validName(w.tb_lname.value, "Last Name"))
	{
		w.tb_lname.focus();
		return false;
	}

	if (w.tb_name && w.tb_name.value == "")
	{
		alert("Please enter your Company name");
		w.tb_name.focus();
		return false;
	}

	if (w.tb_title && w.tb_title.value == "")
	{
		alert("Please enter your Title");
		w.tb_title.focus();
		return false;
	}

	if (w.tb_phone1.value == "" || w.tb_phone1.value.length < 3)
	{
		alert("Please enter your complete Phone number");
		w.tb_phone1.focus();
		return false;
	}
	if (w.tb_phone2.value == "" || w.tb_phone2.value.length < 3)
	{
		alert("Please enter your complete Phone number");
		w.tb_phone2.focus();
		return false;
	}
	if (w.tb_phone3.value == "" || w.tb_phone3.value.length < 4)
	{
		alert("Please enter your complete Phone number");
		w.tb_phone3.focus();
		return false;
	}

	if (w.tb_email && !validEmail(w.tb_email.value, "Email Address"))
	{
		w.tb_email.focus();
		return false;
	}
}

function CheckData(w)
{
	//################################
	// ServiceRequest.aspx
	if (w.tb_fname && !validName(w.tb_fname.value, "First Name"))
	{
		w.tb_fname.focus();
		return false;
	}
	if (w.tb_lname && !validName(w.tb_lname.value, "Last Name"))
	{
		w.tb_lname.focus();
		return false;
	}

	if (w.tb_address && w.tb_address.value == "")
	{
		alert("Please enter your street address");
		w.tb_address.focus();
		return false;
	}

	if (w.tb_city && !validName(w.tb_city.value, "City"))
	{
		w.tb_city.focus();
		return false;
	}

	if (w.tb_zip && !validZip(w.tb_zip.value, "Zip"))
	{
		w.tb_zip.focus();
		return false;
	}

	//###############################
	// handle home phone number
	if (w.tb_homephone1 && (w.tb_homephone1.value == "" || w.tb_homephone1.value.length < 3))
	{
		alert("Please enter your complete Home Phone number");
		w.tb_homephone1.focus();
		return false;
	}
	if (w.tb_homephone2 && (w.tb_homephone2.value == "" || w.tb_homephone2.value.length < 3))
	{
		alert("Please enter your complete Home Phone number");
		w.tb_homephone2.focus();
		return false;
	}
	if (w.tb_homephone3 && (w.tb_homephone3.value == "" || w.tb_homephone3.value.length < 4))
	{
		alert("Please enter your complete Home Phone number");
		w.tb_homephone3.focus();
		return false;
	}
	//###############################
	// handle work phone number
	if (w.tb_workphone1 && (w.tb_workphone1.value == "" || w.tb_workphone1.value.length < 3))
	{
		alert("Please enter your complete Work Phone number");
		w.tb_workphone1.focus();
		return false;
	}
	if (w.tb_workphone2 && (w.tb_workphone2.value == "" || w.tb_workphone2.value.length < 3))
	{
		alert("Please enter your complete Work Phone number");
		w.tb_workphone2.focus();
		return false;
	}
	if (w.tb_workphone3 && (w.tb_workphone3.value == "" || w.tb_workphone3.value.length < 4))
	{
		alert("Please enter your complete Work Phone number");
		w.tb_workphone3.focus();
		return false;
	}

	if (w.tb_email && !validEmail(w.tb_email.value, "Email Address"))
	{
		w.tb_email.focus();
		return false;
	}

	
	//################################
	// regcard/Contact.aspx
	if (w.tb_email && !validEmail(w.tb_email.value, "Email Address"))
	{
		w.tb_email.focus();
		return false;
	}
	if (w.tb_email && w.tb_emailconfirm && (w.tb_email.value != w.tb_emailconfirm.value))
	{
		alert("Please confirm your email address");
		w.tb_emailconfirm.value = '';
		w.tb_emailconfirm.focus();
		return false;
	}

	if (w.ddl_region && w.ddl_region.options[w.ddl_region.selectedIndex].value == "")
	{
		alert("Please select a region");
		w.ddl_region.focus();
		return false;
	}
	//################################
  // SendToFriend.aspx

	if (w.tb_recipientname && !validName(w.tb_recipientname.value, "Recipient Name"))
	{
		w.tb_recipientname.focus();
		return false;
	}
	if (w.tb_recipientemail && !validEmail(w.tb_recipientemail.value, "friends email address"))
	{	w.tb_recipientemail.focus();
		return false;
	}

	if (w.tb_sendername && !validName(w.tb_sendername.value, "Sender Name"))
	{
		w.tb_sendername.focus();
		return false;
	}
	if (w.tb_senderemail && !validEmail(w.tb_senderemail.value, "email address"))
	{	w.tb_senderemail.focus();
		return false;
	}
}

function validPhone(n, t)
{
	if (n == "")
	{	alert("Please fill in your "+ t +".");
		return false; 
	}
	else
	{	if (n.length < 12)
		{	alert ("Please enter your complete "+ t +".");
			return false;
		}
		var nums = "0123456789-";
		for (var i = 0; i < n.length; i++)
		{	if (nums.indexOf(n.charAt(i)) == -1)
			{	alert ("Please make sure that your "+ t +" is in the correct format.");
				return false;
			}
		}
	}
	
	return true;
}

function AlphaOnly(e)
{
	var key;
	var keychar;

	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
	
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
		return true;
	// numbers
	else if ((("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -").indexOf(keychar) > -1))
		return true;
	else
		return false;
}

function NumbersOnly(e)
{
	var key;
	var keychar;

	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
	
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
		return true;
	// numbers
	else if ((("0123456789-").indexOf(keychar) > -1))
		return true;
	else
		return false;
}

function validEmail(e, t)
{	
	if (e == "")
	{	alert("Please fill in your "+ t +".");
		return false; 
	}
	else if (e != "")
	{
		var emailStr = e;
			
		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 + "|" + specialChars + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);
		if (matchArray==null)
		{	alert("Your "+ t +" seems incorrect. Please check @ and .'s!");
			return false;
		}
		
		var user=matchArray[1];
		var domain=matchArray[2];
		if (user.match(userPat)==null)
		{	alert("Please do not use any symbols (ie. quotes or asterisks) other than @ in your "+ t +".");
			return false;
		}
		
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{  for (var i=1;i<=4;i++)
			  {	if (IPArray[i]>255)
			  	{	alert("Destination IP address is invalid!");
					return false;
				}
			}
		}
		
		var domainArray=domain.match(domainPat)
		if (domainArray==null)
		{	alert("Your "+ t +" domain name doesn't seem to be valid.");
			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>4)
		{	alert("Your "+ t +" must end in a three-four letter extension, or two letter country.");
			return false;
		} 

		var Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		if (domArr[domArr.length-1].length == 2 || domArr[domArr.length-1].length == 3)
		{	for (var i = 0; i < domArr[domArr.length-1].length; i++)
			{	if (Chars.indexOf(domArr[domArr.length-1].charAt(i)) == -1)
				{	alert("The domain name can only contain letters.");
					return false;
				}
			}
		}
		
		if (len<2 || len>3)
		{   alert("Your "+ t +" is missing a hostname!");
		   return false;
		}
	}
	return true;
}

function validNums(n, t)
{	if (n == "")
	{	alert("Please enter a number in "+ t +".")
		return false;
	}
	else
	{	var Chars = "0123456789";
		for (var i = 0; i < n.length; i++)
		{	if (Chars.indexOf(n.charAt(i)) == -1)
			{	alert ("Please enter only numbers in "+ t +".")
				return false
			}
		}
	}
	
	return true;
}

function validName(n, t)
{	if (n == "")
	{	alert("Please enter a "+ t +".")
		return false;
	}
	else
	{	var Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -";
		for (var i = 0; i < n.length; i++)
		{	if (Chars.indexOf(n.charAt(i)) == -1)
			{	alert ("Please enter a valid "+ t +".")
				return false
			}
		}
	}
	
	return true;
}

function validZip(z, t) {
	if (z == "")
	{	alert("Please fill in your "+ t +".");
		return false; 
	}
	else
	{	// check to see that the value contains at least 5 numbers
		if (z.length < 5)
		{	alert ("Please enter at least 5 numbers into the "+ t +" field.");
			return false;
		}
		// check to see that the value contains either 5 or 10 numbers
		if (z.length > 5 && z.length < 10)
		{	alert ("Please enter either your 5-digit "+ t +" OR your 10-digit "+ t +" including the 4 digit extension (12345-1234) into the "+ t +" field.");
			return false;
		}
		// check to see that the value contains only numbers and possibly a hyphen
		var nums = "0123456789-";
		for (var i = 0; i < z.length; i++)
		{	if (nums.indexOf(z.charAt(i)) == -1)
			{	alert ("Please enter only numbers into the "+ t +" field.");
				return false;
			}
		}
		// check to see if the 6th character is a hyphen
		if (z.length == 10)
		{	if (z.charAt(5) != "-")
			{	alert("Please make sure that your "+ t +" is properly formatted. (12345-1234)");
				return false;
			}
		}
	}
	return true;
}

var phone_field_length=0;
function TabNext(obj,event,len,next_field)
{
	var ret = false;
	var num = NumbersOnly(obj);
	if (num)
	{
		if (event == "down")
			phone_field_length = obj.value.length;
		else if (event == "up")
		{
			if (obj.value.length != phone_field_length)
			{
				phone_field_length=obj.value.length;
				if (phone_field_length == len)
				{
					ret = true;
					next_field.focus();
				}
			}
		}
	}
	
	return ret;
}

