﻿
// nastav zdroj pro obrazek
function skryjObr(id) {
	var polozka = document.getElementById(id);
	var polozky = polozka.getElementsByTagName('img');
	polozky[0].src = "";
	polozka.style.display = "none";
	odstranObjekt('Mapa_obdelnik')
	odstranObjekt('pozadi');
	prepniObjekty('select');
}


function prepniObjekty(element){
	var polozky = document.getElementsByTagName(element);
	for (var i=0; i < polozky.length; i++){
		if (polozky[i].disabled) {
			polozky[i].disabled = false;
			polozky[i].style.backgroundColor = "white";
		} else {
			polozky[i].disabled = true;
			polozky[i].style.backgroundColor = "#AAAAAA";
		}

	}
}


// vytvori objek ktery prekryje obsah stranku
function aktivujPozadi() {
	prepniObjekty('select');
	odstranObjekt('pozadi');
	var div = document.createElement("div");
	div.id = "pozadi"
	div.style.left = "0";
	div.style.top = "0";
	div.style.width = document.body.scrollWidth + "px";
	div.style.height = document.body.scrollHeight + "px";
	div.style.zIndex = "9";
	div.style.position = "absolute";
	div.style.backgroundColor = "white";
	div.style.backgroundColor = "gray";
	div.style.opacity = "0.5";
	div.style.filter = "alpha(opacity=50)";
	document.body.appendChild(div);
}

// nastav zdroj pro obrazek
function zobrazObr(id, soubor) {
	aktivujPozadi();
	var polozka = document.getElementById(id);
	var polozky = polozka.getElementsByTagName('img');
	polozky[0].src = soubor;
	polozka.style.display = "block";
	vytvorArea(polozky[0]);
}

// kontrola vyhledavaciho formulare
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;
}

// zmeni zdroj v tagu IMAGE
function zmenSrc(id, src) {
	var polozka = document.getElementById(id);
	polozka.src = src;
	vytvorArea(polozka);
}

// posune obdelnik nad klikaci mapou podle poyice klikaci mapy
function presunObdelnik(objekt, kurzor){
	var sirka = 151;
	var vyska = 105;
	var reg = /(.)*([0-9])([0-9])/;
	var pole = objekt.id.match(reg);
	var x = pole[2];
	var y = pole[3];
	var obdelnik = document.getElementById('Mapa_obdelnik');
	obdelnik.style.left = x*sirka + 205 - sirka;
	obdelnik.style.top = y*vyska + 88 + vyska;
	obdelnik.href = objekt.href;
	obdelnik.style.cursor = kurzor;
}

/*
function odstranObdelnik(){
	var div = document.getElementById('Mapa_obdelnik');
	if (div != null) {
		bodyElement.removeChild(div);
	}
}
*/

//odstraneni objektu podle id
function odstranObjekt(id) {
	var polozka = document.getElementById(id);
	if (polozka != null) {
		polozka.parentNode.removeChild(polozka);
		//bodyElement.removeChild(polozka);
	}
}

// generuje klikaci mapu podle priblizeni mapy
function vytvorArea(obr){
	var zvetsi = false;
	var poc;
	var posun = false; //posun po mape
	var reg = /(.)*(\/)([0-9]*)(\.gif)/;
	var pole = obr.src.match(reg);
	var nahled = -1;
	if (pole != null) {
		nahled = pole[3];
	}
	if (nahled == 0)  {
			poc = parseInt(nahled) + 1;
			zvetsi = true;
	} else if ((nahled < 10) && (nahled > 0)) {
			poc = parseInt(nahled)*10 + 1;
			zvetsi = true;
	}
	var id = poc;
	if (zvetsi) { // maparea pro zvetseni sektoru
		var sirka = 151;
		var vyska = 105;
		var obrMap = document.createElement("map");
		obrMap.name = "Mapa" + id;
		obrMap.id = "Mapa" + id;
		for (var y = 0; y < 3; y++) {
			for (var x = 0; x < 3; x++) {
				var mapArea = document.createElement("area");
				var kurzor = "crosshair";
				var src = "mapa/" + poc + ".gif";
				mapArea.shape = "rect";
				mapArea.id = "area" + x + y;
				souradnice = x*sirka + "," + y*vyska + "," + (x*sirka+sirka) + "," + (y*vyska+vyska);
				mapArea.coords = souradnice;
				mapArea.href = "javascript:zmenSrc('velke_foto_img','" + src + "')";
				mapArea.alt = "Přibliž mapu";
				mapArea.onmouseover = function () { presunObdelnik(this,kurzor); };
				mapArea.onmouseout  = function () { presunObdelnik(this,kurzor); };
				obrMap.appendChild(mapArea);
				poc++;
			}
		}
	    //bodyElement = document.getElementsByTagName('body')[0];
	    //	bodyElement.appendChild(obrMap);
		document.body.appendChild(obrMap);
		obr.useMap = "#Mapa" + id;
		// obdelnik ohranicujici blok mapy
		if (document.getElementById('Mapa_obdelnik') == null) {
			var div = document.createElement("a");
			div.id = "Mapa_obdelnik"
			div.style.width = sirka;
			div.style.height = vyska;
			div.style.border = "1px dotted #AAAAAA";
			div.style.zIndex = "12";
			div.style.position = "absolute";
			div.style.opacity = "0.1";
			div.style.backgroundColor = "black";
			div.style.filter = "alpha(opacity=10)";
			//bodyElement.appendChild(div);
			document.body.appendChild(div);
		}
	} else { // vypnutp zvetseni
		obr.useMap = "";
		odstranObjekt('Mapa_obdelnik')
	}
}