/* AD code version: 2009-01-21 */
/****************** DEBUG FUNCTIONS **********************************/
function ClearDebug() {
	var o=document.getElementById('debuglist');
    if (o) { o.options.length = 0; }
}

function AddDebug(value) {
	var o=document.getElementById('debuglist');
	if (o) {
		var e=document.createElement("option");
		e.text=value;
		try {
			o.add(e,null);
		}
		catch(ex) {
			o.add(e);	
		}
	}
}

/****************** GENERAL FUNCTIONS *********************************/
function convertToAbsoluteURL(baseurl, relurl) {
	baseurl=baseurl.substr(0,baseurl.lastIndexOf('/')+1);
	relurl=relurl.replace(/^\.\//, '');
	while (relurl.substr(0,3) == '../') {
		baseurl=baseurl.substr(0,baseurl.substr(0,baseurl.length-1).lastIndexOf('/')+1);
		relurl=relurl.substr(3);
	}
	return baseurl+relurl;
}


if (typeof ste == 'undefined') { var ste = {}; }

/****************** GENERAL TRACKING *********************************/
ste._protogeneral = function () {
	this._currentid = '';

	this.checkDefaultParams = function (o) {
		//in general mode id OR path must be set
		if (typeof o.type == 'undefined') { o.type = ""; }
		if (typeof o.id == 'undefined') { o.id = ""; }
		if (typeof o.path == 'undefined') { o.path = ""; }
		if (typeof o.lang == 'undefined') { o.lang = ""; }
		
		//if (o.id.length == 0 && o.path.length == 0) { return false; }
		//AddDebug('ste.General.checkDefaultParams succeeded');
		
		return true;
	};
	
	this.getTempSObject = function (o) {
		var tmpS = {};
		tmpS.linkLeaveQueryString=false; tmpS.linkTrackVars="prop11,prop14,prop15,prop19,prop20,prop28,prop29,prop30,eVar7,eVar11,eVar13,eVar19,eVar20"; tmpS.linkTrackEvents="None"; tmpS.events='';
		tmpS.prop11 = s.prop11;
		tmpS.prop14 = o.lang?o.lang:s.prop14;
		tmpS.prop15 = o.type;
		tmpS.prop19 = tmpS.eVar19 = s.prop19;
		tmpS.prop20 = s.prop20;
		return tmpS;
	};
	
	this.addLinkEvent = function(cevent, obj) {
		AddDebug('Adding manual event: ' + cevent);
		AddLinkEvent(cevent, obj);
	};
	
	this.download = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.url == 'undefined' || o.url === '') { return false; }
		
		if (!o.url.match(/^[A-Za-z]+:\/\//)) { o.url=convertToAbsoluteURL(location.href, o.url); }
		AddDebug('.download:: ' + o.url);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);
		
		var tmpL = {}; tmpL.href=o.url;
		s.tl(tmpL, '', '', this.getTempSObject(o));
	};
		
	this.exit = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.url == 'undefined' || o.url === '') { return false; }
		
		AddDebug('.exit:: ' + o.url);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpL = {}; tmpL.href=o.url;
		s.tl(tmpL, '', '', this.getTempSObject(o));
	};
	
	this.mailto = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.name == 'undefined') { o.name = ""; }
		
		var linkname = 'mailto:'+o.name;
	
		AddDebug('.mailto:: ' + linkname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpL = {}; tmpL.href=linkname;
		s.tl(tmpL, '', '', this.getTempSObject(o));
	};
	
	this.optin = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.name == 'undefined') { o.name = ""; }
		
		var linkname = 'opt-in:';
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (o.name.length > 0) { 
			if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
			linkname += o.name;
		}
	
		AddDebug('.optin:: ' + linkname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpO = this.getTempSObject(o);

		if (o.url) {
			var tmpL = {}; tmpL.href=o.url;
			s.tl(tmpL, '', '', this.getTempSObject(o));
		}
		else {
			this.addLinkEvent('event5', tmpO);
			s.tl(true, 'o', linkname, tmpO);
		}

	};
	
	this.listento = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.name == 'undefined') { o.name = ""; }
		
		var linkname = 'listento:';
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (o.name.length > 0) { 
			if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
			linkname += o.name;
		}

		AddDebug('.listento:: ' + linkname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpO = this.getTempSObject(o);
		this.addLinkEvent('event20', tmpO);
		s.tl(true, 'o', linkname, tmpO);
	};
	
	this.contactform = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.name == 'undefined') { o.name = ""; }
		
		var linkname = 'contactform:';
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (o.name.length > 0) { 
			if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
			linkname += o.name;
		}
	
		AddDebug('.contactform:: ' + linkname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpO = this.getTempSObject(o);
		this.addLinkEvent('event33', tmpO);
		s.tl(true, 'o', linkname, tmpO);
	};
	
	this.contactform_h = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.name == 'undefined') { o.name = ""; }
		
		var linkname = 'contactform-h:';
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (o.name.length > 0) { 
			if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
			linkname += o.name;
		}
	
		AddDebug('.contactform_h:: ' + linkname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpO = this.getTempSObject(o);
		this.addLinkEvent('event18', tmpO);
		s.tl(true, 'o', linkname, tmpO);
	};

	this.searchterm = function (o) {
		if (!this.checkDefaultParams(o)) { return false; }
		if (typeof o.name == 'undefined') { o.name = ""; }
	
		AddDebug('Default::Searchterm: ' + o.name);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

		var tmpO = this.getTempSObject(o);
		tmpO.linkTrackVars = (typeof s.linkTrackVars=="undefined" || s.linkTrackVars=="None" || s.linkTrackVars=="")?"prop21,eVar2,prop15":tmpO.linkTrackVars+",prop21,eVar2,prop15";	
		tmpO.prop15 = "sitesearch";
		tmpO.prop21 = tmpO.eVar2 = CleanText(o.name);
		s.tl(true, 'o', 'sitesearch', tmpO);
	};

};

