function controlTotal4(combo,campo,letra,etiquetaletra)
{
	
	var ccombo=document.getElementById(combo);
	var ccampo1=document.getElementById(campo);
	var ccampo2=document.getElementById(letra);
	var etiqueta=document.getElementById(etiquetaletra);
	ccampo1.value="";
	ccampo2.value="";
	
	
	if (ccombo.value==0)//nif
	{
		ccampo1.onblur=function() {validaNif2(campo,letra)};
		ccampo2.onblur=function() {validaNif2(campo,letra)};
		etiqueta.innerText=textos("Letra*");
	}
	else if (ccombo.value==1)//pasaporte
	{
		ccampo1.onblur=function() {validaPasaporte2(campo,letra)};
		ccampo2.onblur=function()  {validaPasaporte2(campo,letra)};
		etiqueta.innerText=textos("Último caracter*");
		return;//no valido nada
	}
	else if (ccombo.value==2)//cif
	{
		ccampo1.onblur=function() {validaCif2(campo,letra)};
		ccampo2.onblur=function() {validaCif2(campo,letra)};
		etiqueta.innerText=textos("Último caracter*");
	}
	else if (ccombo.value==3)//nie
	{
		ccampo1.onblur=function() {validaNie2(campo,letra)};
		ccampo2.onblur=function() {validaNie2(campo,letra)};
		etiqueta.innerText=textos("Último caracter*");
	}
	else
	{
		etiqueta.innerText=textos("Letra*");
		ccampo1.onblur="";
		ccampo2.onblur="";
		return;
	}
	


}



//funcion controlTotal
function controlTotal(combo,campo,letra)
{
	var ccombo=document.getElementById(combo);
	var ccampo1=document.getElementById(campo);
	var ccampo2=document.getElementById(letra);
	ccampo1.value="";
	ccampo2.value="";
	
	
	if (ccombo.value==0)//nif
	{
		ccampo1.onblur=function() {validaNif2(campo,letra)};
		ccampo2.onblur=function() {validaNif2(campo,letra)};
	}
	else if (ccombo.value==1)//pasaporte
	{
		ccampo1.onblur=function() {validaPasaporte2(campo,letra)};
		ccampo2.onblur=function()  {validaPasaporte2(campo,letra)};
		return;//no valido nada
	}
	else if (ccombo.value==2)//cif
	{
		ccampo1.onblur=function() {validaCif2(campo,letra)};
		ccampo2.onblur=function() {validaCif2(campo,letra)};
	}
	else if (ccombo.value==3)//nie
	{
		ccampo1.onblur=function() {validaNie2(campo,letra)};
		ccampo2.onblur=function() {validaNie2(campo,letra)};
	}
	else
	{
		return;
	}
	


}

//Funcion volver
function retornar(id)
{
	control=document.getElementById(id);
	document.getElementById(id).value='';	
	//document.getElementById(id).select();		
	//document.getElementById(id).focus();
	return;
	
}


//Funciones auxiliares
function IsNumeric(cadena)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < cadena.length && IsNumber == true; i++) 
      { 
      Char = cadena.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

   
// check to see if input is alphabetic
function isAlphabetic(cadena)
{
if (cadena.match(/^[a-zA-Z]+$/))
{
return true;
}
else
{
return false;
} 
}
   



//Funciones validadoras

function validaNif(control) 
{	
  if (control.value=="")
	return;
  var dni=control.value;  
  var numero = dni.substr(0,dni.length-1);
  var let = dni.substr(dni.length-1,1);
  numero = numero % 23;
  var letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);  
  if (letra!=let)   
  {
    mensaje("dni");
    retornar(control.id);		
  }
}

function validaPasaporte(control) 
{	
  if (control.value=="")
	return;
  var p=control.value;  
  if (p.length<8)
  {
    mensaje("pasaporte");
    retornar(control.id);		
  }
}







function validaCif(control)
{ 
  if (control.value=="")
  {
	return;
  }
        var texto=control.value;
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) 
			{
				mensaje("cif");
				retornar(control.id);		
			}
		 
              
         ultima = texto.substr(8,1); 

         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             {
				mensaje("cif");
				retornar(control.id);		
			 }

    } 

	
