var message="SAT - Derechos Reservados © 2004";
function click(e) {
if (document.all) {
if (event.button==2||event.button==3) {
alert(message);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
window.defaultStatus='Sistema de Pagos Virtuales - SAT';

function cTrim(cad, car){
	var i;
	var cad2="";
	for(i=0;i<cad.length;i++)
		if(cad.charAt(i)!=car)
			cad2 += cad.charAt(i);
	return cad2;
}

function EsNumero(cad) 
{
	cad= cTrim(cad," ");
	var bIsNum= (cad.length > 0);
	var i;
	for (i=0; i<cad.length && bIsNum; i++) 
		bIsNum= bIsNum && IsNumeric(cad.charAt(i));
	return bIsNum;
}

function EsCadAlfaNoVacia(cad) 
{
	cad= cTrim(cad," ");
	var bIsAlf= (cad.length > 0);
	var i;
	for (i=0; i<cad.length && bIsAlf; i++) 
		bIsAlf= bIsAlf && IsSpLetter(cad.charAt(i));
	return bIsAlf;
}

function EsCadAlfaNumeric(cad) 
{
	cad= cTrim(cad," ");
	var bIsAlfNum= (cad.length > 0);
	var i;
	for (i=0; i<cad.length && bIsAlfNum; i++) 
		bIsAlfNum= bIsAlfNum && EsChAlfaNum(cad.charAt(i));
	return bIsAlfNum;
}

function EsCadAlfaNumericConGuion(cad) 
{
	cad= cTrim(cad," ");
	var bIsAlfNum= true;
	var i;
	for (i=0; i<cad.length && bIsAlfNum; i++) 
		bIsAlfNum= bIsAlfNum && (EsChAlfaNum(cad.charAt(i)) ||
								 cad.charAt(i) == '-');
	return bIsAlfNum;
}

function EsChAlfaNum(ch){
	return IsNumeric(ch) ||  IsSpLetter(ch);
}

function IsNumeric(ch){
	return  (ch>="0" && ch<="9");
}

function IsSpLetter(ch){
	return ( ( ('A'<=ch) && (ch<='Z') ) || ( ('a'<=ch) && (ch<='z') )
			 || (ch=='á') || (ch=='Á') 
			 || (ch=='é') || (ch=='É') 
			 || (ch=='í') || (ch=='Í') 
			 || (ch=='ó') || (ch=='Ó') 
			 || (ch=='ú') || (ch=='Ú')
			 || (ch=='ü') || (ch=='Ü') 
			 || (ch=='ñ') || (ch=='Ñ') );
}

function EsFloat(cad) {
	var ExPunto=false;
	var ExComa=false;
	var ContDec=0;	//Contador de digitos Despues del punto
	var ContDigD=0;	//Contador de digitos Despues de la coma
	var ContDigA=0;	//Contador de digitos Antes de la coma o el punto
	var letra="";
	var i=1;
	var pos ; // Posicion Punto	
	cad=cTrim(cad," ");		//elimina " "
	pos = cad.indexOf(".");	
	if (pos != -1 && pos != 0)
		 cad =  cad.substring(0,pos + 3);
	if (cad.charAt(0)=="+")
		cad=cad.substring(1,cad.length);	//elimina "+"
	for (i=0; i<cad.length; i++) {
		letra=cad.charAt(i);
		if (letra=="."){
			if (!ExPunto && ((ExComa && ContDigD==3)||(!ExComa && ContDigA>0)) )
				ExPunto=true;
			else 
				return false;
			}
		else if (letra==","){
			if (!ExPunto && !ExComa && ContDigA>0)
				ExComa=true;
			else 
				return false;
			}
		else if (letra >= "0" && letra <= "9"){
			if (ExPunto && (ContDec++>=2))		//Sólo dos decimales
				//continue;
				return false;
			else if (ExComa && !ExPunto && (ContDigD++>=3))	//Sólo tres digitos despues de coma
				return false;
			else if(!ExComa && !ExPunto)
				ContDigA++;
			}
		else
			return false;
	   }

	if (ExComa && ContDigD<3) return false;
	//elimina ceros al inicio
	while((cad.charAt(0)=="0") && (cad.charAt(1)!=".") && (cad.length>1))
		cad=cad.substring(1,cad.length);
	return true;
}


function Poner_Decimales(MontoEnviar){
/*
	Coloca el punto decimal y los dos ceros en caso que
	el cliente no los haya puesto
*/
 var pos
 var numdec
 var tamano
 var tamdec
	// Quitamos los espacios en blanco
	MontoEnviar=cTrim(MontoEnviar," "); 
 	tamano = MontoEnviar.length;
	pos = MontoEnviar.indexOf(".");
	switch (pos){
		case 0  : 
			 // No hay parte entera pero si hay  
			 // un punto, le coloco "00"
			    MontoEnviar = "00" + MontoEnviar;
			break;
		case -1 :
			 // No hay parte decimal ni punto pero
			 // si entera. Le coloco ".00"
			      MontoEnviar = MontoEnviar + ".00";
			 break;
		default :
             // Solo ha ingresado un dígito decimal.
			 // Le completo el segundo con "0".                         
			 if (MontoEnviar.length-pos-2 == 0)
			 	MontoEnviar = MontoEnviar + "0";
			 else 
			 // No ha ingresado parte decimal pero si el 
			 // punto. Le agrego "00"
				if (MontoEnviar.length-pos == 1)
				  MontoEnviar = MontoEnviar + "00";				
				else
				  MontoEnviar =  MontoEnviar.substring(0,pos + 3);
			break;
	}
	return MontoEnviar;
}

function EsRuc(valor){
  valor = cTrim(valor, " ")
  if ( EsNumero( valor ) ) {
    if ( valor.length == 8 ){
      suma = 0
      for (i=0; i<valor.length-1;i++){
        digito = valor.charAt(i) - '0';
        if ( i==0 ) suma += (digito*2)
        else suma += (digito*(valor.length-i))
      }
      resto = suma % 11;
      if ( resto == 1) resto = 11;
      if ( resto + ( valor.charAt( valor.length-1 ) - '0' ) == 11 ){
        return true
      }
    } else if ( valor.length == 11 ){
      suma = 0
      x = 6
      for (i=0; i<valor.length-1;i++){
        if ( i == 4 ) x = 8
        digito = valor.charAt(i) - '0';
        x--
        if ( i==0 ) suma += (digito*x)
        else suma += (digito*x)
      }
      resto = suma % 11;
      resto = 11 - resto
      if ( resto >= 10) resto = resto - 10;
      if ( resto == valor.charAt( valor.length-1 ) - '0' ){
        return true
      }      
    }
  }
  return false
}

function EsEmail(emailStr){
  var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/
  if (b.test(emailStr)){
    return true;
  }
  else{
    return false;
  }
}

function imagen_onmouseover(objeto)
{
  eval("img"+ objeto + ".src = 'images/' + objeto + 'on.gif'");
}

function imagen_onmouseout(objeto)
{
  eval("img"+ objeto + ".src = 'images/' + objeto + 'off.gif'");    
}