// knihovna Javascript funkci pro podporu zobrazovani dynamickych prvku na strankach

// funkce pro obslouzeni "rozeviracich otazek" (skryti nebo zobrazeni odpovedi po kliknuti mysi na otazku)
function qInfo(question,answer) {
// question ... id prvku s otazkou (napr. <div id="question1" class="bold-text">)
// answer ..... id prvku s odpovedi (napr. <div id="answer1" class="hidden">)
  qcur = document.getElementById(question).className;
  if (qcur=='qinfo-plus') { // nyni odpoved zobrazujeme
    qnew = 'qinfo-minus';
    anew = 'qinfo-answer';
  } else { // nyni odpoved skryvame
    qnew = 'qinfo-plus';
    anew = 'hidden';  
  }
  document.getElementById(question).className = qnew;
  document.getElementById(answer).className = anew;
}

// funkce pro nastaveni noveho CSS stylu pro html element
function chngStyle(element,newstyle) {
// element .... id prvku, kteremu se ma zmenit CSS styl (napr. <div id="info" class="information-on">)
// newstyle ... jmeno CSS stylu, ktery se ma prvku priradit (napr. "information-off")
  document.getElementById(element).className = newstyle;
}

// funkce pro zobrazovani FAQ v novem okne
function showfaq(id) {
// id ... udava, jaky faq se ma zobrazit v novem okne
  urlbase="/www/faq.php?id=";
  //w=600; h=280;
  sw=screen.width; sh=screen.height;
  w=sw-(sw/4); h=sh-(sh/2);
  faqwin=window.open(urlbase+id,"","left="+(sw-w)/2+",top="+(sh-h)/2+",width="+w+",height="+h+",scrollbars=yes");
}

// funkce pro zobrazeni prvniho elementu (style="visible") a skryti nasledujicich (style="hidden")
function showhideStyles() {
  for (var i=0; i<showhideStyles.arguments.length; i++) {
    nstyle = (i==0) ? "visible" : "hidden";  
    chngStyle(showhideStyles.arguments[i],nstyle);
  }
}

// funkce pro zobrazovani obrazku v novem okne
function showimg(url,width,height) {
// 
  fixheight = 600;
  urlbase="/www/showimg.php?img="+url;
  w=width+20;
  if (height>fixheight) h=fixheight; else h=height+20;
  sw=screen.width; sh=screen.height;
  faqwin=window.open(urlbase,"","left="+(sw-w)/2+",top="+(sh-h)/2+",width="+w+",height="+h+",scrollbars=yes");
}

function triml(s) {
  var rxTrimL = /^\s+/;
  if (rxTrimL.exec(s)) return RegExp.rightContext; else	return s;
}

function trimr(s) {
var rxTrimR = /\s+$/;
  if (rxTrimR.exec(s)) return RegExp.leftContext; else return s;
}

// funkce pro odstraneni mezer na zacatku a konci retezce
function trim(s) {
  return triml(trimr(s));
}

// funkce pro zobrazeni "plovouci napovedy"
function floatHelpAct(item,incss,itemwidth) {
// item ........ id html prvku, ktery obsahuje plovouci napovedu
// incss ....... jakou CSS tridu nastavit tomuto prvku
// itemwidth ... lze zadat sirku prvku s plovouci napovedou
  document.getElementById(item).className = incss;
  if (itemwidth != "") document.getElementById(item).style.width = itemwidth;
}

// funkce pro aktualizaci pozice "plovouci napovedy" podle pozice kurzoru mysi
function floatHelpUpd(item,e) {
// item ... id html prvku, ktery obsahuje plovouci napovedu
// e ...... objekt "event" (potreba pro prohlizece Mozilla) 
  var fh = document.getElementById(item);
  var posx = 0; var posy = 0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    posx = e.pageX;
    posy = e.pageY;
    brdspace = 0; // udava bezpecnou vzdalenost napovedy od okraje okna prohlizece (pro Mozillu)
  } else
  if (e.clientX || e.clientY) {
    posx = e.clientX + document.body.scrollLeft	+ document.documentElement.scrollLeft;
    posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
    brdspace = 20; // udava bezpecnou vzdalenost napovedy od okraje okna prohlizece (pro IE)
  }
  posx += 15; posy += 15; // aby napoveda nebyla nalepena primo na kurzoru
  // a jeste kontrola, jestli napoveda nepresahuje mimo obrazovku
  if (posx+fh.offsetWidth>(document.body.offsetWidth-brdspace)) posx = document.body.offsetWidth-brdspace-fh.offsetWidth;
  if (posy+fh.offsetHeight>(document.body.scrollHeight-brdspace)) posy = document.body.scrollHeight-brdspace-fh.offsetHeight;
  if (fh.style.left != posx) fh.style.left = posx;
  if (fh.style.top != posy) fh.style.top = posy;
}

// funkce pro skryti "plovouci napovedy"
function floatHelpDeact(item) {
// item ... id html prvku, ktery obsahuje plovouci napovedu
  document.getElementById(item).className = "hidden";
}
