/*
requiere motools.v1.11 (puede que funcione con anteriores)

autor : vladimir prieto (vladimirprieto [AT] gmail [DOT] com)
		http://vladimirprieto.blogspot.com
*/

//extiende funcionalidad de elements del core de mootools
Element.extend({
	/*
	valida si el valor del objeto es un rut correcto
	devuelve : true || false
	parametros :
	mensaje : [opcional] boolean, por defecto false.  si se indica como true lanzará un mensaje de error
	*/
	esRut:function(mensaje){
		/*
			funcion digito verificador
			obtiene el digito verificador de una cadena
			http://www.dcc.uchile.cl/~mortega/ortega.cl/validarrut/javascript.html
		*/
		function dv(T){var M=0,S=1;for(;T;T=Math.floor(T/10))
						S=(S+T%10*(9-M++%6))%11;return S?S-1:'k';}
		
		mensaje = $pick(mensaje,false);
		cadenas = this.getValue().split("-");
		if (cadenas.length != 2){
			if (mensaje) alert('El RUT que ingreso no ha pasado la prueba del digito verificador');
			return false;
		}
		var numeros = cadenas[0].replace(/\./g,"");  //sacando cualquier punto que esté entre medio
		if (cadenas[1].toLowerCase() != dv(numeros)){
			if (mensaje) alert('El RUT que ingreso no ha pasado la prueba del digito verificador');
			return false;
		}
		return true;
	}
});