if (typeof ste.general == 'undefined') { ste.general = new ste._protogeneral(); }
if (typeof ste.flash == 'undefined') { ste.flash = new ste._protogeneral(); }

/****************** FLASH TRACKING *********************************/
ste.flash.checkDefaultParams = function (o) {
	if (typeof o.type == 'undefined') { o.type = ""; }
	if (typeof o.id == 'undefined') { o.id = ""; }
	if (typeof o.path == 'undefined') { o.path = ""; }
	if (typeof o.lang == 'undefined') { o.lang = ""; }
	
	if (o.type.length == 0 || o.id.length == 0) { AddDebug('ste.flash.checkDefaultParams failed'); return false; }
	//AddDebug('ste.flash.checkDefaultParams succeeded');
	return true;
};

ste.flash.getTempSObject = function (o) {
	var tmpS = {};
	tmpS.linkLeaveQueryString=false; tmpS.linkTrackVars="prop11,prop14,prop15,prop19,prop20,prop28,prop29,prop30,eVar7,eVar11,eVar13,eVar19,eVar20"; tmpS.linkTrackEvents="None"; tmpS.events='';
	tmpS.prop11 = s.prop11;
	tmpS.prop14 = o.lang?o.lang:s.prop14;
	tmpS.prop15 = o.type;
	tmpS.prop19 = tmpS.eVar19 = s.prop19;
	tmpS.prop20 = s.prop20;

	//feature usage, first click in feature
	if (!this._currentid) { this._currentid=o.id; this.addLinkEvent('event32', tmpS); }

	return tmpS;
};

