function set_to_php_session(utm_campaign, utm_medium, utm_source, utm_content, utm_term, emailmarketing_id, m_i) {
	// Set any empty utm_codes to null
	utm_campaign		= (utm_campaign) ? utm_campaign : '';
	utm_medium			= (utm_medium) ? utm_medium : '';
	utm_source			= (utm_source) ? utm_source : '';
	utm_content			= (utm_content) ? utm_content : '';
	utm_term			= (utm_term) ? utm_term : '';
	emailmarketing_id	= (emailmarketing_id) ? emailmarketing_id : '';
	m_i					= (m_i) ? m_i : '';

	var path  = 'http://' + location.hostname + '/systems/campaign/session.php';
	var data  = 'action=set';
		data += '&utm_campaign=' + utm_campaign;
		data += '&utm_medium=' + utm_medium;
		data += '&utm_source=' + utm_source;
		data += '&utm_content=' + utm_content;
		data += '&utm_term=' + utm_term;
		data += '&emailmarketing_id=' + emailmarketing_id;
		data += '&m_i=' + m_i;
	
	$.ajax({
		url: path,
		data: data,
		cache: false,
		async: false
	})
}

function get_url_params(string) {
	var url = string.split('?')[1];

	if(url) {
		var temp = url.split('&');
		var params = Array();
		
		for(var i in temp ) {
			temp [i] = temp [i].split('=');
			params[temp [i][0]] = temp [i][1];
		}
	}
	
	return (params) ? params : false;
}

function get_url_hash(string) {
	var url = string.hash.split('#')[1];

	if(url) {
		var temp = url.split('&');
		var hash = Array();
		
		for(var i in temp) {
			temp[i] = temp[i].split('=');
			hash[temp[i][0]] = temp[i][1];
		}
	}
	
	return (hash) ? hash : false;
}

function get_keyword() {
	var search_engines = Array(
		Array('images.google', 'prev'),
		Array('blogsearch.google.nl', 'q'),
		Array('news.google.nl', 'q'),
		Array('maps.google.nl', 'q'),
		Array('video.google.nl', 'q'),
		Array('blogsearch.google.be', 'q'),
		Array('news.google.be', 'q'),
		Array('maps.google.be', 'q'),
		Array('video.google.be', 'q'),
		Array('blogsearch.google.com', 'q'),
		Array('news.google.com', 'q'),
		Array('maps.google.com', 'q'),
		Array('video.google.com', 'q'),
		Array('google.nl', 'q'),
		Array('google.be', 'q'),
		Array('google.com', 'q'),
		Array('bing.nl', 'q'),
		Array('bing.com', 'q'),
		Array('blueyonder', 'q'),
		Array('chello', 'q1'),
		Array('dmoz', 'search'),
		Array('dogpile', 'q'),
		Array('home.nl', 'q'),
		Array('hotbot', 'query'),
		Array('ixquick.com', 'query'),
		Array('kobala', 'qr'),
		Array('metaspider.nl', 'query'),
		Array('myway.com', 'searchfor'),
		Array('mywebsearch.com', 'searchfor'),
		Array('netmenu.metaseek.nl', 'qry'),
		Array('search.icq.com', 'q'),
		Array('startgoogle.startpagina.nl', 'q'),
		Array('vinden.nl', 'q'),
		Array('vindex.nl', 'search_for'),
		Array('web.nl', 'zoekwoord'),
		Array('zoek.nl', 'q'),
		Array('zoeken.nl', 'query'),
		Array('zoeken.track.nl', 'qr'),
		Array('zoekhet.nl', 'query'),
		Array('zoeknu.nl', 'Keywords'),
		Array('ziggo.nl', 'q'),
		Array('hetnet.nl', 'keyword'),
		Array('upc.nl', 'q1'),
		Array('ilse.nl', 'search_for'),
		Array('tiscali.nl', 'q'),
		Array('google', 'q'),
		Array('yahoo', 'p'),
		Array('msn', 'q'),
		Array('bing', 'q'),
		Array('aol', 'query'),
		Array('aol', 'encquery'),
		Array('lycos', 'query'),
		Array('ask', 'q'),
		Array('altavista', 'q'),
		Array('netscape', 'query'),
		Array('cnn', 'query'),
		Array('looksmart', 'qt'),
		Array('about', 'terms'),
		Array('mamma', 'query'),
		Array('alltheweb', 'q'),
		Array('gigablast', 'q'),
		Array('voila', 'rdata'),
		Array('virgilio', 'qs'),
		Array('live', 'q'),
		Array('baidu', 'wd'),
		Array('alice', 'qs'),
		Array('yandex', 'text'),
		Array('najdi', 'q'),
		Array('aol', 'q'),
		Array('club-internet', 'query'),
		Array('mama', 'query'),
		Array('seznam', 'q'),
		Array('search', 'q'),
		Array('wp', 'szukaj'),
		Array('onet', 'qt'),
		Array('netsprint', 'q'),
		Array('google.interia', 'q'),
		Array('szukacz', 'q'),
		Array('yam', 'k'),
		Array('pchome', 'q'),
		Array('kvasir', 'searchExpr'),
		Array('sesam', 'q'),
		Array('ozu', 'q'),
		Array('terra', 'query'),
		Array('nostrum', 'query'),
		Array('mynet', 'q'),
		Array('ekolay', 'q'),
		Array('search.ilse', 'search_for')
	);
	var referrer_params = get_url_params(document.referrer);
	var url_referrer = document.referrer;

	for(var i in search_engines) {
		var pattern = new RegExp(search_engines[i][0], 'i');
		
		if(pattern.test(url_referrer)) {
			if(referrer_params[search_engines[i][1]]) {
				return unescape(referrer_params[search_engines[i][1]]);
			}
		}
	}
}

