/**
 * @author cashbit
 */


function OnMxKartShipping_Transport(htmltext){
	var request = {
		action : 'mxkartshipping_transport',
		sessiondata: this.MxKartSessionData
	};	
	Ext.Ajax.request({
	   url: './index.php',
	   success: function(r){
	   		Ext.get('mxkartmenuvoicecontents').update(r.responseText);
	   },
	   failure: function(r){
	   		alert(r.statusText) ;
	   },			
	   params : js2php(request)
	});
}

function MxKartShipping_Transport(){
	if (!MxKartCheckActiveRows()){
		Ext.Msg.alert(mxkartattention,mxkartisempty);
		return		
	}
	if (!WorkFlowState.loggedin){
		Ext.Msg.alert(mxkartattention,mxkartyouhavetologin);
		return
	} 	
	var lm = new Ext.LoadMask(Ext.getBody()) ;
	lm.show() ;
	this.MxKartSessionData.transporttotal = 0 ;
	var i = 0 ;
	var artlist = new Ext.util.MixedCollection(); 
	artlist.addAll(this.MxKartSessionData.itemlist) ;
	this.MxKartSessionData.shippingtotal=0;
	
	var artlistactive = artlist.filter('active',1);
	var maxi = artlistactive.getCount();
	var itemrecid = artlistactive.itemAt(i).pinfo.RECID ;
	var sep="";
	var tmp=0;
	maxi=1;
	//mando tutti gli articoli separati da virgola
	artlistactive.each(
		function (item,i,l){
				tmp +=(artlistactive.itemAt(i).pinfo.PESO * artlistactive.itemAt(i).qty) ;
		}		
	)
	
	var request = {
		articolo : itemrecid,
		peso : tmp,
		nazione : this.MxKartSessionData.countryid,
		citta : this.MxKartSessionData.zoneid,
		scelta_dhl: 'no',  // si
		tipo_imballaggio: 'cartone',  // legno
		tipo_trasporto: 'nave',
		ajax: 'yes'
	};

	function EndShippingRequest(){
		MxKartSaveSession(function(){
			lm.hide();
			OnMxKartShipping_Transport()			
		});

	}
	//splx
	function DoShippingRequest(){
		Ext.Ajax.request({
			   url: './index.php?action=getshippinginfo',
			   success: function(r){
				  	if (r.responseText.indexOf('{') == 0){
				  		var resp = Ext.util.JSON.decode(r.responseText);
				  		this.MxKartSessionData.shippingtotal+=resp.Totale;
				  		var artlistitem = artlistactive.itemAt(i) ;
				  		artlistitem.shippinginfo = resp ;
				  		i++ ;
				  		if (i < maxi) {
				  			request.articolo = artlistactive.itemAt(i).pinfo.RECID ;
				  			DoShippingRequest() ;
				  		} else {
				  			EndShippingRequest() ;
				  		}
				  	} else {
				  		Ext.Msg.alert('Error',r.responseText);
				  	}
			   },
			   failure: function(r){
			   	alert(r.statusText) ;
			   },			
			   params : request
		});	
	}

	DoShippingRequest();

}
