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

var eudlr_processID;
var eudlr_documentID;
var eudlr_someDocumentMissing;
var eudlr_documentsDataStore;
// if('offline' != eudlr_mode) {
    var eudlr_documentsDataProxy = new Ext.data.ScriptTagProxy({
        timeout : 300000, // 5min
        url: eudlr_bridgeURL + '?action=getDocuments'
    });

    eudlr_documentsDataStore = new Ext.data.Store({
        remoteSort: false,
        proxy: eudlr_documentsDataProxy,
        // ds : eudlr_localDemoProcessesDataStore,
        baseParams: {
            limit: 100
        },
        listeners : {
            load : function(store, records, options) {
                eudlr_someDocumentMissing = false;
                for(i = 0; i < records.length; i++) {

                    if(1 == records[i].data.stateID) {
                        eudlr_someDocumentMissing = true;
                        break;
                    }
                }
                /*
                var sendDocuments = eudlr_Documents.find('name', 'sendDocuments');
                if(sendDocuments) {
                    if(eudlr_someDocumentMissing) sendDocuments.disable();
                    else sendDocuments.enable();
                }*/
            }
        },
        reader: new Ext.data.JsonReader(
            {
                totalProperty: 'totalCount',
                root: 'items'
            },
            [
                {
                            name: 'id'
                        },{
                            name: 'name'
                        },{
                            name: 'state'
                        },{
                            name: 'stateID'
                        },{
                            name: 'stateID_name'
                }
            ]
        )
    });
   
//}
  

    var eudlr_DocumentsGrid_colModel = new Ext.grid.ColumnModel([
        {
            header: "Name",
            width: 250,
            sortable: true,
            dataIndex: 'name'
        },
        {
            header: "Status",
            width: 140,
            sortable: true,
            dataIndex: 'state'
        },
        {
            header: "Anzeige",
            width: 70,
            sortable: false,
            dataIndex: 'stateID_name',
            renderer:function(value){
                var isGewA1 = false;
                try { // Support old API wo value.isGewA1
                    isGewA1 = value.isGewA1;
                }
                catch(e) {}
                if(isGewA1 || (value.name == 'Gewerbeanmeldung') || (value.name == 'GewA 1 Gewerbe-Anmeldung')) {
                    if(value.stateID == 1) return '<a href="#" onclick="eudlr_showDocument(true)">Formular</a>';
                    else return '<a href="#" onclick="eudlr_showDocument(false)">Anzeigen</a>';
                }
                else {
                    if((value.stateID != 1) && (value.stateID != 11)) return '<a href="#" onclick="eudlr_showDocument(false)">Anzeigen</a>';
                    else return '';
                }
                
                
            }
        },
        {
           header: "Upload",
            width: 70,
            sortable: false,
            dataIndex: 'stateID_name',
            renderer:function(value){
                 if(value.name == 'Gewerbeanmeldung') {
                    if(value.stateID == 1) return '<a href="#" onclick="eudlr_uploadDocument(true)">Upload...</a>';
                    else if((value.stateID < 5) || (value.stateID = 6)) return '<a href="#" onclick="eudlr_uploadDocument(false)">Upload...</a>';
                    else return '';
                }
                else {
                    if((value.stateID < 5) || (value.stateID = 6)) return '<a href="#" onclick="eudlr_uploadDocument(false)">Upload...</a>';
                    else return '';
                }
                

            }
        }
    ]);



