/**
 * @author mgiannessi
 */
var CarGrid;
var ConGrid;
var CarToolbar;
var ConToolbar;
var dhxEditorRiv;
var dhxEditorCli;
var dhxEditorFoot;
var OfferGrid;
var PreGrid;
var PreToolbar;
var WinPre;
var WinCon;
var OrderWin;
var objform;
var VarFooter = ',,#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#stat_total,,#stat_total,#stat_total';

function OnLoadCart(Skin, Show){
    CarGrid = dhxLayout.cells("c").attachGrid();
    CarGrid.setImagePath("../DHX/imgs/");
    //CarGrid.setSkin(Skin);
    CarGrid.setMathRound(2);
    CarGrid.enableMathEditing(false);
    CarGrid.setHeader("Codice,Descrizione,Listino,S1,S2,S3,S4,Prezzo,Um,Qt.,Valore,Al.,IVA,Totale");
    
    CarGrid.setInitWidths("110,*,60,40,40,40,40,60,40,40,60,30,60,60");
    CarGrid.setColAlign("left,left,right,right,right,right,right,right,center,right,right,right,right,right");
    CarGrid.setColSorting("str,str,int,int,int,int,int,int,str,int,int,int,int,int");
    CarGrid.setColTypes("ro,ro,ron,ron,ron,ron,ron,ron,ro,edn,ron,ron,ron,ron");
    CarGrid.enableTooltips("false,false,false,false,false,false,false,false,false,false,false,false,false,false");
	CarGrid.setColumnColor(",,,,,,,,,#FFFF00,,,,,");
	CarGrid.setNumberFormat("0,000.00",2,",",".");
	CarGrid.setNumberFormat("0,000.00",3,",",".");
	CarGrid.setNumberFormat("0,000.00",4,",",".");
	CarGrid.setNumberFormat("0,000.00",5,",",".");
	CarGrid.setNumberFormat("0,000.00",6,",",".");
	CarGrid.setNumberFormat("0,000.00",7,",",".");
	CarGrid.setNumberFormat("0,000.00",9,",",".");
	CarGrid.setNumberFormat("0,000.00",10,",",".");
	CarGrid.setNumberFormat("0,000.00",12,",",".");
	CarGrid.setNumberFormat("0,000.00",13,",",".");
    CarGrid.enableMultiline(true);
    if (Show) {
		CarGrid.attachEvent("onRowSelect", SelectProdottoCar);
    }
    else {
        CarGrid.attachEvent("onRowSelect", SelectProdottoCar);
    }
	CarGrid.attachEvent("onXLE", function(){
		if (Configuratore) {		
			MenuV.setCheck(0, false)
		}
		if (CarGrid.getRowsNum() != 0) {
			CarToolbar.enableItem("ConfirmCart");
			CarToolbar.enableItem("RemoveCart");
			CarToolbar.enableItem("ClearCart");
			CarToolbar.enableItem("Offerta");
			dhxLayout.cells("c").expand();
			
			if (Configuratore) {
				ClickCheck=false;
				var str = MenuV.getAllChildless();
				var checkitem = str.split(',');
				var numrow = CarGrid.getRowsNum();
				for (var i = 0;i<checkitem.length-1; i++) {
					var valore = MenuV.getUserData(checkitem[i], "TARGET")
					for (var x = 0; x<numrow; x++) {
						var cella =CarGrid.cells(CarGrid.getRowId(x), 0).getValue();
						var key = "Codice=" + cella;
						if(i==0){
							//var loader = dhtmlxAjax.postSync('../WSC_UPD_PRICE',key);
						}
						if (valore == key) {
							MenuV.setCheck(checkitem[i], 1);
						}
					}
				}
				ClickCheck=true;
				
			};
		}
		else {
			CarToolbar.disableItem("ConfirmCart");
			CarToolbar.disableItem("RemoveCart");
			CarToolbar.disableItem("ClearCart");
			CarToolbar.disableItem("Offerta");
			dhxLayout.cells("c").collapse();
		}
	});
    CarGrid.attachEvent("onEditCell", doOnCellEdit);
    CarGrid.enableRowsHover(true, 'grid_hover')
	CarGrid.enableColSpan(true);
	CarGrid.init();
	CarGrid.attachFooter(",,,,,,,,,,#stat_total,,#stat_total,#stat_total")
	var loader = dhtmlxAjax.postSync('/WSC_Cat_GetColHidCart');
	var ArrColHid = loader.xmlDoc.responseText.split(",")
	for (i=0;i<ArrColHid.length;i++)
		CarGrid.setColumnHidden(ArrColHid[i], true);
	//CarGrid.attachFooter(",#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#cspan,#stat_total,,#stat_total,#stat_total")
	
    CarToolbar = dhxLayout.cells("c").attachToolbar();
    CarToolbar.setIconsPath = "../DHX/imgs/";
    CarToolbar.addButton("RemoveCart", 1, "  Togli dal carrello", "../images/Delete.png");
    CarToolbar.addSeparator(1, 2);
    CarToolbar.addButton("ClearCart", 3, "  Vuota il carrello", "../images/Trash.png");
    CarToolbar.addSeparator(2, 4);
    CarToolbar.addButton("Offerta", 5, "  Registra carrello", "../images/Save.gif");
    CarToolbar.addSeparator(3, 6);
    CarToolbar.addButton("ConfirmCart", 7, "  Inoltra ordine", "../images/Conferma.png");
	CarToolbar.addSeparator(4, 8);
	CarToolbar.addButton("CustomerOffer", 9, "  Offerta cliente", "../images/page_setup.gif");
	CarToolbar.hideItem("CustomerOffer");
	CarToolbar.addSeparator(5, 10);
	CarToolbar.addButton("Mostra", 11, "  Mostra", "../images/Forward.png");
	var loader = dhtmlxAjax.postSync('../WSC_Get_Profilo');
	if (loader.xmlDoc.responseText == "RIVENDITORE") {
		CarToolbar.showItem("CustomerOffer");
	}
    CarToolbar.attachEvent("onClick", DoOnClickCart);
}

