$(function () {

    if (document.getElementById('searchInputWrap')) { setSearch(); }
    if (document.getElementById('utilityTabContent')) { utilityTabs(); }
    if (document.getElementById('primaryNav')) { setPrimaryNav(); }
    if (document.getElementById('maskedSlider')) { setMaskedSlider(); }
    if (document.getElementById('eventRoller')) { setEventRoller(); }
    if (document.getElementById('lowerTabNav')) { lowerTabNav(); }
    if (document.getElementById('eventCal')) { thisMonthEvents(); }
    if (document.getElementById('orangePopup')) { orangePopup(); }
    if (document.getElementById('alert')) {
        modal.init();
        if (!$('.alertViewed').length) {
            modal.open(
				$('#alert').clone().html(),
				true
			);
        }
        $('a.openAlert').click(function (e) {
            e.preventDefault();
            modal.open(
				$('#alert').clone().html(),
				true
			);
        });
    }

    if ($('.collegeNav').length > 0) { prepCollegeNav(); }
    if ($('.showHideWrap')[0]) { showHide(); }
    if ($('div.newsSlider')[0]) { newsSliderInit(); }
    if ($('div.searchFilters a').length) { setNewsSearchButton(); }
    if ($('h1.flexWidth').length) { setHeadingWidth(); }

    $('.textInput input').clearOnFocus();
    $('div.searchFilters input[type="text"]').clearOnFocus();
    $('.tabWrapper').tabNav();

    if (document.getElementById('miniBannerSlideShow')) {
        $('#miniBannerSlideShow').slideShow({
            contentArea: $('#bannerContent'),
            prev: $('div.arrows .prev'),
            next: $('div.arrows .next'),
            indicators: $('.controls a').not('.prev, .next'),
            slider: $('#slider'),
            slides: $('.slide'),
            content: $('.slide').find('.slideContent')
        });
    }

    if (document.getElementById('slideShow')) {
        $('#slideShow').slideShow({
            contentArea: $('#slideShowDesc'),
            prev: $('div.controls a.prev'),
            next: $('div.controls a.next'),
            indicators: $('div.controls a').not('a.prev, a.next'),
            slider: $('div.slider'),
            slides: $('div.slide'),
            content: $('div.slide div.slideDetails'),
            onTimer: true,
            interval: 10000
        });
    }

    $('#searchInputWrap input').enterKey('#searchInputWrap a');

    $('div.inputBox input').clearOnFocus();

});

function setHeadingWidth() {
    var width = $('h1.flexWidth').css('display', 'inline').outerWidth();
    if (width > 305 && $.browser.msie) {
        $('h1.flexWidth').css({
            width: width - 30,
            display: 'block'
        });
    }
    $('h1.flexWidth').css('display', 'inline-block')
}

function setNewsSearchButton() {
    var a = $('div.setNewsSearchButton a');
    var input = $('div.searchFilters input[type="text"]');

    a.click(function () {
        if (input.val() == 'Enter Keywords') {
            input.val('');
        }
    });
}

