
$().ready(function(){
	var dupe_uid = false;
	$(".register tbody tr:odd").addClass("odd");
	$(".register tbody tr:even").addClass("even");
	$("#submit-message").empty().hide();
	document.getElementById("chkTerms").checked = false;
	
	$("input[type='checkbox']").click(function() {
		if ($(this).is(":checked")) {
			$(this).parent().removeClass().addClass("ok").addClass("topleft"); 
		}
		else {
			$(this).parent().removeClass().addClass("x").addClass("topleft"); 
		}
	});
	
	$("input").blur(function() {
		$(this).parent().next().removeClass();
	});
	
	$("#input_un").blur(function() {
		var re = new RegExp(/^\w{4,22}$/);
		var err_msg = "";
		var input_un = $(this).val();
			if (!re.test(input_un)) err_msg = err_messages["invalid user id"];
			if (input_un.indexOf('yaho') != -1 || input_un.indexOf('hotmail') != -1 || input_un.indexOf('admin') != -1) err_msg = err_messages["invalid word in user id"];
			var tempar = input_un.split(/\d/);
			if (tempar.length > 6) err_msg = err_messages["too many numbers in user id"];
			if (!isNaN(input_un)) err_msg = err_messages["not enough letters in user id"];

			if (err_msg != '')
				display_error("input_un", err_msg); 
			else {
				$.get("/register/index.asp", {a:"check_username", username:input_un }, function(data) {
					dupe_uid = (data.length > 2) ? true : false;
					display_error("input_un", data);
				});
			}
		
	});
	
	$("#input_pw1").blur(function() {
		var err_msg = ($(this).val().length < 6 || $(this).val().length > 22) ? err_messages["password length"] : "";
		display_error("input_pw1", err_msg); 
	});
	
	$("#input_pw2").blur(function() {
		err_msg = ($(this).val() != $("#input_pw1").val()) ? err_messages["passwords do not match"] : "";
		display_error("input_pw2", err_msg); 
	});

	$("#input_email").blur(function() {
		var re = new RegExp(/.+@.+\.[a-zA-Z]{2,4}$/);
		var $email = $(this).val().toLowerCase();
		var err_msg = (!re.test($email)) ? "Invalid email address format.": "";
		if ($email.indexOf("@qiran.com") != -1 || $email.indexOf("@mehndi.com") != -1) {	err_msg = "Invalid email address. Please enter your regular email address."	}
		// username cannot be same as email username (if at yahoo or hotmail)
		if ($email.indexOf("@yahoo.co") != -1 || $email.indexOf("@hotmail.co") != -1) {
			if ($email.substr(0,$email.indexOf('@')) == $("#input_un").val().toLowerCase()) err_msg = "To help protect your identity, your user ID cannot match your email ID. Please use another email address, or choose a different username.";
		}
		display_error("input_email", err_msg); 
	});


	$("#input_fname").blur(function() {
		var err_msg = ($(this).val().length < 2) ? "Please enter at least 2 characters." : "";
		display_error("input_fname", err_msg); 
	});

	$("#input_lname").blur(function() {
		var err_msg = ($(this).val().length < 2) ? "Please enter at least 2 characters." : "";
		display_error("input_lname", err_msg); 
	});

	$("#input_country").blur(function() {
		var err_msg = (!$(this).val()) ? "Please select a country." : "";
		display_error("input_country", err_msg); 
	});

	$("#input_secretQ").blur(function() {
		var err_msg = (!$(this).val()) ? "Please select your secret question." : "";
		display_error("input_secretQ", err_msg); 
	});

	$("#input_secretA").blur(function() {
		var err_msg = (!$(this).val()) ? "Please enter your secret answer." : "";
		display_error("input_secretA", err_msg); 
	});

	$("#input_refmedia").blur(function() {
		var err_msg = (!$(this).val()) ? "Please select one option.": "";
		display_error("input_refmedia", err_msg); 
	});


	$("#maincontent form").submit(function() {
		$("#submit-message").empty().hide();
		$(":input").trigger("blur");
		if (dupe_uid) $("#input_un").parent().next().addClass("x"); 
		var numWarnings = $(".x", this).length;
		if (numWarnings) {
			$(".x").animate({opacity:0.1},250).animate({opacity:1.0},250).animate({opacity:0.1},250).animate({opacity:1.0},250).animate({opacity:0.1},250).animate({opacity:1.0},250);
			
			$("#submit-message").show().append("Oops! " + numWarnings + " fields need to be corrected:<br/>").insertBefore(".button");
			$(".x").prev().children("input,select").each(function() {
				$("#submit-message").append('<strong>' + $(this).attr("title") + '</strong>, ');
			});

			return false;
		}


		if (!$(':checked').length) {
			$("#submit-message").show().append('<p><strong>You must agree to the terms and conditions to use this service.</strong></p>');
			return false;
		};


	});
	
	
});

function display_error(el, msg) {
	var $el = $("#" + el).next();
	if(msg.length > 2){
		$el.html(msg).fadeIn(300).parent().next().removeClass("ok").addClass("x");
		setTimeout(function() {
			$el.fadeOut(1000);	}, 5000);
	}
	else {
		$el.parent().next().removeClass().removeClass("x").addClass("ok");
	}
}
