///////////////////////////////////////////////////////////////////////////
// JavaScript Document pro Deceuninck - poptavkovy formular


	///////////////////////////////////////////////////////////////////////
	// zobrazi zvoleny box a ostatni skryje 
	function showBlock(block_id) {
		var block_array = ['pn_shapes', 'pn_square', 'pn_nothing', 'pn_empty'];
		for (i=0; i<block_array.length; i++) {
			var block_elem = document.getElementById(block_array[i]);
			if (block_array[i] == block_id)
				block_elem.style.display = 'block';
			else
				block_elem.style.display = 'none';
		}
	}


	///////////////////////////////////////////////////////////////////////
	// po vyberu z select boxu zmeni obsah boxu 
	function changeCategory() {
		var select_elem = document.getElementById('sel_category');
		switch (select_elem.value) {
			case 'okna':
				showBlock('pn_shapes');
				break;

			case 'terasy':
				showBlock('pn_square');
				break;
				
			case '-1':
				showBlock('pn_empty');
				break;
				
			default:
				showBlock('pn_nothing');
				break;
		}
		document.getElementById('sel_category_okna').value=select_elem.value;
		document.getElementById('sel_category_terasy').value=select_elem.value;
		document.getElementById('sel_category_ostatni').value=select_elem.value;
		document.getElementById('okna_errors').innerHTML = '';		
	}


	///////////////////////////////////////////////////////////////////////
	// vytvori request pro ajax	- vymazani vsech
	function erraseAll() {
		var request = 'errase_all=1';
		ajaxLoadItems(request);
	}
	

	///////////////////////////////////////////////////////////////////////
	// vytvori request pro ajax	- vymazani konkretniho
	function erraseItem(item_id) {
		var request = 'errase_item_id=' + item_id;
		ajaxLoadItems(request);
	}
	

	///////////////////////////////////////////////////////////////////////
	// vytvori request pro ajax	- beze zmeny
	function getItems() {
		var request = '';
		ajaxLoadItems(request);
	}
	

	///////////////////////////////////////////////////////////////////////
	// vytvori request pro ajax	- pridani polozky
	function addItem() {
		var request = '';
		var i;
		var form_elem = document.getElementById('poptavka');
		var form_elems = form_elem.getElementsByTagName('input');
		for (i=0; i<form_elems.length; i++) {
			if (form_elems[i].name) {
				if (form_elems[i].type == 'radio') {
					if (form_elems[i].checked) {
						request += form_elems[i].name + '=' + form_elems[i].value + '&';
					}
				} else if (form_elems[i].type == 'checkbox') {
					if (form_elems[i].checked)
						request += form_elems[i].name + '=1&';
					else
						request += form_elems[i].name + '=0&';
				} else {
					request += form_elems[i].name + '=' + form_elems[i].value + '&';
				}
			}
		}
		var form_elems = form_elem.getElementsByTagName('select');
		for (i=0; i<form_elems.length; i++)
			if (form_elems[i].name)
				request += form_elems[i].name + '=' + form_elems[i].value + '&';

		var form_elems = form_elem.getElementsByTagName('textarea');
		for (i=0; i<form_elems.length; i++)
			if (form_elems[i].name)
				request += form_elems[i].name + '=' + form_elems[i].value + '&';

		ajaxLoadItems(request);
	}
	

	///////////////////////////////////////////////////////////////////////
	// AJAX - javascriptem odesle pozadavek na ajax/poptavka_items_list.php pro generovani tabulky	
	function ajaxLoadItems(request) {
		// zobrazeni progress baru
		var submit_elems_array = document.getElementsByTagName('span');
		for (i=0; i<submit_elems_array.length; i++)
			if (submit_elems_array[i].className == 'progress_bar'){
				submit_elems_array[i].style.display = 'block';}
		// vyslani samotneho pozadavku
		if (window.XMLHttpRequest) {
			http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (eror) {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
	
		http_request.onreadystatechange = function() { ajaxLoadItemsRespond(http_request); };
		http_request.open('POST', 'cpn/?ajax', true);
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http_request.send(request);
	}


	///////////////////////////////////////////////////////////////////////
	// zpracuje pozadavek na zobrazi tabulku
	function ajaxLoadItemsRespond(http_request) {
		// skryti progress baru
		var submit_elems_array = document.getElementsByTagName('span');
		for (i=0; i<submit_elems_array.length; i++)
			if (submit_elems_array[i].className == 'progress_bar')
				submit_elems_array[i].style.display = 'none';
		// zpracovani pozadavku
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				var cont = document.getElementById('items_container');
				cont.innerHTML = http_request.responseText;
				if (cont.innerHTML.length > 10)
					showItemListAndContact();
				else
					showCategories();
			} else {
				alert('Error while getting ajax respond.');
			}
		}
	}


	///////////////////////////////////////////////////////////////////////
	// vrati formular do puvodni polohy
	function form2default() {
		var select_elem = document.getElementById('sel_category');
		select_elem.selectedIndex=0;
		changeCategory();
		window.scrollTo(0, 0);
	} 


	///////////////////////////////////////////////////////////////////////
	// skryje vsechny casti stranky mimo kontaktu a polozek
	function showItemListAndContact() {
		var blocks_hide = ['pn_shapes', 'pn_square', 'pn_nothing', 'pn_empty', 'pn_category'];
		var blocks_show = ['pn_product_list', 'pn_invoice_data'];
		// skryje co se ma skryt
		for (i=0; i<blocks_hide.length; i++) {
			document.getElementById(blocks_hide[i]).style.display = 'none';
		}
		// zobrazi co se ma zobrazit
		for (i=0; i<blocks_show.length; i++) {
			document.getElementById(blocks_show[i]).style.display = 'block';
		}
		window.scrollTo(0, 0);
	}


	///////////////////////////////////////////////////////////////////////
	// skryje vsechny casti stranky mimo kontaktu a polozek
	function showCategories() {
		var blocks_hide = ['pn_shapes', 'pn_square', 'pn_nothing', 'pn_empty', 'pn_product_list', 'pn_invoice_data'];
		var blocks_show = ['pn_category'];
		// skryje co se ma skryt
		for (i=0; i<blocks_hide.length; i++) {
			document.getElementById(blocks_hide[i]).style.display = 'none';
		}
		// zobrazi co se ma zobrazit
		for (i=0; i<blocks_show.length; i++) {
			document.getElementById(blocks_show[i]).style.display = 'block';
		}
		window.scrollTo(0, 0);
	}


	///////////////////////////////////////////////////////////////////////
	// zobrazi nebo skryje select box s profilem
	function updateProfil(self) {
		var profil_selectbox_elem = document.getElementById('profil_selectbox');
		if (self.value == '2' && self.checked)
			profil_selectbox_elem.style.display = 'block';
		else
			profil_selectbox_elem.style.display = 'none';
	}

	
	///////////////////////////////////////////////////////////////////////
	// zmeni hodnotu v selectu profilu na zadane id
	function setProfil(id) {
		document.getElementById('shape').selectedIndex=id;
		setInputCopy();
	}


	///////////////////////////////////////////////////////////////////////
	// zkopiruje popisek ze select boxu do inputu vedle.
	function setInputCopy() {
		var select_elem = document.getElementById('shape');
		document.getElementById('shape_copy').innerHTML = select_elem.options[select_elem.selectedIndex].text;
	}

	
	///////////////////////////////////////////////////////////////////////
	// funkce, ktere se volaji po nacteni stranky
	function doOnLoad() {
		// inicializace
		//getItems();
		setInputCopy();	
		changeCategory();
	}


	///////////////////////////////////////////////////////////////////////
	// kontrola udaju
	function checkOkna() {
		var errors = [];
		var i = 0;
		var shape_elem = document.getElementById('shape');
		if (isNaN(parseFloat(shape_elem.value)) || parseFloat(shape_elem.value) <= 0) {
			shape_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaný tvar.';
		} else {
			shape_elem.style.background='#ffffff';
		}
		var width_elem = document.getElementById('width');
		if (isNaN(parseFloat(width_elem.value)) || parseFloat(width_elem.value) < 300) {
			width_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaná šířka, minimum je 300mm.';
		} else {
			width_elem.style.background='#ffffff';
		}
		var height_elem = document.getElementById('height');
		if (isNaN(parseFloat(height_elem.value)) || parseFloat(height_elem.value) < 300) {
			height_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaná výška, minimum je 300mm.';
		} else {
			height_elem.style.background='#ffffff';
		}
		var count_elem = document.getElementById('count');
		if (isNaN(parseFloat(count_elem.value)) || parseFloat(count_elem.value) <= 0) {
			count_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaný počet.';
		} else {
			count_elem.style.background='#ffffff';
		}
		var profil_elem = document.getElementById('profil');
		if (isNaN(parseFloat(profil_elem.value)) || parseFloat(profil_elem.value) <= 0) {
			profil_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaný profil.';
		} else {
			profil_elem.style.background='#ffffff';
		}
		var color_elem = document.getElementById('color');
		if (isNaN(parseFloat(color_elem.value)) || parseFloat(color_elem.value) <= 0) {
			color_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaná barva.';
		} else {
			color_elem.style.background='#ffffff';
		}
		if (errors.length > 0) {
			var output = '';
			output += '<ul class="pn_errors"><li>';
			output += errors.join('</li><li>');
			output += '</li></ul>';
			document.getElementById('okna_errors').innerHTML = output;
			return false;
		} else {
			return true;
		}
		
	}


	///////////////////////////////////////////////////////////////////////
	// kontrola udaju
	function checkTerasy() {
		var errors = [];
		var i = 0;
		var square_elem = document.getElementById('square');
		if (isNaN(parseFloat(square_elem.value)) || parseFloat(square_elem.value) <= 1) {
			square_elem.style.background='#ffaaaa';
			errors[i++] = 'Chybně zadaná plocha, musí být zadané kladné číslo.';
		}
		if (errors.length > 0) {
			var output = '';
			output += '<ul class="pn_errors"><li>';
			output += errors.join('</li><li>');
			output += '</li></ul>';
			document.getElementById('terasy_errors').innerHTML = output;
			return false;
		} else {
			return true;
		}
		
	}


	///////////////////////////////////////////////////////////////////////
	// kontrola udaju
	function checkOstatni() {
		var errors = [];
		var i = 0;
		return true;
	}
	
	doOnLoad();
	

