function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
     window.onload = func;
  } else {
     window.onload = function() {
        oldonload();
        func();
     }
  }
}
addOnLoadEvent = addLoadEvent

function addUnLoadEvent(func){
  var oldOnUnLoad = window.onbeforeunload;
  if(typeof window.onbeforeunload != 'function'){
      window.onbeforeunload = func;
      }else{
      window.onbeforeunload = function(){
        if(oldOnUnLoad) {
             oldOnUnLoad();
            }
            func();
         }
     }
 }

function lpGuid(){
    var newGuid = ""
    for(var i=0; i<7;i++){
        var newRand = Math.floor(Math.random()*9)
        newGuid += newRand
    }
    if(guids.indexOf(newGuid) == -1) return newGuid
    else return lpGuid()
}

function postWindowName(){
    var forms = document.getElementsByTagName("form")
    var i
    var currentElement
    for(i=0;i<forms.length;i++){
        currentElement = document.createElement("input")
        currentElement.setAttribute("type","hidden");
        currentElement.setAttribute("name","z")
        currentElement.setAttribute("value",currentGuid)
        try{
            forms[i].appendChild(currentElement)
        }catch(err){
        }
    }
}

function hrefWindowName(){
    var anchors = document.getElementsByTagName("a")
    var url = ""
    for(var i = 0;i<anchors.length;i++){
        if(anchors[i].name != "doNotAddZ" && anchors[i].href !="#"){
            url = anchors[i].href
            if(url.indexOf(".asp") > -1 && url.indexOf("?z=") == -1){
                var q = ""
                var amp = ""
                if (url.indexOf("?") > -1){
                    q="?"
                    amp="&"
                }
                url = url.replace(".asp" + q,".asp?z=" + currentGuid + amp)
                if(url[url.length-1] == "&") url = url.replace(/&$/,"")
                anchors[i].href = url
            }
        }
    }
}

function CurrentGuid(){
    var url = "currentGuid.asp?guid=<%=currentGuid%>"
    var xml = createXMLHttpRequest()
    xml.onreadystatechange = function(){
        if (xml.readyState == 4){
        }
    }
    xml.open("GET",url,false)
    xml.send(null)
}

function windowLocation(url){
    if(url.indexOf("?z=") == -1  && url.indexOf(".asp") > -1){
        var q = ""
        var amp = ""
        if (url.indexOf("?") > -1){
            q="?"
            amp="&"
        }
        url = url.replace(".asp"+ q,".asp?z=" + currentGuid +amp)
        if(url[url.length-1] == "&") url = url.replace(/&$/,"")
    }
    window.location = url
}

function createXMLHttpRequest(){
    var http;
    if (window.ActiveXObject) {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }else if (window.XMLHttpRequest){
        http = new XMLHttpRequest();
    }
    return http;
}
    
function getElementsByClass( searchClass, domNode, tagName) {
    if (domNode == null) domNode = document;
    if (tagName == null) tagName = '*';
    var el = new Array();
    var tags = domNode.getElementsByTagName(tagName);
    var tcl = " "+searchClass+" ";
    for(i=0,j=0; i<tags.length; i++) {
        var test = " " + tags[i].className + " ";
        if (test.indexOf(tcl) != -1)
            el[j++] = tags[i];
    }
    return el;
}

function btnChanger(){
    var btn = getElementsByClass("button")
    var i
    for(i=0;i<btn.length;i++){
        btn[i].onmousedown = function(){this.className='buttonDown'}
        btn[i].onmouseup = function(){this.className='button'}
        btn[i].onmouseover = function(){this.className='buttonOver'}
        btn[i].onmouseout = function(){this.className='button'}
        //alert(btn[i].innerHTML)       //this is for debugging ;c)
    }
}

addLoadEvent(postWindowName)
addLoadEvent(hrefWindowName)
addLoadEvent(btnChanger)
addUnLoadEvent(CurrentGuid)