function JumpURL(selection) {
	var tempIndex, selectedURL;
	tempIndex = selection.selectedIndex;
	selectedURL = selection.options[tempIndex].value;
	window.location.href = selectedURL; 
}

jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
	return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);  
};




// Video Functions //

	function expandVideo(object, file, width, height){
	if(width==null){
		width = 560; // Set default width if value not sent
	}
	if(height==null){
		height = 340; // Set default height if value not sent
	}
	height = height + 24; // Account for height of player chrome
	hs.minWidth = width;
	return hs.htmlExpand(object, 
			{objectType: 'swf', 
			swfOptions: {version: '8', 
				flashvars: { file: file+'&autostart=true',
				plugins : "gapro-1",
				'gapro.accountid' : "UA-667833-2",
				'gapro.trackstarts' : "true",
				'gapro.trackpercentage' : "true",
				'gapro.tracktime' : "true"
				 },
				params: {allowscriptaccess: 'always', allowfullscreen: 'true', vmode: 'transparent'} 
				},
				allowSizeReduction: false,
				objectWidth: width,
				objectHeight: height,	
				slideshowGroup: '1'}
				);
	}

//This function probably should be adapted to be more generic, currently it only is used for the homepage quicklink feedItems

function toggleMore(feedItem){
	var moreName = feedItem.id + "_more";
	if($(feedItem).hasClass("pointDown")){
		$(feedItem).removeClass("pointDown").addClass("pointUp");
	}
	else {
		$(feedItem).removeClass("pointUp").addClass("pointDown");
	}
	$("#"+moreName).slideToggle(400);
}

//This initializes the sliding routine on the .hasMore .isMore selector pairing
function setupMoreContainers(){
	$(".hasMore").click(function(){
		toggleMore(this);
	});
	$(".isMore").hide();
}

function setupDLSliders(){
	$(".expandContent").hide();
	$("dt.expand").click(function(){
		if($(this).hasClass("pointDown")){
			$(this).removeClass("pointDown").addClass("pointUp");
			$(this).nextUntil('dt').slideFadeToggle(250);
		}
		else {
			$(this).removeClass("pointUp").addClass("pointDown");
			$(this).nextUntil('dt').slideFadeToggle(250);
		}
	});
	$("h4.expand").click(function(){
		if($(this).hasClass("pointDown")){
			$(this).removeClass("pointDown").addClass("pointUp");
			$(this).next().slideFadeToggle(250);
		}
		else {
			$(this).removeClass("pointUp").addClass("pointDown");
			$(this).next().slideFadeToggle(250);
		}
	});
}

function showHideAll(which){
	if(which==="show"){
		$("dt.expand").removeClass("pointDown").addClass("pointUp");
		$("dt.expand").nextUntil('dt').slideDown(250);
	}
	else {
		$("dt.expand").removeClass("pointUp").addClass("pointDown");
		$("dt.expand").nextUntil('dt').slideUp(250);
	}
}


function setupPlayPause(button, slideshow){
	$("#"+button).click(function(){
		if($(this).hasClass("play")){
			$(this).removeClass("play").addClass("pause");
			$("#"+slideshow).cycle("resume");
		}
		else {
			$(this).removeClass("pause").addClass("play");
			$("#"+slideshow).cycle("pause");
		}
	});
}

//This sets up the slideshows for study abroad programs
function getAbroadJSON(id,albumID,width,height){
	//Uses a php proxy to get a json file with the image paths for the slideshows. Looks a little different on MSIE, what doesn't?
	if($.browser.msie){albumURL = "http://dcearc.harvard.edu/sspdirector/api/slidesjson.php?callback=?&ie=true&album="+albumID+"&height="+ height +"&width="+width;}
	else {albumURL = "http://dcearc.harvard.edu/sspdirector/api/slidesjson.php?callback=?&ie=false&album="+albumID+"&height="+ height +"&width="+width;}
	$.getJSON(albumURL, function(data){
		$("#"+id).html("");
		$("#"+id).css({"background-image" : "none"}); //just deletes the loading indicator
		$.each(data.items, function(i,item){ 
			if(item.description !== ""){$("#"+id).append("<li><img src='"+item.image+"'/><cite>"+item.description+"</cite></li>");}
			else {$("#"+id).append("<li><img src='"+item.image+"'/></li>");}
			
		});
		setupPlayPause("playpause","slideshowContainer");
		$(".slideTools .previous").click(function(){ $("#"+id).cycle("prev"); });
		$(".slideTools .next").click(function(){ $("#"+id).cycle("next"); });
		$(".slideshow cite").hide(); //hide info box
		$(".slideshow img").mouseenter(function(){$(this).next("cite").slideDown();}); //Open info box
		$(".slideshow img").mouseleave(function(){$(this).next("cite").slideUp();}); //Close info box
		$("#"+id).cycle({
			fit: 0,
			fx: 'fade',
			easing: 'easeInOutSine',
			containerResize: 0,
			pager:  '.thumbnails',
			pagerAnchorBuilder: function(idx, slide) { 
    		    return '<a href="#"></a>'; 
 			} 
		});
	});
}

