$(document).ready(function(){

	$(".register").live("click", function(){
$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC', content:$("#register"), onEnd: function(){ rebindRegEvents(); $("#content").css("background", "url('/images/content_bg.png') no-repeat"); resetIe6(); } }); 
	});
	
	$(".pinDigit").live("keyup", function(e){
		var whatOne = $(this).attr("rel");
		if (whatOne < 7){
			if (e.keyCode > 48){
				var nextOne = parseInt(whatOne) + 1;
				$("#pinDigit"+nextOne).focus();
			}
		}
	});
	
	$(".enterAnother").live('click', function(){
		resetPinAdd();
	});
	

	$('#flashContent').flash({
	    src: 'funCheese_80.swf',
	    width: 580,
	    height: 425,
	    wmode: 'transparent'
	});

	$("#enterPin").live('click', function(){
		$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC', content:$("#pinEntryForm"), onEnd: function(){ $("#content").css("background", "url('/images/content_bg.png') no-repeat"); resetIe6(); } }); 
	});
	
	
	$(".myStats").live('click', function(){
		$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC', onBefore: function(){ $("#content").children().hide(); }, onEnd: function(){ 
			$("#content").css("background", "url('/images/content_bg.png') no-repeat"); 
			$("#content").load("rpc.php", {a: "getStats"});
			resetIe6();
		} }); 
	});
	
	/*$("#pinAdd").live("click", function(){
		pinAdd();
	});*/
	
	$("#doReg").live("click", function(){
		var error = "";
		//verify all reg. stuff here
		//Firstname
		if ($("#firstname").val() == "First Name *" || $("#firstname").val() == ""){
			//$("#firstname").focus();
			$("#firstname").css("borderColor", "#F00"); error = "yes";
			$("#firstname").css("borderWidth", "1px");
		}else{
			$("#firstname").css("borderColor", "#8d8d8d");
			$("#firstname").css("borderWidth", "1px");
		}
		//Last name
		if ($("#lastname").val() == "Last Name *" || $("#lastname").val() == ""){
			//$("#lastname").focus();
			$("#lastname").css("borderColor", "#F00"); error = "yes1";
			$("#lastname").css("borderWidth", "1px");
		}else{
			$("#lastname").css("borderColor", "#8d8d8d");
			$("#lastname").css("borderWidth", "1px");
		}
		//Age
		if ($("#age").val() == "Age *" || $("#age").val() == ""){
			//$("#age").focus();
			$("#age").css("borderColor", "#F00"); error = "yes2";
			$("#age").css("borderWidth", "1px");
		}else{
			if (!isNumeric($("#age").val()) || $("#age").val() > 99 || $("#age").val() < 1){
				alert("Invalid Age. Numbers between 1 and 99 only please!");
				//$("#age").focus();
				$("#age").css("borderColor", "#F00"); error = "yes3";
				$("#age").css("borderWidth", "1px");
			}else{
				$("#age").css("borderColor", "#8d8d8d");
				$("#age").css("borderWidth", "1px");
			}
		}
		//Under 13? We need parents permission and email address
		if ($("#age").val() <= 13){
			//parentsEmail
			if ($("#parentsEmail").val() == "Parents Email *" || $("#parentsEmail").val() == ""){
				//$("#parentsEmail").focus();
				$("#parentsEmail").css("borderColor", "#F00"); error = "yes4";
				$("#parentsEmail").css("borderWidth", "1px");
			}else{
				$("#parentsEmail").css("borderColor", "#8d8d8d");
				$("#parentsEmail").css("borderWidth", "1px");
			}
			//parentsEmail
			if ($("#parentsEmail2").val() == "Verify Parents Email *" || $("#parentsEmail2").val() == ""){
				//$("#parentsEmail2").focus();
				$("#parentsEmail2").css("borderColor", "#F00"); error = "yes5";
				$("#parentsEmail2").css("borderWidth", "1px");
			}else{
				$("#parentsEmail2").css("borderColor", "#8d8d8d");
				$("#parentsEmail2").css("borderWidth", "1px");
			}
			//parentsEmail comparison test
			if ($("#parentsEmail").val() != $("#parentsEmail2").val()){
				//$("#parentsEmail").focus();
				$("#parentsEmail").css("borderColor", "#F00"); error = "yes6";
				$("#parentsEmail").css("borderWidth", "1px");
				$("#parentsEmail2").css("borderColor", "#F00"); error = "yes7";
				$("#parentsEmail2").css("borderWidth", "1px");
				alert("Email address must be the same!");
			}else{
				$("#parentsEmail").css("borderColor", "#8d8d8d");
				$("#parentsEmail").css("borderWidth", "1px");
				$("#parentsEmail2").css("borderColor", "#8d8d8d");
				$("#parentsEmail2").css("borderWidth", "1px");
			}
			
			//Under 13? You need to check this box too
			if ($("#parentsPermission:checked").val() != "yes"){
				alert("You must get your parents permission!");
			}
		}
		
		
		
		//City
		if ($("#city").val() == "City *" || $("#city").val() == ""){
			//$("#city").focus();
			$("#city").css("borderColor", "#F00"); error = "yes8";
			$("#city").css("borderWidth", "1px");
		}else{
			$("#city").css("borderColor", "#8d8d8d");
			$("#city").css("borderWidth", "1px");
		}
		//Province
		if ($("#province option:selected").html() == "Province *"){
			//$("#province").focus();
			$("#province").css("borderColor", "#F00"); error = "yes9";
			$("#province").css("borderWidth", "1px");
		}else{
			$("#province").css("borderColor", "#8d8d8d");
			$("#province").css("borderWidth", "1px");
		}
		//Postal Code
		if ($("#postalcode").val() == "Postal Code *" || $("#postalcode").val() == ""){
			//$("#postalcode").focus();
			$("#postalcode").css("borderColor", "#F00"); error = "yes10";
			$("#postalcode").css("borderWidth", "1px");
		}else{
			$("#postalcode").css("borderColor", "#8d8d8d");
			$("#postalcode").css("borderWidth", "1px");
		}
		//Telephone
		if ($("#phone").val() == "Telephone *" || $("#phone").val() == ""){
			//$("#phone").focus();
			$("#phone").css("borderColor", "#F00"); error = "yes11";
			$("#phone").css("borderWidth", "1px");
		}else{
			$("#phone").css("borderColor", "#8d8d8d");
			$("#phone").css("borderWidth", "1px");
		}
		//username
		var theUsername = $("#username").val();
		if (theUsername.length < 5){
			alert("Usernames must be longer than 5 characters and alphanumeric (A-z, 0-1) characters only");
			$("#username").css("borderColor", "#F00"); error = "yes12";
			$("#username").css("borderWidth", "1px");			
		}else{
			if (theUsername == "Username *" || theUsername == ""){
				//$("#username").focus();
				$("#username").css("borderColor", "#F00"); error = "yes12";
				$("#username").css("borderWidth", "1px");
			}else{
				$("#username").css("borderColor", "#8d8d8d");
				$("#username").css("borderWidth", "1px");
			}
		}
		//Email
		if ($("#email").val() == "Email Address *" || $("#email").val() == ""){
			//$("#email").focus();
			$("#email").css("borderColor", "#F00"); error = "yes13";
			$("#email").css("borderWidth", "1px");
		}else{
			$("#email").css("borderColor", "#8d8d8d");
			$("#email").css("borderWidth", "1px");
		}
		//Email - verify
		if ($("#email2").val() == "Confirm Email Address *" || $("#email2").val() == ""){
			//$("#email2").focus();
			$("#email2").css("borderColor", "#F00"); error = "yes14";
			$("#email2").css("borderWidth", "1px");
		}else{
			$("#email2").css("borderColor", "#8d8d8d");
			$("#email2").css("borderWidth", "1px");
		}
		//Email validity test
		if (is_valid_email($("#email").val()) == false){
			//$("#email").focus();
			alert("Email is invalid");
			$("#email").css("borderColor", "#F00"); error = "yes15";
			$("#email").css("borderWidth", "1px");
		}else{
			$("#email").css("borderColor", "#8d8d8d");
			$("#email").css("borderWidth", "1px");
		}
		//Email comparison test
		if ($("#email").val() != $("#email2").val()){
			//$("#email").focus();
			$("#email").css("borderColor", "#F00"); error = "yes16";
			$("#email").css("borderWidth", "1px");
			$("#email2").css("borderColor", "#F00"); error = "yes17";
			$("#email2").css("borderWidth", "1px");
			alert("Email address must be the same!");
		}else{
			$("#email").css("borderColor", "#8d8d8d");
			$("#email").css("borderWidth", "1px");
			$("#email2").css("borderColor", "#8d8d8d");
			$("#email2").css("borderWidth", "1px");
		}
		
		//Password
		if ($("#password").val() == ""){
			//$("#password").focus();
			$("#password").css("borderColor", "#F00"); error = "yes18";
			$("#password").css("borderWidth", "1px");
		}else{
			$("#password").css("borderColor", "#8d8d8d");
			$("#password").css("borderWidth", "1px");
		}
		if ($("#password2").val() == ""){
			//$("#password2").focus();
			$("#password2").css("borderColor", "#F00"); error = "yes19";
			$("#password2").css("borderWidth", "1px");
		}else{
			$("#password2").css("borderColor", "#8d8d8d");
			$("#password2").css("borderWidth", "1px");
		}
		
		//Read the rules?
		if ($("#readRules:checked").val() != "yes"){
			alert("You must read the rules and privacy policy!");
		}
		
		if (error == ""){
			$("#contestReg").submit();
		}/*else{
			console.info(error);
		}*/
		
	});
});

