<!--
/*  FUNCIONES DE JAVASCRIPT GENERALES
  nospan(buzon,dominio) - crea una cadena mailto buzon arroba dominio
  solonumeros() - retorna false si no es un numero , se pone en el onkeypress=solonumeros() del edit
  solofechashoras() - idem pero con su formato
  soloprecios() - idem pero con su formato
  solotelefonos() - idem pero con su formato
  visionar(laurl,elnombre,ancho,alto) - abre una nueva ventana del navegador con los datos que le pasemos
  mensajeadmin(escorrecto,apartado)
*/
//-->
<!--

//NO CARGAR DENTRO DE FRAMES!!
if (self.parent.frames.length != 0) self.parent.location=document.location.href;


function nospam(buzon,dominio) 
{ var res = "";
  for (var n = 0; n < buzon.length; n++)
      res += String.fromCharCode(buzon.charCodeAt(n));
  if (res.indexOf('@') < 0)
     res = res + '@' + dominio;
  location = "ma" + "il" + "to:" + res;
}
function seleccionar(camp,index)
{  for (i = 0; i < document.pelicula.f_gen.length; i++)
 {  if (camp[i].value == index)
     camp.selectedIndex = i;
    }};
function solocodigos()
{	if (event.keyCode < 46 || event.keyCode > 57) event.returnValue = false;}
function solofechas(event)
{	
	//event.returnValue =(event.keyCode > 47 && event.keyCode < 57) || (event.charCode > 47 && event.charCode < 57);
	return ( (event.keyCode > 47 && event.keyCode < 57) || (event.charCode > 47 && event.charCode < 57) );}
function solofechashoras(variableform)
{
if (event.keyCode < 47 || event.keyCode > 58) event.returnValue = false;
if (event.keyCode==13) {
	siguiente(variableform,event);
	}
}
function soloprecios()
{	if (event.keyCode < 46 || event.keyCode > 57 || event.keyCode == 47) event.returnValue = false;}
function solotelefonos()
{	if (event.keyCode < 46 || event.keyCode > 57) event.returnValue = false;}
function visionar(laurl,elnombre,ancho,alto)
{   window.open(laurl,  elnombre, "width="+ancho+", height="+alto+", scrollbars=yes, alwaysRaised=yes, dependent=yes, location=no, screenX=5, screenY=5");}
function maximizar()
{	window.moveTo(0,0);
	window.resizeTo(window.screen.availWidth,window.screen.availHeight);
}
function getCookie(name) {
  var search;

  search = name + "=";
  offset = document.cookie.indexOf(search) ;
  if (offset != -1) {
    offset += search.length;
    end = document.cookie.indexOf(";", offset);
    if (end == -1)
      end = document.cookie.length;
    return unescape(document.cookie.substring(offset, end));
  }
  else
    return "";
}
function setCookie (name, value, expires) {
  //alert(name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/");
  document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";
  alert(document.cookie);
}
function deleteCookie(name) {
  var expdate = new Date();
  expdate.setTime(expdate.getTime() - (86400 * 1000 * 1));
  setCookie(name, "", expdate);
}
function mensajeadmin(escorrecto) {
	if (escorrecto==1){
		alert('La acción se ha completado con éxito');
	}
	else{
		alert('Se ha producido un error al realizar la acción solicitada');
	}	
}

function siguiente(variableform,event){
if (event.keyCode==13){
	for(var i=0;i<variableform.form.length;i++){
		if (variableform.name==variableform.form[i].name) {
			if (variableform.form.length>i){
				variableform.form[i+1].focus();
				}
			}
		}
	}
};

//--------onKeyPress="return solonumeros();"
 function numerico(elem,event)
 { 	if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;
	if (event.keyCode==13) siguiente(elem,event);
 }

