/* ----------------------------------

slide player file for Discuz! X
(C) KÉè¼Æ.
http://www.dianfengsj.com
Created & Modified by ÉÙÓî¡å.

---------------------------------- */

slidePlay = function(options){    
    var defaults = {obj:'#slidePlay', width:320, height:240, title:true, time: '5000'},   
        options = shaoyu_jq.extend({},defaults,options);   
  
	var SlidePlay = function(){
		this.options = options;
		this.options.obj = shaoyu_jq(this.options.obj);
		this.options.lists = this.options.obj.find('li');
		this.init();
	}

	SlidePlay.prototype.init = function() {
		var that = this,
			opts = that.options;

			opts.len = this.options.lists.length;
			opts.idex = 0;

		opts.obj.css({'width': opts.width, 'height': opts.height});

		if (opts.title) {
			var shaoyu_jqslideTtitle = shaoyu_jq('<p class="slideTitle"></p>');
			opts.slideTtitle = shaoyu_jqslideTtitle;
			opts.obj.append(shaoyu_jqslideTtitle);
		}
		var slidePage = '<div class="slidePages">';
		for (var i = 0; i < opts.len; i++) {
			var _on = i != 0 ? '' : 'class="on"';
			slidePage += '<a href="javascript:;" '+ _on +'>'+ i +'</a>';
		}
		slidePage += '</div>';

		opts.slidePage = shaoyu_jqslidePage = shaoyu_jq(slidePage);
		opts.pageLinks = shaoyu_jqslidePage.find('a');
		opts.obj.append(shaoyu_jqslidePage);
		opts.lists.eq(0).show().siblings('li').hide();
		opts.lists.css({'position':'absolute', 'top':0, 'left':0});

		that.slideShow();
		that.hoverPlay();
		that.autoPlay();
	}

	SlidePlay.prototype.hoverPlay = function(){
		var that = this;
		that.options.pageLinks.each(function(){
			var shaoyu_jqthis = shaoyu_jq(this);
			shaoyu_jqthis.mouseover(function(){
				that.slideShow(shaoyu_jqthis.index());
			})
		})
	}

	SlidePlay.prototype.autoPlay = function(){
		var that = this,
			opts = that.options;

		var play = function(){
			that.slideShow(opts.idex);
			opts.idex = opts.idex === (opts.len - 1) ? 0 : ++opts.idex;
		}

		var timer = setInterval(function(){
			play();
		}, opts.time);

		opts.obj.hover(function(){
			clearInterval(timer);
		}, function(){
			timer = setInterval(function(){
				play();
			}, opts.time);
		})	
	}

	SlidePlay.prototype.slideShow = function(i){
		var i = i || 0;
			opts = this.options,
			shaoyu_jqitem = opts.lists.eq(i);

		if (opts.title) {
			opts.slideTtitle.html(shaoyu_jqitem.find('img')[0].alt);
		}
		shaoyu_jqitem.fadeIn(200).siblings('li').fadeOut(200);
		opts.pageLinks.eq(i).addClass('on').siblings('a').removeClass('on');
		opts.idex = i;
	}
   
   new SlidePlay();
};