$(document).ready(function () {

    // CART SCRIPT!
    var $itemHeight = 136;
    var Max = -($('.item-holder > div').children().length - 2) * $itemHeight;
    var $childs = $('.item-holder > div').children().length;

    $('.not-empty').live({
        mouseenter: function () {
            $(this).find('.bom-items').slideDown(200);
            $childs = $('.item-holder > div').children().length;
            Max = -($('.item-holder > div').children().length - 2) * $itemHeight;

            if ($childs < 3) {
                $('.slideUp, .slideDown').hide();
            } else {

                $('.slideUp, .slideDown').show();
            }

            if ($childs > 1) {
                $('.cart-holder .bom-items .item-holder').addClass('big');
            }
        },
        mouseleave: function () {
            $(this).find('.bom-items').hide();
        }
    });


    $('.bom-items .item .remove').live('click', function () {
    	
    	// REMOVE ITEM FROM CART
    	//
    	// TODO:
    	// 		AJAX
    	//	
    	// http://surfski.net.dynamicweb-cms.com/Default.aspx?CartCmd=DelOrderLine&key=OL4
    	
    	var $remURL = $(this).attr('data-url'),
    		$this = $(this);
    	
    	$this.parent().append('<div class="overlay"><img src="/files/Templates/Designs/RadoorCo/images/loader.gif" /></div>');
    	
    	$.ajax({
			url: $remURL,
			success: function(){
				
		$('#cart').load('http://surfski.net.dynamicweb-cms.com/default.aspx?ID=13 #cartCon');
		$('#total').load('http://surfski.net.dynamicweb-cms.com/default.aspx?ID=13 #totalCon');
		$('#shipping').load('http://surfski.net.dynamicweb-cms.com/default.aspx?ID=13 #shipping');
    	

        var $item = $this.parent();

        var $index = $item.index() + 1;

        $item.fadeOut(100, function () {

            if ($index == $childs && $childs > 2) {
                $('.item-holder > div').animate({
                    top: $('.item-holder > div').position().top + $itemHeight + 'px'
                }, 200);
            }

            if ($index == $childs && $childs == 1) {
                $('.bom-items').hide().parent().removeClass('not-empty').find('.cart').text('Du har ingen varer i kurven');
                $('.cart-holder').removeClass('not-empty');
            }

            $(this).remove();

            $childs = $('.item-holder > div').children().length;

            Max = -($('.item-holder > div').children().length - 2) * $itemHeight;

            if ($('.item-holder > div').children().length == 1) {
                $('.cart-holder .bom-items .item-holder').removeClass('big');
                $('.cart-holder .slideUp, .cart-holder .slideDown').hide();
                $('.item-holder > div').animate({
               	 	top: '0px'
            	}, 200);
            }

            if (3 > $('.item-holder > div').children().length) {
                $('.cart-holder .slideUp, .cart-holder .slideDown').hide();
                $('.item-holder > div').animate({
               	 top: '0px'
            	}, 200);
            }

        });
       
    	}
	});
    });

    if ($childs > 1) {
        $('.cart-holder .bom-items .item-holder').addClass('big');
    }


    $('.cart-holder .slideUp, .cart-holder .slideDown').live('click', function (e) {

        var $target = $(e.target);

        if ($('.item-holder > div').children().length == 1 || $('.item-holder > div').is(':animated') || $target.hasClass('disable')) {
            //console.log('returned false! Credentials was not met');
            return false;
        }

        if ($(this).parent().find('.item-holder > div').position().top > Max && $target.hasClass('slideUp')) {
            $(this).parent().find('.item-holder > div').animate({
                top: $(this).parent().find('.item-holder > div').position().top - $itemHeight + 'px'
            }, 200);
        } else if ($(this).parent().find('.item-holder > div').position().top !== 0 && $target.hasClass('slideDown')) {
            $(this).parent().find('.item-holder > div').animate({
                top: $(this).parent().find('.item-holder > div').position().top + $itemHeight + 'px'
            }, 200);
        }

        if (($(this).parent().find('.item-holder > div').position().top - 136) == Max && $target.hasClass('slideUp')) {
            $('.cart-holder .slideUp').addClass('disable');
        } else if ((136 + $(this).parent().find('.item-holder > div').position().top) == 0 && $target.hasClass('slideDown')) {
            $('.cart-holder .slideDown').addClass('disable');
        }

        if ($(this).parent().find('.item-holder > div').position().top - 136 !== Max) {
            $('.cart-holder .slideUp').removeClass('disable');
        }
        if ((136 + $(this).parent().find('.item-holder > div').position().top) !== 0) {
            $('.cart-holder .slideDown').removeClass('disable');
        }

    });


    $('.addCart').live('click', function () {
		
		var $url = $(this).attr('href');
        
        if($('select#variant').length > 0)
        {
			var $variantId = $('select#variant option:selected').attr('value'),
				$variantStr = '&variantid='+ $variantId;
			
			if( $variantId == 'choose' )
      		{
      			$('.variants a.jqTransformSelectOpen').delay(250).trigger('click');
      			//console.log('You have to choose a variant of the product in order to add it to your cart!');
      			return false;
      		}
		
		}
		else
		{
			var $variantStr = '';
		}
		
		$.ajax({
			url: $url+''+$variantStr,
			success: function(){
				if ($.browser.msie) {
     				window.location.reload();
   				}else{
					$('#cartHolder').addClass('not-empty').load('/default.aspx?ID=13 #cart-con');
					$('#shipping').load('/default.aspx?ID=13 #shipping');		
				}        
        	}
		});

        return false;
    });
    
    $('.cart-holder .actions a.empty').live('click', function(){
    	
    	var $emptyURL = $(this).attr('href');
    	
    	$.ajax({
			url: $emptyURL,
			success: function(){
				$('.cart-holder .item-holder > div').children().fadeOut(150);
				$('.cart-holder .bom-items .item-holder').removeClass('big');
				$('.bom-items').hide().parent().removeClass('not-empty').find('.cart').text('Du har ingen varer i kurven');
                $('.cart-holder').removeClass('not-empty');
			}
		});
    	
    	return false;
    });

});
