function getID(id,doc)
{
    if (!doc) doc = document;
    if (document.all) return doc.all[id];
    else return doc.getElementById(id);
}
function isIE()
{
   /* window.opera identifikuje prohlizec Opera ikdyz je
      nastaven tak, aby se identifikoval jako Explorer */
  if(window.opera) return false;
  return (navigator.appName == 'Microsoft Internet Explorer');
}

function isOpera()
{
  /* window.opera identifikuje prohlizec Opera ikdyz je
     nastaven tak, aby se identifikoval jako Explorer  */
   return window.opera;
}


function openWin(url,width,height,pkey)
{
        if (!pkey) pkey = 'openWin';
        if (!width) width=620;
        if (!height) height=480;
        var w = window.open(url,pkey,"width="+width+",height="+height+",toolbar=0,directories=0,menubar=0,status=0,scrollbars=yes,resizable=yes");
	if (!w) return w;
	w.focus();
	return w;
}

function write_pocitadlo ()
{
   var s = "<a href=\"http://counter.cnw.cz\" target=\"_parent\"><img src=\"http://counter.cnw.cz/trackit.cgi?sallyx&amp;t1&amp;" + escape(top.document.referrer) + "\" alt=\"CNW:Tracker\" border=\"0\" width=\"11\" height=\"11\"></a>&nbsp;";
   
   var obj = getID('pocitadlo');
   if (!obj) return false;
   obj.innerHTML = s;
   return true;
}

function otevri (odkaz) {
       	return window.open(odkaz,"odkaz","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no");
}

function target_blank (odkaz) {
       	var w = window.open(odkaz,"t_blank","copyhistory=yes");
	if (!w) return w;
	w.focus();
	return w;
}

function knackerEvent(eventObject)
{ 
	if (eventObject && eventObject.stopPropagation) { 
		eventObject.stopPropagation(); 
	} 
	else
	if (eventObject && eventObject.cancelBubble) {
		eventObject.cancelBubble = true;
	}
	else
	if (window.event && !window.event.cancelBubble ) { 
		window.event.cancelBubble = true; 
	} 
	/*if (eventObject && eventObject.preventDefault) { 
		eventObject.preventDefault(); 
	} 
	if (window.event) { 
		window.event.returnValue = false; 
	} */
}
	
function show_note(evnt,podminka)
{
	var div = getID('what_note');
	if (!podminka) {div.style.display='none'; return true;}
	x = evnt.x ? evnt.x : evnt.pageX;
	y = evnt.y ? evnt.y : evnt.pageY;
	x = x+20;
	div.innerHTML = podminka;
	div.style.display='block';
	if (isOpera() || isIE()) {
		 x = x +(window.pageXOffset ? window.pageXOffset :
			(document.documentElement.scrollLeft ?
			document.documentElement.scrollLeft : 0));
		 y = y +(window.pageYOffset ? window.pageYOffset :
			(document.documentElement.scrollTop ?
			document.documentElement.scrollTop : 0));
	}
	div.style.left = x +'px';
	div.style.top = y - div.offsetHeight + 'px';
	return true;
}


function insertAtCursor(myField, myValue)
{
	//MOZILLA/NETSCAPE support
	if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
		+ myValue
		+ myField.value.substring(endPos, myField.value.length);
		if (myField.focus) myField.focus();
		endPos = startPos+myValue.length;
		setCursorPos (myField, endPos, endPos);
	}
	//IE support
	else if (document.selection) {
		myField.focus();
		var selrange = document.selection.createRange();
		selrange.text = myValue;
		myField.focus();
	}
	else {
		myField.value += myValue;
		if (myField.focus) myField.focus();
	}
}

function insertAroundCursor(myField, myValue1, myValue2)
{
	//MOZILLA/NETSCAPE support
	if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
		+ myValue1 + myField.value.substring(startPos,endPos)
		+ myValue2 
		+ myField.value.substring(endPos, myField.value.length);
		endPos = endPos+myValue1.length+myValue2.length;
		setCursorPos (myField, startPos, endPos);
	}
	//IE support
	else if (document.selection) {
		myField.focus();
		var selrange = document.selection.createRange();
		selrange.text = myValue1+selrange.text+myValue2;
		myField.focus();
        	selrange.select();
	}
	else {
		myField.value += myValue1+myValue2;
		if (myField.focus) myField.focus();
	}
}


function getCursorPos (elm)
{
    if (typeof elm.selectionStart != "undefined" && typeof elm.selectionEnd != "undefined")
        return {begin: elm.selectionStart, end: elm.selectionEnd};

    if (document.selection && document.selection.createRange)
    {
        elm.focus ();

        var selRange = document.selection.createRange ().duplicate ();

        // check if element contains selected text
        if (selRange.parentElement () != elm)
            return {begin: "n/a", end: "n/a"};

	 var range = selRange.duplicate ();
        range.moveToElementText (elm);
/* pro input type=text
 var range = elm.createTextRange ().duplicate (); */

 	 range.setEndPoint ("EndToStart", selRange);

        return {
		begin: range.text.length,
		end: range.text.length + selRange.text.length
	};
    }
}

function setCursorPos (elm, begin, end)
{
    if (typeof elm.selectionStart != "undefined" && typeof elm.selectionEnd != "undefined")
    {
        elm.setSelectionRange (begin, end);
        elm.focus ();
    }

    else if (document.selection && document.selection.createRange)
    {
	var s = el.value;
	s.substr(begin, end - begin).replace(/\r/g, function() {--end;});
	s.substr(0, begin).replace(/\r/g, function() {--begin; --end});
        var range = elm.createTextRange ();
        range.move ("character", begin);
        range.moveEnd ("character", end - begin);
        range.select ();
    }
}

function openClose(id)
{
	var obj = getID(id);
	if (!obj) {
		alert('Chyba JS: '+id+' not found.');
		return false;
	}
	if (obj.style.display=='block')
		obj.style.display ='none';
	else
		obj.style.display = 'block';
	return true;
}
