﻿function Page_Load() {
	if (document.getElementById("UserLogin_Panel")) {
		if (document.getElementById("UserLogin_UserName").value == "NotMyDongle") {
			document.getElementById("UserLogin_UserName").value = "";
		}
		if (document.getElementById("UserLogin_UserName").value == "") {
			document.getElementById("UserLogin_UserName").focus();
		}
		else {
			try {
				document.getElementById("LoginCredentials").value = ReadRegistryString("LoginCredentials");
				if (document.getElementById("LoginCredentials").value.length > 0)
					document.getElementById("UserLogin_Password").value = "********************";
			}
			catch (e) { }
			document.getElementById("UserLogin_Password").focus();
		}
		
		UserLogin_SetEvents();
		UserLogin_EnableNextButton();

		if (document.getElementById("LoginEmail").value == "DeleteIfMatch") {
			document.getElementById("LoginEmail").value = "";
			var loginEmail = "";
			try {
				loginEmail = ReadRegistryString("LoginEmail");
			}
			catch (e) { }

			if (loginEmail == document.getElementById("UserLogin_UserName").value) {
				WriteRegistryString("LoginEmail", "");
				WriteRegistryString("LoginCredentials", "");
			}

			var c2v = document.getElementById("C2vData").value;
			if (c2v.substring(0, 8) == "Request_") {
				Blanker_Start();

				var dongleTypes = c2v.substring(8, c2v.length).split(",");
				c2v = "";
				for (var i in dongleTypes) {
					if (c2v != "")
						c2v += "<%split%>\n";
					c2v += ConvertToSafeXml(ReadDongle(dongleTypes[i]));
				}
				document.getElementById("C2vData").value = c2v;
				document.getElementById("MainForm").submit();
			}
		}
	}

	if (document.getElementById("DealerLogin_Panel")) {
		if (document.getElementById("DealerLogin_DealerLogin_Name").value == "") {
			document.getElementById("DealerLogin_DealerLogin_FindButton").focus();
			document.getElementById("DealerLogin_DealerLogin_Name").disabled = true;
			document.getElementById("DealerLogin_Password").disabled = true;
			document.getElementById("DealerLogin_PasswordLabel").disabled = true;
		}
		else if (!document.getElementById("DealerLogin_Password").disabled) {
			try {
				document.getElementById("LoginCredentials").value = ReadRegistryString("LoginCredentials");
				if (document.getElementById("LoginCredentials").value.length > 0)
					document.getElementById("DealerLogin_Password").value = "********************";
			}
			catch (e) { }
			document.getElementById("DealerLogin_Password").focus();
		}
		else
			document.getElementById("DealerLogin_PasswordLabel").disabled = true;

		DealerLogin_SetEvents();
		DealerLogin_EnableNextButton();

		if (document.getElementById("LoginEmail").value == "DeleteIfMatch") {
			document.getElementById("LoginEmail").value = "";
			var loginEmail = "";
			try {
				loginEmail = ReadRegistryString("LoginEmail");
			}
			catch (e) { }

			if (loginEmail == document.getElementById("DealerLogin_DealerLogin_DealerId").value) {
				WriteRegistryString("LoginEmail", "");
				WriteRegistryString("LoginCredentials", "");
			}

			var c2v = document.getElementById("C2vData").value;
			if (c2v.substring(0, 8) == "Request_") {
				Blanker_Start();

				var dongleTypes = c2v.substring(8, c2v.length).split(",");
				c2v = "";
				for (var i in dongleTypes) {
					if (c2v != "")
						c2v += "<%split%>\n";
					c2v += ConvertToSafeXml(ReadDongle(dongleTypes[i]));
				}
				document.getElementById("C2vData").value = c2v;
				document.getElementById("MainForm").submit();
			}
		}
	}

	else if (document.getElementById("RetrievePassword_Panel")) {
		RetrievePassword_SetEvents();
		RetrievePassword_EnableNextButton();
	}

	else { // No panels
		if (document.getElementById("ProductCode").value == "Request")
			document.getElementById("ProductCode").value = GetProductCode();
		
		if (document.getElementById("LoginEmail").value == "Request") {
			var loginEmail = "";
			try {
				loginEmail = ReadRegistryString("LoginEmail");
			}
			catch (e) { }

			if (loginEmail) {
				Blanker_Start();
				document.getElementById("LoginEmail").value = loginEmail;
				document.getElementById("MainForm").submit();
			}
			else {
				var c2v = document.getElementById("C2vData").value;
				if (c2v.substring(0, 8) == "Request_") {
					Blanker_Start();
					var dongleTypes = c2v.substring(8, c2v.length).split(",");
					c2v = "";
					try {
						for (var i in dongleTypes) {
							if (c2v != "")
								c2v += "<%split%>\n";
							c2v += ConvertToSafeXml(ReadDongle(dongleTypes[i]));
						}
					}
					catch (e) { }
					document.getElementById("LoginEmail").value = "";
					document.getElementById("C2vData").value = c2v;
					document.getElementById("MainForm").submit();
				}
			}
		}
	}
}

