/**************************************
Foton Kft. web pages
Shared JavaScript
Verzió 2.5
Development by Wittmannsoft
**************************************/


//var ns6 = (!document.all && document.getElementById);
//var ie4 = (document.all);
var PopupPosX = 0;
var PopupPosY = 0;
var PopupTargetX = 100;
var PopupTargetY = 100;
var PopupSlideLengthX = 50;
var PopupSlideLengthY = 50;
var AdPosX = 0;
var AdPosY = 0;
var AdTargetX = 100;
var AdTargetY = 100;
var AdSlideLengthX = 50;
var AdSlideLengthY = 50;
var vHintOpacity = 10;
var vHintTimeout;

//A wsGetPageSize függvény tömbjének indexei 
var cClientWidth = 0, cClientHeight = 1;
var cWindowWidth = 2, cWindowHeight = 3;
var cScrollWidth = 4, cScrollHeight = 5;
var cClientLeft = 6, cClientTop = 7;


//Szövegmezők ellenőrzése
//vFieldName  = a mező megnevezése
//vFieldValue = a mező értéke, amit vizsgálni kell
//vRequired   = ha a mezőt kötelező kitölteni, akkor true, egyébként false legyen
function IsValidText(vFieldName, vFieldValue, vRequired) {
  var vText = new String(vFieldValue);
  var vErrorMessage = '';
  if (vText != '') {
    var vInvalidChars = new String('?"\\|*#&=$%[]{}<>\'~ˇ^˘°˛`˙´˝¨¸÷×đĐłŁß¤');
    for (var i = 0; i < vInvalidChars.length; i++) {
      if (vText.indexOf(vInvalidChars.charAt(i)) > -1) {
        vErrorMessage += '- '+vFieldName+' mezőben nem használható a '+vInvalidChars.charAt(i)+' karakter \n';
      }
    }
  } else {
    if (vRequired) vErrorMessage += '- üres '+vFieldName+' mező \n';
  }
  return vErrorMessage;
}


//Egész számérték vizsgálata
//vString = a vizsgálandó szöveg (akkor lesz igaz, ha csak számokat tartalmaz, még kötőjelet sem)
function IsInteger(vString) {
  var vNumbers = new String('0123456789');
  for (var i = 0; i < vString.length; i++) {
    if (vNumbers.indexOf(vString.substr(i,1)) == -1) return false;
  }
  return true;
}


//E-mail cím ellenőrzése
//vFieldName  = a mező megnevezése
//vFieldValue = a mező értéke, amit vizsgálni kell
//vRequired   = ha a mezőt kötelező kitölteni, akkor true, egyébként false legyen
function IsValidEmail(vFieldName, vFieldValue, vRequired) {
  var vText = new String(vFieldValue);
  var vErrorMessage = '';
  if (vText != '') {
    var vAtPos = vText.indexOf('@');
    var vInvalidChars = new String(',;§+!/():?"\\|*#&=$%[]{}<>\'~ˇ^˘°˛`˙´˝¨¸÷×đĐłŁß¤');
    for (var i = 0; i < vInvalidChars.length; i++) {
      if (vText.indexOf(vInvalidChars.charAt(i)) > -1) {
        vErrorMessage += '- '+vFieldName+' mezőben nem használható a '+vInvalidChars.charAt(i)+' karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vAtPos == -1) {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címből hiányzik az @ karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vAtPos == 0) {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet első az @ karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vAtPos == (vText.length-1)) {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet utolsó az @ karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.substr(vAtPos+1).indexOf('@') > -1) {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben több mint egy @ karakter van \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.indexOf(' ') > -1) {
        vErrorMessage += '- '+vFieldName+' mezőben nem használható a szóköz karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.charAt(0) == '.') {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet első a pont karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.charAt(vAtPos-1) == '.') {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet a pont rögtön az @ karakter előtt \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.substr(vAtPos).indexOf('.') == -1) {
        vErrorMessage += '- '+vFieldName+' mezőben lévő cím második feléből (domain) hiányzik a pont karakter \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.charAt(vAtPos+1) == '.') {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet a pont rögtön az @ karakter után \n';
      }
    }
    if (vErrorMessage == '') {
      if (vText.charAt(vText.length-1) == '.') {
        vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet utolsó a pont karakter \n';
      }
    }
    if (vErrorMessage == '') {
      for (var i = 0; i < vText.length; i++) {
        if (vText.charAt(i) == '.') {
          if ((vText.charAt(i-1) == '.') || (vText.charAt(i+1) == '.')) {
            vErrorMessage += '- '+vFieldName+' mezőben lévő címben nem lehet két pont egymás mellett \n';
            break;
          }
        }
      }
    }
  } else {
    if (vRequired) vErrorMessage += '- üres '+vFieldName+' mező \n';
  }
  return vErrorMessage;
}


