var elany = new Date();
var any_act = elany.print("%Y");
anys = new Array(2);
anys[0] = any_act;
anys[1] = parseInt(any_act) + 1;

function catcalc(cal)
{
	var date = cal.date;
	var recup = date;
	var time = date.getTime()
	// use the _other_ field
	var field = document.getElementById("bk_fecha_in");
	var field2 = document.getElementById("bk_fecha_out");
	////pasamos las fechas a numero para comparacion YYYYMMDD
	hoy = new Date();
	hoy_form = hoy.print("%d/%m/%Y");
	valor_hoy = parseInt(hoy_form.substring(6))*365 + parseInt((hoy_form.substring(3,5) == "08")?"8":((hoy_form.substring(3,5) == "09")?"9":hoy_form.substring(3,5)))*30 + parseInt((hoy_form.substring(0,2) == "08")?"8":((hoy_form.substring(0,2) == "09")?"9":hoy_form.substring(0,2)));
	valor_fecha = parseInt(field.value.substring(6))*365 + parseInt((field.value.substring(3,5) == "08")?"8":((field.value.substring(3,5) == "09")?"9":field.value.substring(3,5)))*30 + parseInt((field.value.substring(0,2) == "08")?"8":((field.value.substring(0,2) == "09")?"9":field.value.substring(0,2)));
	valor_fecha2 = parseInt(field2.value.substring(6))*365 + parseInt((field2.value.substring(3,5) == "08")?"8":((field2.value.substring(3,5) == "09")?"9":field2.value.substring(3,5)))*30 + parseInt((field2.value.substring(0,2) == "08")?"8":((field2.value.substring(0,2) == "09")?"9":field2.value.substring(0,2)));
	if (field == cal.params.inputField)
	{
		if (valor_hoy > valor_fecha)
		{
			field.value = hoy.print("%d/%m/%Y");
		}
		if (valor_fecha2 <= valor_fecha || (valor_fecha2 - valor_fecha) > 29)
		{
			field = field2;
			time += Date.DAY;
			var date2 = new Date(time);
			field.value = date2.print("%d/%m/%Y");
		}
	} else {
		//time += Date.WEEK; // add one week
		if(valor_fecha2 < valor_fecha || (valor_fecha2 - valor_fecha) > 29)
		{
			cal.parseDate(field.value);
			var date2 = new Date(cal.date.getTime() + 86400000);
			cal.setDate(date2);
			field2.value = cal.date.print("%d/%m/%Y");
		}
	}
	crearCookie(document.getElementById("bk_fecha_in").value,document.getElementById("bk_fecha_out").value);
	
	////Actualizamos los cal visibles.
	var llegada = document.getElementById("bk_fecha_in").value;
	var dia = llegada.substring(0,2);
	var mes = llegada.substring(3,5);
	var ano = llegada.substring(6);
	document.getElementById("dia_ll_cal").innerHTML = dia;
	document.getElementById("mes_ll_cal").innerHTML = mes;
	document.getElementById("ano_ll_cal").innerHTML = ano;
	var salida = document.getElementById("bk_fecha_out").value;
	dia = salida.substring(0,2);
	mes = salida.substring(3,5);
	ano = salida.substring(6);
	document.getElementById("dia_s_cal").innerHTML = dia;
	document.getElementById("mes_s_cal").innerHTML = mes;
	document.getElementById("ano_s_cal").innerHTML = ano;
}

Calendar.setup(
{
	inputField  : "bk_fecha_in",    	// ID of the input field
	ifFormat    : "%d/%m/%Y",    	// the date format
	button      : "cal_llegada",    	// ID of the button
	weekNumbers : false,			// Mostrar número de la semana
	range		  :	anys,			// Años a mostrar
	onUpdate    : catcalc,		// Funcion que controla fechas correctas
	electric	  : false			// Actualizar on mouse over
}
);

