function handleClick()
 {
  document.getElementById('impresora').style.visibility = "hidden";
  document.getElementById('gls_impresora').style.visibility = "hidden";
  document.getElementById('cerrar').style.visibility = "hidden";
  window.print();
  document.getElementById('impresora').style.visibility = "visible";
  document.getElementById('gls_impresora').style.visibility = "visible";
  document.getElementById('cerrar').style.visibility = "visible";
}


function textCounter(field, countfield, maxlimit) {

if (field.value.length > maxlimit)
{
	field.value = field.value.substring(0, maxlimit);
	countfield.value = 0;
	alert("Se ha superado la cantidad máxima de carácteres permitida para su consulta");
}	
else 
countfield.value = maxlimit - field.value.length;
}

function MsOver(fila)
{

    objTR=eval('document.getElementById("tr_registro_' +fila + '")');
    objTR.className='selected';
}

/*----------------------------------------------------------------------------------------*/
function MsOut(fila)
{
    variable = (fila % 2);
    objTR=eval('document.getElementById("tr_registro_' +fila + '")');
	if (variable == 0)
	{
	    
	    objTR.className='tr_par';
	}
    else
    {
        objTR.className='tr_impar';
    }
}

function MsOvertnt(fila)
{

    objTR=eval('document.getElementById("tr_registrotnt_' +fila + '")');
    objTR.className='selected_tnt';
}

/*----------------------------------------------------------------------------------------*/
function MsOuttnt(fila)
{
    variable = (fila % 2);
    objTR=eval('document.getElementById("tr_registrotnt_' +fila + '")');
	if (variable == 0)
	{
	    
	    objTR.className='tr_par_tnt';
	}
    else
    {
        objTR.className='tr_impar_tnt';
    }
}


function MsOveribx(fila)
{

    objTR=eval('document.getElementById("tr_registroibx_' +fila + '")');
    objTR.className='selected_ibx';
}

/*----------------------------------------------------------------------------------------*/
function MsOutibx(fila)
{
    variable = (fila % 2);
    objTR=eval('document.getElementById("tr_registroibx_' +fila + '")');
	if (variable == 0)
	{
	    
	    objTR.className='tr_par_ibx';
	}
    else
    {
        objTR.className='tr_impar_ibx';
    }
}




/* --------------------------------------------------------------------------------------- */

function validar_dv(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron =/[0-9kK]/;
    //patron = /\w/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}

/* --------------------------------------------------------------------------------------- */
function revisarDigito(dvr)
{	
	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')	
	{		
		alert("Debe ingresar un digito verificador valido");		
		window.document.login.dv_rut_cliente.focus();		
		window.document.login.dv_rut_cliente.select();		
		return false;	
	}	
	return true;
}


/* --------------------------------------------------------------------------------------- */
function valida_rut() 
{
	objRut = document.frmFormulario.txtRutUsuario
	objDv = document.frmFormulario.txtDvUsuario

    if (objRut.value == "")
	{
	    alert('Debe Ingresar un Rut.')
	    objRut.focus();
	    return false;
	}
	
	if (objRut.value != "")
	{
		if (objDv.value == "")
			{
			alert("Debe Ingresar el Dígito Verificador del Rut.");
			objDv.focus();
			return false;
			}
		else
			{
			strDVCalc=calculaDV(objRut)
            strDV=Trim(objDv.value);            
    		if (strDVCalc.toUpperCase()!=strDV.toUpperCase())
            {
                alert("Debe Ingresar un rut válido")
                objRut.value="";
                objDv.value="";
                objRut.focus();
                return false;
            }
    		
			else
				return true;
			}
	}
}	

/* --------------------------------------------------------------------------------------- */

function revisarDigito2(crut)
{	
	largo = crut.length;	
	if ( largo < 2 )	
	{		
		alert("Debe ingresar el rut completo")		
		window.document.login.rut_cliente.focus();		
		window.document.login.rut_cliente.select();		
		return false;	
	}	
	if ( largo > 2 )		
		strrut = crut.substring(0, largo - 1);	
	else		
		strrut = crut.charAt(0);	
	dv = crut.charAt(largo-1);	
	revisarDigito( dv );	

	if ( strrut == null || dv == null )
		return 0	

	var dvr = '0'	
	suma = 0	
	mul  = 2	

	for (i= strrut.length -1 ; i >= 0; i--)	
	{	
		suma = suma + strrut.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() )	
	{		
		alert("EL rut es incorrecto")		
		window.document.login.rut_cliente.focus();		
		window.document.login.rut_cliente.select();		
		return false	
	}

	return true
}

/* --------------------------------------------------------------------------------------- */

function Rut(texto)
{	

	var tmpstr = "";	
	for ( i=0; i < texto.length ; i++ )		
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);	
	texto = tmpstr;	
	largo = texto.length;	

	if ( largo < 2 )	
	{		
		alert("Debe ingresar el rut completo")		
		window.document.login.rut_cliente.focus();		
		window.document.login.rut_cliente.select();		
		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" )
 		{			
			alert("El valor ingresado no corresponde a un R.U.T valido");			
			window.document.login.rut_cliente.focus();			
			window.document.login.rut_cliente.select();			
			return false;		
		}	
	}	

	if ( revisarDigito2(texto) )		
		return true;	

	return false;
}


