var klavesaCapsLock = false;

// nastav zdroj pro obrazek
function skryjObr(id) {
  var polozka = document.getElementById(id);
  var polozky = polozka.getElementsByTagName('img');
  polozky[0].src = "";
  polozka.style.display = "none";
}

// nastav zdroj pro obrazek
function zobrazObr(id, soubor) {
  var polozka = document.getElementById(id);
  var polozky = polozka.getElementsByTagName('img');
  polozky[0].src = soubor;
  polozka.style.display = "block";
}

//odstraneni objektu podle id
function odstranObjekt(id) {
	var polozka = document.getElementById(id);
	if (polozka != null) {
		polozka.parentNode.removeChild(polozka);
	}
}

//pridani dynamickych poli do formulare
function pridejPole(oblast, polozka, max, tag, parametr) {

    //Pokud prohlizec nepodporuje getElement tak konec
	if(!document.getElementById) return;
	var polozka_oblast = document.getElementById(oblast); // jmeno div
	var all_inputs = polozka_oblast.getElementsByTagName(tag);  //Najdi vsechny objekty
	// Najdi pocet objektu, pokud je prvni tak cisluj od 1
	var posledni_polozka = all_inputs.length - 1;
        if (posledni_polozka != -1) {
		var posledni_objekt = all_inputs[posledni_polozka].id;
		var pocet = Number(posledni_objekt.split("_")[1]) + 1;
	} else pocet = 1;

	//kontrola prekroceni maxima
	if (pocet > max && max > 0) return;

	// vytvor novy objekt
	if (document.createElement) {
		var li = document.createElement("li");
		var input = document.createElement(tag);
		input.id = polozka + "_" + pocet; // id: jmeno_cislo
		input.name = polozka + "[]"; // name: jmeno[]
		if (tag=="input") {
			input.type = parametr;  // Typ tagu input: text | file...
			input.style.marginBottom = "15";
			if (parametr=="file") {
				input.size = "60";
			}
		}
		if (tag=="textarea") {
			input.cols = parametr;
			input.rows = 5;
		}
		// atributy tabulky text: poradi, nadpis, text, skryty
		if (oblast=="firma_text") {
			// vytvori dynamicky tabulky
			var fieldset = document.createElement('fieldset');
			var table = document.createElement("table");
			table.className = "tabulka";
			var tablebody = document.createElement("tbody");
			tr = document.createElement("tr");
			td = document.createElement("th");
			// neviditelny ukazatel poradi
			var i = document.createElement("input");
			i.id = "text_poradi_puvodni";
			i.name = "text_poradi_puvodni[]";
			i.type = "hidden";
			i.value = 0;
			td.appendChild(i);
			// poradi textu
			text = document.createTextNode("Pořadí:");
			td.appendChild(text);
			tr.appendChild(td);
			td = document.createElement("td");
			var i = document.createElement("input");
			i.id = "text_poradi";
			i.name = "text_poradi[]";
			i.type = "text";
			i.size = 2;
			i.value = pocet + 2;
			td.appendChild(i);
			tr.appendChild(td);
			tablebody.appendChild(tr);
			// nadpis
			tr = document.createElement("tr");
			td = document.createElement("th");
			text = document.createTextNode("Nadpis:");
			td.appendChild(text);
			tr.appendChild(td);
			td = document.createElement("td");
			var i = document.createElement("input");
			i.id = "text_nadpis";
			i.name = "text_nadpis[]";
			i.type = "text";
			i.size = 30;
			td.appendChild(i);
			tr.appendChild(td);
			tablebody.appendChild(tr);
			// text
			tr = document.createElement("tr");
			td = document.createElement("th");
			text = document.createTextNode("Text:");
			td.appendChild(text);
			tr.appendChild(td);
			td = document.createElement("td");
			var i = document.createElement("textarea");
			//i.id = "text_text";
			i.id = "textarea_" + pocet;
			i.name = "text_text[]";
			i.cols = 40;
			i.rows = 5;
			td.appendChild(i);
			tr.appendChild(td);
			tablebody.appendChild(tr);
			// skryty
			tr = document.createElement("tr");
			td = document.createElement("th");
			tr.appendChild(td);
			text = document.createTextNode("Skrytá položka:");
			td.appendChild(text);
			td = document.createElement("td");
			var i = document.createElement("select");
			i.id = "text_skryty";
			i.name = "text_skryty[]";
			var opt = document.createElement('option');
			var txt = document.createTextNode('NE');
			opt.appendChild(txt);
			opt.value = 'N';
			i.appendChild(opt);
			var opt = document.createElement('option');
			var txt = document.createTextNode('ANO');
			opt.appendChild(txt);
			opt.value = 'A';
			i.appendChild(opt);
			td.appendChild(i);
			tr.appendChild(td);

			 // ikona smaz, po kliknuiti  vyvola funkci pro smazani
			td = document.createElement("td");
			var img = window.parent.document.createElement('img');
			img.src = "css/i_smaz.gif";
			img.className = "ikona";
			img.alt = "Odstranit";
			var id = polozka + "_" + pocet;
			img.onclick = function () { smazObjekt(id); };
			td.appendChild(img);
			tr.appendChild(td);

			tr.appendChild(td);
			tablebody.appendChild(tr);
			// konec tabulky
			table.appendChild(tablebody);
			fieldset.appendChild(table);
			input.appendChild(fieldset);
		}
         li.appendChild(input);
         polozka_oblast.appendChild(li);
	}
	if (oblast=="firma_text") { // pridej wysiwyg pro textareu
		 var id_textarea = "textarea_" + pocet;
		 generate_wysiwyg(id_textarea);
	}
}

