function ValidateForm()
{
	///Make sure company name is not blank
	///and remove illigal chars.
	
	clearText(document.getElementById("divMessage"));
	if (ValidateCompany()  && ValidateState() && ValidateStreet() && ValidateCity() && ValidateZip()&&ValidatePhone() &&  ValidateEmail() && ValidateWebsite() && ValidateDescription())	{
	    document.form1.submit();
	}
	else	{
		appendText(document.getElementById("divMessage"),"Some fields are entered incorrectly.");
	}
	

}


function autofocus(field, limit, next, evt) {
evt = (evt) ? evt : event;
  var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));
  if (charCode > 31 && field.value.length == limit) {
    field.form.elements[next].focus( );
  }
}

///
/// Validate Phone Number
///
function ValidatePhone()
{
		///phone numbers
	var rePhone = new RegExp("^((\([0-9]{3}\)?)|([0-9]{3}-))?[0-9]{3}-?\s?[0-9]{4}$");
	if (document.form1.fldPhone1.value.match(rePhone))
	{
		document.form1.fldPhone1.style.background = "#FFFFFF";
		return true;
	}
	else
	{
	document.form1.fldPhone1.style.background = "#FDD2D2";
	return false;
	}
}

function ValidateCompany()
{
	if (document.form1.fldCompanyName.value == "")
	{
		document.form1.fldCompanyName.style.background = "#FDD2D2";
		return false;
		
	}
	else
	{
		document.form1.fldCompanyName.style.background = "#FFFFFF";
		return true;
	}
}

function ValidateStreet()
{
	var re = /[\w\s]{5,}/;
    if (!document.form1.fldAddress.value.match(re))
	{
		document.form1.fldAddress.style.background = "#FDD2D2";
		return false;
		
	}
	else
	{
		document.form1.fldAddress.style.background = "#FFFFFF";
		return true;
	}
}

function ValidateCity()
{
	var re = /[\w\s]{3,}/;
    if (!document.form1.fldCity.value.match(re))
	{
		document.form1.fldCity.style.background = "#FDD2D2";
		return false;
		
	}
	else
	{
		document.form1.fldCity.style.background = "#FFFFFF";
		return true;
	}
}

function ValidateState()
{
	var re = new RegExp("^[a-zA-Z]{2}$");
    if (document.form1.fldState.value.match(re))
	{
		document.form1.fldState.style.background = "#FFFFFF";
		return true;
	}
	else
	{
		document.form1.fldState.style.background = "#FDD2D2";
		return false;
	}
	
}

function ValidateZip()
{
	var re = new RegExp("^[0-9]{5}$");
    if (document.form1.fldZipcode.value.match(re))
	{
		document.form1.fldZipcode.style.background = "#FFFFFF";
		return true;
	}
	else
	{
		document.form1.fldZipcode.style.background = "#FDD2D2";
		return false;
	}
	
}

function ValidateEmail()
{
	var re = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w{2,}([-.]\w{2,})*/;
    if (document.form1.fldEmail.value.match(re))
	{
		document.form1.fldEmail.style.background = "#FFFFFF";
		return true;
	}
	else
	{
		document.form1.fldEmail.style.background = "#FDD2D2";
		return false;
	}
	
}




function ValidateWebsite()
{

var regex = /^http:\/\/(\w*)\.([\-\+a-z0-9]*)\.(\w{2,})/;
var re = new RegExp(regex);
	if (document.form1.fldUrl.value.match(re) || document.form1.fldUrl.disabled)
	{
		document.form1.fldUrl.style.background = "#FFFFFF";
		return true;
	}
	else
	{
		document.form1.fldUrl.style.background = "#FDD2D2";
		return false;
	}
}


function ValidateDescription()
{

	if (document.form1.fldDescription.value != "")
	{
		document.form1.fldDescription.style.background = "#FFFFFF";
		return true;
	}
	else
	{
		document.form1.fldDescription.style.background = "#FDD2D2";
		return false;
	}
}


/* Request URl to check to for a 200 */
function checkWebsiteResponse(url) {
	if (request.readyState == 4 || request.readyState ==0)
	{
		  request.onreadystatechange = updatePage;
		  request.open("GET", "../script/pingsite.aspx?url=" + url, true);
		  request.send(null);
	}
	else
	{
		replaceText(document.getElementById("websiteMessage"), "Test not started. ");	
	}
}

function updatePage() {
	if (request.readyState == 4) 
	{
		replaceText(document.getElementById("websiteMessage"), "Your website is not responding. Check the website and try again. ");
		if (request.status == 200) 
		{
			if (request.responseText == "OK") 
			{
				replaceText(document.getElementById("websiteMessage"),"Website Test: OK");
			}
		}
	}
	else
	{
		  replaceText(document.getElementById("websiteMessage"), "Waiting for website response. code: " + request.readyState);
	}	  
}


function SetWebsiteUrl()
{
	replaceText(document.getElementById("websiteMessage"), "");	
	document.form1.fldUrl.disabled = false;
	document.form1.fldUrl.focus();
}
function ClearWebsiteUrl()
{
	replaceText(document.getElementById("websiteMessage"), "");	
	document.form1.fldUrl.disabled = true;
}
