/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
// Ext.onReady(function(){


function eudlr_GetCostsResultHandler(res) {
    // Ext.MessageBox.alert('Login', 'res=' + res); return;
    if(eudlr_WaitMsgBox) {
        eudlr_WaitMsgBox.hide();
        eudlr_WaitMsgBox = null;
    }
    if((!res) || (!res.state)) {
        Ext.Msg.minWidth = 360;
        Ext.Msg.show({
            title: 'Systemfehler',
            msg: 'Fehler in der Server-Kommunikation.<br/>Bitte probieren Sie es später noch einmal.',
            modal: true,
            icon: Ext.Msg.ERROR,
            buttons: Ext.Msg.OK
        });
        return;
    }
    if('OK' == res.state) {
        if(res.data) {
            var vorgangsinfo = Ext.ComponentMgr.get('ProcessInfoLabel');
            var newHTML = eudlr_buildVorgangsinfo(res.data);
            vorgangsinfo.setText(newHTML, false);
        }
    }
    else {
        Ext.Msg.minWidth = 360;
        Ext.Msg.show({
            title: 'Systemfehler',
            msg: 'Fehler in der Server-Kommunikation.<br/>Bitte probieren Sie es später noch einmal.',
            modal: true,
            icon: Ext.Msg.STOP,
            buttons: Ext.Msg.OK
        });
    }
}

   var eudlr_localDemoProcessesData = [
//     ['42','YRNCPT','Auguste LeCroque - Kassel - (AGS: 066)',null,null,'Neuer Antrag'],
//     ['43','QOSCGN','Martin Schlöter 20 - Kassel - (AGS: 066)','01.12.2009','30.02.2010','Übergabe an ZS'],
//     ['44','UXIUWN','Martin Schlöter 17 - Kassel - (AGS: 066)','01.01.2009','01.12.2009','Inaktiv'],
//     ['45','YRNCPT','Auguste LeCroque - Kassel - (AGS: 066)',null,null,'Neuer Antrag'],
//     ['46','QOSCGN','Martin Schlöter 20 - Kassel - (AGS: 066)','01.12.2009','30.02.2010','Übergabe an ZS'],
//     ['47','UXIUWN','Martin Schlöter 17 - Kassel - (AGS: 066)','01.01.2009','01.12.2009','Inaktiv'],
     ['48','YRNCPT','Auguste LeCroque - Kassel - (AGS: 066)',null,null,'Neuer Antrag'],
     ['49','QOSCGN','Martin Schlöter 20 - Kassel - (AGS: 066)','01.12.2009','30.02.2010','Übergabe an ZS'],
     ['50','UXIUWN','Martin Schlöter 17 - Kassel - (AGS: 066)','01.01.2009','01.12.2009','Inaktiv']
    ];



    var eudlr_localDemoProcessesDataStore = new Ext.data.SimpleStore({
        fields: [
            {name: 'id'},
            {name: 'number'},
            {name: 'name'},
            {name: 'timeFrameStart', type: 'date', dateFormat: 'd.m.Y'},
            {name: 'timeFrameEnd', type: 'date', dateFormat: 'd.m.Y'},
            {name: 'state'}

        ]
    });
    if('offline' == eudlr_mode) eudlr_localDemoProcessesDataStore.loadData(eudlr_localDemoProcessesData);

var eudlr_processData;
var eudlr_processesDataStore;
if('offline' != eudlr_mode) {
    var eudlr_processesDataProxy = new Ext.data.ScriptTagProxy({
        timeout : 300000, // 5min
        url: eudlr_bridgeURL + '?action=getProcesses'
    });

    eudlr_processesDataStore = new Ext.data.Store({
        remoteSort: false,
        proxy: eudlr_processesDataProxy,
        ds : eudlr_localDemoProcessesDataStore,
        baseParams: {
            limit: 500
        },
        reader: new Ext.data.JsonReader({
                    totalProperty: 'totalCount',
                    root: 'items'
                }, [{
                            name: 'id'
                        }, {
                            name: 'number'
                        },{
                            name: 'name'
                        },{
                            name: 'timeFrameStart', type: 'date', dateFormat: 'd.m.Y'
                        },{
                            name: 'timeFrameEnd', type: 'date', dateFormat: 'd.m.Y'
                        },{
                            name: 'state'
                        },{
                            name: 'stateKey'
                        }])
    });
   
}
  

    var eudlr_ProcessesGrid_colModel = new Ext.grid.ColumnModel([
        {
            header: "Nummer",
            width: 60,
            sortable: true,
            dataIndex: 'number'
        },
        {
            header: "Vorhaben",
            width: 250,
            sortable: true,
            dataIndex: 'name'
        },
        {
            header: "Fristbeginn",
            width: 70,
            sortable: true,
            renderer: Ext.util.Format.dateRenderer('d.m.Y'),
            dataIndex: 'timeFrameStart'
        },
        {
            header: "Fristende",
            width: 70,
            sortable: true,
            renderer: Ext.util.Format.dateRenderer('d.m.Y'),
            dataIndex: 'timeFrameEnd'
        },
        {
            header: "Status",
            width: 140,
            sortable: true,
            dataIndex: 'state',
            renderer:function(value){
                var res = value;
                if(!res) return res;
                var pos = res.indexOf('EAP');
                if(pos != -1) {
                    res = res.substring(0,pos) + "ZS" + res.substring(pos + 3)
                }
                pos = res.indexOf('EA');
                if(pos != -1) {
                    res = res.substring(0,pos) + "ZS" + res.substring(pos + 2)
                }
                return res;
            }
        },
        {
            header: "",
            width: 40,
            sortable: true,
            dataIndex: 'stateKey',
            renderer:function(value){
                var color = 'nn';
                for(i = 0; i < eudlr_StatusMapping.status.process.mapping.length; i++) {
                    if(eudlr_StatusMapping.status.process.mapping[i].status == value) {
                        color = eudlr_StatusMapping.status.process.mapping[i].color;
                        break;
                    }
                }
                return '<img src="/eudlr/img/trafficsign_' + color + '.gif" width="31" height="12" />';
            }
        }
    ]);