function newsSliderInit(){
	var wrap = $('div.newsSlider'),
			next = wrap.find('a.next'),
			prev = wrap.find('a.prev'),
			indicators = wrap.find('ul.controls a').not('a.prev, a.next'),
			slider = wrap.find('ul.slider'),
			slides = slider.find('li'),
			slidesWithImg = slider.find('li').not('li.noImg').length || 0,
			slidesNoImg = slider.find('li.noImg').length || 0,
			count = slides.length,
			selected = 1,
			moving = false,
			startPos,
			curPos,
			markers = 0,
			slideRep = {};
	
	ulWidth = ( slidesWithImg * 293 ) + ( slidesNoImg * 171 );
	endPt = -ulWidth;

    // hide for ie...
	slider.css('visibility', 'hidden');

	if( slides.eq( -1 ).hasClass('noImg') ){
		endPtPlus = -( ulWidth + 171 );
	}
	else {
		endPtPlus = -( ulWidth + 293 );
	}
	
	if( ulWidth > 635 ){
	
		slides.eq( -1 ).clone().prependTo( slider );
		slides.eq( 0 ).clone().appendTo( slider );
		
		if( slider.find('li').eq( 0 ).hasClass('noImg') ){
			startPos = -171;
		}
		else {
			startPos = -293;
		}
		
		slides.each(function(i){
		
			if( slides.eq( i-1 ).hasClass('noImg') ){ 
				markers -= 171; 
			}
			else {
				markers -= 293;
			}
			
			slideRep['listItem_' + i] = {
				marker: markers
			};
		});
		
		curPos = startPos;	
		slider.css( 'left', startPos );
		
		slides.eq( 1 ).clone().appendTo( slider );
		slides.eq( 2 ).clone().appendTo( slider );
		
		prev.click(function(e){
			e.preventDefault();
			if( !moving ){
				moving = true;
				moveToNext();
			}
		});
		
		function moveToNext(){
			selected--;
			
			if( selected == 0 ){
				if( slides.eq( -1 ).hasClass('noImg') ) {
					curPos += 171;
				}
				else {
					curPos += 293;
				}
				selected = slides.length;
			}
			else {
				if( slides.eq( selected-1 ).hasClass('noImg') ){
					curPos += 171;
				}
				else {
					curPos += 293;
				}
			}
			
			setIndicator();
			
			slider.animate( {'left': curPos}, function(){
				moving = false;
				if( curPos == 0 ){
					curPos = endPt;
					slider.css('left', curPos);
				}
			});
			
		}
		
		next.click(function(e){
			e.preventDefault();
			if( !moving ){
				moving = true;
				moveToPrev();
			}
		});
		
		function moveToPrev(){
			
			if( selected == count ){
				if( slides.eq( selected-1 ).hasClass('noImg') ) {
					curPos -= 171;
				}
				else {
					curPos -= 293;
				}
				selected = 1;
			}
			else {
				if( slides.eq( selected-1 ).hasClass('noImg') ){
					curPos -= 171;
				}
				else {
					curPos -= 293;
				}
				selected++;
			}
			
			setIndicator();
			
			slider.animate( {'left': curPos}, function(){
				moving = false;
				if( curPos == endPtPlus ){
					curPos = startPos;
					slider.css('left', curPos);
				}
			});
			
		}
		
		function setIndicator(){
			
			indicators.removeClass('selected');
			indicators.eq( selected-1 ).addClass('selected');
			
		}
		
		indicators.click(function(e){
			e.preventDefault();
			
			if( !moving ){
				moving = true;
				var selectedIndex = $.inArray(this, indicators);
				var newDist = slideRep['listItem_' + selectedIndex].marker;
				
				curPos = newDist;
				selected = selectedIndex + 1;
				setIndicator();
				
				slider.animate( {'left': newDist}, function(){
					moving = false;
				});
			}
			
		});
	}
	else {
		wrap.find('ul.controls').css('display','none');
    }

    // hide for ie...
    slider.css('visibility', 'visible');
}

var global_timer = true;

