// Ez a script a word -ből átemelt lábjegyzetek, végjegyzetek
// WEB oldalon történő kezelésére szolgál
// a jegyzet "beuszó" ablakban jelenik meg.

// globáls
tagok = 0;
obj = 0;
hintColor = '#FFEEBF';

function hidetip() {
  // onmouseout eljárás
  divHint.style.display="none";
  divHint.style.left="-500px";
}

function ures() {
}

function mpg_getPosition(tag) {
  // elem absulot oldal pozició lekérdezése
  var coordinates=new Object();          // object to hold x and y
  var x=0,y=0;                           // init x and y
  hd1 = tag;
  var hd2=hd1;                           // duplicate handle
  x=hd1.offsetLeft;                      // get offset to parent
  while((hd1=hd1.offsetParent) != null){ // get next parent
   x += hd1.offsetLeft;                  // add up all offsets
  }
  y=hd2.offsetTop;                       // repeat above for y
  while((hd2=hd2.offsetParent) != null){
   y += hd2.offsetTop;
  }
  coordinates.x=x;    // set object x value
  coordinates.y=y;
  return coordinates; // return object with x and y
}

function showProps(obj, objName) {
  // debug
  if (objName == "undefined")
     objName = "object";
  var result = "";
  for (var i in obj) {
    result += objName + "." + i + " = ";
    try {
      result += obj[i];
    } catch (e) {
      result += e;
    }
    result += "\n";
  }
  document.write('<hr>'+result);
  //alert(result);
  //var w = window.open("", "w", "width=560,height=450,resizable=yes,scrollbars=yes");
  //w.document.write("<pre>" + result + "</pre>"); 
  //w.document.close();
}
function getText(w) {
   // w node teljes TXT tartalmának kinyerése
   var w2 = 0;
   var ki = '';
   if (w.nodeValue)
     ki += w.nodeValue+' ';
   w2 = w.firstChild;
   while (w2) {
     ki += getText(w2);
     w2 = w2.nextSibling;
   }
   return ki;
}
function show_hint(event) {
  // onmouseover eljárás
  if (this != undefined)
     obj = this;
  else {
     event = window.event;
     obj = event.target;
  }
  obj.onmouseout=ures;
  // megkeresem a hivattkozott lábjegyzetet,
  // megjelenitem a hozzá tartozó textet
  ref = obj.getAttribute("href");
  j = ref.indexOf('#');
  ref = ref.substr(j,20);
  hintTxt = ref;
  for (i=0; i<tagok.length; i++) {
       nev = tagok[i].getAttribute("name");
       // relativ href keresése a kigyüjtött A tagok között
	   if ('#'+nev == ref) {
         s = getText(tagok[i]);
		 w = tagok[i].nextSibling;
         while (w) {
           s += getText(w);
           w = w.nextSibling;
         }
		 if (s.substr(0,1) != '[') s = '['+s;
		 if (s.length > 500)
		    hintTxt = s.substr(0,500)+'...';
		 else 
            hintTxt = s; 		 
       }
    divHint = document.getElementById("hintbox");
    divHint.innerHTML = hintTxt;
    // hint div aktuális méret kezdőérték:
    hintw = 500;
    hinth = 200;
    // "a" elem aktuális poziciója
    xy = mpg_getPosition(obj);
    x = xy.x;
    y = xy.y + 23;
    // ablak méret
    if (window.innerWidth)
      winW = window.innerWidth;
    else if (window.outerWidth)	
      winW = window.outerWidth - 50;
    else	 
      winW = 800;
    // hint div előzetes poziója
    if ((x + hintw + 30) > winW) x = winW - hintw - 30; 
    if (x < 0) x = 0;
    divHint.style.left = x+'px';
    divHint.style.top = y+'px';
    divHint.style.width = hintw + 'px';
    divHint.style.display="block";
    divHint.style.zindex=99;
    // hint div aktuális méret elérése
    hintw = divHint.offsetWidth;
    hinth = divHint.offsetHeight;
    // hintdiv méret és pozició helyesbitése
    divHint.style.width = hintw + 'px';
    if ((x + hintw + 50) > winW) x = winW - hintw - 50; 
    if (x < 0) x = 0;
    divHint.style.left = x+'px';
    setTimeout('obj.onmouseout=hidetip;',10);
  }
}
// lábjegyzet, végjegyzet megjelenitése
//  -amikor rá kattintanak - alert popup -ban.
function targetBlank(event) {
    var i = 0;
    var j = 0;
    var ref = '';
    var nev = '';
    var target = 0;
    event = event ? event : window.event;
    hidetip(); 
    var target =
       event.srcElement ? event.srcElement : event.target;
    while (target.nodeName.toLowerCase() != "a" &&
           target.parentNode != null)
      target = target.parentNode;
    // megkeresem a hivattkozott lábjegyzetet,
    // megjelenitem a hozzá tartozó textet
    for (i=0; i<tagok.length; i++) {
       nev = tagok[i].getAttribute("name");
       ref = target.getAttribute("href");
       j = ref.indexOf('#');
       ref = ref.substr(j,10);
       // relativ href keresése a kigyüjtött A tagok között
       if ('#'+nev == ref) {
         s = '';
         if (tagok[i].nodeValue)
            s += tagok[i].nodeValue+' ';
         if (tagok[1].firstChild) {
            s += getText(tagok[i].firstChild);
         }
         w = tagok[i].nextSibling;
         while (w) {
           s += getText(w);
           w = w.nextSibling;
         }
         alert(s);
       }
    }
    // DOM
    if (event.cancelable) event.preventDefault();
    // IE
    return false;
}

