/* Karmic-flow 0.2.1 */
(function karmicFlow($){$.fn.karmicFlow=function(opts){opts=$.extend({container:'karmic_flow_container',slider:'karmic_flow_slider',slides:'karmic_flow_slides',sliding:'karmic_flow_sliding',slide_selected:'karmic_flow_slide_selected',slide_overflow:'karmic_flow_slide_overflow',controller:'karmic_flow_controller',controller_selected:'karmic_flow_controller_selected',next:'karmic_flow_next_controller',prev:'karmic_flow_prev_controller',play:'karmic_flow_play_controller',pause:'karmic_flow_pause_controller',duration:300,timer:2500,auto:false},opts||{});this.data('opts',opts);this.data('cur_index',this.data('cur_index')||0);var playSlide=function(el,auto){var $el=$(el),target_container=$el.attr('target'),$container=$('#'+target_container),$slider=$container.children(),$current_selected=$container.find('.'+opts.slide_selected),$allSlides=$current_selected.parent().children(),index=$allSlides.index($current_selected),total=$allSlides.length,old_idx=$container.data('cur_index'),duration=($container.data('opts')!=undefined)?$container.data('opts').duration:200,multiplier=1;if(index==-1)return false;if(auto||$el.hasClass(opts.next))
index=(index+1==total)?0:index+1;else if($el.hasClass(opts.prev))
index=(index==0)?total-1:index-1;$container.data('cur_index',index);$allSlides.removeClass(opts.slide_selected);$allSlides.eq(index).addClass(opts.slide_selected);var $controller_target=$('[href=#'+$allSlides.eq(index)[0].id+']'),$controller_siblings=$('[target='+$controller_target.attr('target')+']');$controller_siblings.removeClass(opts.controller_selected);$controller_target.addClass(opts.controller_selected);$slider.addClass(opts.sliding);if((index==0&&old_idx==total-1)||(index==total-1&&old_idx==0)){multiplier=total;}
$slider.stop().animate({marginLeft:-1*$current_selected.width()*index},duration*multiplier,function(){$slider.removeClass(opts.sliding);});return $controller_target[0];}
for(var i=0;i<this.length;i++){$(this[i]).find('.'+opts.slides).each(function(){var $div=$('<div></div>');$div.append(this.childNodes).appendTo(this).addClass(opts.slide_overflow).css('height',$(this).parent().parent().height());});}
var isChildOf=function(el,className){var cache=[];while(el){cache.push(el);el=el.parentNode;}
for(var i=0;i<cache.length;i++)
if($(cache[i]).hasClass(className))
return cache[i];return false;}
var $doc=$();if(!$doc.data('karmic_flow_init')){$doc.data('karmic_flow_init',1);$doc.bind('click',function(e){var el=e.target,generic_controller=isChildOf(el,opts.controller),next_controller=isChildOf(el,opts.next),prev_controller=isChildOf(el,opts.prev),play_controller=isChildOf(el,opts.play);if(generic_controller){(function generic_controller_function(generic_controller,e){var target_container=$(generic_controller).attr('target'),$container=$('#'+target_container),$el=$(generic_controller);$found_slide=$container.find('#'+generic_controller.hash.substring(1,generic_controller.hash.length)),index=$found_slide.parent().children().index($found_slide[0]),$slider=$found_slide.parent(),old_index=$container.data('cur_index'),duration=$container.data('opts').duration,timer=$container.data('opts').timer;$('[target='+target_container+']').removeClass(opts.controller_selected);$el.addClass(opts.controller_selected);$slider.children().removeClass(opts.slide_selected);$found_slide.addClass(opts.slide_selected);$slider.addClass(opts.sliding);$container.data('cur_index',index);var marginLeft=-1*$found_slide.width()*index;$slider.stop().animate({marginLeft:-1*$found_slide.width()*index},duration*Math.abs(index-old_index),function(){$slider.removeClass(opts.sliding);if($container.data('interval')!==null){$container.data('player',$('.'+opts.play).filter('[target='+target_container+']'));$container.data('interval',setInterval(function(){$container.data('player',playSlide($container.data('player'),true));},$container.data('opts').timer));}});if($container.data('interval')!==null){clearInterval($container.data('interval'));}
e.preventDefault();e.stopPropagation();})(generic_controller,e);}
else if(next_controller||prev_controller){playSlide(next_controller||prev_controller);e.preventDefault();e.stopPropagation();}
else if(play_controller){(function play_controller_function(play_controller,e){var curEl=play_controller,$el=$(play_controller),target_container=$(play_controller).attr('target');$container=$('#'+target_container),timer=$container.data('opts').timer;if($container.data('interval')!==null){clearInterval($container.data('interval'));$container.data('interval',null);$el.removeClass(opts.pause);}
else{$el.addClass(opts.pause);$container.data('player',curEl);$container.data('interval',setInterval(function(){$container.data('player',playSlide($container.data('player'),true));},timer));}
e.preventDefault();e.stopPropagation();})(play_controller,e);}});}
for(var i=0;i<this.length;i++){var $container=$(this[i]),$slider=$container.children(),$slides=$slider.height($container.height()).children(),timer=$container.data('opts').timer,$selected_slide=$slider.find('.'+opts.slide_selected),$player=$('.'+opts.controller).filter('[href=#'+$selected_slide[0].id+']');$selected_slide_controller=$('.'+opts.controller).filter('[href=#'+$selected_slide[0].id+']'),selected_index=$slides.index($selected_slide);$selected_slide_controller.addClass(opts.controller_selected);$slider.css({marginLeft:-1*$slides.eq(0).innerWidth()*selected_index});$slider.width($slides.length*$container.width());$slides.width($container.width());if(opts.auto){var $play_button=$('.'+opts.play).filter('[target='+this[i].id+']');$play_button.addClass(opts.pause);if(!$play_button.length)
$play_button=$('<a href="#" target="'+this[i].id+'" class="'+opts.next+'">Ê</a>');$container.data('player',$play_button[0]);$container.data('interval',setInterval(function(){$container.data('player',playSlide($container.data('player'),true));},timer));}}
return this;}})(this.jQuery||this.Karma);


