/**
* Submits a form using XHR. Grabs all form-controls
* with name-attributes and submits to form's action
* using form's method or custom action/method set in conf
*/
jQuery.fn.ajaxSubmit = function(foo, conf) {
    var config = {
        method: false,  // request method (get/post) defaults to form's
        action: false,  // action (url) defaults to form's
        loading: 'Loading...'
    };
    config = jQuery.extend(config, conf);

    var callback = (typeof (foo) === 'string') ? function(data) { jQuery(foo).html(data); } : (typeof (foo) === 'function') ? foo : false;

    return this.each(function() {
        var form = jQuery(this);

        if (form.is('form')) {
            var method = config.method || form.attr('method');
            var action = config.action || form.attr('action');
            var submit = jQuery('input[type="submit"]', form);
            var data = {};


            jQuery('*[name]', form).each(function() {
                var t = jQuery(this);
                var val = (t.attr('type') == 'checkbox') ? (t.attr('checked') == true) ? 1 : 0 : t.val();
                data[t.attr('name')] = val;
            });
            submit.val(config.loading);
            jQuery[method](action, data, function(data) {
                callback(data);
            });

            return false;

        }
    });
};

$().ajaxSend(function(r, s) {
    //alert("empieza");  
});

$().ajaxStop(function(r, s) {
    //alert("stop");  
});

$().ajaxError(function(r, s) {
    //alert("error");  
});

$().ajaxSuccess(function(r, s) {
    //alert("success");  
});

$().ajaxComplete(function(r, s) {
    //alert("complete");  
});



$(document).ready(function() {


    $.validator.setDefaults({
        debug: true
    });

    //trigger mostrar formulario de contacto
    $(".showForm").click(function() {
        $(".divMainContentTemplate").css('z-index', '0');
        $(".navigation").hide();
        $(".NavDropDown").hide();
        $(".templateContentMain").hide();
        $(".modal").fadeIn();
    });

    //trigger ocultar formulario de contacto	
    $('.callMeBack .closeButton').click(function() {
        $(".modal").fadeOut();

        $(".navigation").fadeIn();
        $(".NavDropDown").fadeIn();
        $(".templateContentMain").fadeIn();
    });

    //trigger campo telefono formulario de contacto	
    $('.callMeBack input#telephone').click(function() {
        if ($('.callMeBack input#telephone').val() == "Telephone number") {
            $('.callMeBack input#telephone').attr('value', '');
        }
    });


    $('.callMeBack .container').wrap('<form name="callMeBack" id="callMeBack" method="post" action="' + '/_wpresources/forms/1.0/forms/sendMail.aspx" ></form>');

    //validacion de formulario de contacto	
    $("#callMeBack").validate({
        submitHandler: function(form) {
            $(form).ajaxSubmit('.callMeBack .container');
        }
    });


    $('.newsletterForm .container').wrap('<form name="newsletter" id="newsletter" method="post" action="/_wpresources/forms/1.0/forms/subscribe.aspx" ></form>');

    //validacion de formulario de subscripcion a newsletter
    $("#newsletter").validate({
        submitHandler: function(form) {
            $(form).ajaxSubmit('.newsletterForm .container');
        }
    });




    //selector de noticias
    $("#time").change(function() {
        if ($(this).val()) {
            window.location.href = "?month=" + $(this).val();
        } else {
            window.location.href = "?";
        }
    });


    $('.genericForm #requestCases').wrap('<form name="requestCasesForm" id="requestCasesForm" method="post" action="/_wpresources/forms/1.0/forms/sendMail.aspx" ></form>');

    //validacion de formulario
    $("#requestCasesForm").validate({
        submitHandler: function(form) {
            $(form).ajaxSubmit('.genericForm #requestCases');
        }
    });


    $('.genericForm #application').wrap('<form name="applicationForm" id="applicationForm" method="post" encType="multipart/form-data" action="/_wpresources/forms/1.0/forms/sendMail.aspx" ></form>');



    //validacion de formulario
    $("#applicationForm").validate({
        submitHandler: function(form) {
            $(form).ajaxSubmit('.genericForm #application');
        }
    });


});






