/* calendario */
function overfecha(img)
{	document.images [img].src = v_imgfecha_on.src;
}
function outfecha(img)
{	document.images [img].src = v_imgfecha.src;
}
function fecha(form,campo,img)
{	if (!page_cargada) return;
	if (ppcIE)
	{	showCalendar(form,campo,img);
	}else
	{	fecha_net(form,campo);
	}
}
function fecha_net(form,campo)
{	var win_fec = window.open ("/viajeseroski/aptdos/vacaciones/fecha.jsp?campo="+campo+"&formulario="+form,"wndfecha","scrollbars=no,channelmode=0,resizable=no,fullscreen=no,location=no,directories=no,menubar=no,toolbar=no,statusbar=no,titlebar=no,width=160,height=190,top=250,left=250");
	win_fec.focus();
}
/* fin calendario */

// Bazillyo's Spiffy DHTML Popup Calendar v. 1.0 © 2000	S. Ousta (http://www.geocities.com/bazillyo/calendar/calendarTest.htm)
// Courtesy	of SimplytheBest.net (http://simplythebest.net/info/dhtml_scripts.html)

// initialiZe variables...
var ppcIE=((navigator.appName == "Microsoft Internet Explorer")	|| ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5)));
var ppcNN6=((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5));
//var ppcIE=(navigator.appName == "Microsoft Internet Explorer");
var ppcNN=((navigator.appName == "Netscape")&&(document.layers));
var ppcX = 4;
var ppcY = 4;

var IsCalendarVisible;
var calfrmName;
var maxYearList;
var minYearList;
var todayDate =	new	Date;
var curDate	= new Date;
var curImg;
var curDateBox;
var minDate	= new Date;
var maxDate	= new Date;
var hideDropDowns;
var IsUsingMinMax;
var FuncsToRun;
var img_del;
var img_close;
img_del=new Image();
img_del.src="/viajeseroski/aptdos/vacaciones/imgs/btn_del_small.gif";
img_close=new Image();
img_close.src="/viajeseroski/aptdos/vacaciones/imgs/btn_close_small.gif";

minYearList=todayDate.getFullYear()-10;
maxYearList=todayDate.getFullYear()+10;
IsCalendarVisible=false;

img_Date_UP=new Image();
if (page_name == "est_rtdo")
{	img_Date_UP.src="/viajeseroski/imgs/pixel.gif";
}else
{	img_Date_UP.src="/viajeseroski/imgs/iconocalendario.gif";
}

img_Date_OVER=new Image();
if (page_name == "est_rtdo")
{	img_Date_OVER.src="/viajeseroski/imgs/pixel.gif";
}else
{	img_Date_OVER.src="/viajeseroski/imgs/iconocalendario.gif";
}

img_Date_DOWN=new Image();
if (page_name == "est_rtdo")
{	img_Date_DOWN.src="/viajeseroski/imgs/pixel.gif";
}else
{	img_Date_DOWN.src="/viajeseroski/imgs/iconocalendario.gif";
}

function calSwapImg(whatID,NewImg,override)
{	if (document.images)
	{	if (!(IsCalendarVisible && override ))
		{	document.images[whatID].src = eval(NewImg + ".src");
	 	}
	}
	window.status=' ';
	return true;
}

function getOffsetLeft (el)
{	var ol = el.offsetLeft;
	while ((el = el.offsetParent) != null)
		ol += el.offsetLeft;
	return ol;
}

function getOffsetTop (el)
{	var ot = el.offsetTop;
	while((el =	el.offsetParent) !=	null)
		ot += el.offsetTop;
	return ot;
}

