// JavaScript Document

function ziskejData(zdrojDat, datumNum, datum){

	if(datum){
		var form = parent.document.getElementById('rezervace');
		var elmDatum = parent.document.getElementById('insert_datum');
		elmDatum.value = datum;
	}
	

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() { addData(http_request, datumNum); };	
	http_request.open('POST', zdrojDat, true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send('hl=' + datumNum);
}

function addData(http_request, datumNum){
	
	if(http_request.readyState == 4 && http_request.status == 200){
		
	var xmlResponce = http_request.responseXML; //obsah ve forme XML
		
	//vytvoreni root elementu
	var rootNODE = xmlResponce.getElementsByTagName('data').item(0);
	
	//nastaveni
	var nastaveni = rootNODE.getElementsByTagName('nastaveni');
	var pocetBunek = nastaveni.item(0).getElementsByTagName('pocetBunek').item(0);
	var pocetBunekTXT = pocetBunek.firstChild.data;
		pocetBunekTXT = Number(pocetBunekTXT) + 1;
		
	var datum = nastaveni.item(0).getElementsByTagName('datum').item(0);
	var datumTXT = datum.firstChild.data;
	
	var hodinaOD = nastaveni.item(0).getElementsByTagName('hodinaOd').item(0);
	var hodinaODTXT = hodinaOD.firstChild.data;
		hodinaODTXT = Number(hodinaODTXT);
	
	//rezervace
	var rezervace = rootNODE.getElementsByTagName('rezervace');
	var mistoRezervace = rezervace.item(0).getElementsByTagName('mistoRezervace');

		
	//--vytvoreni tabulky----------
	var elmDiv = parent.document.getElementById? parent.document.getElementById("divRez"): parent.document.all? parent.document.all["divRez"]: null;
		elmDiv.innerHTML = "";
	
	var datumZpet = Number(datumNum) - 86400;
	var datumVpred = Number(datumNum) + 86400;	
	
	//tabulka
	var datatable = '<table class="tab_rezervace" cellpadding="0" cellspacing="0"><tbody><tr><td colspan="' + pocetBunekTXT + '" class="th_datum"><a class="a_pointer" onclick="ziskejData(\'./ajax_rezervace.php\', ' + datumZpet + ');"><< </a>' + datumTXT + '<a class="a_pointer" onclick="ziskejData(\'./ajax_rezervace.php\', ' + datumVpred + ');"> >></a></td></tr><tr>';
	
	//--hlavicka (hodiny)----------
	for(var i=1; i<(pocetBunekTXT + 1) / 2; i++){		
		var hodina = (hodinaODTXT - 1) + i;
		if(hodina < 10) hodina = '0' + hodina;
		
		datatable = datatable + '<td colspan="2" class="th_den">' + hodina + '</td>';			
	}
	datatable = datatable + '</tr>';
	
	for(var tr=0; tr<mistoRezervace.length; tr++){
		
		//nazev mista
		var nazevMista = mistoRezervace.item(tr).getElementsByTagName('nazevMista').item(0);
		var nazevMistaTXT = nazevMista.firstChild.data;		
		datatable = datatable + '<tr><td class="td_misto" colspan="' + pocetBunekTXT + '">' + nazevMistaTXT + '</td></tr><tr>';	
		
		//bunky obsazeno / volno		
		//obsazeno
		var obsazeno = mistoRezervace.item(tr).getElementsByTagName('obsazeno');
		var obsazenoBunky = obsazeno.item(0).getElementsByTagName('bunka');
		
		//dosazeni obsazenych bunek do pole
		var obsazeneBunky = new Array();
		
		for(var o=0; o<obsazenoBunky.length; o++){
			var bunka = mistoRezervace.item(tr).getElementsByTagName('bunka').item(o);
			var bunkaTXT = bunka.firstChild.data;
			
			obsazeneBunky[o] = bunkaTXT;
		}		
		
		for(var td=1; td<pocetBunekTXT; td++){
			
			//obsazena bunka
			var obsazenoVysledek = inArray(obsazeneBunky, td);
			
			if(obsazenoVysledek == true){				
				var zobraz = '<img src="./pictures/rez-icon_obsazeno_l.png" width="10" height="10" alt="obsazeno" title="obsazeno" />';
			}else{
				var zobraz = '&nbsp;';	
			}
			
			datatable = datatable + '<td class="td_obsazeno">' + zobraz + '</td>';
		}
		
		datatable = datatable + '</tr>';
	}	
	
	datatable = datatable + '</tbody></table>';
	
	
	/*var table = document.createElement("table");
		table.setAttribute("class", "tab_rezervace"); //FF
		table.setAttribute("className", "tab_rezervace"); //IE
		table.setAttribute("cellpadding", "0"); //FF
		table.setAttribute("cellPadding", "0"); //IE
		table.setAttribute("cellspacing", "0");	//FF
		table.setAttribute("cellSpacing", "0");	//IE
	
	//--body----------
	var	tableBODY = document.createElement("tbody");
	
	//--hlavicka----------
	var tableTR = document.createElement("tr");
	var tableTD = document.createElement("td");
	var datumZpet = Number(datumNum) - 86400;
	var datumVpred = Number(datumNum) + 86400;
	
		
		tableTD.innerHTML = "<a class=\"a_pointer\" onclick=\"ziskejData('./ajax_rezervace.php', " + datumZpet + ");\"><< </a>" + datumTXT + "<a class=\"a_pointer\" onclick=\"ziskejData('./ajax_rezervace.php', " + datumVpred + ");\"> >></a>";
		tableTD.setAttribute("colSpan", pocetBunekTXT);
		tableTD.setAttribute("class", "th_datum"); //FF
		tableTD.setAttribute("className", "th_datum"); //IE
		tableTR.appendChild(tableTD);			
		tableBODY.appendChild(tableTR);
		
	//--hlavicka (hodiny)----------
	var tableTR = document.createElement("tr");
	
	for(var i=1; i<(pocetBunekTXT + 1) / 2; i++){
		
		var hodina = (hodinaODTXT - 1) + i;
		if(hodina < 10) hodina = "0" + hodina;
		
		var tableTD = document.createElement("td");	
		var tableTextTD = document.createTextNode(hodina);
			tableTD.appendChild(tableTextTD);
			tableTD.setAttribute("colSpan", 2);
			tableTD.setAttribute("class", "th_den"); //FF
			tableTD.setAttribute("className", "th_den"); //IE			
			tableTR.appendChild(tableTD);
	}						
		tableBODY.appendChild(tableTR);
	
	
	for(var tr=0; tr<mistoRezervace.length; tr++){
		
		//nazev mista
		var nazevMista = mistoRezervace.item(tr).getElementsByTagName('nazevMista').item(0);
		var nazevMistaTXT = nazevMista.firstChild.data;
		
		var tableTR = document.createElement("tr");
		var tableTD = document.createElement("td");	
		var tableTextTD = document.createTextNode(nazevMistaTXT);
	
			tableTD.appendChild(tableTextTD);
			tableTD.setAttribute("colSpan", pocetBunekTXT);
			tableTD.setAttribute("class", "td_misto"); //FF
			tableTD.setAttribute("className", "td_misto"); //IE
			tableTR.appendChild(tableTD);			
			tableBODY.appendChild(tableTR);
		
		
		//bunky obsazeno / volno
		var tableTR = document.createElement("tr");
		
		//obsazeno
		var obsazeno = mistoRezervace.item(tr).getElementsByTagName('obsazeno');
		var obsazenoBunky = obsazeno.item(0).getElementsByTagName('bunka');


		//dosazeni obsazenych bunek do pole
		var obsazeneBunky = new Array();
		
		for(var o=0; o<obsazenoBunky.length; o++){
			var bunka = mistoRezervace.item(tr).getElementsByTagName('bunka').item(o);
			var bunkaTXT = bunka.firstChild.data;
			
			obsazeneBunky[o] = bunkaTXT;
		}		
		
		for(var td=1; td<pocetBunekTXT; td++){
			
			//obsazena bunka
			var obsazenoVysledek = inArray(obsazeneBunky, td);
			
			var zobraz = document.createTextNode(" ");
			if(obsazenoVysledek == true){				
				zobraz = document.createElement("img");
				zobraz.setAttribute("src", "./pictures/rez-icon_obsazeno_l.png");
				zobraz.setAttribute("width", "10");
				zobraz.setAttribute("height", "10");
				zobraz.setAttribute("alt", "obsazeno");
				zobraz.setAttribute("title", "obsazeno");
			}
			
			var tableTD = document.createElement("td");	
			var tableTextTD = document.createTextNode(zobraz);
							
				tableTD.appendChild(zobraz);
				tableTD.setAttribute("class", "td_obsazeno"); //FF
				tableTD.setAttribute("className", "td_obsazeno"); //IE
				tableTR.appendChild(tableTD);
		}
		
		tableBODY.appendChild(tableTR);
	}		
		
		table.appendChild(tableBODY);		
		elmDiv.appendChild(table);*/
		elmDiv.innerHTML = datatable;
		
	}		
}

function inArray(pole, hodnota){
	
	var vysledek = false;
	
	for(var i=0; i<pole.length; i++){
		if(pole[i] == hodnota) 	vysledek = true;
	}
	return vysledek;
}
