function mediaBarSlider(sliderType) {
	
	if(sliderType == undefined) {
		sliderType = "image"
	}
	
	var currentItem = 0;
	var step = 1;
	var previousPopupHeight;

	// Slider Mask Container
	var thumbnailSliderMask = jQuery(".media-bar-thumbnail-slider-mask");

	// Slider Containers
	var previewSliderItemContainer = jQuery(".media-bar-preview-screen-item-container");
	var thumbnailSliderItemContainer = jQuery(".media-bar-thumbnail-slider-item-container");
	var thumbnailSliderItemContainerWidth = 0;
	var thumbnailSliderItemContainerPos = 0;

	// Previous Images
	var previewImages = previewSliderItemContainer.find("img");

	// Slider Items
	var previewSliderItem = jQuery(".media-bar-preview-screen-item");
	var thumbnailSliderItem = jQuery(".media-bar-thumbnail-slider-item");

	// Preview Arrows
	var previewPreviousArrow = jQuery(".media-bar-preview-screen-previous-arrow");
	var previewNextArrow = jQuery(".media-bar-preview-screen-next-arrow");
	
	// Thumbnail Arrows
	var thumbnailPreviousArrow = jQuery(".media-bar-thumbnail-previous-arrow");
	var thumbnailNextArrow = jQuery(".media-bar-thumbnail-next-arrow");

	var visibleItemNumber = Math.floor(ExtractNumber(thumbnailSliderMask.width()) / ExtractNumber(thumbnailSliderItem.width()));

	this.initial = function() {

		// hide arrow if max. amount of thumbnails is not exceeded and centre the thumbnail container
		if(thumbnailSliderItem.length < (visibleItemNumber+1)) {
			thumbnailPreviousArrow.css({'visibility':'hidden'});
			thumbnailNextArrow.css({'visibility':'hidden'});
			thumbnailSliderMask.css({'width': thumbnailSliderItemContainer.width()});
		}

		// find initial width of thumbnail container
		for(var i=0; i < thumbnailSliderItem.length; i++) {
			thumbnailSliderItemContainerWidth += jQuery(thumbnailSliderItem[i]).width();
		}

		// add initial width to thumbnail container
		thumbnailSliderItemContainer.width(thumbnailSliderItemContainerWidth);
		
		// add initial height to thumbnail mask
		thumbnailSliderMask.height(thumbnailSliderItemContainer.height());

		jQuery(".media-bar-thumbnail-slider-item-container").find("a").each(function(i) {
			jQuery(this).bind("click",function(event){

				currentItem = i;

				// Choose current element
				setCurrentItemClass();
				
				event.preventDefault();
				
				if(sliderType == 'image') {
					setNewPreviousItem(jQuery(this).attr("href"));
				}

				if(sliderType == 'video') {
					var attr = jQuery(this).attr("rel").split(",");
					setNewPreviousItem(jQuery(this).attr("href"),attr[0],attr[1],attr[2]);
				}

				if(currentItem % visibleItemNumber == 0 && currentItem == visibleItemNumber) {
					thumbSlideTo(step);
				}
				
			})
		});
		
		jQuery(".media-bar-thumbnail-slider-item-container").find("a").eq(0).click();

	}

	thumbnailPreviousArrow.bind("click", function() {
		slideStep(-visibleItemNumber,'previous');
	})

	thumbnailNextArrow.bind("click", function() {
		slideStep(visibleItemNumber,'next')
	})

	previewPreviousArrow.bind("click", function() {
		slideTo(-step,'previous');
		chooseCurrentItem();		
	})
	
	previewNextArrow.bind("click", function() {
		slideTo(step,'next');
		chooseCurrentItem();
	})
	
	var stepCount = 0;
	function slideStep(step, direction) {

		thumbnailSliderItemContainerPos = thumbnailSliderItemContainer.css("left");
		var itemWidth = ExtractNumber(thumbnailSliderItem.width());

		currentItem = (direction == 'next') ? ++stepCount*step : -(--stepCount*step);
		
		if(currentItem >= thumbnailSliderItem.length || currentItem <= 0) {
			currentItem = 0;
			stepCount = 0;
		}
		
		thumbnailSliderItemContainer.animate({left:-(itemWidth*currentItem)}, 600);
		
		setCurrentItemClass();
		
	}

	function slideTo(step, direction) {

		thumbnailSliderItemContainerPos = thumbnailSliderItemContainer.css("left");
		var itemWidth = ExtractNumber(thumbnailSliderItem.width());

		if(direction == 'next') {
			currentItem+= step;
	
			if(currentItem == thumbnailSliderItem.length) {
				currentItem = 0;
			}
	
			if((currentItem % visibleItemNumber) == 0 ) {
				thumbnailSliderItemContainer.animate({left:-(itemWidth*currentItem)}, 300);
			}
		}
		else {
		
			if((currentItem % visibleItemNumber) == 0 && currentItem != 0) {
				thumbnailSliderItemContainer.animate({left:(ExtractNumber(thumbnailSliderItemContainerPos) + (itemWidth*(visibleItemNumber)))}, 300);
			}
			
			currentItem+= step;
	
			if(currentItem < 0) {
				currentItem = thumbnailSliderItem.length;
			}
	
			if(currentItem == thumbnailSliderItem.length) {
				currentItem = 0;
			}

		}
		
		setCurrentItemClass();
		
	}
	
	function thumbSlideTo(step) {

		thumbnailSliderItemContainerPos = thumbnailSliderItemContainer.css("left");
		
		chooseCurrentItem();

		var itemWidth = ExtractNumber(thumbnailSliderItem.width());

		if((currentItem % visibleItemNumber) == 0 ) {
			thumbnailSliderItemContainer.animate({left:-(itemWidth*currentItem)}, 300);
		}
		
	}	

	function chooseCurrentItem() {
		var currentItemTemp = jQuery(".media-bar-thumbnail-slider-item-container").find("a").eq(currentItem);
		var attr = currentItemTemp.attr("rel").split(",");
		var height = attr[0];
		var width = attr[1];
		var flashPlayerPath = attr[2];
		
		setNewPreviousItem(currentItemTemp.attr("href"), height, width, flashPlayerPath);
	}

	function setCurrentItemClass() {
		var currentItemTemp = jQuery(".media-bar-thumbnail-slider-item-container").find("a").eq(currentItem);
		currentItemTemp.addClass("current").parents(thumbnailSliderItemContainer).find("a").not(currentItemTemp).removeClass("current");
		setViewFullSizePath();
	}
	
	function setViewFullSizePath() {
		var sliderItem = jQuery(".media-bar-thumbnail-slider-item-container").find("a").eq(currentItem);
		var viewFullSize = jQuery(".media-bar-view-full-size a");
		
		if(sliderType == 'image') {
			viewFullSize.attr("href", sliderItem.attr("rel"));
		}

	}

	function setNewPreviousItem(source,height,width,flashPath) {
		
		if(height == '' || height == '0'){height = '360';}
		if(width == '' || width == '0'){width = '420';}
		
		previousPopupHeight = calculatePopupHeightDimension();
		
		if(sliderType=='image') {
						
			if(jQuery('img#tempPic').length > 0) {
				jQuery('img#tempPic').remove();
			}

			var temp = '<img id=\'tempPic\' src='+ source +' />';
			jQuery('body').append(temp);

			previewSliderItemContainer.html('<img src='+ source +' />').css({'visibility':'hidden'});
			
			jQuery('img#tempPic').load(function() {
				previewSliderItemContainer.css({'height':jQuery('img#tempPic').height()});

				if(previousPopupHeight != calculatePopupHeightDimension()) {
					calculateVerticalPopupPosition();
				}
				previewSliderItemContainer.stop();
				setTimeout(function(){previewSliderItemContainer.css({'visibility':'visible'})},500);
			})
		}
		
		if(sliderType=='video') {

			obj = createVideoObject(source, flashPath, width, height);

			previewSliderItemContainer.html(obj);
			
			if(previousPopupHeight != calculatePopupHeightDimension()) {
				calculateVerticalPopupPosition();
			}

		}
		
		if(jQuery(".media-bar-thumbnail-slider-item-container").find("a").length == 1){
			thumbnailSliderItemContainer.css({'visibility':'hidden'});
			thumbnailPreviousArrow.css({'visibility':'hidden'});
			thumbnailNextArrow.css({'visibility':'hidden'});
		}
			
	}
	
	function createVideoObject(source, flashPath, width, height){
		var videoObject=
			'<object id=\'ProductVideo\' classid=\'\' codebase=\'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0\' width=\'' + width + '\' height=\'' + height + '\' align=\'\' >' +
			'<text style=\'display:none;\'><fsd:resource id=\'ODWRProductVideoText\'/></text>'+
			'<param name=\'flashvars\' value=\'file=' + source + '&autostart=true\'>'+
			'<param name=\'movie\' value=\'' + flashPath + '\' >'+
			'<param name=\'quality\' value=\'high\'>'+
			'<param name=\'bgcolor\' value=\'\'>'+	
			'<param name=\'wmode\' value=\'transparent\'>'+
			'<embed id=\'sliderMovie\' flashvars=\'file=' + source + '&autostart=true\' src=\'' + flashPath + '\' allowFullScreen=\'true\' allowscriptaccess=\'always\' width=\'' + 
				width + '\' height=\'' + height + '\' quality=\'high\' bgcolor=\'\' name=\'\' align=\'\'wmode=\'transparent\' type=\'application/x-shockwave-flash\' pluginspage=\'http://www.macromedia.com/go/getflashplayer\' />'+
		'</object>';
		
		return videoObject;
	}

	function ExtractNumber(value) { 
		var n = parseInt(value); 
		return n == null || isNaN(n) ? 0 : n; 
	} 

}