/*

//////////////////////////////////////////////////
//												//
//	tabnav Script by monomo www.monomo.co.uk	//
//												//
//////////////////////////////////////////////////

attaches functionality as soon as the page has been loaded

*/

/*

//////////////////////////////
//							//
//	onLoad Functionality	//
//							//
//////////////////////////////

attaches functionality as soon as the page has been loaded

*/


addEvent(window, 'load', function() {
	identifyTabMenuElements('tabNavigation');
});



/*

//////////////////
//				//
//	ATTACH FUNC	//
//				//
//////////////////

*/

/* Identify the correct div elements */

function identifyTabMenuElements(MenuID) {
	
	var supported = document.createElement && document.getElementsByTagName;
	if (!supported) return;
	
	var tabMenu = document.getElementById(MenuID);
	// filter the span tags
	var tabTriggers = getElementsByClassName(tabMenu, 'span', 'menuLabelPassive')
		
		// attach function which swaps the style
		for(i=0; i<tabTriggers.length; i++){
		
				tabTriggers[i].onmouseover = function () {
					this.className = "menuLabelActive";
					this.firstChild.className = "linkActive";
				}
				tabTriggers[i].onmouseout = function () {
					this.className = "menuLabelPassive";
					this.firstChild.className = "linkPassive";
				}
	
		}
		
}


/*

//////////////
//			//
//	HELPERS	//
//			//
//////////////

*/



function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}





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


