$(document).ready(function() {
    $('a.external_link').each(function() {
        $(this).click(function() {
            var href=this.href;
            var win = window.open(href, '_blank');               
            return false;
        });
    });
    $('form#contact_form').submit( function() {
        var af = check_contact_form();
        if(! af) {
            return false;
        }
        else {
            submit_ajax_form(this.id,this.action,show_contact_confirmation);
            return false;
        }    
    });
    $('form#accreditacion').submit( function() {
        var af = check_acreditacion_form();
        if(! af) {
            return false;
        }
        else {
            submit_ajax_form(this.id,this.action,show_contact_confirmation);
            return false;
        }    
    });	
});

function trim(str) {
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function show_contact_confirmation(data) {
    $.prompt('tu mensaje ha sido enviado correctamente', {overlayspeed:'fast'});
    $(':text').val('');
    $('textarea').val('');
}

function check_acreditacion_form() {
    var errs = [];
    var fld;
    
    fld = trim($('#f_name').val());
    if(fld.length == 0) {
        errs.push('el campo de nombre es obligatorio');
    }
    fld = trim($('#f_surname').val());
    if(fld.length == 0) {
        errs.push('el campo de apellidos es obligatorio');
    }
    fld = trim($('#f_paper').val());
    if(fld.length == 0) {
        errs.push('el campo de medio de comunicación es obligatorio');
    }
    fld = trim($('#f_title').val());
    if(fld.length == 0) {
        errs.push('el campo de puesto es obligatorio');
    }
    fld = trim($('#f_email').val());
    if(fld.length == 0) {
        errs.push('el campo de email es obligatorio');
    }
    fld = trim($('#f_phone').val());
    if(fld.length == 0) {
        errs.push('el campo de teléfono móvil es obligatorio');
    }
       
    if(errs.length > 0) {
        add_errors(errs);
        return false;
    }    
    $('div#errors').html('');
    return true;
}

function check_contact_form() {
    var errs = [];
    var fld;
    
    fld = trim($('#f_name').val());
    if(fld.length == 0) {
        errs.push('el campo de nombre es obligatorio');
    }
    fld = trim($('#f_email').val());
    if(fld.length == 0) {
        errs.push('el campo de email es obligatorio');
    }
    fld = trim($('#f_message').val());
    if(fld.length == 0) {
        errs.push('el campo de mensaje es obligatorio');
    }
       
    if(errs.length > 0) {
        add_errors(errs);
        return false;
    }    
    $('div#errors').html('');
    return true;
}

function add_errors(error_messages) {
    var err = '<p>hay errores en el formulario</p><ul>';
    for(var i=0; i<error_messages.length; i++) {
        err += '<li>' + error_messages[i] + '</li>';
    }
    err += '</ul>';
    $('div#errors').html(err).slideDown('fast');
}
    
function submit_ajax_form(form_id, form_url, callback) {
    var vals= get_form_values(form_id);
    $.post(form_url, vals, callback);
}

function get_form_values(form_id) {
    var ret = [];
    var frm = $('#' + form_id);
        
    $(':text', frm).each( function() {
        ret.push({name: $(this).attr('name'), value: $(this).val()});
    });
    $('textarea', frm).each( function() {
        ret.push({name: $(this).attr('name'), value: $(this).val()});    
    });
    return ret;    
}


// begin prensa form
