

var PSearchObjektKatalogObjektId;
var PSearchObjektTypDopravyId;
var PSearchObjektNastupneMiestoId;
var PSearchObjektTerminPobytuId;
var PSearchObjektPocetOsob;
var PSearchObjektPocetDeti;
var PSearchObjektDetiVek = new Array(3);
var PSearchObjektKapacitaId;
var PSearchObjektCestovnePoistenieId;
var PSearchObjektSemafor;

function getPSearchObjektKatalogObjektId() {
	return $("#PSearchObjektKatalogObjektId").val();
}

function getPSearchObjektTypDopravyId() {
	var id = "";
	$("#PSearchObjektTypDopravyId option:selected").each(function () { id = $(this).val(); });
	return id;
}

function getPSearchObjektNastupneMiestoId() {
	var id = 0;
	$("#PSearchObjektNastupneMiestoId option:selected").each(function () { id = $(this).val(); });
	return id;
}

function getPSearchObjektTerminPobytuId() {
	var id = 0;
	$("#PSearchObjektTerminPobytuId option:selected").each(function () { id = $(this).val(); });
	return id;
}

function getPSearchObjektCestovnePoistenie() {
	if( $('#PSearchObjektCestovnePoistenie').is(':checked') ) {
		return 1;
	} else {
		return 0;
	};
}

function getPSearchObjektPocetOsobyDospele() {
	return $("#PSearchObjektOsobyDospele").val();
}

function getPSearchObjektPocetOsobyDeti() {
	return $("#PSearchObjektOsobyDeti").val();
}

function getPSearchObjektOsobyDetiVek() {
	var veky = new Array();
	$("#PSearchObjektDietaVek1 option:selected").each(function () { veky[0] = $(this).val(); });
	$("#PSearchObjektDietaVek2 option:selected").each(function () { veky[1] = $(this).val(); });
	$("#PSearchObjektDietaVek3 option:selected").each(function () { veky[2] = $(this).val(); });
	return veky;
}

function setPSearchObjektKatalogObjektId( katalogObjektId ) { PSearchObjektKatalogObjektId = katalogObjektId; }
function setPSearchObjektTypDopravyId( typDopravyId ) { PSearchObjektTypDopravyId = typDopravyId; }
function setPSearchObjektNastupneMiestoId( nastupneMiestoId ) { PSearchObjektNastupneMiestoId = nastupneMiestoId; }
function setPSearchObjektTerminPobytuId( terminPobytuId ) { PSearchObjektTerminPobytuId = terminPobytuId; }
function setPSearchObjektPocetOsob( pocetOsob ) { PSearchObjektPocetOsob = pocetOsob; }
function setPSearchObjektPocetDeti( pocetDeti ) { PSearchObjektPocetDeti = pocetDeti; }

function getPSearchObjektTypDopravy() {
	$.getJSON('http://www.jazzwelt.sk/ajax/ajaxTypDopravy.php', 
		{ 	katalogObjektId: PSearchObjektKatalogObjektId 
		}, createPSearchObjektTypDopravyOptions );
}

function getPSearchObjektNastupneMiesto() {
	$.getJSON('http://www.jazzwelt.sk/ajax/ajaxNastupneMiesto.php', 
		{ 	katalogObjektId: PSearchObjektKatalogObjektId, 
			typDopravy: PSearchObjektTypDopravyId
		}, createPSearchObjektNastupneMiestoOptions );
}

function getPSearchObjektTerminPobytu() {
	$.getJSON('http://www.jazzwelt.sk/ajax/ajaxTerminPobytu.php', 
		{ 	katalogObjektId: PSearchObjektKatalogObjektId, 
			typDopravy: PSearchObjektTypDopravyId,
			nastupneMiesto: PSearchObjektNastupneMiestoId,
			osobDospelych: getPSearchObjektPocetOsobyDospele(),
			osobDeti: getPSearchObjektPocetOsobyDeti(),
			vekDeti: getPSearchObjektOsobyDetiVek() 
		}, createPSearchObjektTerminPobytuOptions );
}

