/*
Prager Microsystems Voice Analytics v1.3
http://www.pragermicrosystems.com/

Copyright 2011 Prager Microsystems, Inc.

Date: Apr 21, 2011
*/

function GetReferringHost() {
	var refer = document.referrer;
	var parts = refer.split("/");
	var output = parts[2];
	// ***add clean host search (e.g., www.google.com > search.google.com)***
	
	return output;
}
function CheckReferringQueryString(term) {
	var refer = document.referrer;
	var parts = refer.split("?");
	var query = parts[1];
	
	// check for url and remove ***replace with clean query array***
	if (query) {
		query = query.replace("&url=http%3A%2F%2Fwww.bresslergroup.com%2F","");
	}
	
	var regex = new RegExp(term,"i");
	var isBrand = regex.test(query);
	if (isBrand == true) {
		return true;
	} else {
		return false;
	}
}
function CheckBrand() {
	function CheckBrandReferringQueryString(term) {
		var refer = document.referrer;
		var parts = refer.split("?");
		var query = parts[1];
		
		// check for url and remove ***replace with clean query array***
		if (query) {
			query = query.replace("&url=http%3A%2F%2Fwww.bresslergroup.com%2F","");
		}
		
		var regex = new RegExp(term,"i");
		var isBrand = regex.test(query);
		if (isBrand == true) {
			return true;
		} else {
			return false;
		}
	}
	var keyword = new Array();
	keyword[0] = "bressler"; // anything including "bressler"
	
	for(var i=0; i<keyword.length; i++) {
		var output = CheckBrandReferringQueryString(keyword[i]);
		if (output == true) break;
	}
	return output;
}
function CheckPPC() {
	function CheckCurrentQueryString(term) {
		var query = window.location.search;
		
		var regex = new RegExp(term);
		var isPPC = regex.test(query);
		if (isPPC == true) {
			return true;
		} else {
			return false;
		}
	}
	var ppc_id = new Array();
	ppc_id[0] = "gclid"; // google id
	ppc_id[1] = "utm_source"; // yahoo id
	ppc_id[2] = "GOO-SE"; // alternate google id
	ppc_id[3] = "OVR-SE"; // alternate yahoo id
	ppc_id[4] = "MSN-SE"; // alternate bing id
	
	for(var i=0; i<ppc_id.length; i++) {
		var output = CheckCurrentQueryString(ppc_id[i]);
		if (output == true) break;
	}
	return output;
}
function GetKeyword() {
	var refer = document.referrer;
	// get host
	var parts = refer.split("/");
	var host = parts[2];
	//// ***add clean host search (e.g., www.google.com > search.google.com)***
	
	// get queries
	parts = refer.split("?");
	var query = parts[1];
	query = query.split("&");
	
	// create variable/value array
	var val = new Array();
	for(var i=0; i<query.length; i++) {
		parts = query[i].split("=");
		val[parts[0]] = parts[1];
	}
	
	// set keyword
	switch (host) {
		case "search.yahoo.com":
			var output = val['p'];
			break;
		default:
			var output = val['q'];
	}
	return unescape(output.replace(/\+/g," "));

}
function CreateCookie(name,value,days,path,domain) {
	// set expire
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(1000*60*60*24*days));
		var expires = "; expires="+date.toGMTString();
	} else var expires = "";
	// set path
	if (path) {
		var pth = "; path="+path;
	} else var pth = "";
	// set domain
	if (domain) {
		var dmn = "; domain="+domain;
	} else var dmn = "";
	
	document.cookie = name+"="+value+expires+pth+dmn;
}
function ReadCookie(name) {
	var nameEQ = name+"=";
	var ca = document.cookie.split(';');
	for(var i=0; i<ca.length; i++) {
		var c = ca[i];
		while(c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function EraseCookie(name) {
	CreateCookie(name,"",-1);
}

// get search referrer and check query string
// ***add clean host search (e.g., www.google.com > search.google.com)***
var refHost = GetReferringHost(); 
if (refHost == "www.google.com" || 
	refHost == "search.yahoo.com" || 
	refHost == "www.bing.com" || 
	refHost == "search.aol.com" || 
	refHost == "www.ask.com") {
		var isSearch = true;
}
var isBrand = CheckBrand();
var isPPC = CheckPPC();

// set keyword
if (isSearch == true) {
	var pm_keyword = GetKeyword();
} else {
	var pm_keyword = "No Keyword Set";
}

// set medium
//// organic brandless
if (isSearch == true && isPPC == false && isBrand == false) {
	var pm_medium = "Organic";
//// paid
} else if (isSearch == true && isPPC == true) {
	var pm_medium = "PPC";
//// direct + organic branded
} else {
	var pm_medium = "Direct";
}

// check for cookie or set cookie
var cKey = ReadCookie("pm_keyword");
var cMed = ReadCookie("pm_medium");
if (cKey) {
	pm_keyword = cKey;
	pm_medium = cMed;
} else {
	var expire = 180; // 6 months
	CreateCookie("pm_keyword",pm_keyword,expire,"/",".bresslergroup.com");
	CreateCookie("pm_medium",pm_medium,expire,"/",".bresslergroup.com");
}
