var mailmanFaqSpeed = 500;

$(document).ready(function( ){ 
	
	$("div.jqmWindow").jqm()
	
	/*
	/* SEARCH
	/*
	/******************************************************/
	
	$("input.init").click(function( ) {
		$(this).attr("value", "");
		$(this).attr("class", "");
		$(this).unbind("click");
	});
	
	/*
	/* NEWS HEADLINES
	/*
	/******************************************************/

	
	if($("div.mailman_newsHeadlines").length) {
		
		var hOffset = 8;
		
		function newsHeadlinesHeight(start, end) {
			var i = 0;
			var lioStart;
			var lioEnd;
			var lioEndH;
			$("div.mailman_newsHeadlines ul li").each(function( ) {
				if(i == start) {
					lioStart = $(this).offset( );
				}
				if(i == end) {
					lioEnd = $(this	).offset( );
					lioEndH = $(this).height( );
				}
				i++;
			});
		
			return (lioEnd.top - lioStart.top) + lioEndH + hOffset;
		}
		
		function newsHeadlinesTop(start, end) {
			var i = 0;
			var lioStart;
			var lioEnd;
			var lioEndH;
			$("div.mailman_newsHeadlines ul li").each(function( ) {
				if(i == start) {
					lioStart = $(this).offset( );
				}
				if(i == end) {
					lioEnd = $(this	).offset( );
					lioEndH = $(this).height( );
				}
				i++;
			});
		
			return lioEnd.top - lioStart.top;
		}
		
		var newsHeadlinesLength = $("div.mailman_newsHeadlines li").length;
		var s = 0;
		var e = (newsHeadlinesLength / 2) - 1;
		var t = newsHeadlinesHeight(s, e);
		$("div.mailman_newsHeadlines_contentContainer").css("height", t + "px");
		
		$.preloadImage("/includes/mailman/images/arrow_newsHeadlines_up_disabled.png");
		$.preloadImage("/includes/mailman/images/arrow_newsHeadlines_up_off.png");
		$.preloadImage("/includes/mailman/images/arrow_newsHeadlines_up_over.png");
		$.preloadImage("/includes/mailman/images/arrow_newsHeadlines_off_disabled.png");
		$.preloadImage("/includes/mailman/images/arrow_newsHeadlines_down_off.png");
		$.preloadImage("/includes/mailman/images/arrow_newsHeadlines_down_over.png");
		
		
		$("div.mailman_newsHeadlines p img").hover(function( ) {
			if($(this).attr("class") != "disabled") {
				var imgId = $(this).attr("id");
				$(this).attr("src", "/includes/mailman/images/arrow_newsHeadlines_" + imgId + "_over.png");
			}
		}, function ( )  {
			if($(this).attr("class") != "disabled") {
				var imgId = $(this).attr("id");
				$(this).attr("src", "/includes/mailman/images/arrow_newsHeadlines_" + imgId + "_off.png");
			}
		});
		
		$("div.mailman_newsHeadlines p img").click(function( ) {
			var imgId = $(this).attr("id");
			if(imgId == "up") newsHeadlinesUp($(this));
			else newsHeadlinesDown($(this));
		});
		
		var newsHeadlineSpeed = 500;
		var newsHeadlineEasing = "easeInOutExpo";
		
		function newsHeadlinesDown(obj) {
			
			var s = (newsHeadlinesLength / 2); // START
			var e = newsHeadlinesLength - 1; // END
			var h = newsHeadlinesHeight(s, e);
			$("div.mailman_newsHeadlines_contentContainer").animate({height: + h + "px"}, newsHeadlineSpeed, newsHeadlineEasing);
			
			s = 0;
			e = (newsHeadlinesLength / 2);
			var t = newsHeadlinesTop(s, e);
			$("div.mailman_newsHeadlines_content").animate({top:"-" + t + "px"}, newsHeadlineSpeed, newsHeadlineEasing);
			
			$("div.mailman_newsHeadlines p img#down").attr("class", "disabled");
			$("div.mailman_newsHeadlines p img#down").attr("src", "/includes/mailman/images/arrow_newsHeadlines_down_disabled.png");
			$("div.mailman_newsHeadlines p img#up").attr("class", "");
			$("div.mailman_newsHeadlines p img#up").attr("src", "/includes/mailman/images/arrow_newsHeadlines_up_off.png");
			
		}
		
		function newsHeadlinesUp(obj) {
			
			var s = 0;
			var e = (newsHeadlinesLength / 2) - 1;
			var h = newsHeadlinesHeight(s, e);
			$("div.mailman_newsHeadlines_contentContainer").animate({height: + h + "px"}, newsHeadlineSpeed, newsHeadlineEasing);
			
			$("div.mailman_newsHeadlines_content").animate({top:"0px"}, newsHeadlineSpeed, newsHeadlineEasing);
			
			$("div.mailman_newsHeadlines p img#down").attr("class", "");
			$("div.mailman_newsHeadlines p img#down").attr("src", "/includes/mailman/images/arrow_newsHeadlines_down_off.png");
			$("div.mailman_newsHeadlines p img#up").attr("class", "disabled")
			$("div.mailman_newsHeadlines p img#up").attr("src", "/includes/mailman/images/arrow_newsHeadlines_up_disabled.png");
			
		}
		
	}
	
	/*
	/* UPCOMING EVENTS
	/*
	/******************************************************/
	
	$("div.mailman_upcomingEvents li a").hover(function( ) {
		$(this).parent( ).parent( ).attr("class", "mailman_upcomingEvents_li_hover");
	}, function ( )  {
		$(this).parent( ).parent( ).attr("class", "");
	});
	
	/*
	/* LEFT NAVIGATION
	/*
	/******************************************************/
	
	var leftNavSpeed = 500;
	
	$("a.mailman_leftNavigation_submenu_anchor").click(function( ) {
		
		var submenu = $(this).parent( ).parent( ).children("div.mailman_leftNavigation_submenu");
		
		if(submenu.css("display") == "none") $(this).text("[-]");
		else $(this).text("[+]");
		
		submenu.slideToggle(leftNavSpeed);
		
	});
	
	//IF CURRENT ITEM HAS A SUBMENU OPEN THAT SUBMENU
	openMenu($("div.mailman_leftNavigation").find("span.mailman_leftNavigation_current").parent( ).parent( ).next( ));
	
	$("div.mailman_leftNavigation").find("span.mailman_leftNavigation_current").parents("div.mailman_leftNavigation_submenu").each(function( ) {
		openMenu($(this))
	});
	
	function openMenu(obj) {
		obj.css("display", "block");
		obj.parent( ).find("a.mailman_leftNavigation_submenu_anchor").text("[-]")
	}
	
	/*
	/* TAG CLOUD
	/*
	/******************************************************/
	
	$("a.mailman_tagCloudToggle").click(function( ) {
		var t = ($("a.mailman_tagCloudToggle").text( ) == "Hide Tag Cloud") ? "Show Tag Cloud" : "Hide Tag Cloud";
		$("a.mailman_tagCloudToggle").text(t);
		$("div.mailman_searchTagCloud").slideToggle(500);
	});
	
	/*
	/* SHOW OPTIONS
	/*
	/******************************************************/
	
	$("a.mailman_showOptionsToggle").click(function( ) {
		var t = ($("a.mailman_showOptionsToggle").html( ) == "Hide Search Options &raquo;") ? "Show Search Options &raquo;" : "Hide Search Options &raquo;";
		$("a.mailman_showOptionsToggle").html(t);
		$("div.mailman_newsSearch_options").slideToggle(500);
	});
	
	/*
	/* TABLE SORTER
	/*
	/******************************************************/
	
	$("table.mailman_searchResults").tablesorter( ); 
	$("table.mailman_searchResults").bind("sortStart",function( ) { 
        $("table.mailman_searchResults tbody tr").attr("class", ""); 
    }).bind("sortEnd",function( ) { 
        $("table.mailman_searchResults tbody tr:first").attr("class", "first"); 
    });
	
	/*
	/* DEGREE OFFERINGS
	/*
	/******************************************************/
	
	$("div.mailman_degreeOfferings div.mailmain_degreeOfferings_section:first").attr("class", "mailmain_degreeOfferings_section mailmain_degreeOfferings_section_first"); 
	
	$("div.mailman_degreeOfferings div.mailmain_degreeOfferings_section").hover(function( ) {
		var c = $(this).attr("class");
		c += " mailmain_degreeOfferings_section_hover";
		$(this).attr("class", c);
	}, function( ) {
	 	var c = $(this).attr("class");
		c = c.replace(/mailmain_degreeOfferings_section_hover/, "");
		$(this).attr("class", c);
	});
	
	$("div.mailman_degreeOfferings div.mailmain_degreeOfferings_section").click(function( ) {

		var c = $(this).attr("class");
		if(c.match(/mailmain_degreeOfferings_section_on/)) {
			c = c.replace(/mailmain_degreeOfferings_section_on/, "");
			$(this).attr("class", c);
			$(this).find("div.mailmain_degreeOfferings_section_handle").text("[+]");
		} else {
			c += " mailmain_degreeOfferings_section_on";
			$(this).attr("class", c);
			$(this).find("div.mailmain_degreeOfferings_section_handle").text("[-]");
		}
		
		$(this).next( ).slideToggle(500);
		
	});
	
	$("div.mailman_degreeOfferings div.mailman_degreeList_item").hover(function( ) {
		var c = $(this).attr("class");
		c += " mailman_degreeList_item_hover";
		$(this).attr("class", c);
	}, function( ) {
	 	var c = $(this).attr("class");
		c = c.replace(/mailman_degreeList_item_hover/, "");
		$(this).attr("class", c);
	});
	
	$("div.mailman_degreeOfferings div.mailman_degreeList_item").click(function( ) {
																				
		if($(this).next( ).css("display") == "block") {
			$(this).find("div.mailman_degreeList_item_handle").text("[+]");
		} else {
			$(this).find("div.mailman_degreeList_item_handle").text("[-]");
		}
		
		$(this).next( ).slideToggle(500);
	
	});
	
	/*
	/* COURSE OFFERINGS
	/*
	/******************************************************/
	
	function positionDialog(obj) {
		var id = obj.attr("id");
		var div = $("div#" + id + "_courseDescription");
		var table = $("table.mailman_searchResults");
		
		var offset = obj.offset( );
		var t = offset.top;
		
		var t2 = t - div.height( );
		
		div.css("top", t2 + "px");
		
		var offset = table.offset( );
		var l = offset.left;
		
		var l2 = l + ((table.width( ) - div.width( )) / 2); 
		div.css("left", l2 + "px");
	}
	
	$("a.mailman_dialog").click(function( ) {
		var id = $(this).attr("id");
		var div = $("div#" + id + "_courseDescription");	 	
		positionDialog($(this))
		div.jqmShow( );
		
	 });
	
	$(window).resize(function(){
	  $("a.mailman_dialog").each(function( ) {
		positionDialog($(this))					  
	  });
	});
	
	/*
	/* EVENT CALENDAR SEARCH OPTIONS
	/*
	/******************************************************/
	
	$("div.mailman_upcomingEventsSearch_options_toggle").click(function( ) {
		var t = ($(this).find("a").html( ) == "Hide Search Options &raquo;") ? "Show Search Options &raquo;" : "Hide Search Options &raquo;";
		$(this).find("a").html(t);
		$("div.mailman_upcomingEventsSearch_options_form").slideToggle(500);
	});
	
	
	/*
	/* MAIN FEATURE ROTATOR
	/*
	/******************************************************/

	$("div.mailman_slide:first").fadeIn(mailmanFadeSpeed);
	$("div.mailman_slide:first").addClass("mailman_slide_on");
	mailman_mainFeatureRotator_setControls($("div.mailman_slide:first"));
	
	$('div.mailman_mainFeatureRotator_control_next a').click(function( ) {
		$(document).stopTime( );
		mailman_mainFeatureRotator_next( );
	});
	
	$('div.mailman_mainFeatureRotator_control_prev a').click(function( ) {
		$(document).stopTime( );
		mailman_mainFeatureRotator_prev( );
	});
	
	$(document).everyTime(mailmanRotateSpeed, mailman_mainFeatureRotator_next);
	
	/*
	/* FAQ
	/*
	/******************************************************/

	$('div.mailman_faq ol li a').click(function( ) {
		mailman_faqToggle($(this));
	});
	
	$('div.mailman_faq ol li div a.mailman_close').click(function( ) {
		mailman_faqToggle($(this).parent( ));
	});
	
	$('div.mailman_faq a.mailman_expandAll').click(function( ) {											
		$(this).parent( ).parent( ).find("a.mailman_question").each(function( ) {
			$(this).parent( ).find("div.mailman_answer").slideDown(mailmanFaqSpeed);
			var h = "[-]";
			$(this).parent( ).find("pre").html(h);
		});
	});
	
	$('div.mailman_faq a.mailman_collapseAll').click(function( ) {											
		$(this).parent( ).parent( ).find("a.mailman_question").each(function( ) {
			$(this).parent( ).find("div.mailman_answer").slideUp(mailmanFaqSpeed);
			var h = "[+]";
			$(this).parent( ).find("pre").html(h);
		});
	});

});

