// JavaScript Document
function submitRegistration(isLoggedIn) 
{

	var username;
	var firstPassword;
	var confirmPassword;
//	<? if (empty($_SESSION['username'])) { ?>
	if (isLoggedIn == false)
	{
		var username = document.getElementById("username").value;
		var firstPassword = document.getElementById("firstPassword").value;
		var confirmPassword = document.getElementById("confirmPassword").value;
	//<? }  ?>
	}
	var email = document.getElementById("email").value;

	var numberLicenses = document.getElementById("numberLicenses").value;
	if (numberLicenses == 10) 
	{
		numberLicenses = document.getElementById("numberLicensesExtra").value;
	}
	
	var errorMsg = " <b>We're sorry, there were some problems with the details entered:</b><BR> ";
	var hasErrors = false;
//	<? if (empty($_SESSION['username'])) { ?>
	if (isLoggedIn == false) 
	{
		if (username == "") 
		{
			var errorMsg = errorMsg +  " <li>Please enter a username.</li> "
			var hasErrors = true;
		}
		if (username.length  > 30) 
		{
			var errorMsg =  errorMsg + " <li>Please enter a shorter username (less than 30 characters long).</li> "
			var hasErrors = true;
		}
		if (firstPassword.length  > 30)
		{
			var errorMsg =  errorMsg + " <li>Please enter a shorter password (less than 30 characters long).</li> "
			var hasErrors = true;
		}
		if (firstPassword.length  < 7)
		{
			var errorMsg =  errorMsg + " <li>The password must be at least 7 letters long.</li> "
			var hasErrors = true;
		}
		if (firstPassword != confirmPassword) 
		{
			var errorMsg = errorMsg + " <li>The password and confirmation passwords don't match.</li> "
			var hasErrors = true;
		}
	//	<? } ?>
	}
	if (!checkIsInteger(numberLicenses)) 
	{
		var errorMsg = errorMsg + " <li>The number of licenses must be an integer.</li> "
		var hasErrors = true;
	}
	if (!isEmail(email)) 
	{
		var errorMsg = errorMsg + " <li>The email address " + email + " is not a valid email address.</li> "
		var hasErrors = true;
	}

	
	if (hasErrors == true) 
	{
		$("#registrationError").html(errorMsg);
		$("#registrationError").addClass("ctWarning");
		window.location = "#top";
	} 
	else 
	{
		$("#paypalButton").val("Loading...");
		var paymentType = "Sent To Paypal";
		if (paymentMethod == "2Checkout") { paymentType = "Sent to 2Checkout"; } 
		else if (paymentMethod == "Thai ATM transfer") { paymentType = "Requests Thai ATM Details"; } 
		
		var queryString = "username=" + encodeURIComponent(username) + "&password=" + encodeURIComponent(firstPassword) + "&email=" + encodeURIComponent(email) +  "&numberLicenses=" + encodeURIComponent(numberLicenses) + "&paymentType=" + encodeURIComponent(paymentType);
//alert(queryString);
		$.ajax({
		   type: "POST",
		   url: "/ajax/neworder.html",
		   data: queryString,
 		   dataType: "html",
		   success: function(data) { 


				var okRegex = new RegExp("ok - \d+", "g");
				if (/^ok - \d+$/.test(data) == true) 
				{
					var orderId = data.replace("ok - ", "");

					var totalCost = $("#totalCost").text();
					if (numberLicenses > 1) {
						var itemName = "Thai2English - " + numberLicenses + " licenses";
					} else if (numberLicenses == 1) {
						var itemName = "Thai2English - " + numberLicenses + " license";
					}
					
					var encQueryString = "itemName=" + encodeURIComponent(itemName);
					encQueryString += "&numberLicenses=" + encodeURIComponent(numberLicenses);
					encQueryString += "&orderId= " + encodeURIComponent(orderId);
					encQueryString += "&email=" + encodeURIComponent(email);

					if (paymentMethod == "Thai ATM transfer")
					{ 
						alert("Thank you, your data has been succesfully saved and an email has been sent to " + email); 
						$("#paypalButton").hide();
					}
					else { 	submitEncForm(encQueryString);  } 
					
					
				} 
				else if (data == "user exists") 
				{
					var errorMsg = " <li><b>Sorry, the username '" + username + "' is already registered. Please choose a different one.</b></li> ";
					$("#registrationError").html(errorMsg);
					$("#registrationError").addClass("ctWarning");
					if (paymentMethod != "Thai ATM transfer") { $("#paypalButton").val("Submit and continue >>");  } 
				}
				else if (data == "email exists") 
				{
					var errorMsg = " <li><b>Sorry, the email '" + email + "' is already registered. Please choose a different one.</b></li> ";
					$("#registrationError").html(errorMsg);
					$("#registrationError").addClass("ctWarning");
					if (paymentMethod != "Thai ATM transfer") { $("#paypalButton").val("Submit and continue >>");  } 
				}	
				else  
				{
					var errorMsg = "<li>Sorry, an error occured and we were unable to process your order. Please try again, and if you encounter this message repeatedly please contact support@thai2english.com for assistance. </li>";
					$("#registrationError").html(errorMsg);
					$("#registrationError").addClass("ctWarning");
					if (paymentMethod != "Thai ATM transfer") { $("#paypalButton").val("Submit and continue >>");  } 
				}
			}
		 })
	}
 }


function checkNumberLicenses()
{
	var numberLicenses = document.getElementById("numberLicenses").value;
	if (!checkIsInteger(numberLicenses)) {
		alert("Licenses must be an integer.");
	}	else {
		if (numberLicenses == 10) {
			$("#licenseSpecify").show();
			$("#numberLicensesExtra").show();
			numberLicenses = document.getElementById("numberLicensesExtra").value;
		} else {
			$("#licenseSpecify").hide();
			$("#numberLicensesExtra").hide();
		}
		var totalCost;
		var perLicenseCost;
		var currencyCode = $("#currencyCode").attr("currency");
		if (numberLicenses == 1) 
		{
			perLicenseCost = 39.99;
			if (currencyCode == "THB") { perLicenseCost = 1200; } 
			totalCost = perLicenseCost * numberLicenses;
			$("#perLicenseCost").text("" + totalCost);
		} 
		else if (numberLicenses > 1 && numberLicenses < 6) 
		{
			perLicenseCost = 29.99;
			if (currencyCode == "THB") { perLicenseCost = 800; } 
			totalCost = perLicenseCost * numberLicenses;
			$("#perLicenseCost").text(perLicenseCost + " each");
		} 
		else if (numberLicenses >= 6) 
		{
			perLicenseCost = 25.99;
			if (currencyCode == "THB") { perLicenseCost = 700; } 
			totalCost = perLicenseCost * numberLicenses;
			$("#perLicenseCost").text(perLicenseCost + " each");
		}
		totalCost = totalCost.toFixed(2);
		$("#totalCost").text(totalCost);
		
	}
}


function checkIsInteger(myInt) 
{
	
	var validNumbers = "0123456789";
	var thisChar;

	if (myInt.length == 0) {
		return false;
	}

	for (i = 0; i < myInt.length ; i++)  {
		thisChar = myInt.charAt(i);
		  if (validNumbers.indexOf(thisChar) == -1) {
			 return false;
		 }
	}
	return true;
}

function isEmail(string) 
{
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
		return true;
	} else {
		return false;
	}
}
