$(document).ready(function() {
    $(".lightbox").lightbox({ fitToScreen : true });

    $('#categories ul').find('a.selected').parent('li').find('ul').show();
    $('#categories ul li ul, #promocats ul li ul').find('a.selected').parents('ul').show();
    
    $('#promocats ul li a').click( function(){
    	var $ul = $(this).parent().find('ul:first');
		
		if ( $ul.is(':hidden') ) {
			$ul.show();
		} else {
			$ul.hide();
		}
		return false;
	});
    
    $('#promocats ul li ul li a').click( function(){
		if ( $(this).parent().find('ul').length == 0 ) {
			var id = $(this).attr('href');
			window.location = $('base').attr('href') + id;
		}
	});

    
    $('#chnCurrency a').click(function() {
    	$('#new_currency').val( $(this).attr('href').split('#')[1] );	
    	$('#currency').submit();
        return false;
    });
    
    $('#showLangs').click( function(){
    	if ( $('#langs').is(':hidden') ) {
    		$('#langs').show();
    	} else {
    		$('#langs').hide();
    	}
    	return false;
    });
    
    $('#search_text').click( function(){
    	$(this).val('');
    });

    $('.add_to_cart').click(function() {
        var link = $(this);
        Products.addToCart(link.attr('id').replace(/[^\d]+/,''));
        $(this).parents('li').addToCartEffect();
        return false;
    });

    $('div > #shopping_cart_mini').each(function () {
        var info = $('#popup_cart_mini', this).css('opacity', 0);
        var beingShown = false;
        var shown = false;
        $(this).hover(function() {
            if (shown || beingShown) {
                return;
            } else {
                beingShown = true;
                info.css({top:'15px', right:'-8px'}).show().animate({top:'60px',opacity:1}, 250, function() {
                    beingShown = false;
                    shown = true;
                    Products.viewCart();
                });               
            }
        }, function() {
            setTimeout(function () {
                info.animate({top:'15px', opacity:0}, 250, function() {
                    info.hide();
                    shown = false;
                    $('#popup_cart_mini_info').html('');
                });
            }, 500);
        });
    });
       
});

var Products = jQuery.extend(Products || {}, {

    addToCart: function(product_id) {
        var data = 'product_id=' + product_id + '&product_qtty=1';
        this.ajaxRequest('addtocart', data, this.updateCart);
    },

    deleteFromCart: function(session_id) {
        var data = 'sid=' + session_id;
        oncomplete = function(data) {
             this.updateCart;
             setTimeout(function(){window.location = window.location.toString()}, 0);
        }
        this.ajaxRequest('deletefromcart', data, oncomplete);
    },

    updateCartQtty: function(session_id, qtty) {
        var data = 'sid=' + session_id + '&product_qtty=' + qtty;
        oncomplete = function(data) {
             this.updateCart;
             setTimeout(function(){window.location = window.location.toString()}, 0);
        }
        this.ajaxRequest('updatecart', data, oncomplete);
    },
  
    updateCart: function(data) {
        $('#item_qtty').html(data);
    },

    viewCart: function() {
        
        $('#popup_cart_mini_info').html('<li class="loader"></li>')
        oncomplete = function(data) {
            $('#popup_cart_mini_info').html(data);
        }
        var data = 'minicart=1';
        this.ajaxRequest('shoppingcart', data, oncomplete);
    },

    ajaxRequest: function(url, data, callback) {

        callback = callback || function(){};

        $.ajax({
            url: 'bg/eshop/' + url + '/',
            data: data,
            success: callback
        });
    }
});

(function($) {

    $.fn.addToCartEffect = function() {

        var image = $(this).find('.image');
        var offset = image.offset();
        var cart  = $('#shopping_cart_mini').position();

        image.parents('li').before('<img src="' + image.attr('src') + '" id="temp" style="position:absolute;z-index:110;top: ' + offset.top + 'px;left: ' + ( offset.left - 288 ) + 'px;border:2px solid #ffd7bf;" />');

        var params = {
                top : cart.top + 'px',
                left : cart.left + 'px',
                opacity : 0.0,
                width : $('#shopping_cart_mini').width(),
                heigth : $('#shopping_cart_mini').height()
        };

        $('#temp').animate(params, 'slow', false, function() {
            $('#temp').remove();
        });

    }

})(jQuery);

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
