/* Author: 

*/

var Pictoheads = 
{
	DOC_ROOT 	: ''
}

$(function()
{
	if (jQuery.url.attr('port'))
	{
		if (jQuery.url.attr('port').length > 0)
			Pictoheads.DOC_ROOT = jQuery.url.attr('protocol')+'://'+jQuery.url.attr('host')+':'+jQuery.url.attr('port')+'/'+jQuery.url.segment(0);
		else
			Pictoheads.DOC_ROOT = jQuery.url.attr('protocol')+'://'+jQuery.url.attr('host')+'/'+jQuery.url.segment(0);
	}
	
	$('#langmenu').hide();
	
	// Show content
	if ($('#content').length > 0)
	{
		$('#content').show(400, function()
		{
			/* ScrollPane */
			$(this).find('.spane').jScrollPane(
			{
				showArrows: false,
				horizontalGutter: 30,
				verticalGutter: 30
			});
		});
		$('a.slide').click(function(e)
		{
			var url = $(this).attr('href');
			
			$('#content').hide(400, function()
			{
				window.location = url;
			});
		
			return false;
		});
	}
	
	/******************
	 * Cycle
	 *
	 */
	var slide = $('#viewleft').cycle(
	{
		fx:     	'fade',
		speed:  	800,
		timeout: 	6000
	});
	
	$('#viewthumbs a').click(function()
	{
		// cycle to the corresponding slide 
		slide.cycle($(this).index());
		return false;
	});
	
	
	/**
	 *
	 * Bubble Puff
	 *
	 */
	$('.bubbleinfo').each(function ()
	{
    	// options
		var distance = 10;
		var time = 250;
		var hideDelay = 200;
		
		var hideDelayTimer = null;
		
    	// tracker
		var beingShown = false;
		var shown = false;
    	
		var trigger = $('.bubbletrigger', this);
		var popup = $('.bubblepopup', this).css('opacity', 0);
		
		// set the mouseover and mouseout on both element
		$([trigger.get(0), popup.get(0)]).mouseover(function ()
		{
      		// stops the hide event if we move from the trigger to the popup element
      		if (hideDelayTimer) clearTimeout(hideDelayTimer);
			
      		// don't trigger the animation again if we're being shown, or already visible
      		if (beingShown || shown)	return;
			else						beingShown = true;
			
        	// reset position of popup box
        	popup.css(
        	{
          		top: -20,
          		left: 0,
          		display: 'block' // brings the popup back in to view
        	})
			
        	// (we're using chaining on the popup) now animate it's opacity and position
        	.animate(
        	{
          		top: '-=' + distance + 'px',
          		opacity: 1
        	}, time, 'swing', function()
        	{
          		// once the animation is complete, set the tracker variables
          		beingShown = false;
          		shown = true;
        	});

    	}).mouseout(function () {
			// reset the timer if we get fired again - avoids double animations
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
		
			// store the timer so that it can be cleared in the mouseover if required
			hideDelayTimer = setTimeout(function ()
			{
				hideDelayTimer = null;
        		popup.animate(
        		{
          			top: '-=' + distance + 'px',
          			opacity: 0
        		}, time, 'swing', function ()
        		{
					// once the animate is complete, set the tracker variables
					shown = false;
					// hide the popup entirely after the effect (opacity alone doesn't do the job)
					popup.css('display', 'none');
        		});
			}, hideDelay);
		});
	});
});























