﻿//
// Function to validate inputs on interstitial pop-up form prior to submission.
//
//  Validation ends (returns False) after any failure.
//
function validateForm(theForm, theIDSuffix)  {

	var highlightColor = "#e9bf97";

	var isError = 0;
	var hasEmail = 0;
	var hasPhone = 0;
	
	var fromName = theForm.elements['fromName'];
	var fromEmail = theForm.elements['fromEmail'];
	
	var fixName = document.getElementById('fixName' + theIDSuffix);
	var fixEmail = document.getElementById('fixEmail' + theIDSuffix);
	var fixEmailV = document.getElementById('fixEmailV' + theIDSuffix);

	fromName.style.background = "white";		
	fromEmail.style.background = "white";
	fixName.style.display = 'none';
	fixName.style.visibility = 'hidden';
	fixEmail.style.display = 'none';
	fixEmail.style.visibility = 'hidden';
	fixEmailV.style.display = 'none';
	fixEmailV.style.visibility = 'hidden';

// Make sure name has been entered (length >0)
	if (fromName.value.length == 0) {
		fromName.style.background = highlightColor ;
		fixName.style.display = 'block';		
		fixName.style.visibility = 'visible';	
		return false;

	}

// Make sure email address is valid (something@something.something) is something has been entered
	if (fromEmail.value.length > 0 && eCheck(fromEmail.value) == false) {
		fromEmail.style.background = highlightColor ;
		fixEmailV.style.display = 'block';		
		fixEmailV.style.visibility = 'visible';
		return false;
	}
	else if (fromEmail.value.length == 0) {
		fromEmail.style.background = highlightColor ;
		fixEmail.style.display = 'block';		
		fixEmail.style.visibility = 'visible';
		return false;
	}
}


// Function validate structure of email address - make sure it is x@y.z format
function eCheck(str) {
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length - 1;
	var ldot = str.indexOf(dot);
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|,<>+=#$%&*~`';
	var i = 0;

	// If no @ or @ in 1st position or @ in last position
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	// If no . or . in 1st position or . in last position
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}

	// If more than one @
	if (str.indexOf(at,(lat+1))!=-1){
	    return false;
	}

	// If . immediately before or after @
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false;
	}

	// If not at least one . after @
	if (str.indexOf(dot,(lat+2))==-1){
	    return false;
	}

	// If address contains any spaces
	if (str.indexOf(" ")!=-1){
	    return false;
	 }

	// If address contains any invalid characters
	for (i=0; i<invalidChars.length; i++) {
		if (str.indexOf(invalidChars.charAt(i),0) > -1) {
			return false;
		}
	}

	// If address contains any non-ASCII characters
	for (i=0; i<str.length; i++) {
		if (str.charCodeAt(i)>127) {
			return false;
		}
	}

	// Otherwise address looks good
	return true;					
}


function showPopUp(el) {
	var cvr = document.getElementById("cover")
	var dlg = document.getElementById(el)
	cvr.style.display = "block"
	dlg.style.display = "block"
	document.getElementById('closeButton').focus();	
}


function closePopUp(el) {
	var cvr = document.getElementById("cover")
	var dlg = document.getElementById(el)
	cvr.style.display = "none"
	dlg.style.display = "none"
}


function setMouse(ptype) {
	document.body.style.cursor = ptype;
}	

function toggleCBox(cbitem) {
	if (cbitem.checked == false)
		cbitem.checked = true;
	else
		cbitem.checked = false;
}




