

var time_reaload=null;
var ventana=null;
var ventana_url=null;
function check_window_reload(idpopup,url){

if (time_reaload==null){ventana=idpopup;ventana_url=url;time_reaload=setTimeout("check_window_reload(ventana,ventana_url)",600);}

if(ventana.closed){
	clearTimeout(time_reaload);
	window.location=ventana_url;
}else{
	setTimeout("check_window_reload(ventana,ventana_url)",600);
}

 


}



function gestion_panel(url)

{

newwindow=window.open(url,'Admin','toolbar=0,location=0,directories=0,fullscreen=1,status=0,menubar=0,scrollbars=1,resizable=0');
if(newwindow==null){alert(MSG_JS_POPUP_ALERT);}
if (window.focus) {newwindow.focus()}
	


}


			   


function recordar()

{

newwindow=window.open('recordar.asp','Info','width=650, height=420, scrollbars=no');
if(newwindow==null){alert(MSG_JS_POPUP_ALERT);}
if (window.focus) {newwindow.focus()}


}


function pack(info)

{

newwindow=window.open('ver_pack.asp?id='+info,'Info','width=600, height=500, scrollbars=yes');
if(newwindow==null){alert(MSG_JS_POPUP_ALERT);}
if (window.focus) {newwindow.focus()}


}


function open_wizard(url,fac,max)

{

newwindow=window.open(url +'?max='+max+'&id='+fac,'wizard','width=610, height=550, left=' + (-300+(screen.width/2)) +' top=0, scrollbars=no');

if(newwindow==null){alert(MSG_JS_POPUP_ALERT);}
if (window.focus) {newwindow.focus()}
	return newwindow;

}



function contrato()

{

newwindow=window.open('contrato.asp?idioma='+GetCookie("pais"),'Contrato','width=685, height=480, scrollbars=yes');
if(newwindow==null){alert(MSG_JS_POPUP_ALERT);}
if (window.focus) {newwindow.focus()}
	
}



function info(dominio,servicio)

{

newwindow=window.open('ver_datos.asp?dominio='+dominio+'&servicio='+servicio,'Info','width=675, height=480, scrollbars=yes');
if(newwindow==null){alert(MSG_JS_POPUP_ALERT);}
if (window.focus) {newwindow.focus()}
	

}



function f_CC(cedula){



var cedula_arreglo = new Array(); 

//var cedula = prompt("Ingreso Cedula","1802588002"); 


for( i=9; i >= 0; i-- ) { 

cedula_arreglo[i]= parseInt(cedula % 10); 
cedula = parseInt(cedula /10);

 } 

num = cedula_arreglo.length; 

if ( num == 10 ) { total = 0;

verificador = parseInt(cedula_arreglo[9]);

for( i=0; i < (num-1); i++ )

{ mult = 0;

if ( ( i%2 ) != 0 )

{ total = total + parseInt(cedula_arreglo[i]);
} else {
 mult = parseInt(cedula_arreglo[i] * 2);

if ( mult > 9 ) 
total = total + ( mult - 9 ); 
else 
total = total + mult; 
} 

} 

decena = (parseInt(total/10)+1) * 10; 
final = parseInt(decena - total); 

if ( ( final == 10 && verificador == 0 ) || ( final == verificador ) ) 
 return true;
 else
 return false;
} else {
 return false;
}

}