//A paraméterként megadott számot ezres csoportokra bontja
//vSzam: a szétbontandó string
//vSep: ezres elválasztó karakter
function EzresElvalasztas(vSzam, vSep) {
  var c, i, vPoz;
  var vSzoveg, vTizedes, vNegativ;
  var vAdat = new String(vSzam);
  if (vAdat.length > 3) {
    vNegativ = '';
    if (vAdat.substr(0,1) == '-') {
      vNegativ = '-';
      vAdat = vAdat.substr(1,vAdat.length-1);
    }
    vTizedes = '';
    vPoz = vAdat.indexOf(',');
    if (vPoz > -1) {
      vTizedes = vAdat.substr(vPoz,vAdat.length-vPoz);
      vAdat = vAdat.substr(0,vPoz);
    }
    if (vAdat.length > 3) {
      i = 0;
      vSzoveg = '';
      for (c=vAdat.length-1; c>=0; c--) {
        i++;
        if (i > 3) {
          vSzoveg = vAdat.charAt(c) + vSep + vSzoveg;
          i = 1;
        } else {
          vSzoveg = vAdat.charAt(c) + vSzoveg;
        }
      }
      vAdat = vNegativ + vSzoveg + vTizedes;
      return vAdat;
    } else {
      return vSzam;
    }
  } else {
    return vSzam;
  }
}


