var looper = null;

ItLoop = function (items, interval) {
	this.init(items, interval);
}
$.extend(ItLoop.prototype, {
	init: function (items, interval) {
		this.interval = interval * 1000;
		this.loop = setInterval(this.execute, this.interval);
		this.items = items;
		this.current = 0;
		this.count = items.length;
		this.load(0, true);

		var div = $('<div></div>').appendTo('body').hide();
		for (var i = 0; i < items.length; i++) {
			$('<img></img>').attr('src', items[i].img_url).appendTo(div);
			var li = $('<li></li>').html('<a href="#">' + (i + 1) + '</a>').appendTo('.loop-controls ol');
			if (i == 0) {
				$(li).addClass('on');
			}
		}
		
		this.isRunning = true;
	},
	interrupt: function() {
		if (this.isRunning) {
            clearInterval(this.loop);
			this.isRunning = false;
			$('.loop-controls > a').css('background-position', '0px 0px');
		} else {
			this.execute();
			this.loop = setInterval(this.execute, this.interval);
			this.isRunning = true;
			$('.loop-controls > a').css('background-position', '0px -15px');
		}
	},
	execute: function() {
		$('.loop-controls li').removeClass('on');
		$('.loop-controls li:eq(' + looper.current + ')').addClass('on');

		var currentIndex = looper.current;
		looper.load(currentIndex, true);

		if (looper.current == (looper.count - 1)) {
			looper.current = 0;
		} else {
		    looper.current = looper.current + 1;
		}
	},
	load: function(index, loadImage) {
		var item = this.items[index];

		$('.cap-cont div p a.one').text(item.line_one);
		$('.cap-cont div p a.two').text(item.line_two);
		
		if (item.line_three.length > 0) {
			$('.cap-cont div p a.three').text(item.line_three).show();
		} else {
			$('.cap-cont div p a.three').hide();
		}

		$('.cap-cont a.main span.one').text(item.link_text_one);
		$('.cap-cont a.main span.two').text(item.link_text_two);
		$('.media-captions .map img').attr('src', item.img_map);
		$('.cap-cont a, .map a').attr('href', item.url);
		
		if (loadImage) {
			$('.main-site').css('background-image', 'url(' + item.img_url + ')');
		}
	}
});