function UserLogin_SetEvents() {
	if (document.getElementById("UserLogin_NewCustomer")) {
		document.getElementById("UserLogin_NewCustomer").onchange = UserLogin_EnableNextButton;
		document.getElementById("UserLogin_NewCustomer").onclick = UserLogin_EnableNextButton;
		document.getElementById("UserLogin_HaveRegistered").onchange = UserLogin_EnableNextButton;
		document.getElementById("UserLogin_HaveRegistered").onclick = UserLogin_EnableNextButton;
	}
	document.getElementById("UserLogin_UserName").onchange = UserLogin_EnableNextButton;
	document.getElementById("UserLogin_UserName").onkeyup = UserLogin_EnableNextButton;
	document.getElementById("UserLogin_Password").onchange = UserLogin_EnableNextButton;
	document.getElementById("UserLogin_Password").onkeyup = UserLogin_EnableNextButton;

	document.getElementById("UserLogin_ForgottenPassword").onclick = UserLogin_ForgottenPassword_Submit

	// Timer will check every 1/2 second, in case the user has automatic passwords
	setInterval("UserLogin_EnableNextButton()", 500);
}

function UserLogin_EnableNextButton() {
	document.getElementById("UserLogin_LoginButton").disabled = (
		(!document.getElementById("UserLogin_HaveRegistered") ||
		document.getElementById("UserLogin_HaveRegistered").checked) &&
		(document.getElementById("UserLogin_UserName").value == "" ||
		document.getElementById("UserLogin_Password").value == "")
	);

	// And Enabled / Disable text boxes
	document.getElementById("UserLogin_UserNameLabel").disabled =
	document.getElementById("UserLogin_UserName").disabled =
	document.getElementById("UserLogin_PasswordLabel").disabled =
	document.getElementById("UserLogin_Password").disabled =
		(
			document.getElementById("UserLogin_HaveRegistered") &&
			!document.getElementById("UserLogin_HaveRegistered").checked
		);
}

function UserLogin_ClickForgottenPasswordButton() {
	try {
		document.getElementById("UserLogin_ForgottenPassword").click();
	}
	catch (e) {
		location.href = document.getElementById("UserLogin_ForgottenPassword").href;
	}
}

function UserLogin_ForgottenPassword_Submit() {
	if (document.getElementById("MatchedDongle").value == "NotRun") {
		document.getElementById("MatchedDongle").value = "";
		var c2v = document.getElementById("C2vData").value;
		if (c2v.substring(0, 8) == "Request_") {
			Blanker_Start();

			var dongleTypes = c2v.substring(8, c2v.length).split(",");
			c2v = "";
			for (var i in dongleTypes) {
				if (c2v != "")
					c2v += "<%split%>\n";
				c2v += ConvertToSafeXml(ReadDongle(dongleTypes[i]));
			}
			document.getElementById("C2vData").value = c2v;
			document.getElementById("MainForm").submit();
		}
	}
}

function DealerLogin_SetEvents() {
	document.getElementById("DealerLogin_Password").onchange = DealerLogin_EnableNextButton;
	document.getElementById("DealerLogin_Password").onkeyup = DealerLogin_EnableNextButton;

	document.getElementById("DealerLogin_ForgottenPassword").onclick = DealerLogin_ForgottenPassword_Submit
}

