function initStyles() {
	var _dayNum = new Date().getDay();
	var _body = document.getElementsByTagName('body').item(0);
	var _id = 'a';

	switch (_dayNum) {
		case 0:
			_id = 'a';
			break;
		case 1:
			_id = 'b';
			break;
		case 2:
			_id = 'c';
			break;
		case 3:
			_id = 'd';
			break;
		case 4:
			_id = 'e';
			break;
		case 5:
			_id = 'f';
			break;
		case 6:
			_id = 'a';
			break;
	}
	_body.id = _id;
}

function initGallery() {
	var _gallery = $('#carousel');
	_gallery.each(function(){
		var _holder = $(this);
		var _holderList = _holder.find('div.slides-holder');
		var _paginationHolder = _holder.find('div.switcher');
		var _slider = _holderList.find(' > ul');
		var _sliderItems = _slider.find(' > li');
		var _slideCount = _sliderItems.length;
		var _slideWidth = _holderList.width();
		var _sumWidth = _slideCount * _slideWidth;
		var _autoSlide = 5000;
		var _duration = 1000;
		var _currentIndex = 0;
		var _activeClass = 'active';
		var _animationFlag = false;
		var _hoverFlag = false;
		var _offset;
		var _timer;

		// generate pagination
		_paginationHolder.empty();
		var _list = $('<ul></ul>');
		_sliderItems.each(function(_ind){
			_list.append('<li><a href="#">'+_ind+'</a></li>');
		});
		_paginationHolder.append(_list);
		var _paginationLinks = _list.find('li');
		_paginationLinks.find('a').each(function(_ind){
			$(this).click(function(){
				if(_animationFlag) return;
				if(_currentIndex == _slideCount-1 && _ind==0) {
					nextSlide();
					return false;
				}
				_currentIndex = _ind;
				updatePagination();
				switchSlide();
				return false;
			});
		});

		// clone scroll items
		_slider.append(_sliderItems.clone()).append(_sliderItems.clone());
		_slider.css({marginLeft:-_sumWidth});

		// animation functions
		function nextSlide() {
			_currentIndex++;
			switchSlide();
		}
		function switchSlide() {
			if(_animationFlag) return;
			_animationFlag = true;
			_offset = -(_currentIndex*_slideWidth + _sumWidth);

			if(_currentIndex == _slideCount) {
				updatePagination(0);
			}
			else updatePagination();

			_slider.stop().animate({marginLeft:_offset},{duration:_duration,queue:true,complete:function(){
				if(_currentIndex == _slideCount) {
					_currentIndex = 0;
					_slider.css({marginLeft:-_sumWidth});
				}
				_animationFlag = false;
				updatePagination();
				if(!_hoverFlag) _timer = setTimeout(function(){nextSlide()},_autoSlide);
			}});
		}
		function updatePagination(_c) {
			if(_c != null) {
				_paginationLinks.removeClass(_activeClass).eq(_c).addClass(_activeClass);
			}
			else _paginationLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);
		}

		// autoslide code
		updatePagination();
		_timer = setTimeout(function(){nextSlide()},_autoSlide);

		_holder.hover(function(){
			_hoverFlag = true;
			if(_timer) clearTimeout(_timer);
		},function(){
			_hoverFlag = false;
			_timer = setTimeout(function(){nextSlide()},_autoSlide);
		});
	});
}

function initPopups() {
	var _fadeSpeed = 550;
	var _activeClass = 'active';
	var _popupClass = 'content-popup';
	var _list = $('div.phrases-block > div.phrases');

	_list.each(function(){
		var _holder = $(this);
		var _links = _holder.find(' > a');
		var _popups = _holder.find('div[class*="'+_popupClass+'"]');

		_links.each(function(_ind){
			var _opener = $(this);
			var _popup = _popups.eq(_ind);
			_opener.click(function(){
				if(_popup.hasClass(_activeClass)) {
					_holder.css({zIndex:0});
					_popup.fadeOut(_fadeSpeed);
					_popup.removeClass(_activeClass)
				} else {
					_popup.fadeIn(_fadeSpeed);
					_popup.addClass(_activeClass)

					// hide other popups
					_list.css({zIndex:0}).find('div[class*="'+_popupClass+'"]').removeClass(_activeClass).not(_popup).fadeOut(_fadeSpeed);
					_holder.css({zIndex:100});

					if(_popup.offset().top<0) _popup.css({marginBottom:_popup.offset().top});
				}
				return false;
			});
		});

		_popups.each(function(){
			var _popup = $(this);
			var _close = _popup.find('a.close');
			_close.click(function(){
				_popup.fadeOut(_fadeSpeed);
				_popup.removeClass(_activeClass);
				return false;
			});
		});
	});
}

function initSlideShow() {
	$('#carousel').slideShow({
		slideEl:'div.slides-holder ul li',
		numElementLink:'div.switcher ul a',
		autoSlideShow:true,
		switchTime:5000,
		duration:1000
	});
}

$(document).ready(function() {
	initStyles();
	//initGallery();
	initSlideShow();
	initPopups();
});


