/**
 * Általános funkciók
 *
 * @author      Aurum <aurum@aurum.hu>
 * @copyright   Copyright (c)2005 by Aurum
 * @version     0.1
 */

/**
 * Lekérdezi és visszaadja a megadott stílusosztályba tartozó elemeket
 *
 * @param   string      name        A keresett osztály neve
 *
 * @return  Array       A keresett stílusosztályba tartozó tartozó elemek tömbje
 */
function getElementsByClass(name) {
  var found = 0;
  var elems = new Array();
  var alltags = document.getElementsByTagName("*");
  if (alltags) {
    for (i=0; i < alltags.length; i++) {
        if (alltags[i].className==name) {
          elems[found++]=alltags[i];
        }
    }
  }
  return(elems);
}

/**
 * Hozzárendel egy objektumhoz egy eseménykezelőt
 *
 * @param   Object          object      Az objektum, amihez az eseménykezelőt rendelni kell
 * @param   DOMString       type        Az esemény típusa
 * @param   EventListener   listener    Eseménykezelő függvény neve  
 */
function addEvent(object, type, listener) {
    if (object.addEventListener) {
        object.addEventListener(type, listener, true);
        return true;
    } else if (object.attachEvent) {
        return object.attachEvent("on"+type, listener);
    } else {
        return false;
    }
}


/**
 * Kiolvas egy sütit
 *
 * @param   string      name        A süti neve
 *
 * @return  string      A süti tartalma
 */
function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            var endstr = document.cookie.indexOf(";", j);
            if (endstr == -1) {
                endstr = document.cookie.length;
            }
            return unescape(document.cookie.substring(j, endstr));
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) {
            break;
        }
    }
    return null;
}

/**
 * Beállítja egy süti tartalmát
 *
 * @param   string      name        A süti neve
 * @param   string      value       A süti beállítandó tartalma
 * @param   string      expires     A süti lejáratának időpontja
 * @param   string      path        A süti útvonala
 * @param   string      domain      A domain neve
 * @param   boolean     secure      true, ha biztonságos kapcsolatot igényel
 */
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") + 
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") + 
        ((secure) ? "; secure" : "");
}

/**
 * Töröl egy beállított sütit
 *
 * @param   string      name        A süti neve
 * @param   string      path        A süti útvonala
 * @param   string      domain      A domain neve
 */
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") + 
            ((domain) ? "; domain=" + domain : "") + 
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}