jQuery.noConflict();

//Control jQuery scope
(function($){
	
	/* Navigation */
	$(function(){
		$(".hover SPAN, .topics LI").each(function(i,e){
			$(e).hover(
				function(){$(this).addClass("over");},
				function(){$(this).removeClass("over");});
		});
	});

	/* Challenges */
	$(function(){
		
		$('DIV.challenge-panel.checkable').each(function(i,e){
			$challengePanel = $(this);
			$challengePanel.click(
				function(event){
					var $input = (this.nodeName == "INPUT" ? this : $("INPUT", this));
					if(event.target.nodeName != "INPUT" && event.target.nodeName != "LABEL"){
						if($input.attr("checked")) {
							$input.attr("checked",false)
						} else {
							$input.attr("checked",true)
						}
					}
					if($input.attr("checked")) {
						$(this).addClass("challenge-selected");
					} else {
						$(this).removeClass("challenge-selected");
					}
				
				});
				
			$("INPUT", this).each(function(i,e){
				if($(this).attr("checked")) {
					$challengePanel.addClass("challenge-selected");
				} else {
					$challengePanel.removeClass("challenge-selected");
				}
			})
		});

	});
	
	$(function(){
		var hero = new Hero({
				"hero-diary":"diary.swf"
				,"hero-twodays":"waterbottle.swf"
				,"hero-weekend":"football.swf"
				,"hero-lower":"bottlecap.swf"
				,"hero-smaller":"wine3.swf"
				,"hero-food":"plate.swf"
				,"hero-water":"tap2.swf"
			});
	});
	
	$(function(){
		$("FORM.pick-challenge").validate();
		$("FORM.validate-me").validate();

		
	});
	
	
})(jQuery);

try {
 document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}


	function chain(f) {var o=window.onload;window.onload=function() {if(o) o();f();}}
	chain(function(){
		if (document.getElementsByTagName) {
			var hrefs = document.getElementById('view').getElementsByTagName("a");
			for (var l = 0; l < hrefs.length; l++) {
				try{ //protocol, host, hostname, port, pathname, search, hash
					if (hrefs[l].protocol == "mailto:") {
						startListening(hrefs[l],"click",trackMailto);
					//} else if (hrefs[l].className=="trackClick") {
						//hrefs[l].onclick=function(ev){trackInternalLinks(ev,this);};
					} else if (hrefs[l].hostname == location.host) {
						var path = hrefs[l].pathname + hrefs[l].search;
						var isDoc = path.match(/\.(?:doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)($|\&|\?)/);
						if (isDoc) { startListening(hrefs[l],"click",trackDocumentLinks); }
					} else if (hrefs[l].hostname != location.host) {
						// var note = document.createElement("span");
						// note.innerHTML = "(link opens in a new window)";
						// hrefs[l].parentNode.insertBefore(note,hrefs[l]);
						//hrefs[l].onclick=function() { window.open(this.href); return false;}
						startListening(hrefs[l],"click",trackExternalLinks);
					}
				}
				catch(e){
					continue;
				}
			}
		}
	});

	function startListening (obj,evnt,func) {
	    if (obj.addEventListener) {
	        obj.addEventListener(evnt,func,false);
	    } else if (obj.attachEvent) {
	        obj.attachEvent("on" + evnt,func);
	    }
	}

	function trackMailto (evnt) {
	    var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
	    var mailto = "/mailto/" + href.substring(7);
	    if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
	}

	function trackDocumentLinks (evnt) {
	    var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
	    var mailto = "/downloads/" + href.substring(7);
	    if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
	}

	function trackInternalLinks (evnt,el) {	
	    var href = (evnt.srcElement) ? evnt.srcElement.href : el.href;
	    var lnk = "/internal-link/" + href;
	    if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);
	}

	function trackExternalLinks (evnt) {
	    var e = (evnt.srcElement) ? evnt.srcElement : this;
	    while (e.tagName != "A") { e = e.parentNode; }
	    var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
	    if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
	    lnk = "/external/" + e.hostname + lnk;
	    if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk); 
	}
	