function szamjavito0(s) {
      s = s.replace('[i]','[1]');
      s = s.replace('[ii]','[2]');
      s = s.replace('[iii]','[3]');
      s = s.replace('[iv]','[4]');
      s = s.replace('[v]','[5]');
      s = s.replace('[vi]','[6]');
      s = s.replace('[vii]','[7]');
      s = s.replace('[viii]','[8]');
      s = s.replace('[ix]','[9]');
      s = s.replace('[x]','[10]');
      s = s.replace('[xi]','[11]');
      s = s.replace('[xii]','[12]');
      s = s.replace('[xiii]','[13]');
      s = s.replace('[xiv]','[14]');
      s = s.replace('[xv]','[15]');
      s = s.replace('[xvi]','[16]');
      s = s.replace('[xvii]','[17]');
      s = s.replace('[xviii]','[18]');
      s = s.replace('[xix]','[19]');
      s = s.replace('[xx]','[20]');
      s = s.replace('[xxi]','[21]');
      s = s.replace('[xxii]','[22]');
      s = s.replace('[xxiii]','[23]');
      s = s.replace('[xxiv]','[24]');
      s = s.replace('[xxv]','[25]');
      s = s.replace('[xxvi]','[26]');
      s = s.replace('[xxvii]','[27]');
      s = s.replace('[xxviii]','[28]');
      s = s.replace('[xxix]','[29]');
      s = s.replace('[xxx]','[30]');
      s = s.replace('[xxxi]','[31]');
      return s;   
}
function szamjavito(atag) {
  s = atag.nodeValue;
  if (s) {
    s = szamjavito0(s);
    atag.nodeValue = s;
  }  
  w = atag.firstChild;
  while (w) {
    s = w.nodeValue;
    if (s) {
      s = szamjavito0(s);
      w.nodeValue = s;
    }  
    w = w.firstChild;  
  }
}

