//Rutas globales
var pathRoot="http://www.guiate.cat"; //path de la raiz de la web
//var pathRoot="http://192.168.4.16/www.guiate.cat"; //path de la raiz de la web en Backups


function subirScroll(){	window.scroll(0,0);}
function nif(nif) {
	try {
		var s_nif=nif;
		s_nif=s_nif.toUpperCase();
		var longitud_nif=s_nif.length;
		var s_dni=s_nif.substring(0,longitud_nif-1);
		var s_letra=s_nif.substring(longitud_nif-1,longitud_nif);
		var ASC;
		var respuesta=false;
		
		// El campo nif no puede estar en blanco
		if (s_nif == "") {
			nif.focus();
			return false;
		}
		// El dni solo puede contener caracteres numericos
		var digitos = "0123456789";
		var correcto = true;
		for (i = 0;  i < s_dni.length;  i++) {
			ch = s_dni.charAt(i);
			for (j = 0;  j < digitos.length;  j++) {
				if (ch == digitos.charAt(j)) {
					break;
				}
			}
			if (j == digitos.length) {
				nif.focus();
	  			return false;
			}
		}
	
		// Comprovamos que la letra corresponda con la que tiene
		if (letraNIF(s_dni)==s_letra) {
			return true;
		} else {
			nif.focus();
			return false;
		}
	} catch(e) {
		respuesta = false;
	}
	return respuesta;
}