/* --------------------------------------------------------------------------------------- */
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; Onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->

/* --------------------------------------------------------------------------------------- */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

/* --------------------------------------------------------------------------------------- */
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

/* --------------------------------------------------------------------------------------- */
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

/* --------------------------------------------------------------------------------------- */
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
} 

/* --------------------------------------------------------------------------------------- */


function Trim(strTxt)
	{
	pos1 = 0;
	pos2 = strTxt.length-1;
	for (i=0; i<strTxt.length; i++)
	{
		if (strTxt.charAt(i) == ' ') pos1 = pos1 + 1;
		else break;
	}
	if (pos1 != (pos2+1))
		for (i=strTxt.length-1; i>0; i--)
		{
			if (strTxt.charAt(i) == ' ') pos2 = pos2 - 1
			else break;
		}
	return strTxt.substring(pos1,pos2+1);
	}

/* --------------------------------------------------------------------------------------- */
function IsNum( numstr ) {
// Return immediately if an invalid value was passed in
if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "") 
return false;
var isValid = true;
var decCount = 1; // number of decimal points in the string
// convert to a string for performing string comparisons.
numstr += ""; 
// Loop through string and test each character. If any
// character is not a number, return a false result.
// Include special cases for negative numbers (first char == '-')
// and a single decimal point (any one char in string == '.'). 
for (i = 0; i < numstr.length; i++) {
// track number of decimal points
if (numstr.charAt(i) == ".")
decCount++;
//if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") || 
//(numstr.charAt(i) == "-") || (numstr.charAt(i) == "."))) {
if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9")))
{
isValid = false;
break;
} else if ((numstr.charAt(i) == "-" && i != 0) ||
(numstr.charAt(i) == "." && numstr.length == 1) ||
(numstr.charAt(i) == "." && decCount > 1)) {
isValid = false;
break;
} 
//if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9")) || 
} // END for 

return isValid;
} // end IsNum

/*----------------------------------------------------------------------------------------*/
function Len(s){
	// Devuelve la longitud de la cadena s
	return s.length;
}

function Trim(strTxt)
	{
	pos1 = 0;
	pos2 = strTxt.length-1;
	for (i=0; i<strTxt.length; i++)
	{
		if (strTxt.charAt(i) == ' ') pos1 = pos1 + 1;
		else break;
	}
	if (pos1 != (pos2+1))
		for (i=strTxt.length-1; i>0; i--)
		{
			if (strTxt.charAt(i) == ' ') pos2 = pos2 - 1
			else break;
		}
	return strTxt.substring(pos1,pos2+1);
	}
	
/*----------------------------------------------------------------------------------------*/

var isIE = document.all?true:false;
var isNS = document.layers?true:false;

/*----------------------------------------------------------------------------------------*/
function onlyDigits(e,decReq) 
{
var key = (isIE) ? window.event.keyCode : e.which;
var obj = (isIE) ? event.srcElement : e.target;
var isNum = (key > 47 && key < 58) ? true:false;
if (key==46)
{
	key=44
}
var dotOK = (key==44 && decReq=='decOK' && (obj.value.indexOf(",")<0 || obj.value.length==0)) ? true:false;

window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
e.which = (!isNum && !dotOK && isNS) ? 0:key;
var lgDecOK=(obj.value.indexOf(",")>=0 && obj.value.substr(obj.value.indexOf(",")+1,obj.value.length).length>1) ? true:false;
if (lgDecOK)
{
	window.event.keyCode = 0;
	e.which = 0;
}
return (isNum || dotOK);
}



