//
// Funkcja wywolywana z kalendarza (plik popupdate.js) w momencie wybrania daty
// na kalendarzu.
//
function ValidatePopupDate(elementId)
{
	var result = true;
	
	var e = eval('document.' + elementId);
	var form = e.form;

	if (e.name==arrivalDateName || e.name==departureDateName)
	{
		var arrivalDate = parseDate($('checkInDate').value);
		var depDate = parseDate($('departureDate').value);
		var today = new Date();
		today.setHours(0);
		today.setMinutes(0);
		today.setSeconds(0);
		today.setMilliseconds(0);

		if (arrivalDate < today)
		{
			alert('Data Przybycia nie może być wcześniejsza od daty dzisiejszej.');	//"Data Przybycia nie może być wcześniejsza od daty dzisiejszej."
			result = false;
		}
		
		if (e.name==arrivalDateName)
		{
			$('departureDate').value = formatDate(addDaysToDate(arrivalDate, parseInt($('numOfNightsSelect').value)));
		}
		else if (depDate <= arrivalDate)
		{
			alert('Data Wyjazdu musi być późniejsza od Daty Przybycia.');	//"Data Wyjazdu musi być późniejsza od Daty Przybycia."
			result = false;
		}
		
		if (result==false)
		{
			if (e.name==arrivalDateName)
				$('checkInDate').value = formatDate(addDaysToDate(depDate, -1));
			else
				$('departureDate').value = formatDate(addDaysToDate(arrivalDate, 1));
		}
		
		var tempResult = onDepartureDateChange(form, $('departureDate').value);
		result = result && tempResult;
	}
	
	return result;
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w okienku edycyjnym ArrivalDate.
//
function onArrivalDateChange(form, arrivalDate, hotel)
{
	var arrivalDate = parseDate(arrivalDate);
	if (arrivalDate==null)
	{
		alert('Nieprawidłowy format Daty Przybycia.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Przybycia..."
		return false;
	}
	
	var today = new Date();
	today.setHours(0);
	today.setMinutes(0);
	today.setSeconds(0);
	today.setMilliseconds(0);
	if (arrivalDate < today)
	{
		alert('Data Przybycia nie może być wcześniejsza od daty dzisiejszej.');	//"Data Przybycia nie może być wcześniejsza od daty dzisiejszej."
		return false;
	}

	if (hotel) {
		$('departureDate').value = formatDate(addDaysToDate(arrivalDate, parseInt($(numOfNightsSelect).value)));
	}
}

function onArrivalDateChange2(form, arrivalDate, hotel)
{
	var arrivalDate = parseDate(arrivalDate);
	if (arrivalDate==null)
	{
		alert('Nieprawidłowy format Daty Przybycia.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Przybycia..."
		return false;
	}
	
	var today = new Date();
	today.setHours(0);
	today.setMinutes(0);
	today.setSeconds(0);
	today.setMilliseconds(0);
	if (arrivalDate < today)
	{
		alert('Data Przybycia nie może być wcześniejsza od daty dzisiejszej.');	//"Data Przybycia nie może być wcześniejsza od daty dzisiejszej."
		return false;
	}

	if (hotel) {
		$(departureDateName2).value = formatDate(addDaysToDate(arrivalDate, parseInt($(numOfNightsSelect2).value)));
	}
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w okienku edycyjnym DepartureDate.
//
function onDepartureDateChange(form, departureDate)
{
	var arrivalDate = parseDate($('checkInDate').value);
	if (arrivalDate==null)
	{
		alert('Nieprawidłowy format Daty Przybycia.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Przybycia..."
		return false;
	}
	
	var depDate = parseDate(departureDate);
	if (depDate==null)
	{
		alert('Nieprawidłowy format Daty Wyjazdu.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Wyjazdu..."
		return false;
	}
	
	if (depDate <= arrivalDate)
	{
		alert('Data Wyjazdu musi być późniejsza od Daty Przybycia.');	//"Data Wyjazdu musi być późniejsza od Daty Przybycia."
		return false;	
	}
	if ((depDate-arrivalDate)/(1000*60*60*24) > 61)
	{
		alert('Data Wyjazdu nie może być późniejsza niż 60 dni od Daty Przybycia.');	//"Data Wyjazdu nie może być późniejsza niż 60 dni od Daty Przybycia."
		return false;
	}
	
	//form[numOfNightsSelect].value = parseInt((depDate.getTime() - arrivalDate.getTime())/(1000*60*60*24));
	$('numOfNightsSelect').value = Math.round((depDate.getTime() - arrivalDate.getTime())/(1000*60*60*24));
}

function onDepartureDateChange2(form, departureDate)
{
	var arrivalDate = parseDate($(arrivalDateName2).value);
	if (arrivalDate==null)
	{
		alert('Nieprawidłowy format Daty Przybycia.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Przybycia..."
		return false;
	}
	
	var depDate = parseDate(departureDate);
	if (depDate==null)
	{
		alert('Nieprawidłowy format Daty Wyjazdu.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Wyjazdu..."
		return false;
	}
	
	if (depDate <= arrivalDate)
	{
		alert('Data Wyjazdu musi być późniejsza od Daty Przybycia.');	//"Data Wyjazdu musi być późniejsza od Daty Przybycia."
		return false;	
	}
	if ((depDate-arrivalDate)/(1000*60*60*24) > 61)
	{
		alert('Data Wyjazdu nie może być późniejsza niż 60 dni od Daty Przybycia.');	//"Data Wyjazdu nie może być późniejsza niż 60 dni od Daty Przybycia."
		return false;
	}
	
	//form[numOfNightsSelect].value = parseInt((depDate.getTime() - arrivalDate.getTime())/(1000*60*60*24));
	$(numOfNightsSelect2).value = Math.round((depDate.getTime() - arrivalDate.getTime())/(1000*60*60*24));
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w liscie NumOfNights.
//
function onNumOfNightsChange(form, numOfNights)
{
	var arrivalDate = parseDate($('checkInDate').value);
	if (arrivalDate==null)
	{
		alert('Nieprawidłowy format Daty Przybycia.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Przybycia..."
		return false;
	}
	numOfNights = parseInt(numOfNights);
	var newDate = new Date(arrivalDate.getFullYear(), arrivalDate.getMonth(), arrivalDate.getDate()+numOfNights);
	$('departureDate').value = formatDate(newDate);
}

function onNumOfNightsChange2(form, numOfNights)
{
	var arrivalDate = parseDate($(arrivalDateName2).value);
	if (arrivalDate==null)
	{
		alert('Nieprawidłowy format Daty Przybycia.\n\nPrawidłowy format daty: YYYY-MM-DD.');	//"Nieprawidłowy format Daty Przybycia..."
		return false;
	}
	numOfNights = parseInt(numOfNights);
	var newDate = new Date(arrivalDate.getFullYear(), arrivalDate.getMonth(), arrivalDate.getDate()+numOfNights);
	$(departureDateName2).value = formatDate(newDate);
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w liscie NumOfAdults.
//
function onNumOfAdultsChange(form, numOfAdults)
{
	var numOfBeds = $('numOfBedsSelect');
	var count = numOfBeds.options.length;
	var i;

  	while(numOfBeds.options.length >= 1){numOfBeds.options[0]=null;}

	var start = numOfAdults > 1 ? numOfAdults-1 : 1;
	var stop = numOfAdults > 4 ? 4 : numOfAdults;
	
	if(numOfAdults==4) start=2;
	
	j=1;

	for (i=start; i<=stop; i++)
	{
			if (navigator.userAgent.indexOf('Opera')>-1) 
			{
				var obiekt = new Option( i, i);
	  			numOfBeds.options[j++] = obiekt;
	  		}
	  		else
	  		{
	  			var el = document.createElement('OPTION');
				el.text = String(i);
		  		el.value = i;
				numOfBeds.add(el, document.all ? i : null);
	  		}
	}
	
	if (navigator.userAgent.indexOf('Opera')>-1){numOfBeds.options[0]=null;}
	numOfBeds.value = stop;
}

function onNumOfAdultsChange2(form, numOfAdults2)
{
	var numOfBeds2 = $('numOfBedsSelect2');
	var count = numOfBeds2.options.length;
	var i;

  	while(numOfBeds2.options.length >= 1){numOfBeds2.options[0]=null;}

	var start = numOfAdults2 > 1 ? numOfAdults2-1 : 1;
	var stop = numOfAdults2 > 4 ? 4 : numOfAdults2;
	
	if(numOfAdults2==4) start=2;
	
	j=1;

	for (i=start; i<=stop; i++)
	{
			if (navigator.userAgent.indexOf('Opera')>-1) 
			{
				var obiekt = new Option( i, i);
	  			numOfBeds2.options[j++] = obiekt;
	  		}
	  		else
	  		{
	  			var el = document.createElement('OPTION');
				el.text = String(i);
		  		el.value = i;
				numOfBeds2.add(el, document.all ? i : null);
	  		}
	}
	
	if (navigator.userAgent.indexOf('Opera')>-1){numOfBeds2.options[0]=null;}
	numOfBeds2.value = stop;
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w liscie NumOfBeds.
//
function onNumOfBedsChange(form, numOfBeds)
{
	if (numOfBeds > $('numOfAdultsSelect').value)
		$('numOfAdultsSelect').value = numOfBeds;
	else if (numOfBeds*2 < $('numOfAdultsSelect').value)
		$('numOfAdultsSelect').value = numOfBeds*2;
}
function onNumOfBedsChange2(form, numOfBeds2)
{
	if (numOfBeds2 > $('numOfAdultsSelect2').value)
		$('numOfAdultsSelect2').value = numOfBeds2;
	else if (numOfBeds2*2 < $('numOfAdultsSelect2').value)
		$('numOfAdultsSelect2').value = numOfBeds2*2;
}

function formSubmit(form)
{
	return true;
}

function putDate( obj ,addDays )
{
	dzisiaj = new Date();
	document.write(
		dzisiaj.getYear() + '-' +
		( dzisiaj.getMonth() + 1 ) + '-' +
		dzisiaj.getDate() + '&nbsp;(YYYY-MM-DD):'
	);
}

function onStartLocationChange(form, oStartLocation)
{
	var oEndLocation = form.whatendLocation;
	if (oStartLocation.selectedIndex==oEndLocation.selectedIndex)
	{
		oEndLocation.selectedIndex = oStartLocation.selectedIndex == 0 ? 1 : 0;
	}
}

function onEndLocationChange(form, oEndLocation)
{
	var oStartLocation = form.whatstartLocation;
	if (oEndLocation.selectedIndex==oStartLocation.selectedIndex)
	{
		oStartLocation.selectedIndex = oEndLocation.selectedIndex == 0 ? 1 : 0;
	}
}

