//funkce akce po kliku na odkaz - tj.nacteni
function clickAction(obj_id_value) {
	var result = false;

	var exploded_id_arr = obj_id_value.split("_");
	var item_id = exploded_id_arr[1];

	var type = exploded_id_arr[0]; //musim nejak rozlisit, zda se jedna o popis volitelneho pole, nebo pojmu

	switch (type)
	{
		case 'definition':
			link = 'dictionary_explanation.php';
			params = {id: item_id};
		break;

		case 'popis':
			link = 'popispole.php';
			params = {id: item_id, ajax_view: 1};
		break;
	}

	//(pokud se nam nepodari z ID dostat cislo, tak se otevre normalni odkaz)
	//nacitany script nesmi byt pres seo url, proto to resim pres id
	if (!isNaN(item_id)) {

        $("#vrstva_obsah").html("<div id='vrstva_cekej'></div>");
        // centerVrstva();
		// $("#vrstva").show();

		$("#vrstva_obsah").load(web_root + "scripts/"+link, (params), function() {

            $("#vrstva_obsah").css("height", "");

            // presunout nadpis
		    var nadpis = $("#presouvatelny_nadpis").html();
		    $("#presouvatelny_nadpis").html("&nbsp;");
		    $("#vrstva_nadpis h1").remove();
		    $("#vrstva_nadpis").append(nadpis);

            // pokud je obsah delsi nez vyska okna, prizpusobi se height
            if ($("#vrstva").css("display") == "none")
                var vh = getHiddenElementHeight("#vrstva", "#vrstva_obsah");
            else
                var vh = $("#vrstva_obsah").height();

            var oh = $(window).height()-160;

            if (vh > oh) {
                $("#vrstva_obsah").css("height", $(window).height()-160);
                $("#vrstva_obsah").css("overflow", "auto");
            }
            else {
                $("#vrstva_obsah").css("height", "");
                $("#vrstva_obsah").css("overflow", "visible");
            }

            if ($("#vrstva").css("display") == "none") {
                // nove okno

                centerVrstva();
                $("#vrstva").fadeIn("slow");

            }

            $("#vrstva_obsah").fadeIn();

		    $("#vrstva a").click(function() {
				return clickAction(this.id);
		    });
		});
		result = true;
	}
	//vracime opacny stav. Pokud zobrazeni okna dopadlo OK, NEnasleduje se odkaz, jinak zobrazime klasicky detail polozky
	return !result;
}

function getHiddenElementHeight(id1, id2) {
    $(id1).css("visibility", "hidden");
    $(id1).css("display", "block");
    var height = $(id2).height();
    $(id1).css("display", "none");
    $(id1).css("visibility", "visible");
    return height;
}

function centerVrstva() {
    //Get the window height and width
    var winH = $(window).height();
    var winW = $(window).width();
    //Set the popup window to center
    var poztop = winH/2-$("#vrstva").height()/2 + $(window).scrollTop();
    var pozleft = winW/2-$("#vrstva").width()/2 - $("#page").position().left;
    $("#vrstva").css("left", pozleft + "px");
    $("#vrstva").css("top", poztop + "px");
}

$(document).ready(function() {
	//do html vlozime prislusne divy
	var inner_html = ("<div id='vrstva' style='display: none;'>");
	inner_html += ("<div id='vrstva_nadpis'><form><input style='color:black;' type='button' id='zavrit' value='' title='Zavøít okno'></form></div>");
	inner_html += ("<div id='vrstva_obsah'>");
	inner_html += ("<div id='vrstva_cekej'></div>");
	inner_html += ("</div>");
	inner_html += ("</div>");
	$("#paticka_pro_vrstvu").append(inner_html);

	//ulozime si obsah divu vrstva_obsah (po inicializaci obsahuje nejaky progress typu "cekejte") do promenne
	inlay_buffer = $("#vrstva_obsah").html();

	$("a.ajax_popis").css("display", "inline");

	//po kliku na obj. tridy 'polozka'...
	$("a.ajax_popis").click(function() {
		return clickAction(this.id);
	});

	//posouvani okna
	$("#vrstva").draggable( {
			zIndex: 20,
			ghosting: false,
			opacity: 0.7,
			handle:	"#vrstva_nadpis"
	});

	$("#vrstva").fadeOut('slow');

	//automaticky posun pri scrollu
	$(window).scroll(function() {
		if(
			$("#vrstva").height()<$(window).height() ||
			($(window).height()+$(window).scrollTop()) > ($("#vrstva").height()+$("#vrstva").position().top+30) ||
			($(window).scrollTop()) < ($("#vrstva").position().top)
		){
			//podminka pro spodni hranici ajax okna
			if($("#vrstva").height()>$(window).height() && ($(window).height()+$(window).scrollTop()) > ($("#vrstva").height()+$("#vrstva").position().top))
				//vypocet spodniho zarovnani
				var scroll_vyska = $(window).scrollTop()-($("#vrstva").height()-$(window).height())-30;
			else
				//u malych oken nebo horni hranice standartne zarovna k horni casti stranky
				var scroll_vyska = $(window).scrollTop();
			$("#vrstva").animate({top: scroll_vyska + "px"}, {queue: false, duration: 350});
		}
	});

	$(document).keydown(function(ev) {
		if (ev.which == 27) {
		$("#vrstva").fadeOut();
		$("#vrstva_obsah").html(inlay_buffer); //obnovime obsah, tj. progress 'cekejte'
		};
	});
	//zavreni okna
	$("#zavrit").click(function() {
		$("#vrstva").fadeOut();
		$("#vrstva_obsah").html(inlay_buffer); //obnovime obsah, tj. progress 'cekejte'
        $("#vrstva_obsah").css("height", "");
	});
});