var eudlr_Documents = new Ext.grid.GridPanel(
{ 
        // title: 'Dokumente',
        height : '100%',
        width : '100%',
        border: true,
        frame: true,
        ds : eudlr_documentsDataStore, // ('offline' == eudlr_mode) ? eudlr_localDemoProcessesDataStore : eudlr_documentsDataStore,
        cm: eudlr_DocumentsGrid_colModel,
        loadMask: {msg:'Dokumente werden geladen...'},
        listeners: {
            render: function() {
                // window.setTimeout(eudlr_loadDocuments, 50);
                Ext.Msg.getDialog().center = function(){
                    var xy = this.el.getAlignToXY(this.container, 'c-c');
                    this.setPagePosition(100, 400);
                    return this;
                 };
                 Ext.Msg.show({
                    title: 'Hinweis',
                    msg: 'Bitte wählen Sie einen Antrag aus der obigen Liste',
                    modal: false,
                    icon: Ext.Msg.INFO,
                    buttons: Ext.Msg.OK
                });
                return true;
            }
        },
        sm: new Ext.grid.RowSelectionModel({
            singleSelect: true,
            listeners: {
                rowselect: {
                    fn: function(sm, index, record) {
                        eudlr_documentID = record.data.id;
                        //Ext.Msg.alert('You Selected', record.data.id + ' index:' + index);
                    }
                }
            }
        })
        ,
        buttons : [
            {
                id : 'sendDocuments',
                name : 'sendDocuments',
                text : 'Dokumente an zuständige Stelle übergeben',
                handler : function() {
//                    if('offline' != eudlr_mode) {
                        if(eudlr_someDocumentMissing) {
                            Ext.Msg.show({
                                title: 'Verarbeitungshinweis',
                                msg: 'Sie müssen erst sämtliche benötigten Dokumente hinzufügen, <br/>bevor Sie an die zuständige Stelle übergeben können.',
                                modal: true,
                                icon: Ext.Msg.INFO,
                                buttons: Ext.Msg.OK
                            });
                        }
                        else {
                            Ext.Msg.show({
                                title: 'Verarbeitungshinweis',
                                msg: 'Wollen Sie die Dokumente und damit den Vorgang an die zuständige Stelle übergeben?<br/>Die Vorgangsliste wird anschliessend neu geladen.',
                                modal: true,
                                icon: Ext.Msg.QUESTION,
                                buttons: Ext.Msg.YESNO,
                                fn : function(buttonId) {
                                    if(buttonId == 'yes') {
                                        eudlr_loadProcesses(true);
                                    }

                                }
                            });
                        }
//                    }
               }
            },
            {
                text : 'Liste neu laden',
                handler : function() {
//                    if('offline' != eudlr_mode) {
                        eudlr_loadDocuments();
//                    }
               }
            }
        ]

})

function eudlr_loadDocuments() {
//    if('offline' != eudlr_mode) {
        eudlr_documentsDataStore.load({params:{processID: eudlr_processID, documentType:'Datei'}});
//    }
}

var eudlr_DocumentWindow;

function eudlr_showDocument(isFormGewA1) {
    //Ext.MessageBox.alert("documentID", "" + eudlr_documentID);
     if(isFormGewA1) {
         Ext.Msg.show({
                    title: 'Hinweis',
                    msg: 'Sie können folgendes Formular verwenden um es auszufüllen,\nggf. zu signieren, abzuspeichern und dann als Vorgangsdokument upzuloaden.',
                    modal: true,
                    icon: Ext.Msg.INFO,
                    buttons: Ext.Msg.OK,
                    fn : function() {
                        eudlr_OpenDocumentWindow("GewA1");
                        
                    }
        });
       
     }
     else {
            eudlr_OpenDocumentWindow(eudlr_documentID);
     }
     
}

function eudlr_OpenDocumentWindow(documentID) {
    eudlr_DocumentWindow = window.open(
        eudlr_bridgeURL + "?action=getDocumentContent&documentID=" + documentID,
        "EUDLRDokument",
        "height=800,width=600,menubar=no,status=no,toolbar=no,resizable=yes"
    )
}


var eudlr_UploadWindow;

function eudlr_uploadDocument(isFormGewA1) {
 if(isFormGewA1) {
         Ext.Msg.show({
                    title: 'Hinweis',
                    msg: 'Sie können mit dem Punkt "Anzeigen" für diese Dokument ein Formular bekommen,\n das Sie auszufüllen, ggf. zu signieren und \nabzuspeichern können, um des dann als Vorgangsdokument upzuloaden.',
                    modal: true,
                    icon: Ext.Msg.INFO,
                    buttons: Ext.Msg.OK,
                    fn : function() {
                        eudlr_OpenUploadWindow();
                    }
        });

     }
     else {
         eudlr_OpenUploadWindow();
     }

}

function eudlr_OpenUploadWindow() {
    eudlr_UploadWindow = window.open(
            "/eudlr/fileUpload.html",
            "EUDLRUpload"
            , "height=120,width=315,menubar=no,status=no,toolbar=no,resizable=yes"
        )
}
// })