// nastaví pozadí u objektu na cervené
function oznac_chybny_input(objekt, puvodni, nova) {
	objekt.style.backgroundColor="#FFD9D9";
	if ((puvodni==false) && (nova==false)) {
		return 0;
	} else if ((puvodni==false) && (nova!=false)) {
        return nova;
	} else if ((puvodni!=false) && (nova==false)) {
        return puvodni;
	} else {
        return puvodni + nova;
    }
}

// vrátí pozadí objektu na bílé
// chyba - false nebo rada chyb,
// objekt - id DOM
function odznac_chybny_input(chyba, objekt) {
	objekt.style.backgroundColor="#FFFFFF";
	return chyba;
}


// kontroluje zda objekt obsahuje platny zapis pro datum dd.mm.rrrr nebo dd.mm.rrrr hh:mm
function kontrola_datum(chyba, element) {
	var objekt = document.getElementById(element);
	var reg = /^[0-9]{1,2}[.][0-9]{1,2}[.][0-9]{4}( [0-9]{1,2}[:][0-9]{1,2})?$/;
	if (objekt.value.search(reg) == -1)  {
		return oznac_chybny_input(objekt, chyba, 'Neplatný formát datumu, ' );
	} else {
		return odznac_chybny_input(chyba, objekt);
	}
}

// kontroluje zda objekt obsahuje platnou emailovou adresu
function kontrola_email(chyba, element) {
	var objekt = document.getElementById(element);
	var reg = /^([a-zA-Z0-9\.\-\_]+)[@]([a-zA-Z0-9\.\-]+)[\.]([a-zA-Z]{2,4})$/;
	if (objekt.value.search(reg) == -1)  {
		return oznac_chybny_input(objekt, chyba, 'Neplatná emailová adresa, ');
	} else {
		return odznac_chybny_input(chyba, objekt);
	}
}

// kontroluje zda objekt obsahuje retezec
function kontrola_null(chyba, element, delka) {
	var objekt = document.getElementById(element);
	if ((objekt.value=="") || (objekt.value.length < delka))  {
		return oznac_chybny_input(objekt, chyba, 'Nevyplněná položka, ');
	} else {
		return odznac_chybny_input(chyba, objekt);
	}
}


// zobrazi chybove hlaseni
function kontrola_chyba(chyba) {
	if (chyba==false) {
		return true;
	} else {
        alert(chyba);
        return false;
	}
}


function formular_firma_kontrola() {
	var chyba = false;
	chyba = kontrola_null(chyba,'firma_nazev',0);
	chyba = kontrola_datum(chyba,'firma_datum_sberu');
	return kontrola_chyba(chyba);
}

