// JavaScript Document
function switchSubscribeSubmit(validBOOL,submit_element) {
	
	if(validBOOL == true){
		if(submit_element.value == 'Complete Purchase'){ 
			//document.getElementById('submitButton').style.display = 'none';			
			submit_element.value = 'Please Wait.';			
			
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function updateError(formElement,errorMsg) {
	//var errDisplay = document.getElementById('error_' + formElement.name);
	
	var container_p = document.createElement('p');
	container_p.className = "error";
	
	container_p_text = document.createTextNode(errorMsg);	
	container_p.appendChild(container_p_text);	
	
	var errDisplay = document.getElementById('error_' + formElement.id);	
	errDisplay.appendChild(container_p);	
	new Effect.Appear('error_' + formElement.id);
}


function clearPreviousError(formElement) {
	var errDisplay = document.getElementById('error_' + formElement.id);
	
	if(errDisplay.hasChildNodes()) {
		errDisplay.display = 'none';
		errDisplay.removeChild(errDisplay.firstChild);
	}
}

function displayErrorHeader(errorDivID) {
	if(!errorDivID)
		errorDivID = 'errorMsgHeader';
	
	errorDiv = document.getElementById(errorDivID);	
	errorMsg = "Please correct the errors highlighted below";
	if(errorDiv) {	
		var container_p = document.createElement('p');
		container_p.className = "error";
		
		container_p_text = document.createTextNode(errorMsg);
		container_p.appendChild(container_p_text);	
		
		errorDiv.appendChild(container_p);
		new Effect.Appear(errorDiv);
	} else {
		alert(errorMsg);
	}
}

function clearPreviousErrors(formOBJ) {
		
	all_divs = document.getElementsByTagName('div');
	for(i = 0; i < all_divs.length; i++) {
		if(all_divs[i].id.search(/errorMsgHeader/) != -1) {
			all_divs[i].display = 'none';
			if(all_divs[i].hasChildNodes())
				all_divs[i].removeChild(all_divs[i].firstChild);	
		}
	}	
		
	for (var i = 0; i < formOBJ.elements.length; i++) {	
		current_input_error = document.getElementById('error_' + formOBJ[i].id);
		
		if(current_input_error && current_input_error.hasChildNodes())
		{			
			//new Effect.Fade(current_input_error.id);
			current_input_error.style.opacity = 0;
			current_input_error.style.display = "none";
			for(j=0;j<current_input_error.childNodes.length;j++) {
				current_input_error.removeChild(current_input_error.childNodes[j]);
			}
		}			
	}
}



function submitContact(x) {
	var validBOOL = true;	
	
	clearPreviousErrors(x);
	var firstField = "";
	
	if(x.ContactFirstName.value=="") {		
		updateError(x.ContactFirstName,'Please enter your First Name.');
		if(!firstField) firstField = x.ContactFirstName;
		validBOOL = false;		
	}
	
	if(x.ContactLastName.value=="") {		
		updateError(x.ContactLastName,'Please enter your Last Name.');
		if(!firstField) firstField = x.ContactLastName;
		validBOOL = false;		
	}
	
	if(!checkEmail(x.ContactEmail)) {		
		updateError(x.ContactEmail,'Please enter a valid Email address');
		if(!firstField) firstField = x.ContactEmail;
		validBOOL = false;		
	} 
	
	if(x.ContactAddress.value=="") {		
		updateError(x.ContactAddress,'Please enter your Address.');
		if(!firstField) firstField = x.ContactAddress;
		validBOOL = false;		
	}
	
	if(x.ContactCity.value=="") {		
		updateError(x.ContactCity,'Please enter your City.');
		if(!firstField) firstField = x.ContactCity;
		validBOOL = false;		
	}
	
	if(x.StateID.value=="") {		
		updateError(x.StateID,'Please select your State.');		
		validBOOL = false;		
	}
	
	if(x.ContactZip.value=="") {		
		updateError(x.ContactZip,'Please enter your Zip.');
		if(!firstField) firstField = x.ContactZip;
		validBOOL = false;		
	}		
	
	if (validBOOL == true) {		
		return true;
	} else {
		if(firstField)
			firstField.focus();
			
		displayErrorHeader();		
		return false;
	}
}