/*----------------------------------------------------------------------------------------*/
function validar(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron =/[-A-Za-z0-9Ññ.,_/\s]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}

function TxtMayusculas(e)
{
    strTexto=e.keyCode
    strBol=true
    if (validarTexto(e))
    {
        strTexto = String.fromCharCode(tecla)
        strTexto=strTexto.toUpperCase();
        strTexto=strTexto.charCodeAt(0);
        e.keyCode=strTexto
    }
	/*
    else
    {
        e.keyCode=0
        strBol=false
    }	*/
    return strBol;
}

/*----------------------------------------------------------------------------------------*/
function validarTexto(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron =/[-A-Za-zÑñ_/\s]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}

// -------------------------------------------------------------------------------------
function validar_email(stremail)
{
    var a = stremail.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
    var v = stremail;
    if (a != v )
    {
	    return false;
    }
	    return true;
} 

/*----------------------------------------------------------------------------------------*/
function InStr(n, s1, s2)
{
	// Devuelve la posición de la primera ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=InStr.arguments.length;
	
	if(numargs<3)
		return n.indexOf(s1)+1;
	else
		return s1.indexOf(s2, n)+1;
}
/*----------------------------------------------------------------------------------------*/
function Mid(s, n, c)
{
	// Devuelve una cadena desde la posición n, con c caracteres
	// Si c = 0 devolver toda la cadena desde la posición n
	
	var numargs=Mid.arguments.length;
	
	// Si sólo se pasan los dos primeros argumentos
	if(numargs<3)
		c=s.length-n+1;
		
	if(c<1)
		c=s.length-n+1;
	if(n+c >s.length)
		c=s.length-n+1;
	if(n>s.length)
		return "";
		
	return s.substring(n-1,n+c-1);
}
//  funcion que busca por nombre dentro de un combo //
// -------------------------------------------------------------------------------------------
var digitos=15 //cantidad de digitos buscados 
var puntero=0 
var buffer=new Array(digitos) //declaración del array Buffer 
var cadena="" 

// -------------------------------------------------------------------------------------------
function buscar_op(obj,objfoco){ 
   var letra = String.fromCharCode(event.keyCode) 
   if(puntero >= digitos){ 
       cadena=""; 
       puntero=0; 
    } 
   //si se presiona la tecla ENTER, borro el array de teclas presionadas y salto a otro objeto... 
   if (event.keyCode == 13){ 
       borrar_buffer(); 
       if(objfoco!=0) objfoco.focus(); //evita foco a otro objeto si objfoco=0 
    } 
   //sino busco la cadena tipeada dentro del combo... 
   else{ 
       buffer[puntero]=letra; 
       //guardo en la posicion puntero la letra tipeada 
       cadena=cadena+buffer[puntero]; //armo una cadena con los datos que van ingresando al array 
       puntero++; 

       //barro todas las opciones que contiene el combo y las comparo la cadena... 
       for (var opcombo=0;opcombo < obj.length;opcombo++){ 
          if(obj[opcombo].text.substr(0,puntero).toLowerCase()==cadena.toLowerCase()){ 
          obj.selectedIndex=opcombo; 
          } 
       } 
    } 
   event.returnValue = false; //invalida la acción de pulsado de tecla para evitar busqueda del primer caracter 
} 

// -------------------------------------------------------------------------------------------

function borrar_buffer(){ 
   //inicializa la cadena buscada 
    cadena=""; 
    puntero=0; 
} 

// -------------------------------------------------------------------------------------------

function fn(form,field)
{
var next=0, found=false
var f=form

if(event.keyCode!=13) return;

for(var i=0;i<f.length;i++) 
	{
	if(field.name==f.item(i).name)
		{
		next=i+1;
		found=true
		break;
		}
	}

while(found)
	{
	if( f.item(next).disabled==false && f.item(next).type!='hidden')
		{
		f.item(next).focus();
		break;
		}
	else
		{
		if(next<f.length-1)
			next=next+1;
		else
			break;
		}
	}
}

