jQuery(function(){
	clearInputs();
	jQuery('div.navigation').each(function(){
		if(jQuery(this).find('a').length == 0) jQuery(this).remove();
	});
	jQuery('div.carusel').galleryScroll();
	initSlide();
	jQuery('ul.accordion').accordion({
		active: ".selected",
		autoHeight: false,
		header: ".opener",
		collapsible: true,
		event: "click"
	});
	initAutoScalingNav({
		menuId: "nav",
		sideClasses: true,
		spacing: 1,
		tag: "a"
	});
	initTabs();
});
/*--- tabs function ---*/
function initTabs(){
	jQuery('#sidebar div.tabset ul').each(function(){
		var btn_h = jQuery(this);
		var _btn = jQuery(this).find('a');
		var _a = (_btn.parent().index(_btn.parent().filter('.active:eq(0)')) != -1)?(_btn.parent().index(_btn.parent().filter('.active:eq(0)'))):(0);
	
		for(var i = 0; i < _btn.length; i++){
			if(_btn.eq(i).attr('hash') && _btn.eq(i).attr('hash').length > 1){
				_btn.eq(i).data('box', jQuery(_btn.eq(i).attr('hash')));
				_btn.eq(i).parent().removeClass('active');
				_btn.eq(i).data('box').hide();
				_btn.eq(i).click(function(){
					changeTab(_btn.index(this));
					return false;
				});	
			}
		}
		_btn.eq(_a).parent().addClass('active');
		if(_btn.eq(_a).data('box')) _btn.eq(_a).data('box').show();
		function changeTab(_ind){
			if(_ind != _a){
				_btn.eq(_a).parent().removeClass('active');
				_btn.eq(_ind).parent().addClass('active');
				if(_btn.eq(_a).data('box')) _btn.eq(_a).data('box').hide();
				if(_btn.eq(_ind).data('box')) _btn.eq(_ind).data('box').show();
				_a = _ind;
			}
		}
	});
}
/*--- ---*/
function initSlide(){
	jQuery('div.visual').each(function(){
		var set = jQuery(this);
		var _swicher = set.find('.switcher > ul', set);
		_swicher.empty();
		var _slider = set.find('.slider', set);
		_slider.cycle({
			fx: 'scrollHorz',
			timeout: 8000,
			pager: _swicher,
			activePagerClass: 'active',
			manualTrump: false,
			pagerAnchorBuilder: function(idx){
				return '<li><a href="#"><span>' + idx + '</span></a></li>'
			}
		});
	});
}
/*---- clear inputs ---*/
function clearInputs(){
	jQuery('input:text, input:password, textarea').each(function(){
		var _el = jQuery(this);
		_el.data('val', _el.val());
		_el.bind('focus', function(){
			if(_el.val() == _el.data('val')) _el.val('');
		}).bind('blur', function(){
			if(_el.val() == '') _el.val(_el.data('val'));
		});
	});
}
/*--- autoscalin menu ---*/
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;
	}
}