(function ($) {
	$.fn.extend({
		slideShow: function( opt ){
			return this.each(function() {
				
				var $self = $(this),
						contentArea = opt.contentArea,
						prev = opt.prev || $self.find('a.prev'),
						next = opt.next || $self.find('a.next'),
						indicators = opt.indicators || $self.find('.controls a').not('a.prev, a.next'),
						slider = opt.slider || $self.find('.slider'),
						slides = opt.slides || $('div.slide'),
						content = opt.content || $('div.slideContent'),
						onTimer = opt.onTimer || false,
						interval = opt.interval || 5000,
						timer,
						selected = 0,
						dis = $(slides[0]).width() || 0,
						moving = false;
			
                slides.eq(0).css('left','0');
				if( slides.length > 1 ){
					
					
					indicators.eq( 0 ).addClass('selected');
					
					function startTimer(){
						if( opt.onTimer ){
							clearInterval( timer );
							timer = setInterval(function(){
								if( global_timer ){	
									moveToPrev();
								}
							}, interval); 
						}
					}
					
					prev.click(function(e){
						global_timer = false;
						e.preventDefault();
						if( !moving ){
							clearInterval( timer );
							moveToNext();
						}
					});
					
					function moveToNext(){
						stopVideo();
						moving = true;
						
						slides.eq(selected).animate({'left': dis});
						
                        selected--;
						
						if( selected < 0 ){
							selected = slides.length - 1;
						}
						
						slides.eq(selected).css('left',-dis).animate({'left': 0}, function(){
							moving = false;
							startTimer();
						});
						
						swapContent();
						
					}
					
					next.click(function(e){
						global_timer = false;
						e.preventDefault();
						if( !moving ){
							clearInterval( timer );
							moveToPrev();
						}
					});
					
					function moveToPrev(){
						stopVideo();
						moving = true;
						
						slides.eq(selected).animate({'left': -dis});

                        selected++;
						
						if( selected == slides.length ){
							selected = 0;
						}
						
						slides.eq(selected).css('left',dis).animate({'left': 0}, function(){
							moving = false;
							startTimer();
						});
						
						swapContent();
						
					}
					
					indicators.click(function(e){
						
						global_timer = false;
						
						if( !moving ){
							stopVideo();
							moving = true;
							clearInterval( timer );
							e.preventDefault();
							
                            if( $.inArray(this, indicators) == selected ){
								moving = false;
								return false;
							}
							
							if ( $.inArray(this, indicators) != selected ){
							
								if( $.inArray(this, indicators) <  selected ){
								
									slides.eq(selected).animate({'left': dis});
									selected = $.inArray( this, indicators );
									
									swapContent();
									
									slides.eq(selected).css('left',-dis).animate({'left': 0}, function(){
										moving = false;
										startTimer();
									});
								
								}
								else {

                                    slides.eq(selected).animate({'left': -dis});
									selected = $.inArray( this, indicators );
									
									swapContent();
									
									slides.eq(selected).css('left',dis).animate({'left': 0}, function(){
										moving = false;
										startTimer();
									});
								
								}
							
							}
							
						}
						
					});
					
					function swapContent(){
						indicators.removeClass('selected').eq( selected ).addClass('selected');
					
						contentArea.stop(true, true).animate({'opacity': 0}, function(){
								contentArea.html( content.eq( selected ).html() );
								contentArea.animate({'opacity': 1});
							});
					}
					
					if( opt.onTimer ){
						startTimer();
					}
					
					function stopVideo(){
						var vids = $('div.jwPlayer_container');
						vids.each(function(i){
							if(jwplayer(i)){
								jwplayer(i).stop();
							}
						});
					}
					
				}
				
			});
		}
	});
}(jQuery));

function showHide(){
	var wrap = $('div.showHideWrap'),
			h3 = wrap.find('div.item > h3 > a'),
			detail = wrap.find('div.detail'),
			item = wrap.find('div.item');

	detail.css('display','none');

	h3.click(function (e) {
	    e.preventDefault();
	    item.not($(this).parents('div.item')).removeClass('open');
	    $(this).parents('div.item').toggleClass('open');
	});
	
}

function orangePopup(){
	var popup = $('#orangePopup'),
			a = $('#actionButton'),
            height = 88;
			//height = popup.height() - 28;
	
	if( document.getElementById('miniBannerSlideShow') ){
		
		popup.css('bottom', -height);
		
		a.click(function(e){
			e.preventDefault();
			
			if( popup.css('bottom') == '0px' ){
				popup.animate({'bottom': -height});
			}
			else {	
				popup.animate({'bottom': 0});
			}
	
		});
	
	}
	if( document.getElementById('pageHeader') ){
		
		popup.find('.body').css('height', 0);
		
		a.click(function(e){
			e.preventDefault();
			
			if( popup.find('.body').css('height') == '0px' ){
				popup.find('.body').animate({'height': height});
			}
			else {	
				popup.find('.body').animate({'height': 0});
			}
	
		});
		
	}
	
}

function thisMonthEvents(){
	var link = $('#subRight div.viewAll a.thisMonth'),
			cal = $('#eventCal'),
			close = cal.find('a.close');
	
	link.click(function(e){
		e.preventDefault();
		
		if( cal.css('display') == 'block' ){
			cal.css('display','none');
		}
		else {
			cal.css('display','block');
		}
	});
	
	close.click(function(e){
		e.preventDefault();
		cal.css('display','none');
	});
	
}

