YAHOO.namespace('YAHOO.EU.widget');
YAHOO.EU.widget.TabPanel = function(){
 var oTabPanel;
 this.onchange = new YAHOO.util.CustomEvent("onchange", this, false, YAHOO.util.CustomEvent.FLAT);
};
YAHOO.EU.widget.TabPanel.prototype = {
 init : function(el, oConfig){
 oTabPanel = YAHOO.util.Dom.get(el);
 this.oConfig = oConfig;
 var aHeadings = YAHOO.util.Dom.getElementsBy(function(o){
 return (o.parentNode.parentNode == oTabPanel && YAHOO.util.Dom.hasClass(o, "hd"));
 }, "", oTabPanel);
 var aTabs = YAHOO.util.Dom.getElementsBy(function(o){
 return o.parentNode == oTabPanel;
 }, "li", oTabPanel);
 var oLITab = document.createElement("li");
 var oDiv = document.createElement("div");
 var oUL = document.createElement("ul");
 this.aTabs = aTabs;
 for(var k=0, m=aTabs.length; k<m; k++){
 var oLI = document.createElement("li");
 var oA = document.createElement("a");
 var oS = document.createElement("span");
 oA.nTab = k;
 var sTxt = aHeadings[k].innerHTML.replace(/<[^>]+>/g, '');
 sTxt = sTxt.replace(/^\s*/,'').replace(/\s*$/,'');
 var oTxt = document.createTextNode(sTxt);
 oS.appendChild(oTxt);
 oA.setAttribute("href", "#");
 oA.appendChild(oS);
 oLI.appendChild(oA);
 oUL.appendChild(oLI);
 if(!k){
 YAHOO.util.Dom.addClass(oLI, 'first-child');
 YAHOO.util.Dom.addClass(oA, 'active');
 this.aTabs.oActive = oA;
 }else{
 YAHOO.util.Dom.addClass(aTabs[k], 'hide');
 }
 YAHOO.util.Event.addListener(oA, "click", this.openTab, this, true);
 }
 oDiv.appendChild(oUL);
 oLITab.appendChild(oDiv);
 oTabPanel.insertBefore(oLITab, oTabPanel.firstChild);
 for(k=0, m=aTabs.length; k<m; k++){
 var oHD = YAHOO.util.Dom.getElementsByClassName("hd", "", aTabs[k])[0]; 
 oHD.parentNode.removeChild(oHD);
 }
 YAHOO.util.Dom.addClass(oDiv, 'hd');
 YAHOO.util.Dom.addClass(oLITab, 'nav');
 YAHOO.util.Dom.addClass(oTabPanel, "js");
 var aActiveTab = oTabPanel.className.match(/tab(\d)/);
 if(aActiveTab && oTabPanel.getElementsByTagName("a")[aActiveTab[1]]){
 this.openTab(null, oTabPanel.getElementsByTagName("a")[aActiveTab[1]]);
 }
 if(oConfig && oConfig.nActive != undefined){
 this.openTabNumber(oConfig.nActive);
 }
 oTabPanel.style.display = "block";
 return this;
 },
 
 show : function(o){
 YAHOO.util.Dom.addClass(o, "active");
 },
 
 hide : function(o){
 YAHOO.util.Dom.addClass(this.aTabs, "hide");
 YAHOO.util.Dom.removeClass(this.aTabs[o.nTab], "hide");
 YAHOO.util.Dom.removeClass(this.aTabs.oActive, "active");
 },
 
 openTab : function(e, o){
 var oTarget = (e) ? YAHOO.util.Event.getTarget(e) : o;
 oTarget = (oTarget.nodeName.toLowerCase() == "span") ? oTarget.parentNode : oTarget;
 if(e){
 YAHOO.util.Event.preventDefault(e);
 }
 this.hide(oTarget);
 this.show(oTarget);
 this.aTabs.oActive = oTarget;
 this.onchange.fire(oTarget.nTab);
 return this;
 },
 openTabNumber : function(nTab){
 this.openTab(null, oTabPanel.getElementsByTagName("a")[nTab]);
 return this;
 }
};
YAHOO.util.Event.onAvailable("yeug-live",function(){
 var oLiveTabs = new YAHOO.EU.widget.TabPanel().init(YAHOO.util.Dom.getElementsByClassName('livetabs', 'ul', 'yeug-live')[0]);
 if(oLiveTabs.aTabs.length){
 var aPanes=YAHOO.util.Dom.getElementsByClassName('bd','div',oLiveTabs.aTabs[0]);
 for(var i=0;i<oLiveTabs.aTabs.length;i++){
 oLiveTabs.openTabNumber(i);
 if(oLiveTabs.aTabs[i].getElementsByTagName("table").length){
 break;
 }
 }
 }
});
YAHOO.util.Event.onAvailable("yeug-footer",function(){
 var oLeagueTabs = YAHOO.util.Dom.getElementsByClassName('leaguetabs', 'ul', 'yeug-body');
 for(var i = 0, j = oLeagueTabs.length; i < j; i++){
 oLeagueTabs[i] = new YAHOO.EU.widget.TabPanel().init(oLeagueTabs[i]);
 }
});
