addLoadEvent(listHover);
//addLoadEvent(prepareFilmStrip);
addLoadEvent(addUTM);
addLoadEvent(assignLogGoal);

// standard - logs goals that use "this" as the value
function assignLogGoal(){
	if (!getElementsByClassName(document, "a", "goal")){ return; }
	var links = getElementsByClassName(document, "a", "goal");
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			logGoal(this);
			window.open(this, "link");
			return false;
		}
	}
}

function logGoal(a) {
	var u = document.location.pathname;
	var h = a.hostname;
	var t = a.text;
	if (t == undefined || t.length == 0) {
		t = a.hostname +  a.pathname;
	}
	var i = a.pagePosition;
	
	var sGoal;	
	sGoal = '/goal' + u 
	if (i != undefined) {
		sGoal += '/' + i;
	}
	sGoal += '/' + t;
	urchinTracker(sGoal);
	return true;
}
function getCookie ( cookie_name )
{
  var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );

  if ( results )
    return ( unescape ( results[1] ) );
  else
    return '';
}


function addUTM () {
	var a = document.links;
	var d = document.domain;
	var c = escape(getCookie("__utma") + "-" + getCookie("__utmb") + "-" + getCookie("__utmc"));
	var s = '?';
	var bShowLink = (document.location.search.indexOf('showlinknumber') >= 0);
	for (i=0;i<a.length;i++) {
		if ((a[i].protocol.substr(0,4) == 'http') && (d != a[i].hostname)) {
			//alert("i=" + i + "\ndomain=" + document.domain + "\nhref=" + a[i].href + "\nhost=" + a[i].host + "\nhostname=" + a[i].hostname + "\npathname=" + a[i].pathname);
			if (a[i].href.indexOf(s) > -1) {
				s = '&';
			} 
			else {
				s = '?';
			}
			a[i].href = a[i].href + s + 'sid=' + c;
		}
		a[i].pagePosition = i;
		if (bShowLink) {
			a[i].title += "Link #:" + i;
		}
	}
	return true;
}

function logSimpleGoal(link) {
	var sGoal;	
	sGoal = '/goal/' + link
	urchinTracker(sGoal);
}

function prepareFilmStrip(){
	var content = document.getElementById('main_content_text');
	if (!content){
		return;
	}
	    content.style.top="0px";
	    content.style.left="0px";

	//in px
	var viewer = 315;

	var arrow_up = document.getElementById('arrow_up');
	var arrow_down = document.getElementById('arrow_down');

	var top_final_y = -(content.clientHeight - viewer);
	var bot_final_y = 0;
	var final_x = 0;
	var interval = 10;
	arrow_up.onmousedown = function(){
		moveElement(content.getAttribute('id'), final_x, top_final_y, interval);
	}
	arrow_up.onmouseup = function(){
		clearTimeout(movement);
	}
	arrow_down.onmousedown = function(){
		moveElement(content.getAttribute('id'), final_x, bot_final_y, interval);
	}
	arrow_down.onmouseup = function(){
		clearTimeout(movement);
	}

	// make links return false so page doesn't bounce around
	arrow_up.onclick = function(){
		return false;
	}
	arrow_down.onclick = function(){
		return false;
	}
	

}
var movement;
function moveElement(elementID, final_x, final_y, interval) {
  var elem = document.getElementById(elementID);

//  if (elem.movement){
//	clearTimeout(elem.movement);
 // }

  var xpos = parseInt( elem.style.left );
  var ypos = parseInt( elem.style.top );
  if ( xpos == final_x && ypos == final_y ) {
    return true; 
  }
  if (xpos < final_x) { xpos += 2; }
  if (xpos > final_x) { xpos -=2; }
  if (ypos < final_y) { ypos += 2; }
  if (ypos > final_y) { ypos -=2; }

  elem.style.left = xpos + "px";
  elem.style.top = ypos + "px";

  var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
  movement = setTimeout(repeat, interval);
}


function listHover(){
	var nav = document.getElementById('left_nav');
	var liList = nav.getElementsByTagName('li');
	for (var i=0; i<liList.length; i++){
		liList[i].onmouseover = function(){
			this.className = 'li_on';
		}
		liList[i].onmouseout = function(){
			this.className = 'li_off';
		}
	}

}

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)
}
