var getCalendario = null;
var xmlCalendario = null;
var CualMes=0;

function CrearCalendario(QueMes){	
	if (window.XMLHttpRequest){
		getCalendario=new XMLHttpRequest()
	}else if (window.ActiveXObject){
		getCalendario=new ActiveXObject("Microsoft.XMLHTTP")
	}
	if (getCalendario){
		var url="dispo_" + nombrefichero  + ".xml";
		getCalendario.onreadystatechange=CambioDeEstado;
		getCalendario.open("GET",url,true);
		getCalendario.send(null);
		CualMes=QueMes;
	}else{
		alert ("Tu explorador no soporta XMLHttpRequest");
	}
}

function CambioDeEstado(){
	if (getCalendario.readyState == 4){
		xmlCalendario = getCalendario.responseXML;
		xmlCalendario = xmlCalendario.getElementsByTagName('tarifadia');

		if (CualMes<0)
		{
			MesSeleccionado=0;
		} 
		 

		if (CualMes>CantidadMesesMostrar)
		{
			MesSeleccionado=CantidadMesesMostrar;
		} 	 
		setCal(MesSeleccionado);
	} 
} 

function bisiesto(Anio) {
	if (Anio % 4 == 0)
	return true
	return false
}

function diasPorMes(mes, Anio) {
var meses = new Array(12)
meses[1] = 31; // Enero
meses[2] = (((Anio % 4 == 0) && (Anio % 100 != 0)) || (Anio % 400 == 0)) ? 29 : 28
meses[3] = 31 // Marzo
meses[4] = 30 // Abril
meses[5] = 31 // Mayo
meses[6] = 30 // Junio
meses[7] = 31 // Julio
meses[8] = 31 // Agosto
meses[9] = 30 // Septiembre
meses[10] = 31 // Octubre
meses[11] = 30 // Noviembre
meses[12] = 31 // Diciembre
return meses[mes]
}

function getNombreDelMes(mes) {
var meses = new Array(12)

	if(idiomayformatocalendario=="eng")
	{	
		meses[1]="January";
		meses[2]="February";
		meses[3]="March";
		meses[4]="April";
		meses[5]="May";
		meses[6]="June";
		meses[7]="July";
		meses[8]="August";
		meses[9]="September";
		meses[10]="October";
		meses[11]="November";
		meses[12]="December"; 
 	}

	if(idiomayformatocalendario=="deu")
	{	 
		meses[1]="Januar";
		meses[2]="Februar";
		meses[3]="Marz";
		meses[4]="April";
		meses[5]="Mai";
		meses[6]="Juni";
		meses[7]="Juli";
		meses[8]="August";
		meses[9]="September";
		meses[10]="Oktober";
		meses[11]="November";
		meses[12]="Dezember"; 
 	}

	if(idiomayformatocalendario=="esp")
	{
		meses[1] = "Enero";
		meses[2] = "Febrero";
		meses[3] = "Marzo";
		meses[4] = "Abril";
		meses[5] = "Mayo";
		meses[6] = "Junio";
		meses[7] = "Julio";
		meses[8] = "Agosto";
		meses[9] = "Septiembre";
		meses[10] = "Octubre";
		meses[11] = "Noviembre";
		meses[12] = "Diciembre";
	}
return meses[mes]
}

function setCal(QueMes) {
	var now = new Date()
	var anio = now.getYear()
	if (anio < 1000) {anio+=1900}
	var mes = now.getMonth()+QueMes
	if (now.getMonth()+QueMes > 11) {mes-=12;anio++}
	if (now.getMonth()+QueMes < 0) {mes+=12;anio--}
	var fecha = now.getDate()
	var primerDia = new Date(anio, mes, 1)
	var primerDia2 = primerDia.getDay()
	primerDia = null
	var dias = diasPorMes(mes+1, anio)
 
	if(idiomayformatocalendario=="esp")
	{	
		drawCal(primerDia2, dias, fecha, mes+1, anio)
	}
	if(idiomayformatocalendario=="eng")
	{
		 drawCal(primerDia2 + 1, dias, fecha, mes+1, anio)		
	}
	 if(idiomayformatocalendario=="deu")
	{
		 drawCal(primerDia2 + 1, dias, fecha, mes+1, anio)		
	}
}

