// page init$(function(){	initAutoScalingNav();	initSlideShow();	initCarousel();});// autoscaling nav initfunction initAutoScalingNav(){	AutoScalingNav({		menuId: "nav",		sideClasses: true	});}// init slideshowfunction initSlideShow(){	$(".slideshow").fadeGallery({		slideElements:'ul.slideset > li',		pagerLinks:'ul.switcher li',		autoRotation:true	});}// init carouselfunction initCarousel(){	$(".gallery-area").scrollGallery({		sliderHolder: '.gallery-holder',		btnPrev:'a.btn-prev',		btnNext:'a.btn-next'	});}// autoscaling nav functionfunction AutoScalingNav(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;	}}// slideshow pluginjQuery.fn.fadeGallery = function(_options){	var _options = jQuery.extend({		slideElements:'div.slideset > div',		pagerLinks:'div.pager a',		btnNext:'a.next',		btnPrev:'a.prev',		btnPlayPause:'a.play-pause',		btnPlay:'a.play',		btnPause:'a.pause',		pausedClass:'paused',		disabledClass: 'disabled',		playClass:'playing',		activeClass:'active',		loadingClass:'ajax-loading',		loadedClass:'slide-loaded',		dynamicImageLoad:false,		dynamicImageLoadAttr:'alt',		currentNum:false,		allNum:false,		startSlide:null,		noCircle:false,		pauseOnHover:true,		autoRotation:false,		autoHeight:false,		onBeforeFade:false,		onAfterFade:false,		onChange:false,		disableWhileAnimating:false,		switchTime:3000,		duration:650,		event:'click'	},_options);	return this.each(function(){		// gallery options		if(this.slideshowInit) return; else this.slideshowInit;		var _this = jQuery(this);		var _slides = jQuery(_options.slideElements, _this);		var _pagerLinks = jQuery(_options.pagerLinks, _this);		var _btnPrev = jQuery(_options.btnPrev, _this);		var _btnNext = jQuery(_options.btnNext, _this);		var _btnPlayPause = jQuery(_options.btnPlayPause, _this);		var _btnPause = jQuery(_options.btnPause, _this);		var _btnPlay = jQuery(_options.btnPlay, _this);		var _pauseOnHover = _options.pauseOnHover;		var _dynamicImageLoad = _options.dynamicImageLoad;		var _dynamicImageLoadAttr = _options.dynamicImageLoadAttr;		var _autoRotation = _options.autoRotation;		var _activeClass = _options.activeClass;		var _loadingClass = _options.loadingClass;		var _loadedClass = _options.loadedClass;		var _disabledClass = _options.disabledClass;		var _pausedClass = _options.pausedClass;		var _playClass = _options.playClass;		var _autoHeight = _options.autoHeight;		var _duration = _options.duration;		var _switchTime = _options.switchTime;		var _controlEvent = _options.event;		var _currentNum = (_options.currentNum ? jQuery(_options.currentNum, _this) : false);		var _allNum = (_options.allNum ? jQuery(_options.allNum, _this) : false);		var _startSlide = _options.startSlide;		var _noCycle = _options.noCircle;		var _onChange = _options.onChange;		var _onBeforeFade = _options.onBeforeFade;		var _onAfterFade = _options.onAfterFade;		var _disableWhileAnimating = _options.disableWhileAnimating;		// gallery init		var _anim = false;		var _hover = false;		var _prevIndex = 0;		var _currentIndex = 0;		var _slideCount = _slides.length;		var _timer;		if(_slideCount < 2) return;		_prevIndex = _slides.index(_slides.filter('.'+_activeClass));		if(_prevIndex < 0) _prevIndex = _currentIndex = 0;		else _currentIndex = _prevIndex;		if(_startSlide != null) {			if(_startSlide == 'random') _prevIndex = _currentIndex = Math.floor(Math.random()*_slideCount);			else _prevIndex = _currentIndex = parseInt(_startSlide);		}		_slides.hide().eq(_currentIndex).show();		if(_autoRotation) _this.removeClass(_pausedClass).addClass(_playClass);		else _this.removeClass(_playClass).addClass(_pausedClass);		// gallery control		if(_btnPrev.length) {			_btnPrev.bind(_controlEvent,function(){				prevSlide();				return false;			});		}		if(_btnNext.length) {			_btnNext.bind(_controlEvent,function(){				nextSlide();				return false;			});		}		if(_pagerLinks.length) {			_pagerLinks.each(function(_ind){				jQuery(this).bind(_controlEvent,function(){					if(_currentIndex != _ind) {						if(_disableWhileAnimating && _anim) return;						_prevIndex = _currentIndex;						_currentIndex = _ind;						switchSlide();					}					return false;				});			});		}		// play pause section		if(_btnPlayPause.length) {			_btnPlayPause.bind(_controlEvent,function(){				if(_this.hasClass(_pausedClass)) {					_this.removeClass(_pausedClass).addClass(_playClass);					_autoRotation = true;					autoSlide();				} else {					_autoRotation = false;					if(_timer) clearTimeout(_timer);					_this.removeClass(_playClass).addClass(_pausedClass);				}				return false;			});		}		if(_btnPlay.length) {			_btnPlay.bind(_controlEvent,function(){				_this.removeClass(_pausedClass).addClass(_playClass);				_autoRotation = true;				autoSlide();				return false;			});		}		if(_btnPause.length) {			_btnPause.bind(_controlEvent,function(){				_autoRotation = false;				if(_timer) clearTimeout(_timer);				_this.removeClass(_playClass).addClass(_pausedClass);				return false;			});		}		// dynamic image loading (swap from ATTRIBUTE)		function loadSlide(slide) {			if(!slide.hasClass(_loadingClass) && !slide.hasClass(_loadedClass)) {				var images = slide.find(_dynamicImageLoad) // pass selector here				var imagesCount = images.length;				if(imagesCount) {					slide.addClass(_loadingClass);					images.each(function(){						var img = this;						img.onload = function(){							img.loaded = true;							img.onload = null;							setTimeout(reCalc,_duration);						}						img.setAttribute('src', img.getAttribute(_dynamicImageLoadAttr));						img.setAttribute(_dynamicImageLoadAttr,'');					}).css({opacity:0});					function reCalc() {						var cnt = 0;						images.each(function(){							if(this.loaded) cnt++;						});						if(cnt == imagesCount) {							slide.removeClass(_loadingClass);							images.animate({opacity:1},{duration:_duration,complete:function(){								if(jQuery.browser.msie && jQuery.browser.version < 9) jQuery(this).css({opacity:'auto'})							}});							slide.addClass(_loadedClass)						}					}				}			}		}		// gallery animation		function prevSlide() {			if(_disableWhileAnimating && _anim) return;			_prevIndex = _currentIndex;			if(_currentIndex > 0) _currentIndex--;			else {				if(_noCycle) return;				else _currentIndex = _slideCount-1;			}			switchSlide();		}		function nextSlide() {			if(_disableWhileAnimating && _anim) return;			_prevIndex = _currentIndex;			if(_currentIndex < _slideCount-1) _currentIndex++;			else {				if(_noCycle) return;				else _currentIndex = 0;			}			switchSlide();		}		function refreshStatus() {			if(_dynamicImageLoad) loadSlide(_slides.eq(_currentIndex));			if(_pagerLinks.length) _pagerLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);			if(_currentNum) _currentNum.text(_currentIndex+1);			if(_allNum) _allNum.text(_slideCount);			_slides.eq(_prevIndex).removeClass(_activeClass);			_slides.eq(_currentIndex).addClass(_activeClass);			if(_noCycle) {				if(_btnPrev.length) {					if(_currentIndex == 0) _btnPrev.addClass(_disabledClass);					else _btnPrev.removeClass(_disabledClass);				}				if(_btnNext.length) {					if(_currentIndex == _slideCount-1) _btnNext.addClass(_disabledClass);					else _btnNext.removeClass(_disabledClass);				}			}			if(typeof _onChange === 'function') {				_onChange(_this, _slides, _prevIndex, _currentIndex);			}		}		function switchSlide() {			_anim = true;			if(typeof _onBeforeFade === 'function') _onBeforeFade(_this, _slides, _prevIndex, _currentIndex);				_slides.eq(_prevIndex).stop().animate({opacity:0}, {queue:false, duration:_duration, complete: function(){					$(this).css({opacity:1, display: 'none'})					_anim = false;				}});				_slides.eq(_currentIndex).css({opacity:0, display: 'block'}).stop().animate({opacity:1}, {queue:false, duration:_duration, complete: function(){					if(typeof _onAfterFade === 'function') _onAfterFade(_this, _slides, _prevIndex, _currentIndex);				}});			if(_autoHeight) _slides.eq(_currentIndex).parent().animate({height:_slides.eq(_currentIndex).outerHeight(true)},{duration:_duration,queue:false});			refreshStatus();			autoSlide();		}		// autoslide function		function autoSlide() {			if(!_autoRotation || _hover) return;			if(_timer) clearTimeout(_timer);			_timer = setTimeout(nextSlide,_switchTime+_duration);		}				if(_pauseOnHover) {			_this.hover(function(){				_hover = true;				if(_timer) clearTimeout(_timer);			},function(){				_hover = false;				autoSlide();			});		}		refreshStatus();		autoSlide();	});}// scrolling gallery pluginjQuery.fn.scrollGallery = function(_options){	var _options = jQuery.extend({		sliderHolder: '>div',		slider:'>ul',		slides: '>li',		pagerLinks:'div.pager a',		btnPrev:'a.link-prev',		btnNext:'a.link-next',		activeClass:'active',		disabledClass:'disabled',		generatePagination:'div.pg-holder',		curNum:'em.scur-num',		allNum:'em.sall-num',		circleSlide:true,		pauseClass:'gallery-paused',		pauseButton:'none',		pauseOnHover:true,		autoRotation:true,		stopAfterClick:false,		switchTime:5000,		duration:650,		easing:'swing',		event:'click',		splitCount:false,		afterInit:false,		vertical:false,		step:false	},_options);	return this.each(function(){		// gallery options		var _this = jQuery(this);		var _sliderHolder = jQuery(_options.sliderHolder, _this);		var _slider = jQuery(_options.slider, _sliderHolder);		var _slides = jQuery(_options.slides, _slider);		var _btnPrev = jQuery(_options.btnPrev, _this);		var _btnNext = jQuery(_options.btnNext, _this);		var _pagerLinks = jQuery(_options.pagerLinks, _this);		var _generatePagination = jQuery(_options.generatePagination, _this);		var _curNum = jQuery(_options.curNum, _this);		var _allNum = jQuery(_options.allNum, _this);		var _pauseButton = jQuery(_options.pauseButton, _this);		var _pauseOnHover = _options.pauseOnHover;		var _pauseClass = _options.pauseClass;		var _autoRotation = _options.autoRotation;		var _activeClass = _options.activeClass;		var _disabledClass = _options.disabledClass;		var _easing = _options.easing;		var _duration = _options.duration;		var _switchTime = _options.switchTime;		var _controlEvent = _options.event;		var _step = _options.step;		var _vertical = _options.vertical;		var _circleSlide = _options.circleSlide;		var _stopAfterClick = _options.stopAfterClick;		var _afterInit = _options.afterInit;		var _splitCount = _options.splitCount;		// gallery init		if(!_slides.length) return;		if(_splitCount) {			var curStep = 0;			var newSlide = $('<slide>').addClass('split-slide');			_slides.each(function(){				newSlide.append(this);				curStep++;				if(curStep > _splitCount-1) {					curStep = 0;					_slider.append(newSlide);					newSlide = $('<slide>').addClass('split-slide');				}			});			if(curStep) _slider.append(newSlide);			_slides = _slider.children();		}		var _currentStep = 0;		var _sumWidth = 0;		var _sumHeight = 0;		var _hover = false;		var _stepWidth;		var _stepHeight;		var _stepCount;		var _offset;		var _timer;		_slides.each(function(){			_sumWidth+=$(this).outerWidth(true);			_sumHeight+=$(this).outerHeight(true);		});		// calculate gallery offset		function recalcOffsets() {			if(_vertical) {				if(_step) {					_stepHeight = _slides.eq(_currentStep).outerHeight(true);					_stepCount = Math.ceil((_sumHeight-_sliderHolder.height())/_stepHeight)+1;					_offset = -_stepHeight*_currentStep;				} else {					_stepHeight = _sliderHolder.height();					_stepCount = Math.ceil(_sumHeight/_stepHeight);					_offset = -_stepHeight*_currentStep;					if(_offset < _stepHeight-_sumHeight) _offset = _stepHeight-_sumHeight;				}			} else {				if(_step) {					_stepWidth = _slides.eq(_currentStep).outerWidth(true)*_step;					_stepCount = Math.ceil((_sumWidth-_sliderHolder.width())/_stepWidth)+1;					_offset = -_stepWidth*_currentStep;					if(_offset < _sliderHolder.width()-_sumWidth) _offset = _sliderHolder.width()-_sumWidth;				} else {					_stepWidth = _sliderHolder.width();					_stepCount = Math.ceil(_sumWidth/_stepWidth);					_offset = -_stepWidth*_currentStep;					if(_offset < _stepWidth-_sumWidth) _offset = _stepWidth-_sumWidth;				}			}		}		// gallery control		if(_btnPrev.length) {			_btnPrev.bind(_controlEvent,function(){				if(_stopAfterClick) stopAutoSlide();				prevSlide();				return false;			});		}		if(_btnNext.length) {			_btnNext.bind(_controlEvent,function(){				if(_stopAfterClick) stopAutoSlide();				nextSlide();				return false;			});		}		if(_generatePagination.length) {			_generatePagination.empty();			recalcOffsets();			var _list = $('<ul />');			for(var i=0; i<_stepCount; i++) $('<li><a href="#">'+(i+1)+'</a></li>').appendTo(_list);			_list.appendTo(_generatePagination);			_pagerLinks = _list.children();		}		if(_pagerLinks.length) {			_pagerLinks.each(function(_ind){				jQuery(this).bind(_controlEvent,function(){					if(_currentStep != _ind) {						if(_stopAfterClick) stopAutoSlide();						_currentStep = _ind;						switchSlide();					}					return false;				});			});		}		// gallery animation		function prevSlide() {			recalcOffsets();			if(_currentStep > 0) _currentStep--;			else if(_circleSlide) _currentStep = _stepCount-1;			switchSlide();		}		function nextSlide() {			recalcOffsets();			if(_currentStep < _stepCount-1) _currentStep++;			else if(_circleSlide) _currentStep = 0;			switchSlide();		}		function refreshStatus() {			if(_pagerLinks.length) _pagerLinks.removeClass(_activeClass).eq(_currentStep).addClass(_activeClass);			if(!_circleSlide) {				_btnPrev.removeClass(_disabledClass);				_btnNext.removeClass(_disabledClass);				if(_currentStep == 0) _btnPrev.addClass(_disabledClass);				if(_currentStep == _stepCount-1) _btnNext.addClass(_disabledClass);			}			if(_curNum.length) _curNum.text(_currentStep+1);			if(_allNum.length) _allNum.text(_stepCount);		}		function switchSlide() {			recalcOffsets();			if(_vertical) _slider.animate({marginTop:_offset},{duration:_duration,queue:false,easing:_easing});			else _slider.animate({marginLeft:_offset},{duration:_duration,queue:false,easing:_easing});			refreshStatus();			autoSlide();		}		// autoslide function		function stopAutoSlide() {			if(_timer) clearTimeout(_timer);			_autoRotation = false;		}		function autoSlide() {			if(!_autoRotation || _hover) return;			if(_timer) clearTimeout(_timer);			_timer = setTimeout(nextSlide,_switchTime+_duration);		}		if(_pauseOnHover) {			_this.hover(function(){				_hover = true;				if(_timer) clearTimeout(_timer);			},function(){				_hover = false;				autoSlide();			});		}		recalcOffsets();		refreshStatus();		autoSlide();		// pause buttton		if(_pauseButton.length) {			_pauseButton.click(function(){				if(_this.hasClass(_pauseClass)) {					_this.removeClass(_pauseClass);					_autoRotation = true;					autoSlide();				} else {					_this.addClass(_pauseClass);					stopAutoSlide();				}				return false;			});		}		jQuery(window).focus(function(){			autoSlide();		}).blur(function(){			clearTimeout(_timer);		});		if(_afterInit && typeof _afterInit === 'function') _afterInit(_this, _slides);	});}
