function OpenPopup(url, name, width, height, scrollbars)
{
	newwindow=window.open(url, name, 'width=' + width + ',height=' + height + ',location=no,menubar=no,resizable=yes,scrollbars=' + scrollbars +',status=no,toolbar=no,top=100,left=100');
	newwindow.focus();
} // function OpenWindow



$(document).ready( function() {
	onDOMReady();
});

function onDOMReady()
{
	 // Open overlay on document load
	var overlayOnLoad = $('#AjaxContainer').html().match(/overlayScreen=([^&#]*)/);
	if( overlayOnLoad != null && overlayOnLoad.length > 0 ) {
		var overlayScreen = overlayOnLoad[1].replace(/(\d*) {0,1}x {0,1}(\d*)/, '');
		var dimensions = getOverlayDimensions(overlayOnLoad[1]);
		openOverlay('index.php?screen='+overlayScreen, dimensions[0], dimensions[1]);
	} 
	
	// Overlay links
	$("a[rel^='#overlay']").click(function() {
		var dimensions = getOverlayDimensions($(this).attr('rel'));
		openOverlay($(this).attr('href'), dimensions[0], dimensions[1]);
		return false;
	})

	// Overlay forms
	$("form[rel^='#overlay-formsubmit']").submit(function() {
		submitOverlayForm($(this));
		return false;
	});

	// Image lightbox
	$("a[rel^='#image-lightbox']").click(function() {
		return false;
	});

	$("a[rel^='#image-lightbox']").mouseenter(function(e) {
		showRolloverImage($(this).attr("href"),e.pageX,e.pageY);
		return false;
	});

	$("a[rel^='#image-lightbox']").mouseleave(function() {
		hideRolloverImage();
		return false;
	});
	
	// Carousels
	$("div[rel^='#carousel']").each( function() {
	  	var options = getOptionsFromRel(this);
	  	$(this).jCarouselLite(options);
	});
	
	// Item-Carousels
	$(".carousel-control").click( function() {
	  	generateItemCarousel(this);
	});
	
	// jqZoom
	$("a[rel^='#zoom']").each( function() {
		var options = getOptionsFromRel(this);
		$(this).jqzoom(options);
	});
	
	$("a[rel^='#detail-view-zoom']").click( function() {
		setDetailViewToZoom(this);
		return false;
	});
	
	// tabs
	$("div[rel^='#tab']").each( function() {
		$(this).tabs();
	});
	
	// countdown
	$("div[rel^='#countdown']").each( function() {
		var options = getOptionsFromRel(this);
		$(this).countdown({
			until:	'+' + options.days + 'd ' +
					'+' + options.hours + 'h' +
					'+' + options.minutes + 'm' +
					'+' + options.seconds + 's',
			compact: true,
			expiryText: options.expiryText
		});
	});
	
	// checkall-checkbox
	$("input[type='checkbox'][rel^='#checkall']").each( function() {
		var options = getOptionsFromRel(this);
		defineCheckAllCheckbox(this, options);
	});
	
	// Javascript Menu
	$('.Menu ul li .SubSubMenu').mouseenter( function() {
		SubSubMenuMouseEnter(this);
	});

	$('.Menu ul li .SubSubMenu').mouseleave( function() {
		SubSubMenuMouseLeave(this);
	});
	
	// Searchfield
	$('#searchfield').focus( function() {
		if($(this).attr('value') == 'Search')
			$(this).attr('value', '');
	});
	
	$('#searchfield').blur( function() {
		if($(this).attr('value') == '')
			$(this).attr('value', 'Search');
	});

	// GuidedNavigation
	initGuidedNavigation();
	
	// SubCategory-Selectbox
	setGuidedNavigationSelectText($('.CategoryProducts .SubCategories select'));
	$('.CategoryProducts .SubCategories .submit').css('display', 'none');
	$('.CategoryProducts .SubCategories select').change( function() {
		$('.CategoryProducts .SubCategories form').submit();
	});
	
	// Brands-Selectbox
	$('.Brands form .submit').css('display', 'none');
	$('.Brands select').change( function(){
		var valueID = $('select[name=ValueID]').attr('value');
		$('input[name=Marke]').attr('value', brandsMapping[valueID]);
		$('.Brands form').submit();
	});
	
	// ProductList-Selectbox
	$('.ProductInList select').change( function(){
		var selectedText = $(this).find(':selected').text();
		$(this).prev(".selectbox div.text").html(selectedText);
	});
	
	// Cart
	$('form#addToCart').submit( function() {
		submitCartForm(this);
		return false;
	});
	
	//Aus de Produktlisten in den Warenkorb legen.
	$("form[rel^='#addToCartFromList']").submit( function() {
		submitCartFormFromList(this);
		return false;
	});

	// Checkbox im Bestellvorgang
	$('.checkbox').click( function() {

		if ($(this).is(":checked"))
		{
			$('.deliveryAddress #display_none_container').toggle("normal");
			$('.deliveryAddress .TextField .inputText').removeAttr("disabled");
			$('.deliveryAddress .TextField .SelectBox').removeAttr("disabled");
		}
		else
		{
			$('.deliveryAddress #display_none_container').toggle("normal");
			$('.deliveryAddress .TextField .inputText').attr("disabled", true);
			$('.deliveryAddress .TextField .SelectBox').attr("disabled", true);
		}
	});	
	
	//Produktanzeige-Size-Submit-button im Falle von aktivierten JS ausblenden
	$('.ProductDetails .DetailsRight .Cart .Size .Change').css('display', 'none');
	//Produktanzeige-Color-Submit-button im Falle von aktivierten JS ausblenden
	$('.ProductDetails .DetailsRight .Cart .Color .Change').css('display', 'none');
	
	
	//Radiobuttons auf Paymentseite ausblenden
	$('.Payment .radiobutton .button').css("display", "none");
	$('.Payment .DetailDescription').css("display", "none");
	$('.Payment .PaymentForm').css("display", "none");
	$('.Payment .SelectionButton').css("display", "none");
	var paymentTypeIDBefore;
	$(".Payment .radiobutton").click( function() {
		paymentTypeID = $(this).attr('id');
		$('.radio_image').css("display", "none");
		$('#RadioBackround_'+paymentTypeID).css("display", "block");
		$('.Payment .radiobutton .button').attr("checked", "");
		$('#RadioBox_'+paymentTypeID).attr("checked", "checked");
		if (paymentTypeID != paymentTypeIDBefore)
		{
			$('#PaymentForm_'+paymentTypeID).toggle("normal");
			$('#DetailDescription_'+paymentTypeID).toggle("normal");
			$('#SelectionButton_'+paymentTypeID).toggle("normal");
			if (paymentTypeIDBefore != "")
			{
				$('#PaymentForm_'+paymentTypeIDBefore).toggle("normal");
				$('#DetailDescription_'+paymentTypeIDBefore).toggle("normal");
				$('#SelectionButton_'+paymentTypeIDBefore).toggle("normal");
			}
			paymentTypeIDBefore = paymentTypeID;
		}
		return false;
	});
	$(".Payment .PaymentDescription").click( function() {
		$(this).prev('div.radiobutton').click();
		return false;
	});
	
	
	
	// Radiobuttons auf ShopSettings Seite
	defineCustomCheckboxesShopSettings();
	
	// Bestelluebersicht 
	$('.View .checkbox .button').css("display", "none");
	$(".View .checkbox").click( function() {
		if ($('#CheckboxAGBBackround').css("display") == "none")
		{
			$('#CheckboxAGBBackround').css("display", "block");
			$('#CheckBoxAGB').attr("checked", "checked");
		}
		else
		{
			$('#CheckboxAGBBackround').css("display", "none");
			$('#CheckBoxAGB').attr("checked", "");
		}
	});
	

	var activeQuestion = "";
	// FAQ Fragen -> Antworten
	$('.bg_selectbox_inactive').click( function() {
		questionID = $(this).attr('id');
		splitted = questionID.split('_');

		if (activeQuestion == splitted[1]) {
			$('#Question_'+activeQuestion).removeClass('bg_selectbox_active');
			$('#Question_'+activeQuestion).addClass('bg_selectbox_inactive');
			activeQuestion = "";
		} else {
			$(this).removeClass('bg_selectbox_inactive');
			$(this).addClass('bg_selectbox_active');
		}
		
		$('#Answer_'+splitted[1]).toggle("normal");

		if (activeQuestion != splitted[1]) {
			$('#Question_'+activeQuestion).removeClass('bg_selectbox_active');
			$('#Question_'+activeQuestion).addClass('bg_selectbox_inactive');
			$('#Answer_'+activeQuestion).hide("normal");
			activeQuestion = splitted[1];
		} 
		
	});
	
	var activeOrderDetail = "";
	// FAQ Fragen -> Antworten
	$('.orderDetailButton').click( function() {
		orderDetailID = $(this).attr('id');
		splitted = orderDetailID.split('_');

		if (activeOrderDetail != splitted[1])
			$('#OrderDetail_'+splitted[1]).toggle("normal");

		if (activeOrderDetail != splitted[1]) {
			$('#OrderDetail_'+activeOrderDetail).hide("normal");
			activeOrderDetail = splitted[1];
		} 
		
	});
	
	// Runde Fehler- und Successboxen
	var settings = { tl: { radius: 8 }, tr: { radius: 8 }, bl: { radius: 8 }, br: { radius: 8 }, antiAlias: true}
	curvyCorners(settings, ".style_msg_error, .style_msg_success");
	
//	Input Button 
//	 $("input[type=file]").filestyle({ 
//	     image: "customGates/resources/binaries/en_GB/buttons/browse.jpg",
//	     imageheight : 25,
//	     imagewidth : 140,
//	     width : 250
//	 });
	
	$("input[type=file]").rebrushfileupload({
		button_text: '',
		class_container: 'fileupload-rebrush',
		class_field: 'fileupload-rebrush-field',
		class_button: 'fileupload-rebrush-button'
		});

	selectBoxHandler();
	
}

/******************
* Kontostand setzen  
*******************/

function setBalance(availableBalance, totalBalance)
{
	$('#CurrentBalanceValue').html(availableBalance);
	$('#TotalBalanceValue').html(totalBalance);
} // function setBalance(availableBalance, totalBalance)

/****************
* FarbSselectBox *
****************/

var timeout    = 200;
var colorSelectBoxClosetimer = 0;

function showColorSelectBox()
{  
	if(colorSelectBoxClosetimer)
	{  window.clearTimeout(colorSelectBoxClosetimer);
      colorSelectBoxClosetimer = null;
	}
	hideColorSelectBox();
	
	jQuery('.DivSelect').show();
	jQuery('#ColorSelectBox').bind('mouseover', showColorSelectBox);
	jQuery('#ColorSelectBox').bind('mouseout',  function(){
		colorSelectBoxClosetimer = window.setTimeout(hideColorSelectBox, timeout);
		});
}

function hideColorSelectBox()
{  
	jQuery('.DivSelect').hide();
	jQuery('#ColorSelectBox').unbind('mouseover');
	jQuery('#ColorSelectBox').unbind('mouseout');
}


function selectBoxHandler()
{
	$('select[name=Farbgruppe]').css('z-index', '-2');
	$('#ColorSelectBox').click(function(){
		showColorSelectBox();
	});
	
	$(".DivSelect").find('div').each(function(){
		$(this).mouseover(function(){
			$(this).css('background', '#316ac5');
			$(this).find('div').css('background', '#316ac5');
		});
		
		$(this).mouseout(function(){
			$(this).css('background', '#333333');
			$(this).find('div').css('background', '#333333');
		});
		
		$(this).click(function(){
			var search = /DivOption_\d+/;
			if(search.test($(this).attr('id')))
			{
				var split = $(this).attr('id').split('_');

				$('#SelectOption_'+split[1]).attr("selected", "selected");
				$('.GuidedNavigation form').submit();
			}
		});
	});
	
}


/***********
* Lightbox *
***********/
function openImageLightbox(link)
{
	var current = link.parent().parent().siblings('.ListProductCarousel').find("li[current='true']");
	if( current.length > 0 ) {
		link[0].href = $(current[0]).find('img')[0].src.replace(/\&convert.*$/, '');
	}
}



/***********
* Carousel *
***********/
function getOptionsFromRel(element, relAttrName)
{
	if( typeof(relAttrName) == 'undefined' ) {
		var relAttrName = 'rel';
	}
	
	var options = $(element).attr(relAttrName).match(/\((.*)\)/);
	
	if( options == null || options.length == 0 )
		return false;
	
	var optionsObj = new Object();
	options = options[1].split(',');
	$.each(options, function(i, val) {
		var tokens = val.split(':');
		optionsObj[tokens[0]] = tokens[1];

		if( optionsObj[tokens[0]].match(/^\-?\d*$/) != null ) {
			optionsObj[tokens[0]] = parseInt(optionsObj[tokens[0]]);
		}
		
		if( optionsObj[tokens[0]] == 'true' ) { 
			optionsObj[tokens[0]] = true;
		}
		else if( optionsObj[tokens[0]] == 'false' ) {
			optionsObj[tokens[0]] = false;
		}
	});
	
	options = $.evalJSON($.toJSON(optionsObj));
	if( typeof(options.setCarouselCurrentTo) == 'string' ) {
		setCurrentCarouselElementTo(options);
	}
	
	return options;
}

function setCurrentCarouselElementTo(options)
{
	var setCurrentTo = $(options.setCarouselCurrentTo)[0];
	delete options.setCarouselCurrentTo;
	
	if( setCurrentTo.tagName.toUpperCase() == 'A' )
		$.extend( options,{
			afterEnd: function(visibles) {
				setCurrentTo.href = $(visibles).find('img').attr('src').replace(/\&convert.*$/,'');
			}
		});
	else
		$.extend( options,{
			afterEnd: function(visibles) {
				setCurrentTo.src = $(visibles).find('img').attr('src').replace(/\&convert.*$/,'');
			}
		});
}



/***********
* CSS Menu *
***********/
function SubSubMenuMouseEnter(SubSubMenu)
{
	// Set font-weight css for parent menu item
	if( !$(SubSubMenu).parent('div').hasClass('active') ) {
		$(SubSubMenu).parent('div').addClass('active');
	}
	else {
		$(SubSubMenu).parent('div').addClass('wasActive');
	}
	
}

function SubSubMenuMouseLeave(SubSubMenu)
{
	if( !$(SubSubMenu).parent('div').hasClass('wasActive') ) {
		$(SubSubMenu).parent('div').removeClass('active');
	}
	else {
		$(SubSubMenu).parent('div').removeClass('wasActive');
	}
}



/********************
 * GuidedNavigation *
 *******************/
function initGuidedNavigation()
{
	// Submit-button im Falle von aktivierten JS ausblenden
	$('.GuidedNavigation .submit').css('display', 'none');
	
	// 
	$('.GuidedNavigation form select').each( function() {
		setGuidedNavigationSelectText($(this));
	});

	// GuidedNavigation onchange-submit
	$('.GuidedNavigation select').change( function() {
		$('.GuidedNavigation form').submit();
		//submitGuidedNavigation();
	});
	
	// GuidedNavigation show cancel selection instead of selectbox
	$('.GuidedNavigation form .cancel .image').css('display','block');
	$('.GuidedNavigation form .cancel select').css('display','none');
	
	// GuidedNavigation cancel selection
	$('.GuidedNavigation form .cancel a').click( function() {
		$(this).parent().nextAll('select').val('');
		$('.GuidedNavigation form').submit();
		//submitGuidedNavigation();
		return false;
	});
}

function setGuidedNavigationSelectText(selectbox)
{
	if( selectbox.val() == '' )
		return true;

	switch( selectbox.attr('name') )
	{
		case 'Groesse':
			sizeTranslation = $('#HiddenGroesse').attr('value');
			selectbox.siblings('div.text').text(sizeTranslation + ': ' + selectbox.val().replace(/ \(\d*\)/, ''));
			break;
		case 'Farbgruppe':
			colorTranslation = $('#HiddenFarbgruppe').attr('value');
			selectbox.siblings('div.text').text(colorTranslation + ': ' + selectbox.val().replace(/ \(\d*\)/, ''));
			break;
		case 'Marke':
			brandTranslation = $('#HiddenMarke').attr('value');
			selectbox.siblings('div.text').text(brandTranslation + ': ' + ucwords(selectbox.val().replace(/ \(\d*\)/, '')));
			break;
		case 'Sort':
			selectbox.siblings('div.text').text(selectbox.children('option:selected').text());
			break;
		default:
			selectbox.siblings('div.text').text(selectbox.children('option:selected').text());
	}
}



/*
function submitGuidedNavigation()
{
	showOverlayLoader();
	$(".GuidedNavigation form input[name='screen']").attr('value','dstore.webshop.category_ajax');
	
	$.ajax({
		   type: "POST",
		   url: 'index.php',
		   data: $('.GuidedNavigation form').serialize(),
		   dataType: 'json',
		   success: function(response)
		   {
				$('.outputArea_main').html(decodeURIComponent(response.Content));
				onDOMReady();
				
				closeOverlayLoader();
		   },
		 	error: function(response)
		 	{
			   closeOverlayLoader();
		 	}
	});
}
*/


/***********
* jqZoom   *
***********/
function setDetailViewToZoom(DetailView)
{
	var BinaryCodeID = $(DetailView).children('img').attr('src').match(/BinaryCodeID=(\d*)\&|$/);
	if( BinaryCodeID == null || BinaryCodeID.length == 0 ) {
		return false;
	}

	var BinaryCodeID = BinaryCodeID.slice(1);
	
	$('.ProductImage a').attr(
						'href',
						$('.ProductImage a').attr('href').replace(/BinaryCodeID=(\d*)/,'BinaryCodeID='+BinaryCodeID)
						);
	$('.ProductImage a img').attr(
						'src',
						$('.ProductImage a img').attr('src').replace(/BinaryCodeID=(\d*)/,'BinaryCodeID='+BinaryCodeID)
						);
}



/***********
* Cart     *
***********/
function submitCartForm(form)
{
	$(form).children(".AddToCart").children("input").attr('disabled', 'true');
	$(form).children("input[name='screen']").attr('value', 'dstore.order.trolley_ajax');
	
	showOverlayLoader();
	
	$.ajax({
		   type: "POST",
		   url: DSTORE_BASE_URL + '/index.php',
		   data: $(form).serialize(),
		   dataType: 'json',
		   success: function(response)
		   {
				closeOverlayLoader();
				
				var isTransformed = false;
				var isHighlighted = false;
				$('.ProductDetails .ProductImage').effect(
						'transfer',
						{to: '#SmallTrolleyImage', className: 'ui-effects-transfer'},
						700,
						function() {
							if( isTransformed == true )
								return true;
							
							isTransformed = true;
							$('.outputArea_top .cart a').animate(
								{opacity:0},
								100,
								'linear',
								function() {
									$('.outputArea_top .cart a').css('color', '#FFFFFF');
									$('.outputArea_top .cart a').animate(
										{opacity:1},
										20,
										'linear',
										function() {
											if( isHighlighted == true )
												return true;
											
											isHighlighted = true;
											$('.outputArea_top .cart a').css('color', '#CCCCCC');

											$('.outputArea_top .cart').html(decodeURIComponent(unescape(response.Content)));
											$(form).children(".AddToCart").children("input").attr('disabled', '');
											
											$('.SmallTrolley .container .addedItem').css('display', 'block');
											$('.SmallTrolley').show('fold', {}, 600);
											
											var productViewMessage = $('.ProductViewMessage').html();
											$('.ProductView .Cart .AddedToCart').html(productViewMessage);
											$('.ProductView .Cart .AddedToCart').css('display', 'block');
											
											setTimeout('hideSmallTrolley()', 2000);
										});
							});
						});
		   },
		 	error: function(response)
		 	{
			   alert('Could not add item to trolley.')
			   closeOverlayLoader();
			   
			   $(form).children(".AddToCart").children("input").attr('disabled', '');
		 	}
	});
}

function submitCartFormFromList(form)
{
	$(form).children(".AddToCart").children("input").attr('disabled', 'true');
	$(form).children("input[name='screen']").attr('value', 'dstore.order.trolley_ajax');
	
	showOverlayLoader();
	
	$.ajax({
		   type: "POST",
		   url: DSTORE_BASE_URL + '/index.php',
		   data: $(form).serialize(),
		   dataType: 'json',
		   success: function(response)
		   {
				closeOverlayLoader();
				
				var isTransformed = false;
				var isHighlighted = false;
				$(form).effect(
						'transfer',
						{to: '#SmallTrolleyImage', className: 'ui-effects-transfer'},
						700,
						function() {
							if( isTransformed == true )
								return true;
							
							isTransformed = true;
							$('.outputArea_top .cart a').animate(
								{opacity:0},
								100,
								'linear',
								function() {
									$('.outputArea_top .cart a').css('color', '#FFFFFF');
									$('.outputArea_top .cart a').animate(
										{opacity:1},
										20,
										'linear',
										function() {
											if( isHighlighted == true )
												return true;
											
											isHighlighted = true;
											$('.outputArea_top .cart a').css('color', '#CCCCCC');

											$('.outputArea_top .cart').html(decodeURIComponent(unescape(response.Content)));
											$(form).children(".AddToCart").children("input").attr('disabled', '');
											
											$('.SmallTrolley .container .addedItem').css('display', 'block');
											$('.SmallTrolley').show('fold', {}, 600);
											$('.ProductView .Cart .AddedToCart').css('display', 'block');
											
											if($('.ProductViewMessage').hasClass('error'))
											{
												alert($('.ProductViewMessage').text());
											}
											
											setTimeout('hideSmallTrolley()', 2000);
										});
							});
						});
		   },
		 	error: function(response)
		 	{
			   alert('Could not add item to trolley.')
			   closeOverlayLoader();
			   
			   $(form).children(".AddToCart").children("input").attr('disabled', '');
		 	}
	});
}

function hideSmallTrolley()
{
	$('.SmallTrolley').hide('fold', {}, 600, function() {
		$('.SmallTrolley').css('display', '');
		$('.SmallTrolley .container .addedItem').css('display', '');
	});
}


/***********
* Misc     *
***********/
function isPositionFixedSupported()
{
  var isSupported = null;
  if (document.createElement) {
      var el = document.createElement("div");
      if (el && el.style) {
          el.style.width = "1px";
          el.style.height = "1px";
          el.style.position = "fixed";
          el.style.top = "10px";
          var root = document.body;
          if (root && root.appendChild && root.removeChild) {
              root.appendChild(el);
              isSupported = el.offsetTop === 10;
              root.removeChild(el);
          }
          el = null;
      }
  }
  return isSupported;
}

function defineCheckAllCheckbox( checkbox, options )
{
	if( !options.checkSelector )
		return false;
	
	$(checkbox).click(function() { 
        var checked_status = this.checked; 
 
        $(options.checkSelector).each(function() { 
            this.checked = checked_status; 
        });
    }); 
}

function defineCustomCheckboxesShopSettings()
{
	$('.ShopSettings .radiobutton .button').css("display", "none");
	
	$(".ShopSettings .radiobutton.women").click( function() {
		paymentTypeID = $(this).attr('id');
		$('.women .radio_image').css("display", "none");
		$('#RadioBackround_'+paymentTypeID).css("display", "block");
		$('.ShopSettings .radiobutton.women .button').attr("checked", "");
		$('#RadioBox_'+paymentTypeID).attr("checked", "checked");
		return false;
	});
	
	$(".ShopSettings .radiobutton.men").click( function() {
		paymentTypeID = $(this).attr('id');
		$('.men .radio_image').css("display", "none");
		$('#RadioBackround_'+paymentTypeID).css("display", "block");
		$('.ShopSettings .radiobutton.men .button').attr("checked", "");
		$('#RadioBox_'+paymentTypeID).attr("checked", "checked");
		return false;
	});
	
	$(".ShopSettings .radiobutton.kids").click( function() {
		paymentTypeID = $(this).attr('id');
		$('.kids .radio_image').css("display", "none");
		$('#RadioBackround_'+paymentTypeID).css("display", "block");
		$('.ShopSettings .radiobutton.kids .button').attr("checked", "");
		$('#RadioBox_'+paymentTypeID).attr("checked", "checked");
		return false;
	});
	
	$(".ShopSettings .radiobutton.articleview").click( function() {
		paymentTypeID = $(this).attr('id');
		$('.articleview .radio_image').css("display", "none");
		$('#RadioBackround_'+paymentTypeID).css("display", "block");
		$('.ShopSettings .radiobutton.articleview .button').attr("checked", "");
		$('#RadioBox_'+paymentTypeID).attr("checked", "checked");
		return false;
	});
}

function ucwords (str) {
    return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase( ); } );
}

function hideRolloverImage()
{
	$('#RolloverImage').hide();
	$('#RolloverImageElement').attr("src","");
}
function showRolloverImage(binaryLink,x,y)
{
	width = 280;
	height = 348;
	if(binaryLink != "")
	{
		rolloverImageElement = $('#RolloverImageElement');
		rolloverImage = $('#RolloverImage');
		rolloverImage.css({
			"top" : (y-height)+"px",
			"left" : (x-width-10)+"px",
			"width" : width,
			"height" : height
			});
		binaryLink = binaryLink.replace(/\&convert.*$/, '');
		binaryLink = binaryLink + '&convert[-resize]=280x348';
		rolloverImageElement.attr("src",binaryLink);
		rolloverImage.fadeIn("fast");
	}
	return true;
} // function showRolloverImage(binaryCodeID)

function generateItemCarousel(clickedControlButton)
{
	var clickedControlButton = $(clickedControlButton);
	var carousel = clickedControlButton.parent('div.ListProductCarousel')
	if( typeof(carousel.attr('rel-carousel')) == 'undefined' ) {
		return true;
	}
	
	var options = getOptionsFromRel(carousel);
	var additionalBinaries = String(options.AdditionalBinaries).split('-');
	
	// click-event für next und prev-buttons entfernen
	carousel.children('.carousel-control').unbind('click');
	
	// zusätzliche ansichten in liste einbinden
	for( var i=0; i < additionalBinaries.length; i++ )
	{
		var newListElement = $(carousel.children('ul').children('li')[0]).clone();
		var src = newListElement.children('a').children('img').attr('src');
		src = src.replace(/BinaryCodeID\=[0-9]*/, 'BinaryCodeID=' + additionalBinaries[i]);
		newListElement.children('a').children('img').attr('src', src);
		
		carousel.children('ul').append(newListElement);
	}
	
	// carousel-options in rel-attr übernehmen
	carousel.attr('rel', carousel.attr('rel-carousel'));
	carousel.attr('rel-carousel', '');
	
	// carousel erstellen
	var options = getOptionsFromRel(carousel);
  	carousel.jCarouselLite(options);
  	
  	// click auf geklickten button wiederholen um carousel-slide auszuführen
  	clickedControlButton.click();
}
