function v(f){
if (document.getElementById(f).height!=140) document.getElementById(f).height=140;
else document.getElementById(f).height=20;
}
function w(f){
if (document.getElementById(f).height!=141) document.getElementById(f).height=141;
else document.getElementById(f).height=1;
}

//Escape URI pentrucautare
function escape_iso_8859_2(s) {
var out = '';

for(var i = 0; i < s.length; i++) {
var c = parseFloat(s.charCodeAt(i));
var part = s.charAt(i);
if (32 == c) {
part = '+';
} else if (c>=45 && c<=46 || c>=48 && c<=57 || c>=65 && c<=90 || c>=97 && c<=122 ) {
//do not encode . - numbers, letters
} else {
switch (c) {
case 260: part='%A1';break;//¥
case 728: part='%A2';break;//¢
case 321: part='%A3';break;//£
case 317: part='%A5';break;//¼
case 346: part='%A6';break;//Œ
case 352: part='%A9';break;//Š
case 350: part='%AA';break;//ª
case 356: part='%AB';break;//
case 377: part='%AC';break;//
case 381: part='%AE';break;//Ž
case 379: part='%AF';break;//¯
case 261: part='%B1';break;//¹
case 731: part='%B2';break;//²
case 322: part='%B3';break;//³
case 318: part='%B5';break;//¾
case 347: part='%B6';break;//œ
case 711: part='%B7';break;//¡
case 353: part='%B9';break;//š
case 351: part='%BA';break;//º
case 357: part='%BB';break;//
case 378: part='%BC';break;//Ÿ
case 733: part='%BD';break;//½
case 382: part='%BE';break;//ž
case 380: part='%BF';break;//¿
case 340: part='%C0';break;//À
case 258: part='%C3';break;//Ã
case 313: part='%C5';break;//Å
case 262: part='%C6';break;//Æ
case 268: part='%C8';break;//È
case 280: part='%CA';break;//Ê
case 282: part='%CC';break;//Ì
case 270: part='%CF';break;//Ï
case 272: part='%D0';break;//Ð
case 323: part='%D1';break;//Ñ
case 327: part='%D2';break;//Ò
case 336: part='%D5';break;//Õ
case 344: part='%D8';break;//Ø
case 366: part='%D9';break;//Ù
case 368: part='%DB';break;//Û
case 354: part='%DE';break;//Þ
case 341: part='%E0';break;//à
case 259: part='%E3';break;//ã
case 314: part='%E5';break;//å
case 263: part='%E6';break;//æ
case 269: part='%E8';break;//è
case 281: part='%EA';break;//ê
case 283: part='%EC';break;//ì
case 271: part='%EF';break;//ï
case 273: part='%F0';break;//ð
case 324: part='%F1';break;//ñ
case 328: part='%F2';break;//ò
case 337: part='%F5';break;//õ
case 345: part='%F8';break;//ø
case 367: part='%F9';break;//ù
case 369: part='%FB';break;//û
case 355: part='%FE';break;//þ
case 729: part='%FF';break;//ÿ
default :
 part = '%' + c.toString(16).toUpperCase();

};
};
out += part;
};
return out;
}

function Right(str, n){
if (n <= 0)
return "";
else if (n > String(str).length)
return str;
else {
var iLen = String(str).length;
return String(str).substring(iLen, iLen - n);
}
}

//AnyLink Drop Down Menu
var disappeardelay=250;
var hidemenu_onclick="yes";
var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:165px;background-color:#FAFAFA" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

/**
 * getWordFromEvent() and expandRangeToWord()
 * Copyright (C) Martin Honnen
 * See http://www.faqts.com/knowledge_base/view.phtml/aid/33674/fid/145
 **/
var dom = { ELEMENT_NODE: 1, TEXT_NODE: 3 };
var Alphabet = 'a-zãâçèéëìíïîòóöºþùúü';
var letter = '[' + Alphabet + ']';
var nonLetter = '[^' + Alphabet + ']';
var wwwRoot = getWwwRoot();

function getWordFromEvent(evt) {
  var range = null;
  if (document.body && document.body.createTextRange) {
    /* IE */
//    range = document.body.createTextRange();
//    range.moveToPoint(evt.clientX, evt.clientY);
//    range.expand('word');
//    return range.text;
    return null;
  } else
  if (evt.rangeParent && document.createRange) {
    /* Mozilla */
    range = document.createRange();
    range.setStart(evt.rangeParent, evt.rangeOffset);
    range.setEnd(evt.rangeParent, evt.rangeOffset);
    expandRangeToWord(range);
    var word = range.toString();
    range.detach();
    return word;
  } else
  if (evt.target.nodeType == dom.ELEMENT_NODE) {
    /* Opera, Safari or any other W3DOM compatible browser */
    markWords(evt.target);
    return wordUnderMouse(evt.target, evt);
  } else
  {
    return null;
  }
}

