function checkDMpCookie (cpns_ref,cpns_noref) {
if (jQuery.cookie('CMOptout')=='opt_out') {var ts = new Date();jQuery.cookie('marketingParam','opt_out||'+Math.round(ts.getTime()/1000)+";", { expires: 28, path: '/', domain: internalDomain, secure: 0 });return false;}
if (val_defined(cpns_noref)) {
for (i=0;i<cpns_noref.length; i++) {
	var cp_noref_val = jQuery(document).getUrlParam(cpns_noref[i]);
	var cp_noref_id = cpns_noref[i];
	if(val_defined(cp_noref_val)) setMpCookie(cp_noref_id, cp_noref_val,'norefParam');
}
}

if (val_defined(cpns_ref)) {
for (i=0;i<cpns_ref.length; i++) {
var cp_ref_val = jQuery(document).getUrlParam(cpns_ref[i]);
var cp_ref_id = cpns_ref[i];
if (val_defined(cp_ref_val)) {
var cp_id = cp_ref_id;
var cp_val = cp_ref_val;
break;
}
}
}

var ref = document.referrer.toLowerCase();
if (ref.search(internalDomainRegExp) != -1) {
} else if (val_defined(cp_val)) {
	setMpCookie(cp_id, cp_val,'marketingParam');
} else if (ref.length > 0 && ref.search(/\bbing\.\b|\bgoogle\.\b|\b\.ask\.com\b|\b\.web\.de\b|\byahoo\.\b/g) != -1) {
	var seo = ref.match(/\bbing\.\b|\bgoogle\.\b|\b\.web\.de\b|\b\.ask\.com\b|\byahoo\.\b/g);
	if (seo.length) {
	switch (seo[0]) {
	case 'google.': setMpCookie('organic', 'google-_-'+getSearchTerms('q'),'marketingParam'); break;
	case 'bing.': setMpCookie('organic', 'bing.com-_-'+getSearchTerms('q'),'marketingParam'); break;
	case 'yahoo.': setMpCookie('organic', 'yahoo.com-_-'+getSearchTerms('p'),'marketingParam'); break;
	case '.web.de': setMpCookie('organic', 'web.de-_-'+getSearchTerms('su'),'marketingParam'); break;
	case '.ask.com': setMpCookie('organic', 'ask.com-_-'+getSearchTerms('q'),'marketingParam'); break;
	default: break;
	}
}
} else if (ref.length > 0) {
	setMpCookie('otherExternal', ref.match(/:\/\/(.[^/]+)/)[1],'marketingParam');
} else {
	setMpCookie('direct', '','marketingParam');
}
}

function setMpCookie (ref,keyword,cookie) {
var ts = new Date();
var preVal = (jQuery.cookie(cookie)==null?'':jQuery.cookie(cookie));
var keywords = (keywords==null?'':keywords);
if (jQuery.cookie('CMOptout')=='opt_out') {jQuery.cookie(cookie,'opt_out||'+Math.round(ts.getTime()/1000)+";", { expires: 28, path: '/', domain: internalDomain, secure: 0 });} else {
jQuery.cookie(cookie, preVal+ref+"|"+keyword+"|"+Math.round(ts.getTime()/1000)+";", { expires: 28, path: '/', domain: internalDomain, secure: 0 });
}

}

function getSearchTerms(qv) {
var keywords = new Array();
var ref = document.referrer;
var pair;
var qIndex = 0;
var qs;
var prm;
try {
qIndex = ref.indexOf('?');
if (qIndex < 1) { return keywords; }
ref = keyWordReplace(ref,'%22','');
qs = ref.substring(qIndex + 1,ref.length);
prm = qs.split('&');
for (i=0;i<prm.length;i++) {
pair = prm[i].split('=');
temp = unescape(pair[0]).split('+');
name = temp.join(' ');
if (name != qv) { continue; }
temp = unescape(pair[1]).split('+');
for(k=0;k<temp.length;k++) {
keywords.push(temp[k]);
}
}
keywords = keywords.join(' ');
}
catch (exception) {}
return keywords;
}

function keyWordReplace(OrgVal,SearchVal,ReplaceVal) {
var Val;
var RegExp = eval("/" + SearchVal + "/g");
if (OrgVal.indexOf(SearchVal) <1) {  return OrgVal; }
Val = OrgVal.replace(RegExp,ReplaceVal);
return Val;
}

function val_defined(value) {
return (typeof value != 'undefined' && value !== null && value.length !== 0);
}

