var jet2ga_searchProduct = "";
var jet2ga_searchCategory = "";
var jet2ga_pagename = "*";
var jet2ga_querystring = "*";
var jet2ga_init = false;

function jet2ga_doInit()
{
	if (jet2ga_init) return true;
	if (typeof(_gat) == "undefined") return false;
	if (typeof(pageTracker) == "undefined") pageTracker = _gat._getTracker("UA-313005-6");

	// Configure GA to share tracking cookies across subdomains of .jet2.com
	pageTracker._setAllowHash(false);
	pageTracker._setDomainName(".jet2.com");
	
	jet2ga_init = true;	
	return true;
}

function jet2ga_trackPageview(strPageName)
{
	// Initialize GA tracking settings
	if (!jet2ga_doInit()) return;
		
	// Send pageview to GA
	pageTracker._trackPageview(strPageName);
}

function googleAdTracker(strAd)
{
	// Compose GA pagename and send pageview to GA
	jet2ga_trackPageview("/_ad" + strAd);
}

function googleFlashTracking(strLang, strEventName)
{
	// Extract current pagename
	var strPageName = document.location.pathname;
	if (strPageName == "/")	strPageName = "/HomePage.aspx";
	strPageName = strPageName.split("/");	
	strPageName = strPageName[1].split(".");

	// Compose GA pagename and send pageview to GA
	jet2ga_trackPageview("/_flash/" + strLang + "/" + strPageName[0] + "/" + strEventName);
}

function jet2ga_addQueryParam(strQuery, strName, strValue)
{
	if (strQuery.charAt(0) == "?") strQuery = "&" + strQuery.slice(1);
	if (strQuery.charAt(strQuery.length - 1) == "&") strQuery = strQuery.substring(0, strQuery.length - 1);
	var strKey = "&" + strName + "=";
	var i = strQuery.indexOf(strKey);
	if (i >= 0) {
		i = i + strKey.length;
		var j = strQuery.indexOf("&", i);
		if (j < 0) j = strQuery.length;
		strQuery = strQuery.substring(0, i) + strValue + strQuery.substring(j);
	} else {
		strQuery = strQuery + strKey + strValue;
	}
	return "?" + strQuery.slice(1);
}

function jet2ga_getCurrentPageName(strLang)
{
	// Get the URL pagename and query string from the document location, or use overridden values if provided
	var strPage = "";
	var strSearch = "";

	if (jet2ga_pagename != "*") {
		strPage = jet2ga_pagename;
	} else {
		strPage = document.location.pathname;
	}

	if (jet2ga_querystring != "*") {
		strSearch = jet2ga_querystring;
	} else {
		strSearch = document.location.search;
	}
	
	// Add the "lang" parameter into the query string if it is not already there
	strSearch = jet2ga_addQueryParam(strSearch, "lang", strLang);
	
	// Add the site search parameters into the query string if they are not already there
	if (jet2ga_searchProduct != "") {
		strSearch = jet2ga_addQueryParam(strSearch, "search_prod", jet2ga_searchProduct);
		strSearch = jet2ga_addQueryParam(strSearch, "search_cat", jet2ga_searchCategory);
	}
	
	// Compose the GA pagename and return it
	return strPage + strSearch;
}

function jet2ga_trackCurrentPage(strLang)
{
	// Initialize GA tracking settings
	if (!jet2ga_doInit()) return;

	// Record the language into the custom variable slot 1 at session-level
	pageTracker._setCustomVar(1, "lang", strLang, 2)
	
	// Determine the GA pagename and send the pageview
	jet2ga_trackPageview(jet2ga_getCurrentPageName(strLang));
}

