<!--

/*

This script processes URL parameters for tracking purposes.

First it checks for URL parameters in the referrer URL, if they exists they get stored in cookies.
If there is no referrer page or it doesn't have URL parameters then the script attempts to read the 
current page's URL parameters and stores them in a cookie.

When a form is submitted (sign up form, for instance) then the BM_Track() function is called 
which then replaces hidden tracking variables in the form with values from the tracking cookies.

This way tracking information from the form can be captured by BetterMail or other applications.

Trackable URL parameters:
q				Keyword variable (URL parameter) used by Google
p				Keyword variable (URL parameter) used by Yahoo
utm_source		Google Analytics tracking variables
utm_campaign
utm_medium
utm_term
utm_keyword

*/


/*defining variables*/
var get_kw = ""; 		
var cookie_kw = "";
var get_refdomain = ""; 		
var cookie_refdomain = "";
var get_utm_medium = ""; 	
var cookie_utm_medium = "";
var get_utm_source = ""; 	
var cookie_utm_source = "";
var get_utm_campaign = ""; 	
var cookie_utm_campaign = "";
var get_utm_term = ""; 		
var cookie_utm_term = "";
var get_utm_keyword = ""; 	
var cookie_utm_keyword = "";
if (document.referrer=="") var docref="direct"; else var docref=document.referrer;


// reads referrer url parameters, if referrer url parameters not found reads current url parameters
// ?=q used in google 
// ?=p used in yahoo  	
// gup() = for Get Url Parameters
// qqv() = for Get Url Parameter of referrer page

if (gqv("q")) 				{ get_kw = gqv("q");						} else {if (gup("q")) 				{get_kw = gup("q");}}
if (gqv("p")) 				{ get_kw = gqv("p");						} else {if (gup("p")) 				{get_kw = gup("p");}}
if (gqv("utm_source")) 		{ get_utm_source = gqv("utm_source");		} else {if (gup("utm_source")) 		{get_utm_source = gup("utm_source");}}
if (gqv("utm_medium")) 		{ get_utm_medium = gqv("utm_medium");		} else {if (gup("utm_medium")) 		{get_utm_medium = gup("utm_medium");}}
if (gqv("utm_campaign")) 	{ get_utm_campaign = gqv("utm_campaign");	} else {if (gup("utm_campaign")) 	{get_utm_campaign = gup("utm_campaign");}}
if (gqv("utm_term")) 		{ get_utm_term = gqv("utm_term");			} else {if (gup("utm_term")) 		{get_utm_term = gup("utm_term");}}
if (gqv("utm_keyword")) 	{ get_utm_keyword = gqv("utm_keyword");		} else {if (gup("utm_keyword")) 	{get_utm_keyword = gup("utm_keyword");}}



/*check if cookies exists, if not creates them*/
if (readCookie("bm-refurl")) 		{cookie_refdomain = readCookie("bm-refurl");} 			else 								{createCookie("bm-refurl",docref, 365);					cookie_refdomain = readCookie("bm-refurl");	}
if (readCookie("bm-kw")) 			{cookie_kw = readCookie("bm-kw");} 						else if (get_kw != "") 				{createCookie("bm-kw",get_kw, 365);						cookie_kw = readCookie("bm-kw");	}
if (readCookie("bm-utm-source")) 	{cookie_utm_source = readCookie("bm-utm-source");} 		else if (get_utm_source != "") 		{createCookie("bm-utm-source",get_utm_source, 365);		cookie_utm_source = readCookie("bm-utm-source");	}
if (readCookie("bm-utm-medium")) 	{cookie_utm_medium = readCookie("bm-utm-medium");} 		else if (get_utm_medium != "") 		{createCookie("bm-utm-medium",get_utm_medium, 365);		cookie_utm_medium = readCookie("bm-utm-medium");	}
if (readCookie("bm-utm-campaign")) 	{cookie_utm_campaign = readCookie("bm-utm-campaign");} 	else if (get_utm_campaign != "") 	{createCookie("bm-utm-campaign",get_utm_campaign, 365);	cookie_utm_campaign = readCookie("bm-utm-campaign");	}
if (readCookie("bm-utm-term")) 		{cookie_utm_term = readCookie("bm-utm-term");} 			else if (get_utm_term != "") 		{createCookie("bm-utm-term",get_utm_term, 365);			cookie_utm_term = readCookie("bm-utm-term");	}
if (readCookie("bm-utm-keyword")) 	{cookie_utm_keyword = readCookie("bm-utm-keyword");} 	else if (get_utm_keyword != "") 	{createCookie("bm-utm-keyword",get_utm_keyword, 365);	cookie_utm_keyword = readCookie("bm-utm-keyword");	}


