function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != "function") {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function getConnection() {
	var xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			}
		}
	}
	return xhr;
}

function addClass(t, c) {
    if (t) {
        var getClasses = t.className.split(/\s+/);

	    if (!hasClass(getClasses, c)) {
	        t.className = appendClass(t.className, c);
	    }
	}
}
function removeClass(t, c) {
    if (t) {
        var getClasses = t.className.split(/\s+/);
        var newClasses = "";

	    for (var i=0; i<getClasses.length; i++) {
	        if (getClasses[i] != c) {
	            newClasses = appendClass(newClasses, getClasses[i]);
	        }
	    }
        t.className = newClasses;
    }
}
function toggleClass(t, c) {
    if (t) {
        var getClasses = t.className.split(/\s+/);

	    if (hasClass(getClasses, c)) {
	        removeClass(t, c);
	    } else {
	        addClass(t, c);
	    }
	}
}
function hasClass(a, c) {
	for (var i=0; i<a.length; i++) {
	    if (a[i] == c) {
	        return true;
	    }
	}
	return false;
}
function appendClass(c, n) {
    if (c.length>0) {
        return c+" "+n;
    } else {
        return n;
    }
}
function $(id) {
	var obj = false;
	if (document.getElementById(id)) {
        obj = document.getElementById(id);
	}
	return obj;
}
function getRandom() {
    var d = new Date();
    return "&rand="+d.getTime();
}
function getUrlAnchor() {
    var regex = new RegExp("#(.+$)");
    //window.location.href
    var findAnchor = regex.exec(document.location.href);
    if (findAnchor == null ) {
        return "";
    } else {
        return findAnchor[1];
    }
}