function OnlyMatch(regex,string) //regex:: exp. regular con la que comparar , string:: string que debe comparar
{
    var pattern;

    //CARACTERES LATINOS :: letras mayusculas y minusculas, tildes, espacios, guión
    if(regex == 'letras')
        pattern = /^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s-]+$/;
	//NÚMEROS :: acepta sólo números de 0 a 9, sin espacios ni guiones
    if(regex == 'numeros')
        pattern = /^[0-9]+$/;
    //MAIL :: algo @ algo . sigla
    if(regex == 'mail')
        pattern = /^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$/;
        
    if(pattern.test(string))
		return true;
	else
		return false;

} 

function Numerico(e,puntos)
{
    var key = window.event ? e.keyCode : e.which;

    if(puntos)
    {
        if( key == '46')
            return false;
    }

    if (key != '13' && key > '45' && key < '59' && key != '47' || key == '8' || key == '0')
    {
        var keychar = String.fromCharCode(key);
        return (keychar);
    }
    else
        return false;
}

function revisarDigito( dvr )
{
	var dv = dvr + "";

	if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k' && dv != 'K')
		return false;
	return true;
}

function revisarDigito2( crut )
{
	var i, rut, dv, dvi;
	var dvr = '0';

	var largo = crut.length;

	if ( largo < 2 )
		return false;
	if ( largo > 2 )
		rut = crut.substring(0, largo - 1);
	else
		rut = crut.charAt(0);

	dv = crut.charAt(largo-1);
	revisarDigito( dv );

	if ( rut == null || dv == null )
		return 0

	var suma = 0;
	var mul  = 2;

	for (i= rut.length -1 ; i >= 0; i--)
	{
		suma = suma + rut.charAt(i) * mul;

		if (mul == 7)
			mul = 2;
		else    
			mul++;
	}

	var 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;

	return true;
}

function Rut( rut, dvrut )
{
	var tmpstr = "";
	var i, j, letra, texto, largo;

	if ( rut.length < 7 )
		return false;

	texto = rut + '-' + dvrut;

	for ( i=0; i < texto.length ; i++ )
	{
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
		{
			if(texto.charAt(i) == 'k')
				letra = 'K';
			else
				letra =  texto.charAt(i);

			tmpstr = tmpstr + letra;
		}
	}

	texto = tmpstr;
	largo = texto.length;

	if ( largo < 2 )
		return false;

	for (i=0; i < largo ; i++ )
	{
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
			return false;
	}

	var invertido = "";

	for ( i=(largo-1),j=0; i>=0; i--,j++ )
		invertido = invertido + texto.charAt(i);

	var dtexto = "";

	dtexto = dtexto + invertido.charAt(0);
	dtexto = dtexto + '-';
	var cnt = 0;

	for ( i=1,j=2; i<largo; i++,j++ )
	{
		if ( cnt == 3 )
		{
			dtexto = dtexto + '.';
			j++;
			dtexto = dtexto + invertido.charAt(i);
			cnt = 1;
		}
		else
		{
			dtexto = dtexto + invertido.charAt(i);
			cnt++;
		}
	}

	invertido = "";

	for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
		invertido = invertido + dtexto.charAt(i);

	if ( revisarDigito2(texto) )
		return true;

	return false;
}
