// teaser tracking functions: bmw bike

// only used internally
function trackClickEvent(trackParam, trackingPage) {
	// 2008-07-08 temporary remove complete tracking functionality for BMW Motorrad
	// 2009-02-26 restart tracking functionality - update to 1st party cookies
	// edited by Thomas Haenisch (K! Digital)
	if (confTrackingEnabled) {
		//var source = (parent && parent.location && parent.location.pathname);
		var source = location.pathname;
	
		// alert("#" + trackingPage + "?source=" + escape(source) + "&" + trackParam + "#");
		if (parent && parent.parent && parent.parent.hiddenFrame) {
			// alert("done");
			parent.parent.hiddenFrame.location.href = trackingPage + "?source=" + escape(source) + "&" + trackParam;
		}
	}
	return true;
}

function trackTeaser(trackingUrl, trackingPage) {
	return trackClickEvent("target=" + escape(trackingUrl), trackingPage);
}

function trackExternal(trackingUrl, trackingPage) {
	return trackClickEvent("target=" + escape(trackingUrl), trackingPage);
}

function trackDownload(fileParam, trackingPage) {
	return trackClickEvent("file=" + escape(fileParam), trackingPage);
}

function trackNews(id, trackingPage) {
	return trackClickEvent("id=" + id, trackingPage);
}

/*
 * params:
 *   type ... what was the user doing, ie. "zoomimage", "nextimage", "previousimage", "closelayer"
 *   cid  ... content id: for pages with more than one content (ie. news), which content was shown when the click event occured (ie. news id)
 *   id   ... what was the clicked-on object (ie. small image id)
 */
function trackLayerEvent(type, cid, id, trackingPage) {
	return trackClickEvent("type=" + escape(type) + "&cid=" + escape(cid) + "&id=" + escape(id), trackingPage);
}

/*
 * params:
 *   type    ... what was the user doing, ie. "selectmodel"
 *   element ... human readable description of the form element on that page
 *   value   ... (if applicable) what value was the form element set to
 */
function trackFormEvent(type, element, value, trackingPage) {
	return trackClickEvent("type=" + escape(type) + "&element=" + escape(element) + "&value=" + escape(value), trackingPage);
}
