function addDays(myDate,days) {
	return new Date(myDate.getTime() + days*24*60*60*1000);
}
function restDays(myDate,days) {
	return new Date(myDate.getTime() - days*24*60*60*1000);
}
function cerrarCapa(id)
{
	document.getElementById("capaFondo").style.visibility="hidden";
	document.getElementById("capaFondo").style.display="none";
	document.getElementById(id).style.visibility="hidden";
	document.getElementById(id).style.display="none";
}
function mostrarCapa(id)
{
	document.getElementById("capaFondo").style.visibility="visible";
	document.getElementById("capaFondo").style.display="inline";
	document.getElementById(id).style.visibility="visible";
	document.getElementById(id).style.display="inline";
	var h = document.getElementById("contenidor").clientHeight;
	var hBody = document.body.clientHeight;
	if (h == 0)
	{
		h = document.getElementById("contenidor").offsetHeight;
	}
	if (hBody == 0)
	{
		hBody = document.body.offsetHeight;
	}
	if (hBody > h)
	{
		h = hBody;
	}
	
	document.getElementById('capaFondo').style.height = h + "px";
	scroll(0,0);
}

function RequestValue(url,Items) {
	var req = createRequest();
	var d = new Date();
	req.open('GET',url+'?code='+d.getTime()+Items,false);
	req.send(null);
	if (req.status != 200) {
		alert('Probleme with Request');
		return "";
	} else {
		return req.responseText;
	}
}

function createRequest() {
	var request;
	try {
		request = new XMLHttpRequest();
	}
	catch (tryIE) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (tryOlderIE) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
		  	}
		  	catch (failed) {
				alert("Error creating XMLHttpRequest");
		  	}
		}
	}
	return request;
}

function login_major()
{
	var id = document.frm_acces_major.id_major.value;
	var pwd = document.frm_acces_major.pwd_major.value;
	if (id == "" || pwd == "")
	{
		alert("Per entrar com a majoriste tens que introduir el teu id i contrasenya");
	}
	else
	{
		d = RequestValue("ajax_login_major.asp","&id="+id+"&pwd="+pwd);
		if (d=="ko")
		{
			document.getElementById("acces_majoristes_alert").style.display = "block";
		}
		else
		{
			document.location.href = "default.asp";
		}
	}
}

function logout()
{
	document.location.href = "default.asp?logout=1";
}

function submenu(tipo)
{
	document.getElementById("submenu_gastronomia").style.display="none";
	document.getElementById("submenu_agenda").style.display="none";
	if (click_submenu==0) 
	{
		document.getElementById("div_absolute").style.display="inline";
		if (tipo == "gastronomia")
		{
			document.getElementById("submenu_gastronomia").style.display="block";
		}
		else if (tipo == "agenda")
		{
				document.getElementById("submenu_agenda").style.display="block";
		}
		click_submenu=1;
	}
	else
	{
		document.getElementById("div_absolute").style.display="none";
		click_submenu=0;
	}
}

var click_submenu=0;

/********************************************************/
/** EMAILCHECK											*/
/**		Valida un campo de email						*/
/**	E: elem												*/
/** S: true or false									*/
/********************************************************/


function emailCheck (elem) {
   
   var emailStr=elem.value
   var emailPat=/^(.+)@(.+)$/
   var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
   var validChars="\[^\\s" + specialChars + "\]"
   var quotedUser="(\"[^\"]*\")"
   var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
   var atom=validChars + '+'
   var word="(" + atom + "|" + quotedUser + ")"
   var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
   var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
   
   var matchArray=emailStr.match(emailPat)
   if (matchArray==null) {
   	alert("La entrada de l'adreça electrònica es incorrecte (comprovi @ y .'s)")
   	return false
   }
   var user=matchArray[1]
   var domain=matchArray[2]
   
   if (user.match(userPat)==null) {
       alert("El nom d'usuari es incorrecte.")
       return false
   }
   
   var IPArray=domain.match(ipDomainPat)
   if (IPArray!=null) {
   	  for (var i=1;i<=4;i++) {
   	    if (IPArray[i]>255) {
   	        alert("Direccio IP no valida!")
   		return false
   	    }
       }
       return true
   }
   
   var domainArray=domain.match(domainPat)
   if (domainArray==null) {
   	alert("El nom del domini es incorrecte")
       return false;
   }
   
   var atomPat=new RegExp(atom,"g")
   var domArr=domain.match(atomPat)
   var len=domArr.length
   if (domArr[domArr.length-1].length<2 || 
       domArr[domArr.length-1].length>3) {
      alert("La direcció de correo ha d'acabar en 3 lletres de domini i 2 d'un país.");
      return false;
   }
   
   if (len<2) {
      var errStr="Aquesta direcció es desconeguda com IP!"
      alert(errStr);
	  return false;
   }

}

	function permite(elEvento, permitidos) {
  // Variables que definen los caracteres permitidos
  var numeros = "0123456789,";
  var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
  var numeros_caracteres = numeros + caracteres;
  var teclas_especiales = [8, 37, 39, 46];
  // 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha
 
 
  // Seleccionar los caracteres a partir del parámetro de la función
  switch(permitidos) {
    case 'num':
      permitidos = numeros;
      break;
    case 'car':
      permitidos = caracteres;
      break;
    case 'num_car':
      permitidos = numeros_caracteres;
      break;
  }
 
  // Obtener la tecla pulsada 
  var evento = elEvento || window.event;
  var codigoCaracter = evento.charCode || evento.keyCode;
  var caracter = String.fromCharCode(codigoCaracter);
 
  // Comprobar si la tecla pulsada es alguna de las teclas especiales
  // (teclas de borrado y flechas horizontales)
  var tecla_especial = false;
  for(var i in teclas_especiales) {
    if(codigoCaracter == teclas_especiales[i]) {
      tecla_especial = true;
      break;
    }
  }
 
  // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
  // o si es una tecla especial
  return permitidos.indexOf(caracter) != -1 || tecla_especial;
}


