
function getElementsByClass(name, tag) {
  var found = 0;
  var elems = new Array();
  if (tag) {
    var alltags = document.getElementsByTagName(tag);
  }
  else {
    var alltags = document.getElementsByTagName("*");
  }
  if (alltags) {
    for (i=0; i < alltags.length; i++) {
        if (alltags[i].className==name) {
          elems[found++]=alltags[i];
        }
    }
  }
  return(elems);
}

function addEvent(obj, evType, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent) {
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

function classPopupHandler() {
  var elems=getElementsByClass('imgpopup', 'a');
  for(i=0;i<elems.length;i++) {
    if (elems[i].href && elems[i].href!='') {
      addEvent(elems[i],'click',doPopup);
    }
  }
  var elems=getElementsByClass('popupclose', 'a');
  for(i=0;i<elems.length;i++) {
    if (elems[i].href && elems[i].href!='') {
      addEvent(elems[i],'click',doPopupClose);
    }
  }
}

function getParent(el, pTagName) {
  if (el == null) 
    return null;
  if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) 
    return el;
  return getParent(el.parentNode, pTagName);
}

function doPopup(ev) {

  // vagy megkapjuk az esemény objektumot, vagy meg kell szereznünk
  ev || (ev = window.event);

  // mely objektum váltotta ki az eseményt?
  var source;
  if (typeof ev.target != 'undefined') {
    source = ev.target;
  } 
  else if (typeof ev.srcElement != 'undefined') {
    source = ev.srcElement;
  } else {
    return(true); 
  }

  parent = getParent(source, 'a');
  if (parent != null) {
    source = parent;
  }

/*
  if (typeof source.parentNode != 'undefined') {
    source = source.parentNode;
  } 
  else if (typeof source.parentNode != 'undefined') {
    source = source.parentNode;
  } else {
    return(true); 
  }
*/
  //alert(source.href);
  
  var paramstart = source.href.indexOf('&');
  var extraparams = source.href.substr(paramstart + 1);
  var href = source.href.substr(0, paramstart);
  
  extraparams = extraparams.replace('&', ',');
  //alert(extraparams);

  window.open(href, 'imgpopup', extraparams);
  
  // eseménnyel mi foglalkoztunk, nem kell továbbvinni
  if (ev.preventDefault) {
    ev.preventDefault(); 
    ev.stopPropagation();
   } else {
    ev.cancelBubble = true; 
    ev.returnValue = false;
  }
  return false;
}

function doPopupClose(ev) {

  // vagy megkapjuk az esemény objektumot, vagy meg kell szereznünk
  ev || (ev = window.event);

  window.close();

  // eseménnyel mi foglalkoztunk, nem kell továbbvinni
  if (ev.preventDefault) {
    ev.preventDefault(); 
    ev.stopPropagation();
   } else {
    ev.cancelBubble = true; 
    ev.returnValue = false;
  }
  return false;
}

addEvent(window, 'load', classPopupHandler);

