// page init$(function(){	initFadeGallery();});// init fade galleryfunction initFadeGallery(){	$('.gallery').fadeGallery({		slideElements: '.holder > ul > li',		autoRotation:true,		switchTime:4000,		generatePagination:'div.switcher > ul',		duration:850,		btnPlayPause:'a.pause'	});}/* IE6 Hover fix module */var ieHover={lazyMode:true,init:function(){this.setDefaults();return this},setDefaults:function(){this.fixActive=/MSIE 6/.test(navigator.userAgent);if(this.fixActive){this.hoverEvents=[];this.hoverQueue=[];this.activators={onhover:{on:"onmouseenter",off:"onmouseleave"},onactive:{on:"onmousedown",off:"onmouseup"}};window.attachEvent("onload",this.bind(this.domReady,this));window.attachEvent("onunload",this.bind(this.unhookHoverEvents,this))}},domReady:function(){this.pageReady=true;if(this.lazyMode){this.processStylesheets()}if(this.hoverQueue.length){for(var a=0;a<this.hoverQueue.length;a++){this.doFix(this.hoverQueue[a].s,this.hoverQueue[a].c)}}},processStylesheets:function(){var c=document.styleSheets,a=c.length;for(var b=0;b<a;b++){this.parseStylesheet(c[b])}},parseStylesheet:function(f){if(f.imports){try{var b=f.imports,a=b.length;for(var d=0;d<a;d++){this.parseStylesheet(f.imports[d])}}catch(g){}}try{var h=(this.currentSheet=f).rules,a=h.length;for(var c=0;c<a;c++){this.parseCSSRule(h[c])}}catch(g){}},parseCSSRule:function(f){var g=f.selectorText,b=f.style.cssText;if(!/(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i.test(g)||!b){return}var h=g.replace(/[^:]+:([a-z-]+).*/i,"on$1");var j=g.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi,".$2"+h);var e=(/\.([a-z0-9_-]*on(hover|active))/i).exec(j)[1];var c=g.replace(/:(hover|active).*$/,"");var a=this.parseSelector(c);if(!a.length){return}this.currentSheet.addRule(j,b);for(var d=0;d<a.length;d++){this.addHoverElement(a[d],e,this.activators[h])}},fix:function(a,b){if(this.fixActive){if(this.pageReady){this.doFix(a,b)}else{this.hoverQueue.push({s:a,c:b})}}},doFix:function(a,c){if(this.fixActive&&typeof a==="string"){var d=this.parseSelector(a);for(var b=0;b<d.length;b++){this.addHoverElement(d[b],c||"hover",this.activators.onhover)}}},addHoverElement:function(c,b,a){if(!c.hovers){c.hovers={}}if(c.hovers[b]){return}c.hovers[b]=true;this.hookHoverEvent(c,a.on,function(){c.className+=" "+b});this.hookHoverEvent(c,a.off,function(){c.className=c.className.replace(new RegExp("\\s+"+b,"g"),"")})},hookHoverEvent:function(c,b,a){c.attachEvent(b,a);this.hoverEvents[this.hoverEvents.length]={node:c,type:b,handler:a}},unhookHoverEvents:function(){for(var b,a=0;a<this.hoverEvents.length;a++){b=this.hoverEvents[a];b.node.detachEvent(b.type,b.handler)}},parseSelector:(function(){var d=/^([^#.>`]*)(#|\.|\>|\`)(.+)$/;function e(g,f){var k=g.split(/\s*\,\s*/);var j=[];for(var h=0;h<k.length;h++){j=j.concat(b(k[h],f))}return j}function b(r,p,n){r=r.replace(" ","`");var m=r.match(d);var l,o,g,q,j,h;var k=[];if(m==null){m=[r,r]}if(m[1]==""){m[1]="*"}if(n==null){n="`"}if(p==null){p=document}switch(m[2]){case"#":q=m[3].match(d);if(q==null){q=[null,m[3]]}l=document.getElementById(q[1]);if(l==null||(m[1]!="*"&&!a(l,m[1]))){return k}if(q.length==2){k.push(l);return k}return b(q[3],l,q[2]);case".":if(n!=">"){o=c(p,m[1])}else{o=p.childNodes}for(j=0,h=o.length;j<h;j++){l=o[j];if(l.nodeType!=1){continue}q=m[3].match(d);if(q!=null){if(l.className==null||l.className.match("(\\s|^)"+q[1]+"(\\s|$)")==null){continue}g=b(q[3],l,q[2]);k=k.concat(g)}else{if(l.className!=null&&l.className.match("(\\s|^)"+m[3]+"(\\s|$)")!=null){k.push(l)}}}return k;case">":if(n!=">"){o=c(p,m[1])}else{o=p.childNodes}for(j=0,h=o.length;j<h;j++){l=o[j];if(l.nodeType!=1){continue}if(!a(l,m[1])){continue}g=b(m[3],l,">");k=k.concat(g)}return k;case"`":o=c(p,m[1]);for(j=0,h=o.length;j<h;j++){l=o[j];g=b(m[3],l,"`");k=k.concat(g)}return k;default:if(n!=">"){o=c(p,m[1])}else{o=p.childNodes}for(j=0,h=o.length;j<h;j++){l=o[j];if(l.nodeType!=1){continue}if(!a(l,m[1])){continue}k.push(l)}return k}}function c(g,f){if(f=="*"&&g.all!=null){return g.all}return g.getElementsByTagName(f)}function a(g,f){if(f=="*"){return true}return g.nodeName.toLowerCase().replace("html:","")==f.toLowerCase()}return e}()),bind:function(c,b,a){return function(){return c.apply(b,a||arguments)}}}.init();// 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.btn-play',		btnPause:'a.btn-pause',		generatePagination:'div.pg-holder',		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:false,		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 _generatePagination = jQuery(_options.generatePagination, _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(_generatePagination.length) {			_generatePagination.empty();			var _list = $('<ul />');			for(var i=0; i< _slideCount; 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(_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();	});}// mobile browsers detectbrowserPlatform = {	platforms: [		{			// Blackberry <5			uaString:['BlackBerry','midp'],			cssFile:'blackberry.css'		},		{			// Symbian phones			uaString:['symbian','midp'],			cssFile:'symbian.css'		},		{			// Opera Mobile			uaString:['opera','mobi'],			cssFile:'opera.css'		},		{			// IE Mobile <6			uaString:['msie','ppc'],			cssFile:'ieppc.css'		},		{			// IE Mobile 6+			uaString:'iemobile',			cssFile:'iemobile.css'		},		{			// Palm WebOS			uaString:'webos',			cssFile:'webos.css'		},		{			// Android			uaString:'Android',			cssFile:'android.css'		},		{			// Blackberry 6+			uaString:['BlackBerry','6.0','mobi'],			cssFile:'blackberry6.0.css'		},		{			// iPad			uaString:'ipad',			cssFile:'ipad.css',			miscHead:''		},		{			// iPhone and other webkit browsers			uaString:['safari','mobi'],			cssFile:'safari.css',			miscHead:''		}	],	options: {		cssPath:'css/',		mobileCSS:'allmobile.css'	},	init:function(){		this.checkMobile();		this.parsePlatforms();		return this;	},	checkMobile: function() {		if(this.uaMatch('mobi') || this.uaMatch('midp') || this.uaMatch('ppc') || this.uaMatch('webos')) {			this.attachStyles({cssFile:this.options.mobileCSS});		}	},	parsePlatforms: function() {		for(var i = 0; i < this.platforms.length; i++) {			if(typeof this.platforms[i].uaString === 'string') {				if(this.uaMatch(this.platforms[i].uaString)) {					this.attachStyles(this.platforms[i]);					break;				}			} else {				for(var j = 0, allMatch = true; j < this.platforms[i].uaString.length; j++) {					if(!this.uaMatch(this.platforms[i].uaString[j])) {						allMatch = false;					}				}				if(allMatch) {					this.attachStyles(this.platforms[i]);					break;				}			}		}	},	attachStyles: function(platform) {		if(platform.cssFile) {			document.write('<link rel="stylesheet" href="' + this.options.cssPath + platform.cssFile + '" type="text/css"/>');		}		if(platform.miscHead) {			document.write(platform.miscHead);		}	},	uaMatch:function(str) {		if(!this.ua) {			this.ua = navigator.userAgent.toLowerCase();		}		return this.ua.indexOf(str.toLowerCase()) != -1;	}}.init();
