$(document).ready( function() {

	if (document.getElementById('SlideshowElement1'))
		initSlideshow();
	
    // Image lightbox
	$("img[rel^='#image-lightbox']").click(function() {
		return false;
	});

	$("div[rel^='#image-lightbox']").mouseenter(function(e) {
		showRolloverImage($(this).attr("binary"), $(this).attr("pos"), $(this).attr("description"));
		return false;
	});

	$("div[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);
	});

        // Searchfield
	$('#searchfield').focus( function() {
		if($(this).attr('value') == 'Search')
			$(this).attr('value', '');

                if($(this).attr('value') == 'Suche')
			$(this).attr('value', '');
	});

	$('#searchfield').blur( function() {
		if($(this).attr('value') == '')
			$(this).attr('value', 'Search');

                if($(this).attr('value') == '')
			$(this).attr('value', 'Suche');
        });
	
	if ($("#tabs").length > 0)
		$("#tabs").tabs();
});

$(window).load( function() {
	if (document.getElementById('ProductTable') && document.getElementById('CompleteBuilderProducts')) {
		height = $("#ProductTable").height();
		$("#CompleteBuilderProducts .container").height(height - 2);
	}
	
	if (document.getElementById('ProductTable') && document.getElementById('OtherProductsOfBrand')) {
		height = $("#ProductTable").height();
		$("#OtherProductsOfBrand .container").height(height - 2);
	}
});	

var i=1;
var elements=0;
var slideshow;
var showClosed = false;

function initSlideshow() {
	
	elements=1;
 	while(document.getElementById('SlideshowElement'+elements)){
 		elements++;
 	}

 	elements--;
 	startSlideshow();
}

function startSlideshow(){
	slideshow = setInterval('nextSlideshowElement()', 3000);
}

function restartSlideshow(){
	if(!showClosed)
		startSlideshow();
}
function stopSlideshow(){
	window.clearInterval(slideshow);
}

function closeSlideshow(){
	showClosed = true;
	stopSlideshow();
}

function nextSlideshowElement() {
	$('#SlideshowElement'+i).fadeOut("normal");
	
	$('#SlideshowIcon'+i).removeClass("active");

	if ((i + 1) > elements)
		i = 1;
	else
		i++;

	$('#SlideshowElement'+i).fadeIn("normal");
	
	$('#SlideshowIcon'+i).addClass("active");
	var counter = i +1;
	if ($('#SlideshowContainer').children().length >= counter) {
		var inhalt = $('#SlideshowElement'+counter).html();
		var params = decodeURIComponent($('#data').serialize());
		if (! inhalt.match(/<a/)) {
			$.ajax({
			    type: "GET",
			    url: http_root+"/index.php",
			    dataType: "json",
			    data: "ClassName=Slideshow&task=Slide&Element="+counter+'&'+params,
			    success: function(msg) {
					
					var posting = eval(msg);
					$('#SlideshowElement'+counter+'')
						.html('<a href="'+posting['url']+'"><img border="0" src="'+http_root+'/gateTools/scripts/postingbinary.php?PostingID='+posting['id']+'&amp;SortNo=&amp;convert[-resize]=856x415&amp;convert[-quality]=80&amp;convert[-strip]" alt="" style="border: 1px solid rgb(0, 0, 0);"></a>');},
			   error: function(xhr)
			   {
			   }
			});
		}
	}
}

