﻿function disableAll() {
	for (i = 0; i < oRgFrm.elements.length; i++) oRgFrm.elements[i].disabled = true;
	}

function submitReg() {
	var strAlert = "";
	var strUsername = (oRgFrm.elements["txtUsername"].value).trim();
	if (strUsername.length < 3) strAlert += "Your Username must be at least three characters long.";
	else if (!isNaN(strUsername)) strAlert += "Your Username must contain at least one letter.";
	else if (blnGoodLogin == false) strAlert += "The Username you entered is already in use.";
	var strPassword1 = oRgFrm.elements["pwdPassword"].value;
	var strPassword2 = oRgFrm.elements["pwdPassword2"].value;
	if (strPassword1.length < 6) strAlert += "Your password must be at least 6 characters long.";
	if (strPassword1 != strPassword2) strAlert += "The passwords you entered do not match.";
	var strEmailAddress1 = (oRgFrm.elements["txtEmailAddress"].value).trim();
	var strEmailAddress2 = (oRgFrm.elements["txtConfirmEmail"].value).trim();
	if (strEmailAddress1.length == 0) strAlert += "Please enter your current email address.";
	else if (emailCheck(strEmailAddress1.toLowerCase()) == false) strAlert += "The email address does not appear to be valid.";
	else if (strEmailAddress1.toLowerCase() != strEmailAddress2.toLowerCase()) strAlert += "The email addresses you entered do not match.";
	else if (blnGoodEmail == false) strAlert += "The Email Address you entered is already registered.";
	if (oRgFrm.elements["txtPromoNumber"].type == "select-one") {
		if (oRgFrm.elements["txtPromoNumber"].selectedIndex == 0) strAlert += "You must select a franchise location for your membership.";
		}
	if (oRgFrm.elements["chkTerms"].checked == false) strAlert += "You must acknowledge the terms and conditions of membership before continuing.";
	if (strAlert == "") oRgFrm.submit();
	else alert(strAlert.replace(/\./g, ".\n"))
	}

function availCheckUsername(argUsername) {
	var strUsernamePassHTML = "<img src=\"/images/common/approve.png\" align=\"absmiddle\"><span style=\"color:#36755B;font-weight:bold;font-size:9px\">OK</span>";
	var strUsernameFailHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">IN&nbsp;USE</span>";
	var strUsernameInvalidHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">INVALID</span>";
	if (!isNaN(argUsername)) {
		blnGoodLogin = false;
	    $("availUsername").innerHTML = strUsernameInvalidHTML;
		$("availUsername").style.display = "inline";
	    $("spnUsername").innerHTML = "username";
		}
	else if (argUsername != "") {
		var objUNCheck = new Request({
			url: "/_scripts/availCheckUsername.asp",
			method: "post",
			headers: { "Content-Type": "application/x-www-form-urlencoded" },
			onSuccess: function () {
				var strResponse = this.response.text;
				if (strResponse == "PASS") {
					blnGoodLogin = true;
					$("availUsername").innerHTML = strUsernamePassHTML;
					}
				else {
					blnGoodLogin = false;
					$("availUsername").innerHTML = strUsernameFailHTML;
					}
				$("availUsername").style.display = "inline";
				$("spnUsername").innerHTML = argUsername;
				}
			}).send("login=" + argUsername + "&" + Math.random());
		}
		else {
			blnGoodLogin = false;
		    $("availUsername").innerHTML = strUsernameInvalidHTML;
			$("availUsername").style.display = "inline";
		    $("spnUsername").innerHTML = "username";
		}
	}

