/**
    EN: Allows set the var hidden need_axciom_validation in true.
    ES: Permite asignar true a la variable oculta need_axciom_validation.
*/
function checkChanged(){
    need_exe=document.getElementById('need_axciom_validation');
    validation_was_exec=document.getElementById('axciom_validation_executed');

    if(validation_was_exec.value=='true'){
        need_exe.value=true;
    }
}

/**
    EN: Allows call the function XAJAX llamarACXIOM.
    ES: Permite llamar a la funciÃ�ï¿½Ã¯Â¿Â½Ã�ï¿½Ã�Â³n XAJAX llamarACXIOM.
*/
function validarACXIOM(){
    var_max_time_axciom_value=3000;
    var_max_time_axciom=document.getElementById('timeout_axciom');
    if(var_max_time_axciom) var_max_time_axciom_value=var_max_time_axciom.value;
    validation_was_exec=document.getElementById('axciom_validation_executed');
    num_was_exec=xajax.$('hd_num_exec_axciom');
    first_name  = xajax.$('first_name');
    last_name   = xajax.$('last_name');
    zipcode   = xajax.$('zipcode');
    address1   = xajax.$('address1');
    isMandatory  = true;
    num=0;
    if(num_was_exec) num=num_was_exec.value;

    document.getElementById("div_check_information").innerHTML = "";
    if(first_name && last_name && zipcode && address1 ){
       if(validation_was_exec.value=='false'){

            if( first_name.value!="" 
                && last_name.value!="" 
                && address1.value!="" 
                && zipcode.value!=""    ){

                if( validar_first_name(isMandatory) 
                    && validar_last_name(isMandatory) 
                    && validar_zipcode(isMandatory) 
                    && validar_address1(isMandatory)       ){

                    data = Array();
                    data[0]=Array();
                    data[0][0]=first_name.name;
                    data[0][1]=first_name.value;
                    data[1]=Array();
                    data[1][0]=last_name.name;
                    data[1][1]=last_name.value;
                    data[2]=Array();
                    data[2][0]=zipcode.name;
                    data[2][1]=zipcode.value;
                    data[3]=Array();
                    data[3][0]=address1.name;
                    data[3][1]=address1.value;

                    xajax_llamarACXIOM(data,num);
                    if(num_was_exec) num_was_exec.value++;
                    setTimeout("validation_was_exec.value='true';",10);
                    var_greater_axciom=document.getElementById("hd_greater_axciom_validation");
                    var_greater_email=document.getElementById("hd_greater_email_validation");
                    var_greater_axciom.value='false';

                    if(var_greater_axciom) setTimeout("if(var_greater_axciom.value=='false'){var_result_ws=document.getElementById('result_axciom_validation');if(var_result_ws) var_result_ws.value='2';}var_greater_axciom.value='true';",var_max_time_axciom_value);
                }
            }
       }
    }
}

/**
    EN: Allows call the function XAJAX llamarEmailACXIOM.
    ES: Permite llamar a la funciÃ�ï¿½Ã¯Â¿Â½Ã�ï¿½Ã�Â³n XAJAX llamarEmailACXIOM.
*/
function validarEmailACXIOM(){
    var_max_time_email_value=3000;
    var_max_time_email=document.getElementById('timeout_email');
    if(var_max_time_email) var_max_time_email_value=var_max_time_email.value;
    ruta='administrator/skins/default/images';
    imagen_exito='visto.gif';
    email=xajax.$('email');
    email.value = trim(email.value);
    isMandatory  = true;
    if(validar_email_before_axcion() ){
        var mail = email.value;
        xajax_llamarEmailACXIOM(mail);
        var_greater_axciom=document.getElementById("hd_greater_axciom_validation");
        var_greater_email=document.getElementById("hd_greater_email_validation");
        var_greater_email.value='false';

        if(var_greater_email){
        setTimeout("if(var_greater_email.value=='false'){var imagen=document.getElementById('img_email');imagen.src=ruta+'/'+imagen_exito;imagen.style.visibility='visible';var oculto=document.getElementById('hd_mail_success');if(oculto){oculto.value=true;}var mostrar_alert=document.getElementById('hd_mostrar_alert');if(mostrar_alert){ mostrar_alert.value=true;}var_div_message=document.getElementById('msg_email');  var_div_message.innerHTML='';var_div_message.style.lineHeight=0;var_div_message.style.visibility='hidden';}var_greater_email.value='true';",var_max_time_email_value);
        }
    } else {
        return false;
    }
    return true;
}


function validar_email_before_axcion() {
    var flag=true;
    var oculto= false;

    visto='administrator/skins/default/images/visto.gif';
    error='administrator/skins/default/images/error.png';
    imagen=document.getElementById('img_email');
    var_div_message=document.getElementById('msg_email');

    if(document.getElementById('email').value==""){
        if(var_div_message){
            var_div_message.innerHTML='';
            var_div_message.style.lineHeight=0;
        }
        document.getElementById('goButton').value='';
        flag=false;
        oculto=true;
    } else {
        if(!(/[a-zA-Z0-9-_\.]{1,}@([a-zA-Z0-9-_]{1,}\.)*([a-zA-Z0-9-_]{1,}\.)[\w-]{2,4}/.test(document.getElementById('email').value))){
            xajax_setMessage('email','warning');
            document.getElementById('goButton').value='';
            flag = false;
        }else{
            if(var_div_message) {
                var_div_message.innerHTML='';
                var_div_message.style.lineHeight=0;
            }
            imagen.style.visibility='hidden';
        }
    }

    if(flag){
        return true;
    } else {
        if (oculto) {
            imagen.style.visibility='hidden';
        } else {
            imagen.src=error;
            imagen.style.visibility='visible';
        }
        return false;
    }
}

function ltrim(str) { 
    for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
    return str.substring(k, str.length);
}
function rtrim(str) {
    for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
    return str.substring(0,j+1);
}
function trim(str) {
    return ltrim(rtrim(str));
}
function isWhitespace(charToCheck) {
    var whitespaceChars = " \t\n\r\f";
    return (whitespaceChars.indexOf(charToCheck) != -1);
}



function validar_fecha_nacimiento(input_name){
    var mes = document.getElementById(input_name+'#Month_date_field').options[document.getElementById(input_name+'#Month_date_field').selectedIndex].text;
    var dia = document.getElementById(input_name+'#Day_date_field').options[document.getElementById(input_name+'#Day_date_field').selectedIndex].text;
    var anio = document.getElementById(input_name+'#Year_date_field_pivote').options[document.getElementById(input_name+'#Year_date_field_pivote').selectedIndex].text;

    hoy=new Date();
    edad= hoy.getFullYear() - anio ;
 
    if(edad>18){
        var_div_message=document.getElementById('msg_'+input_name);
        var_div_message.innerHTML='';        
    }else if(edad==18){
        mes_actual=hoy.getMonth() + 1;
        if( parseInt(mes_actual,10) > parseInt(mes,10) ){
            var_div_message=document.getElementById('msg_'+input_name);
            var_div_message.innerHTML='';
        }else if(parseInt(mes_actual,10) == mes ){
            dia_actual=hoy.getDate() ;
            if(dia_actual >= parseInt(dia,10) ){
                var_div_message=document.getElementById('msg_'+input_name);
                var_div_message.innerHTML='';
            }else{
                flag = false;
                imagen.src=error;
                xajax_setMessage(input_name,'error');
            }
        }else{
            flag = false;
            imagen.src=error;
            xajax_setMessage(input_name,'error');
        }
    }else{
        flag = false;
        imagen.src=error;
        xajax_setMessage(input_name,'error');
    }
}