function letraNIF(n){
	var d =n/23;
	d = Math.floor(d);
	var e=d*23;
	var r=n-e;
	
	if (r==0)
		return "T";
	if (r==1)
		return "R";
	if (r==2)
		return "W";
	if (r==3)
		return "A";
	if (r==4)
		return "G";
	if (r==5)
		return "M";
	if (r==6)
		return "Y";
	if (r==7)
		return "F";
	if (r==8)
		return "P";
	if (r==9)
		return "D";
	if (r==10)
		return "X";
	if (r==11)
		return "B";
	if (r==12)
		return "N";
	if (r==13)
		return "J";
	if (r==14)
		return "Z";
	if (r==15)
		return "S";
	if (r==16)
		return "Q";
	if (r==17)
		return "V";
	if (r==18)
		return "H";
	if (r==19)
		return "L";
	if (r==20)
		return "C";
	if (r==21)
		return "K";
	if (r==22)
		return "E";
}
// Funcion que valida que el valor del objeto que se le pase sea un cif sino devolvera 1.correcto 0.incorrecto
//Necesita incluir la función de trim y de nif en el mismo fichero
function cif(o_cif) {
	//Iniciamos las variables
	var vcif = o_cif.value;
	vcif=vcif.toUpperCase();
	var vnif ="";
	var respuesta=0;
	var sumap=0;
	var sumai=0;
	var suma=0; 
	var ssuma=""; 
	var i_swap=0;
	var i1=0;
	var s1=0;
	var s2=0;	
	var vtabla="JABCDEFGHI";

	if ((vcif.length==9) || (vcif.length==10)) {
		try {
			//suma de las cifras pares
			sumap= parseInt(vcif.charAt(2)) + parseInt(vcif.charAt(4)) + parseInt(vcif.charAt(6));
			// suma de las cifras impares aplicando el algorismo del cif
			for (var i=1; i<5; i++) {
				i_swap=(i*2-1);
		        i1=parseInt(vcif.charAt(i_swap))*2;
				// si es mas grande de 9 sumamos las unidades y decenas independientemente ej 12- 1 +2
		        if (i1>9){
					s1=i1 + "";
					s1=s1.charAt(0);
					s2=i1 + "";
					s2=s2.charAt(1);
					sumai=sumai + parseInt(s1) + parseInt(s2);
				} else {
					s1=i1 + "";
					s1=s1.charAt(0) + "";
					sumai= sumai + parseInt(s1);
				}
			}
			suma=sumap + sumai;
			ssuma=suma + "";
			dc= 10 - parseInt(ssuma.charAt(1)); //calculamos el digito de control que 10 - digito unidad de la suma
			if (dc==10) {
				//si el digito de control es 10 se le asigna el 0
				dc= 0;
			}

			if (vcif.charAt(0)=='P') {
				if (vcif.charAt(8) == String.fromCharCode(64 + dc)){
					respuesta=1;
				}
			} else {
				if (vcif.charAt(0)=='X') {
					// si es X hacemos validacion del NIE- CIF
					vnif = vcif.substring(1,11);
					respuesta= nif(vnif);
				} else {
					if (parseInt(vcif.charAt(8))==dc)
						respuesta=1;
				}
			}
		} catch(e) {
			respuesta = 0;
		}
	} else {
		respuesta =0;
	}
	return respuesta;
}
function trim(input){
	var string=input.value;
	var expresion=/^\s*(\w*)/gi;
	string = string.replace(expresion,"$1");
	expresion=/(\w*)\s*$/gi;
	string = string.replace(expresion,"$1");
	input.value=string;
}
function verificarEmail(email){ 
//	Se comprueban los siguientes puntos:
//	1-Que tenga la arroba 
//	2-Que tenga punto y este esté después de la arroba 
//	3-Que después del punto haya al menos un carácter 
//	4-Que la variable mailres(que antes hizo comprobaciones) sea true 
//	5-Que no haya dos puntos seguidos 

	var mailres = true;             
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-"; 
     
    var arroba = email.indexOf("@",0); 
    if ((email.lastIndexOf("@")) != arroba) arroba = -1; 
     
    var punto = email.lastIndexOf("."); 
                 
     for (var contador = 0 ; contador < email.length ; contador++){ 
        if (cadena.indexOf(email.substr(contador, 1),0) == -1){ 
            mailres = false; 
            break; 
     } 
    } 

    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (email.length)) && (mailres == true) && (email.indexOf("..",0) == -1)) 
     mailres = true; 
    else 
     mailres = false; 
                 
    return mailres; 
}
function delChars(el,char) {
	el.value=el.value.replace(char,"");
}
function limpiarAvisos()
{
	var capa=document.getElementById("zonaAvisos");
	capa.innerHTML=""; //vaciamos contenido
	hideDiv(capa); //Escondemos la capa
}
function mostrarAvisos(txt)
{		
	var capa=document.getElementById("zonaAvisos");
	capa.innerHTML=txt; //escribimos contenido
	showDiv(capa); //Escondemos la capa
	subirScroll();
}
function hideDiv(el) //oculta una capa
{
	el.style.display="none";
	el.style.visibility="hidden";
}
function showDiv(el)
{
	el.style.display="block";
	el.style.visibility="visible";
}
function buscadorSimple(){ hideDiv(document.getElementById("buscadorAvanzado")); showDiv(document.getElementById("buscadorSimple"));}
function buscadorAvanzado(){ hideDiv(document.getElementById("buscadorSimple"));showDiv(document.getElementById("buscadorAvanzado"));}

//od: devuelve los campos del formulario listos para enviar por GET
function datosFormulario(idform)
{
	var form = document.getElementById(idform);
	var text = '?';
	var i;

	for(i=0; i<= form.length-1; i++)
	{
		if(i>0) text +="&";
		text += form.elements[i].id+"="+ form.elements[i].value;
	}
	return text;
}



//no modificar nada a partir de aqui
function Request()
{ 
  var xmlhttp=false; 
  
  try 
  {     
  	// Creación del objeto ajax para navegadores diferentes a Explorer	
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  } 
  catch (e) 
  {    
  	try // o bien 
	{ 
    	// Creación del objeto ajax para Explorer 
     	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
  	catch (E)
  	{ 
     	xmlhttp = false; 
  	} 
  } 

  if (!xmlhttp && typeof XMLHttpRequest!='undefined')
  { 
   xmlhttp = new XMLHttpRequest(); 
  } 
  return xmlhttp; 
}

function Show(div2)
		{
			//hideDiv(document.getElementById(div1));
			showDiv(document.getElementById(div2));
		} 