function availCheckEmail(argEmail) {
	var strEmailPassHTML = "<img src=\"/images/common/approve.png\" align=\"absmiddle\"><span style=\"color:#36755B;font-weight:bold;font-size:9px\">OK</span>";
    var strEmailFailHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">ALREADY&nbsp;REGISTERED</span>";
    var strEmailInvalidHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">INVALID</span>";
	if (argEmail != "") {
		var objEmlCheck = new Request({
			url: "/_scripts/availCheckEmail.asp",
			method: "post",
			headers: { "Content-Type": "application/x-www-form-urlencoded" },
			onSuccess: function () {
				var strResponse = this.response.text;
				if (strResponse == "PASS") {
					blnGoodEmail = true;
		            blnGoodEConf = false;
					$("availEmail").innerHTML = strEmailPassHTML;
		            if ($("txtEmailAddress").value != $("txtConfirmEmail").value) {
		                $("txtConfirmEmail").value = "";
		                $("availEmail2").innerHTML = "";
		                }
					}
				else {
					blnGoodEmail = false;
		            blnGoodEConf = false;
					$("availEmail").innerHTML = strEmailFailHTML;
		            if ($("txtEmailAddress").value != $("txtConfirmEmail").value) {
		                $("txtConfirmEmail").value = "";
		                $("availEmail2").innerHTML = "";
		                }
					}
				$("availEmail").style.display = "inline";
				}
			}).send("eml=" + argEmail + "&" + Math.random())
		}
	else {
		blnGoodEmail = false;
        blnGoodEConf = false;
		$("availEmail").innerHTML = strEmailInvalidHTML;
		if ($("txtEmailAddress").value != $("txtConfirmEmail").value) {
		    $("txtConfirmEmail").value = "";
		    $("availEmail2").innerHTML = "";
		    }
	    }
	}

function validateForEmailConfirm(argEmail) {
	var strEmailPassHTML = "<img src=\"/images/common/approve.png\" align=\"absmiddle\"><span style=\"color:#36755B;font-weight:bold;font-size:9px\">OK</span>";
	var strEmailFailHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">NOT&nbsp;A&nbsp;MATCH</span>";
	var strEmailInvalidHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">INVALID</span>";
	if ($("txtEmailAddress").value == $("txtConfirmEmail").value && $("txtConfirmEmail").value != '') {
		blnGoodEConf = true;
		$("availEmail2").innerHTML = strEmailPassHTML;
		}
	else {
	    if ($("txtConfirmEmail").value == '') {
		    blnGoodEConf = false;
		    $("availEmail2").innerHTML = strEmailInvalidHTML;
	        }
	    else {
		    blnGoodEConf = false;
		    $("availEmail2").innerHTML = strEmailFailHTML;
		    }
		}
	}

function validatePromo(argSponsorID) {
	if (argSponsorID != "" && !isNaN(argSponsorID)) {
		var strPromoPassHTML = "<img src=\"/images/common/approve.png\" align=\"absmiddle\"><span style=\"color:#36755B;font-weight:bold;font-size:9px\">VERIFIED</span>";
		var strPromoInactiveHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">INACTIVE</span>";
		var strPromoSuspendedHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">SUSPENDED</span>";
		var strPromoTerminatedHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">TERMINATED</span>";
		blnGoodPromo = null;
		var objPromoCheck = new Request({
			url: "/_scripts/checkPromoNumber.asp",
			method: "post",
			headers: { "Content-Type": "application/x-www-form-urlencoded" },
			onSuccess: function () {
				var strResponse = this.response.text;
				var arrResponse = strResponse.split("|")
				if (arrResponse[0] == "PASS") {
					blnGoodPromo = true;
					$("validPromo").innerHTML = strPromoPassHTML;
					oRgFrm.elements["hidCompPlanPLID"].value = arrResponse[2];
					}
				else { 
					blnGoodPromo = false;
					if (arrResponse[1] == "InActive") $("validPromo").innerHTML = strPromoInactiveHTML;
					if (arrResponse[1] == "Suspended") $("validPromo").innerHTML = strPromoSuspendedHTML;
					if (arrResponse[1] == "Terminated") $("validPromo").innerHTML = strPromoTerminatedHTML;
					}
				$("validPromo").style.display = "inline";
				}
			}).send("sid=" + argSponsorID + "&" + Math.random());
		}
	}

function validateForURL(charString) {
	if (charString != domainStripper(charString)) {
		oRgFrm.elements["txtUsername"].value = domainStripper(charString)
		alert("Sorry. Only aphanumerics, dashes and underscores may be used in your Username.")
		}
	}

