function ge(id) { 
	return document.getElementById(id); 
}
function ToggleStyle(id, style) {
	var obj = ge(id);
	if(!obj) return false;
	style = style?style:'active';
	var re = new RegExp('\\s*'+style, 'i');
	if(obj.className.match(re)) obj.className = obj.className.replace(re, '');
	else obj.className += ' '+style;
	return true;
}
function ToggleActiveStyle(id) {
	var obj = ge(id);
	if (obj) {
		if (obj.className.match(/\s*active/i)) obj.className = obj.className.replace(/\s*active/i, '');
		else obj.className += ' active';
	}
	return true;
}
function ToggleHider(obj) {
	if(!obj) return false;
	var parent = obj.parentNode;
	if (parent) {
		if (parent.className.match(/\s*active/i)) parent.className = parent.className.replace(/\s*active/i, '');
		else parent.className += ' active';
	}
}


if(!jsUtils) {
	var jsUtils =
	{
		FindChildObject: function(obj, tag_name, class_name, recursive)
		{
			if(!obj)
				return null;
			var tag = tag_name.toUpperCase();
			var cl = (class_name? class_name.toLowerCase() : null);
			var n = obj.childNodes.length;
			for(var j=0; j<n; j++)
			{
				var child = obj.childNodes[j];
				if(child.tagName && child.tagName.toUpperCase() == tag)
					if(!class_name || child.className.toLowerCase() == cl)
						return child;
				if(recursive == true)
				{
					var deepChild;
					if((deepChild = jsUtils.FindChildObject(child, tag_name, class_name, true)))
						return deepChild;
				}
			}
			return null;
		},
	
		FindParentObject: function(obj, tag_name, class_name)
		{
			if(!obj)
				return null;
			var o = obj;
			var tag = tag_name.toUpperCase();
			var cl = (class_name? class_name.toLowerCase() : null);
			while(o.parentNode)
			{
				var parent = o.parentNode;
				if(parent.tagName && parent.tagName.toUpperCase() == tag)
					if(!class_name || parent.className.toLowerCase() == cl)
						return parent;
				o = parent;
			}
			return null;
		},
	
		FindNextSibling: function(obj, tag_name)
		{
			if(!obj)
				return null;
			var o = obj;
			var tag = tag_name.toUpperCase();
			while(o.nextSibling)
			{
				var sibling = o.nextSibling;
				if(sibling.tagName && sibling.tagName.toUpperCase() == tag)
					return sibling;
				o = sibling;
			}
			return null;
		},
	
		FindPreviousSibling: function(obj, tag_name)
		{
			if(!obj)
				return null;
			var o = obj;
			var tag = tag_name.toUpperCase();
			while(o.previousSibling)
			{
				var sibling = o.previousSibling;
				if(sibling.tagName && sibling.tagName.toUpperCase() == tag)
					return sibling;
				o = sibling;
			}
			return null;
		},
		
		ToggleDiv: function(div)
		{
			var style = document.getElementById(div).style;
			if(style.display!="none")
				style.display = "none";
			else
				style.display = "block";
			return (style.display != "none");
		}
	}
}