/* SiteCatalyst code version: H.20.3.
 * Copyright 1997-2009 Omniture, Inc. More info available at
 * http://www.omniture.com
 *
 * ====================================================================
 * Copyright (c) contentmetrics GmbH, 2009
 * 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, Knud Vieten
 * Code: zentrale PlugIns JS Library lastminute
 * Kunde: lastminute, muenchen
 *
 */
var rel_ver="2.1:H20.3";
function s_lmsc_doPlugins(s_lmsc) {
	s_lmsc.eVar1=s_lmsc.getQueryParam('lmintid');//IP-1001 FR20091216
	s_lmsc.eVar43=s_lmsc.pageName;//IP-1043 FR20091216
	s_lmsc.eVar45=s_lmsc.getQueryParam('lmnlid');//IP-1045 FR20091216
	s_lmsc.eVar46=s_lmsc.getQueryParam('lmfrid');//IP-1046 FR20091216
	s_lmsc.campaign=s_lmsc.getQueryParam('lmextid');//IP-1138 FR20091216
	//ToDo Konz-1064 has no related IP-item FR20091216 (Cross-Campaign Measurement)
	// if(!cm_varIsSet(s_lmsc.campaign)){ 
		// s_lmsc.campaign=s_lmsc.getQueryParam('source');//solange nicht gesetzt AP20100302
	// }
	if(cm_eventIsSet('event6')){//Product Choice FR20091216
		if(document.location.host.toLowerCase().indexOf('xxl.lastminute.de')>-1){//FR20091216
			s_lmsc.eVar20=s_lmsc.getQueryParam('lmpromid');//IP-1020 FR20091216
		}else{
			//ggfs. weitere Logik laut KONZ-1023 FR20091216
		}
		if(s_lmsc.eVar20=="")s_lmsc.eVar20="ohne promoplatzierung";//KONZ-1023 FR20091216
	}
	s_lmsc.prop17=s_lmsc.eVar33;//IP-1104 FR20091216
	if(cm_eventIsSet('purchase')||cm_eventIsSet('event10')){//IP-1113 FR20091216
		if(cm_varIsSet(s_lmsc.eVar39)){ //muss gemaess Konzept der Fall sein AP20100302
			var liste=s_lmsc.eVar39.split('|');//MUC|HAM|LON|MUC
			if(liste[1]==liste[2]&&liste[3]==liste[0]){//2. Abflug mit 1.Ziel und 2.Ziel mit 1. Abflug gleich
				s_lmsc.prop26=s_lmsc.events+": falscher Multistop";
			}else{
				s_lmsc.prop26=s_lmsc.events+": Multistop";
			}
		}
	}	
	/* To setup Dynamic Object IDs */
	//s_lmsc.setupDynamicObjectIDs();
}
s_lmsc.doPlugins=s_lmsc_doPlugins;


/************************** CONTENTMETRICS PLUGINS *************************/
/*
 * Wenn eine von beiden Variablen gesetzt ist, wird die andere genauso.
 * @param {string}var1 Variable
 * @param {string}var2 Variable
 */
function cm_equalize(var1,var2){
	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);
}
/*
 * Fügt einen Event hinzu, einmalig pro Seite
 * @param {string}ev Event
 */
function cm_addEvent(ev){ 
	if(!cm_varIsSet(s_lmsc.events)){ //1.fall nicht definiert oder leer
		s_lmsc.events=ev;
		return;
	} 
	if(cm_eventIsSet(ev)) return; //2.fall nicht leer aber schon drin
	s_lmsc.events+=','+ev; //3.fall nicht leer aber nicht drin
}
/*
 * Prüft, ob ein Event bereits gesetzt ist
 * @param {string}ev Event
 * @return {boolean}
 */
function cm_eventIsSet(ev){//event ev ist gesetzt
	if(!cm_varIsSet(s_lmsc.events))return false;
	var events=s_lmsc.events;
	events=events.split(',');
	for(var i=0;i<events.length;i++){
		if(events[i]==ev)return true;
	}
	return false;
}
/*
 * Prüft, ob eine Variable bereits gesetzt ist
 * @param {string} vn Variable
 * @return {boolean}
 */

function cm_varIsSet(vn){ //variable ist gesetzt und nicht leer
	if(typeof(vn)!="undefined"&&vn!="")return true;
	return false;
}

/*
 * Normalisiert strings, z.B. für Suchworttracking
 * @param {string}s_in Suchwort wie eingetippt
 * @returns {string} Normalisiertes Suchwort
 */
function normalize(s_in){
	
	if ( cm_varIsSet(s_in) ) {
	    var s=s_in.toLowerCase();	//kleinschreibung
	    while(s.indexOf(' ')==0)s=s.substr(1,s.length-1);	//führende leerzeichen raus
	    while(s.substr(s.length-1,1)==' ')s=s.substr(0,s.length-1);	//schliessende leerzeichen raus
	   	while(s.match(/[ ]{2}/))s=s.replace('  ',' ');	//doppelte leerzeichen raus
	    s=s.replace(/ä/ig,'ae');	//ersetze umlaute
	    s=s.replace(/ö/ig,'oe');	//ersetze umlaute
	    s=s.replace(/ü/ig,'ue');	//ersetze umlaute
	    s=s.replace(/ß/ig,'ss');	//ersetze esszet
	    return s;
	}
	return s_in;
}


// ================================================================
// Functions and operations for handling lastminute specific issues
// used and needed for web analytics with Omniture SiteCatalyst
// 
// Version:	Changed:	Who:		Why:
// 1.0		10.12.2009	ARP		created
// =================================================================

// do not delete configuration variables, only custom variables
var s_prop = [ "prop1", "prop3", "prop21", "pageName" ];
var s_evar = [ "eVar1", "eVar3", "eVar12" ];
var s_special = [ "events", "products", "server", "channel", "errorType" ];
function s_lmsc_delete_arr(vararr) {
	if (cm_varIsSet(vararr)) {
		for (var i=0;i<vararr.length;i++) {
			eval("s_lmsc."+vararr[0]+"='';");
		}
	}
}
function s_lmsc_deleteCustomVars() {
	if (cm_varIsSet(s_lmsc)) {
		s_lmsc_delete_arr(s_prop);
		s_lmsc_delete_arr(s_evar);
		s_lmsc_delete_arr(s_special);
	}
}
