var listResExpress = Class.create();

listResExpress.prototype = {
	initialize: function(idxSelected, first) {
		this.idSelect = 0;
		
		this.tabProd = $$('#listExpressContent a');
		
		if (first==null)
		{
			for(var i=0;i<this.tabProd.length;i++){
				Event.observe(this.tabProd[i], 'click',this.selectProdWithChange.bind(this,i));
			}
			Event.observe($('deleteListExpress'), 'click',this.deleteAll.bind(this));
		}
		Event.observe($('listeExpressPrec'), 'click',this.precProd.bind(this));
		Event.observe($('listeExpressNext'), 'click',this.nextProd.bind(this));
		Event.observe($('listeExpressView1'), 'click',this.precProd.bind(this));
		Event.observe($('listeExpressView2'), 'click',this.nextProd.bind(this));

		if(this.tabProd.length>1 && idxSelected<this.tabProd.length){
			this.idSelect = idxSelected;
		}
		this.selectProd(this.idSelect);
	},
	
	deleteAll:function (){
		$('listExpressContent').innerHTML = "";
		$('listeExpressView').style.display="none";
		this.idSelect = 0;
		PI_redirect('/magasin/listeExpress.jsp?emptyList=true');
	},
	
	addProduct:function (value){
		li = document.createElement("li");
		
		var link = document.createElement("a");
		link.rel = value;
		link.href = "#0";
		
		var linkValue = document.createTextNode(value);
		link.appendChild(linkValue);
		li.appendChild(link);
 
		$('listExpressContent').appendChild(li);
		
		this.tabProd = $$('#listExpressContent a');
		Event.observe(this.tabProd[this.tabProd.length-1], 'click',this.selectProdWithChange.bind(this,this.tabProd.length-1));
		
		if(this.tabProd.length==1){
			$('listeExpressView').style.display="block";
			this.selectProdWithChange(0);
		}
		else{
			this.selectProd(this.idSelect);
			this.refreshListSession();
		}
	},
	
	refreshListSession:function(){
		var url = '/magasin/componentMagasin/refreshListExpress.jsp';
		var listeExpress='';
		for(var i=0;i<this.tabProd.length;i++){
			if (i!=0) {listeExpress+='%23';}
			listeExpress+=this.tabProd[i].rel;
		}
		var listeParameters = 'ipListeExpress='+listeExpress;
		var myAjax = new Ajax.Request(url, {
			onComplete:this.callBackRefresh.bindAsEventListener(this), parameters: listeParameters});
	},
	
	callBackRefresh:function(e){
	},
	
	selectProdWithChange:function(id){
		var url = '/magasin/produitList.jsp';
		var target = 'contentMid';
		var listeExpress='';
		for(var i=0;i<this.tabProd.length;i++){
			if (i!=0) {listeExpress+='%23';}
			listeExpress+=this.tabProd[i].rel;
		}
		//listeExpress=escape(listeExpress);
		var listeParameters = 'ipListeExpress='+listeExpress+'&ipListeExpressIdx='+id;

		//var myAjax = new Ajax.Request(url, {
			//onComplete:this.callBack.bindAsEventListener(this,id), parameters: listeParameters});
		document.location.href=url+"?"+listeParameters;
	},

	callBack:function(e, idx){
		// mise a jour du contenu
		$('contentMid').update(e.responseText);

		// refresh nav gauche liste express
		if(this.idSelect != idx){
			this.tabProd[this.idSelect].addClassName("PI_visited");
			this.tabProd[this.idSelect].removeClassName("PI_on");
		}

		this.initialize(idx,false);

		// drag n drop
		PI_ContentScroll();
		$$('div.PI_boxProduct').each(function(e){
			if(e.id) this["d"+e.id] = new SubsDraggable(e.id, {dragelement:PI_getDragElement});
		});
		$$('div.PI_boxProductList').each(function(e){
			if(e.id){
				this["d"+e.id] = new SubsDraggable(e.id, {dragelement:PI_getDragElement});
			}
		});
		$$('div.PI_boxProductDetail').each(function(e){
			if(e.id) this["d"+e.id] = new SubsDraggable(e.id, {dragelement:PI_getDragElement});
		});
		Event.observe(document, "mousemove", PI_eventMouseMove);
	},

	selectProd:function (id){
		if(id-1<0){
			//$('listeExpressView1').innerHTML = this.tabProd[this.tabProd.length-1].rel;
			
			$('listeExpressView1').style.visibility = "hidden";
			$('listeExpressPrec').style.visibility = "hidden";
		}
		else{
			$('listeExpressView1').innerHTML = this.tabProd[id-1].rel;
			$('listeExpressView1').style.visibility = "visible";
			$('listeExpressPrec').style.visibility = "visible";
		}
		
		if(id+1>this.tabProd.length-1){
			$('listeExpressView2').innerHTML = this.tabProd[0].rel;
			
			$('listeExpressView2').style.visibility = "hidden";
			$('listeExpressNext').style.visibility = "hidden";
		}
		else{
			$('listeExpressView2').innerHTML = this.tabProd[id+1].rel;
			
			$('listeExpressView2').style.visibility = "visible";
			$('listeExpressNext').style.visibility = "visible";
		}
		$('listeExpressRes').innerHTML = this.tabProd[id].rel;

		if(this.idSelect != id){
			this.tabProd[this.idSelect].addClassName("PI_visited");
			this.tabProd[this.idSelect].removeClassName("PI_on");
		}

		this.idSelect = id;
		
		this.tabProd[id].removeClassName("PI_visited");
		this.tabProd[id].addClassName("PI_on");
		
		
	},
	
	nextProd:function (){
		if(this.idSelect+1>this.tabProd.length-1){
			return;
		}
		else{
			this.selectProdWithChange(this.idSelect+1);
		}
	},
	
	precProd:function (){
		if(this.idSelect-1<0){
			return;
		}
		else{
			this.selectProdWithChange(this.idSelect-1);
		}
	},
	
	valid:function (){
		if($F('inputAddProduct') == "") return;
		this.addProduct($F('inputAddProduct'));
		$('inputAddProduct').value = "";
	}
}
