
function ignoreSpaces(string) {
	var temp = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	temp += splitstring[i];
	return temp;
}

function esCadenaValida(cadenaEntrada) {
	var caracteresMal = "\'\%\"\^\*\\";
	for (i=0;i<cadenaEntrada.length;i++){
		var c = cadenaEntrada.charAt(i);
		if (caracteresMal.indexOf(c)!=-1) {
			return false;
		}
	}
	return (true);
}

function esDigito(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);
}

function validaCorreoElectronico(email) {
    var caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.";
    var i;
    var valido = true;
    var pos_arroba = email.indexOf("@");
    var pos_ultimo_punto = email.lastIndexOf(".");
    var email_minus = email.toLowerCase();
    var trozo;
    
    if (pos_arroba == -1) {
        return false;
    }
    if (email_minus.indexOf("login@terra.es") != -1){
        return false;
    }
    if (pos_ultimo_punto == -1) {
        return false;
    }
    trozo = email.substring(0, pos_arroba);
    for(i=0;i<trozo.length;i++) {
        if (caracteres.indexOf(trozo.charAt(i)) == -1) {
            valido = false;
            break;
        }
    }    
    if (!valido) {
        return false;
    }
    valido = true;
    trozo = email.substring(1+pos_arroba, pos_ultimo_punto);
    for(i=0;i<trozo.length;i++) {
        if (caracteres.indexOf(trozo.charAt(i)) == -1) {
            valido = false;
            break;
        }
    }    
    if (!valido) {
        return false;
    }
    valido = true;
    trozo = email.substring(1+pos_ultimo_punto, email.length);    
    if ((trozo.length >= 2)&&(trozo.length <= 4)) {
        for(i=0;i<trozo.length;i++) {
            if (caracteres.indexOf(trozo.charAt(i)) == -1) {
                valido = false;
                break;
            }
        }    
        if (!valido) {
            return false;
        }
    } else {
        return false;
    }
    return true;
}    

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="desconocido";	
	
	for (i=0;i<valoresNif.length;i++) { if (valoresNif[i]==primerCaracter) tipo="NIF";  }	
	if (tipo=="desconocido"){
		for (i=0;i<valoresCif.length;i++) {  if (valoresCif[i]==primerCaracter) tipo="CIF";  }
	}
	if (tipo=="desconocido") return (5);		//El primer caracter del nif no es válido.
	if (tipo=="NIF") {	
		var provincia="";
		if ((primerCaracter=="K") || (primerCaracter=="L")){		
			provincia=cadenaNif.substring(1,3);
			if (!esDigito(provincia)) return 2;   //Codigo de provincia no válido			
			numero=cadenaNif.substring(3,8);			
		} else 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") {
			pais=cadenaNif.substring(1,4);
			if (!esDigito(pais)) return 6;   //Codigo de pais no válido
			numero=cadenaNif.substring(4,8);
		}else {
			numero=cadenaNif.substring(1,8);		
		}		
		if (!esDigito(numero)) return 3;   //Parte numérica del Nif 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 = valoresCif[caracterControlCalculado-1];
		}
		if (caracterControlCalculado==10) caracterControlCalculado=0;
		if (caracterControl != caracterControlCalculado) return 4;   //Carácter Control incorrecto
	} 
	return 0;  //todo bien.
}

function validaCP(cp)
{
	if (!esDigito(cp)){
		alert("El Código Postal debe ser numérico");
		cp.focus();
		return false;
	}

	return true;
}

function popUp(url,tamx,tamy,barra,left,top){

   var opciones = "width="+tamx+" height="+tamy;
   if((barra=="YES") || (barra=="yes") || (barra==1))
   		opciones += " scrollbars=yes"
   if(left!=0 || top!=0) opciones += " left="+left+",top="+top;
   window.open(url,"boxwindow",opciones);
}
