function isValidEMailAddress(email) {
	var emailPattern = /^[A-Za-z0-9!#$%&'*+//=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+//=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$/;
	return emailPattern.test(email);
}

var _signUpTB1 = null;
function getSignUpTB1() {
	if (_signUpTB1 == null) {
		_signUpTB1 = jQuery('#email1');
	}
	return _signUpTB1;
}
function getSignUpTB1Value() {
	return getSignUpTB1().val();
}

var _signUpTB2 = null;
function getSignUpTB2() {
	if (_signUpTB2 == null) {
		_signUpTB2 = jQuery('#email2');
	}
	return _signUpTB2;
}
function getSignUpTB2Value() {
	return getSignUpTB2().val();
}

function setSignUpMsgCtHtml(htmlStr) {
	jQuery('#signup_result').html(htmlStr);
	jQuery('#signup_result').show();
}

function signupSubmit() {
	var em1 = getSignUpTB1Value();
	if (isValidEMailAddress(em1)) {
		var em2 = getSignUpTB2Value();
		if (em1 == em2) {
			jQuery('#signup_submit').hide();
			jQuery('#pleasewaitsubmit').show();
			jQuery.getJSON(
				"http://as01.educatorssupplieslimited.ca/customer/reg/signup-setstatus.aspx?email=" + em1 + "&susid=1&site=4&lid=60263&callback=?", 
				null, 
				function(signUpReturn) {
					signUpApplyResult(signUpReturn);
				}
			);
		} else {
			setSignUpMsgCtHtml("Your emails do not match. Please re-enter.");
		}
	} else {
		setSignUpMsgCtHtml("Your email is not valid. Please re-enter.");
	}
}

function signUpApplyResult(signUpReturn) {
	jQuery('#pleasewaitsubmit').hide();
	switch (signUpReturn.result) {
		case "1": setSignUpMsgCtHtml("Thanks for signing up. Please check your e-mail."); break;
		case "-3": setSignUpMsgCtHtml("Thanks. You've already signed up."); break;
		default: setSignUpMsgCtHtml("other result: " + signUpReturn.result); break;
	}
}	

function clearInputIfEq(inp, ifVal) {
	if ((inp != null) && (inp.value == ifVal)) {
		inp.value = "";
	}
}

/* email1 BEGIN */
var email1changeTimeoutID = -1;
function email1change() {
	jQuery('#email1accept').hide();
	jQuery('#email1error').hide();
	jQuery('#email1verify').html("&nbsp;");
	if (email1changeTimeoutID != -1) {
		clearTimeout(email1changeTimeoutID);
	}
	email1changeTimeoutID = setTimeout("checkEMail1()", 1000);
	email2change();
}

function isDisplayNone(sel) {
	return (jQuery(sel).css('display') == 'none');
}

function checkEMail1() {
	email1changeTimeoutID = -1;
	var em1 = getSignUpTB1Value();
	if (isValidEMailAddress(em1)) {
		jQuery('#email1accept').show();
		jQuery('#email1error').hide();
		jQuery('#email1verify').html("Thanks! Please confirm your address.");
		if (isDisplayNone('#email2section')) {
			jQuery('#email2section').slideToggle('slow');
		}
	} else {
		if (em1.length > 0) {
			jQuery('#email1accept').hide();
			jQuery('#email1error').show();
			jQuery('#email1verify').html("Your email's not valid");
			if (!isDisplayNone('#email2section')) {
				jQuery('#email2section').slideToggle('slow');
			}
		}
	}
}
/* email1 END */

/* email2 BEGIN */
var email2changeTimeoutID = -1;
function email2change() {
	jQuery('#email2accept').hide();
	jQuery('#email2error').hide();
	jQuery('#email2verify').html("&nbsp;");
	if (email2changeTimeoutID != -1) {
		clearTimeout(email2changeTimeoutID);
	}
	email2changeTimeoutID = setTimeout("checkemail2()", 1000);
}

function checkemail2() {
	email2changeTimeoutID = -1;
	var em1 = getSignUpTB1Value();
	var em2 = getSignUpTB2Value();
	if (em1 === em2) {
		if (em1.length > 0) {
			jQuery('#email2accept').show();
			jQuery('#email2error').hide();
			jQuery('#email2verify').html("Great! They match!");
			if (isDisplayNone('#submitsection')) {
				jQuery('#submitsection').slideToggle('slow');
			}
		} else {
			if (!isDisplayNone('#email2section')) {
				jQuery('#email2section').slideToggle('slow');
			}
		}
	} else {
		if (em2.length > 0) {
			jQuery('#email2accept').hide();
			jQuery('#email2error').show();
			jQuery('#email2verify').html("Your emails don't match");
		}
		if (!isDisplayNone('#submitsection')) {
			jQuery('#submitsection').slideToggle('slow');
		}
	}
}
/* email2 END */

var signupClickState = 0;
function signupClick() {
	if (signupClickState == 0) {
		jQuery(".signup").toggleClass("menu-open");

		jQuery('#email1accept').hide();
		jQuery('#email1error').hide();
		jQuery('#email1verify').html("&nbsp;");
		jQuery("#email1").val("");

		jQuery('#email2accept').hide();
		jQuery('#email2error').hide();
		jQuery('#email2verify').html("&nbsp;");
		jQuery("#email2").val("");

		jQuery('#submitsection').hide();
		jQuery('#email2section').hide();

		jQuery('#signup_submit').show();
		jQuery('#pleasewaitsubmit').hide();
		jQuery('#signup_result').hide();

		jQuery("#signup_menu").slideToggle('slow', function() { jQuery("#email1").focus(); });
		
		jQuery("#email1").focus();
		
		signupClickState = 1;
	} else {
		jQuery(".signup").removeClass("menu-open");
		jQuery("#signup_menu").hide();
		signupClickState = 0;
	}
}
