/******************************************************************************
* xisoMainTabs.js
******************************************************************************/

isoYUILoader.onReady( function() {
	YAHOO.util.Event.onContentReady("xisoBody", function() {
		var blockTab = YAHOO.util.Dom.getElementsByClassName('xisoMainTabs', 'div');
		var divx = document.createElement("div");
		divx.setAttribute('id', 'pagination');
		YAHOO.util.Dom.insertAfter(divx, blockTab[0]);
	
		/*markup carousel */
		YAHOO.util.Dom.removeClass(blockTab, 'itlTabs');
		blockTab[0].setAttribute('id', 'carouselcontainer');	
		var ol = document.createElement("ol");
		blockTab[0].appendChild(ol);
		var tab = YAHOO.util.Dom.getElementsByClassName('itlStandardTabsBlock', 'div');
		for (var j =0; j < tab.length; j++) {
			var li = document.createElement("li");
			ol.appendChild(li);
			li.appendChild(tab[j]);
		}

		for (var i =0; i < blockTab.length; i++) {
			var menuOnglet = blockTab[i].removeChild(blockTab[i].firstChild);
			var div = document.createElement("div");
			YAHOO.util.Dom.addClass(div, 'xisoTabMenu'); 
			YAHOO.util.Dom.insertAfter(div, blockTab[i]);
			div.appendChild(menuOnglet);
			YAHOO.util.Dom.addClass(menuOnglet.firstChild, 'tabButtonFirst');
		}

		var tabName = new Array();
		var ul = YAHOO.util.Dom.getElementsByClassName('xisoMainTabs', 'ul');
		for (var i =0; i < ul.length; i++) {
			for (var j=0;j < ul[i].childNodes.length;j++) {
				li = ul[i].childNodes.item(j);
				tabName[j] = li.firstChild.innerHTML;
			}
		}

		var carousel = new YAHOO.widget.Carousel("carouselcontainer", 
		{ 
			isCircular: true,
			animation: { speed: 0 },
			numVisible: 1,
			autoPlayInterval: 5000,
			size:4,
			wrap:true
		});
		
		var paginator = new YAHOO.widget.Paginator({ 
			containers: "pagination", 
			rowsPerPage: 1, 
			template: '{PageLinks}', 
			totalRecords: 4,
			pageLabelBuilder : function (page,paginator) { 
				return buildPageLabel(page); 
			}
		});	

		
		var buildPageLabel = function (x) {
			return tabName[x-1]; 
		}; 
		
		paginator.subscribe("changeRequest", function (state) {
		  carousel.set("selectedItem", (state.page - 1) * 1); 
		  paginator.setState(state); 
		});
		
		carousel.on("pageChange", function (page) { 
		  paginator.setPage(page + 1, true); 
		}); 


		carousel.on("itemSelected", function (index) { 
		  var item = carousel.getElementForItem(index); 
		}); 
		
		carousel.render();
		carousel.show(); 
		carousel.startAutoPlay();
		paginator.render(); 

		var blockMenuTab = YAHOO.util.Dom.getElementsByClassName('yui-pg-container','div');
		YAHOO.util.Event.addListener(blockMenuTab,'mouseover',mouseover);
		YAHOO.util.Event.addListener(blockMenuTab,'mouseout',mouseout);
		YAHOO.util.Event.addListener(blockTab,'mouseout',mouseout);		
		YAHOO.util.Event.addListener(blockTab,'mouseover',mouseover);
		function mouseover () {
			carousel.stopAutoPlay()
		}
		function mouseout () {
			carousel.startAutoPlay();
		}
		
	});
});