function lowerTabNav(){
	var tabNav = $('#lowerTabNav'),
			li = tabNav.find('> ul > li'),
			a = tabNav.find('> ul > li > a').not(':last'),
			a_last = tabNav.find('> ul > li > a:last'),
			aCnt = a.length,
			popup = $('#lowerTabNavPopup'),
			popupHover = $('#lowerTabNavHover'),
			wrap = popup.find('div.wrapper'),
			close, indexed, waiter;
	
	tabNav.find('div.contentWrap').append('<a class="close" href="#" title="">Close</a>');
	
	a_last.hover(
		function(){
			
			clearTimeout( waiter );
			
			li.removeClass('selected');
			popup.css('display','none');
			tabNav[0].className = '';
			wrap.html('');
			
			popupHover.css('display','block');
			
			$(this).parent('li').addClass('selected');
			tabNav.addClass('selected4 opened');
		},
		function(){
		    waiter = setTimeout(function () {
		        a_last.parent('li').removeClass('selected');
				popupHover.css('display','none');
				tabNav[0].className = '';
			}, 50);
		}
	);
	
	popupHover.hover(
		function(){
			clearTimeout( waiter );
		},
		function(){
			waiter = setTimeout(function(){
				popupHover.css('display','none');
				tabNav[0].className = '';
			}, 50);
		}
	);
	
	//a_last.click(function(e){e.preventDefault();});
	
	function setClose(){
	
		close = $('#lowerTabNavPopup a.close');
	
		close.click(function(e){
			e.preventDefault();
			li.removeClass('selected');
			popup.css('display','none');
			tabNav[0].className = '';
			wrap.html('');
		});
		
	}
	
	a.click(function(e){
		e.preventDefault();
		
		li.removeClass('selected');
		popup[0].className = '';
		
		indexed = $.inArray(this, a);
		
		if( tabNav.hasClass('selected' + ( indexed + 1 ) ) ){
			popup.css('display','none');
			tabNav[0].className = '';
			wrap.html('');
		}
		else {
		
			popup.css('display','block');
			$(this).parent().addClass('selected');
			
			tabNav[0].className = '';
			
			tabNav.addClass('opened selected' + ( indexed + 1 ) );
			
			wrap.html( $(this).parent().find('div.popupContent').html() );
			
			setClose();
			
		}
		
	});
	
}

function setEventRoller() {
    var a = $('ul.taggedListing li a'),
	    liNews = $('ul.taggedItems li'),
	    liLength = liNews.length,
	    interval = 5000,
	    cnt = 0,
	    timer;

    a.hover(function (e) {
        if (timer) {
            clearInterval(timer);
        }

        e.preventDefault();

        a.removeClass('selected');
        $(this).addClass('selected');
        liNews.css('display', 'none');
        liNews.eq($.inArray(this, a)).css('display', 'block');
    });

    if (liLength > 1) {
        timer = setInterval(function () {

            a.removeClass('selected');
            a.eq(cnt).addClass('selected');

            liNews.css('display', 'none');
            liNews.eq(cnt).css('display', 'block');

            cnt++;

            if (cnt == liLength) {
                cnt = 0;
            }

        }, interval);
    }

}

