
var p5t_ad_widget = { 
	options: { interval: 100},
	interval: null,
	widgets: [],
	debug: false
};

$(function() {
	
	$('.p5t-ad-widget').each( function () {
		
		$(this).find('.p5t-ad-widget-progress').progressbar();
		
		var data = $.evalJSON($(this).find('.p5t-ad-widget-setting').html());
		data.reload = parseInt(data.reload);
		
		var widget = {
			data: data,
			call: { rest: p5t_ad_widget.options.interval, paused: (document.domain == 'localhost')},
			widget: $(this),
			container: $(this).find('.p5t-ad-widget-container'),
			progress: $(this).find('.p5t-ad-widget-progress')
		};
		
		p5t_ad_widget.widgets.push(widget);
	});
	
	p5t_ad_widget.interval = setInterval( function () {
		
		if (p5t_ad_widget.paused == true) {
			return true;
		}
		
		for (var i=0; i<p5t_ad_widget.widgets.length; i++) {
			
			if (p5t_ad_widget.widgets[i].call.paused == true) {
				continue;
			}
			
			p5t_ad_widget.widgets[i].call.rest -= p5t_ad_widget.options.interval;
			if (p5t_ad_widget.widgets[i].call.rest <= 0) {
				p5t_ad_widget.widgets[i].call.paused = true;
				p5t_ad_widget.widgets[i].call.rest = (p5t_ad_widget.widgets[i].data.reload*1000);

				$.get(p5t_ad_widget.widgets[i].data.url.replace('&amp;', '&')+'&key='+i, function (data) { 
					p5t_ad_widget.widgets[data.key].container.html(data.code);
					p5t_ad_widget.widgets[data.key].call.paused = false;
				}, 'json');
			}
			
			var percent = Math.round((p5t_ad_widget.widgets[i].call.rest/(p5t_ad_widget.widgets[i].data.reload*1000)*100));
			p5t_ad_widget.widgets[i].progress.progressbar("option", "value", percent);
		}		
			
	}, p5t_ad_widget.options.interval);
});