function validaNie(control) 
{	
  if (control.value=="")
	return;	

	var a=control;		
	var temp=a.value.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	var posicion=0;
	var letra=" ";
	
	//Residente en España	
	if (a.value.length==9)
	{
		if (temp.substr(0,1)=="X")
		{
			var temp1=temp.substr(1,7);

			posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
			letra = cadenadni.substring(posicion,posicion+1);
			if (!/^[A-Za-z0-9]{9}$/.test(temp))
			{ 
				mensaje("nie");
				retornar(control.id);	
			}
			else
			{ 
				//Tiene los 9 dígitos, comprobamos si la letra esta bien
				var temp1=temp.substr(1,7);
				posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
				letra = cadenadni.charAt(posicion);
				var letranie=temp.charAt(8);
				if (letra != letranie){			
					mensaje("nie");
					retornar(control.id);			
				}				
			}
		}
		else
		{
			mensaje("nie");
			retornar(control.id);			
		}		
	}else if (a.value.length==14){//14 caracteres, los 2 primeros letras
		var temp1=temp.substr(0,2);
		if (isAlphabetic(temp1)!=true)	
			{
			mensaje("nie");
			retornar(control.id);	
			}
	}
	else
	{
			mensaje("nie");
			retornar(control.id);			

	}
	
}





  
	



function validar(ibanco,isucursal,idc,icuenta) 
  {  
	var banco=(document.getElementById(ibanco).value);
	var sucursal=(document.getElementById(isucursal).value);
	var dc=(document.getElementById(idc).value);
	var cuenta=(document.getElementById(icuenta).value);	  
  
		if (banco == ""  || sucursal == "" || dc == "" || cuenta == ""){
		  return;
		}
		else 
		{
			if (banco.length != 4 || sucursal.length != 4 ||
				dc.length != 2 || cuenta.length != 10)
				{
				mensaje("completo");
				retornar(idc);							
			}
			else {
			  if (!numerico(banco) || !numerico(sucursal) ||
				  !numerico(dc) || !numerico(cuenta)){
				mensaje("formato");
				retornar(ibanco);
				retornar(isucursal);					  					  	
				retornar(idc);
				retornar(icuenta);
				  	}				
			  else {
				if (!(obtenerDigito("00" + banco + sucursal) ==
					  parseInt(dc.charAt(0))) || 
					!(obtenerDigito(cuenta) ==
					  parseInt(dc.charAt(1))))
					  {
					mensaje("dc");
					retornar(idc);					  					  	
				  	} 
				else
				  return;
			  }
			}
		}
}

function numerico(valor){
  cad = valor.toString();
  for (var i=0; i<cad.length; i++) {
    var caracter = cad.charAt(i);
	if (caracter<"0" || caracter>"9")
	  return false;
  }
  return true;
}

function obtenerDigito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}


function validaNif2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{		
		var dni=campo1+campo2;  
		var numero = dni.substr(0,dni.length-1);
		var let = dni.substr(dni.length-1,1);
		numero = numero % 23;
		var letra='TRWAGMYFPDXBNJZSQVHLCKET';
		letra=letra.substring(numero,numero+1);  
		if (letra!=let)   
		{
			mensaje("dni");	
			retornar(c2);			
		}
	}
}

function validaPasaporte2(c1,c2) 
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{		
		var p=campo1+campo2;     
		if (p.length<8)
		{
			mensaje("pasaporte");
			retornar(c2);		
		}
	}
}

function validaCif2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{
		//alert("Cif "+campo1+" "+campo2);
		
		var texto=campo1+campo2; 
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) 
			{
				mensaje("cif");
				retornar(c2);		
			}
		 
              
         ultima = texto.substr(8,1); 

         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             {
				mensaje("cif");
				retornar(c2);		
			 }

    } 		
		
		
	
}