function labjegyzetIni() {
// Kigyüjtöm az összes A tag -et
// a lábjegyzet végjegyzet
// hivatkozó A tagek -et átdefiniálom
// a lábjegyzet végjegyzet
// definiáló tagek -et átdefiniálom
tagok = document.getElementsByTagName("A");
var i,j;
var nev = '';
var ref = '';
var href = '';
for (i=0; i<tagok.length; i++) {
     nev = tagok[i].getAttribute("name");
     href = tagok[i].getAttribute("href");

     if (href == undefined) href="";
     if (nev == undefined) nev="";
     if (href.search(/#nb1/) >= 0) {
       ref = tagok[i].getAttribute("href");
       j = ref.indexOf('#');
       ref = ref.substr(j,20);
       tagok[i].href=ref;
       tagok[i].onclick = targetBlank;
       tagok[i].style.color ='blue';
       tagok[i].style.fontSize = '10px';
       tagok[i].style.verticalAlign = 'super';
       tagok[i].onmouseover = show_hint;
		   tagok[i].name = 'nh1-'+ref.substr(5,20);
		   tagok[i].title = '';
		   szamjavito(tagok[i]);
     } else if ((href.search(/#sdf/) >= 0) & (href.search(/sym/) >= 0)) {
       // #sdfootnote'szám'sym  tipusú lábjegyzet hivatkozás
       ref = tagok[i].getAttribute("href");
       j = ref.indexOf('#');
       ref = ref.substr(j,20);
       tagok[i].href=ref;
       tagok[i].onclick = targetBlank;
       tagok[i].style.color ='blue';
       tagok[i].style.fontSize = '10px';
       tagok[i].style.verticalAlign = 'super';
       tagok[i].onmouseover = show_hint;
		   tagok[i].title = '';
		   szamjavito(tagok[i]);
     } else if (href.search(/#nh1/) >= 0){ 
       ref = tagok[i].getAttribute("href");
       j = ref.indexOf('#');
       ref = ref.substr(j,20);
       tagok[i].href=ref;
       tagok[i].style.color ='blue';
       tagok[i].style.fontSize = '10px';
       tagok[i].style.verticalAlign = 'super';
       tagok[i].style.color ='blue';
 	     tagok[i].name = 'nb1-'+ref.substr(5,20);
		   tagok[i].title = '';
	     szamjavito(tagok[i]);
     } else if ((href.search(/#sdf/) >= 0) & (href.search(/anc/) >= 0)) { 
       // #sdfootnote'szám'anc  tipusú lábjegyzet definició
       ref = tagok[i].getAttribute("href");
       j = ref.indexOf('#');
       ref = ref.substr(j,20);
       ref = ref.replace('anc','sym')
       tagok[i].style.color ='blue';
       //tagok[i].style.fontSize = '10px';
       //tagok[i].style.verticalAlign = 'super';
       tagok[i].style.color ='blue';
 	     //tagok[i].name = ref;
		   tagok[i].title = '';
	     szamjavito(tagok[i]);
     } else if (href.search(/#_ftnref/) >= 0) { 
          ref = tagok[i].getAttribute("href");
          j = ref.indexOf('#');
          ref = ref.substr(j,20);
          tagok[i].href=ref;
          tagok[i].style.color ='blue';
          tagok[i].style.fontSize = '10px';
          tagok[i].style.verticalAlign = 'super';
          tagok[i].style.color ='blue';
		      tagok[i].name = '_ftn'+ref.substr(8,20);
		      tagok[i].title = '';
		      szamjavito(tagok[i]);
     } else if (href.search(/#_ednref/) >= 0) { 
          ref = tagok[i].getAttribute("href");
          j = ref.indexOf('#');
          ref = ref.substr(j,20);
          tagok[i].href=ref;
          tagok[i].style.color ='blue';
          tagok[i].style.fontSize = '10px';
          tagok[i].style.verticalAlign = 'super';
          tagok[i].style.color ='blue';
          tagok[i].style.verticalAlign = 'super';
		      tagok[i].name = '_edn'+ref.substr(8,20);
		      tagok[i].title = '';
		      szamjavito(tagok[i]);
     } else if (href.search(/#_ftn/) >= 0) { 
          ref = tagok[i].getAttribute("href");
          j = ref.indexOf('#');
          ref = ref.substr(j,20);
          tagok[i].onclick = targetBlank;
          tagok[i].href=ref;
          tagok[i].style.color ='blue';
          tagok[i].style.fontSize = '10px';
          tagok[i].style.verticalAlign = 'super';
          tagok[i].style.color ='blue';
          tagok[i].onmouseover = show_hint;
		      tagok[i].name = '_ftnref'+ref.substr(5,20);
		      tagok[i].title = '';
		      szamjavito(tagok[i]);
     } else if (href.search(/#_edn/) >= 0) { 
          ref = tagok[i].getAttribute("href");
          j = ref.indexOf('#');
          ref = ref.substr(j,20);
          tagok[i].onclick = targetBlank;
          tagok[i].href=ref;
          tagok[i].style.color ='blue';
          tagok[i].style.fontSize = '10px';
          tagok[i].style.verticalAlign = 'super';
          tagok[i].style.color ='blue';
          tagok[i].onmouseover = show_hint;
		      tagok[i].name = '_ednref'+ref.substr(5,20);
		      tagok[i].title = '';
		      szamjavito(tagok[i]);
     //} else {
	    //tagok[i].name = '';
		  //tagok[i].title = '';
	 }
}
var divHint=document.createElement("div");
divHint.setAttribute("id", "hintbox");
divHint.style.position = 'absolute';
divHint.style.zindex = 99;
//divHint.style.height = '20px';
divHint.style.width = '150px';
divHint.style.top = '100px';
divHint.style.left = '100px';
divHint.style.backgroundColor = hintColor; 
divHint.style.borderStyle = 'dotted';
divHint.style.borderWidth = '1px';
divHint.style.display = 'none';
divHint.style.textAlign = 'left';
divHint.style.padding = '0.2cm';
divHint.className = 'hint';
document.body.appendChild(divHint);
}
// init labjegyzetkezelo
setTimeout(labjegyzetIni,10);
// end