//set to false to track in live environment
var testmode = false;
var pageTracker;
if(testmode)
{
	//UA-1549649-13 is bpg testing
	pageTracker = _gat._getTracker("UA-1549649-13");
} else {
	pageTracker = _gat._getTracker("UA-3818708-3");
}

pageTracker._initData();

$(document).ready(function() {
	AddLinkTitles();
	AddDownloadClicks();
	TrackPage(BuildPath());	
});

function TrackPage(path)
{
	path = path.replace(/ /g, " ");
	path = path.replace(/%20/g, " ");
	path = path.replace(/\/\//g, "/");
	//$('<div style="position:absolute; height:20; top: 0; left: 0; background-color: red; padding: 5px; font-weight: bold;">' + path + '</div>') .insertAfter( $("body") );
	pageTracker._trackPageview(path);
	//alert(path);
}

function BuildPath()
{
	var domain = getDomain();
	var path = "";
	if(testmode)
	{
		var path = "test/" + domain + "/";
	} else {
		var path = domain + "/";
	}
	path = addParam('go', path);
	path = addParam('page', path); //bpgltd
	
	path = addParam('section', path); //bpgltd
	path = addParam('state', path); //bpgltd
	path = addParam('statecode', path); //bpgltd
	
	path = addParam('title', path); //replaces pid
	
	
	//printable
	path = addParam('viewType', path); //bgpltd
	path = checkPrint(path);
	
	//ellis
	if(domain == "ellispreserve.com")
	{	
		path += location.pathname.substring(location.pathname.lastIndexOf('/')+1).replace(/.asp/, "").replace(/.html/, "");
	}
	
	
	//bind additional links in other js files
	switch(domain)
	{
		case "bpgltd.com" :
		case "bpgdevelopment.com" :
		case "madisonapartmentgroup.com" :
			path = AdditionalBinds(path);
		break;
	
	}
	
	return path;
}

function AddLinkTitles() 
{
	//appends any links with pid= in querystring to 
	$("a[href*='&pid']").each(	
		function() {		
			$(this).attr("href", $(this).attr("href") + "&title=" + $(this).html());		
	});

	
		//news
	$("a[href*='index.asp?page=news&ID=']").each(	
		function() {		
			$(this).attr("href", $(this).attr("href") + "&title=" + $(this).html());		
	});

	//development cases
	$("a[href*='case&id=']").each(	
		function() {		
			$(this).attr("href", $(this).attr("href") + "&title=" + $(this).html());		
	});
}

function AddDownloadClicks()
{
	//hack to fix pdfs with normal links
	
	$("a[href*='pdf']").each(	
		function(){
			$(this).click(function(){
				var path = BuildPath() + "/" + getFilename($(this).attr("href"), "\\"); 
				TrackPage(path);
				//alert(path);
			});
	});
	
	//development bios
	$("a[href*='javascript:showBio(']").each(	
		function() {
		$(this).click(function(){
			var path = BuildPath() + "/" + $(this).html(); 
				TrackPage(path);
				//alert(path);
		});
	});
	
	$("a[href*='mapquest']").each(	
		function() {
		$(this).click(function(){
			var path = BuildPath() + "/map"; 
				TrackPage(path);
				//alert(path);
		});
	});
	
	$("input[type*='submit']").each(	
		function(){
			$(this).click(function(){
				var path = BuildPath() + "submit/"; 
				TrackPage(path);
				//alert(path);
			});
	});

}

function getFilename(url, lastitem)
{
	//the site filenames use \
	var filename = url.substring(url.lastIndexOf(lastitem)+1, url.length);
	filename = filename.substring(url.lastIndexOf("/")+1, filename.length);
	return filename;
}

function getDomain()
{
	var domain = document.domain;
	domain = domain.replace(/www./, "");
	//domain = domain.replace(/.com/, "");
	//domain = domain.replace(/.net/, "");
	//domain = domain.replace(/.org/, "");
	return domain;
}

function addParam(key, path)
{
	if(($.query.get(key) != null) && ($.query.get(key) != true))
	{
		path += $.query.get(key) + "/";
	}
	return path
}

function checkPrint(path)
{
	//bpgdevelopment
	pos = location.href.indexOf("print.asp");
	if(pos>0)
	{
		path += "print/";
	}

	return path;

}
