var billboard = {};
(function($){
	billboard = {
		billboards: false, // elements inside, usually object
		pages: false, // paging list
		now: false, // current showing element
		nowIndex: 0,
		total: 0,
		past: false,
		pastIndex: 0,
		waitTime: 12000, // wait 1 sec
		_intervalid: 0,
		_init: function(widget){
			billboard.total = $(widget).children('.billboard-item').length;
			if(billboard.total > 1){
				$('.pager-elements .icon').click(billboard.pageIconClick);
				billboard.billboards =  widget ;
				billboard.nowIndex = 0;
				billboard._start();
			}
		},
		_start: function(){
			billboard._intervalid = billboard._interval();
		},
		_stop: function(){
			if(billboard._intervalid !== false){
				clearInterval(billboard._intervalid);
			}
		},
		_next: function(){
			billboard._stop();
			$('#billboard-id-'+billboard.pastIndex).fadeOut('300');
			$('#page-icon-'+billboard.pastIndex).removeClass('active');
			$('#page-icon-'+billboard.nowIndex).addClass('active');
			$('#billboard-id-'+billboard.nowIndex).fadeIn('300');
			billboard._start();
		},
		_interval: function(){
			return setInterval(billboard.timeComplete, billboard.waitTime);
		},
		timeComplete: function(){
			billboard._stop();
			billboard.pastIndex = billboard.nowIndex;
			(billboard.nowIndex === billboard.total-1) ? billboard.nowIndex = 0 : billboard.nowIndex ++;
			billboard._next();
		},
		pageIconClick: function(){
			billboard._stop();
			billboard.pastIndex = billboard.nowIndex;
			billboard.nowIndex = parseInt(($(this).attr('id')).substring(10), 10)
			billboard._next();
		}
	}
	$(document).ready(function(){
		billboard._init($('.billboard'));
	})
	
})(jQuery);




