var banner_rotator = new Object();
banner_rotator.xmlurl = "/xml/banner_settings.xml?"+Math.random();
banner_rotator.banners = new Array();
banner_rotator.timeout = null;
banner_rotator.current = null;
banner_rotator.div = "";
banner_rotator.getBanners = function()
{
	$.ajax({
		url: this.xmlurl,
		dataType: 'xml',
		error: function(msg){
			alert(msg);
		},
		success: function(data){
			$(data).find("items item").each(function(){
				var reg=/(jpe|jpeg|jpg|gif|png)$/i
				banner = new Object();
				banner.file = $(this).find("file").text();
				if (!reg.test(banner.file)) return;
				banner.link = $(this).find("link").text();
				banner.time = Number($(this).find("itemSettings").attr("slideshowInterval"));
				banner.target = $(this).find("itemSettings").attr("targetLink");
				banner_rotator.banners.push(banner);
			});
			banner_rotator.render();
			banner_rotator.nextshow();
		}
	});
};
banner_rotator.dropTimeout = function()
{
	$("#"+this.div+" div.buttons div.control").removeClass("play");
	$("#"+this.div+" div.buttons div.control").removeClass("pause");
	$("#"+this.div+" div.buttons div.control").addClass("play");
	if (this.timeout != null)
	{
		clearTimeout(this.timeout);
		this.timeout = null;
	}
};
banner_rotator.render = function()
{
	var i;
	var output;
	for(i=0;i<this.banners.length;i++)
	{
		output = "";
		output += "<div class=\"banner\"><a href=\""+this.banners[i].link+"\""+((this.banners[i].target!="")?" target=\""+this.banners[i].target+"\"":"")+"><img src=\""+this.banners[i].file+"\" /></a></div>";
		$("#"+this.div+" div.banners").append(output);

		output = "";
		output += "<div class=\"button\">"+(i+1)+"</div>";
		$("#"+this.div+" div.buttons").append(output);
	}
	$("#"+this.div+" div.buttons div.button").click(function(event){
		banner_rotator.clickindex($(this));
		event.stopPropagation();
	});
	$("#"+this.div+" div.buttons div.control").click(function(event){
		banner_rotator.clickcontrol();
		event.stopPropagation();
	});
};
banner_rotator.setindex = function(i)
{
	this.dropTimeout();
	if (i < 0) return;
	if (i == this.current) return;
	$("#"+this.div+" div.buttons div.button").removeClass("active");
	$("#"+this.div+" div.fade").attr("id",i);
	$("#"+this.div+" div.fade").fadeIn(100,function(){
		var i = Number($(this).attr("id"));
		$("#"+banner_rotator.div+" div.banners div.banner").hide();
		$("#"+banner_rotator.div+" div.banners div.banner").eq(i).show();
		$("#"+banner_rotator.div+" div.buttons div.button").eq(i).addClass("active");
		$(this).attr("id","");
		$(this).fadeOut(100);
	});
	this.current = i;
};

banner_rotator.clickindex = function(obj)
{
	var i = $("#"+this.div+" div.buttons div.button").index(obj);
	this.setindex(i);
	return;
};
banner_rotator.clickcontrol = function(obj)
{
	if (this.timeout != null)
	{
		this.pauseshow();
	}
	else
	{
		this.playshow();
	}
};
banner_rotator.nextshow = function()
{
	var next_i = 0;
	if (this.current == null) next_i = 0;
	else next_i = this.current+1;
	if (next_i > this.banners.length-1) next_i = 0;
	this.setindex(next_i);
	this.timeout = setTimeout("banner_rotator.nextshow();",this.banners[next_i].time*1000);
	$("#"+this.div+" div.buttons div.control").removeClass("play");
	$("#"+this.div+" div.buttons div.control").removeClass("pause");
	$("#"+this.div+" div.buttons div.control").addClass("pause");
};
banner_rotator.playshow = function()
{
	this.timeout = setTimeout("banner_rotator.nextshow();",this.banners[this.current].time*1000);
	$("#"+this.div+" div.buttons div.control").removeClass("play");
	$("#"+this.div+" div.buttons div.control").removeClass("pause");
	$("#"+this.div+" div.buttons div.control").addClass("pause");
};
banner_rotator.pauseshow = function()
{
	this.dropTimeout();
	$("#"+this.div+" div.buttons div.control").removeClass("play");
	$("#"+this.div+" div.buttons div.control").removeClass("pause");
	$("#"+this.div+" div.buttons div.control").addClass("play");
};
banner_rotator.init = function(div)
{
	this.div = div;
	var output = "";
	output += "<div class=\"fade\"></div>";
	output += "<div class=\"banners\">";
	output += "</div>";
	output += "<div class=\"buttons\">";
	output += "<div class=\"control\"></div>";
	output += "</div>";
	$("#"+div).html(output);
	this.getBanners();
};

