var delay;
var timeOutID;
var el_cnt = 0;

function homeInit(){
}


function categoryInit(){
}


function singleInit(){
}

// ANIMATE menu-items -------------------------------------------

function topMenuItemOver(obj, parentID, postID) {
delay = function() { resetMenu(); };
clearTimeout(timeOutID);
hideClass("sub-menu-list");
removeClassClass("activeOver", "activeOver");
addClass(obj, "activeOver");
showElement("sub-menu_"+parentID);
timeOutID = setTimeout(delay, 5000);
} 

function subMenuItemOver(obj, parentID, postID)  {
	//Nothing
}

// TIMEOUT FUNCTIONS


function resetMenu() {
	hideClass("sub-menu-list");
	removeClassClass("activeOver", "activeOver");
	showClass("sub-menu-default");
}

// DIV functions -------------------------------------------

function showNextElementOfClass(className) {
        var e=getElementsByClass(className);
        for(var i=0;i<e.length;i++) { 
		if(i == el_cnt + 1) {
			e[i].style.display = "";
			el_cnt = el_cnt	+ 1;
			if (el_cnt = e.length) {
				el_cnt = 0;
			}	
		} else {      
              		e[i].style.display = "none";
		}
        }
}

// HIDE/SHOW functions -------------------------------------------


function hideElement(elementID) {
	document.getElementById(elementID).style.display = "none";
}

function showElement(elementID) {
        document.getElementById(elementID).style.display = "";
}

function hideClass(className) {
        var e=getElementsByClass(className);
        for(var i=0;i<e.length;i++) {       
              e[i].style.display = "none";
        }
}

function showClass(className) {
        var e=getElementsByClass(className);
        for(var i=0;i<e.length;i++) {       
              e[i].style.display = "";
        }
}


// HELPER functions -------------------------------------------

function getElementsByClass( searchClass, domNode, tagName) { 
	if (domNode == null) domNode = document;
	if (tagName == null) tagName = '*';
	var el = new Array();
	var tags = domNode.getElementsByTagName(tagName);
	var tcl = " "+searchClass+" ";
	for(i=0,j=0; i<tags.length; i++) { 
		var test = " " + tags[i].className + " ";
		if (test.indexOf(tcl) != -1) 
			el[j++] = tags[i];
	} 
	return el;
}

function addClass(obj,cls) {
	if (!this.hasClass(obj,cls)) obj.className += " "+cls;
}
 
function removeClass(obj,cls) {
        if (hasClass(obj,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		obj.className=obj.className.replace(reg,' ');
	}
}

function addClassClass(findCls, cls) {
	var e=getElementsByClass(findCls);
        for(var i=0;i<e.length;i++) {       
              addClass(e[i],cls);
        }
} 

function removeClassClass(findCls, cls) {
	var e=getElementsByClass(findCls);
        for(var i=0;i<e.length;i++) {       
              removeClass(e[i],cls);
        }
} 

function hasClass(obj,cls) {
	return obj.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
