/* js kod spolecny pro vsechny vyhledavaci formulare */

var IEbrowser = false;
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
	IEbrowser = true;
}

// funkcionalita obsluhujici multiple select box pro vybirani letist (v jQuery)
function initDropdownchecklist(unpackUp) {
	// inicializuje multiple select box
	$("#rwselect").dropdownchecklist({ unpackUp: unpackUp, airport: true });
	// prida do multiple select boxu moznosti oznacit vse / zrusit vse
	var item = $("<div/>");                       
   	item.css({whiteSpace: "nowrap"}); 
    item.css({float: "left"});
    item.append("<span class='ui-selectAll'><a onclick='selectAllRW();'>označit vše</a>&nbsp;/&nbsp;<a onclick='deselectAllRW();'>zrušit vše</a></span>");
	var checkItem = function(event) {
	    event.stopPropagation();
	}
	item.click(checkItem);
	$("#ui-dropdownchecklist-airport-dropcontainer").append(item);
}

/* Oznaci vsechna letiste v multipleSelectBoxu */
function selectAllRW() {	
	var all = $(".ui-dropdownchecklist-item > input", "#ui-dropdownchecklist-airport-dropcontainer");
	for (var i = 0; i < all.length; i++) {
   		if (!all[i].checked) {
   			all[i].click();
   		}
 	}
 	return false;	
}

/* Zrusi vsechna letiste v multipleSelectBoxu */
function deselectAllRW() {	
	$(".ui-dropdownchecklist-item > input", "#ui-dropdownchecklist-airport-dropcontainer").attr("checked", "");
	$("#ui-dropdownchecklist-airport-values").text("");
	$("#rwselect").val("0");
	return false;
}
// konec funkcionality obsluhujici multiple select box pro vybirani letist

/* Zrusi vsechny poradatele v multipleSelectBoxu */
function deselectAllVC() {	
	$(".ui-dropdownchecklist-item > input", "#ui-dropdownchecklist-dropcontainer").attr("checked", "");
	$("#ui-dropdownchecklist-values").text("");
	$("#poradatel").val("");
}

/**
 * nastavuje zobrazovanie a skryvanie policok na zadavanie veku deti
 */
function zobrazPolickaPreDeti(value) {
   policko1=$('#tr-ka1');
   policko2=$('#tr-ka2');
   policko3=$('#tr-ka3');
   label=$('#tr-ka-label');
   if(value == '1') {
     policko1.show();
     policko2.hide();
     policko2.val('');
     policko3.hide();
     policko3.val('');
     label.show();
   } else if (value == '2') {
   policko1.show();
     policko2.show();
     policko3.hide();
     policko3.val('');
     label.show();
   } else if (value == '3') {
     policko1.show();
     policko2.show();
     policko3.show();
     label.show();
   } else {
     policko1.hide();
     policko1.val('');
     policko2.hide();
     policko2.val('');
     policko3.hide(); 
     policko3.val('');
     label.hide();
   }
}

/**
 * Naposledy stisknuta klavesa;
 */
var lastChar = '';
/**
 * Naposledy otevreny selectbox s cilovymi misty.
 */
var lastSelectId = '';
/**
 * Naposledy vybrana cilova destinace (jeji index v seznamu destinaci).
 */
var lastSelectIndex = 0;

/**
 * Funkce vybere cilovou destinaci ze selectboxu podle prvniho pismena
 * stisknuteho na klavesnici. Funkce bere v uvahu specialni formatovani cilovych
 * mist.
 * 
 * @param e event objekt
 * @param select selectbox s cilovymi misty
 * @return
 */
function selectZIELByKey(e, select) {
	var code = e.which;
	if (code < 65 || (code > 90 && code < 97) || code > 122) {		
		return false;
	}
	if (lastSelectId != select.id) {		
		lastSelectId = select.id;
		lastSelectIndex = 0;
		lastChar = '';
	}	
	var character = String.fromCharCode(code).toUpperCase();	
	if (character != lastChar) {
		lastSelectIndex = 0;
		lastChar = character;
	}		        					
	var next = true;
	if (lastSelectIndex == 0) {
		next = false;
	}
	var optionText;
	var found = false;
	var i = -1;
	$(select).children("option").each(function() {
		i++;
		optionText = this.innerHTML;		
		if (optionText.indexOf("- ") == 0) {			
			optionText = optionText.substr(2);       							
		} 
		if (optionText.indexOf(character) == 0) {											
			if (next) {
				if (i == lastSelectIndex) {
					next = false;
				}
			} else {
				lastSelectIndex = i;
				this.selected = true;
				select.selectedIndex = i;
				found = true;
				return false;
			}											
		}
	});	
	if (!found && lastSelectIndex != 0) {
		lastSelectIndex = 0;
		selectZIELByKey(e, select);
	}
	e.stopPropagation();
    e.preventDefault();
}