/*
 * Muestra el mensaje de Error
 */
function viewMessage(divMessage,Message,viewText){
    if(viewText==1){
        $(divMessage).html(Message).show();
    }else{
        $(divMessage).hide().html('');
    }
}

/*
 * Muestra el mensaje de Error visibility
 */
function viewMessageVisibility(divMessage,Message,viewText){
    if(viewText==1){
        $(divMessage).html(Message).css('visibility','visible');
    }else{
        $(divMessage).css('visibility','hidden').html('');
    }
}

/*
 * Pasa el focus al campo especificado
 */
function goToError(field,estiloError){
    $('#'+field).focus();
}
/*
 * Validacion de Email
 */

function validateEmail(fieldEmail){
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/.test(fieldEmail)){
        return true;
    }else{
        return false;
    }
}

/*
 * Validar Zip Code
 */
function validateZipCode(campo) {
    var RegExPattern = /^([0-9]{2}|[0-9][0-9]|[0-9][0-9])[0-9]{3}$/;

    if ((campo.value.match(RegExPattern)) && (campo.value!='')) {
        return true;
    } else {
        return false;
    }
}
/*
 * Validamos numero telefonico de EEUU
 */


function validatePhone(numero){
    if(numero==""){
        return false;
    }else if (!/^([0-9-])*$/.test(numero)){
        return false;
    }else if(numero.length < 10){
        return false;
    }else{
        return true;
    }
}
/*
 * Limpiamos los espacios en blanco
 */
function clearInputText(objForm){
    $('input[type="text"]:enabled', objForm).each( function (){
        $element = $(this);
        $element.val($.trim($element.val()));
    });
}

/*
 * Validamos la extencion de los archivos
 */
function validateFile(archivo){
    var ext = archivo.split('.').pop().toLowerCase();
    if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) {
        return false;
    }
    return true;

}

function validateFormFields(obj, ruleList){
    var returnString = true;
    var $element;
    var id;
    var value;

    //var list = new Array();
    // .filter('[id^="tb"]').
    $(":input", obj).filter(':enabled,[type="hidden"]').each( function (i){
																		
        $element = $(this);
        id = $element.attr("id");
        value = $element.val();

        if (/^tbl/.test(id)){          
            value = $.trim(value);
            if(value.length == 0){
                returnString = id;
                return false;
            }
        }else if(/^tbP/.test(id)){
            value = $.trim(value);            
            if(value.length == 0){                
                returnString = id;
                return false;
            }else if(!validatePhoneOffice(value)) {
                returnString = id;
                return false;
            }
        }else if(/^tbN/.test(id)){
            if (!(/^[0-9]+$/.test(value))){
                returnString = id;
                return false;
            }
        }else if(/^tbxN/.test(id)){
            value = $.trim(value);
            if(value.length != 0){
                if (!(/^[0-9]+$/.test(value))){
                    returnString = id;
                    return false;
                }
            }
        }else if(/^tbE/.test(id)){
            if(!validateEmail(value)) {
                returnString = id;
                return false;
            }
        }else if(/^tbxE/.test(id)){
            value = $.trim(value);
            if(value.length != 0){
                if(!validateEmailExcept(value)) {
                    returnString = id;
                    return false;
                }
            }
        }

        if( id in ruleList ) {
            returnString = ruleList[id].call(this,value);
            if( returnString === true) {
                return true;
            } else if(returnString === false ) {
                returnString = id;
            }

            return false;
        }

    });

    return returnString;
}


function validateFormFieldsExcept(obj, ruleList){
    var returnString = true;
    var $element;
    var id;
    var value;

    //var list = new Array();
    // .filter('[id^="tb"]').
    $(":input", obj).filter(':enabled,[type="hidden"]').each( function (i){
        $element = $(this);
        id = $element.attr("id");
        value = $element.val();

        if (/^tbl/.test(id)){
            value = $.trim(value);
            if(value.length == 0){
                returnString = id;
                return false;
            }
        }else if (/^tblN/.test(id)){
            value = $.trim(value);
            if(value.length == 0){
                returnString = id;
                return false;
            }else{
                if(!validatePhoneOffice(value)) {
                    returnString = id;
                    return false;
                }
            }
        }else if(/^tbN/.test(id)){
            if (!(/^[0-9]+$/.test(value))){
                returnString = id;
                return false;
            }
        }else if(/^tbxN/.test(id)){
            value = $.trim(value);
            if(value.length != 0){
                if (!(/^[0-9]+$/.test(value))){
                    returnString = id;
                    return false;
                }
            }
        }else if(/^tbE/.test(id)){
            if(!validateEmailExcept(value)) {
                returnString = id;
                return false;
            }
        }else if(/^tbxE/.test(id)){
            value = $.trim(value);
            if(value.length != 0){
                if(!validateEmailExcept(value)) {
                    returnString = id;
                    return false;
                }
            }
        }

        if( id in ruleList ) {
            returnString = ruleList[id].call(this,value);
            if( returnString === true) {
                return true;
            } else if(returnString === false ) {
                returnString = id;
            }

            return false;
        }

    });

    return returnString;
}

function sendSubscribe(){
    try{
        var messageError = document.getElementById('idError');// Div donde se muestra el Error 
        viewMessage(messageError,'',0);
        if(!validateEmail($("#emailSubscribe").val())){
            viewMessage(messageError,'Please enter your email address',1);
        }else{
            $.ajax({
                type: "POST",
                cache: 'false',
                url: "../includes/class/services/serviceSaveSubscribe.php",
                dataType: "json",
                async: true,
                data: "tblemail_web_suscribe="+$("#emailSubscribe").val()+"&tblpostIdSubScribe="+$("#tblpostIdSubScribe").val()+"&tblpostIdKeySubScribe="+$("#tblpostIdKeySubScribe").val(),
                success: function(data){
                    if(data.idResponse == '2'){
                        $("#emailSubscribe").val('');
                        $.openPopupLayer({
                            name: "MyForm",
                            url: "thank_you.php",
                            cache: false,
                            parameters: '',
                            success: function(){
             
                            }
                        });
   
                    }
                }
            });
        }
    }catch(e){
        alert(e);
        return false;
    }
    
}