function goback(){
		$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC', content:$("#home"), onEnd: function(){ $("#content").css("background", "url('/images/content_bg.png') no-repeat"); resetIe6(); } }); 
}

function isNumeric(sText){
	//Will implement a RegEx version later
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;

	for (var i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
			IsNumber = false;
	}
	return IsNumber;   
}

function isEmail(elementValue){      
	// Mmm, I love the smell of regular expressions in the morning
   var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
   var result = emailPattern.test(elementValue);
   return result;
 }

function pinAdd(){
var blankTest = false;
		if ($("#pinDigit0").val() == "")
			alert("Pin Digit 1 is blank"); else
			if ($("#pinDigit1").val() == "")
				alert("Pin Digit 2 is blank"); else
				if ($("#pinDigit2").val() == "")
					alert("Pin Digit 3 is blank"); else
					if ($("#pinDigit3").val() == "")
						alert("Pin Digit 4 is blank"); else
						if ($("#pinDigit4").val() == "")
							alert("Pin Digit 5 is blank"); else
							if ($("#pinDigit5").val() == "")
								alert("Pin Digit 6 is blank"); else
								if ($("#pinDigit6").val() == "")
									alert("Pin Digit 7 is blank"); else
									if ($("#pinDigit7").val() == "")
										alert("Pin Digit 8 is blank"); else
										if ($("#captcha").val() == "")
											alert("Captcha is blank"); else
											if ($("#skilltest").val() != "")
												blankTest = true;
											else{
												blankTest = false;
												alert("Ensure all pin fields and the skill testing question are not empty.");
											}
	if (blankTest){
	
		runPinTest();
	}
}