var eudlr_Processes = new Ext.grid.GridPanel(
{ 
        // title: 'Anträge',
        height : 200,
        width : '100%',
        border: true,
        frame: true,
        ds : ('offline' == eudlr_mode) ? eudlr_localDemoProcessesDataStore : eudlr_processesDataStore,
        cm: eudlr_ProcessesGrid_colModel,
        loadMask: {msg:'Anträge werden geladen...'},
        listeners: {
            render: function() {
                window.setTimeout(eudlr_loadProcesses, 50);
                return true;
            }
        },
        sm: new Ext.grid.RowSelectionModel({
            singleSelect: true,
            listeners: {
                rowselect: {
                    fn: function(sm, index, record) {
                        eudlr_processData = record.data;
                        eudlr_processID =  record.data.id;
                        eudlr_ProcessesSubTabPanel.enable();
                        Ext.Msg.hide();
                        eudlr_loadDocuments();
                        eudlr_loadBescheide();
                        eudlr_getCosts(eudlr_processID, eudlr_GetCostsResultHandler);
                         Ext.Msg.getDialog().center = function(){
                            var xy = this.el.getAlignToXY(this.container, 'c-c');
                            this.setPagePosition(200, 300);
                            return this;
                         };
                         eudlr_WaitMsgBox = Ext.MessageBox.wait('Anfrage läuft...', "Server-Anfrage");
                        
                    }
                }
            }
        })
        ,
        buttons : [
//             {
//                text : 'Test',
//                handler : function() {
//                      var vorgangsinfo = Ext.getDom('vorgangsinfo');
//                        Ext.MessageBox.alert("vor", "vor" + vorgangsinfo)
//               }
//            },
            {
                text : 'Liste neu laden',
                handler : function() {
                    if('offline' != eudlr_mode) {
                        eudlr_loadProcesses();
                    }
               }
            }
        ]

})

function eudlr_loadProcesses(sendToZS) {
    if('offline' != eudlr_mode) {
        // Ext.MessageBox.alert("userGUID", "userGUID: " + eudlr_userGUID);
        if(sendToZS) eudlr_processesDataStore.load({params:{userGUID:eudlr_userGUID,sendToZS:eudlr_processID}});
        else eudlr_processesDataStore.load({params:{userGUID:eudlr_userGUID}});
    }
}

function eudlr_buildVorgangsinfo(costStructure) {
//    Ext.MessageBox.alert("eudlr_buildVorgangsinfo", "eudlr_processData.name=" + eudlr_processData.name);


return ' \
<div style="position:relative; height: 100%; padding:10px; font-size:11pt;overflow:auto;"> \
    <h4>Vorhaben-Übersicht</h4> \
    <h5>Kopfdaten</h5>  \
    <table border="0" style="font-size:10pt;"> \
        <tr> \
            <td style="font-weight : bold">Nummer:</td> \
            <td >' + eudlr_processData.number + '</td> \
        </tr> \
        <tr> \
            <td style="font-weight : bold">Vorhaben:</td> \
            <td >' + eudlr_processData.name + '</td> \
        </tr> \
        <tr> \
            <td style="font-weight : bold">Fristablauf:</td> \
            <td >' + Ext.util.Format.date(eudlr_processData.timeFrameEnd, 'd.m.Y') + '</td> \
        </tr> \
        <tr> \
            <td style="font-weight : bold">Status:</td> \
            <td >' + eudlr_processData.state + '</td> \
        </tr> \
    </table> \
    <h5>Voraussichtliche Gebühren (Änderungen vorbehalten)</h5>  \
     <table border="0" style="font-size:10pt;"> \
        <tr> \
            <td style="font-weight : bold">Gebühren:</td> \
            <td align="right">' + costStructure.fee + '</td> \
        </tr> \
        <tr> \
            <td style="font-weight : bold">Auslagen:</td> \
            <td align="right">' + costStructure.expenses + '</td> \
        </tr> \
        <tr > \
            <td colspan="2"><hr/></td> \
        </tr> \
        <tr> \
            <td style="font-weight : bold">Gesamt:</td> \
            <td align="right">' + costStructure.total + '</td> \
        </tr> \
    </table> \
</div> \
';

}



// })