function setMaskedSlider(){
	
	if( $('.youtubeChannel #maskedSlider')[0] ){
	
		var maskedSlider = $('#maskedSlider'),
			ul = maskedSlider.find('ul'),
			li = ul.find('li'),
			img = li.find('img'),
			indicators = $('div.channelHeader div.indicators a'),
			count = li.length,
			prev = maskedSlider.find('a.prev'),
			next = maskedSlider.find('a.next'),
			showing = 1, pos = -324,
			motion = false,
			maxPos = ((count + 1) * 153) + 18,
			posHolder = [], 
			tempPos = -324;
		
		if( count > 0 ){
		    
            maskedSlider.css('visibility','hidden');
            	
			indicators.each(function(i){
				
				posHolder.push( tempPos );
				tempPos -= 153;
				
			});
			
			indicators.click(function(e){
				e.preventDefault();
				
				pos = posHolder[ $.inArray( this, indicators ) ];
				
				indicators.removeClass('selected');
				$( this ).addClass('selected');
				
                showing = $.inArray(this, indicators) + 1;

				ul.animate({left: pos}, function(){
					motion = false;
				});
				
			});
			
			li.eq( count-1 ).clone().prependTo(ul);
			li.eq( count-2 ).clone().prependTo(ul);
			
			li.eq( 0 ).clone().appendTo(ul);
			li.eq( 1 ).clone().appendTo(ul);
			
			function nextSlide(){
				
				if( !motion ){
				
					motion = true;
					pos = pos - 153;
					
					if( pos == -(maxPos+153) ){
							showing = 1;
					}
					else {
						showing++;
					}
					
					indicators.removeClass('selected');
					indicators.eq( showing-1 ).addClass('selected');
					
					ul.animate({left: pos}, function(){
						if( pos == -(maxPos+153) ){
							pos = -324;
							ul.css('left', pos);
						}
						motion = false;
					});
				
				}

			}
			
			function prevSlide(){
				
				if( !motion ){
					
					motion = true;
					pos = pos + 153;
					
					if( pos == -171 ){
							showing = count;
					}
					else {
						showing--;
					}
					
					indicators.removeClass('selected');
					indicators.eq( showing-1 ).addClass('selected');
					
					ul.animate({left: pos}, function(){
						if( pos == -171 ){
							pos = -maxPos;
							ul.css('left', pos);
						}
						motion = false;
					});
					
				}

			}
		
			next.click(function(e){
				e.preventDefault();
				nextSlide();
			});
			
			prev.click(function(e){
				e.preventDefault();
				prevSlide();
			});

            maskedSlider.css('visibility', 'visible');

		}

	}
	else {
	
		var maskedSlider = $('#maskedSlider'),
			ul = maskedSlider.find('ul'),
			li = ul.find('li'),
			img = li.find('img'),
			count = li.length,
			indicators = $('div.fullIndicators a'),
			prev = maskedSlider.find('a.prev'),
			next = maskedSlider.find('a.next'),
			showing = 1, pos = -593,
			motion = false,
			maxPos = ((count + 1) * 282) + 29,
			posHolder = [],
			tempPos = -593,
            timer,
            timeFrame = 5000;
		
		if( count > 0 ){
			
            maskedSlider.css('visibility','hidden');

			indicators.each(function(i){
				
				posHolder.push( tempPos );
				tempPos -= 282;
				
			});
			
			indicators.click(function(e){
				e.preventDefault();
				clearInterval(timer);
				pos = posHolder[ $.inArray( this, indicators ) ];
				
				indicators.removeClass('selected');
				$( this ).addClass('selected');
				
                showing = $.inArray(this, indicators) + 1;

				ul.animate({left: pos}, function(){
					motion = false;
				});
				
			});
			
			li.eq(showing).find('img').css('opacity', 1);
			
			li.eq( count-1 ).clone().prependTo(ul);
			li.eq( count-2 ).clone().prependTo(ul);
			
			li.eq( 0 ).clone().appendTo(ul);
			li.eq( 1 ).clone().appendTo(ul);

			timer = setInterval(function () {
			    nextSlideBig();
			}, timeFrame);

			function nextSlideBig(){
				
				if( !motion ){
				
					motion = true;
					pos = pos - 282;
					
					if( pos == -(maxPos+282) ){
						showing = 1;
					}
					else {
						showing++;
					}
					
					indicators.removeClass('selected');
					indicators.eq( showing-1 ).addClass('selected');
										
					ul.animate({left: pos}, function(){
						if( pos == -(maxPos+282) ){
							pos = -593;
							ul.css('left', pos);
						}
						motion = false;
					});
				
				}
			
			}

			function prevSlideBig() {
				
				if( !motion ){
					
					motion = true;
					pos = pos + 282;
				
					if( pos == -311 ){
						showing = count;
					}
					else {
						showing--;
					}
					
					indicators.removeClass('selected');
					indicators.eq( showing-1 ).addClass('selected');
		
					ul.animate({left: pos}, function(){
						if( pos == -311 ){
							pos = -maxPos;
							ul.css('left', pos);
						}
						motion = false;
					});
					
				}

			}

			next.click(function (e) {
			    clearInterval(timer);
			    e.preventDefault();
			    nextSlideBig();
			});
			
			prev.click(function(e){
			    clearInterval(timer);
                e.preventDefault();
				prevSlideBig();
			});

            maskedSlider.css('visibility', 'visible');

		}
	}
}

