var is_valid_username   = false;
var is_valid_email      = false;
var is_valid_password   = false;
 
$(document).ready(function() {
    // Run these methods when the DOM is ready in case the page is refreshed while the fields are filled-in
    usernameExists();
    emailExists();
//    loadCaptcha();
 
    // Bind callback functions to input field events
    $("#User").bind("change keyup", function() { usernameExists(); });
    $("#Email").bind('change keyup', function() { emailExists(); });
    $("#Password").bind('change keyup', function() { togglePasswordsDoesntMatch(); });
    $("#retype_password").bind('change keyup', function() { togglePasswordsDoesntMatch(); });
//    $("#reload_captcha").bind('click', function() { loadCaptcha(); });
 
   // bind form using ajaxForm
    $("#signup_form").ajaxForm({
        // target identifies the element(s) to update with the server response
        target: "#signup_body",
        // pre-submit callback
		success: showResponse,
		beforeSubmit: function() {
			$("#panel").hide();
            $("#signup_body").html("Espere un momento, por favor...");
			
        }
    });

 
});

function showResponse(responseText, statusText)  { 
	var finOK
	var piezas
	var a
	piezas=responseText.split(":")
	for (a=1;a<=piezas.length;a++){
		if (piezas[a]=="SI") {
			finOK=true;
			$("#signup_body").html(piezas[a+1]);
		} else{
			if (piezas[a]=="NO") {
				finOK=false;
				$("#signup_body").html(piezas[a+1]);
				$("#panel").show();
			}
		}
	}
	
} 

 /*
function loadCaptcha() {
    // Calls the 'captcha' function and loads the result in the 'captcha_image' div element
    $("#captcha_image").load('welcome/captcha');
}
 */
function usernameExists() {
    // Uses an AJAX call to the 'username_exists' function of the 'user' controller
	var un;
	un=$("#User").val();
	if (un.length >1) {
		$.post('/ajax/usuario/logonar.asp',{funcion:"userExist",  valor : un } ,
			function(data) {
				toggleUsernameExists(data);
			}
		,"JSON");
	} else
		is_valid_username = false;
	toggleSubmit();
}
 
function emailExists() {
    // Uses an AJAX call to the 'email_exists' function of the 'user' controller
	var em;
	em=$("#Email").val() ;
	if (em.length > 6) {
    	$.post('/ajax/usuario/logonar.asp',{funcion:"emailExist",  valor : $("#Email").val() } ,
			function(data) {
				toggleEmailExists(data);
			}
 	   ,"JSON");
	} else
		is_valid_email = false;
	toggleSubmit();
}
 
function toggleUsernameExists(data) {
    if (data != "ok") {  
		$("#username_exists").html(data);
        is_valid_username = false;
    }
    else {
        is_valid_username = true;
		$("#username_exists").html("");
    }
    
}
 
function toggleEmailExists(data) {
    if (data != "ok") {  
    	$("#email_exists").html(data);
        is_valid_email = false;
    }
    else {
        is_valid_email = true;
		$("#email_exists").html("");
    }

}
 
function togglePasswordsDoesntMatch() {
    if (jQuery.trim($("#Password").val()) == "" &&
        jQuery.trim($("#retype_password").val()) == "") {
        $('#passwords_doesnt_match').html("La contraseņa es obligatoria");
        is_valid_password = false;
    } else {
        if (jQuery.trim($("#Password").val()) ==
            jQuery.trim($("#retype_password").val())) {
            $('#passwords_doesnt_match').html("");
            is_valid_password = true;
        } else {
            $('#passwords_doesnt_match').html("No se ha repetido la contraseņa");
            is_valid_password = false;
        }
    }
 
    toggleSubmit();
}
 
function toggleSubmit() {
    if (is_valid_username && is_valid_email && is_valid_password) {
        $("#submit").removeAttr("disabled");
    } else {
        $("#submit").attr("disabled", true);
    }
}// JavaScript Document
