jQuery.fn.extend({
	jFilmslide: function(){
		this.each(function(){
			var jFilm = $(this);
			var numOfImg = $(this).find('img').length;
			var actorIndex = 0;

			//jFilm.hideHourglass();

			jFilm.initHandle(numOfImg);
			jFilm.setHandle(actorIndex);

			setInterval(function(){
				if(actorIndex == numOfImg - 1){
					actorIndex = 0;
				}else{
					actorIndex++;
				}
				jFilm.cutActor(actorIndex);
			}, 5000);

			jFilm.find('.jfilmslide_handle a').click(function(){
				actorIndex = $(this).index();
				jFilm.cutActor(actorIndex);
			});
		});
	},
	initHandle: function(size){
		var handle = '<div class="jfilmslide_handle">';
		for(var i = 0; i < size; i++){
			handle += '<a></a>';
		}
		handle += '</div>';
		this.prepend(handle);
		var marginLeft = (this.width() - this.find('.jfilmslide_handle').width()) / 2;
		var marginTop = this.height() - 30;
		this.find('.jfilmslide_handle').attr('style', 'margin:'+ marginTop+ 'px auto 0px '+ marginLeft+ 'px');
	},
	setHandle: function(actorIndex){
		this.find('a').attr('style', '');
		this.find('a').eq(actorIndex).attr('style', 'background-position:14px 0px;');
	},
	setHourglass: function(){
		var hourglass = '<div class="jfilmslide_hourglass"></div>';

		this.prepend(hourglass);
		var marginLeft = (this.width() - 32) / 2;
		var marginTop = (this.height() - 32) / 2;
		this.find('.jfilmslide_hourglass').attr('style', 'margin:'+ marginTop+ 'px auto 0px '+ marginLeft+ 'px;position:absolute;z-index:1;background-image:url(images/loading.gif);height:32px;width:32px;');
		this.find('.jfilmslide_hourglass').hide();
	},
	showHourglass: function(){
		this.find('.jfilmslide_hourglass').show();
	},
	hideHourglass: function(){
		this.find('.jfilmslide_hourglass').hide();
	},
	setActor: function(actorIndex){
		var tmp = this;
		if(tmp.children('img:visible').length == 0){
			tmp.children('img').eq(actorIndex).fadeIn(500);
		}else{
			tmp.children('img:visible').fadeOut(500, function(){
				tmp.children('img').eq(actorIndex).fadeIn(500);
			});		
		}
	},
	cutActor: function(actorIndex){
		this.setHandle(actorIndex);
		this.setActor(actorIndex);	
	}
});

$(function(){
	$('.jfilmslide').jFilmslide();
});
