/* =========================================================
// jquery.panorama.js
// Author: Arnault PACHOT & Frédéric Martini
// Copyright (c) 2009 
// licence : GPL
========================================================= */
(function($) {
	$.fn.panorama = function(options) {
		this.each(function(){ 
			var settings = {
				viewport_width: 600,
				speed: 10000,
				direction: 'left',
				control_display: 'yes',
				start_position: 0,
				auto_start: true,
				mode_360: true,
				loop_180: true
			};
			if(options) $.extend(settings, options);


			var elemWidth =  parseInt($(this).attr('width'));
			var elemHeight = parseInt($(this).attr('height'));
			// --------------------------------------------------
			// Récupération automatique de la taille de l'image :
			// Si un des attributs width ou height est absent, 
			// on récupère la vrai taille de l'image :
			if (isNaN(elemWidth) || isNaN(elemHeight)) {
				var img = new Image();
				img.src = $(this).attr('src');
				if (isNaN(elemWidth)) elemWidth = img.width;
				if (isNaN(elemHeight)) elemHeight = img.height;
			}
			// --------------------------------------------------
			var currentElement = this;
			var panoramaViewport, panoramaContainer;
					

			$(this).css('position', 'relative')
				.css('margin', '0')
				.css('padding', '0')
				.css('border', 'none')
				.wrap("<div class='panorama-container'></div>");
			if (settings.mode_360) 
				$(this).clone().insertAfter(this);
			
			panoramaContainer = $(this).parent();
			panoramaContainer.wrap("<div class='panorama-viewport'></div>").parent().css('width',settings.viewport_width+'px')
				.append("<div class='panorama-control'><a href='#' class='panorama-control-left'><img src='img/left.png' alt='W lewo' /></a> <a href='#' class='panorama-control-pause'>&nbsp;</a> <a href='#' class='panorama-control-right'><img src='img/right.png' alt='W prawo' align='right' /></a> </div>");
			
			panoramaViewport = panoramaContainer.parent();

			panoramaViewport.css('height', elemHeight+'px').find('a.panorama-control-left').bind('click', function() {
				$(panoramaContainer).stop();
				settings.direction = 'right';
				panorama_animate(panoramaContainer, elemWidth, settings);
				return false;
			});
			panoramaViewport.bind('click', function() {
				$(panoramaContainer).stop();
			});
			panoramaViewport.find('a.panorama-control-right').bind('click', function() {
				$(panoramaContainer).stop();
				settings.direction = 'left';
				panorama_animate(panoramaContainer, elemWidth, settings);
				return false;
			});
			panoramaViewport.find('a.panorama-control-pause').bind('click', function() {
				$(panoramaContainer).stop();
				return false;
			});
			
			if (settings.control_display == 'yes') {
				panoramaViewport.find('.panorama-control').show();
			} else {
				panoramaViewport.bind('mouseover', function(){
					$(this).find('.panorama-control').show();
					return false;
				}).bind('mouseout', function(){
					$(this).find('.panorama-control').hide();
					return false;
				});
				
			}
		
			$(this).parent().css('margin-left', '-'+settings.start_position+'px');

			if (settings.auto_start) 
				panorama_animate(panoramaContainer, elemWidth, settings);
			
		});
		function panorama_animate(element, elemWidth, settings) {
			currentPosition = 0-parseInt($(element).css('margin-left'));
			if (settings.direction == 'right') {
				
				$(element).animate({marginLeft: 0}, ((settings.speed / elemWidth) * (currentPosition)) , 'linear', function (){ 
					if (settings.mode_360) {
						$(element).css('marginLeft', '-'+(parseInt(parseInt(elemWidth))+'px'));
						panorama_animate(element, elemWidth, settings);
					} else if (settings.loop_180) {
						settings.direction = 'left'; // changement de sens 
						panorama_animate(element, elemWidth, settings);
					}
				});
			} else {
				var rightlimit;
				if (settings.mode_360) 
					rightlimit = elemWidth;
				else
					rightlimit = elemWidth-settings.viewport_width;
					
				$(element).animate({marginLeft: -rightlimit}, ((settings.speed / rightlimit) * (rightlimit - currentPosition)), 'linear', function (){ 
					if (settings.mode_360) {
						$(element).css('margin-left', 0); 
						panorama_animate(element, elemWidth, settings);
					} else if (settings.loop_180) {
						settings.direction = 'right'; // changement de sens
						panorama_animate(element, elemWidth, settings);
					}
				});
			}

			
		}
		
	};

	$(document).ready(function(){
		$("img.panorama").panorama({
			viewport_width: 837,
            speed: 60000,
			mode_360: false
		});
	});
})(jQuery);


/*
 * Tooltip script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
this.tooltip = function(){	
	/* CONFIG */		
		xOffset = -20;
		yOffset = 10;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};



// starting the script on page load
$(document).ready(function(){
	tooltip();
});
