// datum
var monthsShort = new Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
var curDate 	= new Date();
var day	 		= curDate.getDate();
var monthIndex	= curDate.getMonth();
var year		= curDate.getFullYear();

// tage pro monat
var monthsDays	= new Array(31, (year%400==0||(year%4==0 && year%100!=0))?29:28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var monthDays	= monthsDays[monthIndex];


// --------------------------------------------------------------- DATE FUNCTIONS BEGIN ---------------------------------------------------------------------
function to2Digits(n)
{
	n = n%100;
	return ((n<10)?"0":"")+n;
}

function getDaysOptions(selDay)
{
	var ret = '';
	for (var i=1; i<monthDays+1; i++) ret += '<option value="'+to2Digits(i)+'"'+((to2Digits(i)==selDay)?' selected="selected"':'')+'>'+i+'</option>';
	return ret;
}

function getMonthsOptions(selMonth)
{
	var ret = '';
	for (var i=1; i<13; i++) 
	{
		currentMonth	= monthIndex+i;
		if (currentMonth>12) 
		{
			currentMonth	= currentMonth%12;
			currentYear 	= year+1;
		}
		else currentYear = year;
		ret += '<option value="'+to2Digits(currentMonth)+'.'+currentYear+'"'+((currentMonth==selMonth)?' selected="selected"':'')+'>'+monthsShort[currentMonth-1]+'-'+to2Digits(currentYear%2000)+'</option>';
	}
	return ret;
}

function showPic(url, win, params)	{
	var newWin = window.open(url, win, params);
	if (newWin)	newWin.focus();
}

// --------------------------------------------------------------- DATE FUNCTIONS END -----------------------------------------------------------------------


// wichtig: fuer korrekte auswahlen in selectboxen und popup
var curDateStr	= to2Digits(curDate.getDate())+"."+to2Digits(curDate.getMonth()+1)+"."+curDate.getFullYear();

var in1Day				= new Date(curDate.getTime()+1000*60*60*24);
var in1DayStr			= to2Digits(in1Day.getDate())+"."+to2Digits(in1Day.getMonth()+1)+"."+in1Day.getFullYear();
var in2Days				= new Date(curDate.getTime()+1000*60*60*24*2);
var in2DaysStr			= to2Digits(in2Days.getDate())+"."+to2Digits(in2Days.getMonth()+1)+"."+in2Days.getFullYear();
var in3Days				= new Date(curDate.getTime()+1000*60*60*24*3);
var in3DaysStr			= to2Digits(in3Days.getDate())+"."+to2Digits(in3Days.getMonth()+1)+"."+in3Days.getFullYear();
var in4Days				= new Date(curDate.getTime()+1000*60*60*24*4);
var in4DaysStr			= to2Digits(in4Days.getDate())+"."+to2Digits(in4Days.getMonth()+1)+"."+in4Days.getFullYear();
var in2Weeks			= new Date(curDate.getTime()+1000*60*60*24*14);
var in2WeeksStr			= to2Digits(in2Weeks.getDate())+"."+to2Digits(in2Weeks.getMonth()+1)+"."+in2Weeks.getFullYear();
var in2Weeks2Days		= new Date(curDate.getTime()+1000*60*60*24*16);
var in2Weeks2DaysStr	= to2Digits(in2Weeks2Days.getDate())+"."+to2Digits(in2Weeks2Days.getMonth()+1)+"."+in2Weeks2Days.getFullYear();

var in9Days		= new Date(curDate.getTime()+1000*60*60*24*9);
var in9DaysStr	= to2Digits(in9Days.getDate())+"."+to2Digits(in9Days.getMonth()+1)+"."+in9Days.getFullYear();
var in1Year		= new Date(curDate.getTime()+1000*60*60*24*365);
var in1YearStr	= to2Digits(in1Year.getDate())+"."+to2Digits(in1Year.getMonth()+1)+"."+in1Year.getFullYear();	


// --------------------------------------------------------------- LINK BUILDER -----------------------------------------------------------------------

function getRoomCode()
{
	var roomsCode = "";
	
	for (i=1; i<=2; i++)
	{
		// Raumzahl
		elem_roomCount	= document.getElementById("r"+i+"_count");
		room_count		= elem_roomCount.options[elem_roomCount.selectedIndex].value;
		// Raumart
		elem_roomType	= document.getElementById("r"+i+"_typ");
		room_type		= elem_roomType.options[elem_roomType.selectedIndex].value;
		// restliche Daten
		switch (room_type)
		{
			case "SR":
				adults		= 1;
				children 	= 0;
				break;
			case "TW":
				adults		= 2;
				children 	= 0;
				break;
			case "DR":
				adults		= 2;
				children 	= 0;
				break;
			case "TW+":
				room_type	= "TW";
				adults		= 2;
				children 	= 1;
				break;
			case "DR+":
				room_type	= "DR";
				adults		= 2;
				children 	= 1;
				break;
			case "DS":
				adults		= 1;
				children 	= 0;
				break;
			case "TR":
				adults		= 3;
				children 	= 0;
				break;
			case "QR":
				adults		= 4;
				children 	= 0;
				break;
			
		}
		age1	= document.getElementById("child"+i+"_1_age").options[document.getElementById("child"+i+"_1_age").selectedIndex].value;
		age2	= document.getElementById("child"+i+"_2_age").options[document.getElementById("child"+i+"_2_age").selectedIndex].value;
		age3	= document.getElementById("child"+i+"_3_age").options[document.getElementById("child"+i+"_3_age").selectedIndex].value;
		
		age1	= parseInt(age1).toString(16);
		age2	= parseInt(age2).toString(16);
		age3	= parseInt(age3).toString(16);
		
		roomsCode = roomsCode +"&r"+i+"=" + room_count + room_type + adults + children + age1 + age2 + age3;
	}
	roomsCode = roomsCode + "&r3=0DR20222";
	return roomsCode;
}

function buildLink(site, pid, keyword, cityname_lower)
{
	var a_code;
	if (site=="TOV") a_code = '012000';
	else a_code = '000736';
	
	//var url = 'http://bausteine.travel-overland.de/hotel/tov2/HotelStart.aspx?_as=true&_dl=true&pid='+pid+'&hotelname='+keyword+'&cin='+document.st.departureDay.options[document.st.departureDay.selectedIndex].value+'.'+document.st.departureMonthYear.options[document.st.departureMonthYear.selectedIndex].value+'&cout='+document.st.returningDay.options[document.st.returningDay.selectedIndex].value+'.'+document.st.returningMonthYear.options[document.st.returningMonthYear.selectedIndex].value+'&_u=Traveloverland&r1=1DR20222&r2=0DR20222&r3=0DR20222&_a='+a_code+'&destination='+cityname_lower;
	//var url = 'http://bausteine.travel-overland.de/hotel/tov2/HotelStart.aspx?_as=true&_dl=true&pid='+pid+'&cin='+document.st.departureDay.options[document.st.departureDay.selectedIndex].value+'.'+document.st.departureMonthYear.options[document.st.departureMonthYear.selectedIndex].value+'&cout='+document.st.returningDay.options[document.st.returningDay.selectedIndex].value+'.'+document.st.returningMonthYear.options[document.st.returningMonthYear.selectedIndex].value+'&_u=Traveloverland'+getRoomCode()+'&_a='+a_code+'&destination='+cityname_lower;
	
	var departureDay		= document.st.returningDay.options[document.st.returningDay.selectedIndex].value;
	var departureMonthYear	= document.st.returningMonthYear.options[document.st.returningMonthYear.selectedIndex].value.replace(".", "-");
	var arrivalDay			= document.st.departureDay.options[document.st.departureDay.selectedIndex].value;
	var arrivalMonthYear	= document.st.departureMonthYear.options[document.st.departureMonthYear.selectedIndex].value.replace(".", "-");
	var elem_roomCount	= document.getElementById("r1_count");
	var room_count		= elem_roomCount.options[elem_roomCount.selectedIndex].value;
	
	var url	= 'http://hotelweb2.ypsilon.net/index.php?action=loading&agent=tovhotel&conso=&arrivalDay='+arrivalDay+'&arrivalMonthYear='+arrivalMonthYear+'&departureDay='+departureDay+'&departureMonthYear='+departureMonthYear+'&searchTarget='+cityname_lower+'&destinationId=&lang=de_DE&room[0][adults]='+room_count+'&source=';
	var url	= 'http://hotelweb2.ypsilon.net/index.php?action=loading&agent=tovhotel&conso=&arrivalDay='+arrivalDay+'&arrivalMonthYear='+arrivalMonthYear+'&departureDay='+departureDay+'&departureMonthYear='+departureMonthYear+'&searchTarget='+cityname_lower+'&destinationId=&lang=de_DE&room[0][adults]='+room_count+'&source=';
	return url;
}

function roomSelection(id, elem_type, elem_count)
{
	var selTyp		= elem_type.options[elem_type.selectedIndex].value;
	var selCount	= elem_count.options[elem_count.selectedIndex].value;
	
	// setze Auswahl der Anzahl der Kinder sichtbar/unsichtbar
	for (i=1; i<=3; i++)
	{
		if ( (selTyp=="DR+"||selTyp=="TW+") && i<=selCount) document.getElementById("child"+id+"_"+i+"_age").style.display	= "inline";
		else 
		{
			document.getElementById("child"+id+"_"+i+"_age").style.display	= "none";
			document.getElementById("child"+id+"_"+i+"_age").options[0].selected = true;
		}
	}
	
	// setze Labels für Auswahl der Anzahl der Kinder sichtbar/unsichtbar
	var max_room_count = 0;
	for (i=1; i<=2; i++) // bestimme Maximum der Zimmerauswahl
	{
		elem_roomCount	= document.getElementById("r"+i+"_count");
		room_count		= elem_roomCount.options[elem_roomCount.selectedIndex].value;
		elem_roomType	= document.getElementById("r"+i+"_typ");
		room_type		= elem_roomType.options[elem_roomType.selectedIndex].value;
		if ( (room_type=="DR+"||room_type=="TW+") && room_count > max_room_count) max_room_count = elem_roomCount.options[elem_roomCount.selectedIndex].value;
	}
	for (i=1; i<=3; i++) // setze Sichtbarkeit der Labels
	{
		if (i<=max_room_count) document.getElementById("child"+i+"_label").style.display	= "inline";
		else document.getElementById("child"+i+"_label").style.display	= "none";
	}	
	if (max_room_count>0) 
	{
		document.getElementById("alter_label").style.visibility	= "visible";
		document.getElementById("age_info_label").style.visibility	= "visible";
	}
	else 
	{
		document.getElementById("alter_label").style.visibility	= "hidden";
		document.getElementById("age_info_label").style.visibility	= "hidden";
	}
}



