Request.HTML.implement({
	processHTML: function(text){
		var match = text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
		text = (match) ? match[1] : text;
		
		var container = new Element('div');
		
		return $try(function(){
			var root = '<root>' + text + '</root>', doc;
			if (Browser.Engine.trident){
				doc = new ActiveXObject('Microsoft.XMLDOM');
				doc.async = false;
				doc.loadXML(root);
			} else {
				doc = new DOMParser().parseFromString(root, 'text/html');
			}
			root = doc.getElementsByTagName('root')[0];
			for (var i = 0, k = root.childNodes.length; i < k; i++){
				var child = Element.clone(root.childNodes[i], true, true);
				if (child) container.grab(child);
			}
			return container;
		}) || container.set('html', text);
	}

});


var domready = true;
window.addEvent('domready',MYinit);
function MYinit(){
	if(domready){
		domready = false;
		init();
	}
}
function init(){
$$('.ajax').removeEvents('click');
var cible;
var URL;
var req;
var myFx;
	// Action sur les liens du mini pannier
	$$('.ajax').addEvent('click', function(event) {
		event.stop();
		cible = "smallCart";
		URL = this.getProperty('href');
		req = new Request.HTML({url:URL,
			onComplete: function(html,xx,xx,js){
				js = js.toInt();
				myItem = 'item'+js;
				hash = parse_str(URL);
				if(hash.action=="addItem"){
					$(cible).set('text', '');
					$(cible).adopt(html);
					myFx = new Fx.Slide($(myItem));
					myFx.hide().slideIn();
					init();
					
				}
				if(hash.action=="delItem"){
					myFx = new Fx.Slide($(myItem));
					myFx.addEvent('complete', function() {
						$(cible).set('text', '');
						$(cible).adopt(html);
						init();
						
					});
					myFx.slideOut();
					
					//$$('.selctSize').removeEvents('click');
					//$$('.selctSize').removeEvents('change');
					//$$('.selctZonne').removeEvents('change');
				}
			},
			onFailure: function() {
				$(cible).set('text', 'The request failed.');
			}
		});
		req.send();
	});

	// Action sur les liens du pannier
	$$('.ajax2').addEvent('click', function(event) {
		event.stop();
		cible = "cart"
		URL = this.getProperty('href');
		req = new Request.HTML({url:URL,
			onComplete: function(html,xx,xx,js){
				js = js.toInt();
				myItem = 'item'+js;
				hash = parse_str(URL);
				$(cible).set('text', '');
				$(cible).adopt(html);
				init();
			},
			onFailure: function() {
				$(cible).set('text', 'The request failed.');
			}
		});
		req.send();
	});
	// Action quand on change les frais de port
	$$('.selctZonne').addEvent('change', function(event) {
		event.stop(); 
		cible = "cart"
		URL = "cart.ajax2.php?action=changePort&port="+this.value;
		req = new Request.HTML({url:URL,
			onComplete: function(html,xx,xx,js){
				$(cible).set('text', '');
				$(cible).adopt(html);
				$$('.selctZonne').removeEvents('change');
				init();
			},
			onFailure: function() {
				$(cible).set('text', 'The request failed.');
			}
		});
		req.send();
	});	
	
	// action quand on choisi une taille
	$$('.selctSize').addEvent('change', function(event) {
		event.stop();
		cible = "selectedSize";
		URL = "size.ajax.php?idS="+this.value;
		req = new Request.HTML({url:URL,
			onComplete: function(html,xx,xx,js){
				$(cible).set('text', '');
				$(cible).adopt(html);
				$$('.selctSize').removeEvents('change');
				init();
			},
			onFailure: function() {
				$(cible).set('text', 'The request failed.');
			}
		});
		req.send();							   
	});
};


function parse_str(str){
	var hash = new Hash();
	var array = str.split('?');
    var array = array[1].split('&');
    for(var x=0; x<array.length; x++){
        var tmp = array[x].split('=');
		hash.set(tmp[0], tmp[1]); 
    }
    return hash
}
