// this is called on "body onload"
j$(function(){
	j$("area.bannerLink, a.bannerLink").each(function(i, link){
		if (j$(link).attr('href') == "#")
			j$(link).removeAttr('href');
		else {
			j$(link).attr('redirect', j$(link).attr('href'));
			j$(link).attr('href', "javascript:;");
		}
	});
});

function onBannerClick(arguments){
	var loc = {};
	
	// If tracking enabled or tracking_link_id > 0, make an AJAX call to track the banner
	if (arguments.track == "Y" || arguments.trackLinkId > 0) {
		loc.arguments = {
			trackingLinkId: arguments.trackingLinkId,
			bannerId: arguments.bannerId,
			followUrl: false
		}
	
		j$.get( "/sharedPages/com/b2c/banners/tracking.cfm", loc.arguments );
	}
	
	loc.redirect = j$(arguments.a).attr('redirect') || "#";
	if (loc.redirect != "#"){
		loc.target = j$(arguments.a).attr('target') || "";
		if (loc.target == "")
			document.location.href = loc.redirect;
		else
			window.open(loc.redirect, loc.target);
	}
}

// For rotating banners
var banners = {
	ph: {},
	displayedPh: [],
	bannerCache: {},
	addPh: function(arguments){
		banners.ph[arguments.ph] = arguments;
		banners.ph[arguments.ph].currentDisplay = 0; 	
	},
	rotate: function(){
		var loc = {};
		
		for (loc.ph in banners.ph){
			banners.ph[loc.ph].intervalId = setInterval(function(){ banners.fetchBanner({ph:loc.ph}) }, banners.ph[loc.ph].transition.interval);
		}
	},
	fetchBanner: function(arguments){
		if (banners.ph[arguments.ph].currentDisplay < banners.ph[arguments.ph].bannerSet.length-1)
			banners.ph[arguments.ph].currentDisplay++;
		else
			banners.ph[arguments.ph].currentDisplay = 0;
	
		banners.getBanner(banners.ph[arguments.ph].bannerSet[banners.ph[arguments.ph].currentDisplay]);
	},
	getBanner: function(bannerId){
		var loc = {};
		
		if ( typeof banners.bannerCache[bannerId] != "undefined" )
			banners.distribute(banners.bannerCache[bannerId]);
		else {
			loc.arguments = { bannerId: bannerId, displayedPh: banners.displayedPh };
			
			j$.ajax({
				url: "/sharedPages/com/b2c/banners/banners_ajax.cfm",
				dataType: "xml",
				data: loc.arguments,
				success: function(data){
					banners.bannerCache[bannerId] = data;
					banners.distribute(data);
				}
			});
		}
	},
	distribute: function(data){
		j$("banners ph", data).each(function(i, ph){
			var loc = {};
			
			loc.ph = j$(ph).attr('id');
			loc.phIdObj = j$("#bphId_" + loc.ph);
			loc.bannerContent = j$(ph).find("banner").text();
			
			if ( banners.ph[loc.ph].transition.active )
				loc.phIdObj.fadeOut( banners.ph[loc.ph].transition.fadeOut, function(){ loc.phIdObj.html(loc.bannerContent).fadeIn( banners.ph[loc.ph].transition.fadeIn ) });
			else
				loc.phIdObj.html(loc.bannerContent);
		});
	}
};
