$j(document).ready(function() {
    $j("#loadingAnimation").bind("ajaxSend", function(){
        $j(this).show();
        $j('body').css('cursor', 'progress');
    }).bind("ajaxComplete ajaxError", function(){
        $j(this).hide();
        $j('body').css('cursor', 'auto');
    });
    
    
    $j("input[type=image]").bind("ajaxSend", function(){
        $j(this).addClass('ui-state-disabled');
        $j(this).attr('disabled', 'disabled');
        $j('body').css('cursor', 'progress');
    }).bind("ajaxComplete ajaxError ", function(){
        $j(this).removeClass('ui-state-disabled');
        $j(this).attr('disabled', '');
        $j('body').css('cursor', 'auto');
    });

    $j(window).bind("ajaxComplete", function(event, XMLHttpRequest, ajaxOptions) {
        if(XMLHttpRequest.responseText == 'loginRequired') {
            this.location.reload();
        }
    });
    
    $j('.halfDisabled').css('opacity', 0.5);
    
    stabilizeFooter();
});

$j(window).resize(function() {
    stabilizeFooter();
});

function stabilizeFooter()
{
    var windowHeight = $j(window).height();
    var contentHeight = $j('.siteContainer').innerHeight();
    
    var footerHeight = windowHeight - contentHeight;
    
    if(footerHeight > $j('#footer').innerHeight()) {
        $j('#footer').height(footerHeight);
    }
}


function getBrandThumbs()
{
    var brands = new Array();
    $j('.brandsContainer').each(function(index){
        brands[index] = $j(this).attr('id');
    });
    
    var brands = brands.join(';');
    
    
    $j.ajax({
        url: '/getBrandThumbs.php',
        type: 'post',
        data: { brands: brands },
        dataType: 'json',
        success: function(data) {
            if(data.success) {
                $j.each(data.brands, function(index, item) {
                    $j('#' + item.id).append('<div class="images"></div><input type="hidden" value="' + item.thumbs.thumb.length + '" />');
                    $j('#' + item.id).find('.images').append('<img class="image_default" src="/brands/' + item.thumbs.folder + item.thumbs.default_image + '" style="display:block;" alt="" />');
                    
                    $j.each(item.thumbs.thumb, function(imageNr, image) {
                        $j('#' + item.id).find('.images').append('<img class="image_' + (imageNr + 1) + '" src="/brands/' + item.thumbs.folder + image + '" alt="" />');
                    });
                });
            }
        }
    });
}

function initInterface()
{
	$j('.brandsContainer').hover(
	        function() {
	            $j(this).find('.brandTitle').stop().animate( { backgroundPosition: '0' });
	        },
	        
	        function() {
	            $j(this).find('.brandTitle').stop().animate( { backgroundPosition: '150' }, 1000);
	            
	            $j(this).find('.images').find('img').hide();
	            $j(this).find('.images > .image_default').css('display', 'block');
	        }
	    );
	    
	    
	    $j('.brandsContainer').click(function() {
	        var url = $j(this).find('a.brandTitle').attr('href');
	        
	        window.location.href = url;
	    });
	    
	    
	    $j('.brandsContainer').mousemove(function(event) {
	        var images = $j(this).find('input[type=hidden]').val();
	        
	        if(! images) {
	            return false;
	        }
	        
	        
	        images = parseInt(images);
	        var layerWidth = $j(this).innerWidth();
	        var elementPosition = $j(this).position();
	        
	        var quantum = Math.ceil(layerWidth / images);
	        var layerX = event.pageX - elementPosition.left
	        var imageNr = Math.ceil(layerX / quantum);
	        
	        
	        $j(this).find('.images').find('img').hide();
	        $j(this).find('.images > .image_' + imageNr).css('display', 'block');
	    });
}
