function addEvent(obj, evType, fn, useCapture) {
	if (obj.addEventListener) {
		obj.addEventListener(evType,fn,useCapture);
		return true;
	} else if(obj.attachEvent){
		return obj.attachEvent("on"+evType,fn);
	} else {
		return false;
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var i = 0;
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			classElements[i++] = elems[j];
		}
	}
	return classElements;
}

function collapsible() {
	var collap = getElementsByClass("collapsible",null,"div");
	if (collap) {
		for(i in collap) {
			var dt = collap[i].getElementsByTagName("dt");
			for(j in dt) {
				dt[j].onclick = function() {
					this.parentNode.className = this.parentNode.className?'':'active';
					return false;
				}
			}
		}
	}
}

addEvent(window, 'load', collapsible);

function InputTipp() {
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++){
		if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
			inputs[i].onfocus = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
			}
			inputs[i].onblur = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
			}
		}
	}

	var textareas = document.getElementsByTagName("textarea");
	for (var i=0; i<textareas.length; i++){
		if (textareas[i].parentNode.getElementsByTagName("span")[0]) {
			textareas[i].onfocus = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
			}
			textareas[i].onblur = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
			}
		}
	}

	var selects = document.getElementsByTagName("select");
	for (var k=0; k<selects.length; k++){
		if (selects[k].parentNode.getElementsByTagName("span")[0]) {
			selects[k].onfocus = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
			}
			selects[k].onblur = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
			}
		}
	}

}

addEvent(window, 'load', InputTipp);

/* tree menu */

window.onload = function () {
	var x = document.getElementById('treeMenu');
    var listItems = x.getElementsByTagName("LI");
    for (var i = 0; i < listItems.length; i++){
		var treeSubMenu = false;
		var listItemsChildren = listItems[i].childNodes;

		for (var count = 0; count < listItemsChildren.length; count++){
			if(listItemsChildren[count].nodeType == 1 && listItemsChildren[count].tagName == "UL"){
				treeSubMenu = true;
			}
		}

		if (treeSubMenu == true){

			listItems[i].className+=' closed';

			var firstChild = listItems[i].firstChild;

			while (firstChild.nodeType != 1) {
				firstChild = firstChild.nextSibling;
			}
			firstChild.className+=' closed';


			if(window.attachEvent){
				listItems[i].attachEvent('onclick',clickTreeMenu)
			} else if (window.addEventListener){
				listItems[i].addEventListener('click',clickTreeMenu,false);
			}
		}
	}
}

function clickTreeMenu(e)
{
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();

	if (!e) var e = window.event;
	if (e.target) var tg = e.target;
	else if (e.srcElement) var tg = e.srcElement;

	while (tg.nodeName != 'LI'){ // safari miatt
		tg = tg.parentNode;
	}

	var firstChild = tg.firstChild;

	while (firstChild.nodeType != 1) {
		firstChild = firstChild.nextSibling;
	}

    if (firstChild.className.search(/open/) >= 0){
	 	tg.className = tg.className.replace('open', 'closed');
		firstChild.className = firstChild.className.replace('open', 'closed');
	} else {
	 	tg.className = tg.className.replace('closed', 'open');
		firstChild.className = firstChild.className.replace('closed', 'open');
	}
}

function confirmMsg(msg) {
	var con = confirm(msg);
	if (con) return true;
	else return false;
}