function DealerLogin_EnableNextButton() {
	document.getElementById("DealerLogin_LoginButton").disabled =
		(document.getElementById("DealerLogin_DealerLogin_Name").value == "" ||
		document.getElementById("DealerLogin_Password").value == "");
}

function DealerLogin_ClickForgottenPasswordButton() {
	try {
		document.getElementById("DealerLogin_ForgottenPassword").click();
	}
	catch (e) {
		location.href = document.getElementById("DealerLogin_ForgottenPassword").href;
	}
}

function DealerLogin_ForgottenPassword_Submit() {
	if (document.getElementById("MatchedDongle").value == "NotRun") {
		document.getElementById("MatchedDongle").value = "";
		var c2v = document.getElementById("C2vData").value;
		if (c2v.substring(0, 8) == "Request_") {
			Blanker_Start();

			var dongleTypes = c2v.substring(8, c2v.length).split(",");
			c2v = "";
			for (var i in dongleTypes) {
				if (c2v != "")
					c2v += "<%split%>\n";
				c2v += ConvertToSafeXml(ReadDongle(dongleTypes[i]));
			}
			document.getElementById("C2vData").value = c2v;
			document.getElementById("MainForm").submit();
		}
	}
}

function RetrievePassword_SetEvents() {
	if (document.getElementById("RetrievePassword_EmailOption")) {
		document.getElementById("RetrievePassword_EmailOption").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_EmailOption").onclick = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_Email").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_Email").onkeyup = RetrievePassword_EnableNextButton;
	}
	
	if (document.getElementById("RetrievePassword_FindOption")) {
		document.getElementById("RetrievePassword_FindOption").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_FindOption").onclick = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_LastName").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_LastName").onkeyup = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_Zip").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_Zip").onkeyup = RetrievePassword_EnableNextButton;
	}
	
	if (document.getElementById("RetrievePassword_CannotFindOption")) {
		document.getElementById("RetrievePassword_CannotFindOption").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_CannotFindOption").onclick = RetrievePassword_EnableNextButton;
	}

	if (document.getElementById("RetrievePassword_DealershipOption")) {
		document.getElementById("RetrievePassword_DealershipOption").onchange = RetrievePassword_EnableNextButton;
		document.getElementById("RetrievePassword_DealershipOption").onclick = RetrievePassword_EnableNextButton;
	}
	
	document.getElementById("RetrievePassword_ContactOption").onchange = RetrievePassword_EnableNextButton;
	document.getElementById("RetrievePassword_ContactOption").onclick = RetrievePassword_EnableNextButton;
}

function RetrievePassword_EnableNextButton() {
	document.getElementById("RetrievePassword_Next").disabled = !(
		(document.getElementById("RetrievePassword_EmailOptionPanel") && 
			document.getElementById("RetrievePassword_EmailOption").checked &&
			document.getElementById("RetrievePassword_Email").value != "") ||
		(document.getElementById("RetrievePassword_FindOptionPanel") && 
			document.getElementById("RetrievePassword_FindOption").checked &&
			document.getElementById("RetrievePassword_LastName").value != "" &&
			document.getElementById("RetrievePassword_Zip").value != "") ||
		(document.getElementById("RetrievePassword_CannotFindOptionPanel") &&
			document.getElementById("RetrievePassword_CannotFindOption").checked) ||
		(document.getElementById("RetrievePassword_DealershipPanel") &&
			document.getElementById("RetrievePassword_DealershipOption").checked &&
			document.getElementById("RetrievePassword_Dealership").value != "") ||
		document.getElementById("RetrievePassword_ContactOption").checked
	);
	
	// And Enabled / Disable text boxes
	if (document.getElementById("RetrievePassword_EmailOptionPanel")) {
		document.getElementById("RetrievePassword_EmailLabel").disabled =
		document.getElementById("RetrievePassword_Email").disabled =
			(!document.getElementById("RetrievePassword_EmailOption").checked);
	}
	
	if (document.getElementById("RetrievePassword_FindOptionPanel")) {
		document.getElementById("RetrievePassword_LastNameLabel").disabled =
		document.getElementById("RetrievePassword_LastName").disabled =
		document.getElementById("RetrievePassword_ZipLabel").disabled =
		document.getElementById("RetrievePassword_Zip").disabled =
			(!document.getElementById("RetrievePassword_FindOption").checked);
	} 
}