function setPrimaryNav(){
	
	$('#primaryNav').append('<div id="hoverShadow"></div>');
	
	var li = $('#primaryNav > ul > li'),
			count = li.length,
			shadow = $('#hoverShadow'),
			timer,
			a = li.find('>a');
	
	/* Height checker for two lined menu items
	a.each(function(){
		if( $(this).height() > 39 ){
			$(this).addClass('doubleLine').height('39px');
		}
		else {
			$(this).height('39px');
		}
	});
	*/
	
	li.hover(
		function(){
			var self = this;
			timer = setTimeout(function(){
				
				$( self ).addClass('hover');
				
				shadow.css({
					'left': ($.inArray(self, li) + 1) * 160,
					'display': 'block'
				});
			
				if( $.inArray(self, li) == (count - 1) ){
					$( self ).find('.bottomShadow').addClass('lastHovered');
				}
				else {
					$( self ).find('.bottomShadow').removeClass('lastHovered');
				}
			
			}, 200);
		}, 
		function(){
			clearTimeout(timer);
			$( this ).removeClass('hover');
			shadow.css('display','none');
		}
	);
	
}
/*

Created jQuery Plugin to handle this. Keeping code just in case for now.

function setHomeSlideShow(){
	var slideShow = $('#slideShow'),
		descBox = $('#slideShowDesc'),
		slides = slideShow.find('div.slide'),
		descs = slides.find('div.slideDetails'),
		controls = slideShow.find('div.controls'),
		prev = controls.find('a.prev'),
		next = controls.find('a.next'),
		slideCount = slides.length,
		currentSlide = 0, timer;
		
	if( slideCount > 1 ){
		
		controls.css('display','block');
		slides.css('left', -688);
		slides.eq(0).css('left', 0);
		
		function start(){
			clearInterval(timer);
			timer = setInterval(function(){
				nextSlide();
			}, 10000);
		}
		
		start();
		
		prev.click(function(e){
			e.preventDefault();
			clearInterval(timer);
			prevSlide();
		});
		
		next.click(function(e){
			e.preventDefault();
			clearInterval(timer);
			nextSlide();
		});
		
		function nextSlide(){
			
			currentSlide++;
			
			if( currentSlide == slideCount ){
				currentSlide = 0;
			}
			
			descBox.animate({'opacity': 0}, 300, function(){
				descBox.html( descs.eq(currentSlide) );
				$(this).animate({'opacity': 1}, 300, function(){});
			});
			
			slides.eq(currentSlide).css('left',-688).animate({left: 0}, 600, function(){
				slides.not( this ).css({
					'left': -688,
					'z-index': 3
				});	
				$(this).css('z-index',1);
			});
		
			start();
		
		}
		
		function prevSlide(){
			
			currentSlide--;
			
			if( currentSlide == -1 ){
				currentSlide = (slideCount-1);
			}
			
			descBox.animate({'opacity': 0}, 300, function(){
				descBox.html( descs.eq(currentSlide) );
				$(this).animate({'opacity': 1}, 300, function(){});
			});
			
			slides.eq(currentSlide).css('left',688).animate({left: 0}, 600, function(){
				slides.not( this ).css({
					'left': -688,
					'z-index': 3
				});	
				$(this).css('z-index',1);
			});
		
			start();
		
		}
		
	}
	
}
*/
function utilityTabs(){
	var li = $('#utilityTabs li'),
		navLinks = $('#utilityTabs li a'),
		contentWrap = $('#utilityTabContent'),
		content =  contentWrap.find('div.tabContentWrap'),
		close = contentWrap.find('a.close'),
		open = false, moving = false, eqVal;
	
	navLinks.click(function(e){
		e.preventDefault();
		
		if( !moving ){
		
			eqVal = $.inArray(this, navLinks);
			
			li.removeClass('open');
			li.eq( eqVal ).addClass('open');
			
			if( !open ){
				content.eq( eqVal ).css('display','block');
				moving = true;
				contentWrap.animate({height: 110}, function(){
					open = true;
					moving = false;
				});
			}
			
			if( open ){
			
				if( content.eq( eqVal ).css('display') == 'block' ){
					moving = true;
					contentWrap.animate({height: 0}, function(){
						content.eq( eqVal ).css('display','none');
						li.removeClass('open');
						open = false;
						moving = false;
					});
				}
				else {
					moving = true;
					contentWrap.animate({height: 0}, function(){
						content.css('display','none');
						content.eq( eqVal ).css('display','block');
						open = false;
						contentWrap.animate({height: 110}, function(){
							open = true;
							moving = false;
						});
						
					});
				}
	
			}
		
		}
		
	});
	
	close.click(function(e){
		e.preventDefault();
		moving = true;
		contentWrap.animate({height: 0}, function(){
			content.css('display','none');
			li.removeClass('open');
			open = false;
			moving = false;
		});
	});
		
	li.hover(function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});
}