/* Recursively mark words in custom <span> tags */
function markWords(elem) {
  var wordRe = new RegExp('([^'+Alphabet+']*)(['+Alphabet+']*)', 'gim');

  for (var i = 0; i < elem.childNodes.length; ++i) {
    var child = elem.childNodes.item(i);
    if (child.nodeType == dom.ELEMENT_NODE) {
      markWords(child);
    } else if (child.nodeType == dom.TEXT_NODE) {
      var newChild = document.createElement('span');

      for (wordRe.lastIndex = 0; wordRe.lastIndex < child.data.length; ) {
        var match = wordRe.exec(child.data);
        /* there's always a match, wordRe accepts empty string */
        if (match[1]) {
          /* Wrap the non-word string in a TextNode object since it
           * it may contain invalid or harmful XHTML characters. */
          newChild.appendChild(document.createTextNode(match[1]));
        }
        if (match[2]) {
          /* Wrap the word string a <span class="_mw"> tag */
          var wordSpan = document.createElement('span');
          wordSpan.setAttribute('class', '_mw');
          wordSpan.className = '_mw';
          wordSpan.appendChild(document.createTextNode(match[2]));
          newChild.appendChild(wordSpan);
        }
      }

      elem.replaceChild(newChild, child);
    }
  }
}

/* Recursively search for a <span> element under the mouse pointer */
function wordUnderMouse(elem, evt) {
  for (var i = 0; i < elem.childNodes.length; ++i) {
    var child = elem.childNodes.item(i);
    if (child.nodeType != dom.ELEMENT_NODE) {
      continue;
    }
    if ('_mw' == child.className) {
      if (evt.clientX >= child.offsetLeft && evt.clientY >= child.offsetTop
          && evt.clientX < child.offsetLeft + child.offsetWidth
          && evt.clientY < child.offsetTop + child.offsetHeight) {
        return child.textContent;
      }
    } else {
      var childWord = wordUnderMouse(child, evt);
      if (null != childWord) return childWord;
    }
  }
  return null;
}

function expandRangeToWord(range) {
  var startOfWord = new RegExp('^' + nonLetter + letter + '+$', 'i');
  var endOfWord = new RegExp('^' + letter + '+' + nonLetter + '$', 'i');
  var whitespace = new RegExp('^' + nonLetter + '+$', 'i');
  // if offset is inside whitespace
  range.setStart(range.startContainer, range.startOffset - 1);

  if (whitespace.test(range.toString())) {
    return null;
  }
  while (!startOfWord.test(range.toString()) && range.startOffset > 0) {
    range.setStart(range.startContainer, range.startOffset - 1);
  }
  if (startOfWord.test(range.toString())) {
    range.setStart(range.startContainer, range.startOffset + 1);
  }
  var maxOffset = 1000;
  if (range.endContainer.nodeType == 3) { // text
    maxOffset = range.endContainer.nodeValue.length;
  }
  while (!endOfWord.test(range.toString()) &&
         range.endOffset < maxOffset) {
    range.setEnd(range.endContainer, range.endOffset + 1);
  }
  if (endOfWord.test(range.toString())) {
    range.setEnd(range.endContainer, range.endOffset - 1);
  }
  return range.toString();
}

function isValidWord(word) {
        var reWord = new RegExp('^' + letter + '+$', 'i');
        if ((word != null) && reWord.test(word)) {
                return true;
        }
        return false;
}

function searchClickedWord(evt) {
  var st = getSelectedText();
  if (st && st != '') {
    // Allow text selection without redirecting.
    return false;
  }
  var word = getWordFromEvent(evt);
  if ( isValidWord(word) ) {
    loc = wwwRoot + 'index.php?q=' + escape_iso_8859_2(word);
    window.location = loc;
  }
  else {
          return false;
  }
  return true;
}

/**
 * getSelectedText() Copyright (C) Quirksmode
 * See http://www.quirksmode.org/dom/range_intro.html
 */
function getSelectedText() {
  var st = null;
  if (window.getSelection) {
    st = window.getSelection();
  } else if (document.selection) { // should come last; Opera!
    st = document.selection.createRange();
  }

  if (st != null && st.text != null) {
    st = st.text;
  }
  return st;
}

function getWwwRoot() {
  var pos = window.location.href.indexOf('/wwwbase/');
  if (pos == -1) {
    return '/';
  } else {
    return window.location.href.substr(0, pos + 9);
  }
}
