
///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_display_message(msg) {
	blink_on_blink4(document.getElementById("sign_up_message"), msg);
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_set_hidden() {

	var index = document.getElementById("sign_up_country_temp").selectedIndex;
	document.getElementById("sign_up_country").value = document.getElementById("sign_up_country_temp")[index].value;

}

var sign_up_validation_status = false;

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_validate_username_email() {

	var email = document.getElementById("sign_up_email_address").value;
	var username = document.getElementById("sign_up_username").value;
	var poststr = "email=" + encodeURI(email) + "&UserName=" + encodeURI(username);
	var resultObj = document.getElementById("sign_up_server_validation_result");
	resultObj.value = "";
		var sign_up_validation_status = false;
		var func = sign_up_parse_result;
	ajax_makePOSTRequestSync("UsernameAndEmailUniquenessValidation.jsp", poststr, func, resultObj);
	var result = document.getElementById("sign_up_server_validation_result").value;

	if (result.indexOf("Err 5000") >= 0) {
		sign_up_validation_status = false;
		sign_up_display_message("Operation failed");
	}

	return;
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_parse_result() {

	var s = document.getElementById("sign_up_server_validation_result").value;

	var i,j,t;
	i = s.indexOf("#0");
	if (i == 0) {
		t = s.substr(2,s.length-1);
		j = t.indexOf("#0");
		if (j >= 0) {
			sign_up_validation_status = true;
			return;
		} 
		else {
			sign_up_validation_status = false;
			sign_up_display_message("Email address already exists");
			return;
		}	
	}
	else {
		t = s.substr(2,s.length-1);
		j = t.indexOf("#0");	
		if (j >= 0) {
			sign_up_validation_status = false;
			sign_up_display_message("Username already exists");
			return;
		} 
		else {
			sign_up_validation_status = false;
			sign_up_display_message("Username and email address already exist");
			return;
		}	
	}

}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_submit() {
		document.getElementById("sign_up_message").value = "";
		if (!sign_up_validate())
		return;

	sign_up_validate_username_email();

	if (!sign_up_validation_status)
		return;

	sign_up_set_hidden();

	document.getElementById("sign_up_MainForm").submit();
}


///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_validate() {

	if (document.getElementById("sign_up_username").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_up_display_message("Fill username");
		return false;
	}
	if (document.getElementById("sign_up_username").value.length > 14) {
		sign_up_display_message("Username limit: 14 characters");
		return false;
	}

	if (document.getElementById("sign_up_username").value.search(/[^a-zA-Z0-9 ]/g) != -1) {
		sign_up_display_message("Username must be alphanumeric");
		return false;
	}

	if (document.getElementById("sign_up_email_address").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_up_display_message("Fill email address");
		return false;
	}
	if (document.getElementById("sign_up_homepage").value != "") {
		var s = document.getElementById("sign_up_homepage").value;
		var j = s.indexOf("http://");
		if (j < 0)
			document.getElementById("sign_up_homepage").value = "http://" + s;
	}
	if (document.getElementById("sign_up_password").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_up_display_message("Fill password");
		return false;
	}
	if (document.getElementById("sign_up_password").value.length < 6) {
		sign_up_display_message("Password must contain at least 6 characters");
		return false;
	}
	if (document.getElementById("sign_up_retype_password").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_up_display_message("Retype password");
		return false;
	}
	if (document.getElementById("sign_up_password").value.replace(/^\s*|\s*$/g,'') != document.getElementById("sign_up_retype_password").value.replace(/^\s*|\s*$/g,'')) {
		sign_up_display_message("Passwords entered do not match, please re-type");
		return false;
	}
	if (document.getElementById("sign_up_firstname").value == '') {
		sign_up_display_message("Fill first name");
		return false;
	}
	if (document.getElementById("sign_up_lastname").value.replace(/^\s*|\s*$/g,'') == '') {
		sign_up_display_message("Fill last name");
		return false;
	}
	if (document.getElementById("sign_up_gender").value == 'Gender') {
		sign_up_display_message("Select gender");
		return false;
	}
	if (document.getElementById("sign_up_birthdate_month").value == 'Month') {
		sign_up_display_message("enter month in birth date");
		return false;
	}
	if (document.getElementById("sign_up_birthdate_day").value == 'Day') {
		sign_up_display_message("enter day in birth date");
		return false;
	}
	if (document.getElementById("sign_up_birthdate_year").value == 'Year') {
		sign_up_display_message("enter year in birth date");
		return false;
	}
	if (document.getElementById("sign_up_country").value == 'Country') {
		sign_up_display_message("Select country");
		return false;
	}
	if (!document.getElementById("sign_up_agree").checked) {
		sign_up_display_message("Check on agreement for using NeatlySaid");
		return false;
	}
	return true;
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_submit_enter(e) {

	var evt = e || window.event;
	var keyCode = evt.which || evt.keyCode;

	if (keyCode == 13) {
		sign_up_submit();
		window.location = '#bottom';
	}
}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_username_limit(e) {

	var evt, keyCode;

	if (navigator.appName == "Netscape") {
		keyCode = e.keyCode;
	}
	else {
		evt = e || window.event;
		keyCode = evt.which || evt.keyCode;
	}

	if ((keyCode == 8 || keyCode == 37) && document.getElementById("sign_up_username").value.length == 14)
		return true;
	if (document.getElementById("sign_up_username").value.length == 14)
		return false;
	return true;

}

///////////////////////////////////////////////////////////////////////////////////////////

function sign_up_onload() {
	document.getElementById("sign_up_username").focus();
}