//
// 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(form[arrivalDateName].value);
		var depDate = parseDate(form[departureDateName].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."
			result = false;
		}
		
		if (e.name==arrivalDateName)
		{
			form[departureDateName].value = formatDate(addDaysToDate(arrivalDate, parseInt(form[numOfNightsSelect].value)));
		}
		else if (depDate <= arrivalDate)
		{
			alert('Дата выезда должна быть позднее чем дата прибытия.');	//"Data Wyjazdu musi byж pујniejsza od Daty Przybycia."
			result = false;
		}
		
		if (result==false)
		{
			if (e.name==arrivalDateName)
				form[arrivalDateName].value = formatDate(addDaysToDate(depDate, -1));
			else
				form[departureDateName].value = formatDate(addDaysToDate(arrivalDate, 1));
		}
		
		var tempResult = onDepartureDateChange(form, form[departureDateName].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('Неправильный формат даты прыбытия.\n\nПравильный формат даты: ГГГГ-ММ-ДД.');	//"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."
		return false;
	}

	if (hotel)
		form[departureDateName].value = formatDate(addDaysToDate(arrivalDate, parseInt(form[numOfNightsSelect].value)));
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w okienku edycyjnym DepartureDate.
//
function onDepartureDateChange(form, departureDate)
{
	var arrivalDate = parseDate(form[arrivalDateName].value);
	if (arrivalDate==null)
	{
		alert('Неправильный формат даты прыбытия.\n\nПравильный формат даты: ГГГГ-ММ-ДД.');	//"Nieprawidіowy format Daty Przybycia..."
		return false;
	}
	
	var depDate = parseDate(departureDate);
	if (depDate==null)
	{
		alert('Неправильный формат даты выезда.\n\nПравильный формат даты: ГГГГ-ММ-ДД.');	//"Nieprawidіowy format Daty Wyjazdu..."
		return false;
	}
	
	if (depDate <= arrivalDate)
	{
		alert('Дата выезда должна быть позднее чем дата прибытия.');	//"Data Wyjazdu musi byж pујniejsza od Daty Przybycia."
		return false;	
	}
	if ((depDate-arrivalDate)/(1000*60*60*24) > 60)
	{
		alert('Data Wyjazdu nie moze byc poјniejsza niz 60 dni od Daty Przybycia.');	//"Data Wyjazdu nie moїe byж pујniejsza niї 60 dni od Daty Przybycia."
		return false;
	}
	
	form[numOfNightsSelect].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(form[arrivalDateName].value);
	if (arrivalDate==null)
	{
		alert('Неправильный формат даты прыбытия.\n\nПравильный формат даты: ГГГГ-ММ-ДД.');	//"Nieprawidіowy format Daty Przybycia..."
		return false;
	}
	
	numOfNights = parseInt(numOfNights);
	
	var newDate = new Date(arrivalDate.getFullYear(), arrivalDate.getMonth(), arrivalDate.getDate()+numOfNights);
	
	form[departureDateName].value = formatDate(newDate);
}

//
// Funkcja obslugi zdarzenia - zmiana wartosci w liscie NumOfAdults.
//
function onNumOfAdultsChange(form, numOfAdults)
{
	var numOfBeds = form[numOfBedsSelect];
	var count = numOfBeds.options.length;
	var i;
	
 //	for (i=0; i<count; i++)
  //	{
  ///		numOfBeds.remove(0);
  ///	}
  

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

	//numOfBeds.selectedIndex = 0;

	
	//var start = numOfAdults > 1 ? Math.ceil(numOfAdults/2) : 1;
	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;
	}
  	//	for (i=start; i<=stop; i++)
	//{
	///	var el = document.createElement('OPTION');
	//		el.text = String(i);
	///	el.value = i;
	///	numOfBeds.add(el, document.all ? i : null);
	//	//numOfBeds.selectedIndex++;
	//}
	numOfBeds.value = stop;
}

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

function formSubmit(form)
{
	/*  Na razie bez popupa
	
	if (parseInt(form[numOfNightsSelect].value) > 10)
	{
		var win = window.open("search_popup.php?lang=polish", "_blank", "left=50,top=50,height=150,width=250,toolbar=no,menubar=no,location=no,directories=no,status=no");
	}*/
	return true;
}

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

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;
	}
}



