// JavaScript Document

$(document).ready(function(){
									
	sub_nav();
						   
    $('#navWrapper li:first').addClass('navFirstLi');
	$('#navWrapper li:last').addClass('navLastLi');
	
	$('.entry table thead tr th:first').addClass('firstTH');
	$('.entry table tbody tr td:first-child').addClass('firstTD');

	$('tbody tr:nth-child(odd)').addClass('odd'); // zebra table
	
	$('#featureSlide div').click(function(){
    	window.location=$(this).find('a').attr('href');return false;
	});
	
    $('#shareContainerDrop').hover(
      function () {
        $('#shareContainerWrap').show();
        $('#shareContainerDrop a:first').addClass('hovered');
      }, 
      function () {
        $('#shareContainerWrap').hide();
        $('#shareContainerDrop a:first').removeClass('hovered');
      }
    );
	
	$('#featureNav').jFlow({
		slides: '#featureSlide',
		controller: '.jFlowControl',
		slideWrapper : '#featureMask',
		selectedWrapper: 'jFlowSelected',
		width: '566px',
		height: '258px',
		duration: 400,
		prev: '#featButtonHolder .previous',
		next: '#featButtonHolder .next'
	});
	
    $('#homeTabs').tabs({ fxFade: true, fxSpeed: 'fast' });
	
	if (jQuery.browser.msie) {
		if(parseInt(jQuery.browser.version) == 6) {
			$('#commentTabs').tabs();
		}
	}
	if( (parseInt(jQuery.browser.version) == 7) || (parseInt(jQuery.browser.version) == 8) ) {
		$('#commentTabs').tabs();
	}
	else {
		$('#commentTabs').tabs({ fxFade: true, fxSpeed: 'fast' });		
	}
	
	adjustHeight('#postColumnLeft div.homePostContainer h3');
	adjustHeight('#postColumnLeft div.homePostContainer');
	
});

function adjustHeight($needAdjust) {
	
	var $modHeight = new Number()
	
	var $tempHeight = new Array()
	var $x = new Number()
	
	jQuery($needAdjust).each(function() {
		$tempHeight[$x] = jQuery(this).height();
		$x++;
	});
	
	jQuery($needAdjust).each(function() {
		$modHeight = getMax($tempHeight);
		jQuery(this).height($modHeight);
	});

	function getMax(array) {
		return Math.max.apply( Math, array );
	};
	
}

function mailpage()
{
	mail_str = 'mailto:?subject=Check out the ' + document.title;
	mail_str += '&body=I thought you might be interested in the ' + document.title;
	mail_str += '. You can view it at, ' + location.href;
	location.href = mail_str;
}

function sub_nav(){ //dropdown menu

	var the_nav = '#navWrapper'; // menu ID or CLASS
	var the_nav_sidebar = '#widgetHolder ul'; // menu ID or CLASS
	
	jQuery( the_nav_sidebar + ' li' ).each
	(
		function( intIndex )
		{
			jQuery(this).css({'z-index': 1000 - intIndex });
		}
	);
	
	jQuery( the_nav + ' li' ).each
	(
		function( intIndex )
		{
			jQuery(this).css({'z-index': 1000 - intIndex });
		}
	);
	
	jQuery( the_nav + ' li a' ).removeAttr('title');
	
	jQuery( the_nav_sidebar + ' li a' ).removeAttr('title');
	
	jQuery(the_nav + ' ul').css({display: 'none'}); // Fix for Opera Browser
	jQuery(the_nav_sidebar + ' ul').css({display: 'none'}); // Fix for Opera Browser
	
	jQuery(the_nav + ' li').hover(function(){
		jQuery(this).find('ul:first').css({visibility: 'visible', display: 'none'}).fadeIn(350);
		jQuery(this).find('a:first').addClass("dropdown_hovered");
	},function(){
		jQuery(this).find('ul:first').css({visibility: 'hidden'});
		jQuery(this).find('a:first').removeClass("dropdown_hovered");
	});
	
	jQuery(the_nav_sidebar + ' li').hover(function(){
		jQuery(this).find('ul:first').css({visibility: 'visible', display: 'none'}).fadeIn(350);
		jQuery(this).find('ul:first').prev().addClass("dropdown_hovered");
	},function(){
		jQuery(this).find('ul:first').css({visibility: 'hidden'});
		jQuery(this).find('a:first').removeClass("dropdown_hovered");
	});
	
    $('#shareContainerDrop').hover(
      function () {
		  $('.postTitle').removeClass('hovered');
      }, 
      function () {
		  $('.postTitle').addClass('hovered');
      }
    );
  
}


function ds_twitter($username,$qty,$appendItTo) {

	$.getJSON('http://twitter.com/status/user_timeline/' + $username + '.json?count=' + $qty + '&callback=?', function(data){
	    $($appendItTo).prepend('<div class="tweet twitt_text_holder"></div>');
		$.each(data, function(index, item){
			$('.twitt_text_holder').append('<p><img src="' + item.user.profile_image_url + '" class="tweet_avatar" /> ' + item.text.linkify() + '</p><p class="twitter_timestamp"><strong>' + relative_time(item.created_at) + '</strong></p>');
		});
	});
	
	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);
	  
	  var r = '';
	  if (delta < 60) {
		r = 'a minute ago';
	  } else if(delta < 120) {
		r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
		r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
		r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
		r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
		r = '1 day ago';
	  } else {
		r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }
	  
	  return r;
	}
	
	String.prototype.linkify = function() {
		return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
			return m.link(m);
		});
	};
	
}




