/*
	Site Settings
*/

var pageTracker;
var trackStartTime;

function hideLoadingFunction() {
	$("#loading").stop();
	$("#loading").fadeTo(250, 0);
}

function showLoadingFunction() {
	$("#loading").stop();
	$("#loading").fadeTo(250, 1);
}

function docLoadedFunction() {
	// safari 2 fix
	getTag("body").style.width = "99%";
	
	if(!DetectFlashVer(10, 0, 0)) {
		self.location = url_path + "flash_detection";
	}

	// hook redy events
	redy.hookSystemEvent(redyEvent.REDY_AJAX_LOAD_FINISHED, function(e) {
		ajaxLoadFinishedFunction(e.dataObj.numContent);
	});
	redy.hookSystemEvent(redyEvent.REDY_TRACK_DOWNLOAD, function(e) {
		trackDownloadFunction(e.dataObj.filename);
	});
	redy.hookSystemEvent(redyEvent.REDY_TRACK_EVENT, function(e) {
		trackEventFunction(e.dataObj.action, e.dataObj.filename);
	});
	redy.hookSystemEvent(redyEvent.REDY_TRACK_EXTERNAL_URL, function(e) {
		trackExternalUrlFunction(e.dataObj.url);
	});
	redy.hookSystemEvent(redyEvent.REDY_TRACK_EXTERNAL_SHOP_URL, function(e) {
		trackExternalShopUrlFunction(e.dataObj.url);
	});
	redy.hookSystemEvent(redyEvent.REDY_LOAD_FINISHED, loadFinishedFunction);
	redy.hookSystemEvent(redyEvent.REDY_SHOW_LOADING, showLoadingFunction);
	redy.hookSystemEvent(redyEvent.REDY_HIDE_LOADING, hideLoadingFunction);
	
}

function loadFinishedFunction() {
	// bugfix ie, wenn content sichtbar, flash-resize-event auslösen
	//if (browserIE)  {
		//var curScrollYPos = f_scrollTop();
		//if (curScrollYPos > 50 && !browserSafari && !browserIE) {
			//document.documentElement.scrollTop = 50;
			//document.documentElement.scrollTop = curScrollYPos;
		//}
	//}
	if (initGoogleTracker()) {
		//setTimeout("pageTracker._trackPageview(\""+(url_path + (realurl ? realurl : ("view.php?idart="+idart)))+"\");", 25);
		pageTracker._trackPageview(url_path + (realurl ? realurl : ("view.php?idart="+idart)));
	}
	
}

function trackDownloadFunction(filename) {
	var action;
	if (filename.indexOf(".mp3") > 0) action = "music stream";
	else if (filename.indexOf(".f4v") > 0) action = "video stream";
	else if (filename.indexOf(".swf") > 0) action = "swf load";
	else action = "download";
	
	if (initGoogleTracker()) {
		//setTimeout("pageTracker._trackEvent(\"download\",\""+action+"\",\""+filename+"\",(new Date()).getTime() - trackStartTime.getTime());", 25);
		pageTracker._trackEvent("download",action,filename, (new Date()).getTime() - trackStartTime.getTime());
	}	
}

function trackEventFunction(action,filename) {
	if (initGoogleTracker()) {
		//setTimeout("pageTracker._trackEvent(\"user event\",\""+action+"\",\""+filename+"\",(new Date()).getTime() - trackStartTime.getTime());", 25);
		pageTracker._trackEvent("user event",action,filename, (new Date()).getTime() - trackStartTime.getTime());
	}	
}

function trackExternalUrlFunction(url) {
	//alert (url);
	var newWindow = window.open(url, '_blank');
	if (newWindow) newWindow.focus();
	else self.location = url;
}

function trackExternalShopUrlFunction(url) {
	//alert('Shop is closed until 01-Aug-2009. Please visit again then. Thank you.');
	trackExternalUrlFunction(url);	
}

function ajaxLoadFinishedFunction(fieldNum) {
}

function initGoogleTracker() {
	var ret = false;
	if (window.location.search.get('doDebug')) return ret;
	if (typeof _gat == "object" && location.host.indexOf("virtualcreations.de") != -1) {
		ret = true;
		if (!pageTracker) {
			pageTracker = _gat._getTracker("UA-8890094-1");
			pageTracker._initData();
			//pageTracker._setAllowLinker(true);
			trackStartTime = new Date();
		}
	}
	return ret;
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
