﻿// --------------------------------------------------------
// -----  COPYRIGHT NOTICE                            -----
// -----  © Copyright 1995-2011 ZEI.  -----
// -----  All rights reserved.                        -----
// --------------------------------------------------------

// *********************************************
// * Document Ready Event
// *********************************************
$(document).ready(function(){
		
			// Setup Rollover Opacity
			hoverTrans(".hoverTrans");
			
			// Lightbox Setup
			$("a[rel='lightbox-pic']").colorbox();
			$("a[rel='lightbox-vid']").colorbox({iframe:true, innerWidth:640, innerHeight:390});
			$(".lightbox-vid").colorbox({iframe:true, innerWidth:640, innerHeight:390});
			$(".lightbox-web").colorbox({iframe:true, width:"80%", height:"80%"});
			
			// Specialist Rollover
			$("ul#content-specialist-list li a").append('<span class="hover"></span>').each(function () {
				var $span = $('> span.hover', this).css('opacity', 0);
				$(this).hover(function () {
			  		$span.stop().fadeTo(300, 1);
				}, function () {
					$span.stop().fadeTo(300, 0);
				});
			});
			
});

// *********************************************
// * Display Date
// *********************************************
function displayDate_Day(){
	var now = new Date();
	var curr_day = now.getDate();

	document.write(curr_day);
}
function displayDate_Month(){
	var months = new Array("January", "February", "March", 
	"April", "May", "June", "July", "August", "September", 
	"October", "November", "December");
	
	var now = new Date();
	var curr_month = now.getMonth();
	
	document.write(months[curr_month]);
}

function displayDate_Year(){
	var now = new Date();
	var curr_year = now.getFullYear();
	
	document.write(curr_year);
}

// *********************************************
// * Setup Rollover Opacity for selected objects
// *********************************************

function hoverTrans(Obj) {
	
	if (Obj.length !=0) {
	// Set Opacity of selected objects to 75%
	$(Obj).css("display","inline-block") // needed for IE
	$(Obj).stop().fadeTo(0,0.75);
	
	// Set on hover
	$(Obj).hover(
		// mouseEnter handler
		function () {
			// opacity to 100%
			$(this).stop().fadeTo("fast",1);},

		// mouseLeave handler
		function () {
			// opacity to 75%
			$(this).stop().fadeTo("fast",0.75);});
	}
} 

// *********************************************
// * Expand Div Heights / Match Bottoms
// *********************************************


function divExpandVertical(div1, div2) {

	if ($(div1).length && $(div2).length){
	
		var sizeDiv1 = $(div1).offset().top + $(div1).outerHeight(true);
		var sizeDiv2 = $(div2).offset().top + $(div2).outerHeight(true);

		var sizeOffset;
			
		if (sizeDiv1 > sizeDiv2) {
			sizeOffset = sizeDiv1 - sizeDiv2;
			$(div2).height($(div2).height() + sizeOffset);
		} else {
			sizeOffset = sizeDiv2 - sizeDiv1;
			$(div1).height($(div1).height() + sizeOffset);
		}
	}
}

// *********************************************
// * Twitter Feed
// *********************************************
 
function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'" target="_blank">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<li><span>'+status+'</span> <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank">'+relative_time(twitters[i].created_at)+'</a></li>');
  }
  document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}