function rebindRegEvents(){
	$("input.regField").focus(function(){
		if ($(this).hasClass("untouched")){
			$(this).val("");
			$(this).css("color", "#000");
			$(this).removeClass("untouched");
		}
	});
	$("input.regField").change(function(){
		if ($(this).val() == ""){
			$(this).css("color", "#000");
			$(this).removeClass("untouched");
		}
	});
	$("input.regField").blur(function(){
		if ($(this).val() == ""){
			$(this).val($(this).attr("rel"));
			$(this).addClass("untouched");
		}
		
		$(this).css("borderColor", "#8d8d8d");
		$(this).css("borderWidth", "1px");
	});
	$("select.regField").blur(function(){
		$(this).css("borderColor", "#8d8d8d");
		$(this).css("borderWidth", "1px");
	});
	$("#age").change(function(){
		var theAge = $(this).val();
		if (theAge > 13){
			$(".under13").hide();
		}else{
			$(".under13").show();
		}
	});
}

function runPinTest(){
	$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC', onBefore: function(){ $("#content").children().hide(); }, onEnd: function(){ 
		$("#content").css("background", "url('/images/content_bg.png') no-repeat");
		$("#content").load("rpc.php", {a: "do_pinadd", pinDigit0: $("#pinDigit0").val() , pinDigit1: $("#pinDigit1").val(), pinDigit2: $("#pinDigit2").val(), pinDigit3: $("#pinDigit3").val(), pinDigit4: $("#pinDigit4").val(), pinDigit5: $("#pinDigit5").val(), pinDigit6: $("#pinDigit6").val(), pinDigit7: $("#pinDigit7").val(),skilltest: $("#skilltest").val(), captcha:$("#captcha").val()});
		resetIe6();
	} 
	}); 
}

function resetPinAdd(){
	//Reset pin entry form
	$("#pinDigit0").val("");
	$("#pinDigit1").val("");
	$("#pinDigit2").val("");
	$("#pinDigit3").val("");
	$("#pinDigit4").val("");
	$("#pinDigit5").val("");
	$("#pinDigit6").val("");
	$("#pinDigit7").val("");
	$("#captcha").val("");
	//Flip to pin entry form
	$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC', content:$("#pinEntryForm"),onBefore: function(){ $("#content").html(""); }, onEnd: function(){ $("#content").css("background", "url('/images/content_bg.png') no-repeat"); resetIe6(); } }); 
}


function forgotPassword(){
	$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC',onBefore: function(){ $("#content").html(""); }, onEnd: function(){ 
		$("#content").css("background", "url('/images/content_bg.png') no-repeat");
		$("#content").load("rpc.php", {a: "forgotpassword"});
		resetIe6();
	}
	}); 
}

function do_forgotPassword(){
	var thePassword = $("#forgotPassEmail").val();
	$("#content").flip({ direction: 'lr', bgColor: '#4DB5BC', color: '#4DB5BC',onBefore: function(){ $("#content").html(""); }, onEnd: function(){ 
		$("#content").css("background", "url('/images/content_bg.png') no-repeat");
		$("#content").load("rpc.php", {a: "do_forgotpassword", email: thePassword});
		resetIe6();
	} 
	}); 
}

function is_valid_email (email)
{
	return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

function resetIe6(){
	if ($.browser.msie){
		if ($.browser.version == "6.0"){
			$("#content").css("backgroundColor", "#4DB5BC");
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}
