$().ready(function() {
    var errorWrapperHtml = '<div id="error"><span id="errorForm"></span></div>';
    $("#errorWrapper").html(errorWrapperHtml);
    $("#errorWrapper").hide();
    $("#formulario").validate({
    onkeyup: false,
    onfocusout: false,
    rules: {
    	email: {
    		required: true,
    		email: true,
    		maxlength: 255
    	},
    	pass: {
    		required: true,
    		maxlength: 255
    	},
        comentarios: {
            required: false,
            maxlength: 4000
        }
    },
    messages: {
    	email: {
    	    required: "&#8226; " + aErrores['ERR0001'],
    	    email: "&#8226; " + aErrores['ERR0001'],
    	    maxlength: "&#8226; " + jQuery.format(aErrores['ERR0003'], $("label[for='email']").attr("title"))
    	},
    	pass: {
    	    required: "&#8226; " + aErrores['ERR0002'],
    	    maxlength: "&#8226; " + jQuery.format(aErrores['ERR0003'], $("label[for='pass']").attr("title"))
    	},
    	comentarios: {
    	    maxlength: "&#8226; " + aErrores['ERR0104']
    	}
    },
    errorLabelContainer: "#errorForm",
    errorElement: "p",
    submitHandler: function(inscripcion) {
        var sEmail = $("#email").attr("value");
        var sPass = $("#pass").attr("value");
        var iIdOferta = $("#id_oferta").attr("value");
        var sComentarios = $("#comentarios").attr("value");
        var iNumPreguntas = $("#num_preguntas").attr("value");


        // Construimos 2 arrays con las killer radio y text, para validarlas y enviar la informacion via ajax

        var error = false;
        var txt_error = "";
        var KRadio = new Array();
        var KText = new Array();
        var dataKQ = '';

        for(i=0; i<document.getElementById('formulario').elements.length; i++)
        {
            nombre = document.getElementById('formulario').elements[i].name;

            //guardamos las killer radio en un array
            if(nombre && nombre.substring(0,4) == "KQ_R")
            {
                if(!in_array(KRadio, nombre))
                {
                    KRadio.push(nombre);
                }
            }

            //guardamos las killer text en otro
            if(nombre && nombre.substring(0,4) == "KQ_T")
            {
                if(!in_array(KText, nombre))
                {
                    KText.push(nombre);
                }
            }
        }

        for(i=0; i<KRadio.length && !error; i++)
        {
            //miramos los radios a ver si estan chequeados
            if(!$("input[name="+KRadio[i]+"]:checked").val())
            {
                error = true;
                txt_error = "&#8226; " + aErrores["ERR0105"];
            }
            else {
                // Para enviar la peticion Ajax
                dataKQ = dataKQ + "& "+ KRadio[i] + "=" + $("input[name="+KRadio[i]+"]:checked").val();
            }
        }

        for(i=0; i<KText.length && !error; i++)
        {
            txtTrim = trim(document.getElementById(KText[i]).value);

            //miramos los textos a ver cumplen al longitud máxima
            if(txtTrim.length > 255)
            {
                error = true;
                txt_error = "&#8226; " + aErrores["ERR0103"];
            }

            // y la mínima
            if(txtTrim.length < 15)
            {
                error = true;
                txt_error = "&#8226; " + aErrores["ERR0103"];
            }
            if(! error){
                // Para enviar la peticion Ajax
                dataKQ = dataKQ + "& "+ KText[i] + "=" + txtTrim ;
            }
        }

        if(error) {  // si hubo error mostramos un mensaje
            $("#errorWrapper").show();
            var errores = '';
            if( $("#errorFormWrapper") ){
                $("#errorFormWrapper").hide();
            }
            errores += "<p>" + txt_error + "</p>";
            $("#errorForm").html(errores);
            window.location.hash="form";
        }
        else {
            inscripcion.submit();
            return false;
        }
        return false;
    },
    showErrors: function(errorMap, errorList) {
        $("#errorWrapper").hide();
        $("#errorFormWrapper").hide();
        $("#errorForm").html("");
        if (this.numberOfInvalids() > 0) {
            $("#errorWrapper").show();
    	    this.defaultShowErrors();
    	    window.location.hash="form";
        }
    }
    });
    writeStatusOferta($("#id_oferta").val());
});
