/* SiteCatalyst code version: H.22.1
 * Copyright 1997-2009 Omniture, Inc. More info available at
 * http://www.omniture.com
 *
 * ====================================================================
 * Copyright (c) contentmetrics GmbH, 2011
 * THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
 * APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
 * HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
 * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
 * IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
 * ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
 *
 * Autor: Frank Raether, Axel Porst
 * Code: zentrale PlugIns JS Library 
 * Kunde: madeleine, zirndorf
 *
 * REL	  WHO	WHEN	WHAT
 * 2.0	  ARP	07/2011	Anpassung PhaseII
 * 2.0.1  ARP	110819	Fixes
 * 2.0.2  ARP	110824	normalizing and pagenamecutoff
 * 2.0.3  ARP	110831	season date from server
 * 2.0.4  ARP	110912	bugfix v21, 
 * 2.0.5  FR	111004	campaigns in adclear
 * 2.0.6  ARP	111018	webcollections
 * 2.0.7  ARP	111028	pagename_hack
 * 2.0.8  ARP	111128	pagename WebC
 *
 */
var rel_ver="2.0.8:H22.1";
var cm_debug=0;//off
var cm_pghack=1;//on	//ARP_R207
// var cm_cutPageName=79;
var cm_cutPageName=0;//cut not active
var cm_sDate=new Array();
var cm_sDateSet=false;
var cm_adclearDom='www.madeleine.de;www.madeleine.com';	// Globaler Parameter fuer adClear mit allen Domains des Advertisers, getrennt durch Semikolon. ARP_R201

//document.write('<script type="text/javascript" src="//madeleine.adclear.net/scripts/adclear.js"></script>');//FR20110729

function cm_alert(caller,msg){ //at least caller must be provided
    var cm_msg="";
    if (caller=="") return;
    if (cm_debug>0){
	if (msg!=""){
	    cm_msg=msg;
	} else {
	    cm_msg="called";
	}
	alert(caller+" sends messages: "+cm_msg);
    }
}
function cm_getFlashVersion(){ // read out current flash version
    var  flashVersion="(kein Flash Plugin)";
    var version='0,0,0,0';
    try { // ie 
	try { 
	    var axo=new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'); 
	    try {
		axo.AllowScriptAccess='always';
	    } catch(e) {
		version='6,0,0,0';
	    } 
	} catch(e) {} 
	    version=(new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version')).replace(/\D+/g, ',').match(/^,?(.+),?$/)[1]; 	
    } catch(e) { // other browsers 
	try { 
	    if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) { 
		version=(navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]; 
	    }
	} catch(e) {} 
    } 
    var x=version.split(',');
    x[2]=null;
    x[4]=null;
    if (x[0]!=0) {
	flashVersion="Flash PugIn Vers " + x.join(".");
    }
    //cm_alert("cm_getFlashVersion",flashVersion);
    return flashVersion; 
}
function cm_equalize(var1,var2){//if one is set the other will be the same
    if(!cm_varIsSet(eval(var1))&&cm_varIsSet(eval(var2)))var ex=var1+'='+var2;
    if(cm_varIsSet(eval(var1))&&!cm_varIsSet(eval(var2)))var ex=var2+'='+var1;
    eval(ex);
}
function _cm_getDynVarNam(vn){
    if (vn.indexOf("eVar")!=-1) return "v"+vn.replace("s.eVar","");
    else if (vn.indexOf("prop")!=-1) return "c"+vn.replace("s.prop","");
    return ""; // error we do not handle other than eVar and prp
}
function cm_dynEqualize(var1,var2){//check type and if one is set the other will be the same dynamic setting
    var vnam1="c";
    var vnam2="v";
    if (((vnam1=_cm_getDynVarNam(var1))!="")&&((vnam2=_cm_getDynVarNam(var2))!="")){
	    _cm_dynEqualize(var1,vnam1,var2,vnam2);
    } else {
	cm_equalize(var1,var2);
    }
}
function _cm_dynEqualize(var1,vnam1,var2,vnam2){//if one is set the other will be the same dynamic setting
    var cm_dyn="D=";
    if (!cm_varIsSet(vnam1)||!cm_varIsSet(vnam2)) {//no vnam1/2 no dynamic setting
	cm_equalize(var1,var2);
    } else {
	var ex="";
	if(!cm_varIsSet(eval(var1))&&cm_varIsSet(eval(var2)))
	    ex=var1+'="'+cm_dyn+vnam2+'"';
	if(cm_varIsSet(eval(var1))&&!cm_varIsSet(eval(var2)))
	    ex=var2+'="'+cm_dyn+vnam1+'"';
	eval(ex);
    }
}
function cm_addEvent(ev){ //an event is only set once per page
    if(!cm_varIsSet(s.events)){ //1.case not defined or empty
	s.events=ev;
	return;
    } 
    if(cm_eventIsSet(ev)) return; //2.case not empty but exists
    s.events+=','+ev; //3.case not empty and not exists
}
function cm_eventIsSet(ev){ //event is set
    if(!cm_varIsSet(s.events))return false;
    var events=''+s.events;
    var eventsArr=events.split(',');
    for (var cmI=0;cmI<eventsArr.length;cmI++) {
	if (eventsArr[cmI]==ev) return true;
    }
    return false;
}
function cm_varIsSet(vn){ //variable is set and not empty
    if(typeof(vn)!="undefined"&&vn!="")return true;
    return false;
}
/*
 * remove some special chars from strings, e.g. tracking keywords/usage in URLs ARP_R202
 * @param {string}s_in value as provided
 * @returns {string} normalized value
 */