function drawCal(firstDay, lastDate, date, Mes, Anio) {
var now = new Date()
var codigo = ""
codigo += '<table class="tabla">'
codigo += '<tr><td class="encabezado" colspan="7">'
codigo += getNombreDelMes(Mes) + ' ' + Anio 
codigo += '</td></tr>'

var diasSemana = new Array(7)

if(idiomayformatocalendario=="eng")
{	
	diasSemana[0] = "<acronym title=\"Sunday\">Su</acronym>";
	diasSemana[1] = "<acronym title=\"Monday\">Mo</acronym>";
	diasSemana[2] = "<acronym title=\"Tuesday\">Tu</acronym>";
	diasSemana[3] = "<acronym title=\"Wendsday\">We</acronym>";
	diasSemana[4] = "<acronym title=\"Thursday\">Th</acronym>";
	diasSemana[5] = "<acronym title=\"Friday\">Fr</acronym>";
	diasSemana[6] = "<acronym title=\"Saturday\">Sa</acronym>";
}

if(idiomayformatocalendario=="deu")
{	
	diasSemana[0] = "<acronym title=\"Sonntag\">So</acronym>";
	diasSemana[1] = "<acronym title=\"Montag\">Mo</acronym>";
	diasSemana[2] = "<acronym title=\"Dienstag\">Di</acronym>";
	diasSemana[3] = "<acronym title=\"Mittwoch\">Mi</acronym>";
	diasSemana[4] = "<acronym title=\"Donnerstag\">Do</acronym>";
	diasSemana[5] = "<acronym title=\"Freitag\">Fr</acronym>";
	diasSemana[6] = "<acronym title=\"Samstag\">Sa</acronym>";
}

if(idiomayformatocalendario=="esp")
{	
	diasSemana[0] = "<acronym title=\"Domingo\">D</acronym>";
	diasSemana[1] = "<acronym title=\"Lunes\">L</acronym>";
	diasSemana[2] = "<acronym title=\"Martes\">M</acronym>";
	diasSemana[3] = "<acronym title=\"Miercoles\">M</acronym>";
	diasSemana[4] = "<acronym title=\"Jueves\">J</acronym>";
	diasSemana[5] = "<acronym title=\"Viernes\">V</acronym>";
	diasSemana[6] = "<acronym title=\"Sabado\">S</acronym>";
}

codigo += '<tr>'


if(idiomayformatocalendario=="eng")
{
	codigo += '<td class="celdaDiaSemana">' + diasSemana[0] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[1] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[2] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[3] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[4] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[5] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[6] + '</td>' 
}

if(idiomayformatocalendario=="deu")
{
	codigo += '<td class="celdaDiaSemana">' + diasSemana[0] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[1] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[2] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[3] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[4] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[5] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[6] + '</td>' 
}

if(idiomayformatocalendario=="esp")
{
	codigo += '<td class="celdaDiaSemana">' + diasSemana[1] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[2] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[3] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[4] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[5] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[6] + '</td>' 
	codigo += '<td class="celdaDiaSemana">' + diasSemana[0] + '</td>' 
}

 


 
codigo += '</tr>'

var cDia = 1 
comienzodia=1;
var curCell = 1
 

for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
codigo += '<tr>'
for (var col = 1; col <= 7; ++col) {	
if (cDia > lastDate)
break
if (firstDay==0)
{
	firstDay=7;
}
if (curCell < firstDay) {
codigo += '<td></td>';
curCell++
} else {
var textoCelda = cDia;
var textoTd = '<td class="diapasado">'

for (i=0;i<xmlCalendario.length;i++){
	var fecha = xmlCalendario[i].getAttribute('fecha');



	arrayfecha = fecha.split('/');

	var tempdia = new Array();
	var tempmes = new Array();

	tempdia = arrayfecha[0];
	tempmes = arrayfecha[1];
	tempano = arrayfecha[2];


	if (tempdia.charAt(0)=="0") //si la fecha comienza por cero se lo quitamos para que case con el formato de fecha php
	{ 
		tempdia=tempdia.substr(1,tempdia.length);

		fecha=tempdia + "/" + tempmes + "/" + tempano;
	}
	if (tempmes.charAt(0)=="0") //si la fecha comienza por cero se lo quitamos para que case con el formato de fecha php
	{ 
		tempmes=tempmes.substr(1,tempmes.length);
		fecha=tempdia + "/" + tempmes + "/" + tempano;
	} 
 

	if (fecha == cDia+ "/" + Mes + "/" + Anio)
    {
		var titulo = xmlCalendario[i].getAttribute('titulo');
		var descripcion = xmlCalendario[i].getAttribute('descripcion');
	    var estado = xmlCalendario[i].getAttribute('estado'); 
		var contrato = xmlCalendario[i].getAttribute('contrato');
		var nombrecampoprecio_idioma= 'precio_' + idiomayformatocalendario;
		var precio = xmlCalendario[i].getAttribute(nombrecampoprecio_idioma); 
		
		
				
		if ( ( (estado=="A") || (estado=="?") ) && (contrato=="ATRAP") )
		{
                  
				   if ( (precio!='') && (precio!=null) )
                    {
			   preciocomillas="'"+precio+"'";
			   textoTd = '<td class="abierto_atrap" class="tip" onmouseover="muestrapreciodia('+preciocomillas+');" onmouseout="vaciapreciodia();">';
                    }
                    else
                    {
			   textoTd = '<td class="abierto_atrap">';
                     }
			   textoCelda =  cDia ;
			 //  textoCelda = '<a href="#" class="diacita" onclick="alert(\''+descripcion+'\');return false" title="'+titulo+'">' + cDia + '</a>';
		}
		
	
		if ( ( (estado=="A") || (estado=="?") ) && (contrato!="ATRAP") )
		{
                    if ( (precio!='') && (precio!=null) )
                    {
			   preciocomillas="'"+precio+"'";
			   textoTd = '<td class="abierto" class="tip" onmouseover="muestrapreciodia('+preciocomillas+');" onmouseout="vaciapreciodia();">';
                    }
                    else
                    {
			   textoTd = '<td class="abierto">';
                     }
			   textoCelda =  cDia ;
			 //  textoCelda = '<a href="#" class="diacita" onclick="alert(\''+descripcion+'\');return false" title="'+titulo+'">' + cDia + '</a>';
		}

		if (estado=="X")
		{
				textoTd = '<td class="cerrado">';
				textoCelda =  cDia ;
		}	
		if (estado=="3")
		{
				textoTd = '<td class="minimo">';
				textoCelda =  cDia ;
		}	
	}
}

/*if (cDia == date && Mes == now.getMonth()+1) 
{
	textoTd = '<td class="hoy">'
}*/

codigo += textoTd + textoCelda + '</td>'
cDia++
}
}
codigo += '</tr>'
}
        if ( (precio!='') && (precio!=null) )
	{ 
		codigo += '<tr class="tabla"><td  colspan="7" class="diapasado"><div id="preciodia"  style="padding:5px">&nbsp;</div>'
		codigo += '</td></tr>'
	}