function setSearch(){
    var input = $('#searchInputWrap input'),
        a = $('#searchInputWrap a'),
		wrap = $('#searchWrap'), 
		li = wrap.find('ul li'),
		keyingOn = false, 
		keyedOn;

	input.clearOnFocus();

	a.click(function () {
	    if (input.val() == 'Search Keywords' || input.val().trim() == '') {
	        return false;
	    }
	});

	input.bind('keypress', function(e){
		wrap.addClass('active');
		/*
		var code = (e.keyCode ? e.keyCode : e.which);
		
		// down arrow
		if( code == 40 ){
		if( !keyingOn ){
		keyingOn = true;
		keyedOn = -1;
		}
		li.eq(keyedOn).removeClass('on');
		if (keyedOn >= 4 ){
		keyedOn = -1;
		}
		keyedOn++;
		li.eq(keyedOn).addClass('on');
		}
		
		// up arrow
		if( code == 38 ){
		if( !keyingOn ){
		keyingOn = true;
		keyedOn = 5;
		}
		li.eq(keyedOn).removeClass('on');
		if (keyedOn < 1 ){
		keyedOn = 5;
		}
		keyedOn--;
		li.eq(keyedOn).addClass('on');
		}
		
		enter key
		if( code == 13 ){
		if( keyingOn ){
		input.val( li.eq(keyedOn).find('a').html() );
		}
		}
		*/
	});

    var sticky = false;

    $('body').click(function(){
		if(sticky){
			wrap.removeClass('active');
		    li.removeClass('on');
		    sticky = false;
		}
	});	
    
    input.focusin(function(){
		sticky = true;
	});

	input.focusin(function(){
		sticky = true;
	});
	
	input.click(function(e){
		e.stopPropagation();
	})
}

function prepCollegeNav(){
	var wrap = $('.collegeNav .wrap'),
		ul = wrap.find('>ul'),
		li = ul.find('>li'),
		liSelected = ul.find('>li.selected'), 
		header = $('#popoutWrap .header'),
		selected, popout, popoutWrap, timer;
	
	if( liSelected.length > 0 ){
		wrap.append('<div class="shadow leftShadowSelected"></div><div class="shadow rightShadowSelected"></div>');
	}
	selected = $.inArray(liSelected[0], li) + 1;
	wrap.addClass('menu' + selected);
	
	wrap.append('<div id="popout"><div id="popoutWrap"></div></div>');
	
	popout = $('#popout'),
	popoutWrap = $('#popoutWrap');
	
	li.bind('mouseover', function(){
		if( this.className.match('selected') ){
			return;
        }

        popout.css('display', 'none');
        popoutWrap.html('');
        popoutWrap[0].className = '';
        popout[0].className = '';

		var self = this;
		clearTimeout(timer);
		timer = setTimeout(function(){
		//	$(self).addClass('hover');
			popoutWrap.html( $(self).find('.popoutDetails').html() );
			popoutWrap.addClass( $(self).find('>a')[0].className );
			popout.addClass( 'menu' + ($.inArray(self, li) + 1) ).css('display','block');
		//	Cufon.replace($('div#popoutWrap div.header'), {fontFamily: 'Avenir'});
		}, 100);
	});
	
	li.bind('mouseleave', function(){
		clearTimeout(timer);
	});
	
	popout.bind('mouseleave', function(){
		clearTimeout(timer);
		$(this).css('display','none');
		popoutWrap.html('');
		popoutWrap[0].className = '';
		popout[0].className = '';
	});
	
	$('body').bind('mouseleave', function(){
		clearTimeout(timer);
		popout.css('display','none');
		popoutWrap.html('');
		popoutWrap[0].className = '';
		popout[0].className = '';
	});
	
	header.live('click', function(e){
		e.preventDefault();
		window.location = $(this).parent().find('a.visitLink')[0].href;
	});
	
}

