	/* registrace onload */
	window.onload=loadInit;
	window.onresize=resizeInit;
	
	function loadInit() {
		footerInit();
		vyhledavaniFilterDisabledInit();
		
		vyhledavaniFilterOnsubmitInit();//inicializace kontroly datumu ve filtru vyhledavani
		veletrhFilterOnsubmitInit();//inicializace kontroly datumu ve filtru veletrhu
		privFilterOnsubmitInit();//inicializace kontroly datumu ve filtru privat. firem
		kalendarFilterOnsubmitInit();//inicializace kontroly datumu ve filtru kalendare
		
		arealInit();//inicializace naplneni a zmeny arealu v zavislosti na zemi
		regionInit();//inicializace naplneni a zmeny regionu v zavislosti na zemi (prezentace - mesta)
		oboryInit();//inicializace naplneni a zmeny oboru v zavislosti na hlavnim oboru (prezentace - firmy)
		
		if(navigator.appName=='Microsoft Internet Explorer') resizeWindow();
	}
	
	function resizeInit() {
		if(navigator.appName=='Microsoft Internet Explorer') resizeWindow();
	}
	
	
	function resizeWindow() {
		//if(document.body.offsetWidth%2!=0) window.resizeBy(1,0);
	}
	
	/* globalni promenne */
	var footer;
	var bPT;
	var IE = false;
	if(document.all) IE = true;
	
	window.onload=loadInit;
	
	function footerInit() {
		footer = gEBI('footer');
		IE ? window.onscroll=scrollInit : footer.style.position = 'fixed';
	}
	
	function scrollInit() {
		bottomUnpos();
	}
	
	function bottomPos() {
/*		footer.style.position = 'fixed';
		footer.style.position = 'absolute';*/
		footer.style.visibility = 'visible';
		bPT = null;
	}
	
	function bottomUnpos() {
		footer.style.visibility = 'hidden';
		if(bPT) window.clearInterval(bPT);
		bPT = window.setTimeout('bottomPos()', 500);
	}
	
	
	
	
	
	/* otevira popup okno definovanych rozmeru */
	function openPopup(a, w, h) {
		if(!w) w = 300;
		if(!h) h = 200;
		window.open(a.href, 'news', 'width='+w+', height='+h+', left=200, top=100, location=no, menubar=no, status=no, toolbar=no, resizable=yes, scrollbars=yes');
		return false;
	}
	
	/* funkce pro zmenu vyberu vystaviste v zavislosti na statu */
	function arealInit() {
		if(gEBI('vel-stat')) {
			changeSelect('vel-stat', 'vel-areal');//vyprazdni hodnoty a vlozi jen pro dany stat
			gEBI('vel-stat').onchange = changeAreal;//registrace zmeny seznamu arealu pri zmene statu
		}
	}
	
	function changeAreal() {
		changeSelect('vel-stat', 'vel-areal');
	}
	
	/* funkce pro zmenu vyberu regionu v zavislosti na statu */
	function regionInit() {
		if(gEBI('mesta-stat')) {
			changeSelect('mesta-stat', 'mesta-region');//vyprazdni hodnoty a vlozi jen pro dany stat
			gEBI('mesta-stat').onchange = changeRegion;//registrace zmeny seznamu arealu pri zmene statu
		}
	}
	
	function changeRegion() {
		changeSelect('mesta-stat', 'mesta-region');
	}
	
	/* funkce pro zmenu vyberu oboru v zavislosti na hlavnim oboru */
	function oboryInit() {
		if(gEBI('firmy-obor-hlavni')) {
			changeSelect('firmy-obor-hlavni', 'firmy-obor');//vyprazdni hodnoty a vlozi jen pro dany stat
			gEBI('firmy-obor-hlavni').onchange = changeObor;//registrace zmeny seznamu arealu pri zmene statu
		}
	}
	
	function changeObor() {
		changeSelect('firmy-obor-hlavni', 'firmy-obor');
	}
	
	/* obecna fce changeSelect */
	
	function changeSelect(parent_select_id, child_select_id) {
		var childSelect = gEBI(child_select_id);
		var i;
		
		/* odebrani vsech options */
		for(i=(childSelect.length-1); i>0; i--) {
			childSelect.remove(i);
		}
		
		/*pridani vsech options arealu pro dany stat */
		var stat_id = gEBI(parent_select_id).value;
		var f_c_i_stat = FILTER_child_items[stat_id];
		if(f_c_i_stat) {
			for(i=0; i<f_c_i_stat.length; i++) {
				var option = document.createElement('option');
				option.value = f_c_i_stat[i]['id'];
				option.text = f_c_i_stat[i]['name'];
				if(item_selected == f_c_i_stat[i]['id']) option.selected = true;
				if(item_selected[f_c_i_stat[i]['id']]) option.selected = true;//ostreni i multiselectu - item_selectee muze byt pole
				if(IE) {
					childSelect.add(option);
				} else {
					childSelect.add(option, null);
				}
			}
		}
	}
	/* inicializace kontroly datumu ve filtru veletrhu */
	function veletrhFilterOnsubmitInit() {
		var filter = gEBI('vel-filter');
		if(filter) filter.onsubmit = checkVeletrhFilter;
	}
	function privFilterOnsubmitInit() {
		var filter = gEBI('priv-filter');
		if(filter) filter.onsubmit = checkPrivFilter;
	}
	
	function vyhledavaniFilterOnsubmitInit() {
		var filter = gEBI('search-filter');
		if(filter) filter.onsubmit = checkSearchFilter;
	}
	function kalendarFilterOnsubmitInit() {
		var filter = gEBI('calendar-filter');
		if(filter) filter.onsubmit = checkCalendarFilter;
	}
	
	/* funkce kontrolujici data od do pri submitu */
	var filter_form, od_value, do_value;
	
	function checkPrivFilter() {
		var filter_form = gEBI('priv-filter');
		
		od_value = filter_form.elements['priv[od]'].value;
		do_value = filter_form.elements['priv[do]'].value;
		
		return checkFilter();
	}
	
	function checkVeletrhFilter() {
		var filter_form = gEBI('vel-filter');
		
		od_value = filter_form.elements['vel[od]'].value;
		do_value = filter_form.elements['vel[do]'].value;
		
		return checkFilter();
	}
	
	function checkSearchFilter() {
		var filter_form = gEBI('search-filter');
		
		od_value = filter_form.elements['search[articles_od]'].value;
		do_value = filter_form.elements['search[articles_do]'].value;
		
		var od_do_OK = checkFilter();
		if (od_do_OK) {
			var vals = filter_form.elements;
			if (!(vals['search[structure]'].checked || vals['search[privatization]'].checked || vals['search[articles]'].checked || vals['search[states]'].checked || vals['search[regions]'].checked  || vals['search[cities]'].checked || vals['search[firms]'].checked)) {
				alert('Nebyla vybrána ani jedna oblast, ve které se má provést vyhledávání!');
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	}
	
	function checkCalendarFilter() {
		var filter_form = gEBI('calendar-filter');
		
		od_value = filter_form.elements['calendar[from]'].value;
		do_value = filter_form.elements['calendar[to]'].value;
		
		var od_do_OK = checkFilter();
		if (od_do_OK) {
			var vals = filter_form.elements;
			if (!(vals['calendar[actions]'].checked || vals['calendar[articles]'].checked || vals['calendar[exhibitions]'].checked || vals['calendar[privatization]'].checked)) {
				alert('Nebyla vybrána ani jedna oblast Kalendáře akcí, ve které se má provést vyhledávání!');
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	}
	
	/* obecna fce */
	function checkFilter() {
		var ok = true;
		var alert_string = '';
		
		if(od_value!='' && !od_value.match("^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$")) {
			ok = false;
			alert_string += 'Do políčka "datum od" je nutné uvést datum ve tvaru dd.mm.rrrr (např. 16.07.2003)!'+"\n";
		}
		if(do_value!='' && !do_value.match("^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$")) {
			ok = false;
			alert_string += 'Do políčka "datum do" je nutné uvést datum ve tvaru dd.mm.rrrr (např. 16.07.2003)!';
		}
		if(ok) {
			return true;
		} else {
			alert(alert_string);
			return false;
		}
	}
	
	/* disablovani u vyhledavani */
	
	function vyhledavaniFilterDisabledInit() {
		var checkbox = gEBI('search-articles');
		if(checkbox) {
			changeArticleFilter();
			checkbox.onchange = changeArticleFilter;
		}
	}
	
	function changeArticleFilter() {
		var checkbox = gEBI('search-articles');
		var ids = new Array('search-articles-co', 'search-articles-od', 'search-articles-do');
		able_disable(checkbox, ids);
	}
	
	function able_disable(object, ids) {
		for(i=0; i<ids.length; i++) {
			gEBI(ids[i]).disabled = !object.checked;
		}
	}
	
	
	
	