function cm_rmSpecCh(s_in){
    if (cm_varIsSet(s_in)) {
	var s=s_in.replace(/[$%=?�!&#+*<>/]*/ig,'');	//delete specchars
	while(s.match(/[ ]{2}/))s=s.replace('  ',' ');	//delete double blanks
	s=s.replace(' ','.'); //blank2period
	return s;
    }
    return s_in;
}
/*
 * normalize strings, e.g. for keywordtracking
 * @param {string}s_in keyword as provided
 * @returns {string} normalized keyword
 */
function cm_normalize(s_in){
    if (cm_varIsSet(s_in)) {
	var s=s_in.toLowerCase();	//ensure lowercase
	while(s.indexOf(' ')==0)s=s.substr(1,s.length-1);	//delete leading blanks
	while(s.substr(s.length-1,1)==' ')s=s.substr(0,s.length-1);	//delete trailing blanks
	while(s.match(/[ ]{2}/))s=s.replace('  ',' ');	//delete double blanks
	s=eval("s=s.replace(/"+unescape('%E4')+"/ig,'ae');"); //German auml
	s=eval("s=s.replace(/"+unescape('%F6')+"/ig,'oe');"); //German ouml
	s=eval("s=s.replace(/"+unescape('%FC')+"/ig,'ue');"); //German uuml
	s=eval("s=s.replace(/"+unescape('%DF')+"/ig,'ss');"); //German szlig
	s=eval("s=s.replace(/"+unescape('%E0')+"/ig,'a');"); //French a grave ARP_R201
	s=eval("s=s.replace(/"+unescape('%E1')+"/ig,'a');"); //French a aigu
	s=eval("s=s.replace(/"+unescape('%E2')+"/ig,'a');"); //French a circ
	s=eval("s=s.replace(/"+unescape('%E6')+"/ig,'ae');"); //French a elig
	s=eval("s=s.replace(/"+unescape('%E7')+"/ig,'c');"); //French c cedil
	s=eval("s=s.replace(/"+unescape('%E8')+"/ig,'e');"); //French e grave
	s=eval("s=s.replace(/"+unescape('%E9')+"/ig,'e');"); //French e aigu
	s=eval("s=s.replace(/"+unescape('%EA')+"/ig,'e');"); //French e circ
	s=eval("s=s.replace(/"+unescape('%EB')+"/ig,'e');"); //French e uml
	s=eval("s=s.replace(/"+unescape('%EE')+"/ig,'i');"); //French i circ
	s=eval("s=s.replace(/"+unescape('%EF')+"/ig,'i');"); //French i uml
	s=eval("s=s.replace(/"+unescape('%F2')+"/ig,'o');"); //French o grave
	s=eval("s=s.replace(/"+unescape('%F3')+"/ig,'o');"); //French o aigu
	s=eval("s=s.replace(/"+unescape('%F4')+"/ig,'o');"); //French o circ
	s=eval("s=s.replace(/"+unescape('%F9')+"/ig,'u');"); //French u grave
	s=eval("s=s.replace(/"+unescape('%FA')+"/ig,'u');"); //French u aigu
	s=eval("s=s.replace(/"+unescape('%FB')+"/ig,'u');"); //French u circ
	s=eval("s=s.replace(/"+unescape('%FF')+"/ig,'y');"); //French y uml
	return s;
    }
    return s_in;
}
function _cm_splitIntName(pn,pl){ // the given value is split with _ and fst returned ARP_R202
    if (!cm_varIsSet(pn)) return 'ns';
    if(typeof(pl)!="undefined"&&pl>=0) {
	    var intName=pn.split('_');
	    if (intName.length>pl) return intName[pl];
    }
    else return 'ns';
    return pn;
}
function acceptsCookies(){
if(s.c_r('s_cc')||navigator.cookieEnabled)return true;
return false;
}
function isNewSaisonVisitor(){
if(s.c_r('SaisonVisitor'))return false;
setSaisonVisitorCookie();
return true;
}
function isNewGJVisitor(){
if(s.c_r('GJVisitor'))return false;
setGJVisitorCookie();
return true;
}
function _chkSaison(month){
    if (cm_varIsSet(month)){
	if(month<6){
	    return "FS";
	} else {
	    return "HW";
	}
    }
    return "NN";
}
function getSaison(month, year){
    var saison=new Array();
    saison[0]=_chkSaison(month);
    saison[1]=month;
    saison[2]=year;
    return saison;
}
/*
 * prepare date-time-information for quick usage with callers
 * serverdate-time information provided through madel_server-vars
 * if no serveryear is provided client-date-time is returned can be retrieved in cm_sDate[0]
 * @returns {array} date-information
 */
function _getServerDate(){ // ARP_R203
	if (cm_sDateSet) return cm_sDate;
	cm_sDate[0]="s";
	if(typeof(madel_serverYear)!="undefined"&&madel_serverYear!=""){
		cm_sDate[2]=madel_serverYear;
		if(typeof(madel_serverMonth)!="undefined"&&madel_serverMonth!=""){
		    cm_sDate[1]=madel_serverMonth;
		}
		else cm_sDate[1]=1;
		if(typeof(madel_serverDay)!="undefined"&&madel_serverDay!=""){
		    cm_sDate[3]=madel_serverDay;
		}
		else cm_sDate[3]=1;
		if(typeof(madel_serverTime)!="undefined"&&madel_serverTime!=""){
		    cm_sDate[5]=madel_serverTime;
		    cm_sDate[4]=madel_serverTime.split(":")[0];
		} else {
		    cm_sDate[5]="01:00:00";
		    cm_sDate[4]="01";
		}
	} else {
	    cm_sDate[0]="c";
	    var datum = new Date();
	    cm_sDate[1]=datum.getMonth() + 1;
	    cm_sDate[2]=datum.getFullYear();
	    cm_sDate[3]=datum.getDate();
	    cm_sDate[4]=datum.getHours();
	    cm_sDate[5]=datum.getHours()+":"+datum.getMinutes()+":"+datum.getSeconds();
	}
	return cm_sDate;
}
function _getSaisonRaw(){
    var saison=_getServerDate();
    saison[0]=_chkSaison(saison[1]);
    return saison;
}
function getSaisonRaw(){
    var saison=_getSaisonRaw();
    return ""+saison[2]+saison[0];
}
function setSaisonVisitorCookie(){
    var datum = new Date();
    var Tag = datum.getDate();
    var Monat = datum.getMonth() + 1;
    var Jahr = datum.getFullYear();
    if(Monat<6){
	Monat=6;
	Tag=1;
    } else {
	Monat=0;
	Tag=1;
	Jahr++;
    }
    datum.setYear(Jahr);
    datum.setMonth(Monat);
    datum.setDate(Tag);
    datum.setHours(0);
    datum.setMinutes(0);
    datum.setSeconds(0);
    datum.setMilliseconds(0);
    cm_alert("setSaisonVisitorCookie()",datum.toLocaleString());
    s.c_w('SaisonVisitor','1',datum);
}
function setGJVisitorCookie(){
    var datum = new Date();
    var Tag = datum.getDate();
    var Monat = datum.getMonth() + 1;
    var Jahr = datum.getFullYear();
    if(Monat<9){
	Monat=9;
	Tag=1;
    } else {
	Monat=9;
	Tag=1;
	Jahr++;
    }
    datum.setYear(Jahr);
    datum.setMonth(Monat);
    datum.setDate(Tag);
    datum.setHours(0);
    datum.setMinutes(0);
    datum.setSeconds(0);
    datum.setMilliseconds(0);
    cm_alert("setSaisonVisitorCookie()",datum.toLocaleString());
    s.c_w('GJVisitor','1',datum);
}
function cm_cluster(val,clarr){
    if (clarr.length<1) return val+"ERR";
    if (!cm_varIsSet(val)) return "ERR";
    for (var cmI=0;cmI<clarr.length-2;cmI++){
	if (val<=clarr[cmI]){
	    val=clarr[cmI];
	    return val;
	}
    }
    if (val>=clarr[clarr.length-1]) val=">"+clarr[clarr.length-1];
    return val;
}
function cm_getAMECchannel(cAMEC){
    if(cAMEC && cAMEC.length >1){
	    var cA=cAMEC.substr(0,2);
	    cm_alert("AMEC for Channel="+cAMEC);
	    switch(cA){
		case "XA":
		    return "38";
		case "XB":
		    return "39";
		case "XC":
		    return "40";
		case "XD":
		    return "41";
		case "XE":
		    return "42";
		case "XF":
		    return "66";
		case "XG":
		    return "66";
		case "XH":
		    return "66";
		case "XI":
		    return "66";
		case "XJ":
		    return "66";
		case "XK":
		    return "43";
		case "XL":
		    return "44";
		case "XM":
		    return "45";
		case "XN":
		    return "66";
		case "XO":
		    return "46";
		case "XP":
		    return "66";
		case "XQ":
		    return "66";
		case "XR":
		    return "66";
		case "XS":
		    return "66";
		case "XT":
		    return "66";
		case "XU":
		    return "66";
		case "XV":
		    return "47";
		case "XW":
		    return "48";
		case "XX":
		    return "66";
		case "XY":
		    return "67";
		case "XZ":
		    return "49";
	    }
	    return "";
    }
    return "";
}

function cm_getOrderValue(){
	if(cm_eventIsSet('purchase') && cm_varIsSet(s.products)){
			var basket=s.products.split(',');
			var item='';
			var totalprice=0.00;
			for (i=0;i<basket.length;i++){
				item=basket[i].split(';');
				totalprice+=Number(item[3]);
				//alert(totalprice);
			}
			return Math.round(100*totalprice)/100;
		}
	return 0.00;
}

function cm_getBasket(){
	if(cm_eventIsSet('purchase') && cm_varIsSet(s.products)){
			var basket=s.products.split(',');
			var item='';
			var lines='';
			var price='';
			for (i=0;i<basket.length;i++){
				item=basket[i].split(';');
				if(lines!='')lines+=',';
				price=item[3];
				price=price.replace(/\./g, ",");
				lines+='{"id":"'+item[1]+'","tc":"'+item[0]+'","pr":"'+price+'","qt":"'+item[2]+'"}';
			}
			return lines;
		}
	return '';
}

function  cm_integrateAdClear(){//FR20110728
	var ac = new adclear();								// Initialisierung der Pixel-Instanz
	ac.advertiserId = 'A2158506';							// Globaler Parameter, Bitte nicht veraendern! ID des Advertisers, wird von Adclear vorgegeben.
	ac.trackDomain = 'madeleine.adclear.net';					// Globaler Parameter, Bitte nicht veraendern! Tracking-Domain, wird von Adclear vorgegeben.
	ac.domains = cm_adclearDom;							// Globaler Parameter, bitte die richtigen Werte setzen! Alle Domains des Advertisers, getrennt durch Semikolon. ARP_R201
	ac.contentId = s.pageName;							//'OrderConfirmation';// Seitenspezifischer Parameter, bitte den richtigen Wert setzen! ID der Seite, identifiziert die Seite im Shopsystem
	ac.mc = s.campaign;								//Media code = SiteCatalyst Campaign Tracking Code FR_R205

	if(cm_eventIsSet('purchase')){
		// Spezielle Conversion-Parameter (Bestellbestaetigung-Seite, Registrierungsbestaetigung-Seite, etc.)
		ac.conversionTarget = 'Sale';							// Conversion-Ziel, bitte den richtigen Wert setzen!
		if(s.purchaseID)ac.conversionId = s.purchaseID;	//'test_01';// Bitte den richtigen Wert setzen! Eindeutige Identifizierung innerhalb eines Conversion-Ziels, z.B. OrderID beim Sale oder CustomerID bei einer Registrierung. Falls nicht gesetzt, wird automatisch aus Timestamp erzeugt.
		var totalprice=''+cm_getOrderValue();
		ac.orderValue = totalprice.replace(/\./g,",");		// "42,23" String mit DezimalKomma. Bitte den richtigen Wert setzen! Wert der Bestellung, kann auch 0 sein (z.B. bei einer Registrierung)
		ac.orderCurrency = 'EUR';				// Optional, falls die Waehrung des Sales sich von der Standard-Waehrung des Shopsystems unterscheidet. Dreistelliger ISO-Code der Waehrung nach ISO 4217, z.B. 'EUR', 'USD', etc.
		ac.trackCategory = 'basket';			// Optional, Tracking- oder Produkt-Kategorie (bei Basket-Sales muss der Wert "basket" eingesetzt werden)
		// Basket-Tracking						// optional, falls Basket-Tracking genutzt wird (Bestellbestaetigung-Seite)
		//ac.basket = '{"id":"Prod01","tc":"standard","pr":"29,95","qt":"1"}'+',{"id":"Jacke01","tc":"clothes","pr":"199,50","qt":"1"}'+',{"id":"Schuhe02","tc":"shoes","pr":"99,90","qt":"2"}';
		ac.basket=cm_getBasket();			
		// Erlaeuterung der Parameter fuer Basket-Tracking
		// id: eindeutige Produkt-ID
		// tc: Tracking- oder Produkt-Kategorie, die fuer die spaetere Anwendung der Attributionsregeln relevant sein kann (entspricht dem Parameter "ac.trackCategory")
		// pr: Produktpreis
		// qt: Anzahl der Einheiten in der Position	
	} else {
		var ac = new adclear();								// Initialisierung der Pixel-Instanz
		ac.advertiserId = 'A2158506';						// Globaler Parameter, Bitte nicht veraendern! ID des Advertisers, wird von Adclear vorgegeben.
		ac.trackDomain = 'madeleine.adclear.net';			// Globaler Parameter, Bitte nicht veraendern! Tracking-Domain, wird von Adclear vorgegeben.
		ac.domains = cm_adclearDom;	// Globaler Parameter, bitte die richtigen Werte setzen! Alle Domains des Advertisers, getrennt durch Semikolon. ARP_R201
		// ac.domains = 'www.madeleine.de;www.madeleine.com';	Globaler Parameter, bitte die richtigen Werte setzen! Alle Domains des Advertisers, getrennt durch Semikolon. ARP_R201
	}
	ac.runAC();
	return true;
}

function cmHandlePageName(nav1,nav2,nav3){//ARP_R208
    var pl=0;
    if (typeof(madel_prop2HasNoGlobalName)!="undefined"&&madel_prop2HasNoGlobalName!=""){
	if(madel_prop2HasNoGlobalName) pl=1;
    }
    if (!cm_varIsSet(s.pageName)){
	s.pageName="emptyPagename"+":"+_cm_splitIntName(nav1,0)+':'+_cm_splitIntName(nav2,pl)+':'+_cm_splitIntName(nav3,0); //ARP_R202 ARP_R206
	s.prop10=s.pageName;
	_cm_dynEqualize("s.eVar10","v10","s.pageName","pageName");
    } else {
	if (!cm_Pluginsdone) { // dont do it twice e.g. if called from an onclickhandler ARP_R201
	    s.pageName+=":"+_cm_splitIntName(nav1,0)+':'+_cm_splitIntName(nav2,pl)+':'+_cm_splitIntName(nav3,0); //ARP_R202 ARP_R206
	    if (cm_cutPageName>0){
		if (s.pageName.length > cm_cutPageName){
		    s.pageName=s.pageName.substr(0,cm_cutPageName)+"][";
		}
	    }
	    if (!cm_varIsSet(s.prop10)) s.prop10=s.pageName; // pageView ARP_R207
	    s.pageName=cm_normalize(s.pageName);
	    _cm_dynEqualize("s.eVar10","v10","s.pageName","pageName");
	    if (s.pageName.length > 100){
		var tpN=s.pageName;
		s.pageName=tpN.replace(/webcollection/g,"webcoll");
	    }
	} //ARP_R201
    }
}

cm_Pluginsdone=false;//FR20110728

function cm_doPlugIns(s){
    var nav3="ns";//ARP_R206
    if(cm_pghack==1){ //ARP_R207
	if(cm_varIsSet(s.pageName)){
	    var cmtmp=s.pageName;
	    s.pageName=cmtmp.replace('Online-Shop','Shop');
	    if(cm_varIsSet(s.prop1)){
		cmtmp=s.prop1;
		s.prop1=cmtmp.replace('Online-Shop','Shop');
	    }
	}
    } //ARP_R207
    if(rel_ver) s.prop51=rel_ver;
    if (!cm_varIsSet(s.server)) s.server=""+document.host;
    if(!cm_varIsSet(s.prop2)){ //ARP_R204
	s.prop2=s.getQueryParam('type');
    }
    if (cm_varIsSet(s.prop26)){//ARP_R206
	cm_addEvent('event8');
    }
    if (cm_varIsSet(s.prop27)){//ARP_R206
	nav3=s.prop27;
    }
    if (cm_varIsSet(s.prop23)){//ARP_R206
	_cm_dynEqualize("s.eVar26","v26","s.prop23","c23");
    }
    if (cm_varIsSet(s.prop3)){//ARP_R206
	nav3=s.prop3;
    }

    cmHandlePageName(s.prop1,s.prop2,nav3);//ARP_R208

    cm_addEvent('event1'); // pageView in Conversion
    cm_addEvent('event2'); // start of visit

    s.prop1=cm_normalize(s.prop1);//ARP_R204
    s.prop2=cm_normalize(s.prop2);//ARP_R204
    s.prop3=cm_normalize(s.prop3);//ARP_R204
    if (!cm_varIsSet(s.prop17)) s.prop17=(cm_varIsSet(s.prop1)?s.prop1:'ns')+':'+(cm_varIsSet(s.prop2)?s.prop2:'ns')+':'+(cm_varIsSet(s.prop3)?s.prop3:(cm_varIsSet(nav3))?cm_normalize(nav3):'ns'); //ARP_R206
    s.prop17=cm_rmSpecCh(s.prop17); //normalized as prop1-3 are

    _cm_dynEqualize("s.eVar17","v17","s.prop17","c17");
    _cm_dynEqualize("s.eVar18","v18","s.prop18","c18");

//    if (cm_varIsSet(s.prop6)) //ARP_R204
	
    s.eVar21=""+getSaisonRaw();//overwrite any value set! ARP_R204
    _cm_dynEqualize("s.prop35","c35","s.eVar21","v21");//ARP_R204

    /* handling for internal search */
    if (cm_eventIsSet("event3")){
	s.eVar12=cm_normalize(s.eVar11); // normalize internal Search Term
	_cm_dynEqualize("s.prop12","c12","s.eVar12","v12");
	if (cm_eventIsSet("event4")){
	    _cm_dynEqualize("s.prop13","c13","s.eVar12","v12");
	    _cm_dynEqualize("s.eVar13","v13","s.eVar12","v12");
	}
	_cm_dynEqualize("s.prop14","c14","s.eVar14","v14");
	// s.prop15=(cm_varIsSet(s.eVar15))?cm_cluster(s.eVar15,new Array("0","5","10","30","99","100")):"";
	s.prop15=(cm_varIsSet(s.eVar15))?s.eVar15:"ns";
    }
    /* handling visitor */
    if (cm_varIsSet(s.eVar2)){
	var madel_year=2011;
	if(typeof(madel_serverYear)!="undefined"&&madel_serverYear!=""){
		madel_year=madel_serverYear;
	}
	var cmA=madel_year-s.eVar2;
	s.eVar3=cm_cluster(cmA,new Array("24","29","34","39","44","49","54","59","64","69","74","79","84","89","90"));
    }
    /* handling concerning purchases */
    if (cm_eventIsSet("prodView")) {
	cm_addEvent('event11'); // prodView
    }
    if (cm_eventIsSet("purchase")) {
	s.eVar16=(cm_varIsSet(s.purchaseID))?s.purchaseID:'ERRNOID'; // have it reportable but a purchase without ID is an Error
	_cm_dynEqualize("s.prop16","c16","s.eVar16","v16");
	s.eVar65="+1";
    }
    /* trigger path to product first and last */
    _cm_dynEqualize("s.eVar62","v62","s.eVar61","v61");
    /* handling concerning campaigns which is set in s_code */
    if(cm_varIsSet(s.campaign)){
	s.prop31='D=v0+"_"+pageName'; // pathing
	s.prop32='D=v0+":"+pageName';
	s.eVar32='D=v0+":"+pageName'; // no recursive usage of dynVars
	cm_addEvent('event5'); // campaignView
    } else {
	s.prop31='D="_"+pageName'; // pathing
    }
    /* internal campaign */
    if(!cm_varIsSet(s.eVar31)){
	s.eVar31=s.getQueryParam('intcmp');
    }
    if(!cm_varIsSet(s.eVar33)){
	s.eVar33=s.getQueryParam('s_kwcid');
    }
    /* recommendation */
    if(!cm_varIsSet(s.eVar37)){
	s.eVar37=s.getQueryParam('mmel_re');
    }
    if(!cm_varIsSet(s.eVar71)){
	s.eVar71=s.getQueryParam('mm_ab');
    }
    var cmW="";
    cmW=((cm_varIsSet(s.campaign))?"s.eVar32":(cm_varIsSet(s.eVar31))?"s.eVar31":cm_varIsSet(s.eVar37)?"s.eVar37":"");
    cm_equalize("s.eVar64",cmW);

    if(cm_varIsSet(s.eVar22)){
	cm_addEvent('event53'); // NewsLetter Abo
    }
    if(cm_varIsSet(s.eVar24)){
	cm_addEvent('event52'); // Kataloganforderung
    }
    if(!cm_varIsSet(s.eVar29)){
	s.eVar29=getSaisonRaw()+":"+cm_sDate[4];
    }
    if(cm_varIsSet(s.eVar35)){
	var cmCh=cm_getAMECchannel(s.eVar35);
	if (cm_varIsSet(cmCh)){
	    cm_dynEqualize("s.eVar"+cmCh,"s.eVar35");
	}
    }
    
    // error messages
    _cm_dynEqualize("s.prop73","c73","s.eVar73","v73");

    s.eVar20=cm_getFlashVersion(); // set Flash Version.
    if ( acceptsCookies() ){
	if ( isNewSaisonVisitor() ) cm_addEvent( 'event7' );
	if ( isNewGJVisitor() ) cm_addEvent( 'event6' );
    }
    //if(!cm_Pluginsdone)cm_integrateAdClear();//FR20110728
    cm_Pluginsdone=true;//FR20110728
}


