function ApplyElClass1(el, classToApply, isAdd) {
	if(isAdd) {
		if(-1 == el.className.indexOf(classToApply)) {
			el.className = el.className + " " + classToApply;
		}
	}
	else {
		el.className = el.className.replace(new RegExp(classToApply, "g"), "");
	}
}

function GetElementsByClassName(el, className) {
	var result = [];
	if(!el) {
		return result;
	}
	var elems = el.all || el.getElementsByTagName("*");
	for(var i = 0; i < elems.length; i++) {
		var elem = document.all ? elems(i) : elems.item(i);
		if(elem.nodeType == 1) {
			var classNames = elem.className.split(" ");
			for(var j = 0; j < classNames.length; j++) {
				if(classNames[j] == className) {
					result[result.length] = elem;
				}
			}
		}
	}
	return result;
}

function CancelBubble(e) {
	if(!e) {
		e = window.event;
	}

	if(document.all) {
		e.cancelBubble = true;	
	}

	if(e.stopPropagation) {
		e.stopPropagation();
	}
}

function GetSrcEl(e) {
	if(e.target) {
		return e.target;
	}
	else if(e.srcElement) {
		return e.srcElement;
	}
}


function ToggleVisibility(e, obj) {
	if(!e) {
		e = window.event;
	}

	if(e.preventDefault) {
		e.preventDefault();
	}
	else {
		e.returnValue = false;
	}


	var el = GetSrcEl(e);
	if(!el || !el.tagName) {
		return false;
	}
	
	if(el.className.indexOf("Items") != -1) {
		return false;
	}

	CancelBubble(e);

	if(obj.className.indexOf("ItemsVisible") == -1) {
		ApplyElClass1(obj, "ItemsHidden", 0);
		ApplyElClass1(obj, "ItemsVisible", 1);
	}
	else {
		ApplyElClass1(obj, "ItemsHidden", 1);
		ApplyElClass1(obj, "ItemsVisible", 0);
	}

	return false;
}


function ToggleSelection(e, obj) {

	if(!e) {
		e = window.event;
	}

		CancelBubble(e);


	if(obj.className.indexOf("ItemSelected") == -1) {
		/*
		ApplyElClass1(obj, "ItemSelected", 1);
		var selEls = GetElementsByClassName(obj.parentNode, "ItemSelected");
		for(var i = 0; i < selEls.length; i++) {
			ApplyElClass1(selEls[i], "ItemSelected", 0);		
		}
        */
	}
	else {
		ApplyElClass1(obj, "ItemSelected", 0);
	}

	return false;
}



function ToggleVisibility1(e, obj) {
	if(!e) {
		e = window.event;
	}

	var el = GetSrcEl(e);
	if(!el || !el.tagName) {
		return false;
	}
	
	if(el.className.indexOf("Items") != -1) {
		return false;
	}

	CancelBubble(e);


	return false;
}