function is_branded_lead(string) {
	var branded_sites  = Array(
		'afab',
		'123krediet',
		'123(.*)krediet',
		'kredietperpost',
		'moneyweb',
		'money(.*)web',
		'hdvbank',
		'hdv',
		'obfinance',
		'ob(.*)finance',
		'123hypotheken',
		'123(.*)hypotheken',
		'kredietinfolijn',
		'infolijn',
		'hypotheekinfolijn',
		'goedkoperlenen.nl'/*,
		''*/
	);
	
	for(var i in branded_sites) {
		if(branded_sites[i] == string) return true;
	}
	
	return false;
}

var url_params = get_url_params(location.href);
var url_hash = get_url_hash(window.location);
var keyword = get_keyword();

url_hash['utm_term'] = ((url_hash['utm_term']) ? url_hash['utm_term'] : keyword);
url_params['utm_term'] = ((url_params['utm_term']) ? url_params['utm_term'] : keyword);

if(url_params['aid'] || url_params['utm_campaign']) {
	if(url_params['utm_campaign']) {
		set_to_php_session(url_params['utm_campaign'], url_params['utm_medium'], url_params['utm_source'], url_params['utm_content'], url_params['utm_term'], url_params['emailmarketing_id'], url_params['m_i']);
	} else {
		set_to_php_session(url_params['aid'], '', '', '', url_params['utm_term'], url_params['emailmarketing_id'], url_params['m_i']);
	}
} else if(url_hash['utm_campaign']) {
	set_to_php_session(url_hash['utm_campaign'], url_hash['utm_medium'], url_hash['utm_source'], url_hash['utm_content'], url_hash['utm_term'], url_hash['emailmarketing_id'], url_hash['m_i']);
} else if(keyword && !is_branded_lead(keyword)) {
	set_to_php_session('SEO', '', '', '', keyword);
	
	
} else if(keyword && is_branded_lead(keyword)) {
	set_to_php_session('BRD', '', '', '', keyword);
}
