$(function(){
	InitSlider();
	initOpenClose();
});
function initOpenClose() {
	$('ul.menu li').OpenClose({
		activeClass:'active',
		opener:'a.opener',
		slider:'ul.slide',
		slideSpeed: 400
	});
}

function InitSlider(){
	var _speed = 800,
		_duration = 7000;
	var _hold = $('div.slide-holder');
	var _list = _hold.find('ul.slider > li');
	var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
	var _old=_a;
	var _t, _t1;
	
	_list.css({opacity:0}).eq(_a).show().css({opacity:1});
	var _thumb = $('ul.items-list li');
	_thumb.eq(_a).addClass('active');
	_list.each(function(_i,_this){
		_thumb.eq(_i).click(function(){
			ChangeFade(_i);	
			return false;
		});
	});
	Run(_a);
	function Run(_a){	
		_t = setTimeout(function(){
			_a++; if (_a == _list.length){_a=0}
			ChangeFade(_a);
		}, _duration);
	};
	function ChangeFade(_new){
		_list.eq(_old).animate({opacity:0}, {queue:false, duration:_speed, complete:function(){$(this).hide();}});
		_list.eq(_new).show().animate({opacity:1}, {queue:false, duration:_speed});
		_thumb.eq(_old).removeClass('active');
		_thumb.eq(_new).addClass('active');
		_old=_new;_a=_new;
		if(_t) clearTimeout(_t);
		if(_t1) clearTimeout(_t1);
		Run(_new);
	};

};
// Open-Close plugin
jQuery.fn.OpenClose = function(_options){
	// default options
	var _options = jQuery.extend({
		activeClass:'active',
		opener:'.opener',
		slider:'.slide',
		slideSpeed: 400,
		animStart:false,
		animEnd:false,
		event:'click'
	},_options);

	return this.each(function(){
		// options
		var _holder = jQuery(this);
		var _slideSpeed = _options.slideSpeed;
		var _activeClass = _options.activeClass;
		var _opener = jQuery(_options.opener, _holder);
		var _slider = jQuery(_options.slider, _holder);
		var _animStart = _options.animStart;
		var _animEnd = _options.animEnd;
		var _event = _options.event;
		if(_slider.length) {
		
			if(_holder.hasClass(_activeClass)) _slider.show();
			else _slider.hide();
		
			_opener.bind(_event,function(){
				if(!_slider.is(':animated')) {
					if(typeof _animStart === 'function') _animStart();
					if(_holder.hasClass(_activeClass)){
						_holder.removeClass(_activeClass);
						_slider.slideUp(_slideSpeed,function(){
							if(typeof _animEnd === 'function') _animEnd();
						});
					}	
					else{
						_holder.addClass(_activeClass).find(_options.slider).slideDown(_slideSpeed,function(){
							if(typeof _animEnd === 'function') _animEnd();
						});
					}
				}
				return false;
			});
		}
	});
}