/* replaces form values -> BM_Track() should be called on form submit */
function BM_Track()
{
	//reading cookie values
	cookie_kw = readCookie("bm-kw");
	cookie_utm_medium = readCookie("bm-utm-medium");
	cookie_utm_source = readCookie("bm-utm-source");
	cookie_utm_campaign = readCookie("bm-utm-campaign");
	cookie_utm_term = readCookie("bm-utm-term");
	cookie_utm_keyword = readCookie("bm-utm-keyword");

	//deciding if visit is organic or not - organic visit if utm_medium is not set in URL or it is set and its value = "organic"
	var isorganic=false;
	if (!cookie_utm_medium) {
		document.getElementsByName("my[org_cpc]")[0].value = "organic";	
		isorganic=true;
	} else {
		if (cookie_utm_medium=="cpc" || cookie_utm_medium=="CPC") {
			document.getElementsByName("my[org_cpc]")[0].value = "CPC";
		}else{
			document.getElementsByName("my[org_cpc]")[0].value = "organic";
			isorganic=true;
		}
	}

	//organic visit
	if  (isorganic)	{
		//set utm_source form field to "direct" or name of referrer
		if (!cookie_refdomain || cookie_refdomain=="" || cookie_refdomain=="direct") document.getElementsByName("my[utm_source]")[0].value = "direct";
			else document.getElementsByName("my[utm_source]")[0].value = getDomain(cookie_refdomain)+"*|*"+cookie_refdomain;

		//set utm_keyword field to n/a or keyword stored in a cookie
		if (!cookie_kw) document.getElementsByName("my[utm_keyword]")[0].value = "n/a";
			else document.getElementsByName("my[utm_keyword]")[0].value = cookie_kw;

		//if referrel domain includes google, yahoo or bing then set utm_medium to "organic"
		if ( cookie_refdomain.indexOf("google.")>-1 || cookie_refdomain.indexOf("yahoo.")>-1  | cookie_refdomain.indexOf("bing.")>-1   )
			document.getElementsByName("my[utm_medium]")[0].value = "organic";
			//if not from google, yahoo or bing then set utm_medium to "direct" or medium stored in a cookie
			else {
				if (cookie_refdomain==""  || cookie_refdomain=="direct") document.getElementsByName("my[utm_medium]")[0].value = "direct";
					else document.getElementsByName("my[utm_medium]")[0].value = "referral";
			}
	//CPC visit
	} else {
		//try to get values from cookies if they are stored already - if cookies not present, get them from current URL
		
		if (!cookie_utm_source) document.getElementsByName("my[utm_source]")[0].value = getDomain(cookie_refdomain)+"*|*"+cookie_refdomain;
			else document.getElementsByName("my[utm_source]")[0].value = cookie_utm_source+"*|*"+cookie_refdomain;

		//if utm_keyword cookie not set
		if (!cookie_utm_keyword) {
				//if cookie_kw is not blank then use it form the utm_keyword field else use n/a
				if (cookie_kw!="") document.getElementsByName("my[utm_keyword]")[0].value = cookie_kw; 
							else document.getElementsByName("my[utm_keyword]")[0].value = "n/a"; 
		
		//if utm_keyword cookie is set us it form the utm_keyword field
		} else document.getElementsByName("my[utm_keyword]")[0].value = cookie_utm_keyword;

		if (!cookie_utm_medium) document.getElementsByName("my[utm_medium]")[0].value = "n/a";
			else document.getElementsByName("my[utm_medium]")[0].value = cookie_utm_medium;
	}



	if (!cookie_utm_campaign) document.getElementsByName("my[utm_campaign]")[0].value = "n/a";
		else document.getElementsByName("my[utm_campaign]")[0].value = cookie_utm_campaign;

	if (!cookie_kw) document.getElementsByName("my[ref_keyw]")[0].value = "n/a";
		else document.getElementsByName("my[ref_keyw]")[0].value = cookie_kw;

	if (!cookie_utm_term) document.getElementsByName("my[utm_term]")[0].value = "n/a";
		else document.getElementsByName("my[utm_term]")[0].value = cookie_utm_term;

	 if ( cookie_refdomain.indexOf("doubleclick.")>-1  ) {
		document.getElementsByName("my[utm_medium]")[0].value = "cpc";
		document.getElementsByName("my[org_cpc]")[0].value = "cpc";
	 }



	return true;
}

//-->
