// JavaScript Document
function validateContactUsForm()
 {

   	 var errors = false ;
	 var errorMessages = "Required fields are missing values.    " ;
	
	FormObj = document.getElementById("contactUsForm") ;
	
	// Change all form elements background to default
	for (i=0;i<FormObj.length;i++)
	{
		elementObj=FormObj.elements[i];
		
		// do not process disabled form elements
		if (elementObj.disabled != true && elementObj.type != "submit")
		{
		elementObj.style.backgroundColor = "#FFFFFF" ;		
		}
	}
	
	firstName = document.getElementById("firstName") ;
	
	if (firstName.value == "")
	{
		firstName.style.backgroundColor = "#FF0000" ;
		errors = true ;
	}

	lastName = document.getElementById("lastName") ;
	
	if (lastName.value == "")
	{
		lastName.style.backgroundColor = "#FF0000" ;
		errors = true ;
	}
	
	companyName = document.getElementById("companyName") ;
	
	if (companyName.value == "")
	{
		companyName.style.backgroundColor = "#FF0000" ;
		errors = true ;
	}
	
	telephone = document.getElementById("telephone") ;
	
	if (telephone.value == "")
	{
		telephone.style.backgroundColor = "#FF0000" ;
		errors = true ;
	}	
	
	emailAddress = document.getElementById("emailAddress") ;
	
	if (emailAddress.value == "")
	{
		emailAddress.style.backgroundColor = "#FF0000" ;
		errors = true ;
	}

	howhear = document.getElementById("howhear") ;
	
	if (howhear.value == "")
	{
		howhear.style.backgroundColor = "#FF0000" ;
		errors = true ;
	}		
	
	if (!isPhoneNumber(telephone.value) && errors != true)
	{
		telephone.style.backgroundColor = "#FF0000" ;
		errorMessages = "Invalid Phone Number (xxx) xxx-xxxx    " ;
		errors = true ;			
	}
	
	if (!isValidEmail(emailAddress.value) && errors != true)
	{
		emailAddress.style.backgroundColor = "#FF0000" ;
		errorMessages = "Invalid E-mail address.\n            " ;
		errors = true ;		
	}
	
// Display Error messages if found
	if (errors)
	{
	alert(errorMessages) ;
	//return false ;
	}
	else
	{	
	FormObj.submit() ;
	}
	
 } // validateRegistrationForm()
 

function isValidEmail(src) {
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
  }
  
function isPhoneNumber(s) 
{

     // Check for correct phone number
     rePhoneNumber = new RegExp(/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/);
	 //rePhoneNumber = new RegExp(^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$);

     if (!rePhoneNumber.test(s))
	 {
          return false;
	 } else {
		  return true ;
	 }
}


 // FUNCTION: openWindow()  USED TO OPEN SUB-WINDOWS
function openWindow(URL,windowName,configParms)
{
	Win = window.open(URL, windowName, config=configParms) ;
	Win.moveTo(25,25) ;

}

function showHideDIV(myDIV)
{
	
	// Close ALL DIVs before opening selected DIV
	var thisDiv = document.getElementById('Answer1') ;
	thisDiv.style.display == "none" ;
	
	var thisDiv = document.getElementById('Answer2') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer4') ;
	thisDiv.style.display == "none" ;
	
	var thisDiv = document.getElementById('Answer5') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer6') ;
	thisDiv.style.display == "none" ;
	
	var thisDiv = document.getElementById('Answer7') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer9') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer10') ;
	thisDiv.style.display == "none" ;	

	var thisDiv = document.getElementById('Answer11') ;
	thisDiv.style.display == "none" ;
	
	var thisDiv = document.getElementById('Answer12') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer13') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer14') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer15') ;
	thisDiv.style.display == "none" ;		
	
	var thisDiv = document.getElementById('Answer16') ;
	thisDiv.style.display == "none" ;		

	var thisDiv = document.getElementById('Answer17') ;
	thisDiv.style.display == "none" ;	

	var thisDiv = document.getElementById('Answer18') ;
	thisDiv.style.display == "none" ;	
	
	var thisDiv = document.getElementById('Answer19') ;
	thisDiv.style.display == "none" ;		

	// Open Selected Div
 	var thisDiv = document.getElementById(myDIV) ;		

	if (thisDiv.style.display == "none")
	{
		thisDiv.style.display = "inline" ;
	}
	else
	{
		thisDiv.style.display = "none" ;
	}
	
}

function submitGasPrices()
{

	var zip = document.getElementById("zip").value ;
	var URL = "http://www.gasbuddy.com/findsite.aspx?zip=" + zip ;	
	openWindow(URL,'gasPricesWindow','height=600,width=800,toolbar=yes,menubar=yes,statusbar=yes,resizable=yes,scrollbars=yes') ;
}


 // Customer Alert Box
// constants to define the title of the alert and button text.
var ALERT_TITLE = "Attention";
var ALERT_BUTTON_TEXT = "Ok";

// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
if(document.getElementById) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}

function createCustomAlert(txt) {
	// shortcut reference to the document object
	d = document;

	// if the modalContainer object already exists in the DOM, bail out.
	if(d.getElementById("modalContainer")) return;

	// create the modalContainer div as a child of the BODY element
	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	 // make sure its as tall as it needs to be to overlay all the content on the page
	mObj.style.height = document.documentElement.scrollHeight + "px";

	// create the DIV that will be the alert 
	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	// MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
	if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
	// center the alert box
	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";

	// create an H1 element as the title bar
	h1 = alertObj.appendChild(d.createElement("h1"));
	h1.appendChild(d.createTextNode(ALERT_TITLE));

	// create a paragraph element to contain the txt argument
	msg = alertObj.appendChild(d.createElement("p"));
	msg.appendChild(d.createTextNode(txt));

	// create an anchor element to use as the confirmation button.
	btn = alertObj.appendChild(d.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
	btn.href = "#";
	// set up the onclick event to remove the alert when the anchor is clicked
	btn.onclick = function() { removeCustomAlert();return false; }

	
}

// removes the custom alert from the DOM
function removeCustomAlert() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}