function validaNie2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{
		//alert("Nie "+campo1+" "+campo2);		

			var a=campo1+campo2; 		
			var temp=a.toUpperCase();
			var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
			var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
			var posicion=0;
			var letra=" ";

			//Residente en España	
			if (a.length==9)
			{
				if (temp.substr(0,1)=="X")
				{
					var temp1=temp.substr(1,7);

					posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
					letra = cadenadni.substring(posicion,posicion+1);
					if (!/^[A-Za-z0-9]{9}$/.test(temp))
					{ 
						mensaje("nie");
						retornar(c2);	
					}
					else
					{ 
						//Tiene los 9 dígitos, comprobamos si la letra esta bien
						var temp1=temp.substr(1,7);
						posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
						letra = cadenadni.charAt(posicion);
						var letranie=temp.charAt(8);
						if (letra != letranie){			
							mensaje("nie");
							retornar(c2);			
						}				
					}
				}
				else
				{
					mensaje("nie");
					retornar(c2);		
				}		
			}else if (a.length==14){//14 caracteres, los 2 primeros letras
				var temp1=temp.substr(0,2);
				if (isAlphabetic(temp1)!=true)	
					{
					mensaje("nie");
					retornar(c2);	
					}
			}
			else
			{
					mensaje("nie");
					retornar(c2);		

			}

	}
}





function mensaje2(msg,lang)
{
	
	if (lang=="es")
	{
		if(msg=="dni")	
			{
			alert("DNI no valido");
			}
		else if (msg=="cif")
					{
			alert("CIF no valido");
			}
		else if (msg=="nie")
					{
			alert("NIE no valido");
			}	
		else if (msg=="pasaporte")
					{
			alert("Pasaporte no valido");
			}	
		else if (msg=="dc")
					{
			alert("El digito de control no es correcto");
			}						
		else if (msg=="completo")
					{
			alert("Rellene todos los datos de la cuenta");
			}									
		else if (msg=="formato")
					{
			alert("Formato incorrecto");
			}									
		else
			{
			alert("Formato no valido");
			}
	}else if (lang=="cat")
	{
		if(msg=="dni")	
			{
			alert("DNI no valgut");
			}
		else if (msg=="cif")
					{
			alert("CIF no valgut");
			}
		else if (msg=="nie")
					{
			alert("NIE no valgut");
			}	
		else if (msg=="pasaporte")
					{
			alert("Passaport no valgut");
			}	
		else if (msg=="dc")
					{
			alert("El dígit de control no és correcte");
			}						
		else if (msg=="completo")
					{
			alert("Ompli totes les dades del compte");
			}									
		else if (msg=="formato")
					{
			alert("Format incorrecte");
			}									
		else
			{
			alert("Format no valgut");
			}
	}
	
}

function mensaje(msg)
{
	 
	//Euskera 5
	//Gallego 4
	//Catalan 2
	//Castellano 3
	
	if (vallang==3)
	{
		if(msg=="dni")	
			{
			alert("NIF no valido");
			}
		else if (msg=="cif")
					{
			alert("CIF no valido");
			}
		else if (msg=="nie")
					{
			alert("NIE no valido");
			}	
		else if (msg=="pasaporte")
					{
			alert("Pasaporte no valido");
			}	
		else if (msg=="dc")
					{
			alert("El digito de control no es correcto");
			}						
		else if (msg=="completo")
					{
			alert("Rellene todos los datos de la cuenta");
			}									
		else if (msg=="formato")
					{
			alert("Formato incorrecto");
			}									
		else
			{
			alert("Formato no valido");
			}
	}else if (vallang==2)
	{
		if(msg=="dni")	
			{
			alert("NIF no valgut");
			}
		else if (msg=="cif")
					{
			alert("CIF no valgut");
			}
		else if (msg=="nie")
					{
			alert("NIE no valgut");
			}	
		else if (msg=="pasaporte")
					{
			alert("Passaport no valgut");
			}	
		else if (msg=="dc")
					{
			alert("El dígit de control no és correcte");
			}						
		else if (msg=="completo")
					{
			alert("Ompli totes les dades del compte");
			}									
		else if (msg=="formato")
					{
			alert("Format incorrecte");
			}									
		else
			{
			alert("Format no valgut");
			}
	}
	
}


function textos(msg)
{
	//Euskera 5
	//Gallego 4
	//Catalan 2
	//Castellano 3
	
	if (vallang==3)
	{
		if(msg=="Letra*")	
			{
			return "Letra*";
			}
		else if (msg=="Último caracter*")
			{
			return "Último caracter*";
			}
		else{
			return "";
			}	
	}
	else if (vallang==2)
	{
		if(msg=="Letra*")	
			{
			return "Lletra*";
			}
		else if (msg=="Último caracter*")
			{
			return "Últim caràcter*";
			}
		else{
			return "";
			}	
	}

}