function showCalendar(frmName, dteBox,btnImg, hideDrops, MnDt, MnMo, MnYr, MxDt, MxMo, MxYr,runFuncs)
{	hideDropDowns = hideDrops;
	FuncsToRun = runFuncs;
	calfrmName = frmName;
	curDateBox = dteBox;
	if (IsCalendarVisible)
	{	hideCalendar();
	}else
	{	if (document.images['calbtn1']!=null ) document.images['calbtn1'].src=img_del.src;
		if (document.images['calbtn2']!=null ) document.images['calbtn2'].src=img_close.src;
		if (hideDropDowns) {toggleDropDowns('hidden');}
		if ((MnDt!=null) &&	(MnMo!=null) &&	(MnYr!=null) &&	(MxDt!=null) &&	(MxMo!=null) &&	(MxYr!=null))
		{	IsUsingMinMax =	true;
			minDate.setDate(MnDt);
			minDate.setMonth(MnMo-1);
			minDate.setFullYear(MnYr);
			maxDate.setDate(MxDt);
			maxDate.setMonth(MxMo-1);
			maxDate.setFullYear(MxYr);
		}else
		{	IsUsingMinMax =	false;
		}
		curImg = btnImg;
//		curDateBox = dteBox;
		if ( ppcIE )
		{	ppcX = getOffsetLeft(document.images[btnImg]) - 132;
			ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height + 22;
// Para colocar el calendario según la página en la que estemos
			if (page_name == "main")
			{	ppcX = getOffsetLeft(document.images[btnImg]) + 12; 
				ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height;
				//ANULO ESTE PQ SE HA UNIDO EN HOTELES Y VUELOS
				//if (dteBox == "f_vuelta") ppcY = ppcY - 35;
			}
			if (page_name == "buscador_fecha")
			{	ppcX = getOffsetLeft(document.images[btnImg]) - 180;
				ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height +22;
			}
			if (page_name == "est_formulario")
			{	ppcX = getOffsetLeft(document.images[btnImg]) - 150;
				ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height +22;
			}
			if (page_name == "bancotel")
			{	ppcX = getOffsetLeft(document.images[btnImg]);
				ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height - 120;
			}
		}else	if (ppcNN)
				{	ppcX = document.images[btnImg].x;
					ppcY = document.images[btnImg].y + document.images[btnImg].height;
				}
		domlay('popupcalendar',1,ppcX,ppcY,Calendar(todayDate.getMonth(),todayDate.getFullYear()));
		IsCalendarVisible =	true;
	}
}

function toggleDropDowns(showHow)
{	var i; var j;
	for(i=0;i<document.forms.length;i++)
	{	for(j=0;j<document.forms[i].elements.length;j++)
		{	if (document.forms[i].elements[j].tagName == "SELECT")
			{	if (document.forms[i].name != "Cal")
					document.forms[i].elements[j].style.visibility=showHow;
			}
		}
	}
}

function hideCalendar()
{	domlay('popupcalendar',0,ppcX,ppcY);
	calSwapImg(curImg, 'img_Date_UP');
	IsCalendarVisible = false;
	if (hideDropDowns)
		toggleDropDowns('visible');
	if (page_name == "est_rtdo")
		reservar();
}

function hideCalendarwithX()
{	domlay('popupcalendar',0,ppcX,ppcY);
	calSwapImg(curImg, 'img_Date_UP');
	IsCalendarVisible = false;
	if (hideDropDowns) 
		toggleDropDowns('visible');
}

function calClick()
{		window.focus();
}