//Képváltási funkciók
function MM_swapImgRestore() {
  var i,x,a = document.MM_sr;
  for (i=0; a && i<a.length && (x=a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_findObj(n, d) {
  var p,i,x;
  if (!d) d = document;
  if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
    d = parent.frames[n.substring(p+1)].document;
    n = n.substring(0,p);
  }
  if (!(x = d[n]) && d.all) x = d.all[n];
  for (i=0; !x && i<d.forms.length; i++) x = d.forms[i][n];
  for (i=0; !x && d.layers && i<d.layers.length; i++) x = MM_findObj(n,d.layers[i].document);
  if (!x && d.getElementById) x = d.getElementById(n);
  return x;
}
function MM_swapImage() {
  var a = MM_swapImage.arguments;
  var i,j,x;
  document.MM_sr = new Array;
  j = 0;
  for(i=0; i<(a.length-2); i+=3) {
    if ((x = MM_findObj(a[i])) != null) {
      document.MM_sr[j++] = x;
      if (!x.oSrc) x.oSrc = x.src;
      x.src=a[i+2];
    }
  }
}


//Objektum (HTML elem) pozíciók lekérdezése
//Alkalmazási példa:
//  var vLablec = document.getElementById('lablecbox');
//  var X = findElemPosX(vLablec);
//  var Y = findElemPosY(vLablec);
function findElemPosX(vElem) {
  var vCooX = 0;
  if (vElem.offsetParent) {
    while (1) {
      vCooX += vElem.offsetLeft;
      if (!vElem.offsetParent) break;
      vElem = vElem.offsetParent;
    }
  } else if (vElem.x) {
    vCooX += vElem.x;
  }
  return vCooX;
}
function findElemPosY(vElem) {
  var vCooY = 0;
  if (vElem.offsetParent) {
    while (1) {
      vCooY += vElem.offsetTop;
      if (!vElem.offsetParent) break;
      vElem = vElem.offsetParent;
    }
  } else if (vElem.y) {
    vCooY += vElem.y;
  }
  return vCooY;
}


//DIV áttetszőre állítása
//Paraméterek:
//  a: DIV ID-je
//  b: áttetszőség mértéke %
//Alkalmazási példa:
//  wsSetOpacity('popuppanel',60);
function wsSetOpacity(a, b) {
  if (b < 0) {b = 0;}
  if (b > 100) {b = 100;}
  var c = b/100;
  var d = document.getElementById(a);
  if (typeof(d.style.filter) == 'string') {
    d.style.filter = 'alpha(opacity:' + b + ')';
  }
  if (typeof(d.style.KHTMLOpacity) == 'string') {
    d.style.KHTMLOpacity = c;
  }
  if (typeof(d.style.MozOpacity) == 'string') {
    d.style.MozOpacity = c;
  }
  if (typeof(d.style.opacity) == 'string') {
    d.style.opacity = c;
  }
}


//Dokumentum méret adatait egy tömbben adja vissza
//Tömbindexek nevei:
//  cClientWidth = 0, cClientHeight = 1, cWindowWidth = 2, cWindowHeight = 3,
//  cScrollWidth = 4, cScrollHeight = 5, cClientLeft = 6, cClientTop = 7
//Alkalmazási példa:
//  var vPageSize = wsGetPageSize();
//  ...
//  a = vPageSize[cClientWidth];
function wsGetPageSize() {
  //dokumentum gördíthető mérete
	var vScrollWidth, vScrollHeight;
	if (window.innerWidth && window.scrollMaxX) {
		vScrollWidth = window.innerWidth + window.scrollMaxX;
		vScrollHeight = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight) {
		vScrollWidth = document.body.scrollWidth;
		vScrollHeight = document.body.scrollHeight;
	} else {
		vScrollWidth = document.body.offsetWidth;
		vScrollHeight = document.body.offsetHeight;
	}
  //ablak kliensterületének szélessége és magassága
	var vWindowWidth = 0, vWindowHeight = 0;
  if (window.innerWidth) {
    vWindowWidth = window.innerWidth;
    vWindowHeight = window.innerHeight;
  } else if (document.documentElement && document.documentElement.clientWidth) {
    vWindowWidth = document.documentElement.clientWidth;
    vWindowHeight = document.documentElement.clientHeight;
  } else if (document.body && document.body.clientWidth) {
    vWindowWidth = document.body.clientWidth;
    vWindowHeight = document.body.clientHeight;
  }
  //dokumentum teljes szélessége és magassága (Firefox esetén a gördítősávok mögötti rész is)
	if (vScrollHeight < vWindowHeight) {
		vClientHeight = vWindowHeight;
	} else {
		vClientHeight = vScrollHeight;
	}
	if (vScrollWidth < vWindowWidth) {
		vClientWidth = vWindowWidth;
	} else {
		vClientWidth = vScrollWidth;
	}
  //látható kliensterületének bal felső sarkának pozíciója (left-top of client area) 
  var vClientLeft = 0, vClientTop = 0;
  if (typeof(window.pageYOffset) == 'number') {
    vClientTop = window.pageYOffset;
    vClientLeft = window.pageXOffset;
  } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
    vClientTop = document.body.scrollTop;
    vClientLeft = document.body.scrollLeft;
  } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
    vClientTop = document.documentElement.scrollTop;
    vClientLeft = document.documentElement.scrollLeft;
  }
  //a méreteket tömbben adja vissza
	arrayPageSize = new Array(vClientWidth,vClientHeight,vWindowWidth,vWindowHeight,vScrollWidth,vScrollHeight,vClientLeft,vClientTop);
	return arrayPageSize;
}


