//*****Replace align attribute with class**************************************************//
function replaceAlign() {
  if (!document.getElementsByTagName('img')) return false;
  $('img[align="left"]').addClass('left').removeAttr('align');
  $('img[align="right"]').addClass('right').removeAttr('align');
  $('img[align="middle"]').addClass('middle').removeAttr('align');
}
//*****Replace target attribute with class**************************************************//
function replaceTarget() {
  if (!document.getElementsByTagName('a')) return false;
  $('a[target]').addClass('newwindow').removeAttr('target');
  $('a[href$="/communitylife/calendar/"],a[href$="/quicklinks/bookstore/"],a[href$="/quicklinks/calendar/"],a[href$="/admissions/admissionsprocess/applynow/"]').addClass('newwindow');
}
//*****The following function make it possible to have web standard popups**************************************************//
function strictNewWindow() {
  if (!document.getElementsByTagName('a')) return false;
  $('a.newwindow').click(function() {
    window.open($(this).attr('href'));
    return false;
  });
}

$.slider = {}
$.slider.stopped = "false";
$.slider.wait = "false";
//*****slide function to toggle the header content on the home page******************************//
function sliderControls(){
	$('ul#rotatingBannerImages li:eq(0)').show();
	$('#rotatingBannerNavigation li a:eq(0)').addClass('selected');
	
	$('#rotatingBannerNavigation li a').click(function() {
	  var temp = $('#rotatingBannerNavigation li a').index($(this));
		$('#rotatingBannerNavigation li a').removeClass('selected');
		$(this).addClass('selected');
		$('ul#rotatingBannerImages li').hide();
		$('ul#rotatingBannerImages li:eq(' + temp + ')').fadeIn('slow');
		return false;
  });

	$('#rotatingBanner').mouseenter(function() {
		$.slider.stopped = "false";
		//stop anim
		$("ul#rotatingBannerImages li").stop(true, true);
		$("#rotatingBannerNavigation li a").stop(true, true);
		$.slider.stopped = "true";
	});
	
	$('#rotatingBanner').mouseleave(function() {
			//start anim
			$.slider.stopped = "false";
			$.slider.wait = "true";
	});
	
	if($('#rotatingBannerNavigation li a').length > 1){
		setTimeout('rotate();', 6000);
	}
}
function rotate() {	
	if($.slider.stopped == "false"){
		$.slider.wait = "false";
		var slider_size = $("#rotatingBannerNavigation li a").length - 1;
		var temp = $("#rotatingBannerNavigation li a").index($("#rotatingBannerNavigation li a.selected"));
		var next = temp+=1;
		
		if(next <= slider_size){
			$('ul#rotatingBannerImages li').hide();
			$('#rotatingBannerNavigation li a').removeClass('selected');
			$('ul#rotatingBannerImages li:eq(' + next + ')').fadeIn('slow');
			$('#rotatingBannerNavigation li a:eq(' + next + ')').addClass('selected');
		}
		if(next > slider_size){
			$('ul#rotatingBannerImages li').hide();
			$('#rotatingBannerNavigation li a').removeClass('selected');
			$('ul#rotatingBannerImages li:eq(0)').fadeIn('slow');
			$('#rotatingBannerNavigation li a:eq(0)').addClass('selected');
		}
	}
	setTimeout('rotate();', 6000);
}
//*****jQuery clear value from july 21st 2009 comment on http://www.joesak.com/2008/11/19/a-jquery-function-to-auto-fill-input-fields-and-clear-them-on-click*****//
function clearDefaultValue() {
  $(':input').focus(function() {
    if($(this).val() == $(this).attr('title')) {
      $(this).val('');
    }
  }).blur(function() {
    if($(this).val() == '') {
      $(this).val($(this).attr('title'));
    }
  });
  $('#btnNext').click(function() {
	  $(':input').each(function (i) {
      if($(this).val() == $(this).attr('title')) {
        $(this).val('');
      }
    });
  });
}
//*****IE rounded corners from http://dillerdesign.com/experiment/DD_roundies/**************************************************//
function rounded() {
  DD_roundies.addRule('#socialLinks ul li ul', '0 6px 6px 6px');
}
//**************************************************Toggle FAQ Question/Answer**********************************************************//
function toggleFaq() {
  if (!$('ul.toggle').length > 0) return false;
	$('ul.toggle h3').addClass('inactive');
	$('ul.toggle div.toggle').hide();
  $('ul.toggle h3').click(function () {
		$(this).toggleClass('active');
		$(this).toggleClass('inactive');
    $($(this).next('div.toggle')).slideToggle();
  });
}
//********************************Reveal/Toggle on click*********************************//
function revealCopy() {
 $('div.toggle').hide();
 $('.reveal').addClass('inactive');
 $('.revealCopyWrap .reveal').click(function () {
 $(this).toggleClass('inactive');
 $(this).toggleClass('active');
 $(this).parent().find('div.toggle').slideToggle();
 });
}
//*****Monthly Calendar Items**************************************************//
function monthlyCalendar() {
  if (!$.events) return false;
  var fullSourceList = $.events.fullSources;
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();
  $('#calendar').fullCalendar( {
	  aspectRatio: 1.20,
    titleFormat: {
		  month: 'MMM yyyy'
	  },
		columnFormat: {
			month: 'dddd'
		},
		header: {
      left: 'prevYear,prev,title,next,nextYear',
      center: '',
      right: ''
    },
		buttonText: {
			prev: '&nbsp;&lt;&nbsp;',
			next: '&nbsp;&gt;&nbsp;',
			prevYear: '&nbsp;&lt;&lt;&nbsp;', // << made from triangles
   		nextYear: '&nbsp;&gt;&gt;&nbsp;' // >> made from triangles
		},
    editable: false,
    eventSources: $.events.sources,
    loading: function(isLoading, view) {
      if (!isLoading){
        $('.fc-event').each(function(i) {
          var boxSize = 113;
          var leftOffset = 4;
          var rightOffset = 5;
          var width = $(this).width()
          var position = $(this).position();
          var size = [107,108];
          if (size.indexOf(width % boxSize) != -1 && position.left != 0) {
            width = $(this).width(width - rightOffset + 'px');
          } else if (width % boxSize == 3 && position.left == 0) {
            $(this).css({left: leftOffset + 'px'});
            width = $(this).width(width - rightOffset - leftOffset + 'px');
          } else if (position.left == 0) {
            $(this).css({left: leftOffset + 'px'});
            $(this).width(width - leftOffset + 'px');
          }
        });
      }
    }
  });
		
	$('.fc-event a').live("click", function(e){
	  //use $(this) to grab/pass info from the <a> attributes such as rel, title, or just make one up with jQuery
	  url = $(this).attr('href');
	  cal = $(this).parent('div').attr('class').match(/cal\d+/gi);
		$.prettyPhoto.open($(this).attr('href')+'?cal='+cal[0]+'&iframe=true&width=550&height=300','','');
		e.preventDefault();
	});
		
	$('a#subscribeBtn').live("click", function(e){
	  //use $(this) to grab/pass info from the <a> attributes such as rel, title, or just make one up with jQuery
		$.prettyPhoto.open('ical/?iframe=true&width=550&height=447','','');
		e.preventDefault();
	});	
					
	$('#calendarList li a').click(function(e){
		if($(this).hasClass('strike')){
		  $(this).removeClass('strike');
		  var calType = "." + $(this).attr('rel') + ".fc-event";
      var calID = $(this).attr('rel').slice(3);
      $('#calendar').fullCalendar('addEventSource',fullSourceList[calID - 1]);        
		}	else{
		  $(this).addClass('strike');
		  var calType = "." + $(this).attr('rel') + ".fc-event";
      var calID = $(this).attr('rel').slice(3);
      $('#calendar').fullCalendar('removeEventSource',fullSourceList[calID - 1]);
		  
			//$('td.fc-leftmost .fc-day-content div').css('height', 'auto');
		}
		e.preventDefault();
	});
		
	$('a#closeCalendar').click(function(e){
	  window.close();
	  e.preventDefault();
	});
		
	function setDate() {
    var d = $('#calendar').fullCalendar('getDate');
    var year = d.getFullYear();
    var month = d.getMonth()+1;
    $('#printBtn').attr('href','print/?year=' + year + '&month=' + month);
    $('#listLink').attr('href','list/' + year + '/' + month + '/');
	}
		
	$('#printBtn').click(function(e){
	  if($('#calendarList li a.strike').length != 0){
	    var id_array = new Array(); 
	    $('#calendarList li a:not(.strike)').each(function(){
        var calID = $(this).attr('rel').slice(3);
	      id_array.push(calID);
      });
      var href = $('#printBtn').attr('href');
	    if(href.indexOf('?') <= 0){
	      $('#printBtn').attr('href', href + '?calendars=' + id_array.join(','));
	    }
	    else{
	      $('#printBtn').attr('href', href + '&calendars=' + id_array.join(','));
	    }
	  }
	});
    
  $('#listLink').click(function(e){
	  if($('#calendarList li a.strike').length != 0){
	    var id_array = new Array(); 
	    $('#calendarList li a:not(.strike)').each(function(){
        var calID = $(this).attr('id').slice(3);
	      id_array.push(calID);
      });
      var href = $('#listLink').attr('href');
	    if(href.indexOf('?') <= 0){
	      $('#listLink').attr('href', href + '?calendars=' + id_array.join(','));
	    }
	    else{
	      $('#listLink').attr('href', href + '&calendars=' + id_array.join(','));
	    }
	  }
	});
		
	$('.fc-button-prevYear, .fc-button-prev, .fc-button-next, .fc-button-nextYear').click(function(e) {
	  setDate();
	  e.preventDefault();
  });
    
  d = $('#calendar').fullCalendar('getDate');
  if ($.date.month == '') {
    var month = d.getMonth();
  } else {
    var month = $.date.month;
  }
  if ($.date.year == '') {
    var year = d.getFullYear();
  } else {
   var year = $.date.year; 
  }
	$('#calendar').fullCalendar('gotoDate',year,month);
  setDate();
  
  //fire modal when linked from other page
  var url = location.href;  // entire url including querystring - also: window.location.href;
  var baseURL = url.substring(0, url.indexOf('?event', 14));
  var hashes = url.slice(url.indexOf('?') + 1);
  var cal = url.slice(url.indexOf('?cal') + 1);
  if (baseURL != "") {
    var calClass = $('#' + cal).attr('class');
    $.prettyPhoto.open(hashes+'&cal='+calClass+'&iframe=true&width=560&height=320' ,'','');
  }
}
//*****List Calendar Items**************************************************//
function listCalendar() {
  if ($('body#listview.calendar').length < 1) return false;
  $('#calendarList li a').click(function(e){
	  if($(this).hasClass('strike')){
		  $(this).removeClass('strike');
		  var calType = "#listView ul#eventlist li p." + $(this).attr('rel');
		  $(calType).parent('li').fadeIn();
		}
		else{
		  $(this).addClass('strike');
		  var calType = "#listView ul#eventlist li p." + $(this).attr('rel');
		  $(calType).parent('li').fadeOut();
		}
		e.preventDefault();
  });
	
	function setDate() {
    var year = $.date.year;
    var month = $.date.month;
    $('#printBtn').attr('href','../../../../calendar/print/?year=' + year + '&month=' + month);
    $('#gridLink').attr('href','../../../../calendar/?month=' + month + '&year=' + year);
  }
      
	$('li.event p:not(.header)').live("click", function(e){
		//use $(this) to grab/pass info from the <a> attributes such as rel, title, or just make one up with jQuery
		//also grab info from FullCalendar using its API
		var cal = $(this).attr('class');
		var url = $(this).children('span').children('a').attr('href');
		url = url + '?cal=' + cal;
		$.prettyPhoto.open(url + '&iframe=true&width=550&height=300','','');
		e.preventDefault();
	});
		
	$('li.event p:not(.header)').each(function(){
	  var cal_id = $(this).attr('rel');
	  if(cal_id){
	    var cal_num = $('a#cal'+cal_id).attr('rel');
	    $(this).addClass(cal_num);
    }
	});
		
	$('a#subscribeBtn').live("click", function(e){
	  //use $(this) to grab/pass info from the <a> attributes such as rel, title, or just make one up with jQuery
		$.prettyPhoto.open('../../../ical/?iframe=true&width=550&height=447','','');
		e.preventDefault();
	});
    
  $('#printBtn').click(function(e){
	  if($('#calendarList li a.strike').length != 0){
	    var id_array = new Array(); 
	    $('#calendarList li a:not(.strike)').each(function(){
        var calID = $(this).attr('rel').slice(3);
	      id_array.push(calID);
      });
      var href = $('#printBtn').attr('href');
	    if(href.indexOf('?') <= 0){
	      $('#printBtn').attr('href', href + '?calendars=' + id_array.join(','));
	    }
	    else{
	      $('#printBtn').attr('href', href + '&calendars=' + id_array.join(','));
	    }
	  }
	});
  
  $('#gridLink').click(function(e){
	  if($('#calendarList li a.strike').length != 0){
	    var id_array = new Array(); 
	    $('#calendarList li a:not(.strike)').each(function(){
        var calID = $(this).attr('id').slice(3);
	      id_array.push(calID);
      });
      var href = $('#gridLink').attr('href');
	    if(href.indexOf('?') <= 0){
	      $('#gridLink').attr('href', href + '?calendars=' + id_array.join(','));
	    }
	    else{
	      $('#gridLink').attr('href', href + '&calendars=' + id_array.join(','));
	    }
	  }
	});
		
  $('a#closeCalendar').click(function(e){
    window.close();
    e.preventDefault();
  });
    
  $('.fc-button-prevYear, .fc-button-prev, .fc-button-next, .fc-button-nextYear').click(function(e) {
    if($('#calendarList li a.strike').length != 0){
      var id_array = new Array(); 
      $('#calendarList li a:not(.strike)').each(function(){
        var calID = $(this).attr('rel').slice(3);
        id_array.push(calID);
      });
      var href = $(this).attr('href');
      if(href.indexOf('?') <= 0){
        $(this).attr('href', href + '?calendars=' + id_array.join(','));
      }
      else{
        $(this).attr('href', href + '&calendars=' + id_array.join(','));
      }
    }
  });  
	setDate();
}
//****************************************************Modal Window Controls and animations*************************************//
function showModal(){
  $("a[rel^='prettyPhoto']").prettyPhoto();
  $("a[rel^='prettyPhoto']").each(function() {
    http://www.youtube.com/watch?v=dkcuwrIlCdU&amp;rel=0&amp;width=640&amp;height=385
    uTube = $(this).attr('href').split("=");//get the url of any prettyphoto link
    uTube = uTube[1].split("&", 1);//get the youtube video id number from the url
    $(this).attr("id",'#video-' + uTube[0]);
    var videoModal = document.location.toString();
    if (videoModal.match('#video-')) { // the URL contains an anchor
      videoModal = videoModal.split("#");
      $(this).trigger('click');
      pageTracker._trackPageview('/homepagevideo/' + videoModal[1] + '.html');
      return false;
    }
  });
  $("a[rel^='prettyPhoto']").click(function() {
    window.location.href = $(this).attr('id');
  });
}
//***********************Open Select option in new window on library page*******************//
function dbGo() {
 if (!document.getElementById('PopularDatabases')) return false;
 $('#PopularDatabases').change(function(){
 if ($('#PopularDatabases option:selected').val() != ''){
 window.open($('#PopularDatabases option:selected').val());
 }
 return false;
 })
}
//*****Add Class to various site elements***************************************************************************************//
function addClasses() {
  $('ul.videos li:nth-child(3n+1)').addClass('clear');
}
//*****Load all functions**************************************************//
$(document).ready(function(){
  replaceAlign();
  replaceTarget();
  strictNewWindow();
	sliderControls();
  clearDefaultValue();
  rounded();
  toggleFaq();
  monthlyCalendar();
  listCalendar();
	showModal();
	revealCopy();
	dbGo();
	//addClasses();
});


//**Manually open Select option in new window on library page--popup blocker workaround **//
$(document).ready(function dbGoAlt() {
	if (!document.getElementById('DatabaseGo') || !document.getElementById('PopularDatabases')) return false;
	$('#DatabaseGo').click(function(){
		if ($('#PopularDatabases option:selected').val() != ''){
			window.open($('#PopularDatabases option:selected').val());
		}
		return false;
	})
});




