$(document).ready(function(){
	/**
	* Zobrazí editačný formulár
	*/
	showEdit = function (pod, edit, offset){ // , firstInput
		$("#hlavny").addClass("modal");
		// keď sa nepošle objek pod ktorým sa má zobraziť edit box, tak ho zobrazí uprostred divu "vpravo"
		var eTop = 0;
		var eLeft = 0;
		if (pod.selector == "#vpravo"){
			var vyskaM = pod.height() + 8;
			var sirkaM = pod.width() + 8;
			var posM = pod.position();
			var leftM = posM.left;
			var topM = posM.top;
			eTop =(vyskaM - edit.height())/2;
			eLeft =leftM + (sirkaM - edit.width())/2;
		} else {
			if (typeof(offset) == "undefined"){
				var pos = pod.position();
			} else {
				var pos = pod.offset();

			}
			eTop = pos.top + pod.attr("scrollHeight");
			eLeft = pos.left;
		}
		showWait();
		edit.draggable();
		edit.css({'left': eLeft, 'top': eTop, 'zIndex': '1500'});
		edit.slideDown("slow", function(){setVisible(edit)});

	}
	/**
	* Skryje editačný formulár
	*/
	hideEdit = function (win){
// 		$(".edit").slideUp("slow");
		if (typeof(win) == "undefined"){
			win = $(".edit");
		}
		win.slideUp("slow");
		$("input").blur();
		$("form").blur();

		$("#hlavny").removeClass("modal")
	}

	/*
	* Zabezpečí, aby bol element viditeľný na obrazovke -
	* odskroluje okno tak aby bola jeho dolná hrana na spodnom
	* okraji okna
	*/
	setVisible = function (element){
		// zistí výšku okna a pozíciu dokumentu v dolnom okraji okna
		var win=$(window);
		var wHeight = win.height();									// výška okna
		var wdTop = win.scrollTop();								// y dokumentu v hornom okraji okna
		var wdBottom = wdTop + wHeight; 						// y dokumentu v dolnom okraji okna
		// zistí umiestnenie dolného okraju elementu v dokumente
		var eTop = element.position()['top'];				// y horného okraja elementu v dokumente
		var eoHeight = element.outerHeight();
		if (eoHeight > 1){													// keď nie je display: none
			var eHeight = element.outerHeight();			// výška elementu
		} else {
			var eHeight = element.attr("scrollHeight");
		}
		var eBottom = eTop + eHeight;								// y dolného okraja elementu v dokumente
		// podľa toho ako ďaleko je dolný okraj elementu od konca dokumentu
		// pripočíta k nemu 20, alebo rozdiel do konca
		var dHeight = $(document).height();
		if (dHeight >= eBottom + 20){
			eBottom = eBottom + 20;
		} else {
			eBottom = eBottom + (dHeight - eBottom);
		}
		var dwBottom = wdTop + wHeight;
		if (eBottom > wdBottom){
			var y = wdTop + (eBottom - wdBottom);
			$(document).scrollTop(y);
		} else if (eTop < wdTop){
// 			var y = wdTop + (eBottom - wdBottom);
			$(document).scrollTop(eTop);
		}
		$(":input:visible:enabled:first", element)
			.focus()
			.select();
	}

	/*
	* po kliknutí na krížik v pravom hornom rohu schová edit
	*/
	$(".barExit").click(function(){
		hideError();
		hideWait();
		hideEdit($(this).parent().parent());
	});

	/*
	* po nastavení fokusu do editačného poľa skryje chybu
	*/
	$("input").focus(function(){
		hideError();
	})


	/*
	* Zobrazí potvrdenie o výmaze
	*/
	showDelete = function (element, dataForm, urlAjax, infoText){
		var elDelete = $("#delete");
		if (infoText != ""){
			$("#delInfo").html(infoText);
		}
		var pos = element.position();
		var deleteTop = pos.top + element.outerHeight();
		elDelete
			.draggable()
			.css({position: "absolute", top: deleteTop, left: pos.left, zIndex: 10})
			.show();
		setVisible(elDelete);
		elDelete
			.data("urlAjax", urlAjax)
			.data("dataForm", dataForm);
		$("#cancel")
			.focus()
			.select();
		showWait();
	}

	hideDelete = function(){
		hideWait();
		$("#delete").hide();
 		$("input").blur();

	}

	/*
	* po potvrdení výmazu schová dialog, wait a vymaže záznam
	*/
	$("#vymaz").click(function(){
		hideDelete();
		var row = $("table > tbody > tr.hilight");
    if (row.length>0){
      var urlAjax = $("#delete").data("urlAjax");
      var dataForm = $("#delete").data("dataForm");
      if (typeof(dataForm) == "undefined"){
        dataForm = "akcia=Delete&id=" + $("td:eq(0)", row).text()
      }
      getTable(dataForm, urlAjax, $("td:eq(0)", row));
    }
	})

	/*
	* po zrušení výmazu schová dialog a wait
	*/
	$("#cancel").click(function(){
		hideDelete();
	})

	/*
	* po stalačení ESC skryje editačný formulár
	*/
	$(document).keyup(function(key){
		if (key.keyCode == 27){		// ESC
			hideWait();
			hideError();
			hideEdit();
		}
	});

	/*
	* po stalačení ESC skryje editačný formulár
	*/
	$("form, input, select").keyup(function(key){
		if (key.keyCode == 27){		// ESC
			hideWait();
			hideError();
			hideEdit();
		}
	});

  /**
   * Pri najetí myši na prvky formulára, zobrazí popis uvedený v atribúte title
   */
//  $().bt.defaults.fill = 'rgba(102, 102, 255, 0.8)';
//  $("input, select, button, label").bt({
//    showTip: function(box){
//      $(box).fadeIn(300, function(){
//        $(this).oneTime(14500, "hide", function(){
//            $(box).fadeOut(1000);
//        })
//      })
//    },
//    hideTip: function(box, callback){
//      $(box).hide();
//      callback();
//    },
////    positions: ["right", "left"],
//    cornerRadius: 4,
//    windowMargin: 3,
//    width: "500px",
//    shrinkToFit: true,
//    padding: "5px",
////    overlap: 20,
////    fill: "rgba(240, 255, 0, 0.8)",
//    strokeStyle: "rgb(79, 79, 79)",
//    cssClass: "bt-content"
//
//  });

// 	showEdit();
// koniec jQuery
});