//Felugró ablak pozícionálása
function PosPopupPanel(X,Y) {
  if (document.getElementById) {
    var pbox = document.getElementById('popuppanel');
    pbox.style.left = X + 'px';
    pbox.style.top = Y + 'px';
  }
  /*
  else if (ns6) {
    document.popuppanel.left = X;
    document.popuppanel.top = Y;
  }
  else if (ie4) {
    document.all.popuppanel.style.pixelLeft = X;
    document.all.popuppanel.style.pixelTop = Y;
  }
  */
}
//Felugró ablak beúsztatása
function SlideInPopupPanel() {
  if (PopupPosX < PopupTargetX) PopupPosX = PopupPosX + PopupSlideLengthX;
  if (PopupPosX > PopupTargetX) PopupPosX = PopupTargetX;
  if (PopupPosY < PopupTargetY) PopupPosY = PopupPosY + PopupSlideLengthY;
  if (PopupPosY > PopupTargetY) PopupPosY = PopupTargetY;
  PosPopupPanel(PopupPosX,PopupPosY);
  if ((PopupPosX >= PopupTargetX) && (PopupPosY >= PopupTargetY)) return;
  setTimeout('SlideInPopupPanel()',40);
}
//Felugró ablak kiúsztatása
function SlideOutPopupPanel() {
  if (PopupPosX > PopupTargetX) PopupPosX = PopupPosX - PopupSlideLengthX;
  if (PopupPosX < PopupTargetX) PopupPosX = PopupTargetX;
  if (PopupPosY > PopupTargetY) PopupPosY = PopupPosY - PopupSlideLengthY;
  if (PopupPosY < PopupTargetY) PopupPosY = PopupTargetY;
  PosPopupPanel(PopupPosX,PopupPosY);
  if ((PopupPosX <= PopupTargetX) && (PopupPosY <= PopupTargetY)) {
    if (document.getElementById) {
      document.getElementById('popuppanel').style.visibility = 'hidden';
    }
    /*
    else if (ns6) {
      document.popuppanel.visibility = 'hidden';
    }
    else if (ie4) {
      document.all.popuppanel.style.visibility = 'hidden';
    }
    */
    return;
  } 
  setTimeout('SlideOutPopupPanel()',40);
}
//Felugró ablak megjelenítése
//panelWidth: panel szélessége (pixel)
//panelHeight: panel magassága (pixel)
//slideStyle: 1 = fentről be, 2 = balról be, 3 = azonnal megjelenik, 4 = balról be és Y absolute, egyéb esetben a bal felső sarokból átlósan be
//slidePosX: 0 = vízszintesen közepre, ha nagyobb mint nulla akkor abba a pozícióba
//slidePosY: 0 = függőlegesen közepre, ha nagyobb mint nulla akkor abba a pozícióba
//textID: megjelenítendő tartalom indexe
function ShowPopupPanel(panelWidth, panelHeight, slideStyle, slidePosX, slidePosY, textID) {
  if (document.getElementById) {
    var docWidth = 800;
    var docHeight = 600;
    var topOfClientArea = 0;
    var vPageSize = wsGetPageSize();
    var tarea = document.getElementById('popuptext');
    if (textID == 1) {
      tarea.innerHTML = '<p style="line-height: 14px; margin-bottom:15px;"><span class="blackhd1">Felhasználási feltételek</span></p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>Ez a weboldal különböző forrásokhoz biztosít hozzáférést</b>. Ezek között vannak tanulmányok, termékinformációk, grafikák, számítógépes programok (továbbiakban: Alkotások), melyek mindegyike a Felhasználási feltételek hatálya alá esik.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>A közzétett összes Alkotás, a Foton Kft. és partnerei által készített</b>, és a szerzői jogvédelem hatálya alá esik. Az Alkotásokat, a Foton Kft. írásos engedélye nélkül, más honlapon nem teheti közzé, az ettől eltérő eseteket külön feltüntetjük.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>A letölthető számítógépes programok használatára</b>, a szoftvert kísérő vagy ahhoz mellékelt Végfelhasználói licencszerződés, illetve a partneri együttműködés feltételei vonatkoznak. A szoftvereket kizárólag a megkötött szerződésekben foglaltak szerinti használatra tettük elérhetővé.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>Az Alkotásokat csak saját felelősségére használhatja</b>. A Foton Kft. nem vállal felelősséget semmilyen adatvesztésért, haszon elmaradásáért, vagy bármilyen más kárért, melyet az Alkotások rendeltetésszerű, vagy nem rendeltetésszerű használata okozott.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>Tilos bármiféle módon megszerezni</b> (vagy megkísérelni megszerezni) mindenféle olyan anyagot vagy információt, amely nem szándékosan van elérhetővé téve a honlapon. Nem tölthet fel vírusokat, trójai falovakat, időbombákat, sérült fájlokat és semmiféle ezekhez hasonló olyan fájlt vagy programot, amely kárt okozhat más számítógépének működésében vagy más személy tulajdonában. Nem gyűjthet össze harmadik személyre vonatkozó információkat.</p>'+
        '<p style="line-height: 14px; margin-bottom:15px;"><b>A weboldal üzemeltetője fenntartja a jogot</b> a Felhasználási feltételek előzetes értesítés nélküli módosítására. A szolgáltatás további használata a Felhasználási feltételek elfogadását jelenti.</p>';
    } else if (textID == 2) {
      tarea.innerHTML = '<p style="line-height: 14px; margin-bottom:15px;"><span class="blackhd1">Adatvédelmi nyilatkozat</span>&nbsp;&nbsp;2008. május 17.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>A webhely, személyazonosításra alkalmas adatokat kérhet a felhasználóktól</b>, illetve olyan adatokat, amelyek segítségével felveheti a kapcsolatot a felhasználókkal az adott szolgáltatás biztosítása végett vagy egy kért tranzakció lebonyolítása érdekében. A kért személyes adatok között szerepelhet a személy neve, megszólítása, e-mail címe, telefonszáma, postai címe, cégének neve, beosztása.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>A webhely, bizonyos esetekben rögzítheti a látogatás adatait</b>, például az Internet-kapcsolathoz használt Internet-szolgáltató nevét és az IP-címet, a látogatás dátumát és időpontját, a webhely meglátogatott lapjainak nevét és a webhelyre érkezés közvetlen kiindulási pontjául szolgáló webhely internetes címét. Ezekkel az adatokkal az üzemeltető fokozza a webhely működésének hatékonyságát, elemzi az aktuális trendeket és felügyeli a honlapot.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>Hírlevélre történő feliratkozáskor</b>, vagy reklámcélú e-mailek küldésének engedélyezésekor, az üzemeltető biztosítja, hogy a felhasználó lemondhassa ezeket a szolgáltatásokat, a levélben elhelyezett linkre kattintva.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>Az üzemeltető a weboldalon megadott személyes adatokat</b>, és az automatikusan rögzített látogatási adatokat, a webhely üzemeltetéséhez, látogatási statisztikák készítéséhez, valamint a felhasználók által kért vagy engedélyezett szolgáltatások vagy tranzakciók végrehajtásához használja, azokat másnak nem adja ki, kivéve a jogszabályokban előírt eseteket.</p>'+
        '<p style="line-height: 14px; margin-bottom:8px;"><b>Az üzemeltető bizonyos időközönként módosíthatja a jelen nyilatkozatot</b>, ezt a lap tetején látható frissítési dátum is jelzi. A szolgáltatás további használata az Adatvédelmi nyilatkozat elfogadását jelenti.</p>'+
        '<p style="line-height: 14px; margin-bottom:15px;">További kérdéseivel forduljon a webhely üzemeltetőjéhez, a (+36) 99 511 600 telefonszámon, vagy a <a href="mailto:foton@foton.hu">foton@foton.hu</a> e-mail címen.</p>';
    }

    /*
    if (document.body.clientWidth) {
    	docWidth = document.body.clientWidth;
    } else if (self.innerWidth) {
    	docWidth = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientWidth) {
    	docWidth = document.documentElement.clientWidth;
    }
    if (document.body.clientHeight) {
    	docHeight = document.body.clientHeight;
    } else if (self.innerHeight) {
    	docHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
    	docHeight = document.documentElement.clientHeight;
    }
    if (ns6) {
      topOfClientArea = window.pageYOffset;
    }
    else {
      topOfClientArea = document.body.scrollTop;
    }
    */
    docWidth = vPageSize[cWindowWidth];
    docHeight = vPageSize[cWindowHeight];
    topOfClientArea = vPageSize[cClientTop];
  
    if (slidePosX > 0) {
      PopupTargetX = slidePosX;
    } else {
      PopupTargetX = Math.round((docWidth/2)-(panelWidth/2));
    }
    var centerY = topOfClientArea + Math.round((docHeight/2)-(panelHeight/2));
    if (slidePosY > 0) {
      if (slideStyle == 4) {
        PopupTargetY = slidePosY;
      } else {
        PopupTargetY = topOfClientArea + slidePosY;
        if (PopupTargetY > centerY) PopupTargetY = centerY;
      }
    } else {
      PopupTargetY = centerY;
    }
    PopupSlideLengthX = 50;
    PopupSlideLengthY = 50;
    if (slideStyle == 1) {
      PopupPosX = PopupTargetX;
      PopupPosY = 0-panelHeight+topOfClientArea;
    } else if ((slideStyle == 2) || (slideStyle == 4)) {
      PopupPosX = 0-panelWidth;
      PopupPosY = PopupTargetY;
    } else if (slideStyle == 3) {
      PopupPosX = PopupTargetX;
      PopupPosY = PopupTargetY;
    } else {
      PopupPosX = 0-panelWidth;
      PopupPosY = 0-panelHeight+topOfClientArea;
      if ((PopupTargetX-PopupPosX) > (PopupTargetY-PopupPosY)) {
        PopupSlideLengthY = Math.round((PopupTargetY-PopupPosY)/((PopupTargetX-PopupPosX)/50));
      } else {
        PopupSlideLengthX = Math.round((PopupTargetX-PopupPosX)/((PopupTargetY-PopupPosY)/50));
      }
    }
    //if (document.getElementById) {
      document.getElementById('popuppanel').style.visibility = 'visible';
    /*
    }
    else if (ns6) {
      document.popuppanel.visibility = 'visible';
    }
    else if (ie4) {
      document.all.popuppanel.style.visibility = 'visible';
    }
    */
    PosPopupPanel(PopupPosX,PopupPosY);
    SlideInPopupPanel();
  }
}
//Felugró ablak bezárása
//panelWidth: panel szélessége (pixel)
//panelHeight: panel magassága (pixel)
//slideStyle: 1 = felfelé ki, 2 = balra ki, 3 = azonnal eltűnik, egyéb esetben a bal felső sarok felé átlósan ki
function ClosePopupPanel(panelWidth, panelHeight, slideStyle) {
  var topOfClientArea = 0;
  var vPageSize = wsGetPageSize();

  /*
  if (ns6) {
    topOfClientArea = window.pageYOffset;
  }
  else {
    topOfClientArea = document.body.scrollTop;
  }
  */
  topOfClientArea = vPageSize[cClientTop];

  PopupSlideLengthX = 50;
  PopupSlideLengthY = 50;
  if (slideStyle == 1) {
    PopupTargetX = PopupPosX;
    PopupTargetY = 0-panelHeight+topOfClientArea;
  } else if (slideStyle == 2) {
    PopupTargetX = 0-panelWidth;
    PopupTargetY = PopupPosY;
  } else if (slideStyle == 3) {
    PopupTargetX = PopupPosX;
    PopupTargetY = PopupPosY;
  } else {
    PopupTargetX = 0-panelWidth;
    PopupTargetY = 0-panelHeight+topOfClientArea;
    if ((PopupPosX-PopupTargetX) > (PopupPosY-PopupTargetY)) {
      PopupSlideLengthY = Math.round((PopupPosY-PopupTargetY)/((PopupPosX-PopupTargetX)/50));
    } else {
      PopupSlideLengthX = Math.round((PopupPosX-PopupTargetX)/((PopupPosY-PopupTargetY)/50));
    }
  }
  SlideOutPopupPanel();
}


