/****** FUNCION VALIDA RUT *********/
// BY JESUS GOKU //
function validaRut(texto){
	var i = 0;
	var z = 0;
	//var textodos = '';
	texto = texto.toUpperCase();
	//var expreg = new RegExp('[^0-9K]{1}');
	var expreg = /[^0-9K]/g;
	texto = texto.replace(expreg,'');
	/*for(i=0;i<texto.length;i++){
		if(!texto.charAt(i).match(expreg)){
			textodos += texto.charAt(i);	
		}
	}*/
	var pedaso1 = texto.substring(0,texto.length-1);
	var pedaso2 = texto.substring(texto.length-1);
	pedaso1 = parseInt(pedaso1,10);
	var suma = 0;
	var digito = 0;
	for(i=2;pedaso1 > 0;i++){
		digito = pedaso1%10;
		suma += digito*i;
		pedaso1 = (pedaso1-digito)/10;
		if(i==7) i=1;
	}
	var modulo = suma % 11;
	var digitov = 11-modulo;
	switch(digitov){
		case 10:digitov = 'K';break;
		case 11:digitov = 0;break;
	}
	if(digitov == pedaso2) return true; else return false;
}

function validaRut2(texto){
	var i = 0;
	var z = 0;
	// TODO A MAYUSCULAS
	texto = texto.toUpperCase();
	// EXPRESION REGULAR PARA ELIMINAR CUALQUIER CARACTER EXTRAÑO
	var expreg = /[^0-9K]/g;
	texto = texto.replace(expreg,'');
	// SI ME QUEDO SIN DIGITOS DESPUES DE ELIMINAR FALSO
	if(texto.length == 0) return false;
	// SEPARO EL DIGITO VERIFICADOR DEL RESTO DEL RESTO DE LOS DIGITOS
	var pedaso1 = texto.substring(0,texto.length-1);
	var pedaso2 = texto.substring(texto.length-1);
	// FORZO LOS DIGITOS A INTEGER
	pedaso1 = parseInt(pedaso1,10);
	// REALIZO LA SUMA DE LOS DIGITOS MULTIPLICADOS POR SU FACTOR
	var suma = 0;
	var digito = 0;
	for(i=2;pedaso1 > 0;i++){
		digito = pedaso1%10;
		suma += digito*i;
		pedaso1 = (pedaso1-digito)/10;
		if(i==7) i=1;
	}
	// SACO EL RESTO SUMA AL DIVIDIRLO X 11
	var modulo = suma % 11;
	// EL DIGITO VERIFICADOR ES 11 - EL MODULO CALCULADO
	var digitov = 11-modulo;
	// SALVO EN ESTOS 2 CASOS
	switch(digitov){
		case 10:digitov = 'K';break;
		case 11:digitov = 0;break;
	}
	return (digitov == pedaso2) ? true : false;
}

function formatRut(texto){
	var cadena = '';
	var i = z = 0;
	// COLOCO TODO A MAYUSCULAS
	texto = texto.toUpperCase();
	// ELIMINO CARACTERES QUE NO PERTENEZCAN A UN RUT
	var expreg = /[^0-9K]/g;
	texto = texto.replace(expreg,'');
	// DIVIDO LOS DIGITOS NORMALES DEL DIGITO VERIFICADOR
	var pedaso1 = texto.substring(0,texto.length-1);
	var pedaso2 = texto.substring(texto.length-1);
	// COLOCO PUNTOS CADA 3 CARACTERES DESDE EL FINAL
	for(i=pedaso1.length-1,z=1;i>=0;i--,z++){
			cadena += pedaso1.charAt(i);
			if(z==3){
				cadena += '.';
				z = 0;
			}
	}
	// ELIMINO EL . QUE PODRIA HABER QUEDADO AL PRINCIPIO
	expreg = /\.$/g;
	cadena = cadena.replace(expreg,'');
	// INVIERTO LA CADENA YA QUE QUEDO AL VERRE
	var cadena2 = '';
	for(i=cadena.length-1;i>=0;i--){
			cadena2 += cadena.charAt(i);
	}
	// UNO LA CADENA FORMATEADA CON EL DIGITO VERIFICADOR
	cadena2 = cadena2+'-'+pedaso2;
	return cadena2;
}

function validaMail(mail){
	var expreg = /^[a-zA-Z0-9\.\-_]{1,}@{1}[a-zA-Z0-9\.\-_]{1,}\.{1}[a-zA-Z]{2,4}$/g;
	//if(mail.match(expreg)) return true; else return false;
	return mail.match(expreg) ? true : false;
}

// REQUIERE PHP.JS
function URLAmigable(text){

	// HAGO LOS REMPLAZO CORRESPONDIENTES
	text = text.toLowerCase();
	text = htmlentities(text);
	text = text.replace(/&([a-zA-Z])(uml|acute|grave|circ|tilde);/g,'$1');
	text = html_entity_decode(text);
	text = text.replace(/[^a-z0-9 ]/g,'');
	text = text.replace(/^\s+|\s+$/g,'');
	text = text.replace(/ {1,}/g,'-');
	
	return text;

}

function formatNumber(num,prefix){
	prefix = prefix || '';
	num += '';
	var sepm = '.';
	var sepd = ',';
	var splitStr = num.split(sepm);
	var splitLeft = splitStr[0];
	var splitRight = splitStr.length > 1 ? sepd + splitStr[1] : '';
	var regx = /(\d+)(\d{3})/;
	while (regx.test(splitLeft)) {
	splitLeft = splitLeft.replace(regx, '$1' + sepm + '$2');
	}
	return prefix + splitLeft + splitRight;
}

function unformatNumber(num){
	return num.replace(/([^0-9,\-])/g,'')*1;
}