﻿

var capSessionVal = "";

window.onload = function() {
	setTimeout('GetCaptSessionValue()', 10);
}

function isValidEmail(field) {

	with (field) {
		apos = value.indexOf("@");
		dotpos = value.lastIndexOf(".");
		if (apos < 1 || dotpos - apos < 2)
			return false;
		else
			return true;
	}
}
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g, "");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/, "");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/, "");
}

//modified to take a client object so context isnt lost
function verify(clientObject) {
	//disable submit button
	var btn = document.getElementById("btnSend");
	btn.disabled = true;

	//form = document.emailer;
	var EmailFriendForm = clientObject;
	//check if email form is null,  if null return error
	if (EmailFriendForm != null) {
		var message = "";
		if (trim(EmailFriendForm["FromName"].value).length == 0)
			message += "Your Name is required"
		if (trim(EmailFriendForm["FromAddress"].value).length == 0)
			message += "\nYour email address is required"
		if (trim(EmailFriendForm["ToName"].value).length == 0)
			message += "\nFriend's Name is required"
		if (trim(EmailFriendForm["Email"].value).length == 0)
			message += "\nFriend's email address is required"

		if (message.length == 0) {
			if (!isValidEmail(EmailFriendForm["FromAddress"]))
				message += "\nYour email address is invalid"
			if (!isValidEmail(EmailFriendForm["Email"]))
				message += "\nYour friend's email address is invalid"
		}
		if (message.length == 0) {
			if (!validateCaptcha())
				btn.disabled = false;
			else
				EmailFriendForm.submit();
		}
		else {
			message = "Please fill in missing or invaid data:                                        \n---------------------------------------------\n" + message
			alert(message)
			btn.disabled = false;
		}


		return false;
	}
	else {
		alert("Error email form is null contact administrator");
		return false;
	}
}


function showHideHelpItem(item) {
	var div = document.getElementById(item);
	if (div != null) {
		div.style.visibility = (div.style.visibility == "hidden") ? "visible" : "hidden";
	}

}
//validate CAPTCHA here

function validateCaptcha() {
	form = document.emailer;
	var captcha = document.getElementById("txtCaptcha");
	var capInputVal = captcha.value;
	if (capInputVal == null || capSessionVal.toLowerCase() != capInputVal.toLowerCase()) {
		alert("Captcha value is incorrect. Please re-enter text.")
		setTimeout(function() { captcha.focus(); captcha.select(); }, 1)
		return false;
	}
	else {
		return true;
	}
}

function GetCaptSessionValue() {

	var xmlHttp;

	try {
		xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	}
	catch (e) {
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
		}
		catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("No AJAX!?");
				return false;
			}
		}
	}

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			capSessionVal = xmlHttp.responseText;
			capSessionVal = capSessionVal.substring(0, 5);

		}
	}
	//used to stop caching
	var cacheBreaker = Math.random()
	xmlHttp.open("GET", "/getSessionVal.aspx?sessItem=CAPTCHAStr&rand=" + cacheBreaker, true);
	xmlHttp.send(null);
}

