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 : '';

	var path  = 'http://' + location.hostname + '/php/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;

	$.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 print_r(theObj){
	if(theObj.constructor == Array ||
	theObj.constructor == Object){
		document.write("<ul>")
		for(var p in theObj){
			if(theObj[p].constructor == Array||
			theObj[p].constructor == Object){
				document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
				document.write("<ul>")
				print_r(theObj[p]);
				document.write("</ul>")
			} else {
				document.write("<li>["+p+"] => "+theObj[p]+"</li>");
			}
		}
		document.write("</ul>")
	}
}

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

//alert(url_params['adurl']);

if(url_params['aid'] || url_params['utm_campaign'] || url_params['gclid']) {
	// ? is caught, set in PHP session
	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 if(url_params['gclid']) {
		set_to_php_session('ADWORDS', '', '', '', document.referrer.split('&q=')[1]);
	} else {
		set_to_php_session(url_params['aid'], '', '', '', '');
	}
} else if(url_hash['utm_campaign']) {
	// # is caught, set in PHP session
	set_to_php_session(url_hash['utm_campaign'], url_hash['utm_medium'], url_hash['utm_source'], url_hash['utm_content'], url_hash['utm_term']);
} else {
	// Check whether this is a SEO lead or not
	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 branded_sites  = Array();
	var referrer_params = get_url_params(document.referrer);
	var url_referrer	= document.referrer;
	var branded_lead	= false;

	for(var i in search_engines) {
		var pattern = new RegExp(search_engines[i][0], 'i'); // i, become case insensitive

		if(pattern.test(url_referrer)) {
			// Search engine found
			// See if there is any brandname in the search string
			for(var j in branded_sites) {
				var pattern	= new RegExp(branded_sites[j], 'i'); // i, Become case insensitive

				if(pattern.test(referrer_params[search_engines[i][1]])) {
					branded_lead = true;
				}
			}

			if(branded_lead) {
				// It's a branded lead, don't save it as a SEO lead
				break;
			} else {
				// SEO lead, save it
				if(referrer_params[search_engines[i][1]]) {
					var keyword = referrer_params[search_engines[i][1]];
					keyword.replace('+', ' ');
					keyword.replace('-', ' ');
					keyword.replace('%20', ' ');

					set_to_php_session('SEO', '', '', '', keyword);
				}
			}
		}
	}
}