function validateForPWD(charString) {
	var strPWDPassHTML = "<img src=\"/images/common/approve.png\" align=\"absmiddle\"><span style=\"color:#36755B;font-weight:bold;font-size:9px\">OK</span>";
	var strPWDFailHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">INVALID</span>";
	if (charString.length > 5 && charString.length < 15) {
		var objPWDCheck = new Request({
			url: "/_scripts/validatePWD.asp",
			method: "post",
			headers: { "Content-Type": "application/x-www-form-urlencoded" },
			onSuccess: function () {
				var strResponse = this.response.text;
				if (strResponse == "PASS") {
					blnGoodPWD = true;
            		blnGoodPConf = false;
					$("validPWD").innerHTML = strPWDPassHTML;
		            if ($("pwdPassword").value != $("pwdPassword2").value) {
		                $("pwdPassword2").value = "";
		                $("validPWD2").innerHTML = "";
		                }
					}
				else {
					blnGoodPWD = false;
            		blnGoodPConf = false;
					$("validPWD").innerHTML = strPWDFailHTML;
		            if ($("pwdPassword").value != $("pwdPassword2").value) {
		                $("pwdPassword2").value = "";
		                $("validPWD2").innerHTML = "";
		                }
					}
				}
			}).send("pwd=" + charString + "&" + Math.random());
		}
	else {
		blnGoodPWD = false;
		blnGoodPConf = false;
		$("validPWD").innerHTML = strPWDFailHTML;
		if ($("pwdPassword").value != $("pwdPassword2").value) {
		    $("pwdPassword2").value = "";
		    $("validPWD2").innerHTML = "";
		    }
		}
	}

function validateForPWDConfirm(charString) {
	var strPWDPassHTML = "<img src=\"/images/common/approve.png\" align=\"absmiddle\"><span style=\"color:#36755B;font-weight:bold;font-size:9px\">OK</span>";
	var strPWDFailHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">NOT&nbsp;A&nbsp;MATCH</span>";
	var strPWDInvalidHTML = "<img src=\"/images/spacer.gif\" class=\"icon_close\" align=\"absmiddle\"><span style=\"color:#C00;font-size:9px\">INVALID</span>";
	if ($("pwdPassword").value == $("pwdPassword2").value && $("pwdPassword2").value != '') {
		blnGoodPConf = true;
		$("validPWD2").innerHTML = strPWDPassHTML;
		}
	else {
	    if ($("pwdPassword2").value == '') {
		    blnGoodPConf = false;
		    $("validPWD2").innerHTML = strPWDInvalidHTML;
	        }
	    else {
		    blnGoodPConf = false;
		    $("validPWD2").innerHTML = strPWDFailHTML;
		    }
		}
	}

var blnGoodPromo = new Boolean(false);
var blnGoodEmail = new Boolean(false);
var blnGoodEConf = new Boolean(false);
var blnGoodPConf = new Boolean(false);
var blnGoodLogin = new Boolean(false);
var oRgFrm = document.forms["frmRegistration"];
window.addEvent("domready", function () {
	oRgFrm.elements["txtUsername"].onkeyup = function() { if (this.value != domainStripper(this.value)) this.value = domainStripper(this.value); }
	oRgFrm.elements["txtUsername"].onblur = function() { availCheckUsername(this.value); }
	oRgFrm.elements["pwdPassword"].onblur = function() { validateForPWD(this.value); }
	oRgFrm.elements["pwdPassword2"].onblur = function() { validateForPWDConfirm(this.value); }
	oRgFrm.elements["txtEmailAddress"].onblur = function() { availCheckEmail(this.value); }
	oRgFrm.elements["txtConfirmEmail"].onblur = function() { validateForEmailConfirm(this.value); }
	if (oRgFrm.elements["txtPromoNumber"].value != "" && ss != 'communitycashrewards') oRgFrm.elements["txtPromoNumber"].readOnly = true;
	else {
		oRgFrm.elements["txtPromoNumber"].onkeyup = function() { if (this.value != stripper(this.value)) this.value = stripper(this.value); }
		oRgFrm.elements["txtPromoNumber"].onblur = function() { validatePromo(this.value); }
		}
	$("imgNOSPAM").setStyles({"cursor":"pointer"}).addEvent("click", function(evt){ displayBox("antispampolicy.asp?pop=1", 640, 480, true); evt.stop(); return false; });
	if (oRgFrm.elements["txtEmailAddress"].value != "") availCheckEmail(oRgFrm.elements["txtEmailAddress"].value);
	});
