// Utility and lead analytics code.
// Copyright (C) Web 1 Marketing, Inc.
// www.web1marketing.com

// Functions

function printPage() { print(document); }

function addToFavorites() {
	var urlAddress = unescape(window.location.href);
	var pageName = unescape(document.title);
	if (window.external) {
		window.external.AddFavorite(urlAddress,pageName);
	} else {
		alert("Sorry, your browser doesn't support this function. Try CTRL-D.");
	}
}

function emailPageLink () {
	var urlAddress = window.location.href;
	var pageName = unescape(document.title);
	document.location = "mailto:?Subject=Page%20of%20interest&body=This page might be of interest: " + urlAddress;
}

function bookmarkThis () {
	if (navigator.appName=='Microsoft Internet Explorer') {
		window.external.AddFavorite(window.location.href,unescape(document.title));
	} else {
		alert('Your browser does not support this feature.');
	}
}

function setCookie(name, value, expires, path, domain, secure) {
	var curCookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	document.cookie = curCookie;
}
	
function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} 
	else begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
	if (getCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

function check () {
	// Use this function to see the cookie values set by this code.
	alert('Code: ' + getCookie('ac') + '\n' + 'Time Stamp: ' + getCookie('acTimeStamp') + '\n' + 'Referrer: ' + getCookie('referrer') + '\n' + 'Real referrer: ' + top.document.referrer);
}

// ====== Code to run when loaded ======

var mySite = window.location.hostname;
var expireTime = new Date();
var now = expireTime.getTime();
var timeStamp = expireTime.getUTCFullYear() + "/" + (1 + expireTime.getUTCMonth()) + "/" + expireTime.getUTCDate() + " " + expireTime.getUTCHours() + "-" + expireTime.getUTCMinutes() + "-" + expireTime.getUTCSeconds();  

expireTime.setTime(now + 365 * 24 * 60 * 60 * 1000); // One year from now

// Create array of URL parameters
var qs = location.search.substring(1);
var nv = qs.split('&');
var url = new Object();
for(i = 0; i < nv.length; i++) { // Put URL parameters into an array
	eq = nv[i].indexOf('=');
	url[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
}

if (url.ac) {
	// If URL contains an AC parameter, save it in a cookie
	// Will overwrite any pre-existing AC cookie (by design)
	setCookie("ac", url.ac, expireTime, '/'); 
	setCookie("acTimeStamp", timeStamp, expireTime, '/');
} else {
	// No AC parameter
	var ac = getCookie("ac");
	if (!ac) 	{
		// No AC cookie already exists
		var dr = document.referrer;
		var loc_domain = dr.indexOf(".", dr.indexOf("//")) + 1;
		var loc_end_domain = dr.indexOf(".", loc_domain);
		var refering_domain = dr.substring(loc_domain, loc_end_domain);
		switch (refering_domain)
		{
			case "google":
				var se_code = "SE-GO"
			break
			case "yahoo":
				var se_code = "SE-YA"
			break
			case "bing":
				var se_code = "SE-BI"
			break
			case "msn":
				var se_code = "SE-MSN"
			break
			case "aol":
				var se_code = "SE-AOL"
			break
			case "ask":
				var se_code = "SE-ASK"
			break
			case "netscape":
				var se_code = "SE-NET"
			break
			case "dogpile":
				var se_code = "SE-DOG"
			break
			default:
				var se_code = "NA"
		}

		setCookie("ac", se_code, expireTime, '/');
		setCookie("acTimeStamp", timeStamp, expireTime, '/');
	}
}

// If from an external site, store the referrer in a cookie that lasts 24 hours.
var referrer = top.document.referrer;
if (referrer == "") referrer = mySite;
if (referrer.indexOf(mySite) != -1) {
	; // If referrer is from within the site, do nothing.
} else {
	var lifetime = new Date();
	lifetime.setTime(now + 24 * 60 * 60 * 1000); // 24 hour cookie
	setCookie("referrer",top.document.referrer, lifetime, '/')
};

// For testing, resets cookies if URL includes a "reset" parameter
if (url.reset) {
	deleteCookie("ac");
	deleteCookie("referrer");
	deleteCookie("acTimeStamp");
}