// tabNav plugin: call on wrapper class/id
// $('.repeatableTabs').tabNav();
(function ($) {
    $.fn.extend({
        tabNav: function(){
            return this.each(function () {
							var a = $(this).find('ul.tabNav li a'),
							box = $(this).find('.tabContent');
							
							a.click(function(e){
								e.preventDefault();
								
								a.removeClass('selected');
								$(this).addClass('selected');
								
								box.removeClass('selected');
								box.eq( $.inArray(this, a) ).addClass('selected');
								
							});	
					
            });
        }
    });
})(jQuery);

// jquery plug in to clear input/textareas on focus
// just add class="clearOnFocus" and call $('.clearOnFocus').clearOnFocus(); when DOM ready
(function ($) {
    $.fn.extend({
        clearOnFocus: function () {
            return this.each(function () {
                var obj = $(this);
                if (obj.attr('type') == 'text') {
                    obj.focusin(
						function () {
						    if (this.value == this.defaultValue) {
						        this.value = '';
						    }
						}
					);
                    obj.focusout(function () {
                        if (this.value == '' || $.trim(this.value) == '') {
                            this.value = this.defaultValue;
                        }
                    }
					);
                }
                if (obj[0].tagName == 'TEXTAREA') {
                    var tempVal = obj.val();
                    obj.focusin(
						function () {
						    if (obj.val() == tempVal) {
						        obj.val('');
						    }
						}
					);
                    obj.focusout(
						function () {
						    if (obj.val() == '' || $.trim(obj.val()) == '') {
						        obj.val(tempVal);
						    }
						}
					);
                }
            });
        }
    });
})(jQuery);

var modal = {};

modal.init = function( settings ){
	$('body').append('<div id="overlay"></div><div id="modal"></div>');
	
	if( settings ){
		$('#modal').css({
			width: settings.width,
			height: settings.height,
			marginLeft: -( settings.width / 2 )
		});
	}
	
	$('#overlay').live('click',function(){
		modal.close();
	});
	
};

modal.close = function(){
	$('#overlay').hide();
	$('#modal').hide().html('');
};

// content is the content wanted in the modal, true is showing a close button for modal
modal.open = function( content, withClosebutton ){
	$('#overlay').show();
	if( withClosebutton ){
		$('#modal').show().html( content + '<a class="closeModal" href="#" title="Close">Close</a>');
		modal.setClose();
	}
	else {
		$('#modal').show().html( content );
	}
	
	$('#modal .header').css( 'width', $('#modal .header .title').width() + 60 );
	
};

modal.setClose = function(){
	$('a.closeModal').live('click', function(e){
		e.preventDefault();
		modal.close();
	});
};

// enterKey plugin
(function($) {

$.fn.enterKey = function(selector) {
    return this.each(function() {
        $(this).keypress(function(e) {
            if(e.which == 13) {
                $(selector).each(function() {
                    if(this.tagName == 'A') {
                        e.preventDefault();
                        if(!this.onclick || this.onclick()) {
                            var href = $(this).attr('href');
                            if(href.indexOf('javascript') == 0) {
                                Function(unescape(this.href.substring(11)))();
                            }
                            else {
                                window.location = href;
                            }
                        }
                    }
                    else if(this.tagName == 'INPUT' || this.tagName == 'BUTTON') {
                        e.preventDefault();
                        this.click();
                    }
                    else if(this.tagName == 'FORM') {
                        this.submit();
                    }
                });
            }
        });
    });
};

})(jQuery);

