function kAddCallBack(typ, callback) {
  if (document.addEventListener) {
    document.addEventListener(typ,callback,false);
  }
  else if(document.attachEvent) {
    document.attachEvent("on"+typ,callback,false);
  }
}

function kRemoveCallBack(typ, callback) {
  if (document.removeEventListener) {
    document.removeEventListener(typ,callback,false);
  }
  else if(document.detachEvent) {
    document.detachEvent("on"+typ,callback,false);
  }
}

function kMouseEvent(e) {
  if(e) {
    this.e = e;
  }
  else {
    this.e = window.event;
  }
  
  if(e.target) {
    this.target = e.target;
  }  
  else {
    this.target = e.srcElement;
  }
}

function kGetDocElement(name) {
  if (document.getElementById)
    return document.getElementById(name);
  else
  if (document.all)
    return document.all[name];
  else
  if (document.layers)
    return document.layers[name];
}
