// ütf-8

/**
 * Handles multiple onload events
 */
if ( typeof(window.addLoadEvent) != 'function' ) {
  function addLoadEvent(func) {
    var oldonload = window.onload;

    if (typeof window.onload != 'function') {
      window.onload = func;
    } else {
      window.onload = function() {
        oldonload();
        func();
      }
    }
  }
}

/**
 * Handles multiple onunload events
 */
if ( typeof(window.addUnloadEvent) != 'function' ) {
  function addUnloadEvent(func) {
    var oldonunload = window.onunload;

    if (typeof window.onunload != 'function') {
      window.onunload = func;
    } else {
      window.onunload = function() {
        oldonunload();
        func();
      }
    }
  }
}

/**
 * Wrapper function for document.getElementById()
 */
if ( typeof(window.$) != 'function' ) {
  function $(id) {
    return document.getElementById(id);
  }
}

/**
 * Introduces document.getElementsByClassName()
 */
if ( typeof(window.getElementsByClassName) != 'function' ) {
  function getElementsByClassName(node, classname) {
//    var elements  = [];
    var elements  = new Array();
    var regexp    = new RegExp('(^| )'+classname+'( |$)');
    var nodes     = node.getElementsByTagName('*');

    for (var i = 0; i < nodes.length; i++) {
      if ( regexp.test(nodes[i].className) ) {
        elements.push(nodes[i]);
      }
    }
    return elements;
  }
}