// ---------------------------------------------------------------------------------

function validarNumero(e)

{
	alert()
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron =/[0-9]/;
    //patron = /\w/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}

// ---------------------------------------------------------------------------------

function validarDV(e) 
{
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron =/[0-9kK]/;
    //patron = /\w/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}

// -------------------------------------------------------------------------------------------

function FjsFormato_miles(texto)
{
			var invertido = "";
			var i=0, j=0;
			var cnt=0;
			var etexto = new String("");
			var dtexto = new String(texto);
			var largo=0;
			largo = dtexto.length;
			for ( i=largo; i>=0 ; i--)
						if (dtexto.charAt(i) >= "0" && dtexto.charAt(i) <= "9")
								etexto = etexto + dtexto.charAt(i);
			largo = etexto.length;
			dtexto = "";

			for ( i=0; i <= largo; i++ )
			{
			if ( cnt == 3 )
			{
				if (i!= largo)
							dtexto = dtexto + '.';
				dtexto = dtexto + etexto.charAt(i,1);
				cnt = 1;
			}
			else
			{ 
				dtexto = dtexto + etexto.charAt(i,1);
				cnt++;
			}
			}
						largo = dtexto.length;
						etexto="";
						for ( i=largo+1; i>=0 ; i--)
						etexto = etexto + dtexto.charAt(i,1);
			return (etexto);
}

// --------------------------------------------------------------------------------------------------

function calculaDV(obj_rut)
{
	rut=obj_rut.value;
	largo = rut.length;
	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 + ""
	}
    return dvr;
}


/*----------------------------------------------------------------------------------------*/

function checkAll(field)
{
for (i = 0; i < field.length; i++)
	{
		if (field[i].disabled==false)
		{
		field[i].checked = true ;
		}
	}
}

/*----------------------------------------------------------------------------------------*/

function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
	field[i].checked = false ;
}

/*----------------------------------------------------------------------------------------*/

function cambia_check(strForm, strTabla, strField,strChkObj, strRowCount)
{
	if (eval('document.'+ strForm +'.' + strRowCount + '.value == 0') )
	{
		return false;
	}
	if (eval('document.'+ strForm +'.' + strRowCount + '.value') == 1)
	{
		if (eval('document.'+ strForm +'.' + strField + '.checked')==true)
		{
			eval('document.'+ strForm +'.' + strField + '.checked=false');
		}
		else
		{
			eval('document.'+ strForm +'.' + strField + '.checked=true');
		}
	}
	else
	{
		var TABLE = document.getElementById(strTabla);
		if (TABLE.rows.length == 1)
			{
			alert("No existen datos para seleccionar")
			//eval(document.frmFormulario.chkSeleccionAll.checked)=false;
			eval('document.'+ strForm +'.' + strChkObj + '.checked')=false;
			return false;
			}
		else
			{
			if (eval('document.'+ strForm +'.' + strChkObj + '.checked')==true)
				{
					//checkAll(document.frmFormulario.chkElige)
					checkAll(eval('document.'+ strForm +'.'+ strField))
				}
			else
				{
					//uncheckAll(document.frmFormulario.chkElige)
					uncheckAll(eval('document.'+ strForm +'.'+ strField))
				}		
			}
	}
}

/*----------------------------------------------------------------------------------------*/
function ImpideDigitar(e) 
{
	tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron =/[-A-Za-z0-9Ññ.,_/\s]/;
    //patron =/[A-Za-z0-9Ññ@.,:_/$\s]/;
    //patron = /\w/;
    te = String.fromCharCode(tecla);
    //return patron.test(te);
	return false;
}

function AbreVentana(pagina,nombre,alto,ancho,modificable,scroll) {
	contr_pagina=window.open(pagina, nombre, "toolbar=0,status=0,menubar=0,scrollbars="+scroll+",resizable="+modificable+",location=0,top=0,left=0,directories=0,width="+ancho+",height="+alto)
	contr_pagina.focus();
	}	

function cerrarPopup(pid) 
{ 
document.getElementById(pid).style.visibility = 'hidden'; 
} 