/* Inicio validaciones */

function trim(variable)
{
	largo=variable.length;
	m=0;
	while (m<largo)
	{
		caracter=variable.substring(m,m+1);
		if (caracter != " ")
		{
			break;
		}
		m++;
	}
	if (m==largo)
	{
		return "";
	}
	n=0;
	while (n<largo)
	{
		caracter=variable.substring(largo-n-1,largo-n);
		if (caracter != " ")
		{
			break;
		}
		n++;
	}
	variable=variable.substring(m,largo-n);
	return variable;
}

function solonum()
{
	if ((event.keyCode<48)||(event.keyCode>57))
	{
		event.returnValue=false;
	}
}

function solorut()
{
	if (((event.keyCode>47)&&(event.keyCode<58))||(event.keyCode==75)||(event.keyCode==107))
	{
		event.returnValue=true;
	}
	else
	{
		event.returnValue=false;
	}
}

function rut(variable,digit)
{
	Sum = 0;
	digito = 0;
	factor = 2;
	largo = variable.length;
	while (largo !== 0)
	{
		Sum = Sum + (variable.substring(largo, largo-1) * factor);
		if (factor == 7)
			{
				factor = 2;
			}
		else
		{
			factor = factor + 1;
		}
		largo = largo - 1;
	}
	d = 11 - Sum % 11;
	if (d == "10")
	{
		digito = "K";
        }
	else
	{
		if (d == "11")
		{
			digito = 0;
		}
		else
		{
			digito = d;
		}
	}
	if (digito == digit)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function formatear(forma)
{
	forma.rut_temp.value=forma.rut_temp.value.toUpperCase();
	if (forma.rut_temp.value != "")
	{
		valor=forma.rut_temp.value;
		forma.rut.value=valor;
		if (valor.length > 1)
		{
			forma.rut_temp.value=insertapuntos(valor.substring(0,valor.length));
		}
	}
}

function formatear2(forma)
{
	forma.rut_temp.value=forma.rut.value;
}

function formatear_monto(forma)
{
     if (Filtro_numerico(forma.monto.value))
    {
        forma.monto.value=forma.monto.value.toUpperCase();
        if (forma.monto.value != "")
        {
            valor=forma.monto.value;
            forma.monto_ok.value=valor;
            if (valor.length > 1)
            {
                forma.monto.value="$ " + insertapuntos(valor.substring(0,valor.length));
            }
        }
    }
}

function formatear2_monto(forma)
{
    if (Filtro_numerico(forma.monto.value))
        forma.monto.value=forma.monto_ok.value;
}

function Right(strvar,intcant)
{
	strtemp = "";
	intlargo = strvar.length -1;
	for(i = 1;i <= intcant; i++)
	{
		strtemp = strtemp + strvar.charAt(intlargo);
		intlargo--;
	}

	strtmp2=""
	for(intlargo = strtemp.length -1; intlargo >=0; intlargo--)
	{
		strtmp2 = strtmp2 + strtemp.charAt(intlargo);
	}
	return(strtmp2);
}

function insertapuntos(strval)
{
	var A = new Array();
	var strtemp = strval;

	strtemp = new Number(strtemp);
	strtemp = new String(strtemp);
	if (strtemp.length > 3)
	{
		for(var i = 0; strtemp.length > 3; i++)
		{
			A[i] = Right(strtemp,3);
			strtemp /= 1000;
			strtemp=new String(strtemp);
			if (strtemp.indexOf('.') != -1)
			{
      				strtemp = strtemp.substr(0,strtemp.indexOf('.'));
      			}
		}
		for(i-- ;i >= 0 ;i--)
		{
			strtemp = strtemp + "." + A[i];
		}
	}
	return(strtemp);
}


function JValidaCaracter(Tipo, Adicional, Enter, conText){
        	var strNumeros ="0123456789";
        	var strDecimal = "0123456789.";
        	var strDecimalComa = "0123456789,";
		var strDecimalNegativo = strDecimal + "-";
		var Minusculas = "abcdefghijklmnñopqrstuvwxyz";
		var Mayusculas = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
		var acentos    = "áéíóúÁÉÍÓÚ";
		var strTexto = Minusculas + Mayusculas + " " + acentos;
		var strAlfanumerico = strTexto + strNumeros + "(/-_,);";
		var strAlfanumerico2= strTexto + strNumeros + acentos + " ";

		var strMail = Minusculas + Mayusculas + strNumeros + "@_-.";
		var TextoTotal = new String();
		TextoTotal = Adicional;

		switch(Tipo){
			case "DecimalNegativo":{
				TextoTotal += strDecimalNegativo;
			break;
			}
			case "Decimal":{
				TextoTotal += strDecimal;
			break;
			}
			case "Numerico":{
				TextoTotal += strNumeros;
			break;
			}
			case "Texto":{
				TextoTotal += strTexto;
			break;
			}
			case "Alfanumerico":{
				TextoTotal += strAlfanumerico;
			break;
			}
			case "Alfanumerico2":{
				TextoTotal += strAlfanumerico2;
			break;
			}
			case "Email":{
				TextoTotal += strMail;
			break;
			}
			case "DecimalComa":{
				TextoTotal += strDecimalComa;
			break;
			}

		}



		strCaracter = new String();
		strCaracter = String.fromCharCode(window.event.keyCode);
		var Pos = TextoTotal.indexOf (strCaracter);
		autoTab(conText, 13, event);
		if(Pos > -1){
			return true;			
		}else{
			window.event.keyCode = 0;
			return false;
		}


	}

function JValidaCaracter2(Tipo, Adicional, Caracter){

		var strNumeros ="0123456789";
	        var strDecimal = "0123456789.";
	        var strDecimalComa = "0123456789,";
		var strDecimalNegativo = strDecimal + "-";
		var Minusculas = "abcdefghijklmnñopqrstuvwxyz";
		var Mayusculas = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
		var acentos    = "áéíóúÁÉÍÓÚ";
		var strTexto = Minusculas + Mayusculas + " ";
		var strAlfanumerico = strTexto + strNumeros + "/-_,;";
		var strAlfanumerico2= strTexto + strNumeros + acentos + " ";
		var strMail = Minusculas + Mayusculas + strNumeros + "@_-.";
		var TextoTotal = new String();
		TextoTotal = Adicional;

		switch(Tipo){
			case "DecimalNegativo":{
				TextoTotal += strDecimalNegativo;
			break;
			}
			case "DecimalComa":{
				TextoTotal += strDecimalComa;
			break;
			}
			
       		case "Decimal":{
				TextoTotal += strDecimal;
			break;
			}
			case "Numerico":{
				TextoTotal += strNumeros;
			break;
			}
			case "Texto":{
				TextoTotal += strTexto;
			break;
			}
			case "Alfanumerico":{
				TextoTotal += strAlfanumerico;
			break;
			}
			case "Alfanumerico2":{
				TextoTotal += strAlfanumerico2;
			break;
			}
			case "Email":{
				TextoTotal += strMail;
			break;
			}
		}
		strCaracter = new String();
		strCaracter = String.fromCharCode(Caracter);

		var Pos = TextoTotal.indexOf (strCaracter);
		if(Pos > -1){
			return true;
		}else{
			return false;
		}
	}



function valiTexto(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('Texto','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}

function valiDecimalComa(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('DecimalComa','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}


function valiNumero(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('Numerico','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}
function valiDecimal(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('Decimal','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}
function valiDecimalNegativo(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('DecimalNegativo','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}

function valiAlfanumerico(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('Alfanumerico','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}

function valiEmail(e) {
	key = "";
	key = e.which;
	tipo = e.id;
	if (	JValidaCaracter2('Email','',key) || key == 8) {
		return true;
	}else{
		return false;
	}
}

function Captura(Tipo){
	if (navigator.appName == 'Netscape') {
		if (Tipo == "T"){
			window.captureEvents(Event.KEYPRESS);
			window.onKeyPress = valiTexto;
		}
		if (Tipo == "N"){
			window.captureEvents(Event.KEYPRESS);
			window.onKeyPress = valiNumero;
		}
		if (Tipo == "D"){
			window.captureEvents(Event.KEYPRESS);
			window.onKeyPress = valiDecimal;
		}
		if (Tipo == "DN"){
			window.captureEvents(Event.KEYPRESS);
			window.onKeyPress = valiDecimalNegativo;
		}
		if (Tipo == "A"){
			window.captureEvents(Event.KEYPRESS);
			window.onKeyPress = valiAlfanumerico;
		}
		if (Tipo == "E"){
			window.captureEvents(Event.KEYPRESS);
			window.onKeyPress = valiEmail;
		}
	}
}

function MenosPuntos(strval)
{
  var strtemp="";
  var strcopia = strval;

  for(var intpos = 0; intpos < strval.length; intpos++)
    if ((strval.charAt(intpos) != ".") && (strval.charAt(intpos) != ",") && (strval.charAt(intpos) != "$"))
      strtemp = strtemp + strval.charAt(intpos)
    if (strtemp == "")
      return(strcopia);
  return(strtemp);
}

function Filtro_numerico(input)
{
	s = input;
	filteredValues = "1234567890";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	if (returnString=="") return true;
	else return false;
}
function Filtro_decimal(input)
{
	s = input;
        if (cuentaCaracteres(s,'.') > 1){
		return false;
	}
	filteredValues = "1234567890.";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	if (returnString=="") return true;
	else return false;
}
function Filtro_decimal_negativo(input)
{
	s = input;
        if (cuentaCaracteres(s,'.') > 1){
		return false;
	}
	filteredValues = "1234567890.-";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	if (returnString=="") return true;
	else return false;
}
function Filtro_alfanumerico(input)
{
	s = input;
	filteredValues = "1234567890abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	if (returnString=="") return true;
	else return false;
}

function marca_click(chec)
{
        if (chec.checked==false) chec.checked=true;
}

function marca_blur(chec, txt)
{
    var txt_se=trim(txt.value);
    var txt_largo=txt_se.length;
    if (txt_largo==0)
    {
        txt.value="";
        if (chec.checked) chec.checked=false;
    }
    else
    {
        if (chec.checked==false) chec.checked=true;
    }
}

function textContador(field, maxlimit) {
if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit);
}

function cuentaCaracteres(lsCadena , lscarac){
kont=0;
for (i = 0; i < lsCadena.length; i++){
	var c = lsCadena.charAt(i);
	if ( c == lscarac) {kont++;}
}
return kont;
}

function replace(s, t, u) {
i = s.indexOf(t);
r = "";
if (i == -1) return s;
r += s.substring(0,i) + u;
if ( i + t.length < s.length)
r += replace(s.substring(i + t.length, s.length), t, u);
return r;
}

function format_string(s,tipo) {
if (tipo=='B'){
s = replace(s,'\r\n','<br>');
s = replace(s,"'","&#39;");
s = replace(s,'"','&#34;');
}
if (tipo=='T'){
s = replace(s,'&amp;#34;','"')
s = replace(s,'&amp;#39;',"'");
s = replace(s,'&lt;br&gt;','\r\n');
s = replace(s,'<br>','\r\n');
s = replace(s,"&#39;","'");
s = replace(s,"&#039;","'");
s = replace(s,'&#34;','"');
s = replace(s,'&#034;','"');
}
if (tipo=='H'){
s = replace(s,'&amp;#34;','"')
s = replace(s,'&amp;#39;',"'");
s = replace(s,'&lt;br&gt;','<br>');
s = replace(s,"&#39;","'");
s = replace(s,"&#039;","'");
s = replace(s,'&#34;','"');
s = replace(s,'&#034;','"');
}

return s;
}

function FormatearFR(fr){
	var aho = fr.substring(0,4);
	var id = Number(fr.substring(4,10));
	var subid = Number(fr.substring(10,12));
	return aho+'-'+String(id)+'-'+String(subid);
}
function DesFormatearFR(fr){
	pos2 = fr.indexOf('-');
	aho = fr.substring(0,pos2);
	aux = fr.substring(pos2+1,fr.length);

	pos2 = aux.indexOf('-');
	id = aux.substring(0,pos2);
	aux = aux.substring(pos2+1,aux.length);
	largo = 6 - id.length;
	for (i=0;i<largo;i++){
		id = '0' + id;
	}
	
	subid = aux;
	if (subid.length == 1)
		subid = '0' + subid;
	
	return aho+String(id)+String(subid);
}

function reemplazarCaracteres(cadena,tipo){
	if (tipo =='I'){
		cadena = replace(cadena,'á','a_a');
		cadena = replace(cadena,'é','e_e');
		cadena = replace(cadena,'í','i_i');
		cadena = replace(cadena,'ó','o_o');
		cadena = replace(cadena,'ú','u_u');
		cadena = replace(cadena,'Á','A_A');
		cadena = replace(cadena,'É','E_E');
		cadena = replace(cadena,'Í','I_I');
		cadena = replace(cadena,'Ó','O_O');
		cadena = replace(cadena,'Ú','U_U');
		cadena = replace(cadena,'ñ','n_n');
		cadena = replace(cadena,'Ñ','N_N');
	}
	if (tipo =='R'){
		cadena = replace(cadena,'a_a','á');
		cadena = replace(cadena,'e_e','é');
		cadena = replace(cadena,'i_i','í');
		cadena = replace(cadena,'o_o','ó');
		cadena = replace(cadena,'u_u','ú');
		cadena = replace(cadena,'A_A','Á');
		cadena = replace(cadena,'E_E','É');
		cadena = replace(cadena,'I_I','Í');
		cadena = replace(cadena,'O_O','Ó');
		cadena = replace(cadena,'U_U','Ú');
		cadena = replace(cadena,'n_n','ñ');
		cadena = replace(cadena,'N_N','Ñ');
	}
    return cadena;	
}

function reemplazarCaracteres2(cadena){
	cadena = replace(cadena,'á','&aacute;');
	cadena = replace(cadena,'é','&eacute;');
	cadena = replace(cadena,'í','&iacute;');
	cadena = replace(cadena,'ó','&oacute;');
	cadena = replace(cadena,'ú','&uacute;');
	cadena = replace(cadena,'Á','&Aacute;');
	cadena = replace(cadena,'É','&Eacute;');
	cadena = replace(cadena,'Í','&Iacute;');
	cadena = replace(cadena,'Ó','&Oacute;');
	cadena = replace(cadena,'Ú','&Uacute;');
	cadena = replace(cadena,'ñ','&ntilde;');
	cadena = replace(cadena,'Ñ','&Ntilde;');
    return cadena;	
}


function autoTab(input,key, e) {
	if( e.keyCode==key ) { 
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}
	
	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
			if (input.form[i] == input)index = i;
				else i++;
		return index;
	}
	
	return true;
}

function validaBuscar() {
	var strPagina = '';
	var tipoJuego = 0;

	if (trim(document.form1.txtBuscar.value) == '') {
		alert("Ingrese el texto a buscar");
		document.form1.txtBuscar.value = '';
		document.form1.txtBuscar.focus();
		return false;
	}

	else {
		strPagina = 'resultado_busqueda.php';
		document.form1.action = strPagina;
		document.form1.submit();
	}
}

function validaEnter(evt) {
	evt = (evt) ? evt : event
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if(charCode==13) {
		validaBuscar();
	}

}

