preload_image = new Image(); 
preload_image.src="images/close_over.gif";

var xmlHttp = new XMLHttpRequest();
var userClear = false;
var passwordclear = false;
var emailClear = false;

function open_window() {
	var popup_window = document.getElementById('popup_window');
	popup_window.style.marginTop = -Math.round(popup_window.offsetHeight / 2) + "px";

	document.getElementById('popup').style.visibility = "visible";

	document.getElementById('user_input').value = document.getElementById('username').value;
	document.getElementById('pass_input').value = document.getElementById('password').value;
	
	document.getElementById('user_input').focus();
	
	if(document.getElementById('username').value != "") {
		document.getElementById('pass_input').focus();
		user_check();
	}
	if(document.getElementById('password').value != "")
		document.getElementById('pass_input2').focus();
}

function close_window() {
	document.getElementById('popup').style.visibility = "hidden";
}

function user_check() {
	var username = document.getElementById('user_input').value;
	var legitChars = true;
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>? ";
	
	if(username.length <= 3) {
		document.getElementById('user_message').style.color = "#F00";
		document.getElementById('user_message').innerHTML = "What a puny username, make it longer than 3 characters.";
		userClear = false;
	} else {
		for (var i = 0; i < username.length; i++) {
			if (iChars.indexOf(username.charAt(i)) != -1) {
				legitChars = false;
				document.getElementById('user_message').style.color = "#F00";
				document.getElementById('user_message').innerHTML = "Only use alphanumeric characters, and no spaces, okay, thanks.";
				userClear = false;
				break;
			}
		}
		
		if(legitChars) {
			xmlHttp.open("GET","includes/checkout.php?user=" + username);
			xmlHttp.send(null);
			
			document.getElementById('user_message').innerHTML = "Checking Usernames...";
		
			xmlHttp.onreadystatechange = function() {
				if(xmlHttp.readyState == 4) {
					if(xmlHttp.responseText == "clear") {
						document.getElementById('user_message').style.color = "#0A0";
						document.getElementById('user_message').innerHTML = "Good choice, that name is free.";
						userClear = true;
					} else {
						document.getElementById('user_message').style.color = "#F00";
						document.getElementById('user_message').innerHTML = "Try and be a little more creative than that.";
						userClear = false;
					}
				}
			}
		}
	}
}

function pass_check() {
	var pass1 = document.getElementById('pass_input').value;
	var pass2 = document.getElementById('pass_input2').value;
	
	if(pass1.length < 6) {
		document.getElementById('pass_message').style.color = "#F00";
		document.getElementById('pass_message').innerHTML = "Come on make it atleast 6 characters long.";
		passClear = false;
	} else if(pass1 == pass2) {
		document.getElementById('pass_message').style.color = "#0A0";
		document.getElementById('pass_message').innerHTML = "Congrats, you can type the same thing twice.";
		passClear = true;
	}
	else {
		document.getElementById('pass_message').style.color = "#F00";
		document.getElementById('pass_message').innerHTML = "Those passwords do not match, try not to typo next time.";
		passClear = false;
	}
}

function email_check() {
	var email = document.getElementById("email_input").value;
	
	if((email.indexOf(".") > 2) && (email.indexOf("@") > 0)) {
		document.getElementById('email_message').style.color = "#0A0";
		document.getElementById('email_message').innerHTML = "That does appear to be an email address.";
		emailClear = true;
	}
	else {
		document.getElementById('email_message').style.color = "#F00";
		document.getElementById('email_message').innerHTML = "No seriously, I'm going to need a REAL email address.";
		emailClear = false;
	}
}

function createList() {
	if(userClear && passClear && emailClear) {
		var user = document.getElementById("user_input").value;
		var pass = document.getElementById("pass_input").value;
		var email = document.getElementById("email_input").value;
		
		window.location = "submit_user.php?user=" + user + "&pass=" + pass + "&email=" + email;
	} else
		alert("Something is wrong here, fix your username/password/email address.");
}