// ETUSIVUN KUVA ROTATOR


function theRotator() {
	//Set the opacity of all images to 0
	$('div#rotator ul li').css({opacity: 0.0});
	
	//Get the first image and display it (gets set to full opacity)
	$('div#rotator ul li:first').css({opacity: 1.0});
		
	//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('rotate()',6000);
	
}

function rotate() {	
	//Get the first image
	var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));

	//Get next image, when it reaches the end, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	
	
	//Set the fade in effect for the next image, the show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
	
};

$(document).ready(function() {		
	//Load the slideshow
	theRotator();
});


// HEILUTUS ETUSIVULLA

// This jQuery v1.1.3 plugin will cause the targeted
		// elements to vibrate when they are moused over.
 
		jQuery.fn.vibrate = function(){
 
			// Loop over each of the elements in the jQuery
			// stack so that we can set up the properties
			// for the individual elements.
			this.each(
				function( intI ){
					// Get a jQuery object for this element.
					var jNode = $( this );
 
					// Default plugin to not be vibrating.
					var blnVibrate = false;
 
					// Get current position of the element.
					var intLeft = parseInt( jNode.css( "left" ) );
					var intTop = parseInt( jNode.css( "top" ) );
 
 
					// Create a function pointer that will
					// handle the updating of elements position
					// such that it will make it appear to be
					// vibrating.
					var fnUpdatePosition = function(){
						var intCurrentLeft = parseInt(
							jNode.css( "left" )
							);
 
						var intCurrentTop = parseInt(
							jNode.css( "top" )
							);
 
 
						// Check to see if we should keep going.
						if (blnVibrate){
 
							// Check to see which direction to
							// adjust in - either vert. or horz.
							if (Math.random() > .5){
 
								// Adjust vertically.
								if (intCurrentTop > intTop){
									intCurrentTop = (intTop - 2);
								} else {
									intCurrentTop = (intTop + 2);
								}
 
							} else {
 
								// Adjust horizontally.
								if (intCurrentLeft > intLeft){
									intCurrentLeft = (intLeft - 2);
								} else {
									intCurrentLeft = (intLeft + 2);
								}
 
							}
 
							// Set a timeout to call this method
							// again and update position.
							setTimeout(
								fnUpdatePosition,
								60
								);
 
						} else {
 
							// Reset position.
							intCurrentLeft = intLeft;
							intCurrentTop = intTop;
 
						}
 
 
						// Update the position.
						jNode.css(
							"top",
							(intCurrentTop + "px")
							);
 
						jNode.css(
							"left",
							(intCurrentLeft + "px")
							);
					}
 
 
					// Hoook up the mouse over event to flag
					// that the vibrating should begin.
					jNode.mouseover(
						function(){
							// Flag vibration.
							blnVibrate = true;
 
							// Start vibrating.
							fnUpdatePosition();
						}
						);
 
 
					// Hook up the mouse out event to flag
					// that the vibrating should end.
					jNode.mouseout(
						function(){
							// Clear vibration.
							blnVibrate = false;
						}
						);
 
				}
				);
			// END: each()
 
			// Return the jQuery stack to keep chaining.
			return( this );
		}
 
 
 
		// Hook up all the vibration elements.
		$(
			function(){
				$( "h6" ).vibrate();
			}
			);
 


