$(document).ready(function() {	    
	/*
	 * png fix
	 */
		$('#headerLogo, form input.submit, div.split div.splitbox img, img.arrowOrange').ifixpng();
	    $('div.buy a img').ifixpng();
		
	/*
	 * add to fav button
	 */
		$('#addToFavorite').jFav();

	/*
	 * a to z categoty functions
	 */
		$('#showAllBoxes').click( function() {
			$('.tabheadline').each( function(){
				$(this).parent().attr("id","shown");
				$(this).parent().find('.categories').slideDown("slow");
			});
		});
	    $('.tabheadline').click( function() {
	    	hideAllCategories();
			$(this).parent().attr("id","shown");
			$(this).parent().find('.categories').slideDown("slow");
	    });
	    function hideAllCategories() {
	    	$('.tab').each(function(){
				$(this).attr("id","");
	    		$(this).find('.categories').slideUp("fast");
	    	});
	    }
	    //$(".tabheadline:first").trigger('click');
	    $("#showAllBoxes").trigger('click');

	/*
	 * slider
	 */
	    $('#sliderCarousel').jcarousel({
	    	scroll: 4,
	    	buttonNextHTML: '<div></div>',
	    	buttonNextEvent: 'click',
	    	buttonPrevHTML: '<div></div>',
	    	buttonPrevEvent: 'click'
	    });
	    
		/*
	    $('img.reflect').reflect({
			height: 0.2, 
			opacity: 0.6
		});    	
		*/

		$('img.reflect').each(function(){
	    	Reflection.add(this, { height: 0.2, opacity: 0.6 });
		});
		
		
		
});

function getPremiumBundle(cat_name){
	$.ajax({url:"dispatch.do?def=.premiumBundleDisplay&cat_name="+cat_name, cache:false, success:function(data){
		$("#specialLayoutPremiumBundleFirstItem").html(data);
	}});
}

function addToPremiumBundle(ordercode,cat_name){
	$.ajax({url:"addToPremiumBundle.do?oc="+ordercode+"&cat_name="+cat_name, cache:false, success:function(data){
		$("#specialLayoutPremiumBundleFirstItem").html(data);
	}});
}

function removeFromPremiumBundle(ordercode,cat_name){
	$.ajax({url:"removeFromPremiumBundle.do?oc="+ordercode+"&cat_name="+cat_name, cache:false, success:function(data){
		$("#specialLayoutPremiumBundleFirstItem").html(data);
	}});
}

function clearPremiumBundle(cat_name){
	$.ajax({url:"clearPremiumBundle.do?cat_name="+cat_name, cache:false, success:function(data){
		$("#specialLayoutPremiumBundleFirstItem").html(data);
	}});
}

function redirectToURL(url){
	if(url!=""){
		window.location = url;
	}
}

/*
 * BASKET
 * FUNCTIONS
 */

function updateShoppingBasket(data) {
    $(document).ready(function() {
    	$(".box_small_content_basket #displayArea").hide();
    	$(".box_small_content_basket #refreshArea").show();
		$("#basketcontainer").html(data);
    });
}


function addToBasketCall(ordercode){
	$.ajax({url:"addHs24BasketEntry.do?oc="+ordercode, cache:false, success:function(data){
		updateShoppingBasket(data);
	}});
}



function addToShoppingBasketAndClear(buyCode,cat_name) {
	addToShoppingBasket(buyCode);	
	clearPremiumBundle(cat_name);
}
function addToShoppingBasket(buyCode) {
	addToBasketCall(buyCode);	
}

function addTracksToShoppingBasket() {
    var i;
    var addedNumber = 0;
    for (i=0;i<document.tracklist.length;i++) {
      if (document.tracklist.elements[i].checked) {
		addToBasketCall(document.tracklist.elements[i].value);	
        addedNumber+=1;
	  }
    }
    if(addedNumber>0){
    }else{
    	alert("Bitte wählen Sie zunächst eine Menge von Titeln für den Warenkorb aus.");
    }
}

/*
 * TRIM
 * FUNCTIONS
 */

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
