/******************************************************************************
Name:    Slidermenu JS
Version: 1.0 (December 2009)
Author:  Michael Preis @ SiMa Design
Support: http://www.simadesign.de
******************************************************************************/


jQuery.noConflict();

jQuery(function() {

	// create the arrows
	jQuery("div.slide_left").html('<img src="fileadmin/templates/images/arrow_left.png">');
	jQuery("div.slide_right").html('<img src="fileadmin/templates/images/arrow_right.png">');
	
	// get attributes
	var slidermenu_size = jQuery('#slidermenu').width(); // size of the slidercontainer
	var items_count = jQuery('#slidercontent').children('.slideritem').children("a").children("img").size(); // count the img-elements

	// margins
	var slidermenu_marginr = parseFloat(jQuery('#slidercontent > .slideritem').css('margin-right'),10); //  get the margin value of the slideritems
	var items_size = slidermenu_marginr * items_count; // multiply the margin value with the items
	
	
	/****  Position of the sliderbar PART I ****/
	// get the next elements of the active
	
	if ( jQuery('div#slideritemactive').length > 0 ) {
		var nextelements = jQuery('#slidercontent > div#slideritemactive ~ .slideritem').size();
		var prevelements = items_count - nextelements -1; // count the prev elements
		var previtems_size = slidermenu_marginr * prevelements;
	}
	else { var previtems_size = 0;  }
	/****  Position of the sliderbar PART I ****/
	

	// get the size of the img elements
	for (i=0; i<items_count; i++) {
		var items_size = items_size + jQuery('#slidercontent > .slideritem > a:eq(' + i + ') > img').width(); // add the width of each img
		
		if ( i < prevelements) // get the prev elements
		{ 
			var previtems_size = previtems_size + jQuery('#slidercontent > .slideritem > a:eq(' + i + ') > img').width(); // add the width of the prev elements
		}
	}

	// get the max left position
	var maxsize = slidermenu_size - items_size;

	// set the startpoint of the slidermenu
	var slidermenu_start =  - previtems_size / 2;
	// check if the slider reaches its end on one of the sides
	if ( slidermenu_start >= 0 ) 
	{ 
		var slidermenu_start = 0;
		jQuery('div.slide_left img').css("opacity", "0.3"); // set left arrow transparency
	}
	if ( slidermenu_start <= maxsize ) 
	{ 
		var slidermenu_start = maxsize;
		jQuery('div.slide_right img').css("opacity", "0.3"); // set right arrow transparency
	}
	
	jQuery('#slidercontent').css('left', slidermenu_start);

	// change size of the itemcontainer
	jQuery('#slidercontent').css('width',items_size);
	
	// change mousecursor *left*
	jQuery('div.slide_left img').mouseover(function(){
		
		if( jQuery(this).css("opacity") == 1 )
		{ jQuery(this).css('cursor', 'pointer') }
		else if ( jQuery(this).css("opacity") != 1 )
		{ jQuery(this).css('cursor', 'default') }
		
	});
	// change mousecursor *right*
	jQuery('div.slide_right img').mouseover(function(){											

		if( jQuery(this).css("opacity") == 1 ) 
		{ jQuery(this).css('cursor', 'pointer') }
		else if ( jQuery(this).css("opacity") != 1 )
		{ jQuery(this).css('cursor', 'default') }
		
	});
	
	// slide left
	jQuery('div.slide_left img').click(function(){

		if( jQuery(this).css("opacity") == 1 ) 
		{
			jQuery('#slidercontent').stop(); // stop sliding
		
			// set conf to zero
			var slidermenu_position = 0;
			var newposition = 0;
			var new_maxsize = 0;

			jQuery('div.slide_right img').css("opacity", "1"); // set the oposit arrow visible
			
			var slidermenu_position = parseFloat(jQuery('#slidercontent').css('left'),10); // get the actual position of the slider
			var newposition = slidermenu_position + 205; // set the new position of the slider
		
			if( newposition > 0 )  // check if the slider is at its end
			{  
				var new_maxsize = slidermenu_position;
				var newposition = parseFloat(jQuery('#slidercontent').css('left'),10) - (new_maxsize) ;
				jQuery('div.slide_left img').css("opacity", "0.3");
			}
	
			jQuery('#slidercontent').animate({'left' : newposition + 'px'}); // move the slider
		}
	});
	
	// slide right
	jQuery('div.slide_right img').click(function(){

		if( jQuery(this).css("opacity") == 1 ) 
		{
			
			jQuery('#slidercontent').stop(); // stop sliding
		
			// set conf to zero
			var slidermenu_position = 0;
			var newposition = 0;
			var new_maxsize = 0;
		
			jQuery('div.slide_left img').css("opacity", "1"); // set the oposit arrow visible
		
			var slidermenu_position = parseFloat(jQuery('#slidercontent').css('left'),10); // get the actual position of the slider
			var newposition = slidermenu_position - 205; // set the new position of the slider
		
			if( maxsize > newposition)  // check if the slider is at its end
			{  
				var new_maxsize = maxsize - slidermenu_position;
				var newposition = parseFloat(jQuery('#slidercontent').css('left'),10) + (new_maxsize) ;
				jQuery('div.slide_right img').css("opacity", "0.3");
			}
			
			jQuery('#slidercontent').animate({'left' : newposition + 'px'}); // move the slider
		}
	});	
});
