var mouseOverSourceBackup="";

function openPopup(location,paramstring) {
	var popUpWindows = window.open(location,'popup',paramstring);
	popUpWindows.focus();
}

function initTicker(options, liScrollOptions)
{
	var defaults =  { url: 'ajaxticker.php', tickerId: "jq_ticker", wrapperId: "ticker_wrapper"};
	var defaultScrollOptions =  {travelocity: 0.07};
	
	var options = jQuery.extend(defaults, options);
	var scrollOptions = jQuery.extend(defaultScrollOptions, liScrollOptions);
	
	if(jQuery.trim(options.url) == "")
	{
		return false;
	}

	$.ajax({
		  url: options.url,
		  timeout: 10000,
		  data: {
		  tickerId: options.tickerId
		  },
		  success: function(data){
				$('#'+options.wrapperId).html(data);
				$("ul#"+options.tickerId).liScroll(scrollOptions); 
		  },
		  dataType: 'get'
		});
}



//wait max 10 seconds until a global property is present, else fail silently 
var waitFor = function (prop, fn) {
	var calls = 0;
	return function () {
		var target = this;
		var args = arguments;
		var interval = setInterval(function () {
			if (window[prop]) {
				clearInterval(interval);
				fn.apply(target, args);
			}
			if (calls++ > 100) {
				clearInterval(interval);
			}
		}, 100);
	};
};

var TrackingHelper = {
	projectPrefix: 'BFS',
	searchCategory: '',
	trackingTags: '',
	
	downloadEvent: waitFor('etrackerConfigured', function (file, tags) {
		ET_Event.download(escape(this.projectPrefix + '/' + file), escape(tags));
	}),
	
	linkEvent: waitFor('etrackerConfigured', function (link, tags) {
		ET_Event.link(escape(this.projectPrefix + '/' + link), escape(tags));
	}),

	/* currently does not submit the search term */
	trackSearchEvent: function (object, cat, initField) {
		initField = initField || '';
		this.eventStart(cat, initField, 'Search');
	},
	
	getFileName: function (file) {
		file = file.replace(/^.*\//, '');
		file = file.replace(/(_Galerie[QH]|)\.jpg$/, '');
		return file;
	},
	
	normalize: function (s) {
		return s.replace(/\s+/g, ' ').replace(/(^\s)|(\s$)/g, '');
	},
	
	trackContentModuleEvent: function (moduleTitle, action, where) {
		where = where || this.trackingTags || '';
		this.eventStart('Contentmodul', this.normalize(moduleTitle), action, where);
	},
	
	trackPlayerEvent: function (film, action, where) {
		where = where || this.trackingTags || '';
		this.eventStart('Video', this.getFileName(film), action, where);
	},
	
	trackImageGalleryEvent: function (image, action, where) {
		where = where || this.trackingTags || '';
		this.eventStart('Bildergalerie', this.getFileName(image), action, where);
	},
	
	trackLightboxEvent: function (image, action, where) {
		where = where || this.trackingTags || '';
		this.eventStart('Lightbox', this.getFileName(image), action, where);
	},
	
	eventStart: waitFor('etrackerConfigured', function (cat, obj, action, tags) {
		tags = tags || '';
		ET_Event.eventStart(cat, this.normalize(obj), action, tags);
	})
	
};
