function updateCartPreview(nbOfItems, nbOfItemsText, cartValue){
	$$('#cartrollover-panel .item')[0].getElement('.number-products').set('text',nbOfItemsText);
	$$('#cartrollover-panel .item')[0].getElement('.text').set('text',cartValue);	
	$('cart').getElement('img.number-products').setProperty('src',"/common/images/shop/cartnumbers/" + nbOfItems + ".png");
	$('cart').removeEvents('click');
	if (nbOfItems > 0) {
		$('cart').removeClass('emptycart');
                $('cart').setStyle('cursor','pointer');
                $('cart').addEvent('click',function(){window.location.href=$('cartrollover-panel').getElement('a').getProperty('href');});
	}
	else{
		$('cart').addClass('emptycart');
                $('cart').setStyle('cursor','normal');
	}
	if (nbOfItems != 0) {
		$('cartrollover-panel').getElement('span.text').setStyle('display', 'block');
		$('cartrollover-panel').getElement('div.line').setStyle('display', 'block');
		$('cartrollover-panel').getElement('div.link').setStyle('display', 'block');
	} else {
		$('cartrollover-panel').getElement('span.text').setStyle('display', 'none');
		$('cartrollover-panel').getElement('div.line').setStyle('display', 'none');
		$('cartrollover-panel').getElement('div.link').setStyle('display', 'none');
	}
	$('cart').fireEvent('mouseenter');
}

function processShopState(user) {
    // Set header
    if (user.STATE == 'LOGGED_IN') {
	$('identification').getElement('span.firstname').set('text', user.FIRSTNAME);
	$('eshop-header').getElements('span.logged-in').setStyle('display', 'inline');
	shopUserState = true;
	window.fireEvent('loginready');
    } else {
	$('identification').setStyle('display', 'none');
	$('eshop-header').getElements('span.not-logged-in').setStyle('display', 'inline');
	shopUserState = false;
	window.fireEvent('loginready');
    }
    if (user.PROMOTION) {
	$('promotion').set('text', user.PROMOTION);
    }
    if (user.CARTPREVIEW.NUMITEMS > 0) {
	$('cart').removeClass('emptycart');
	$('cart').setStyle('cursor','pointer');
	$('cart').addEvent('click',function(){window.location.href=$('cartrollover-panel').getElement('a').getProperty('href');});
    }
    if (user.CARTPREVIEW.NUMITEMS != 0) {
	$('cartrollover-panel').getElement('span.text').setStyle('display', 'block');
	$('cartrollover-panel').getElement('div.line').setStyle('display', 'block');
	$('cartrollover-panel').getElement('div.link').setStyle('display', 'block');
    } else {
	$('cartrollover-panel').getElement('span.text').setStyle('display', 'none');
	$('cartrollover-panel').getElement('div.line').setStyle('display', 'none');
	$('cartrollover-panel').getElement('div.link').setStyle('display', 'none');
    }
    $('eshop-header').getElement('img.number-products').set('src', '/common/images/shop/cartnumbers/'+ user.CARTPREVIEW.NUMITEMS +'.png');
    $('cartrollover-panel').getElement('span.number-products').set('text', user.CARTPREVIEW.NUMITEMS_TEXT);
    $('cartrollover-panel').getElement('span.text').set('text', user.CARTPREVIEW.PRICE);
    $('cart').addEvent('mouseenter', function(){
	    if ($('cartrollover-panel').getStyle('display') == 'none' || $('cartrollover-panel').getStyle('opacity') == 0) {
		$('cartrollover-panel').setStyles({display: 'block', opacity: 0});
		$('cartrollover-panel').setStyles({left: $('cart').getCoordinates('eshop-header').left - $('cartrollover-panel').getCoordinates().width + $('cart').getCoordinates().width});
		$('cartrollover-panel').morph({opacity: 1});
		$('cartrollover-panel').addEvent('mouseleave', function(){
			$('cartrollover-panel').morph({opacity: 0});
		    });
		$('header').addEvent('mouseleave', function(){
			$('cartrollover-panel').morph({opacity: 0});
		    });
	    }
	});	
    $('eshop-header').setStyle('visibility', 'visible');
}

var shopUserState = null;
window.addEvent('domready', function(){		  
	if (!$('eshop-header')) return;
	if (window.location.hostname.indexOf("501") != -1){
		var eshopserviceDomain = "http://eu.levi.com";
		Request.flXHRproxy.registerOptions(eshopserviceDomain,{instancePooling:true,autoUpdatePlayer:true,xmlResponseText:false,loadPolicyURL:eshopserviceDomain+"/crossdomain.xml"});

		var jsonRequest = new Request.JSON({url: eshopserviceDomain + "/"+ locale +"/shop/services/FetchShopState",
							method: "GET",
							onSuccess: processShopState,
							onFailure: errorFunction		
		}).get();
	} else {
		var jsonRequest = new Request.JSON({url: "/"+ locale +"/shop/services/FetchShopState",
			onSuccess: processShopState,
			onFailure: function () {
			shopUserState = false;
			window.fireEvent('loginready');
		}}).get();
	}
});

function errorFunction(XHRobj,errObj){
			alert('error ' + XHRobj + ", " + errObj);
			shopUserState = false;
			window.fireEvent('loginready');
			
}










