﻿// Copyright 2008 by eventim.de
				
/**
 * Globale Bannerrotation, wird genutzt, falls keine Werte an die aktuelle Funktion uebergeben wurden, bzw. wird ueberschrieben
 * wenn bereits zuvor gesetzt ...
 *
 *	- url		Target-Url
 *	- img		Image-Url
 *	- title		Optional: Banner titel (alt-Attribut)
 *	- target	Optional: Target window (Default: _blank)
 *	- start		Optional: Start-date, example "new Date(2008, 0, 1, 0, 0, 0)", notice: month beginns with 0, not with 1 
 *	- end		Optional: End-date, example "new Date(2008, 11, 31, 23, 59, 59)", notice: month beginns with 0, not with 1 
 */
var globalRotation = [

	{ 
		title  : 'Getaway Rock Festival', 
		target : 'blank', 
		url    : 'TINFO.DLL?fun=TDetailB&affiliate=ESE&doc=funktion/fun_deb_sta&key=391334$838028', 
		img    : '/img/se_eventim/teaser/various/GetawayRockBanner20100210.jpg', 
		start  : new Date(2009, 0, 1, 0, 0, 0), 
		end    : new Date(2011, 0, 1, 0, 0, 0)
	},
	
	{ 
		title  : 'Rockweekend', 
		target : 'blank', 
		url    : 'TINFO.DLL?fun=TDetailB&affiliate=ESE&doc=funktion/fun_deb_sta&key=392207$839591', 
		img    : '/img/se_eventim/teaser/various/rockweekend.gif',
		start  : new Date(2009, 0, 1, 0, 0, 0), 
		end    : new Date(2011, 0, 1, 0, 0, 0)
	}	
//	},
//
//	{ 
//		title  : 'Rise Against', 
//		target : 'blank', 
//		url    : 'Rise-Against-biljetter-biljetter.html?fun=TDetailA&affiliate=ese&doc=detaila&key=286995', 
//		img    : '/img/se_eventim/teaser/various/riseagainst2009banner.gif',
//		start  : new Date(2009, 0, 1, 0, 0, 0), 
//		end    : new Date(2010, 0, 1, 0, 0, 0)
//	

	                                    
];

/**
 * Filtert abgelaufene oder ungueltige Items aus ...
 */
var filterBannerRotation = function(items) {
	
	var items     = items || [];
	var tmpBanner = [];
	var tmpNow    = new Date();
	
	for (var i = 0; i < items.length; i++) {
	
		if ((items[i].start || !(items[i].start || false)) <= tmpNow && (items[i].end >= tmpNow || !(items[i].end || false))) tmpBanner.push(items[i]);
	};
	
	return (tmpBanner.length == 0) ? false : tmpBanner ;
};

/**
 * Default Rotation setzen, zuvor, falls gesetzt lokal, diese noch validieren ...
 */
var defaultRotation = filterBannerRotation(defaultRotation || globalRotation) || globalRotation;

/**
 * Banner, die wirklich immer angezeigt werden soll, bzw. in der Rotation sein sollen!
 */
var everytimeRotation = [];
defaultRotation = defaultRotation.concat(everytimeRotation || []);

/**
 * Banner, die der normalen Rotation hinzugefuegt werden sollen, sowie die die immer
 * laufen sollen, nun der defaultRotation hinzufuegen.
 */
var additionalRotation = additionalRotation || [];
defaultRotation = defaultRotation.concat(additionalRotation);

/**
 * Erstellt einen Banner aus einer uebergebenen Rotation(wenn verfuegbar).
 */
var foundBannerRotation = function() {
	
	// Werte validieren und vorbereiten ...
	var tmpBanner = filterBannerRotation(defaultRotation || []);
	
	// Jetzt wo bekannt ist, wieviele Banner noch aktiv in der Rotation sind, kann per Zufall einer davon angezeigt werden,
	// vorrausgesetzt, es gibt mindestens einen.
	if (!tmpBanner) return;
	
	var tmpZufall = Math.round((tmpBanner.length - 1) * Math.random());
	var showBanner = tmpBanner[tmpZufall] || false;
	
	// Ausgabe des Banners, wenn einer gefunden wurde ..., darauf achten, dass zwecks Tracking die Session
	// mit durchgereicht wird, falls vorhanden (andernfalls einfach "EVE_NO_SESSION").
	if(showBanner) document.write('<a href="' + showBanner.url + '" target="' + (showBanner.target || '_blank') + '"><img src="' + showBanner.img + '" alt="' + (showBanner.title || '') + '" border="0" /></a>');
};

foundBannerRotation(defaultRotation || false);