/*!
 * Ext JS Library 3.1.1
 * Copyright(c) 2006-2010 Ext JS, LLC
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
 

 
Ext.onReady(function(){

    Ext.QuickTips.init();

    // turn on validation errors beside the field globally
    Ext.form.Field.prototype.msgTarget = 'under';

    var bd = Ext.getBody();

    /*
     * ================  Simple form  =======================
     */
      var store = new Ext.data.ArrayStore({
        fields: ['nazwa'],
        data : Ext.exampledata.tytul // from states.js
    });




    var simple = new Ext.FormPanel({
        labelWidth: 100, // label settings here cascade unless overridden
        frame:true,
        title: 'Proszę wpisać dane do rejestracji na konferencję',
        bodyStyle:'padding:5px 5px 0px ;',
        width: 415,
        defaults: {width: 270},
        defaultType: 'textfield',
        renderTo: 'cos',
        
        items: [ new Ext.form.ComboBox({
                    fieldLabel: 'Tytuł',
                    name: 'tytul',
                    store: store,
                    displayField:'nazwa',
                    typeAhead: true,
                    mode: 'local',
                    forceSelection: true,
                    triggerAction: 'all',
                    selectOnFocus:true,
                    emptyText:'Wybierz...',
                    allowBlank: false,
                    blankText: 'Pole jest wymagane'                                        
                }),
            {
                fieldLabel: 'Imię i Nazwisko',
                name: 'first',
                allowBlank:false,
                blankText: 'Pole jest wymagane'
            },{
                fieldLabel: 'Miejsce pracy',
                name: 'praca',
                allowBlank:false,
                blankText: 'Pole jest wymagane'
            }, {
                fieldLabel: 'Email',
                name: 'email',
                vtype:'email',
                allowBlank:false,
                blankText: 'Pole jest wymagane'
            }
        ],
        
        buttons: [{
            text: 'Zapisz',
            handler: function() {
                      simple.getForm().submit({
                        waitTitle: 'Zapisywanie danych',
                        waitMsg: 'Trwa wysyłanie danych...',
                        method: 'POST',
                        url: 'formularz.php',
                        success: function(f, a){
		                      Ext.MessageBox.alert('Sukces','Dziękujemy za rejestrację.\nPotwierdzenie rejestracji zostało wysłane na adres mailowy.');
		                      simple.getForm().reset();
                        },

                        failure: function(form, action) {
                          switch (action.failureType) {
                            case Ext.form.Action.CLIENT_INVALID:
                              Ext.Msg.alert('Błąd', 'Nie zostały wypełnione wszystkie pola w formularzu');
                              break;
                            case Ext.form.Action.CONNECT_FAILURE:
                              Ext.Msg.alert('Błąd komunikacji', 'Zgłoszenie nie zostało zapisane.');
                              break;
                            case Ext.form.Action.SERVER_INVALID:
                              Ext.Msg.alert('Błąd', 'Nie można zapisać rejestracji do bazy'+action.response.responseText);
                              
                        } 
                    
                      }

                    });
                     } 
        },{
        text: 'anuluj',
        handler: function() {simple.getForm().reset(); } 
        }
        ]
    });

    simple.render(document.body);

  
});