/* HELPER FUNCTIONS */
function _tp_debug() { 
	return _tp_ga_read_cookie('DEBUG=(T)', 1, 'F') == 'T';
}

function _tp_ga_read_cookie(pattern, group, def) {
	var value = def;
	if (typeof(RegExp) == 'function') {
		var regex = new RegExp(pattern, 'i');
		var match = regex.exec(document.cookie);
		if(match)
			{ value = match[group]; }
	}
	return value;
}

function _tp_ga_set_acctno() {
	var acctno = _TP_GA_PRODACCT;
	if (typeof(location.hostname) == 'string') {
		var hostname = location.hostname;
		if (typeof(hostname.toLowerCase) == 'function')
			{ hostname = hostname.toLowerCase(); }
		if (!(hostname == 'taunton.com' || hostname == 'www.taunton.com'))
			{ acctno = 'UA-4680151-'; }
	}
	return acctno;
}

// TRY AND GUESS WHICH PROPERTY KEY
function _tp_ga_set_property_key() {
	var key = undefined;
	var path = location.pathname.toLowerCase();
	if (path.search(/^\/finehomebuilding\//) == 0) { key = '3'; }
	else if (path.search(/^\/finewoodworking\//) == 0) { key = '4';	}
	else if (path.search(/^\/finecooking\//) == 0) { key = '5'; }
	else if (path.search(/^\/finegardening\//) == 0) { key = '6'; }
	else if (path.search(/^\/threads\//) == 0) { key = '7'; }
	return (typeof(key) != 'undefined' ? _tp_ga_tracker + key : undefined);
}

/* VARS */
var _TP_GA_PRODACCT = 'UA-4535902-';
var _tp_ga_tracker = _tp_ga_set_acctno();
var _tp_ga_rollup = _tp_ga_tracker + '1';
var _tp_ga_property = (typeof(ga_property_key) == 'undefined' ? _tp_ga_set_property_key() : ga_property_key.replace(_TP_GA_PRODACCT, _tp_ga_tracker));
var _tp_ga_domain = 'taunton.com';
var _tp_ga_link = (typeof(_tp_ga_link) == 'undefined' ? undefined : _tp_ga_link);
var _tp_ga_custvar = _tp_ga_read_cookie('cchbx=([^;]+)', 1, 'W0001');

/* TRACKING FUNCTIONS */
function _tp_ga_track(acct, galink) {
	if (typeof(acct) != 'undefined') {
		if (_tp_debug()) {
			alert(acct + "\n" + ((typeof(galink) == 'undefined') ? location.pathname + location.search : galink));
		}
		var t = _gat._getTracker(acct);
		t._setDomainName(_tp_ga_domain);
		//t._setVar(_tp_ga_custvar);
		if (typeof(galink) == 'undefined') {
			t._trackPageview();
		} else {
			t._trackPageview(galink);
		}
	}
}

/* TRACK */
_tp_ga_track(_tp_ga_rollup, _tp_ga_link);
_tp_ga_track(_tp_ga_property, _tp_ga_link);
