
	var _slovar_active = false;

	function slovar_go() {
		if ( _slovar_active )
			slovar_off();
		else
			slovar_on();
		_slovar_active = !_slovar_active;
	}

	function slovar_on() {

		if (
			!document.getElementById ||
			!document.getElementById("slovar_blk") ||
			!document.getElementById("slovar_blk").innerHTML
		) {
			alert("Browser/markup not capable to use dictionary");
			return;
		}
		var slovar_div = document.getElementById("slovar_blk");

		// store HTML
		var bodyHTML = slovar_div.innerHTML;

		// strip & remember HTML tags
		var re = /<[^<>]*>/gi;
		var HTMLArray = bodyHTML.match(re);
		var hilitedTxt = bodyHTML.replace(re, '$!$');

		// hilite dictionary
		for (var slv = 0; slv < _slovar.length; slv++)
		{
			var txt = _slovar[slv].k.replace(/\s+/g, "[a-z蚞]*\\s+");
			txt = "\\b(" + txt.substring(0,txt.length) + "[a-z蚞]*)";
			var re2 = new RegExp(txt, 'gi');
			var sva = _slovar[slv].c.split("|");
			hilitedTxt = hilitedTxt.replace(re2, '<a class="slovar" href="/' + jsg_jezik_S + '/etc/slovar/?v=slovar_' + sva[0] + '#a_' + escape(_slovar[slv].k) + '" onmouseover="slovar_popup(this,' + slv + ')" onmouseout="slovar_popup(this,null)">$1</a>');
		}

		// return HTML tags
		for(j=0; hilitedTxt.indexOf("$!$")>-1; j++)
		{
			hilitedTxt = hilitedTxt.replace("$!$", HTMLArray[j]);
		}

		slovar_div.innerHTML = hilitedTxt;

		return;
	}

	function slovar_off() {

		if (
			!document.getElementById ||
			!document.getElementById("slovar_blk") ||
			!document.getElementById("slovar_blk").innerHTML
		) {
			alert("Browser/markup not capable to use dictionary");
			return;
		}
		var slovar_div = document.getElementById("slovar_blk");

		// store HTML
		var bodyHTML = slovar_div.innerHTML;

		// remove hilite
		var re = /<a class="?slovar[^>]*>(.*?)<\/a>/gi; //"
		var newBodyHTML = bodyHTML.replace(re, "$1");
		slovar_div.innerHTML = newBodyHTML;

	}

	function slovar_popup(a, slv) {
		var popup = document.getElementById("slovar_pop");
		if ( popup )
			if ( slv == null )
				popup.style.visibility = "hidden";

			else {
				var p = slovar_getpos(a);
				popup.style.left = p.x + 12 + "px";
				popup.style.top = p.y + 24 + "px";

				var sva = _slovar[slv].c.split("|");
				popup.innerHTML = "<b>" + sva[1] + "</b><br />" + sva[2];
				popup.style.visibility = "visible";
			}
	}


	function slovar_getpos(obj)
	{
		var coordinates = {x: 0, y:0};
		if ( obj ) {
			coordinates.x = slovar_getPosX(obj);
			coordinates.y = slovar_getPosY(obj);
		}
		return coordinates;
	}

	function slovar_getPosX(obj)
	{
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft;
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}

	function slovar_getPosY(obj)
	{
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop;
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}

