var allEmpty = false;
var Error = true;
$(document).ready(function(){
	$("#userName, form[name='registerForm']").bind("blur submit", function(){
		if(!fieldExist("userName"))return true;
		if($("#userName").val() == ""){
			Error = false;
			showHideError(1, "userName", "");
			return false;
		}
		ajaxRequest("userName", $("#userName").val());
	});
	
	$("#password_1, form[name='registerForm']").bind("blur submit", function(){
		if(!fieldExist("password_1"))return true;
		if($("#password_1").val() == "") {
			Error =  false;
			showHideError(1, "password_1", "");
			return false;
		}
		ajaxRequest("password_1", $("#password_1").val());							 				
		
		if($("#password_2").val() != "") {
			if($("#password_2").val() != $("#password_1").val()) {
				Error =  false;
				showHideError(1, "password_1", "");
				return false;
			}
		}
	});

	$("#password_2, form[name='registerForm']").bind("blur submit", function(){
		if(!fieldExist("password_2"))return true;
		if($("#password_2").val() != $("#password_1").val() || $("#password_2").val() == "") {
			Error =  false;
			showHideError(1, "password_2", "");
			ajaxRequest("password_2", $("#password_2").val());
			return false;
		} 
		
		if($("#password_2").val() == $("#password_1").val()){
			Error = true;
			showHideError(0, "password_2", "");
		}
	});
	
	$("#firstName, form[name='registerForm']").bind("blur submit", function(){
		if(!fieldExist("firstName")) return true;		
		if($("#firstName").val() == "") {
			Error =  false;
			showHideError(1, "firstName", "");
			ajaxRequest("firstName", $("#firstName").val());
			return false;			
		}
		showHideError(0, "firstName", "");
	});

	$("#lastName, form[name='registerForm']").bind("blur submit", function(){
		if(!fieldExist("lastName"))return true;				
		if($("#lastName").val() == "") {
			Error =  false;
			showHideError(1, "lastName", "");
			ajaxRequest("lastName", $("#lastName").val());
			return false;			
		}
		showHideError(0, "lastName", "");
	});

	$("#email, form[name='registerForm']").bind("blur submit", function(){
		if(!fieldExist("email"))return true;						
		if($("#email").val() == "") {
			Error =  false;
			showHideError(1, "email", "");
			return false;			
		}
		ajaxRequest("email", $("#email").val());
	});
	
	$("form[name='registerForm']").submit(function(){		
		return Error;
	});
});

function showHideError(error, fieldName, msg) {
	if(error) {
		$("#error" + fieldName).text(msg);
		$("img[name='ok" + fieldName + "']").hide();
		$("img[name='error" + fieldName + "']").show();		
	} else {
		$("img[name='error" + fieldName + "']").hide();
		$("img[name='ok" + fieldName + "']").show();		
		$("#error" + fieldName + "").text(msg);					
	}
}

function ajaxRequest(field, value) {
	$.ajax({
		async: false,
		type: "GET",
		url: "check_register.php?field=" + field + "&value=" + value,
		dataType: "json",
		success: function(data) {
			if(data.flag == 0) {
				Error = false;
				showHideError(1, field, data.msg);
			} else if(data.flag == 1) {
				Error = true;
				showHideError(0, field, "");
			}
		}
	});
}

function fieldExist(fieldName) {
	if($("#" + fieldName).attr("name") == undefined) return false;
	return true;
}