function Valida_Rut(Objeto)
{ var tmpstr = ""; var intlargo = Objeto; if (intlargo.length > 0)
{ crut = Objeto; largo = crut.length; if ( largo < 2 )
{ alert('rut inválido')
return false;}
for ( i=0; i < crut.length ; i++ )
if ( crut.charAt(i) != ' ' && crut.charAt(i) != '.' && crut.charAt(i) != '-' )
{ tmpstr = tmpstr + crut.charAt(i);}
rut = tmpstr; crut=tmpstr; largo = crut.length; if ( largo > 2 )
rut = crut.substring(0, largo - 1); else
rut = crut.charAt(0); dv = crut.charAt(largo-1); if ( rut == null || dv == null )
return 0; var dvr = '0'; suma = 0; mul = 2; for (i= rut.length-1 ; i >= 0; i--)
{ suma = suma + rut.charAt(i) * mul; if (mul == 7)
mul = 2; else
mul++;}
res = suma % 11; if (res==1)
dvr = 'k'; else if (res==0)
dvr = '0'; else
{ dvi = 11-res; dvr = dvi + "";}
if ( dvr != dv.toLowerCase() )
{ return false;}
}
}
var validaciones = { vacio: function(elemento) {return /[A-Za-z0-9_]/.test($(elemento).val());}, email: function(elemento) {return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($(elemento).val());}, numero: function(elemento) {return /[0-9]/.test($(elemento).val());}, checked: function(elemento) {return $(elemento).is(':checked');}, rut: function(elemento){ return Valida_Rut($(elemento).val())}
}; $(function(){ $('#enviar').click(function(){ var cadena = Array(); $("#validar").find("input, textarea, select ").each(function(i,elemento){ $.each($(elemento).attr('class').split(" "),function(c,class){ if( jQuery.isFunction(validaciones[class]))
{ if(validaciones[class](elemento)==false)
{ var campos = $(elemento).attr('title'); $('#'+campos).addClass('for-rojo'); if(jQuery.inArray(campos, cadena) == '-1'){ cadena.push(campos);}
}
}
});}); if( cadena.length > 0 )
{ var errores = cadena.join(', '); $('#mensajes').addClass('error'); $('#mensajes').html('<p>Vuelva a chequear los datos en rojo: <b>'+errores+'</b>.</p>'); return false;}
});}); 