function doOnCellEdit(stage, RowId, ColumnId){
    if (stage == 0) {
        return true;
    }
    else {
        if (stage == 1) {
            return true;
        }
        else {
            if (stage == 2) {
                var Value = CarGrid.cells(RowId, ColumnId).getValue();
                var loader = dhtmlxAjax.postSync('/WSC_Cat_UpdBasket', 'Riga=' + parseInt(RowId) + '&Valore=' +Value);
				DoLoadBasket();
            }
        }
    }
}

function DoLoadBasket(){CarGrid.clearAndLoad("WSC_Cat_GetBasket", "json");}

function getSchedaProdottoCar(id){
    CodiceNum = parseInt(id);
    codice = URLEncode(CarGrid.cells(id, 0).getValue());
    var isCollapsed = dhxLayout.cells("a").isCollapsed();
    if (isCollapsed == false) {
        dhxLayout.cells("a").setWidth(300);
        dhxLayout.cells("a").attachURL("/WSC_Cat_Scheda?Codice=" + codice)
        dhxLayout.cells("a").setText(CarGrid.cells(id, 0).getValue());
    }
}

function SelectProdottoCar(id){
    CodiceNum = parseInt(id);
    codice = URLEncode(CarGrid.cells(id, 0).getValue());
}

function DoOnClickOfferta(id){

    switch (id) {
    
        case "GeneraOfferta":
            var Riv = encodeURIComponent(dhxEditorRiv.getContent())
            var Cust = encodeURIComponent(dhxEditorCli.getContent())
            var Foot = encodeURIComponent(dhxEditorFoot.getContent())
            var loader = dhtmlxAjax.postSync('/WSC_Off_Send', 'Riv=' + Riv + '&Cust=' + Cust + '&Foot=' + Foot);
            var WinPrt = dhxWinsOff.createWindow("PrtWin", 20, 20, 800, 600);
			WinPrt.setIcon("Text.png");
            WinPrt.center();
            WinPrt.setText('Offerta cliente');
            WinPrt.setModal(true);
            var dhxLayPrt = new dhtmlXLayoutObject(WinPrt, "1C", '<!--#4DVAR WSC_VT_LayoutSkin-->');
            dhxLayPrt.cells("a").hideHeader();
            dhxLayPrt.cells("a").attachURL('../WSC_Off_Get');
            var OffPrtToolbar = dhxLayPrt.cells("a").attachToolbar();
            OffPrtToolbar.addButton("Print", 1, "  Stampa", "../images/Print.png");
            OffPrtToolbar.attachEvent("onClick", function(id){
                dhxLayPrt.cells("a")._frame.contentWindow.print();
            });
            
            break;
            
        case "PreMod":
            WinPre = dhxWinsOff.createWindow("PreWin", 20, 20, 800, 600);
			WinPre.setIcon("Equipment.png");
            WinPre.center();
            WinPre.setText('Gestione importi prestazioni');
            WinPre.setModal(true);
			WinPre.button("close").hide();
            PreToolbar = WinPre.attachToolbar();
            PreToolbar.addButton("AddPrestazione", 1, "  Aggiungi prestazione", "../images/Create.png");
            PreToolbar.addSeparator(1, 2);
            PreToolbar.addButton("DelPrestazione", 3, "  Elimina prestazione", "../images/No-entry.png");
            PreToolbar.addSeparator(2, 4);
			PreToolbar.addButton("SavePrestazione", 5, "  Salva modifiche", "../images/save.gif");
			PreToolbar.addSeparator(3, 6);
			PreToolbar.addButton("CancelPrestazione", 7, "  Annulla modifiche", "../images/undo.gif");
			PreToolbar.addSeparator(4, 8);
            PreToolbar.attachEvent("onClick", DoOnClickCart);
            PreGrid = WinPre.attachGrid();
            PreGrid.setImagePath("../../images/");
            PreGrid.setMathRound(2);
            PreGrid.enableMathEditing(false);
            PreGrid.setHeader("Etichetta,Descrizione,Prezzo,Sconto,Um");
            PreGrid.setInitWidths("80,*,60,60,40");
            PreGrid.setColAlign("left,left,right,right,center");
            PreGrid.setColSorting("str,str,int,int,str");
            PreGrid.setColTypes("ed,ed,edn,edn,ed");
            PreGrid.setNumberFormat("0,000.00", 2);
            PreGrid.setNumberFormat("0,000.00", 3);
            PreGrid.enableMultiline(false);
            PreGrid.setSerializationLevel(true, true);
            PreGrid.init();
            PreGrid.clearAndLoad("../WSC_Get_Tabella?Tabella=Prestazioni", "xml");
            break;
            
        case "Condizioni":
            WinCon = dhxWinsOff.createWindow("ConWin", 20, 20, 800, 600);
            WinCon.setIcon("Accounting.png");
            WinCon.center();
            WinCon.setText('Gestione condizioni di vendita');
            WinCon.setModal(true);
			WinCon.button("close").hide();
            ConToolbar = WinCon.attachToolbar();
            ConToolbar.addButton("AddCondizione", 1, "  Aggiungi Condizione", "../images/Create.png");
            ConToolbar.addSeparator(1, 2);
            ConToolbar.addButton("DelCondizione", 3, "  Elimina Condizione", "../images/No-entry.png");
            ConToolbar.addSeparator(2, 4);
			ConToolbar.addButton("SaveCondizione", 5, "  Salva modifiche", "../images/save.gif");
			ConToolbar.addSeparator(3, 6);
			ConToolbar.addButton("CancelCondizione", 7, "  Annulla modifiche", "../images/undo.gif");
			ConToolbar.addSeparator(4, 8);
            ConToolbar.attachEvent("onClick", DoOnClickCart);
            ConGrid = WinCon.attachGrid();
            ConGrid.setImagePath("../DHX/imgs/");
            ConGrid.setMathRound(2);
            ConGrid.enableMathEditing(false);
            ConGrid.setHeader("Classificazione o codice prodotto,#cspan,#cspan,#cspan,#cspan,Sconto,#cspan,Ricarico,#cspan");
            ConGrid.attachHeader("Marchio,Categ.,Famiglia,Classe,Articolo,Listino,Margine,Costo,Margine");
            ConGrid.setInitWidths("60,60,60,60,*,60,60,60,60");
            ConGrid.setColAlign("left,left,left,left,left,right,right,right,right");
            ConGrid.setColSorting("str,str,str,str,str,int,int,int,int");
            ConGrid.setColTypes("ed,ed,ed,ed,ed,edn,edn,edn,edn");
			ConGrid.i18n.decimal_separator="."
  			ConGrid.i18n.group_separator=",";
            ConGrid.setNumberFormat("0,000.00", 5,",",".");
            ConGrid.setNumberFormat("0,000.00", 6,",",".");
            ConGrid.setNumberFormat("0,000.00", 7,",",".");
            ConGrid.setNumberFormat("0,000.00", 8,",",".");
            ConGrid.enableMultiline(false);
			ConGrid.setSerializationLevel(true, true);
            ConGrid.init();
            ConGrid.clearAndLoad("../WSC_Get_Tabella?Tabella=Condizioni", "xml");
            break;
            
        default:
            var loader = dhtmlxAjax.postSync('../WSC_Cat_InBasket_Cust', 'Codice=' + id);
            OfferGrid.clearAndLoad("../WSC_Cat_GetBasket_Cust", "json");
            OffToolbar.clearAll();
            OffToolbar.loadXML("../WSC_ToolBar_Offerta");
            break;
    }
}
			
