//**********************************************************************************************************************
/**
* DOCUMENT: /core/plugins/events/front/projects.back.js
* DEVELOPED BY: Ryan Stemkoski
* COMPANY: Zipline Interactive
* EMAIL: ryan@gozipline.com
* PHONE: 509-321-2849
* DATE: 4/28/2010
* DESCRIPTION: This document has all of the javascript functions required for the events  plugin.
*/
//***********************************************************************************************************************

//***********************************************************************************************************************
// Scrollable
//***********************************************************************************************************************

(function($){$.fn.scrollable=function(options){var defaults={scrollable_max:5,types:'img,div'};var options=$.extend(defaults,options);this.each(function(){var wrapper_width=0;var left=0;var position=options.scrollable_max;var obj=$(this);var scrollable_total=obj.children(options.types).length;var items=obj.children(options.types);var count=1;var prev=obj.parent().prev('.prev');var next=obj.parent().next('.next');if(scrollable_total<=options.scrollable_max){next.hide()}if(position==options.scrollable_max){prev.hide()}items.each(function(){if(count<=options.scrollable_max){wrapper_width=wrapper_width+$(this).outerWidth()}count++});obj.parent().width(wrapper_width);next.click(function(){left=left+wrapper_width;obj.animate({left:'-'+left+'px'},500);position=position+options.scrollable_max;if(position>=scrollable_total){next.hide()}prev.show()});prev.click(function(){left=left-wrapper_width;obj.animate({left:'-'+left+'px'},500);position=position-options.scrollable_max;if(position==options.scrollable_max){prev.hide()}if(position<scrollable_total){next.show()}})})}})(jQuery);

//***********************************************************************************************************************
// Tooltips
//***********************************************************************************************************************

var tooltip_timeout = new Array();
var bubble_id = '';

function clear_tooltip_timeouts(){  
   for(key in tooltip_timeout ){  
    	clearTimeout(tooltip_timeout[key]);  
   }   
} 

function show_tooltip(index,kmouse) {
	
	$('.resort-bubble').hide();
	
	bubble_id = $('.tooltip').eq(index).attr("rel");
	
	var my_tooltip 	= $("#"+bubble_id);
	var left		= kmouse.pageX+20;
	var top 		= kmouse.pageY-160;
	var win_width	= $(window).width();
	
	if(win_width - left < 288) {
		my_tooltip.addClass('flip');
		left = left - 288;
	}
	else {
		my_tooltip.removeClass('flip');
	}
		
	my_tooltip.css({left:left, top:top}).fadeIn(400);
	
	// Show the tooltip
	my_tooltip.fadeIn(300);
	
}

function hide_tooltip(index) {
		
	var my_tooltip = $("#"+bubble_id);
	
	my_tooltip.fadeOut(100);
	
}


//***********************************************************************************************************************
//ON DOCUMENT READY FUNCTIONS
//***********************************************************************************************************************
$(function() {

	//SWITCH THE GALLERY PHOTOS UNDER PROJECTS
	$('#slide-wrapper').cycle({
		timeout: 4000,
    	speed:  800
	})
	
	$('.scrollable').scrollable({
			scrollable_max 	: 5,
			types			: 'img,div'
	});
	
	 
	// Roll over map item, show tooltip
  	$('.tooltip').hover(function(kmouse) {
  		var index = $('.tooltip').index(this);
  		show_tooltip(index,kmouse);
  	},function() {
	  	var index = $('.tooltip').index(this);
	  	tooltip_timeout['timeout'] = setTimeout("hide_tooltip("+index+")",100);
  	});
	
	// Makes it so we can hover on top of the tooltip
  	$('.resort-bubble').hover(function() {
  		clear_tooltip_timeouts();
  	},function() {
  		var index = $('.tooltip').index(this);
  		tooltip_timeout['timeout'] = setTimeout("hide_tooltip("+index+")",100);
  	});	
	



});