function getPSearchObjektKapacityCeny() {
	if( isNaN(PSearchObjektSemafor) === true ) PSearchObjektSemafor = 0;
	if( PSearchObjektSemafor > 0 ) return;
	PSearchObjektSemafor = PSearchObjektSemafor + 1;
	$.get('http://www.jazzwelt.sk/ajax/ajaxKatalogObjektKapacityCeny.php', 
		{ 	katalogObjektId: PSearchObjektKatalogObjektId, 
			typDopravy: PSearchObjektTypDopravyId,
			nastupneMiesto: PSearchObjektNastupneMiestoId,
			terminPobytu: PSearchObjektTerminPobytuId,
			osobDospelych: getPSearchObjektPocetOsobyDospele(),
			osobDeti: getPSearchObjektPocetOsobyDeti(),
			vekDeti: getPSearchObjektOsobyDetiVek(),
			cestovnePoistenie: getPSearchObjektCestovnePoistenie() 
		}, createPSearchObjektKapacityCeny );
}

function createPSearchObjektTypDopravyOptions( jsonArray, textStatus ) {
	$("#PSearchObjektTypDopravyId").html("");
	$("#PSearchObjektTypDopravyId").append( $("<option></option>").val(0).html("typ dopravy"));
	$.each(jsonArray, function(val, element) { 
		$("#PSearchObjektTypDopravyId").append( $("<option></option>").val(element.typDopravyId).html(element.nazov));
	});
	$("#PSearchObjektTypDopravyId option").each(function () { if( PSearchObjektTypDopravyId == $(this).val() ) $(this).attr("selected", "true"); });	
}

function createPSearchObjektNastupneMiestoOptions( jsonArray, textStatus ) {
	$("#PSearchObjektNastupneMiestoId").html("");
	$("#PSearchObjektNastupneMiestoId").append( $("<option></option>").val(0).html("nástupné miesto"));
	$.each(jsonArray, function(val, element) { 
		$("#PSearchObjektNastupneMiestoId").append( $("<option></option>").val(element.nastupneMiestoId).html(element.nazov));
	});	
	$("#PSearchObjektNastupneMiestoId option").each(function () { if( PSearchObjektNastupneMiestoId == $(this).val() ) $(this).attr("selected", "true"); });
}

function createPSearchObjektTerminPobytuOptions( jsonArray, textStatus ) {
	$("#PSearchObjektTerminPobytuId").html("");
	if( jsonArray.length < 1 ) $("#PSearchObjektTerminPobytuId").append( $("<option></option>").val(0).html("vyberte typ dopravy a nástupné miesto"));
	if( jsonArray.length >= 1 ) $("#PSearchObjektTerminPobytuId").append( $("<option></option>").val(0).html("termín pobytu"));
	$.each(jsonArray, function(val, element) { 
		$("#PSearchObjektTerminPobytuId").append( $("<option></option>").val(element.terminPobytuId).html(element.nazov));
	});	
	$("#PSearchObjektTerminPobytuId option").each(function () { if( PSearchObjektTerminPobytuId == $(this).val() ) $(this).attr("selected", "true"); });
}

function createPSearchObjektKapacityCeny( data, textStatus ) {
	$("#PSearchKatalogObjektKapacityCeny").html( data );
}