// kontrola vyhledávacího formuláře
function kontrola_formulare_hledej() {
	var objekt = document.getElementById("hledej_text");
	if (objekt.value.length < 3) {
		alert('Hledaný text musí obsahovat minimálně 3 znaky!');
		return false;
	}
	return true;
}

// vloží do obsahu elementu hodnotu text
function nastav_input(element, text) {
	var objekt = document.getElementById(element);
	objekt.setAttribute('value',text);
}

// zobrazi / skryje objekt
function zobraz(element){
	var objekt = document.getElementById(element);
	if (objekt.style.display=='block') {
		objekt.style.display="none"
	}  else {
		objekt.style.display="block"
	}
}


// zobrazi vsechny objekty
function zobraz_vse(jmeno,akce){
	//mesto
	var objekt;
	var str;
	var konec = false;
	var i = 1;
	do {
		str = jmeno + i;
		objekt = null;
		objekt = document.getElementById(str);
		if (objekt!=null) {
			if (akce=='zobraz') { objekt.style.display="block"; }
			else { objekt.style.display="none"; }
			i++;
		} else {
			konec = true;
		}
	}
	while( !konec );
}


// odstran element s dotazem
function smazObjekt(element) {
	if (confirm('Opravdu si přejete smazat tuto položku?')==true) {
		var objekt = document.getElementById(element);
		objekt.style.display="none"
	}
}

function smazFoto(element, id_foto) {
	if (confirm('Opravdu si přejete smazat tuto položku?')==true) {
		var objekt = document.getElementById(element);
		objekt.style.display="none"
    url = "smazfoto.php?id_foto=" + id_foto;
    send_xmlhttprequest("GET", url);		
	}
}

function nastavFoto(id_nemovitost, id_foto) {
    url = "nastavfoto.php?id_foto=" + id_foto + "&id_nemovitost=" + id_nemovitost;
    send_xmlhttprequest("GET", url);		
}


// zmeni hodnotu value u elementu
function zmenObjekt(element, hodnota) {

	//var objekt = window.parent.document.getElementById(element);
	var objekt = window.parent.document.getElementById(element);
	objekt.value = hodnota;
}

// otevre nove okno
function otevriOkno(url, jmeno) {
	window.open(url, jmeno, "height=350, width=400, toolbar=no,scrollbars=no,menubar=no");
	self.name="main";
}

// vlozi znak z klavesnice do vyhledavaciho formulare
function vlozZnak(znak) {
	var objekt = document.getElementById('hledej_text');
	switch(znak) {
	case 'Tab':
		objekt.value = objekt.value + String.fromCharCode(9);
		break
	case 'Caps': // zmeni stav klavesy CapsLock
		klavesaCapsLock = !klavesaCapsLock;
		break
	case 'Enter':
		document.getElementById("f_hledej").submit()
		break
	case '«': // vymaz jeden znak zleva
		if (objekt.value.length > 0) objekt.value = objekt.value.substring(0, objekt.value.length - 1) ;
		break
	case 'Mezera':
		objekt.value = objekt.value + " ";
		break
	case 'Esc':
		objekt.value = "";
		break
	default: // pro vsechna pismena
		if (klavesaCapsLock) {
			objekt.value = objekt.value + znak.toUpperCase();
		} else {
			objekt.value = objekt.value + znak.toLowerCase();
		}
	}
}

// aktivuje openwysiwyg pro vsechny elementy textarea
function aktivujOpenwysiwyg() {
	var objects = document.getElementsByTagName("TEXTAREA");
	for(var i=0; i<objects.length; i++){
		generate_wysiwyg(objects[i].id);
	}
}

// opakuj co 3 sekundy poyadavek na dane url
function send_xmlhttprequest(metoda, url) {
   	var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
   	if (!xmlhttp) return false;
  	xmlhttp.open(metoda, url);
    xmlhttp.send();
    return true;
}

// vytvori iframe podle parametru
function vytvorIframe(id, src, sirka, vyska){
	odstranObjekt(id);
	var iframe = document.createElement('iframe');
    iframe.id = id;
    iframe.name = id;
    iframe.src = src;
    iframe.style.height = sirka;
    iframe.style.width = vyska;
    iframe.scrolling = "no";
	document.body.appendChild(iframe);
}

/*
function odstranObjekt(id){
        document.body.removeChild(document.getElementById(id));
}
*/