function showSlideshowElement(j) {
	$('#SlideshowElement'+i).fadeOut("normal");
	var inhalt = $('#SlideshowElement'+j).html();
	var params = decodeURIComponent($('#data').serialize());
	if (! inhalt.match(/<a/)) {
		$.ajax({
		    type: "GET",
		    url: http_root+"/index.php",
		    dataType: "json",
		    data: "ClassName=Slideshow&task=Slide&Element="+j+'&'+params,
		    success: function(msg) {
				var posting = eval(msg);
				$('#SlideshowElement'+j+'')
					.html('<a href="'+posting['url']+'"><img border="0" src="'+http_root+'/gateTools/scripts/postingbinary.php?PostingID='+posting['id']+'&amp;SortNo=&amp;convert[-resize]=856x415&amp;convert[-quality]=80&amp;convert[-strip]" alt="" style="border: 1px solid rgb(0, 0, 0);"></a>');},
		   error: function(xhr)
		   {
		   }
		});
	}	
	$('#SlideshowElement'+j).fadeIn("normal");
	
	$('#SlideshowIcon'+i).removeClass("active");

	$('#SlideshowIcon'+j).addClass("active");
	
	i=j;

}
/*********************************
 * Textcounter (Kontaktformular) *
 *********************************/
function textCounter(field, remaining,maxlimit)
{
	if (field.value.length > maxlimit)
    	field.value = field.value.substring(0, maxlimit);
    else
   		remaining.value = maxlimit - field.value.length;
  
} // function textCounter()
/*****************
* Rollover Image *
******************/

function hideRolloverImage()
{
	rolloverImage.css("display", 'none');
	$('#RolloverImageElement').attr("src","");
}

function showRolloverImage(binaryCodeID, pos, description)
{
	if(binaryCodeID != "")
	{
		rolloverImageElement = $('#RolloverImageElement'+binaryCodeID+'-'+pos);
		rolloverImage = $('#RolloverImage'+binaryCodeID+'-'+pos);
		rolloverImage.css({
			"width" : 280,
			"height" : 348,
			"margin-left" : "-61px",
			"margin-top" : "-60px",
			"display": 'block',
			"position": 'absolute'
			});
		
	// Eigentlich waere der Link folgendermaßen
	//	binaryLink = 'http://www.skateboard-headquarter.de/gateTools/scripts/binary.php?BinaryCodeID='+binaryCodeID;
	//	binaryLink = binaryLink.replace(/\&convert.*$/, '');
	//	binaryLink = binaryLink + '&convert[-resize]=280x348';
	//	binaryLink = binaryLink + '&description=' + description;

	// Damit der Link aber direkt umgeschrieben ist wird die SmartURL verwendet
		binaryLink = 'dstore-images/overlay/' + binaryCodeID + '/' + description + '.jpg';
		rolloverImageElement.attr("src",binaryLink);
	}
	return true;
} // function showRolloverImage(binaryCodeID)



/***********
* 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.*$/,'');
			}
		});
}

function generateItemCarousel(clickedControlButton)
{
	var clickedControlButton = $(clickedControlButton);
	var carousel = clickedControlButton.parent('div.ListProductCarousel');
	$('.nachladen_brand').each(function() {
		var link = 'http://www.skateboard-headquarter.de/customGates/scripts/binary.php?BinaryCodeID=';
		if ($(this).attr('id').match(/Binary_+/)[0])  {
			link = link + $(this).attr('id').match(/[0-9]+/)[0] +'&convert[-resize]=40x40';
			$(this).html('<img src="'+link+'" alt="" border="0"/>');
		}
	});
	$('.nachladen_produkt').each(function(){
		var productlink = 'http://www.skateboard-headquarter.de/gateTools/scripts/binary.php?BinaryCodeID=';
		if($(this).attr('id').match(/Binary_+/)[0]) {
			var id = this.id.split('_');
			productlink = productlink + id[1] + '&convert[-resize]=160x220&' + id[2];
			$(this).html('<img src="'+productlink+'" alt="'+id[3]+'" border="0" title="'+id[3]+'"/>');
		}
	});
	
	
	
	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();
}

function markFields(ids, className)
{
	var idArray = ids.split("¶");

	for(var i = 0; i < idArray.length; i++)
	{
		document.getElementById(idArray[i]).className += ' '+ className;
		
	} // for(var i = 0; i < idArray.length; i ++)
	
} // function markFields()



