function ValidarForm(btnId, mensajeInicial, MostrarMensajes, hdnId, frmId) {
    var procesar = true;
    var Mensaje = mensajeInicial != '' ? mensajeInicial + '<br/>' : '';
    $("#"+ frmId + " .reqMail:visible").each(function() {
        if ($(this).val() == $(this).attr('alt') || !isEmailAddress($(this).val())) {
            Mensaje += MostrarMensajes ? $(this).attr('title') + '<br/>' : '';
            $(this).addClass('error');
            procesar = false;
        }
    });
    $("#"+ frmId + " .req:visible").each(function() {
        if ($(this).val() == $(this).attr('alt')) {
            Mensaje += MostrarMensajes ? $(this).attr('title') + '<br/>' : '';
            $(this).addClass('error');
            procesar = false;
        }
    });
    if (procesar) {
        $('#' + hdnId).val('1');
        $('#' + frmId).submit();
    } else {
        //inlineMsg(btnId, Mensaje, 5, true);
        var v_options = {message: Mensaje};
        modalAlert(v_options);
    }
} 
    /******************************************************************/

    function resultProcesar(Mensaje, Ruta){
        
        var sTabla = Mensaje;
            sTabla = sTabla + "<div class=\"divRelative\" style=\"width:280px; text-align:right;\">&nbsp;</div>";
            sTabla = sTabla + "<div class=\"divRelative\" style=\"width:280px; text-align:right;\">&nbsp;</div>";
            sTabla = sTabla + "<div class=\"divRelative\" style=\"width:280px; text-align:right;\">&nbsp;</div>";
            sTabla = sTabla + "<div class=\"divRelative\" style=\"width:280px; text-align:center;\"><input type=\"button\" class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\" value=\"Continuar\" onclick=\"javascript:location.href='" + Ruta +"'\"</div>";
        $("#divMensaje").html(sTabla);
        $("#divContentResultados").dialog('open');    
    }

    function Left(str, n){
	    if (n <= 0)
	        return "";
	    else if (n > String(str).length)
	        return str;
	    else
	        return String(str).substring(0,n);
    }
    function Right(str, n){
        if (n <= 0)
           return "";
        else if (n > String(str).length)
           return str;
        else {
           var iLen = String(str).length;
           return String(str).substring(iLen, iLen - n);
        }
    }
	/*****************************************************************/
    //valida Fechas mayor a la actual y Mayor de edad
    /*****************************************************************/
    function ToDate(objId) {        
        if(!fechaMenorActual($('#' + objId).val(), false) && !isDate($('#' + objId).val())) {
            inlineMsg(objId,$('#' + objId).attr('title'),3,true);
            return false;
        }
        return true;    
    }
    
    function ToDateMayor(objId) {        
        if(!fechaMenorActual($('#' + objId).val(),true) && !isDate($('#' + objId).val())) {
            inlineMsg(objId,$('#' + objId).attr('title'),3,true);    
            return false;
        }
        return true;
    }
    
    function validarCamposFechasMayor() {       
       
       var resultado = true;       
       for(var i=0; i< $(".Hoy").length;i++) {
            if(!ToDate($(".Hoy")[i].id))
                return false;
        }
        
        for(var i=0; i< $(".MayorEdad").length;i++) {
            if(!ToDateMayor($(".MayorEdad")[i].id))
                return false;
        }
        
        return resultado;
    }
    
    /***********************************************************************/
    //valida el largo de un campo
    /***********************************************************************/
    function validarLargo(objId){
        
        if($('#' + objId).val().length < parseInt($('#' + objId).attr('maxlength'))) {
            inlineMsg(objId,$('#' + objId).attr('title'),3,true);    
            return false;
        }        
        return true;
    
    }
    
    function validarLargoCampos() {
    
       var resultado = true;       
       for(var i=0; i< $(".clv").length;i++) {
            if(!validarLargo($(".clv")[i].id))
                return false;
       }
        return resultado;    
    }
    
    function validarLargoExacto(objId){
        
        if($('#' + objId).val().length != parseInt($('#' + objId).attr('maxlength'))) {
            inlineMsg(objId,$('#' + objId).attr('title'),3,true);    
            return false;
        }        
        return true;
    
    }
    
    function validarLargoExactoCampos() {
    
       var resultado = true;       
       var Inputs = $(".long")
       for(var i=0; i< Inputs.length;i++) {
            if($('#' + Inputs[i].id).val()== '')continue;
            if(!validarLargoExacto(Inputs[i].id))
                return false;
                
       }
        return resultado;    
    }
    /*****************************************************************/
    function ejecutarServicio(data,Resultfnc, obj, ruta) {
        var url = ruta + '?timestamp=' + Number(new Date());    
        //var url = ruta;    
        $.ajax({ url: url, async: false,data: data,error: function(objeto,sError,asdas){alert(sError);},contentType: 'application/x-www-form-urlencoded', type: 'GET', dataType: 'html', 
             success: function(result){
                        Resultfnc(result, obj);                
              }});
    }
    function ejecutarServicioAsync(data,Resultfnc, obj, ruta) {
        var url = ruta + '?timestamp=' + Number(new Date());    
        //var url = ruta;    
        $.ajax({ url: url, async: true,data: data,error: function(objeto,sError,asdas){alert(sError);},contentType: 'application/x-www-form-urlencoded', type: 'GET', dataType: 'html', 
             success: function(result){
                        Resultfnc(result, obj);                
              }});
    }
    
    function CleanForm(){
        $(".req").each(function(){$(this).val($(this).attr('alt'));});
        $(".reqMail").each(function(){$(this).val($(this).attr('alt'));});
    }