//Reklám ablak pozícionálása
function PosAdPanel(X,Y) {
  if (document.getElementById) {
    var pbox = document.getElementById('adpanel');
    pbox.style.left = X + 'px';
    pbox.style.top = Y + 'px';
  }
  /*
  else if (ns6) {
    document.adpanel.left = X;
    document.adpanel.top = Y;
  }
  else if (ie4) {
    document.all.adpanel.style.pixelLeft = X;
    document.all.adpanel.style.pixelTop = Y;
  }
  */
}
//Reklám ablak beúsztatása
function SlideInAdPanel() {
  if (AdPosX < AdTargetX) AdPosX = AdPosX + AdSlideLengthX;
  if (AdPosX > AdTargetX) AdPosX = AdTargetX;
  if (AdPosY < AdTargetY) AdPosY = AdPosY + AdSlideLengthY;
  if (AdPosY > AdTargetY) AdPosY = AdTargetY;
  PosAdPanel(AdPosX,AdPosY);
  if ((AdPosX >= AdTargetX) && (AdPosY >= AdTargetY)) return;
  setTimeout('SlideInAdPanel()',40);
}
//Reklám ablak kiúsztatása
function SlideOutAdPanel() {
  if (AdPosX > AdTargetX) AdPosX = AdPosX - AdSlideLengthX;
  if (AdPosX < AdTargetX) AdPosX = AdTargetX;
  if (AdPosY > AdTargetY) AdPosY = AdPosY - AdSlideLengthY;
  if (AdPosY < AdTargetY) AdPosY = AdTargetY;
  PosAdPanel(AdPosX,AdPosY);
  if ((AdPosX <= AdTargetX) && (AdPosY <= AdTargetY)) {
    if (document.getElementById) {
      document.getElementById('adpanel').style.visibility = 'hidden';
    }
    /*
    else if (ns6) {
      document.adpanel.visibility = 'hidden';
    }
    else if (ie4) {
      document.all.adpanel.style.visibility = 'hidden';
    }
    */
    return;
  } 
  setTimeout('SlideOutAdPanel()',40);
}
//Reklám ablak megjelenítése
//panelWidth: panel szélessége (pixel)
//panelHeight: panel magassága (pixel)
//slideStyle: 1 = fentről be, 2 = balról be, 3 = azonnal megjelenik, 4 = balról be és Y absolute, egyéb esetben a bal felső sarokból átlósan be
//slidePosX: 0 = vízszintesen közepre, ha nagyobb mint nulla akkor abba a pozícióba
//slidePosY: 0 = függőlegesen közepre, ha nagyobb mint nulla akkor abba a pozícióba
function ShowAdPanel(panelWidth, panelHeight, slideStyle, slidePosX, slidePosY) {
  if (document.getElementById) {
    var docWidth = 800;
    var docHeight = 600;
    var topOfClientArea = 0;
    var vPageSize = wsGetPageSize();
    
    /*
    if (document.body.clientWidth) {
    	docWidth = document.body.clientWidth;
    } else if (self.innerWidth) {
    	docWidth = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientWidth) {
    	docWidth = document.documentElement.clientWidth;
    }
    if (document.body.clientHeight) {
    	docHeight = document.body.clientHeight;
    } else if (self.innerHeight) {
    	docHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
    	docHeight = document.documentElement.clientHeight;
    }
    if (ns6) {
      topOfClientArea = window.pageYOffset;
    }
    else {
      topOfClientArea = document.body.scrollTop;
    }
    */
    docWidth = vPageSize[cWindowWidth];
    docHeight = vPageSize[cWindowHeight];
    topOfClientArea = vPageSize[cClientTop];

    if (slidePosX > 0) {
      AdTargetX = slidePosX;
    } else {
      AdTargetX = Math.round((docWidth/2)-(panelWidth/2));
    }
    var centerY = topOfClientArea + Math.round((docHeight/2)-(panelHeight/2));
    if (slidePosY > 0) {
      if (slideStyle == 4) {
        AdTargetY = slidePosY;
      } else {
        AdTargetY = topOfClientArea + slidePosY;
        if (AdTargetY > centerY) AdTargetY = centerY;
      }
    } else {
      AdTargetY = centerY;
    }
    AdSlideLengthX = 50;
    AdSlideLengthY = 50;
    if (slideStyle == 1) {
      AdPosX = AdTargetX;
      AdPosY = 0-panelHeight+topOfClientArea;
    } else if ((slideStyle == 2) || (slideStyle == 4)) {
      AdPosX = 0-panelWidth;
      AdPosY = AdTargetY;
    } else if (slideStyle == 3) {
      AdPosX = AdTargetX;
      AdPosY = AdTargetY;
    } else {
      AdPosX = 0-panelWidth;
      AdPosY = 0-panelHeight+topOfClientArea;
      if ((AdTargetX-AdPosX) > (AdTargetY-AdPosY)) {
        AdSlideLengthY = Math.round((AdTargetY-AdPosY)/((AdTargetX-AdPosX)/50));
      } else {
        AdSlideLengthX = Math.round((AdTargetX-AdPosX)/((AdTargetY-AdPosY)/50));
      }
    }
    //if (document.getElementById) {
      document.getElementById('adpanel').style.visibility = 'visible';
    /*
    }
    else if (ns6) {
      document.adpanel.visibility = 'visible';
    }
    else if (ie4) {
      document.all.adpanel.style.visibility = 'visible';
    }
    */
    PosAdPanel(AdPosX,AdPosY);
    SlideInAdPanel();
  }
}
//Reklám ablak bezárása
//panelWidth: panel szélessége (pixel)
//panelHeight: panel magassága (pixel)
//slideStyle: 1 = felfelé ki, 2 = balra ki, 3 = azonnal eltűnik, egyéb esetben a bal felső sarok felé átlósan ki
function CloseAdPanel(panelWidth, panelHeight, slideStyle) {
  var topOfClientArea = 0;
  var vPageSize = wsGetPageSize();

  /*
  if (ns6) {
    topOfClientArea = window.pageYOffset;
  }
  else {
    topOfClientArea = document.body.scrollTop;
  }
  */
  topOfClientArea = vPageSize[cClientTop];

  AdSlideLengthX = 50;
  AdSlideLengthY = 50;
  if (slideStyle == 1) {
    AdTargetX = AdPosX;
    AdTargetY = 0-panelHeight+topOfClientArea;
  } else if (slideStyle == 2) {
    AdTargetX = 0-panelWidth;
    AdTargetY = AdPosY;
  } else if (slideStyle == 3) {
    AdTargetX = AdPosX;
    AdTargetY = AdPosY;
  } else {
    AdTargetX = 0-panelWidth;
    AdTargetY = 0-panelHeight+topOfClientArea;
    if ((AdPosX-AdTargetX) > (AdPosY-AdTargetY)) {
      AdSlideLengthY = Math.round((AdPosY-AdTargetY)/((AdPosX-AdTargetX)/50));
    } else {
      AdSlideLengthX = Math.round((AdPosX-AdTargetX)/((AdPosY-AdTargetY)/50));
    }
  }
  SlideOutAdPanel();
}