codigo += '</table>'
 
document.getElementById("boxcalendario").innerHTML=codigo;
}

 




function muestrapreciodia(precio)
{
	document.getElementById("preciodia").innerHTML=precio;
}

function vaciapreciodia()
{
	document.getElementById("preciodia").innerHTML="&nbsp;";
}








/* 
// position of the tooltip relative to the mouse in pixel //
var offsetx = 12;
var offsety =  8;

function newelement(newid)
{ 
	 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        { 
            display = 'none';
            position = 'absolute';
        } 
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 
var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all); 
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
function getmouseposition(e)
{
    if(document.getElementById)
    {
        var iebody=(document.compatMode && 
        	document.compatMode != 'BackCompat') ? 
        		document.documentElement : document.body;
        pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
        pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
        mousex = (ie5)?event.x:(ns6)?clientX = e.clientX:false;
        mousey = (ie5)?event.y:(ns6)?clientY = e.clientY:false;

        var lixlpixel_tooltip = document.getElementById('tooltip');
        lixlpixel_tooltip.style.left = (mousex+pagex+offsetx) + 'px';
        lixlpixel_tooltip.style.top = (mousey+pagey+offsety) + 'px';
    }
}
function tooltip(tip)
{ 
    if(!document.getElementById('tooltip')) newelement('tooltip');
    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.innerHTML = tip;
    lixlpixel_tooltip.style.display = 'block';
    document.onmousemove = getmouseposition;
}
function exit()
{
    document.getElementById('tooltip').style.display = 'none';
}
*/