function f_RUC(valor){
valor = strtrim(valor)
if (esDigito( valor ) ) {
if ( valor.length == 8 ){
suma = 0
for (i=0; i<valor.length-1;i++){

digito = valor.charAt(i) - '0'; // aqui lo que no entiendo es - '0' no se que es, supongo que elimina los ceros, parece una resta pero como se va a restar si el chaart solo te devuelve un digito?


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 f_NIT(nitstr) { 

	if(nitstr.length>11){return false;}
	if(!esDigito(nitstr)){return false;}


	nitstr=nitstr.replace('-','');
	code=nitstr.substring(0,nitstr.length-1);
	val=nitstr.replace(code,'');


	ceros = "000000"; 
	li_peso= new Array(); 
	li_peso[0] = 71; 
	li_peso[1] = 67; 
	li_peso[2] = 59; 
	li_peso[3] = 53; 
	li_peso[4] = 47; 
	li_peso[5] = 43; 
	li_peso[6] = 41; 
	li_peso[7] = 37; 
	li_peso[8] = 29; 
	li_peso[9] = 23; 
	li_peso[10] = 19; 
	li_peso[11] = 17; 
	li_peso[12] = 13; 
	li_peso[13] = 7; 
	li_peso[14] = 3; 
	
	ls_str_nit = ceros + code; 
	li_suma = 0; 
	for(i = 0; i < 15; i++){ 
				li_suma += ls_str_nit.substring(i,i+1) * li_peso[i]; 
	} 
	digito_chequeo = li_suma%11; 
	if (digito_chequeo >= 2) 
		digito_chequeo = 11 - digito_chequeo; 
	if(val != digito_chequeo){ 
		return false; 
	} 
	else 
		return true; 
}


function f_CURP(curp){
    var exp = /^[A-Z]{4}\d{2}(1|0)\d(0|1|2|3)\d(H|M)[A-Z]{5}\d{2}$/;
    return exp.test(curp);
};


function validarFecha(dia, mes, anyo) {
    if (!anyo) return false;
    if (anyo<1850) return false;
    if (!mes) return false;
    if (!dia) return false;
    var test = new Date(anyo, mes, dia);
    if ( (test.getFullYear() != anyo) || (mes != test.getMonth()) || (dia != test.getDate()) ) return false;
    return true;
}

function ValidacionFecha(fecha, sep) {
    var numeros = "0123456789";
    var pos1 = fecha.indexOf(sep);
    var pos2 = fecha.indexOf(sep, pos1+1);
    var dia, mes, ano;
    var i;

    if ((pos1 == -1)||(pos2 == -1)) {
        return false;
    }
    dia = fecha.substring(0, pos1);
    mes = fecha.substring(pos1+1, pos2);
    ano = fecha.substring(pos2+1, fecha.length);

    if ((dia.length < 1)||(dia.length > 2)) {
        return false;
    }
    for(i=0;i<dia.length;i++) {
        if (numeros.indexOf(dia.charAt(i)) == -1) {
            return false;
        }
    }

    if (dia < 1) {
        return false;
    }

    if ((mes.length < 1)||(mes.length > 2)) {
        return false;
    }
    for(i=0;i<mes.length;i++) {
        if (numeros.indexOf(mes.charAt(i)) == -1) {
            return false;
        }
    }

    if (ano.length != 4) {
        return false;
    }
    for(i=0;i<ano.length;i++) {
        if (numeros.indexOf(ano.charAt(i)) == -1) {
            return false;
        }
    }

    if (parseInt(ano,10) < 1880) {
        return "";
    }

    if (validarFecha(parseInt(dia,10), parseInt(mes,10), parseInt(ano,10))) {
        if (dia.length == 1) dia = "0" + dia;
        if (mes.length == 1) mes = "0" + mes;
        return true;
    }
}


function isMAIL(s){

   	reMail = /^[a-zA-Z0-9]+[&\.a-zA-Z0-9_-]*@[a-zA-Z0-9_-]+[\.a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]{2,}$/;

	s=strtrim(s);



	if ((s.length)==0){

	   	return false;

	}else{

		return reMail.test(s);

	}

}



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 isDomain(s){


	var exteni=s.indexOf('.', 0);
	var exten=s.substring(exteni+1);


	if(exten=="es"){
	   	reDom = /^[a-zA-Z0-9-ñÑ]+\.[a-zA-Z0-9-]{2,}$/;
	}else{
	   	reDom = /^[a-zA-Z0-9-]+(\.[a-zA-Z0-9]{2,}){1,3}$/;
	}

	s=strtrim(s);

	if ((s.length)==0){

	   	return false;

	}else{

		return reDom.test(s);

	}

}


function TestForm(form) {


if ( !TestWhois(form.domain.value+'.'+form.ext.value) ) return false;

 return true; 

}



function TestWhois(forminput,ext) {


var valor=isDomain(forminput);

var str = forminput;
var salir=false;


var exteni=str.indexOf('.', 0);
var exten=str.substring(exteni+1);


if(typeof(ext)=="undefined" || ext==false)
	str = str.substring(0,exteni);


if(exten!="es" && (str.indexOf('Ã±', 0) != -1)  ){
	valor=false;
}


if ( str == "" || (str.indexOf('xn--', 0) != -1) ) {

 alert("\nEl nombre de dominio esta en blanco o no es valido.\n\n");

   return false; }



if ( str.indexOf('www.', 0) != -1) {

 alert("\nNo pongas www.\n\n");



  return false; }





if(typeof(ext)=="undefined" || ext==false){ 



if ( str.indexOf('.', 0) != -1) {

 alert("\nNo pongas el tipo de dominio o extension .\n\n");

    return false; }


if (!valor){
	alert("\nRevise el dominio, contiene caracteres no validos\n\n");
	return false;
}


 }else{ 



if ( str.indexOf('.', 0) ==-1) {

 alert("\nFalta la extension del dominio.\nEjem: .COM , .NET\n\n");

    return false; }


if (!valor){
alert("\nRevise el dominio, contiene caracteres no validos\n\n");

    return false;
}


}//else fin











return true;





    }










function imgchange(objeto,imgstr){

objeto.src=imgstr;



}



function char_novalida(str){





 var resul=true;



for ( var i = 0; i < str.length; i++ ) {

 var ch = str.substring(i, i + 1);

  if (((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch) && (ch < "0" || "9" < ch)) && ch != '-') {

	 resul=false;

   } 

}



return resul;

}





function val_empty(str){

var resul=true;



	if(str.length==0){

		resul=false;

	}else{

		if ( str.indexOf(' ', 0) != -1) {

			resul=false;

		}

	}

	

return resul;

}





function strtrim(inputString) 

{





	var returnString = inputString;

	var removeChar=' ';

	if (removeChar.length)

	{

	  while(''+returnString.charAt(0)==removeChar)

		{

		  returnString=returnString.substring(1,returnString.length);

		}

		while(''+returnString.charAt(returnString.length-1)==removeChar)

	  {

	    returnString=returnString.substring(0,returnString.length-1);

	  }

	}



	return returnString;

}

function valinput(objeto,tipo,maxlen){

// tipo = int , float , char , charall

	var i;
	var resul=true;

	if (objeto.length>maxlen)
		resul=false;

if(resul){

	if (tipo==0 || tipo=='0' || tipo=="int"){

		for ( var i = 0; i < objeto.length; i++ ) {
		var ch = objeto.substring(i, i + 1);

		if (ch < "0" || "9" < ch)
			resul=false;


		}

	}else{

		if (tipo==1 || tipo=='1' || tipo=="float"){

		for ( var i = 0; i < objeto.length; i++ ) {
		var ch = objeto.substring(i, i + 1);

		if ((ch < "0" || "9" < ch) && ch != '.' && ch != ',' )
			resul=false;


		}

		}else{

			if (tipo==2 || tipo=='2' || tipo=="char"){

				for ( var i = 0; i < objeto.length; i++ ) {
				var ch = objeto.substring(i, i + 1);
	
				if ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch))
				resul=false;
	

				}



			}else{

				//charall ,  no hacer nada , todos los caracteres

			}// char
		}//float
	}//int

}//resul

return resul;




}








function Ltrim(strstring){
    //---- Elimina los espacios terminales por la izquierda. ---------------
    while ((strstring!='')&&(strstring.substring(0,1)==' ')) {
        //Extraigo desde el caracter en posi=1 hasta el último, de pos=.length-1
        idxultimocar=(strstring.length-1);
        strstring=strstring.substring(1,idxultimocar+1)
    }
    return strstring;
  }


  function Rtrim(strcadena){
    //---- Elimina los espacios terminales por la derecha. ---------------
    if (strcadena!=''){
      idxultimocar=(strcadena.length-1);
      while ((strcadena!='')&&(strcadena.substring(idxultimocar,idxultimocar+1))==' '){
        //Extraigo desde el caracter en posi=1 hasta el último, de pos=.length-1
        strcadena=strcadena.substring(0,idxultimocar)
        idxultimocar=(strcadena.length-1);
      }
    }
    return strcadena;
  }

  function Trim(strcadena){
    strcadena=Rtrim(strcadena);
    strcadena=Ltrim(strcadena);
    return strcadena;
  }





function cardval(s) {


	// remove non-numerics
	var v = "0123456789";
	var w = "";

	for (i=0; i < s.length; i++) {
		x = s.charAt(i);
		if (v.indexOf(x,0) != -1)
			w += x;
	}

// validate number
	j = w.length / 2;

	if (j < 6.5 || j > 8 || j == 7) return false;

	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;

	for (i=0; i<k; i++) {
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}

	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;

	return (c%10 == 0);

}









function esDigito(cadenaEntrada)
{
	cadenaEntrada=strtrim(cadenaEntrada);
	if (val_empty(cadenaEntrada)){
		for (i=0;i<cadenaEntrada.length;i++)
		{

			if  ( isNaN(parseInt(cadenaEntrada.substring(i,i+1),10)) ) return (false);	//Netscape
	
			if ((cadenaEntrada.substring(i,i+1))!=(parseInt(cadenaEntrada.substring(i,i+1),10))) return (false);	//Explorer


		}
		return (true);
	}else{
		return false;
	}

}




function validaNif(cadenaNif)
{


	var valoresNif= new Array ("0","1","2","3","4","5","6","7","8","9","K","L","X");
	var valoresCif= new Array ("A","B","C","D","E","F","G","H","N","P","Q","S");
	var controlNif = new Array ("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
	var controlCifLetras = new Array ("A","B","C","D","E","F","G","H","I","J");



	while (cadenaNif.length<9) cadenaNif = "0" + cadenaNif;

	caracterControl=cadenaNif.substring(8,9).toUpperCase();


	//TIPO DE NIF
	primerCaracter=cadenaNif.substring(0,1).toUpperCase();

	var tipo="-";

	for (i=0;i<valoresNif.length;i++) { if (valoresNif[i]==primerCaracter) tipo="NIF";  }



	if (tipo=="-"){
		for (i=0;i<valoresCif.length;i++) {  if (valoresCif[i]==primerCaracter) tipo="CIF";  }
	}




	if (tipo=="-") return (5);		//El primer caracter del nif no es válido.

	if (tipo=="NIF") {

		if (primerCaracter=="X"){
			numero=cadenaNif.substring(1,8);
		} else {
			numero=cadenaNif.substring(0,8);
		}

		if (!esDigito(numero)) return 3;   //Parte numérica del Nif no válida

		caracterControlCalculado=controlNif [((parseFloat(numero)%23))];   //El algoritmo dice que al resto hay que sumarle 1, eso lo hacemos al indexar el array ya que los indices empiezan en 0



		if (caracterControl != caracterControlCalculado) return 4;   //Carácter Control incorrecto

	}else if (tipo=="CIF"){

		if (primerCaracter=="N") {
			numero=cadenaNif.substring(4,8);
		}else {
			numero=cadenaNif.substring(1,8);
		}



		if (!esDigito(numero)) return 3;   //Parte numérica del Cif no válida

		caracterControlCalculado = 10 - ( (
							 Math.floor( 0.2*parseInt(cadenaNif.substring(1,2),10) ) +
							 ( 2*parseInt(cadenaNif.substring(1,2),10) %10) +
							  Math.floor( 0.2*parseInt(cadenaNif.substring(3,4),10) ) +
							 ( 2*parseInt(cadenaNif.substring(3,4),10) %10) +
							  Math.floor( 0.2*parseInt(cadenaNif.substring(5,6),10) ) +
							 ( 2*parseInt(cadenaNif.substring(5,6),10) %10) +
							  Math.floor( 0.2*parseInt(cadenaNif.substring(7,8),10) ) +
							 ( 2*parseInt(cadenaNif.substring(7,8),10) %10) +
							 parseInt(cadenaNif.substring(2,3),10) +
							 parseInt(cadenaNif.substring(4,5),10) +
							 parseInt(cadenaNif.substring(6,7),10)
							 )% 10);



		if ((primerCaracter=="N") ||(primerCaracter=="P") || (primerCaracter=="Q") || (primerCaracter=="S") ) {
			caracterControlCalculado = controlCifLetras[caracterControlCalculado-1];
		}


		if (caracterControlCalculado==10) caracterControlCalculado=0;
		if (caracterControl != caracterControlCalculado) return 4;   //Carácter Control incorrecto
	}
	return 0;  //todo bien.
}






/////////////// COOKIE /////////////////


function SetCookie (name, value,ndias) {  

var exp = new Date(); 
exp.setTime(exp.getTime() + (ndias*24*60*60*1000));

var expires = exp;  
var path = null;  
var domain = null;  
var secure = true;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString()));
}


function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg)      
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}

//////////////////////////////

