
function _eventHandler(event) {
    if (!event) {event = window.event;}
    var events = this['on' + event.type + 'Events'];
    if (!events){return;}
    for (var i = 0; i < events.length; i++) {
        this.eventMethod = events[i];
        if (this.eventMethod(event) === false) {
            this.eventMethod = null;
            return false;
        }
        this.eventMethod = null;
    }
}


function registerEvent(object, event, handler) {
    if (!(object && event && handler)){return;}
    var events = object[event + 'Events'];
    if (!events) {
        object[event + 'Events'] = object[event] ? [object[event], handler] : [handler];
        object[event] = _eventHandler;
    }
    else {object[event + 'Events'][events.length] = handler;}
}

function unregisterEvent(object, event, handler) {
    if (!(object && event && handler)){return;}
    var events = object[event + 'Events'];
    if (!events){return;}
    for (var i = 0; i < events.length; i++) {
        if (object[event + 'Events'][i] == handler){return object[event + 'Events'].splice(i, 1);}
    }
}

function hideObjects() {
    var args = hideObjects.arguments;
    for (var i = 0; i < args.length; i++) {
        var obj = document.getElementById(args[i]);
        if (obj){obj.style.display = 'none';}
    }
}

function goUrl(Selected) {var newURL = Selected.options[Selected.selectedIndex].value;
    if (newURL!=" ") {location.href = newURL;}
  }
function clearDefault(el) {
  if (el.defaultValue==el.value) el.value = ""
}

function ajaxLoader(url,id){if (document.getElementById) {
var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();}
if (x){x.onreadystatechange = function(){if (x.readyState == 4 && x.status == 200)
{el = document.getElementById(id);el.innerHTML = x.responseText;}}
x.open("GET", url, true);x.send(null);}}

function $(e){if(typeof e=='string')e=document.getElementById(e);return e};
function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};
 ajax={};
 ajax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
 ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};
 ajax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};
 ajax.get=function(url,func){ajax.send(url,func,'GET')};
 ajax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};
 ajax.post=function(url,func,args){ajax.send(url,func,'POST',args)};
 ajax.update=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};
 ajax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};

