/*--- IE6 hover ---*/
function ieHover(h_list, h_class){
	if($.browser.msie && $.browser.version < 7){
		if(!h_class) var h_class = 'hover';
		$(h_list).live('mouseenter', function(){
			$(this).addClass(h_class);
		}).live('mouseleave', function(){
			$(this).removeClass(h_class);
		});
	}
}
function showLoader(){
	if($('#loader').length){
		$('#loader').get(0).flag = true;
		$('#loader').css({
			top: $(window).scrollTop(),
			width: $(window).width(),
			height: $(window).height()
		}).fadeIn(100);
	}
}
function hideLoader(){
	if($('#loader').length && ($('#loader').get(0).flag == true)){
		$('#loader').get(0).flag = false;
		$('#loader').fadeOut(100);
	};
}
/*--- initTabs ---*/
function initTabs(){
	var main_nav = $('div.menu-block > ul.tabset');
	var tabs_hold = $('div.menu-block + div.tabs');
	$.tools.tabs.addEffect("ajax", function(i, done){
			this.getPanes().eq(0).load(this.getTabs().eq(i).attr("href"), function(){
				done.call();
				hideLoader();
			});
	});
	$('div.tabs:eq(0)').each(function(){
		var _fader = $('<div id="loader" />');
		_fader.css({
			opacity: 0.5,
			backgroundColor:'#FFF',
			position:'absolute',
			width: $(window).width(),
			height: $(window).height(),
			top: $(window).scrollTop(),
			left:0,
			zIndex:998,
			textIndent: -9999
		});
		$(window).resize(function(){
			_fader.css({
				width: $(window).width(),
				height: $(window).height()
			});
		});
		$('body').append(_fader);
	})
	main_nav.tabs('div.menu-block + div.tabs', { current:'active', effect: 'ajax',onBeforeClick:function(){
		showLoader();
	}, onClick: function(e,i){
		inTabs();
	}});
	function inTabs(){
		setTimeout(function(){ main_nav.children('li').removeClass('active').filter(':has("a.active")').addClass('active');}, 20);
		var sub_nav =  tabs_hold.find('div.tabset-holder ul.tabset');
		initCufon();
		
		var _itemsHoldMain = tabs_hold.find('div.scroll-hold div.items-hold');
		var _lisMain = _itemsHoldMain.find('div.items li').clone();
		var _itemsMain = _itemsHoldMain.find('div.items');
		_itemsMain.find('ul').empty();
		
		var _fMain = 0;
		_lisMain.each(function(i,_li){
			_fMain++;
			_itemsMain.find('ul:last').append(_li);
			if (_fMain >= 4 && i != _lisMain.length-1) {
				_fMain = 0;
				_itemsMain.append('<ul></ul>');
			}
		});
		tabs_hold.find('div.scroll-hold a.more').overlay({
			mask: 'darkred',
			close: '.btn-holder .btn-close',
			onBeforeLoad: function(){
				var wrap = this.getOverlay().find(".popup-content");
				wrap.load(this.getTrigger().attr("href"));
			}
		});
		
		_itemsHoldMain.scrollable({ vertical: true, mousewheel: true, prev: 'div.tabs div.scroll-hold a.back-btn', next: 'div.tabs div.scroll-hold a.more-btn'});
		
		sub_nav.tabs('div.tabset-holder + div.tabs', { current:'active', effect: 'ajax', onBeforeClick:function(){
			showLoader();
		}, onClick: function(){
			setTimeout(function(){ sub_nav.children('li').removeClass('active').filter(':has("a.active")').addClass('active');}, 20);
			
			initCufon();
			var _itemsHold = tabs_hold.find('div.scroll-hold div.items-hold');
			var _lis = _itemsHold.find('div.items li').clone();
			var _items = _itemsHold.find('div.items');
			_items.find('ul').empty();
			
			var _f = 0;
			_lis.each(function(i,_li){
				_f++;
				_items.find('ul:last').append(_li);
				if (_f >= 4 && i != _lis.length-1) {
					_f = 0;
					_items.append('<ul></ul>');
				}
			});
			
			_itemsHold.scrollable({ vertical: true, mousewheel: true, prev: 'div.tabs div.scroll-hold a.back-btn', next: 'div.tabs div.scroll-hold a.more-btn'});
			
			$('div.tabs div.scroll-hold a.back-btn, div.tabs div.scroll-hold a.more-btn').click(function(){ return false;});
			
			tabs_hold.find('div.scroll-hold a.more').overlay({
				mask: 'darkred',
				close: '.btn-holder .btn-close',
				onBeforeLoad: function(){
					var wrap = this.getOverlay().find(".popup-content");
					wrap.load(this.getTrigger().attr("href"));
				}
			});

		}});
	}
}
$(document).ready(function(){
	ieHover('.sub-nav li, .paging li , .form-login  .submit , div.scroll-hold li , .tabset li' , 'hover');
	initAutoScalingNav({
		menuId: "menu",
		spacing: 0
	});
	initTabs();
	$('ul.top-nav').each(function(){
		var _btn = $(this).children();
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		if(_a != -1) _btn.removeClass('active').eq(_a).addClass('active');
		//for(var i = 0; i < _btn.length; i++){
		//	if(_btn.eq(i).children('div.subnav-box').length) _btn.get(i)._box = _btn.eq(i).children('div.subnav-box');
		//	else _btn.get(i)._box = false;
		//}
		var _h = 0;
		_btn.mouseenter(function(){
			if(_a != -1 && _btn.index(this) != _a) _btn.eq(_a).removeClass('active');
			if(_a != _btn.index(this)){
				if(this._box){
					if(this._box.is(':hidden')){
						this._box.show();
						_h = this._box.height();
						this._box.height(0);
					}
					this._box.stop().animate({height:_h}, 300, function(){ $(this).height('auto');});
				}
				$(this).addClass('hover');
			}
		}).mouseleave(function(){
			if(this._box && _btn.index(this) != _a) this._box.stop().css({display:'none', height:'auto'});
			$(this).removeClass('hover');
			if(_a != -1) _btn.eq(_a).addClass('active');
		});
		
	});
});
function initAutoScalingNav(o){
	if (!o.menuId) o.menuId = "nav";
	if (!o.tag) o.tag = "a";
	if (!o.spacing) o.spacing = 0;
	if (!o.constant) o.constant = 0;
	if (!o.minPaddings) o.minPaddings = 0;
	if (!o.liHovering) o.liHovering = false;
	if (!o.sideClasses) o.sideClasses = false;
	if (!o.equalLinks) o.equalLinks = false;
	if (!o.flexible) o.flexible = false;
	var nav = document.getElementById(o.menuId);
	if(nav) {
		nav.className += " scaling-active";
		var lis = nav.getElementsByTagName("li");
		var asFl = [];
		var lisFl = [];
		var width = 0;
		for (var i=0, j=0; i<lis.length; i++) {
			if(lis[i].parentNode == nav) {
				var t = lis[i].getElementsByTagName(o.tag).item(0);
				asFl.push(t);
				asFl[j++].width = t.offsetWidth;
				lisFl.push(lis[i]);
				if(width < t.offsetWidth) width = t.offsetWidth;
			}
			if(o.liHovering) {
				lis[i].onmouseover = function() {
					this.className += " hover";
				}
				lis[i].onmouseout = function() {
					this.className = this.className.replace("hover", "");
				}
			}
		}
		var menuWidth = nav.clientWidth - asFl.length*o.spacing - o.constant;
		if(o.equalLinks && width * asFl.length < menuWidth) {
			for (var i=0; i<asFl.length; i++) {
				asFl[i].width = width;
			}
		}
		width = getItemsWidth(asFl);
		if(width < menuWidth) {
			var version = navigator.userAgent.toLowerCase();
			for (var i=0; getItemsWidth(asFl) < menuWidth; i++) {
				asFl[i].width++;
				if(!o.flexible) {
					asFl[i].style.width = asFl[i].width + "px";
				}
				if(i >= asFl.length-1) i=-1;
			}
			if(o.flexible) {
				for (var i=0; i<asFl.length; i++) {
					width = (asFl[i].width - o.spacing - o.constant/asFl.length)/menuWidth*100;
					if(i != asFl.length-1) {
						lisFl[i].style.width = width + "%";
					}
					else {
						if(navigator.appName.indexOf("Microsoft Internet Explorer") == -1 || version.indexOf("msie 8") != -1 || version.indexOf("msie 9") != -1)
							lisFl[i].style.width = width + "%";
					}
				}
			}
		}
		else if(o.minPaddings > 0) {
			for (var i=0; i<asFl.length; i++) {
				asFl[i].style.paddingLeft = o.minPaddings + "px";
				asFl[i].style.paddingRight = o.minPaddings + "px";
			}
		}
		if(o.sideClasses) {
			lisFl[0].className += " first-child";
			lisFl[0].getElementsByTagName(o.tag).item(0).className += " first-child-a";
			lisFl[lisFl.length-1].className += " last-child";
			lisFl[lisFl.length-1].getElementsByTagName(o.tag).item(0).className += " last-child-a";
		}
		nav.className += " scaling-ready";
	}
	function getItemsWidth(a) {
		var w = 0;
		for(var q=0; q<a.length; q++) {
			w += a[q].width;
		}
		return w;
	}
}
