addLoadEvent(assignLogGoal);
addLoadEvent(logPdfGoal);
addLoadEvent(listMapView);
addLoadEvent(logCkLocationsGoal);

function listMapView(){
	if (!document.getElementById('hrefListView')){
		return false;
	}

	var listLink = document.getElementById('hrefListView');
	var mapLink = document.getElementById('hrefMapView');
	listLink.onclick = function(){
	
		showListView();
		return false;
	}
	mapLink.onclick = function(){
		showMapView();
		return false;
	}
}


// standard - logs goals that use "this" as the value
function assignLogGoal(){
	if (!getElementsByClassName(document, "a", "logGoal")){ return; }
	var links = getElementsByClassName(document, "a", "logGoal");
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			logGoal(this);
		}
	}
}
// log pdf goal
function logPdfGoal(){
	if (!getElementsByClassName(document, "a", "pdfGoal")){ return; }
	var links = getElementsByClassName(document, "a", "pdfGoal");


	var allcookies = document.cookie;
	var pos = allcookies.indexOf("leadsource=");
	if (pos !=-1){
		var start = pos + 11;	//start of cookie value
		var end = allcookies.indexOf(";", start);	//end of cookie value
		if (end == -1) end = allcookies.length;
		var value = allcookies.substring(start, end);
		//value = decodeURIComponent(value);
		
		

	}
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			var linkNameArray = this.href.split("/");
			var linkName = linkNameArray[linkNameArray.length-1];
				
			if (pos !=-1){
				var uString = '/goal/leadsource/'+ value + '/' + unescape(linkName);
			}
			else{
				var uString = '/goal/leadsource/' + unescape(linkName);
			}
			
			urchinTracker(uString);
			return true;
		
		}
	}
	
}
// logs cyberknife locations goals
function logCkLocationsGoal(){
	if (!getElementsByClassName(document, "a", "ckLocGoal")){ return; }
	var links = getElementsByClassName(document, "a", "ckLocGoal");
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			var uString = '/goal/CyberKnifeLocations.aspx/'+ this.getAttribute("rel").replace(/\s+/g, "_");
			urchinTracker(uString);
		
		}
	}
}
function logGmapGoal(link){
	var uString = '/goal/CyberKnifeLocations.aspx/'+ link.getAttribute("rel").replace(/\s+/g, "_");
	urchinTracker(uString);

}
//appends "goal" to string calls urchinTracker
function logGoal(link) {
	var sGoal;	
	sGoal = '/goal/' + link;
	urchinTracker(sGoal);
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