/*
	The getRightColumn() function reads a json data file, searches for the specified tag, and returns formatted right-column content. The big cascading if/else chain exists to make sure the content is properly formatted regardless of the presence of the optional image and link data. 
*/
function getRightColumn(tag){
	$("#extra_feature").html("");
	$.getJSON("/incl/data/feature.json", function(json){
		$.each(json,function(i,feedItem){
			if((feedItem.tags.indexOf('video_item')===0)||(feedItem.tags.indexOf('video_item'+",")!==-1)||(feedItem.tags.indexOf(", "+'video_item')!==-1)||(feedItem.tags.indexOf(", "+'video_item'+",")!==-1))
			{
				if((feedItem.tags.indexOf(tag)===0)||(feedItem.tags.indexOf(tag+",")!==-1)||(feedItem.tags.indexOf(", "+tag)!==-1)||(feedItem.tags.indexOf(", "+tag+",")!==-1)){
							if(feedItem.linkTitle === "")
								{feedItem.linkTitle = "Watch the video &gt;";}
							if((feedItem.link !=="")&&(feedItem.img !==""))
								{$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><a href='/multimedia/player.swf' onclick='expandVideo(this,\""+feedItem.link+"\");return false;' class='img'><img src='"+feedItem.img+"'/></a><p>"+feedItem.body+"<br/><a href='/multimedia/player.swf' onclick='expandVideo(this,\""+feedItem.link+"\");return false;''>"+feedItem.linkTitle+"</a></p></div>");}
							else if((feedItem.link !=="")&&(feedItem.img ==="")) 
								{$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><p>"+feedItem.body+"<br/><a href='/multimedia/player.swf' onclick='expandVideo(this,\""+feedItem.link+"\");return false;'>"+feedItem.linkTitle+"</a></p></div>");}
							else if((feedItem.link ==="")&&(feedItem.img !=="")) 
								{$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><img src='"+feedItem.img+"'/><p>"+feedItem.body+"</p></div>");}
							else {$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><p>"+feedItem.body+"</p></div>");}
				}
			}
			else {
				if(tag ==="courseFeature"){
					if((feedItem.tags.indexOf(tag)===0)||(feedItem.tags.indexOf(tag+",")!==-1)||(feedItem.tags.indexOf(", "+tag)!==-1)||(feedItem.tags.indexOf(", "+tag+",")!==-1)){
					//if(feedItem.tags.indexOf(tag)!==-1){
						if(feedItem.linkTitle === "")
							{feedItem.linkTitle = "More";}
						if((feedItem.link !=="")&&(feedItem.img !==""))
							{$("#extra_feature").append("<h4 class='expand blueLozenge pointDown'>"+feedItem.title+"</h4><div class='expandContent'><a target='_blank' class='img' href='"+feedItem.link+"'><img src='"+feedItem.img+"'/></a><p>"+feedItem.body+"<br/><a href='"+feedItem.link+"'>"+feedItem.linkTitle+" ></a></p></div>");}
						else if((feedItem.link !=="")&&(feedItem.img ==="")) 
							{$("#extra_feature").append("<h4 class='expand blueLozenge pointDown'>"+feedItem.title+"</h4><div class='expandContent'><p>"+feedItem.body+"<br/><a target='_blank' href='"+feedItem.link+"'>"+feedItem.linkTitle+" ></a></p></div>");}
						else if((feedItem.link ==="")&&(feedItem.img !=="")) 
							{$("#extra_feature").append("<h4 class='expand blueLozenge pointDown'>"+feedItem.title+"</h4><div class='expandContent'><a class='img' href='#' onclick='return false;'><img src='"+feedItem.img+"'/></a><p>"+feedItem.body+"</p></div>");}
						else {$("#extra_feature").append("<h4 class='expand blueLozenge pointDown'>"+feedItem.title+"</h4><div class='expandContent'><p>"+feedItem.body+"</p></div>");}
					}
				}
				else {
					//if(feedItem.tags.indexOf(tag)!==-1){
					if((feedItem.tags.indexOf(tag)===0)||(feedItem.tags.indexOf(tag+",")!==-1)||(feedItem.tags.indexOf(", "+tag)!==-1)||(feedItem.tags.indexOf(", "+tag+",")!==-1)){
						if(feedItem.linkTitle === "")
							{feedItem.linkTitle = "More";}
						if((feedItem.link !=="")&&(feedItem.img !==""))
							{
							if(feedItem.source !==""){
							$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><a target='_blank' class='img' href='"+feedItem.link+"'><img  src='"+feedItem.img+"'/></a><p>"+feedItem.body+"<br/><cite>"+feedItem.source+"</cite><br/><a href='"+feedItem.link+"'>"+feedItem.linkTitle+" ></a></p></div>");}
							else {
							$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><a target='_blank' class='img' href='"+feedItem.link+"'><img  src='"+feedItem.img+"'/></a><p>"+feedItem.body+"<br/><a href='"+feedItem.link+"'>"+feedItem.linkTitle+" ></a></p></div>");}
							}
							
						else if((feedItem.link !=="")&&(feedItem.img ==="")) 
							{
							if(feedItem.source !==""){
							$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><p>"+feedItem.body+"<br/><cite>"+feedItem.source+"</cite><br/><a target='_blank' href='"+feedItem.link+"'>"+feedItem.linkTitle+" ></a></p></div>");}
							else {
							$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><p>"+feedItem.body+"<br/><a target='_blank' href='"+feedItem.link+"'>"+feedItem.linkTitle+" ></a></p></div>");}
							}
						else if((feedItem.link ==="")&&(feedItem.img !=="")) 
							{
							if(feedItem.source !==""){
							$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><img src='"+feedItem.img+"'/><p>"+feedItem.body+"<br/><cite>"+feedItem.source+"</cite><br/></p></div>");}
							else {
							$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><img src='"+feedItem.img+"'/><p>"+feedItem.body+"</p></div>");}
							}
						else {
						if(feedItem.source !==""){
						$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><p>"+feedItem.body+"<br/><cite>"+feedItem.source+"</cite><br/></p></div>");}
						else {
						$("#extra_feature").append("<div class='"+feedItem.styleClass+"'><h4>"+feedItem.title+"</h4><p>"+feedItem.body+"</p></div>");}
						}
					}
				}
			}
		});
		if(tag ==="courseFeature"){
			setupDLSliders();
			$("#extra_feature h4:first").removeClass("pointDown").addClass("pointUp");
			$("#extra_feature div:first").css("display","block");
		}
	});
	
}

function initTabs(tabClass,bodyClass){
	tabClass="."+tabClass;
	tabControl="."+tabClass+" a";
	bodyClass="."+bodyClass;
	$(bodyClass).hide();
	$(tabClass).click(function(){
		$(tabClass).removeClass("active").addClass("inactive");
		$(this).removeClass("inactive").addClass("active");
		theLink = $(this).children("a").attr("href");
		//theLink = $(this).attr("href");
		$(bodyClass).hide();
		$(theLink).show();
		return false;
	});
}

function popify() {
	if ($(".mapLink").length > 0) {
			setupHSMap();	  
		$($(".mapLink")).each(function(i) {
        	linkBuilding = $(this).html();
        $(this).wrap("<a href='/incl/popMap.jsp' onclick='whichBuilding=\"" + linkBuilding + "\";return hs.htmlExpand(this, { objectType: \"ajax\", objectHeight: 500, objectWidth: 500} );'/>");
    	});
	}
	else return;
}
