// JavaScript Document
//Funciones generales de javascript.
//-----------------------------------


// ------------------------------------------------------------------
// Creación de Objeto AJAX.
// ------------------------------------------------------------------
function nuevoAjax(){
	var xmlhttp=false; 
	try { 
  		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  	} catch (e) { 
		try { 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (E) { 
			xmlhttp = false; 
  		} 
	} 
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
		xmlhttp = new XMLHttpRequest(); 
	} 
	return xmlhttp; 
} 


// ------------------------------------------------------------------
// Comprueba si se ha introducido un valor (campos obligatorios)
// ------------------------------------------------------------------
function EsVacio(obj){	
	if (obj.value.length==0){
		return true;
	}else{
		return false;
	}
}

// ------------------------------------------------------------------
// Comprueba si el valor del objeto es numerico
// ------------------------------------------------------------------

function EsNumero(obj){
	reNoNumeros = new RegExp ('[^0-9]','i');
	if (reNoNumeros.test (obj.value)){		
		return false;
	}else{
		return true;
	}
}

// ------------------------------------------------------------------
// Comprueba si el valor del objeto no es numerico
// ------------------------------------------------------------------

function EsCaracter(obj){
 reNoNumeros = new RegExp ('[0-9]');
 if (reNoNumeros.test (obj.value)){  
  return false;
 }else{ 
  return true;
 }
}

// ------------------------------------------------------------------
// Comprueba si la longitud está en un intervalo
// ------------------------------------------------------------------

function EnIntervalo(ini,fin,obj){
	if (obj.value.length < ini || obj.value.length > fin){
		return false;
	}else{
		return true;
	}	
}

// ------------------------------------------------------------------
// Comprueba si la longitud es superior a un valor dado
// ------------------------------------------------------------------

function LongMayor(vmin,obj){
	if (obj.value.length < vmin){
		return false;
	}else{
		return true;
	}	
}

// ------------------------------------------------------------------
// Comprueba si el CIF es válido
// ------------------------------------------------------------------
function EsCIF(texto){         
	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.value;
	
	var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
	if (!regular.exec(texto)){
		return false;
	}		  
	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{
		return false; 
	}
} 

// ------------------------------------------------------------------
// Comprueba si el NIF es válido
// ------------------------------------------------------------------
function EsNIF (obj)
{  
   var letras = ["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z",
				 "S","Q","V","H","L","C","K","E","U"];  

   nif= obj.value;
   longitud = nif.length;
   
   /*if (longitud == 0) {
   	//alert("No es nif");
	return false;
   } */ // No es necesario pq es un campo obligatorio

   letra = nif.substr(longitud-1, 1);     
   numero = nif.substr (0, longitud-1);  
   resto = numero - (parseInt (numero / 23)) * 23;  

   if ((letras[resto]==letra)){	     
	  //alert("Es nif");
	  return true;
   }else{
	   //alert("No es nif");		
	   return false;
   
   }   
}

// ------------------------------------------------------------------
// Comprueba si el E-mail es válido
// ------------------------------------------------------------------

function EsMail(email){	
	re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if (!re.test(email.value)) {     	
		return false;
	}	
	return true;
}

