/* 
 * Campaign url generator
 * 27-05-2010 Kwantic Oy
 */
 
 // Regular expression to match confirmation -urls
 var confirmationDomain = /online\.opr-vakuus\.fi\//;

function getCookie(c_name) {
	if(document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");
		if(c_start != -1) { 
			c_start = c_start + c_name.length+1;
			c_end = document.cookie.indexOf(";",c_start);
			if(c_end == -1)
				c_end = document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return ""
}

function getCookiePart(c_name, part_name) {
	var c = getCookie(c_name);
	if(c.search(part_name) != -1) {
		var clear_start = new RegExp("^.*." + part_name + "=", "i");
		c = c.replace(clear_start, "");
		c = c.replace(/\|.*$/, "");
		return c;
	} else {
		c = "";
		return c;
	}
}

// Call this function in body onload
function generate_urls() {
	var cParams = {
		campaign: 'Ostosraha', 
		content: '',
		medium: '',
		source: '',
		term: ''	
	}

	// Campaign content (url of the page where the link was clicked)
	cParams.content = document.domain + location.pathname + escape(location.search);
	//alert(cParams.content);
	
	// Campaign medium
	var utmgclid = getCookiePart('__utmz', 'utmgclid');
	var utmccn = getCookiePart('__utmz', 'utmccn');
	if(utmgclid != "") {
		utmccn = "(paidsearch)";
		cParams.medium = utmccn + "|" + "cpc";
	} else {
		var utmcmd = getCookiePart('__utmz', 'utmcmd');
		cParams.medium = utmccn + "|" + utmcmd;
	}
	
	// Campaign source
	var utmcsr = getCookiePart('__utmz', 'utmcsr');
	if(utmcsr !== '') {
		cParams.source = utmcsr;
	} else {
		cParams.source = 'google';
	}
	
	// Campaign term
	var utmctr = getCookiePart('__utmz', 'utmctr');
	var utmcct = getCookiePart('__utmz', 'utmcct');
	if(utmctr !== '') {
		if(utmcct !== '') {
			cParams.term = utmctr + '|' + utmcct;
		} else {
			cParams.term = utmctr;
		}
	} else {
		cParams.term = 'all';
	}
		
	// Glue the campaign parameters
	var c_parameters = "utm_source=" + cParams.source + 
		"&utm_medium=" + cParams.medium + 
		"&utm_campaign=" + cParams.campaign + 
		"&utm_term=" + cParams.term + 
		"&utm_content=" + cParams.content;

	// Find the confirmation links and add the campaign parameters to href
	var a = document.getElementsByTagName('a');
	for(var i = 0; i < a.length; i++) {
		if(a[i].href.match(confirmationDomain)) {
			// This checks if the url has previous query parameters
			if(!a[i].href.match(/\?/)) {
				a[i].href = a[i].href + "?" + c_parameters;
			} else {
				a[i].href = a[i].href + "&" + c_parameters;
			}
		}
	}
	
	// Find confirmation buttons
	for(var i = 0; i < document.forms.length; i++) {
		var fA = document.forms[i].getAttribute('action');
		if(fA.match(confirmationDomain)) {
			// This checks if the url has previous query parameters
			if(!fA.match(/\?/)) {
				document.forms[i].action = fA + "?" + c_parameters;
			} else {
				document.forms[i].action = fA + "&" + c_parameters;
			}
		}
	}
	
}

window.onload = generate_urls;







