//init page

$(function(){

	initSlideShow();

	initDropDown();

	hideFormText();

	initPositionDropDown();

});



//init position dropdown

function initPositionDropDown(){

	var lists = $('.main-nav');

	lists.each(function(){

		var list = $(this);

		var items = list.children();

		items.each(function(){

			var item = $(this);

			item.css('position','relative');

			var drop = item.find('>ul');

			if(drop.length){

				drop.show();

				if(drop.offset().top + drop.outerHeight() > list.offset().top + list.outerHeight()){

					item.css('position','static');

				}

				drop.hide();

			}

		});

	})

}



//init drops

function initDropDown(){

	var nav = document.getElementById("nav_14623");

	if(nav) {

		var lis = nav.getElementsByTagName("li");

		for (var i=0; i<lis.length; i++) {

			if(lis[i].getElementsByTagName("ul").length > 0) {

				lis[i].className += " has-drop-down"

				lis[i].getElementsByTagName("a")[0].className += " has-drop-down-a"

			}

			lis[i].onmouseover = function()	{

				this.className += " hover";

			}

			lis[i].onmouseout = function() {

				this.className = this.className.replace(" hover", "");

			}

		}

	}

}



//clear inputs

function hideFormText() {

	var _inputs = document.getElementsByTagName('input');

	var _txt = document.getElementsByTagName('textarea');

	var _value = [];

	

	if (_inputs) {

		for(var i=0; i<_inputs.length; i++) {

			if (_inputs[i].type == 'text' || _inputs[i].type == 'password') {

				

				_inputs[i].index = i;

				_value[i] = _inputs[i].value;

				

				_inputs[i].onfocus = function(){

					if (this.value == _value[this.index])

						this.value = '';

				}

				_inputs[i].onblur = function(){

					if (this.value == '')

						this.value = _value[this.index];

				}

			}

		}

	}

	if (_txt) {

		for(var i=0; i<_txt.length; i++) {

			_txt[i].index = i;

			_value['txt'+i] = _txt[i].value;

			

			_txt[i].onfocus = function(){

				if (this.value == _value['txt'+this.index])

					this.value = '';

			}

			_txt[i].onblur = function(){

				if (this.value == '')

					this.value = _value['txt'+this.index];

			}

		}

	}

}



// slideshow init

function initSlideShow() {

	jQuery('div.slider').fadeGallery({

		slideElements:'.slideshow > li',

		pagerLinks:'.switcher li',

		btnNext:'a.next',

		btnPrev:'a.prev',

		btnPlayPause:'a.play-pause',

		pausedClass:'paused',

		playClass:'playing',

		activeClass:'active',

		pauseOnHover:true,

		autoRotation:true,

		autoHeight:false,

		switchTime:5000,

		duration:500,

		event:'click'

	});

}





// 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).fadeOut(_duration,function(){

				_anim = false;

			});

			_slides.eq(_currentIndex).fadeIn(_duration,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();

			});

		}

		jQuery(window).focus(function(){

			autoSlide();

		}).blur(function(){

			clearTimeout(_timer);

			_slides.stop();

		});

		refreshStatus();

		autoSlide();

	});

}