function domlay(id,trigger,lax,lay,content)
{	// Layer visible
	if (trigger=="1")
	{	if (document.layers) document.layers[''+id+''].visibility ="show";
		else if(document.all) document.all[''+id+''].style.visibility = "visible";
		else if(document.getElementById) document.getElementById(''+id+'').style.visibility = "visible";
	}// Layer hidden
	else if(trigger=="0")
		 {	if (document.layers) document.layers[''+id+''].visibility ="hide";
			else if(document.all)
				{	document.all[''+id+''].style.visibility = "hidden";
					if (page_name=="est_formulario") document.all.cod_presupuesto.style.visibility = "visible";
				}else if(document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden";
		}
	// Set horizontal position
	if (lax)
	{	lax=lax+15;
		if (document.layers){document.layers[''+id+''].left	= lax;}
		else if	(document.all){document.all[''+id+''].style.left=lax;}
		else if	(document.getElementById){document.getElementById(''+id+'').style.left=lax+"px";}
	}
	// Set vertical	position
	if (lay)
	{	lay=lay-18;
		if (document.layers){document.layers[''+id+''].top = lay;}
		else if	(document.all){document.all[''+id+''].style.top=lay;}
		else if	(document.getElementById){document.getElementById(''+id+'').style.top=lay+"px";}
	}
	// change content
	if (content)
	{	if (document.layers)
		{	sprite=document.layers[''+id+''].document;
			// add father layers if	needed!	document.layers[''+father+'']
			sprite.open();
			sprite.write(content);
			sprite.close();
		}
	else if(document.all) document.all[''+id+''].innerHTML = content;
		else if(document.getElementById)
		{	//Thanx	Reyn!
			rng = document.createRange();
			el = document.getElementById(''+id+'');
			rng.setStartBefore(el);
			htmlFrag = rng.createContextualFragment(content)
			while(el.hasChildNodes()) el.removeChild(el.lastChild);
			el.appendChild(htmlFrag);
			// end of Reyn ;)
		}
	}
}

function Calendar(whatMonth,whatYear)
{	var output = '';
	var datecolwidth;
	var startMonth;
	var startYear;
	startMonth=whatMonth;
	startYear=whatYear;
	curDate.setMonth(whatMonth);
	curDate.setFullYear(whatYear);
	curDate.setDate(todayDate.getDate());
	if (ppcNN6)
	{	output += '<form name="Cal"><table width="185" border="2" class="cal-Table" cellspacing="0"	cellpadding="0"><tr>';
	}else
	{	output += '<table width="185" border="2" class="cal-Table" cellspacing="0" cellpadding="0"><form name="Cal"><tr>';
	}
	output += '<td class="cal-HeadCell" align="center" width="100%">';
	if (page_name == "est_rtdo")
	{	output += '<img src="/viajeseroski/imgs/pixel.gif" width="12" height="10">';
	}else
	{	output += '<a href="javascript:clearDay();"><img name="calbtn1" src="/viajeseroski/aptdos/vacaciones/imgs/btn_del_small.gif" border="0" width="12" height="10"></a>';
	}
	output += '&nbsp;&nbsp;<a href="javascript:scrollMonth(-1);" class="cal-DayLink">&lt;</a>&nbsp;<SELECT class="cal-TextBox" NAME="cboMonth" onChange="changeMonth();">';
	for(month=0; month<12; month++)
	{	if (month == whatMonth) output += '<OPTION VALUE="' + month + '" SELECTED>' + names[month] + '<\/OPTION>';
		else output += '<OPTION VALUE="' + month + '">' + names[month] + '<\/OPTION>';
	}
	output += '<\/SELECT><SELECT class="cal-TextBox" NAME="cboYear" onChange="changeYear();">';
	for (year=minYearList; year<maxYearList; year++)
	{	if (year == whatYear) output +='<OPTION VALUE="' + year + '" SELECTED>' + year + '<\/OPTION>';
		else output += '<OPTION VALUE="' + year + '">' + year + '<\/OPTION>';
	}
	output += '<\/SELECT>&nbsp;<a href="javascript:scrollMonth(1);"	class="cal-DayLink">&gt;</a>&nbsp;&nbsp;<a href="javascript:hideCalendarwithX();"><img name="calbtn2" src="/viajeseroski/aptdos/vacaciones/imgs/btn_close_small.gif" border="0" width="12" height="10"></a><\/td><\/tr>';
	output += '<tr><td width="100%" align="center" class="cal-Table">';
	firstDay = new Date(whatYear,whatMonth,1);
	startDay = firstDay.getDay();
	if (startDay == 0)
		startDay = 6;
	else
		startDay --;
	if (((whatYear % 4 == 0) &&	(whatYear %	100	!= 0)) || (whatYear	% 400 == 0))
		 days[1] = 29;
	else
		 days[1] = 28;
	output += '<table width="185" cellspacing="1" cellpadding="2" border="0" bgcolor="#004487"><tr>';
	for	(i=0; i<7; i++)
	{	if (i==0 ||	i==6) 
			datecolwidth="15%"
		else
			datecolwidth="14%"
		output += '<td class="cal-HeadCell" width="' + datecolwidth + '" align="center" valign="middle">'+ dow[i] +'<\/td>';
	}
	output += '<\/tr><tr>';
	var column = 0;
	var lastMonth =	whatMonth -	1;
	var lastYear = whatYear;
	if (lastMonth == -1) { lastMonth = 11; lastYear=lastYear-1;}
	for	(i=0; i<startDay; i++, column++)
	{//	output += getDayLink((days[lastMonth]-startDay+i+1),true,lastMonth,lastYear);
		output += getDayLink((days[lastMonth]-startDay+i+1),true,lastMonth,lastYear);
	}
	for	(i=1; i<=days[whatMonth]; i++, column++)
	{	output += getDayLink(i,false,whatMonth,whatYear);
		if (column == 6)
		{	output += '<\/tr><tr>';
			column = -1;
		}
	}
	var nextMonth =	whatMonth+1;
	var nextYear = whatYear;
	if (nextMonth==12) { nextMonth=0; nextYear=nextYear+1;}
	if (column > 0)
	{	for	(i=1; column<7;	i++, column++)
		{	output +=  getDayLink(i,true,nextMonth,nextYear);
		}
		output += '<\/tr><\/table><\/td><\/tr>';
	}else
	{	output = output.substr(0,output.length-4); // remove the <tr> from the end if there's no last row
		output += '<\/table><\/td><\/tr>';
	}
	if (ppcNN6)
		output += '<\/table><\/form>';
	else
		output += '<\/form><\/table>';
	curDate.setDate(1);
	curDate.setMonth(startMonth);
	curDate.setFullYear(startYear);
	return output;
}

function getDayLink(linkDay,isGreyDate,linkMonth,linkYear)
{	var templink;
	if (!(IsUsingMinMax))
	{	if (isGreyDate)
		{	templink='<td align="center" class="cal-GreyDate">'	+ linkDay +	'<\/td>';
		}else
		{	if (isDayToday(linkDay))
			{	templink='<td align="center" class="cal-DayCell">' + '<a class="cal-TodayLink" onmouseover="self.status=\' \';return true" href="javascript:changeDay('	+ linkDay +	');">' + linkDay + '<\/a>' +'<\/td>';
			}else
			{	templink='<td align="center" class="cal-DayCell">' + '<a class="cal-DayLink" onmouseover="self.status=\' \';return true" href="javascript:changeDay(' +	linkDay	+ ');">' + linkDay + '<\/a>' +'<\/td>';
			}
		}
	}else
	{	if (isDayValid(linkDay,linkMonth,linkYear))
		{	if (isGreyDate)
			{	templink='<td align="center" class="cal-GreyDate">'	+ linkDay +	'<\/td>';
			}else
			{	if (isDayToday(linkDay))
				{	templink='<td align="center" class="cal-DayCell">' + '<a class="cal-TodayLink" onmouseover="self.status=\' \';return true" href="javascript:changeDay('	+ linkDay +	');">' + linkDay + '<\/a>' +'<\/td>';
				}else
				{	templink='<td align="center" class="cal-DayCell">' + '<a class="cal-DayLink" onmouseover="self.status=\' \';return true" href="javascript:changeDay(' +	linkDay	+ ');">' + linkDay + '<\/a>' +'<\/td>';
				}
			}
		}else
		{	templink='<td align="center" class="cal-GreyInvalidDate">'+	linkDay	+ '<\/td>';
		}
	}
	return templink;
}

function isDayToday(isDay)
{	if ((curDate.getFullYear() == todayDate.getFullYear()) && (curDate.getMonth() == todayDate.getMonth()) && (isDay ==	todayDate.getDate()))
		return true;
	else
		return false;
}

function isDayValid(validDay, validMonth, validYear)
{	curDate.setDate(validDay);
	curDate.setMonth(validMonth);
	curDate.setFullYear(validYear);
	if ((curDate>=minDate) && (curDate<=maxDate))
		return true;
	else
		return false;
}

function padout(number)
{	return (number < 10) ? '0' + number :	number;
}

function clearDay()
{	eval('document.' + calfrmName +	'.'	+ curDateBox + '.value = \'\'');
	hideCalendar();
	if (FuncsToRun!=null)
		eval(FuncsToRun);
}

function changeDay(whatDay)
{	curDate.setDate(whatDay);
	eval('this.document.' + calfrmName + '.' + curDateBox + '.value = "' + padout(curDate.getDate()) + '/' + months[curDate.getMonth()] + '/' + curDate.getFullYear() + '"');
	hideCalendar();
	if (FuncsToRun!=null)
		eval(FuncsToRun);
}

function scrollMonth(amount)
{	var monthCheck;
	var yearCheck;
	if (ppcIE)
	{	monthCheck = document.forms["Cal"].cboMonth.selectedIndex +	amount;
	}else if (ppcNN) monthCheck = document.popupcalendar.document.forms["Cal"].cboMonth.selectedIndex + amount;
	if (monthCheck < 0)
	{	yearCheck =	curDate.getFullYear() -	1;
		if ( yearCheck < minYearList )
		{	yearCheck =	minYearList;
			monthCheck = 0;
		}else
		{	monthCheck = 11;
		}
		curDate.setFullYear(yearCheck);
	}
	else if	(monthCheck	>11)
		{	yearCheck =	curDate.getFullYear() +	1;
			if ( yearCheck > maxYearList-1 )
			{	yearCheck =	maxYearList-1;
				monthCheck = 11;
			}else
			{	monthCheck = 0;
			}
			curDate.setFullYear(yearCheck);
		}
	if (ppcIE)
		curDate.setMonth(document.forms["Cal"].cboMonth.options[monthCheck].value);
	else if (ppcNN) curDate.setMonth(document.popupcalendar.document.forms["Cal"].cboMonth.options[monthCheck].value );
	domlay('popupcalendar',1,ppcX,ppcY,Calendar(curDate.getMonth(),curDate.getFullYear()));
}

function changeMonth()
{	if (ppcIE)
	{	curDate.setMonth(document.forms["Cal"].cboMonth.options[document.forms["Cal"].cboMonth.selectedIndex].value);
		domlay('popupcalendar',1,ppcX,ppcY,Calendar(curDate.getMonth(),curDate.getFullYear()));
	}else	if (ppcNN)
			{	curDate.setMonth(document.popupcalendar.document.forms["Cal"].cboMonth.options[document.popupcalendar.document.forms["Cal"].cboMonth.selectedIndex].value);
				domlay('popupcalendar',1,ppcX,ppcY,Calendar(curDate.getMonth(),curDate.getFullYear()));
			}
}

function changeYear()
{	if (ppcIE)
	{	curDate.setFullYear(document.forms["Cal"].cboYear.options[document.forms["Cal"].cboYear.selectedIndex].value);
		domlay('popupcalendar',1,ppcX,ppcY,Calendar(curDate.getMonth(),curDate.getFullYear()));
	}else	if (ppcNN) 
			{	curDate.setFullYear(document.popupcalendar.document.forms["Cal"].cboYear.options[document.popupcalendar.document.forms["Cal"].cboYear.selectedIndex].value);
				domlay('popupcalendar',1,ppcX,ppcY,Calendar(curDate.getMonth(),curDate.getFullYear()));
			}
}

function makeArray0()
{	for	(i = 0;	i<makeArray0.arguments.length; i++)
		this[i]	= makeArray0.arguments[i];
}

var names =new makeArray0('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic');
var months =new makeArray0('01','02','03','04','05','06','07','08','09','10','11','12');
var days =new makeArray0(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var dow =new makeArray0('L','M','M','J','V','S','D');