/*Versión: 0.0 Autor: Alberto Fernández Lobato Fecha: 28/10/2002 Motivo: Centralizar codigo js disperso por los distintos jsp */ 
function NewVentanaCon(camino){  NewWindow0 = window.open(camino);  }
function buscar(){ if(document.myform.TxtBuscar.value=="") alert("Para buscar debe rellenar la caja de texto");else  chekear(document.myform.TxtBuscar.value.toUpperCase());  }
function NewVentanaSin(camino){	newWindow1 = window.open(camino, "Ventana","status,scrollbars=yes,width=790,height=525,top=0,left=0");}
function VPqSin(camino){ newWindow2 = window.open(camino, "Ventana", "scrollbars=yes,width=525,height=250,top=0,left=100");}
function AbrirV(camino){ newWindow1 = window.open(camino, "Ventana","scrollbars=yes, status=yes, width=670,height=525,top=0,left=250"); }
function VentanaPq(camino){ newWindow2 = window.open(camino, "Ventana", "scrollbars=yes,width=525,height=250,top=0,left=100"); }	
//function SolicBanca(){ if(Nombre=="desopenm.banesto.es"){ AbrirV("https://www1.banesto.es/banesto/particulares2000/castella/registro.htm");}	 else{ if((Nombre=="staging.banesto.es")||(Nombre=="impom.banesto.es")){ AbrirV("https://impwww.banesto.es/banesto/particulares2000/castella/registro.htm"); }	 else{AbrirV("https://www.banesto.es/banesto/particulares2000/castella/registro.htm"); } } }	
function SolicDemo(){if(Nombre=="desopenm.banesto.es"){AbrirV("https://desextranet.banesto.es/banesto/particulares2000/demo/index.htm?tipocod=D&NUMERO=111111&numerocod=&usuario=C%F3digoUsuario&passwd=77777777");}	else{if((Nombre=="staging.banesto.es")||(Nombre=="impom.banesto.es")){AbrirV("https://impextranet.banesto.es/banesto/particulares2000/demo/index.htm?tipocod=D&NUMERO=111111&numerocod=&usuario=C%F3digoUsuario&passwd=77777777");}else{AbrirV("https://extranet.banesto.es/banesto/particulares2000/demo/index.htm?tipocod=D&NUMERO=111111&numerocod=&usuario=C%F3digoUsuario&passwd=77777777");}}}
function chekear(texto){ var numeros = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";for(var i=0;i<texto.length;i++){var chr=texto.charAt(i);var encontrar =false;for(var j=0;j<numeros.length;j++){if(chr==numeros.charAt(j)){ encontrar=true; break; } } } if(!encontrar){ alert("Debe rellenar el campo con caracteres validos") } else { document.myform.submit() }}



function completa_NIF(valor,tamano,caracter,lugar)
{
   var retorno="";
   var lonv=valor.length;
   
if(lonv<tamano)
   {
   for(var i=0;i<tamano-lonv;i++)
      retorno+=caracter;
   }

if(lugar=="izq")
   {
   retorno+=valor.toUpperCase();
   return(retorno);
   }
else
   {
      	var retornoder=valor.toUpperCase();
   		retornoder+=retorno;
   		return(retornoder);
   }
} //fin completa_NIF


function validar_cadena(micadena,longminima,longmaxima)
{
        if (micadena.length<longminima || micadena.length>longmaxima)
        {
                return -1;
        }
	return 0;
	
}//fin validar_cadena


function Nif_Val(cadena)
{
    var nif = "", ultimoCaracter = "", parteNumerica = "";
	var cCtrl = 0, longitud = 0, i = 0;
    Tab = new Array ('A','T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E');
	nifTab = new Array (cadena.length);


	for (i=0;i<cadena.length;i++)
	 {
		nifTab[i] = cadena.charAt(i);	
	}
        longitud = cadena.length;


        if ( (longitud == 0) || (longitud > 9) )
                return (1);

        if ( longitud < 9 )     {
                for ( i=0; i < 9-longitud; i++ ) {
			nif = nif + "0";
                }
                nif = nif + cadena;
        }
        else
                nif = cadena;


        for (i = 0; i < (cadena.length)-1; i++) {
                parteNumerica = parteNumerica + nifTab [i];
        }
	if ( isNaN(parteNumerica) ) {
		return (1);
	}


	cCtrl = Tab[(parteNumerica%23)+1];
	ultimoCaracter = nifTab [(cadena.length)-1];
	ultimoCaracter = ultimoCaracter.toUpperCase();
	if (cCtrl == ultimoCaracter)
		return (0);
	else
		return (1);
} //fin Nif_Val


function mayusculas_minusculas_numeros_especiales(micadena)
{

	for ( i=0;i<micadena.length;i++)
        {
        	if ( !(micadena.substring(i,i+1)>='A'
                        && micadena.substring(i,i+1)<='Z')
			&& !(micadena.substring(i,i+1)>='a'
                        && micadena.substring(i,i+1)<='z')
                        && !(micadena.substring(i,i+1)>='0'
                        && micadena.substring(i,i+1)<='9')
			&& !(especial_valido(micadena.substring(i,i+1)))
			&& micadena.substring(i,i+1)!='Ñ'
			&& micadena.substring(i,i+1)!='ñ')
                                		return 0;
	}
	return 1;
} //fin mayusculas_minusculas_numeros_especiales


function especial_valido(caracter)
{

	var validos = "':;/?()\"-_&+%*=<>"

	for (cont=0;cont<validos.length;cont++)
		if (caracter==validos.substring(cont,cont+1) )
			return (true)	

	return (false)
} //fin especial_valido


function CadenaNumerica_Var(cadena)
{
        var i, long_cad=cadena.length;
        for ( i=0; i < parseInt(long_cad,10); i++ ) {
                if ( (cadena.substring(i,i+1) < "0") || (cadena.substring(i,i+1) > "9") ) {
                        return (1);
                }
        }
	return (0);
	
} //fin CadenaNumerica_Var


function mayusculas_numeros(micadena)
{

	for ( i=0;i<micadena.length;i++)
        {
        	if ( !(micadena.substring(i,i+1)>='A'
                        && micadena.substring(i,i+1)<='Z')
                        && !(micadena.substring(i,i+1)>='0'
                        && micadena.substring(i,i+1)<='9')
			&& micadena.substring(i,i+1)!='Ñ')
                                		return 0;
	}
	return 1;
} // fin mayusculas_numeros



function Vacio(vieneIzquierda)
{ 

	var f 	= document.Entrada;
	var f2 	= document.ExtranetParticulares; 	
	
if(f.opnumerocod.value=="")
{
	alert("Debe introducir el número del documento");
	f.opnumerocod.focus();
	return;
}
else
{
	var num	= f.opnumerocod.value;
	combo	= f.tipocod[f.tipocod.selectedIndex].value;
	
	
	if(combo=='N'||combo=='D'||combo=='C'||combo=='S')
	{
		num = completa_NIF(num,9,"0","izq");
	}
	else if(combo=="P" || combo=="I")
	{ 
		num = completa_NIF(num ,9," ","der");
	}
	
	if(combo == "N" && Nif_Val(f.opnumerocod.value)!=0)
	{
		alert("NIF incorrecto");
		return;
	}
	else if(combo=="D" && CadenaNumerica_Var(f.opnumerocod.value)!=0)
	{
		alert("DNI incorrecto");
		return;
	}

	num=num.toString();
	num=num.toUpperCase();
	f.numerocod.value=num;
}
if(f.opusuario.value=="")
{
	alert("Debe introducir usuario");
	f.opusuario.focus();
	return;
}
	resultado	= validar_cadena(f.opusuario.value,6,13);
	resultado2	= mayusculas_minusculas_numeros_especiales(f.opusuario.value);

if ((resultado!=0) || (resultado2!=1) )
{
        alert("El código de usuario debe tener entre 6 y 13 caracteres, números y/o letras sin acentuar");
        return;
}


    resultado = validar_cadena(f.oppasswd.value,5,8);
	resultado2 = mayusculas_numeros(f.oppasswd.value);

if ( (resultado!=0) || (resultado2!=1) )
{
        alert("La clave debe tener entre 5 y 8 caracteres, números y/o letras MAYÚSCULAS");
        return;
}

/*
si la variable vieneIzquierda es cero, entonces es que esta funcion es llamada por la parte izquierda, y no por la parte de acceso
por lo que si es cero se tiene que abrir una nueva ventana, al contrario que si es por acceso, ya que
se abriria en la misma ventana ya que esta ya tiene las dimensiones correctas
*/
if(vieneIzquierda==0)
{
	Extranetventana = window.open("","Extranetventana","status,scrollbars,resizable=yes,width=790,height=525, screenX=0, screenY=0");
}


		f2.action = f.action;
		f2.elements["DatosCliente.DOCUMENTO_E.TipoDocumento"].value = combo;
		f2.elements["DatosCliente.SXUSUI_E"].value 					= f.opusuario.value;
		f2.SXPASWI_A.value 											= f.oppasswd.value;
		f2.elements["DatosCliente.DOCUMENTO_E.Documento"].value 	= f.numerocod.value;		

		f2.submit();		
		f.opusuario.value="";
		f.oppasswd.value="";
		f.opnumerocod.value="";
	}