ste.flash.page = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (o.path.length == 0 && o.name.length == 0) { AddDebug('name or path must be set'); return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }

	var linkname = o.type+'|'+o.id;
	if (o.path.length > 0) { linkname += '|' + o.path; }
	if (o.name.length > 0) { linkname += '|' + o.name; }

	AddDebug('.page:: ' + linkname);
		AddDebug('>>> cid: ' + this._currentid);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);
	
	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1";
	tmpO.hier1 = o.type + '|' + o.id;
	tmpO.hier1 += o.path?'|'+o.path:'';
	tmpO.hier1 += o.name?'|'+o.name:'';
	
	s.tl(true, 'o', o.type+'|'+o.id, tmpO);
	
};

ste.flash.link = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.url == 'undefined') { o.url = ""; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	if (o.url === '' && o.name === '') { return false; }
	
	var linkname = 'link:';
	if (o.name.length > 0) { 
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
		linkname += o.name;
	}
	else {
		linkname += o.url;
	}

	AddDebug('.link:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	this.addLinkEvent('event6', tmpO);
	s.tl(true, 'o', linkname, tmpO);
};

ste.flash.rss = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.url == 'undefined') { o.url = ""; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	if (o.url === '' && o.name === '') { return false; }
	
	var linkname = 'rss:';
	if (o.name.length > 0) { 
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
		linkname += o.name;
	}
	else {
		linkname += o.url;
	}

	AddDebug('.rss:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	this.addLinkEvent('event34', tmpO);
	s.tl(true, 'o', linkname, tmpO);
};

ste.flash.share = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.url == 'undefined') { o.url = ""; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	if (o.url === '' && o.name === '') { return false; }
	
	var linkname = 'share:';
	if (o.name.length > 0) { 
		if (o.type) { linkname += o.type+'|'; }
		if (o.id) { linkname += o.id+'|'; }
		if (o.path) { linkname += o.path+'|'; }
		if (linkname.substr(linkname.length - 1) != "|") { linkname += "|"; }
		linkname += o.name;
	}
	else {
		linkname += o.url;
	}

	AddDebug('.share:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	this.addLinkEvent('event35', tmpO);
	s.tl(true, 'o', linkname, tmpO);
};


if (typeof ste.video == 'undefined') { ste.video = {}; }
if (typeof ste.flash.video == 'undefined') { ste.flash.video = ste.video; }

/****************** VIDEO TRACKING *********************************/
ste.video._getVideoName = function (o) {
	var videoname = '';
	if (o.type) { videoname += o.type+'|'; }
	if (o.id) { videoname += o.id+'|'; }
	if (o.path) { videoname += o.path+'|'; }
	if (o.name.length > 0) { 
		if (videoname.substr(videoname.length - 1) != "|") { videoname += "|"; }
		videoname += o.name;
	}
	return videoname;	
}

ste.video.open = function (o) {
	//temporary IE6 workaround
	if(!Info.browser.isIEpre7) {
		if (typeof o.name == 'undefined') { o.name = ""; }
		if (typeof o.length == 'undefined') { o.length = 0; }
		if (o.name.length == 0 || o.length == 0) { return false; }
		if (typeof o.playername == 'undefined') { o.playername = ""; }
		
		var videoname = this._getVideoName(o);
	
		AddDebug('.video.open:: ' + videoname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // length: ' + o.length);
	
		s.Media.open(videoname, o.length, o.playername);
	}
};

ste.video.play = function (o) {
	//temporary IE6 workaround
	if(!Info.browser.isIEpre7) {
		if (typeof o.name == 'undefined') { o.name = ""; }
		if (typeof o.offset == 'undefined') { o.offset = -1; }
		if (o.name.length == 0 || o.offset==-1) { return false; }
		
		var videoname = this._getVideoName(o);
	
		AddDebug('.video.play:: ' + videoname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // offset: ' + o.offset);
	
		s.Media.play(videoname, o.offset);
	}
};

ste.video.stop = function (o) {
	//temporary IE6 workaround
	if(!Info.browser.isIEpre7) {
		if (typeof o.name == 'undefined') { o.name = ""; }
		if (typeof o.offset == 'undefined') { o.offset = -1; }
		if (o.name.length == 0 || o.offset==-1) { return false; }
		
		var videoname = this._getVideoName(o);
		
		AddDebug('.video.stop:: ' + videoname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // offset: ' + o.offset);
	
		s.Media.stop(videoname, o.offset);
	}
};

ste.video.close = function (o) {
	//temporary IE6 workaround
	if(!Info.browser.isIEpre7) {
		if (typeof o.name == 'undefined') { o.name = ""; }
		if (o.name.length == 0) { return false; }
		
		var videoname = this._getVideoName(o);
	
		AddDebug('.video.close:: ' + videoname);
		AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
		AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // offset: ' + o.offset);
	
		s.Media.close(videoname);
	}
};

if (typeof ste.PF == 'undefined') { ste.PF = {}; }
/****************** PRODUCTFINDER TRACKING *************************/
//variables
ste.PF._currenttab="";
ste.PF._nrofclicks=0;
ste.PF._nrofexits=0;

ste.PF._getTabName = function (value) {
	var tabname="";
	if (value.indexOf('|')!=-1) {	
		tabname=value.substring(0,value.indexOf('|')); } 
	else {
		tabname=value; 
	}
	return tabname;
}

ste.PF.getTempSObject = function (o) {
	var tmpS = {};
	tmpS.linkLeaveQueryString=false; tmpS.linkTrackVars="prop11,prop14,prop15,prop19,prop20,prop28,prop29,prop30,eVar7,eVar11,eVar13,eVar19,eVar20"; tmpS.linkTrackEvents="None"; tmpS.events='';
	tmpS.prop11 = s.prop11;
	tmpS.prop14 = o.lang?o.lang:s.prop14;
	tmpS.prop15 = o.type;
	tmpS.prop19 = tmpS.eVar19 = s.prop8.toLowerCase()+'|'+o.type.toLowerCase();
	tmpS.prop20 = s.prop20;
	return tmpS;
};


ste.PF.checkDefaultParams = function (o) {
	//this object is for PF only
	o.type = "PF";
	if (typeof o.id == 'undefined') { o.id = ""; }
	if (typeof o.path == 'undefined') { o.path = ""; }
	if (typeof o.lang == 'undefined') { o.lang = ""; }
	
	if (o.type.length == 0 || o.path.length == 0) { return false; }
	//AddDebug('ste.flash.checkDefaultParams succeeded');
	return true;
};

ste.PF.tabclick = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	
	var linkname = o.type+'|'+o.path;
	if (o.name.length > 0) { linkname += '|' + o.name; }
	
	AddDebug('.PF.tabclick:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1,prop24";
	tmpO.hier1 = linkname;
	tmpO.prop24 = o.path;
	
	//PF usage, first click in PF
	if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
	this._nrofclicks++;
	this._currenttab=o.path;
	
	s.tl(true, 'o', "ProductFinder", tmpO);	
};

ste.PF.nodeclick = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	
	var linkname = o.type+'|'+o.path;
	if (o.name.length > 0) { linkname += '|' + o.name; }
	
	AddDebug('.PF.nodeclick:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1,prop24";
	tmpO.hier1 = o.type+'|'+o.path+'|'+o.name;
	tmpO.prop24 = o.path+'|'+o.name;

	//PF usage, first click in PF
	if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
	this._nrofclicks++;
	this._currenttab=this._getTabName(o.path);

	s.tl(true, 'o', "ProductFinder", tmpO);	
};

ste.PF.deeplink = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	if (o.name=="" && o.path.indexOf('|')==-1) { return false; }
	
	var linkname = o.type+'|'+o.path;
	if (o.name.length > 0) { linkname += '|' + o.name; }
	
	AddDebug('.PF.deeplink:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	o.path=unescape(o.path);
	o.name=unescape(o.name);

	this._currenttab=this._getTabName(o.path);

	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1,prop24";
	tmpO.hier1 = o.type+'|'+o.path;
	if (o.name.length > 0) { tmpO.hier1 += '|' + o.name; }
	tmpO.hier1 += ' (Deeplink)';
	tmpO.prop24 = o.path;
	if (o.name.length > 0) { tmpO.prop24 += '|' + o.name; }
	tmpO.prop24 += ' (Deeplink)';
	s.tl(true, 'o', "ProductFinder", tmpO);	

};

ste.PF.exit = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	if (typeof o.url == 'undefined' || o.url === '') { return false; }

	var linkname = o.type+'|'+o.path;
	if (o.name.length > 0) { linkname += '|' + o.name; }
	
	AddDebug('.PF.exit:: ' + linkname + ' -> ' + o.url);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);
	
	
	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1,prop24,events";
	tmpO.events = tmpO.linkTrackEvents = "event6";
	tmpO.hier1 = o.type+'|'+o.path+'|'+o.name+' (Exit)';
	tmpO.prop24 = o.path+'|'+o.name+' (Exit)';

	//PF usage, first click in PF
	if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
	this._nrofclicks++;
	//PF exit usage, first exit in PF
	if (this._nrofexits==0) { ste.general.addLinkEvent('event23', tmpO); }
	this._nrofexits++;

	s.tl(true, 'e', o.url, tmpO);
};

ste.PF.contactform = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	
	var linkname = 'contactform:';
	if (o.type) { linkname += o.type+'|'; }
	linkname += o.path;
	if (o.name.length > 0) { linkname += '|' + o.name; }

	AddDebug('.PF.contactform:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);
	
	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1,prop24,events";
	tmpO.hier1 = o.type+'|'+o.path+'|'+o.name+' (Contact)';
	tmpO.prop24 = o.path+'|'+o.name+' (Contact)';
	if (o.url) {
		tmpO.events = tmpO.linkTrackEvents = "event6";
		
		//PF usage, first click in PF
		if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
		this._nrofclicks++;
		
		s.tl(true, 'e', o.url, tmpO);	
	}
	else {
		tmpO.events = tmpO.linkTrackEvents = "event18";	
		
		//PF usage, first click in PF
		if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
		this._nrofclicks++;

		s.tl(true, 'o', 'contacform:'+o.type+'|'+o.path+'|'+o.name, tmpO);	
	}

};

ste.PF.mailto = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }
	
	var linkname = 'mailto:'+o.name;

	AddDebug('.PF.mailto:: ' + linkname);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars += ",hier1,prop24,events";
	tmpO.hier1 = o.type+'|'+o.path+'|'+o.name+' (Mailto)';
	tmpO.prop24 = o.path+'|'+o.name+' (Mailto)';
	tmpO.events = tmpO.linkTrackEvents = "event13";	

	//PF usage, first click in PF
	if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
	this._nrofclicks++;
	
	s.tl(true, 'o', 'mailto:'+o.type+'|'+o.path+'|'+o.name, tmpO);	
};

ste.PF.searchterm = function (o) {
	if (!this.checkDefaultParams(o)) { return false; }
	if (typeof o.name == 'undefined') { o.name = ""; }

	AddDebug('.PF.searchterm:: ' + o.name);
	AddDebug('>>> id: ' + o.id + ' // type: ' + o.type + ' // lang: ' + o.lang);
	AddDebug('>>> path: ' + o.path + ' // name: ' + o.name + ' // url: ' + o.url);

	var tmpO = this.getTempSObject(o);
	tmpO.linkTrackVars = (typeof s.linkTrackVars=="undefined" || s.linkTrackVars=="None" || s.linkTrackVars=="")?"prop21,eVar2,prop15":tmpO.linkTrackVars+",prop21,eVar2,prop15";	
	tmpO.prop15 = "PFsearch";
	tmpO.prop21 = tmpO.eVar2 = CleanText(o.name.toLowerCase());

	//PF usage, first click in PF
	if (this._nrofclicks == 0) { ste.general.addLinkEvent('event22', tmpO); }
	this._nrofclicks++;

	s.tl(true, 'o', 'PFsearch', tmpO);
};
