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

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

function insertAfter(newElement, targetElement) {
	var parent = targetElement.parentNode;
	if (parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	} else {
		parent.insertBefore(newElement, targetElement.nextSibling);
	}
}

function hasClassName(element, value){
	if (!element.className) {
		return false;
	} else {
		if (getClassNameIndex(element, value) >= 0) {
			return true;
		} else return false;
	}
}

function getClassNameIndex(element, value) {
	var classList = element.className.split(' ');
	for (var i = 0; i < classList.length; i++) {
		if (classList[i] == value) 
			return i; // return the index
	}
	return -1;
}

function addClassName(element, value) {
	if (!element.className) {
		element.className = value;
	} else {
		var newClassName = element.className;
		newClassName+= " ";
		newClassName+= value;
		element.className = newClassName;
	}
}

function removeClassName(element, index) {
	if (element.className) {
		var classList = element.className.split(' ');
		var newClassName = "";
		for (var i = 0; i < classList.length; i++) {
			if (i != index) {
				newClassName+=classList[i];
				newClassName+=' ';
			}
		}
		if (newClassName) {
			if (newClassName.substr(newClassName.length - 1, 1) == " ") {
				newClassName = newClassName.slice(0, newClassName.length - 1);
			}
			element.className = newClassName;
			
		} else {
			element.className = "";
		}
	}
}

function preparePopup(lnk) {
	lnk.onclick = function () {
		window.open(lnk.href);
		return false;
	}
}