/* jTwitter 1.1 */
(function(a){a.extend({jTwitter:function(f,e,b){if(e=="undefined"){b=e;e=5}var c="http://twitter.com/status/user_timeline/"+f+".json?count="+e+"&callback=?";var d={};a.getJSON(c,function(g){if(typeof b=="function"){b.call(this,g)}})}})})(jQuery);


/* Custom Javascript */

// pass in the 'created_at' string returned from twitter //
// stamp arrives formatted as Tue Apr 07 22:52:51 +0000 2009 //
function parseTwitterDate($stamp) {		

	var date = new Date(Date.parse($stamp)).toLocaleString().substr(0, 16);
	var hour = date.substr(-5, 2);

	var ampm = hour<12 ? ' AM' : ' PM';
	if (hour>12) hour-= 12;
	if (hour==0) hour = 12;

	return date.substr(0, 11)+' @ ' + hour + date.substr(13) + ampm;
}


$(document).ready(function(){ 

	// Forces full hover effect on the index service list when the H2 or P links are hovered 
	$('#section-index #service-list h2, #section-index #service-list p').hover(
		
		function() {
			var parentTag = $(this).parent().get(0);
			$(parentTag).addClass('hover'); },
		
		function() {
			var parentTag = $(this).parent().get(0);
			$(parentTag).removeClass('hover'); }
	);
	


	// Starts the slideshow on the homepage
	$(function(){
		//var start = new Date().getTime(); // from the karmix example, not sure why needed
		$('#slideshow-wrapper').karmicFlow({ auto: true, duration:700, timer: 6000 });
	});



	// Starts the jTwitter plugin and pulls the latest two tweets
	$.jTwitter('NetInspired', 2, function(posts){
	
		tweets = "";
	  for(var i=0; i<posts.length; i++){
	     tweets += '<li><p><a href="http://twitter.com/netinspired/" title="Visit the NetInspired Twitter feed">'+ posts[i].text + '</a><br /><small>' + parseTwitterDate(posts[i].created_at) + '</small></p></li>';
	  }

	  
	  $('.twitter-loading').fadeOut(900, function() {
		  $('.twitter li').remove();
	  	$('.twitter').append(tweets);
	  });
	  $('.twitter').fadeTo(2700,1);
	  
	});
});