function mailman_faqToggle(obj) {
	obj.parent( ).find("div.mailman_answer").slideToggle(mailmanFaqSpeed);
	var h = (obj.parent( ).find("pre").html( ) == "[+]") ? "[-]" : "[+]";
	obj.parent( ).find("pre").html(h);
}

var mailmanFadeSpeed = 1000;
var mailmanRotateSpeed = 4000;

function mailman_mainFeatureRotator_next( ) {
	var curSlide = $("div.mailman_slide_on");
	curSlide.fadeOut(mailmanFadeSpeed);
	curSlide.removeClass("mailman_slide_on");
	
	curSlide = (curSlide.attr("id") == $("div.mailman_slide:last").attr("id")) ? $("div.mailman_slide:first") : curSlide.next( );
	curSlide.fadeIn(mailmanFadeSpeed);
	curSlide.addClass("mailman_slide_on");
	
	mailman_mainFeatureRotator_setControls(curSlide);
}

function mailman_mainFeatureRotator_prev( ) {
	var curSlide = $("div.mailman_slide_on");
	curSlide.fadeOut(mailmanFadeSpeed);
	curSlide.removeClass("mailman_slide_on");
	
	curSlide = (curSlide.attr("id") == $("div.mailman_slide:first").attr("id")) ? $("div.mailman_slide:last") : curSlide.prev( );
	curSlide.fadeIn(mailmanFadeSpeed);
	curSlide.addClass("mailman_slide_on");
	
	mailman_mainFeatureRotator_setControls(curSlide);
}

function mailman_mainFeatureRotator_setControls(curSlide) {
	t = curSlide.find('a.mailman_slide_title').text( );
	$('div.mailman_mainFeatureRotator_control_now span').text(t);
	
	nextSlide = (curSlide.attr("id") == $("div.mailman_slide:last").attr("id")) ? $("div.mailman_slide:first") : curSlide.next( );
	t = nextSlide.find('a.mailman_slide_title').text( );
	$('div.mailman_mainFeatureRotator_control_next a').text(t);
	
	prevSlide = (curSlide.attr("id") == $("div.mailman_slide:first").attr("id")) ? $("div.mailman_slide:last") : curSlide.prev( );
	t = prevSlide.find('a.mailman_slide_title').text( );
	$('div.mailman_mainFeatureRotator_control_prev a').text(t);
	
}


function displayDescription(id) {
	$('div#' + id).jqmShow( );
}