//--------onKeyPress="return solonumeros(this.value,this);"
function solonumeros(variableform,event){ 	
if ((event.keyCode == 46) || (event.keyCode == 44) || ((event.keyCode >= 48) && (event.keyCode <= 57))) {
       if (event.keyCode == 44) event.keyCode = 46;
	   if (event.keyCode==46 && variableform.value.indexOf(".")>=0) {
	   		event.returnValue = false;}
       else event.returnValue = true;
  }else event.returnValue = false;
if (event.keyCode==13) {
	siguiente(variableform,event);
	}
};

function soloMayusculas(){
 var k=event.keyCode;
 if (k >= 97 && k <= 122) {
    k = parseInt(k-32);
    event.keyCode=k;
    }
 if (k==13) siguiente(document.activeElement,event);
 }




function calcularNIF(xdni) {
var dni=document.getElementById(xdni);
var letras='TRWAGMYFPDXBNJZSQVHLCKE';

var letraentrada = dni.value.substring(dni.value.length-1,dni.value.length);
var numero=parseInt(dni.value.substring(0,8),10)%23;
var letra;
//alert((dni.value.length==8) && (parseInt(dni.value.substring(0,8),10).toString(10).length==8));
//alert((dni.value.length==9) && (parseInt(dni.value.substring(0,8),10).toString(10).length==8));
if ((dni.value.length==8) && (parseInt(dni.value.substring(0,8),10).toString(10).length==8)){
	letra=letras.substring(numero,numero+1);
	dni.value=dni.value+letra;
} 
else {
	if ((dni.value.length==9) && (parseInt(dni.value.substring(0,8),10).toString(10).length==8)){
		 letra=letras.substring(numero,numero+1);
		 if (letra==letraentrada){
			  alert("NIF correcte.");
			  return true;
		} else {
			  alert("NIF no reconegut. Recordi que la lletra ha de ser majúscula. Ex: 12345678A\nLa lletra hauria de ser: "+letra);
			  dni.style.borderColor="red"; 
			  window.setTimeout("document.getElementById('"+dni.id+"').style.borderColor='';", 2000); 
			  dni.focus();
			  return false;
		}
	} else {
		  alert("NIF no reconegut. Recordi que la lletra ha de ser majúscula. Ex: 12345678A");
		  dni.style.borderColor="red"; 
		  window.setTimeout("document.getElementById('"+dni.id+"').style.borderColor='';", 2000);  
		  dni.focus();
		  return false;
	}
}
return true;
}




/* ---- rob -------------------------------------------------------------------------------------------------------- */

	function validarNIF(cad_dni) 
	{
		var dni=cad_dni;
		var letras='TRWAGMYFPDXBNJZSQVHLCKE';

		var letraentrada = dni.substring(dni.length-1,dni.length);
		var numero=parseInt(dni.substring(0,8),10)%23;
		var letra;

		if ((dni.length==8) && (parseInt(dni.substring(0,8),10).toString(10).length==8))
		{
			letra=letras.substring(numero,numero+1);
			return false;
		} 
		else 
		{
			if ((dni.length==9) && (parseInt(dni.substring(0,8),10).toString(10).length==8))
			{
				letra=letras.substring(numero,numero+1);
				if (letra==letraentrada)
				{
					return true;
				} 
				else 
				{
					return false;
				}
			} 
			else 
			{
				return false;
			}
		}

		return true;
	}




	function Comprueba_NIF(la_id, obligatorio)
	{
		// el parámetro "obligatorio" es de tipo boolean 
		var caja_texto = document.getElementById(la_id);
		var dni = '' + caja_texto.value;

		if(dni != "")
		{
			if(!esNIF(dni))
			{
				caja_texto.style.backgroundColor = "red";
				caja_texto.style.color = "white";
				caja_texto.style.fontWeight = "bold"
				alert("Cal escriure un número de NIF vàlid, amb la lletra corresponent en MAJÚSCULES.\n\nPer exemple, 12345678Z");
			}
			else
			{
				// De momento, nada.
			}
		}
		else
		{
			if(obligatorio)
			{
				caja_texto.style.backgroundColor = "red";
				caja_texto.style.color = "white";
				caja_texto.style.fontWeight = "bold"
				alert("Atenció!\n\nÉs una dada obligatòria");
			}
			// De momento, nada.
		}		
	}


	function restaura_estilo(la_id)
	{
		document.getElementById(la_id).style.backgroundColor = "white";
		document.getElementById(la_id).style.color = "#004D36";
		document.getElementById(la_id).style.fontWeight = "normal"
	}

	function getPosition(obj) 
	{
		obj = (typeof obj == 'string' ? document.getElementById(obj) : obj);
		var offsetLeft = 0;
		var offsetTop = 0;
		var offsetWidth = obj.offsetWidth;
		var offsetHeight = obj.offsetHeight;

		while(obj) 
		{
			offsetLeft += obj.offsetLeft;
			offsetTop += obj.offsetTop;
			obj = obj.offsetParent;
		}

		return {top : offsetTop, left : offsetLeft, width : offsetWidth, height : offsetHeight };
	}