function DoOnClickCart(id){

    switch (id) {
    
        case "RemoveCart":

            if (codice != "") {
                var art = codice;
                var loader = dhtmlxAjax.postSync('../WSC_Cat_FromBasket', 'Riga=' + CodiceNum);
                SBc.setText(loader.xmlDoc.responseText);
				SBb.setText("");
                codice = "";
				var loader = dhtmlxAjax.postSync('../WSC_UPD_PRICE');
                DoLoadBasket();				
                WSC_CallBack("RemoveCart", 0, art);
            }
            else {
                WSC_Alert("ATTENZIONE !", "Nessun articolo selezionato", true)
                WSC_CallBack("RemoveCart", 0, "");
            }
            break;
            
        case "ClearCart":
			if (Configuratore) {
				MenuV.setCheck(0, false)
			}
            var loader = dhtmlxAjax.postSync('../WSC_Cat_ClearBasket', '');
            SBc.setText(loader.xmlDoc.responseText);
			SBb.setText("");
			DoLoadBasket();
            break;
            
        case "ConfirmCart":
            //WSC_Confirm("Conferma di invio ordine", "Invia ordine", "Annulla", "", true, "Ordine", "Mark");
			OrderWin = dhxWins.createWindow("OrderForm", 0, 0, 366, 400);
    		OrderWin.setIconsPath = "../DHX/imgs/";
    		OrderWin.setIcon("Abort.png", "Abort.png");
    		OrderWin.center();
			OrderWin.setText("Selezione destinazione merce");
    		OrderWin.setModal(false);
    		OrderWin.denyResize(true);
    		OrderWin.button("close").show();
    		OrderWin.button("park").hide();
    		OrderWin.button("minmax1").hide();
    		OrderWin.button("minmax2").hide();
    		OrderWin.attachURL('../OrderForm');

    		/*MsgWinToolbar = OrderWin.attachToolbar();
    		MsgWinToolbar.attachEvent("onClick", WSC_ClickConfirm);
			MsgWinToolbar.clearAll();
    		MsgWinToolbar.addButton("Conferma", 1, "Inoltra", "../images/Conferma.png");
    		MsgWinToolbar.addButton("Annulla", 2, "Annulla", "../images/Delete.png");
    		WSC_CallBackId = id;
    		OrderWin.hide();*/
    
            break;
            
        case "CustomerOffer":
			var loader = dhtmlxAjax.postSync("/WSC_LOGIN_Check");
			if (loader.xmlDoc.responseText.slice(0, 2) == "OK") {
				dhxWinsOff = new dhtmlXWindows();
				dhxWinsOff.setImagePath("../../images/");
				dhxWinsOff.setIconsPath = "../../images/";
				WinOff = dhxWinsOff.createWindow("OffWin", 20, 20, 800, 600);
				WinOff.setIcon("page_setup.gif");
				WinOff.center();
				WinOff.setText('Gestione offerta cliente');
				WinOff.setModal(true);
				OffToolbar = WinOff.attachToolbar();
				OffToolbar.loadXML("../WSC_ToolBar_Offerta");
				OffToolbar.attachEvent("onClick", DoOnClickOfferta);
				dhxLayOffer = new dhtmlXLayoutObject(WinOff, "4F", '<!--#4DVAR WSC_VT_LayoutSkin-->');
				dhxLayOffer.setImagePath("../DHX/imgs/");
				dhxLayOffer.setIconsPath = "../DHX/imgs/";
				dhxLayOffer.setEffect("resize", true);
				dhxLayOffer.setAutoSize(true, true);
				dhxLayOffer.attachEvent("onCollapse", function(itemId){
					if (itemId == "a") {
						dhxLayOffer.cells(itemId).expand();
					}
					if (itemId == "b") {
						dhxLayOffer.cells(itemId).expand();
					}
				});
				dhxLayOffer.cells("a").setHeight(150);
				dhxLayOffer.cells("a").setWidth(400);
				dhxLayOffer.cells("a").setText('Intestazione rivenditore');
				dhxLayOffer.cells("a").fixSize(true, true);
				dhxEditorRiv = dhxLayOffer.cells("a").attachEditor();
				var loader = dhtmlxAjax.postSync('/WSC_Off_Intestazione');
				dhxEditorRiv.setContent(loader.xmlDoc.responseText);
				dhxLayOffer.cells("b").setHeight(150);
				dhxLayOffer.cells("b").setWidth(400);
				dhxLayOffer.cells("b").setText('Destinatario offerta');
				dhxLayOffer.cells("b").fixSize(true, true);
				dhxEditorCli = dhxLayOffer.cells("b").attachEditor();
				dhxLayOffer.cells("c").setHeight(200);
				dhxLayOffer.cells("c").setWidth(800);
				dhxLayOffer.cells("c").hideHeader();
				dhxLayOffer.cells("c").fixSize(true, false);
				OfferGrid = dhxLayOffer.cells("c").attachGrid();
				OfferGrid.setImagePath("../DHX/imgs/");
				OfferGrid.setMathRound(2);
				OfferGrid.enableMathEditing(false);
				OfferGrid.setHeader("Codice,Descrizione,Listino,Sc.,Prezzo,Um,Qt,Valore,Al.,IVA,Totale");
				OfferGrid.attachFooter(",,,,,,,#stat_total,,#stat_total,#stat_total")
				OfferGrid.setInitWidths("110,*,60,40,60,40,40,70,40,60,70");
				OfferGrid.setColAlign("left,left,right,right,right,center,right,right,right,right,right");
				OfferGrid.setColSorting("str,str,int,int,int,str,int,int,int,int,int");
				OfferGrid.setColTypes("ro,ro,ron,ron,ron,ro,edn,ron,ron,ron,ron");
				OfferGrid.setNumberFormat("0,000.00", 2,",",".");
				OfferGrid.setNumberFormat("0,000.00", 3,",",".");
				OfferGrid.setNumberFormat("0,000.00", 4,",",".");
				OfferGrid.setNumberFormat("0,000.00", 6,",",".");
				OfferGrid.setNumberFormat("0,000.00", 7,",",".");
				OfferGrid.setNumberFormat("0,000.00", 9,",",".");
				OfferGrid.setNumberFormat("0,000.00", 10,",",".");
				OfferGrid.enableMultiline(true);
				OfferGrid.attachEvent("onEditCell", doOnCellEditCust);
				OfferGrid.init();
				OfferGrid.clearAndLoad("../WSC_Cat_GetBasket_Cust", "json");
				dhxLayOffer.cells("d").setHeight(120);
				dhxLayOffer.cells("d").setWidth(800);
				dhxLayOffer.cells("d").setText('Testo di chiusura offerta');
				dhxLayOffer.cells("d").fixSize(true, true);
				dhxEditorFoot = dhxLayOffer.cells("d").attachEditor();
				dhxEditorFoot.setIconsPath("../../DHX/imgs/");
				var loader = dhtmlxAjax.postSync('/WSC_Off_Footer');
				dhxEditorFoot.setContent(loader.xmlDoc.responseText);
			}	
			else{
				WSC_Alert("Gestione offerte a cliente", "Sessione scaduta ! E' necessario effetuare di nuovo il login.", true);
				CarGrid.clearAndLoad("../WSC_Cat_GetBasket", "json");
			}
		
            break;
		
		case "Mostra":
			var loader = dhtmlxAjax.postSync('/WSC_Cat_GetColHidCart');
			var ArrColHid = loader.xmlDoc.responseText.split(",")
			if (CarGrid.isColumnHidden(ArrColHid[0])) {
				for (i=0;i<ArrColHid.length;i++)
				CarGrid.setColumnHidden(ArrColHid[i], false);
				CarToolbar.setItemText("Mostra", "Nascondi");
				CarToolbar.setItemImage("Mostra", "../images/Back.png");
				}
			else {
				for (i=0;i<ArrColHid.length;i++)
				CarGrid.setColumnHidden(ArrColHid[i], true);
				CarToolbar.setItemText("Mostra", "Mostra");
				CarToolbar.setItemImage("Mostra", "../images/Forward.png");
				}
			break;
		case "AddPrestazione":
       		PreGrid.addRow(PreGrid.getRowsNum()+1, "Codice,Descrizione,0,0");
			break;
			
		case "DelPrestazione":
       		PreGrid.deleteSelectedRows();
			break;
			
		case "SavePrestazione":
       		//var Serie = encodeURIComponent(PreGrid.serialize());
			var Serie = PreGrid.serialize();
			alert (Serie);
			var loader = dhtmlxAjax.postSync('../WSC_Upg_Tabella', "Prestazioni=" + Serie);
			OffToolbar.clearAll()
			OffToolbar.loadXML("../WSC_ToolBar_Offerta");
			WinPre.close();
			WinOff.show();
			break;
			
		case "CancelPrestazione":
       		WinPre.close();
			WinOff.show();
			break;
			
		case "AddCondizione":
       		ConGrid.addRow(ConGrid.getRowsNum()+1, ",,,,,0,0,0,0");
			break;
			
		case "DelCondizione":
       		ConGrid.deleteSelectedRows();
			break;
			
		case "SaveCondizione":
       		//var Serie = encodeURIComponent(ConGrid.serialize());
			var Serie = ConGrid.serialize();
			var loader = dhtmlxAjax.postSync('../WSC_Upg_Tabella', "Condizioni=" + Serie);
			OfferGrid.clearAndLoad("../WSC_Cat_GetBasket_Cust", "json");
			WinCon.close();
			break;
			
		case "CancelCondizione":
       		WinCon.close();
			break;
			
        case "Offerta":
            window.open('../WSC_Offerta');
            var loader = dhtmlxAjax.postSync('../WSC_Cat_ClearSemafori', "Offerta");
            break;
    }
}

function doOnCellEditCust(stage, RowId, ColumnId){
    if (stage == 0) {
        return true;
    }
    else {
        if (stage == 1) {
            return true;
        }
        else {
            if (stage == 2) {
                var Value = OfferGrid.cells(RowId, ColumnId).getValue();
                var loader = dhtmlxAjax.postSync('../WSC_Cat_UpdBasket', 'Riga=' + parseInt(RowId) + '&Valore=' + Value);
                var loader = dhtmlxAjax.postSync('../WSC_Cat_ProductInBasket');
                if (loader.xmlDoc.responseText != "0") {
                    OfferGrid.clearAndLoad("../WSC_Cat_GetBasket_Cust", "json");
					CarGrid.clearAndLoad("../WSC_Cat_GetBasket", "json");
                }
                else {
                    CarToolbar.disableItem("ClearCart");
                }
            }
        }
    }
}