/*
 * Copyright (c) contentmetrics GmbH, 2008
 * 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 Räther, 20090508
 * Code: JavaScript Library zum Hinzufuegen von events
 * Kunde: G+J
 *
 */
 
 /* array with all referer-domains that should be excluded (look at sc_get_external_referer()) */
 /* this is specific for every site ************************************************************/
 var excluded_referers = new Array('www.guj.de');
 /**********************************************************************************************/

function cm_varIsSet(vn){//variable vn ist gesetzt und nicht leer
  if(typeof(vn)!="undefined"&&vn!="")return true;
  return false;
}
function cm_eventIsSet(ev){//event ev ist gesetzt
  if(!cm_varIsSet(s.events))return false;
  var events=''+s.events;
  if(events.indexOf(ev)>-1)return true;
  return false;
}
function cm_addEvent(ev){//setzt einen event ev einmalig pro seite
  if(!cm_varIsSet(s.events)){//1.fall events nicht definiert oder leer
    s.events=ev;
    return;
  }  
  if(cm_eventIsSet(ev)) return;//2.fall nicht leer aber schon drin
  s.events+=','+ev;//3.fall nicht leer aber nicht drin
}
 
function sc_get_external_referer() {
  	var ref = document.referrer;
  	if (ref != '') {
		ref = ref.replace(/https:\/\//,'');
		ref = ref.replace(/http:\/\//,'');
		ref = ref.substr(0,ref.indexOf('/')); // get domain of referer 
		if (!is_excluded_referer(ref) && ref != window.location.hostname) {
  		// so this is an external referer
  			return ref;
        }
  	}	 
  	return '';
}

function is_excluded_referer(item) {
	for (i=0; i < excluded_referers.length; i++) {
    	if (item == excluded_referers[i]) {
	        return true;
        }
    }  
    return false;
}
 
function s_doPlugins() {
	var url = window.location.pathname.split('/');
	url.shift();
	// only for teamsite...
	for (var i = 0; i < url.length; i++) {
		if (url[i] == 'iw-mount') {
			url = url.slice(7);
			// url[0] is 'de' or 'en'
			break;
		}
	}
	s.prop12 = url.join('/');
	s.hier1 = '';
	if (url.length > 2) {
		s.pageName = url.slice(1,url.length-1).join(':');
		s.channel = url[1];
		s.hier1 = url.slice(1,url.length-1);
		switch (url[1]) {
			case 'suche':
				s.hier1 = 'suche,' + s.getQueryParam('words');
				s.prop8 = s.getQueryParam('words');
				cm_addEvent('event9'); 
				break;
			case 'presse':
				if (url[2] == 'suchergebnisse') {
					var pr = url[url.length-1].substring(0,url[url.length-1].length-5);
					s.pageName = url[1] + ':' + pr;
					s.hier1 = url[1] + ',' +pr;
				}
				break;
		}
	} else {
		if (url[0] == 'e-annual2008') {
			s.pageName = 'aktion:e-annual2008';
			s.channel = 'aktion';
			s.hier1 = 'aktion,e-annual2008';
		} else {
			s.pageName = 'homepage';
			s.channel = 'home';
			s.hier1 = 'home';
		}
	}
	if (url[0] == 'en') {
		if (url[1] == 'e-annual2008') {
			s.pageName = 'en:aktion:e-annual2008';
			s.channel = 'en';
			s.hier1 = 'en:aktion,e-annual2008';
		} else {
			s.pageName = 'en:' + s.pageName;
			s.hier1 = 'en,' + s.hier1;
			s.channel = 'en';
		}
	}
	s.server = window.location.hostname;
	// s.prop11: external referer
	var referer = sc_get_external_referer();
	if (referer != '') {
		s.prop11 = referer;
	} 
	/*if (window.console && window.console.firebug) {
		console.log(s.server);
		console.log(s.prop11);
		console.log(s.events);
	}*/
}
