//=============================================================================
var TBanners		= {};

//=============================================================================
TBanners.Data		= {};
TBanners.Pos		= -1;

TBanners.Running	= true;
TBanners.TimerHandle = null;

TBanners.Locked		= false;

//=============================================================================
TBanners.Start = function() {
	TBanners.Running = true;

	TBanners.LoadImage(TBanners.Pos + 1);

	$("#BannersImage1").bind("click", function() {
		if(TBanners.Data[TBanners.Pos]["URL"] != "") {
			window.location.href = TBanners.Data[TBanners.Pos]["URL"];
		}
	});

	$("#BannersImage2").bind("click", function() {
		if(TBanners.Data[TBanners.Pos]["URL"] != "") {
			window.location.href = TBanners.Data[TBanners.Pos]["URL"];
		}
	});
}

//-----------------------------------------------------------------------------
TBanners.LoadImage = function(Pos) {
	if(TBanners.Locked) return;

	TBanners.Pos = Pos;

	if(TBanners.Pos >= TBanners.Data.length) {
		TBanners.Pos = 0;
	}else
	if(TBanners.Pos < 0) {
		TBanners.Pos = TBanners.Data.length - 1;
	}

	TBanners.Locked = true;

	var Picture = new Image();

	Picture.onload = function() {
		$("#BannersImage2").css("background-image", "url('" + TBanners.Data[TBanners.Pos]["Filename"] + "')");

		TBanners.FadeIn();
	};

	Picture.src = TBanners.Data[TBanners.Pos]["Filename"];
}

//-----------------------------------------------------------------------------
TBanners.FadeIn = function() {
	for(var i = 1;i <= TBanners.Data.length;i++) {
		$("#BannersNumber" + i).removeClass("BannersNumberActive");
	}

	var Num = TBanners.Pos + 1;

	$("#BannersNumber" + Num).addClass("BannersNumberActive");

	$("#BannersImage2").animate({
		"opacity" : 1
	}, 500, "swing", function() {
		$("#BannersImage1").css("background-image", $("#BannersImage2").css("background-image"));
		$("#BannersImage2").css("opacity", 0);		

		var Dur = TBanners.Data[TBanners.Pos]["Duration"];

		TBanners.Locked = false;

		if(TBanners.Running) {
			TBanners.TimerHandle = setTimeout(TBanners.Start, Dur);
		}else{
			TBanners.TimerHandle = setTimeout(TBanners.Start, 30000);
		}		
	});	
}

//-----------------------------------------------------------------------------
TBanners.Load = function(Pos) {
	TBanners.Pos = Pos;

	clearTimeout(TBanners.TimerHandle);

	TBanners.Running = false;

	TBanners.LoadImage(TBanners.Pos);
}

//-----------------------------------------------------------------------------
TBanners.Next = function() {
	clearTimeout(TBanners.TimerHandle);

	TBanners.Running = false;

	TBanners.LoadImage(TBanners.Pos + 1);
}

//-----------------------------------------------------------------------------
TBanners.Previous = function() {
	clearTimeout(TBanners.TimerHandle);

	TBanners.Running = false;

	TBanners.LoadImage(TBanners.Pos - 1);
}

//-----------------------------------------------------------------------------
TBanners.OnInit = function(StoresID) {
	CAJAX.Add("YourPromoPeople", "Template", "GetBanners", {'StoresID' : StoresID}, function(Code, Content) {
		if(Code == 1) {
			TBanners.Data = JSON.parse(Content);

			$("#BannersNumbers").html("");

			for(var i = 1;i <= TBanners.Data.length;i++) {
				if(i > 6) break;

				$("#BannersNumbers").append("<div class='BannersNumber' id='BannersNumber" + i + "'>" + i + "</div>");

				$("#BannersNumber" + i).data("Pos", i - 1).bind("click", function() {
					TBanners.Load($(this).data("Pos"));
				});
			}

			if(count(TBanners.Data) > 0) {
				TBanners.Start();
			}
		}else{
			//Some error, try again
			TBanners.OnInit(StoresID);
		}
	});
}

//=============================================================================