function zmenPSearchObjektZobrazenieDetiVek() {
	var pocetDeti = new Number(getPSearchObjektPocetOsobyDeti());

	var ct=0;
	for( x = 1; x <= pocetDeti; x++ ) {
		var divId = 'PSearchObjektDietaVekDiv'+x;
		var labelId = 'PSearchObjektDietaVekLabel'+x;
		if( $("div[id='"+divId+"']").hasClass("none") ) {
			$("div[id='"+divId+"']").removeClass("none");
		}
		if( $("label[id='"+labelId+"']").hasClass("none") ) {
			$("label[id='"+labelId+"']").removeClass("none");
		}
		ct++;
	}; 

	for( x = pocetDeti+1; x <= 3; x++ ) {
		var divId = 'PSearchObjektDietaVekDiv'+x;
		var labelId = 'PSearchObjektDietaVekLabel'+x;
		if( $("div[id='"+divId+"']").hasClass("none") === false ) {
			$("div[id='"+divId+"']").addClass("none");
		}
		if( $("label[id='"+labelId+"']").hasClass("none") === false ) {
			$("label[id='"+labelId+"']").addClass("none");
		}
	}; 
	if(ct>0) {
		$("#childs").css('display','block');
	}else{
		$("#childs").css('display','none');
	}
}

function PSearchObjektTypDopravyChange() { savePSearchObjektState(); getPSearchObjektNastupneMiesto(); getPSearchObjektTerminPobytu(); getPSearchObjektKapacityCeny(); };
function PSearchObjektNastupneMiestoChange() { savePSearchObjektState(); getPSearchObjektTerminPobytu(); getPSearchObjektKapacityCeny(); };
function PSearchObjektOsobyDospeleChange() { savePSearchObjektState(); getPSearchObjektKapacityCeny(); };
function PSearchObjektOsobyDetiChange() { savePSearchObjektState(); zmenPSearchObjektZobrazenieDetiVek(); getPSearchObjektKapacityCeny(); };
function PSearchObjektTerminPobytuChange() { savePSearchObjektState(); getPSearchObjektKapacityCeny(); }
function PSearchObjektCestovnePoistenieChange() { savePSearchObjektState(); getPSearchObjektKapacityCeny(); };

function savePSearchObjektState() {
	PSearchObjektKatalogObjektId = getPSearchObjektKatalogObjektId();
	PSearchObjektTypDopravyId = getPSearchObjektTypDopravyId();
	PSearchObjektNastupneMiestoId = getPSearchObjektNastupneMiestoId();
	PSearchObjektTerminPobytuId = getPSearchObjektTerminPobytuId();
	PSearchObjektPocetOsob = getPSearchObjektPocetOsobyDospele();
	PSearchObjektPocetDeti = getPSearchObjektPocetOsobyDeti();
	PSearchObjektDetiVek = getPSearchObjektOsobyDetiVek();

	PSearchObjektSemafor = 0;
}
		
function ajaxRequestSend(e, xhr, settings) {
					
	if ( settings.url.search('ajaxTypDopravy.php') > -1  ) {
		$("#PSearchObjektTypDopravyId").html("");
		$("#PSearchObjektTypDopravyId").append( $("<option></option>").val(0).html("načítavam ..."));
	}

	if ( settings.url.search('ajaxNastupneMiesto.php') > -1  ) {
		$("#PSearchObjektNastupneMiestoId").html("");
		$("#PSearchObjektNastupneMiestoId").append( $("<option></option>").val(0).html("načítavam ..."));
	}

	if ( settings.url.search('ajaxTerminPobytu.php') > -1  ) {
		$("#PSearchObjektTerminPobytuId").html("");
		$("#PSearchObjektTerminPobytuId").append( $("<option></option>").val(0).html("načítavam ..."));
	}

	if ( settings.url.search('ajaxKatalogObjektKapacityCeny.php') > -1  ) {
		$("#PSearchKatalogObjektKapacityCeny").html("zisťujem dostupné ubytovanie ...");
	}
	
}

$(document).ready( 
	function () { 
		$("#PSearchObjektTypDopravyId").ajaxSend( ajaxRequestSend );
		$("#PSearchObjektNastupneMiestoId").ajaxSend( ajaxRequestSend );
		$("#PSearchObjektTypDopravyId").ajaxStop( getPSearchObjektKapacityCeny );
	}
);	