Calendar.setup(
{
	inputField  : "bk_fecha_out",    // ID of the input field
	ifFormat    : "%d/%m/%Y",    	// the date format
	button      : "cal_salida",   	// ID of the button
	weekNumbers : false,			// Mostrar número de la semana
	range		  :	anys,			// Años a mostrar
	onUpdate    : catcalc,		// Funcion que controla fechas correctas
	electric	  : false			// Actualizar on mouse over
}
);

function reasignar_main()
{
	var llegada = document.getElementById("bk_fecha_in").value;
	var dia = llegada.substring(0,2);
	var mes = llegada.substring(3,5);
	var ano = llegada.substring(6);
	document.getElementById("dia_ll_cal").innerHTML = dia;
	document.getElementById("mes_ll_cal").innerHTML = mes;
	document.getElementById("ano_ll_cal").innerHTML = ano;
	var salida = document.getElementById("bk_fecha_out").value;
	dia = salida.substring(0,2);
	mes = salida.substring(3,5);
	ano = salida.substring(6);
	document.getElementById("dia_s_cal").innerHTML = dia;
	document.getElementById("mes_s_cal").innerHTML = mes;
	document.getElementById("ano_s_cal").innerHTML = ano;
}

////Funciones relacionadas con las cookies

function crearCookie(llegada,salida) {
	var date = new Date();
	date.setTime(date.getTime()+(24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = "bk_llegada"+"="+llegada+expires+"; path=/";
	document.cookie = "bk_salida"+"="+salida+expires+"; path=/";
	
	establecer_sesion(llegada,salida);
	return null;
}
		
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

////Funciones relacionadas con la sesion PHP

function establecer_sesion (llegada,salida)
{
	peticion_ajax("http://www.baleares.com/store_dates.php?llegada="+llegada+"&salida="+salida);
}

function estadoPeticionAjax() //Función que se llama cada vez que cambia el estado de peticion01.readyState.
{
	switch(objAjax.readyState) //Según el estado de la petición devolvemos un Texto.
	{
		case 0:
			null;
			break;
		case 1:
			loading_anim();
			break;
		case 2:
		case 3:
			break;
		case 4:
			loading_stop();
			break;
	}
}

function peticion_ajax(url)
{
	objAjax = null; //Creamos la variable para el objeto XMLHttpRequest
	var browser=navigator.appName;
	if (browser == "Microsoft Internet Explorer")
	{
		objAjax = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		objAjax = new XMLHttpRequest();
	}
	if(objAjax) //Si tenemos el objeto peticion01
	{
		objAjax.open('GET', url, true); //Abrimos la url, false=forma síncrona
		objAjax.onreadystatechange = estadoPeticionAjax;
		objAjax.send(null); //No le enviamos datos al servidor.
	}
}

function loading_anim ()
{
	var divs = document.getElementsByTagName('div');
	for (i=0;i<divs.length;i++)
	{
		if (divs[i].className == "loading_dates_main")
		{
			divs[i].style.display = "block";
		}
	}
}

function loading_stop ()
{
	var divs = document.getElementsByTagName('div');
	for (i=0;i<divs.length;i++)
	{
		if (divs[i].className == "loading_dates_main")
		{
			divs[i].style.display = "none";
		}
	}
}

function generar_link_busq_main (link,lang)
{
	var select = document.getElementById("select_canal");
	//alert(select);
	var nom_zona = select.options[select.selectedIndex].value;
	
	var txt_hotel = "";
	switch (lang)
	{
		case "es":
			txt_hotel = "Hoteles-";
			break;
		case "fr":
			txt_hotel = "Hotels-";
			break;
		case "de":
			txt_hotel = "Hotels-";
			break;
		case "en":
			txt_hotel = "Hotels-";
			break;
	}
	
	url_n = "http://www.baleares.com/list.php4/"+lang+"/"+txt_hotel+nom_zona+".html";
	
	link.href = url_n;
	
	return true;
	//return false;
}

function onload_handler (func)
{
	///NO FUNCIONA DEL TODO BIEN... SI HAY QUE USARLA, REPASAR
	func_orig = document.onload;
	if (func_orig)
		document.onload = function (){func_orig();func();};
	else
		document.onload = func;
}