//Hint ablak láthatóvá tétele
function VisibleHintPanel() {
  if (document.getElementById) {
    wsSetOpacity('hintpanel',vHintOpacity);
    document.getElementById('hintpanel').style.visibility = 'visible';
    if (vHintOpacity < 100) {
      vHintOpacity += 10;
      vHintTimeout = setTimeout('VisibleHintPanel()',20);
    }
  }
}
//Hint ablak elrejtése
function HideHintPanel() {
  if (document.getElementById) {
    if (vHintOpacity > 10) vHintOpacity -= 10;
    wsSetOpacity('hintpanel',vHintOpacity);
    if (vHintOpacity > 10) {
      vHintTimeout = setTimeout('HideHintPanel()',20);
    } else {
      document.getElementById('hintpanel').style.visibility = 'hidden';
    }
  }
}
//Hint ablak megjelenítése
//hintObj: a hívó elem
//hintDelay: hint panel megjelenítésének késleltetése (ms)
//panelMoveX: panel eltolása vízszintesen (pixel)
//panelMoveY: panel eltolása függőlegesen (pixel)
//panelPos: panel pozíciója a hívó elem bal széléhez képest: 'left', 'right'
//panelWidth: panel szélessége (pixel)
//hintText: megjelenítendő tartalom (html kód)
function ShowHintPanel(hintObj, hintDelay, panelMoveX, panelMoveY, panelPos, panelWidth, hintText) {
  if (document.getElementById) {
    var vPageSize = wsGetPageSize();
    var vHintPanel = document.getElementById('hintpanel');
    var vHeight;
    var vPosX = 0;
    var vPosY = 0;
    clearTimeout(vHintTimeout);
    if (document.getElementById('hintpanel').style.visibility == 'visible') {
      vHintOpacity = 10;
      wsSetOpacity('hintpanel',vHintOpacity);
    }
    vHintPanel.style.width = panelWidth + 'px';
    document.getElementById('hintboxbg').style.width = (panelWidth-14) + 'px';
    document.getElementById('hinttext').innerHTML = hintText;
    vHeight = vHintPanel.offsetHeight;
    if (panelPos == 'right') {
      vPosX = findElemPosX(hintObj)+panelMoveX;
    } else {
      vPosX = findElemPosX(hintObj)-panelWidth-2+panelMoveX;
    }
    vPosY = findElemPosY(hintObj)-vHeight-5+panelMoveY;
    if (vPosX < vPageSize[cClientLeft]) {
      vPosX = vPageSize[cClientLeft];
    }
    if ((vPosX+panelWidth) > (vPageSize[cClientLeft]+vPageSize[cWindowWidth]-28)) {
      vPosX = vPageSize[cClientLeft]+vPageSize[cWindowWidth]-28-panelWidth;
    }
    if (vPosY < vPageSize[cClientTop]) {
      vPosY = vPageSize[cClientTop];
    }
    if ((vPosY+vHeight) >= (vPageSize[cClientTop]+vPageSize[cWindowHeight])) {
      vPosY = vPageSize[cClientTop]+vPageSize[cWindowHeight]-vHeight;
    }
    vHintPanel.style.left = vPosX + 'px';
    vHintPanel.style.top = vPosY + 'px';
    vHintOpacity = 10;
    if (document.getElementById('hintpanel').style.visibility == 'visible') {
      VisibleHintPanel();
    } else {
      vHintTimeout = setTimeout('VisibleHintPanel()',hintDelay);
    }
  }
}
//Hint ablak bezárása
function CloseHintPanel() {
  if (document.getElementById) {
    clearTimeout(vHintTimeout);
    HideHintPanel();
  }
}