jQuery.fn.slideShow = function(_options){
	// defaults options
	var _options = jQuery.extend({
		slideEl:'div.img-hold img',
		linkNext:'a.next',
		linkPrev:'a.prev',
		linkPause:'a.pause',
		numElementLink:'div.nav li a',
		duration:500,
		autoSlideShow:false,
		switchTime:3000,
		event:'click',
		currentEl:'#footer span.cur',
		allEl:'#footer span.all'
	},_options);

	return this.each(function(){
		var _THIS = jQuery(this);
		var _slideEl = $(_options.slideEl, _THIS);
		var _elTagName = _options.slideEl;
		var _linkNext = $(_options.linkNext, _THIS).length ? $(_options.linkNext, _THIS) : false;
		var _linkPrev = $(_options.linkPrev, _THIS).length ? $(_options.linkPrev, _THIS) : false;
		var _linkPause = $(_options.linkPause, _THIS).length ? $(_options.linkPause, _THIS) : false;
		var _numElementLink = $(_options.numElementLink, _THIS).length ? $(_options.numElementLink, _THIS) : false;
		var _numElement = $(_options.numElementLink, _THIS).length ? _numElementLink.parent() : false;
		var _duration = _options.duration;
		var _switchTime = _options.switchTime;
		var _numElActive, _n, _timer = false, _hover = false;

		if (!_slideEl.filter('.active').length)
				_slideEl.eq(0).addClass('active');

		$(_slideEl).not(".active").css('display','none');

		if ($(_numElement).length) {activeNumEl()}

		if (_options.autoSlideShow) {
				_timer = setTimeout(function(){nextEl()},_switchTime);
				contentHover();
		}
		if (_linkNext) {
				$(_linkNext).click(function(){
						if (_timer) {
								clearTimeout(_timer);
								_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						if ($(_slideEl).filter(".active").next().is(_elTagName)) {
							$(_slideEl).filter(".active").next().addClass("next");
						} else {
							$(_slideEl).eq(0).addClass("next");
						}
						fadeElement();
						activeNumEl();
						return false;
				});
		}
		if (_linkPrev) {
				$(_linkPrev).click(function(){
						if (_timer) {
								clearTimeout(_timer);
								_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						if ($(_slideEl).filter(".active").prev().is(_elTagName)) {
							$(_slideEl).filter(".active").prev().addClass("next");
						} else {
							$(_slideEl).filter(":last-child").addClass("next");
						}
						fadeElement();
						activeNumEl();
						return false;
				});
		}
		if (_linkPause) {
				if (!_options.autoSlideShow) {
					_linkPause.addClass('play');
					_options.autoSlideShow = true;
					if (!_hover) contentHover();
				}
				$(_linkPause).click(function(){
						if (!_linkPause.is('.play')) {
							clearTimeout(_timer);
							_linkPause.addClass('play');
						} else {
							_linkPause.removeClass('play');
							_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						return false;
				});
		}
		if (_numElementLink) {
				$(_numElementLink).bind(_options.event, function(){
						if (_timer) {
								clearTimeout(_timer);
								_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						_n = _numElement.index($(this).parent());
						if (!$(_slideEl).eq(_n).hasClass("active")){
							$(_slideEl).eq(_n).addClass("next");
							fadeElement();
							activeNumEl();
						}
						return false;
				});
		}
		if (_options.currentEl || _options.allEl) {
				_THIS.all = _slideEl.length;
				$(_options.allEl, _THIS).html(_THIS.all);
				function currentNum() {
					var _index = _slideEl.index(_slideEl.filter('.active')) + 1;
					$(_options.currentEl, _THIS).html(_index);
				}
				currentNum();
		}
		function contentHover() {
			_hover = true;
			_slideEl.hover(function() {
					if (_timer) clearTimeout(_timer);
			}, function(){
					if (_linkPause && !_linkPause.is('.play'))
						_timer = setTimeout(function(){nextEl()},_switchTime);
					else if (!_linkPause)
						_timer = setTimeout(function(){nextEl()},_switchTime);
			});
		}
		function nextEl(){
				if ($(_slideEl).filter(".active").next().is(_elTagName)){
					$(_slideEl).filter(".active").next().addClass("next");
				} else {
					$(_slideEl).eq(0).addClass("next");
				}
				fadeElement();
				activeNumEl();
				_timer = setTimeout(function(){nextEl()},_switchTime);
		};
		function activeNumEl() {
				$(_numElement).removeClass("active");
				_numElActive = $(_slideEl).index($(_slideEl).filter(".active")[0]);
				$(_numElement).eq(_numElActive).addClass("active");
		};
		function fadeElement(){
				$(_slideEl).filter(".active").fadeOut(_duration).removeClass("active");
				$(_slideEl).filter(".next").fadeIn(_duration).addClass("active").removeClass("next");
				$(_slideEl).filter(".active").eq(0).parent().animate({height:$(_slideEl).filter(".active").eq(0).height()},{duration:_duration});
				if (_options.currentEl || _options.allEl) currentNum();
		};
	});
}