/* ---------------------------------------------------------------------------------------------------------------------- */
/* ---------------------------------- !!! funcions per totes les planes ------------------------------------------------------------------ */

var idsel='';
function verMapa(elid){
	document.getElementById("elmapa").src="image/mapaCat/mapaCat"+elid+".jpg"
}

function cargarCapa(xcapa,url_file,elid) {
	document.getElementById(xcapa).innerHTML = "<font color=red><blink>carregant dades <marquee width='20'>...<\/marquee><\/blink><\/font>";
	var quadreParametres	= new Array();
	var parametres = url_file.substring(url_file.search('/?'),url_file.lenght);
	for(elem in parametres.split("&")){
		elem=elem.split("=");
		quadreParametres[elem[0]] = elem[1];
	}
	cargarDoc(url_file, quadreParametres, "POST", "null", false);
	document.getElementById(xcapa).innerHTML = getResponseText();
}

function displayCapa(xcapa,url_file,elid) {
	document.getElementById(xcapa).innerHTML = "<font color=red><blink>carregant dades <marquee width='20'>...<\/marquee><\/blink><\/font>";
	idsel=elid;
	verMapa(elid);
	var quadreParametres	= new Array();
	var parametres = url_file.substring(url_file.search('/?'),url_file.lenght);
	for(elem in parametres.split("&")){
		elem=elem.split("=");
		quadreParametres[elem[0]] = elem[1];
	}
	cargarDoc(url_file, quadreParametres, "POST", "null", false);
	document.getElementById(xcapa).innerHTML = getResponseText();
	document.location='#com'+elid;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//------------------ buscar activitats -------------------------------------------------------
function displayActivitats(xcapa,formulari,elid) {
	var xForm=formulari.form;
	document.getElementById(xcapa).innerHTML = "<font color=red><blink>carregant dades <marquee width='20'>...<\/marquee><\/blink><\/font>";
	var quadreParametres	= new Array();
	elem=document.getElementById('buscar_data_ini');
	quadreParametres['buscar_edat'] = elem.value;
	elem=document.getElementById('buscar_activitat');
	quadreParametres['buscar_edat'] = elem.options[elem.selectedIndex].value;
	elem=document.getElementById('buscar_comarca');
	quadreParametres['buscar_edat'] = elem.options[elem.selectedIndex].value;
	elem=document.getElementById('buscar_poblacio');
	quadreParametres['buscar_edat'] = elem.options[elem.selectedIndex].value;
	elem=document.getElementById('buscar_esplai');
	quadreParametres['buscar_edat'] = elem.options[elem.selectedIndex].value;
	elem=document.getElementById('buscar_edat');
	quadreParametres['buscar_edat'] = elem.options[elem.selectedIndex].value;
	quadreParametres['id'] = elid;
	cargarDoc("ver_activitat.asp", quadreParametres, "POST", "null", false);
	document.getElementById(xcapa).innerHTML = getResponseText();
}
function enviarBusca(xthis){
	xthis.submit();
}
function changeBActivitat(xthis){
	//alert(xthis.options[this.selectedIndex].value);
	xthis.form.submit();
}
function changeBComarca(xthis){
	//alert(xthis.options[this.selectedIndex].value);
	xthis.form.submit();
}
function changeBPoblacio(xthis){
	//alert(xthis.options[this.selectedIndex].value);
	xthis.form.submit();
}
function changeBEsplai(xthis){
	//alert(xthis.options[this.selectedIndex].value);
	xthis.form.submit();
}
function changeBEdat(xthis){
	//alert(xthis.options[this.selectedIndex].value);
	xthis.form.submit();
	//displayActivitats('xEsplai',xthis,0);
}
function mostrarBusca(){
	document.getElementById('img_act').src='./image/contrau.gif';
	document.getElementById('img_act').alt='Ocultar';
	$('#xBuscar').html('<img src="image/run.gif" alt="cargando...">');
	$('#xBuscar').load("capaBuscaActivitat.asp").show();
	document.getElementById('img_act').onclick=ocultarBusca;
}
function ocultarBusca(){
	$('#xBuscar').hide();
	document.getElementById('img_act').src='./image/desplega.gif';
	document.getElementById('img_act').alt='Mostrar';
	document.getElementById('img_act').onclick=mostrarBusca;
}
//----------------------------------------------------------------

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
//----------------------------------------------------------------

function esNIF(dni) {
	dni = dni.toUpperCase();
	dni = dni.replace(/[^0-9A-Z]/,"");
	var lletra = Right(dni,1);
	var num	= Left(dni,dni.length-1);
	var lletres = 'TRWAGMYFPDXBNJZSQVHLCKE';
	var ctrl = num % 23;
	return lletres.charAt(ctrl) == lletra;
}

function esCIF(cif) {
	/*
	 *	El CIF (Código de Identificación Fiscal) es un elemento de identificación 
	 *	administrativa para organizaciones y consta de 9 dígitos.
	 *	El primer dígito es una letra que indica el tipo de la organización, 
	 *	los siete dígitos siguientes son números y el último es el dígito de control 
	 *	que puede ser un número ó una letra.
	 *	Por ejemplo: "A5881850A" o "A58818501"
	 */
	cif = cif.toUpperCase();
	var patCIF = /^[A-Z](\d\d\d\d\d\d\d)([A-J]|\d)$/;
 
	if (patCIF.test(cif)) {
		patCIF.exec(cif);
 
		var num = RegExp.$1
		var lletra = RegExp.$2;
 
		var digits = num.replace(/(\d)/g, "$1 ").split(" ");
 
	// Sumar los dígitos de la posiciones pares. Suma = A 
		var a = 0;
 
		for (var i = 1; i < 7; i += 2)
			a += parseInt(digits[i], 10);
 
	// Para cada uno de los dígitos de la posiciones impares, multiplicarlo por 2 y sumar los dígitos del resultado.
	// Ej.: ( 8 * 2 = 16 --> 1 + 6 = 7 ).
	// Acumular el resultado. Suma = B.
		var b = 0;
 
		for (var i = 0; i < 7; i += 2) {
			var tmp = parseInt(digits[i], 10) * 2;
			b += Math.floor(tmp / 10) + tmp % 10;
		}
 
	// Sumar A + B = C
		var c = a + b;
 
	// Tomar sólo el dígito de las unidades de C y restárselo a 10. Esta resta nos da D.
		var d = (10 - (c % 10)) % 10; //el 10 es == 0
 
	// A partir de D ya se obtiene el dígito de control. Si ha de ser numérico es directamente D 
	// y si se trata de una letra se corresponde con la relación:
	// A = 1, B = 2, C = 3, D = 4, E = 5, F = 6, G = 7, H = 8, I = 9, J = 0 
		if (/[A-J]/.test(lletra)) {
			return d == (lletra.charCodeAt(0) - 64) % 10;
		} else {
			return d == parseInt(lletra, 10);
		}
	} else {
		return false;
	}
}

$(function(){
	$('#xCos').find('label').live('mouseover',function(){
		if ($(this).attr("for")!="") 
			$(this).css("cursor","pointer");
		});
});
//-->
