/*
 * Ext JS Library 2.2.1
 * Copyright(c) 2006-2009, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */



Ext.onReady(function(){
    // basic tabs 1, built from existing content
/*    var tabs = new Ext.TabPanel({
        renderTo: 'tabs1',
        width:450,
        activeTab: 0,
        frame:true,
        defaults:{autoHeight: true},
        items:[
            {contentEl:'script', title: 'Short Text'},
            {contentEl:'markup', title: 'Long Text'}
        ]
    });
*/
	
	//changeZitat(0);
	setTimeout ( "changeZitat("+ (0) +")", 1000 );
	
	var limit=20;
	var store = new Ext.data.JsonStore({
                url: 'phpGuestbook/listAll.php',
                totalProperty: 'totalCount',
                root: 'entries',
                fields: ['name', 'text', 'time', 'email', 'homepage'],
                remoteSort: true,
                baseParams: {
                      
                      limit: limit
                  }
            });
            store.on('load',function(a,b,c,d,e,f){
                var x=0;
            });
            store.on('loadexception',function(a,b,c,d,e,f){
                var errorMsg=c.responseText + "<br/><br/>" + d.message + "<br/><br/>" + d.name;
                Ext.MessageBox.alert('Status', '<b>Send/Receive Error.</b><br/><br/>'+errorMsg);
            });
	    
	    var nameWithEmail=function(a,b,c){
            var x="";
            if(c.json['email']!=""&&c.json['email']!=" ")
                x+="<a href=\"mailto:"+c.json['email']+"\">"+a+"</a>";
            else
                x+=a;
            return x;
	    };
	    var renderEmail=function(a,b,c){
            var x="";
            if(a!=""&&a!=" ")
                x+="<a href=\"mailto:"+a+"\"><img src=\"../ricarda_com/images/email.jpg\" /></a>";
            if(c.json['homepage']!=""&&c.json['homepage']!=" ")
                x+="<br /><a href=\"http://"+c.json['homepage']+"\" target=\"_blank\"><img src=\"../ricarda_com/images/homepageicon.jpg\" /></a>";
            return x;
        };
            var cm = new Ext.grid.ColumnModel([{
               header: "Name",
               dataIndex: 'name',
               width: 60,
	       renderer: nameWithEmail
            },{
               header: "Kontakt",
               dataIndex: 'email',
               width: 50
		, renderer: renderEmail
	       , align: 'center'
            },{
               header: "Nachricht",
               dataIndex: 'text',
               width: 300,
               align: 'left'
               //,renderer:function(value, p, record){return String.format('{0}',record.data['text'])}
               ,cls: 'white-space: pre-line;'
            },{
               header: "eingestellt am",
               dataIndex: 'time',
               width: 110
               //renderer: renderLast
            }]);
            cm.defaultSortable = false;
            var mainContent = new Ext.grid.GridPanel({
                //el:'topic-grid',
                region: 'center',
                margins:'3 3 3 0',
                //title:'ExtJS.com - Browse Forums',
                store: store,
                cm: cm,
                trackMouseOver:false,
                sm: new Ext.grid.RowSelectionModel({selectRow:Ext.emptyFn}),
                loadMask: true,
                
                bbar: new Ext.PagingToolbar({
                    pageSize: limit,
                    store: store,
                    displayInfo: true,
                    displayMsg: 'zeige Eintraege {0} - {1} von {2}',
                    emptyMsg: "No entries to display"
                })
            });
            
            
            // Panel for the west
            var nav = new Ext.FormPanel({
                title: 'schreibe einen Gaestebucheintrag',
                region: 'west',
                split: true,
                width: 500,
                collapsible: true,
                collapsed: true,
                margins:'3 0 3 3',
                cmargins:'3 3 3 3',
                items: [
                    {
                        xtype: 'textfield'
                        , id: 'name'
                        , allowBlank: false
                        , fieldLabel: 'Name'
                    },{
                        xtype: 'textfield'
                        , id: 'email'
                        , allowBlank: true
                        , fieldLabel: 'E-Mail'
                    },{
                        xtype: 'textfield'
                        , id: 'homepage'
                        , allowBlank: true
                        , fieldLabel: 'Homepage'
                    },{
                        xtype: 'textarea'
                        , id: 'text'
                        , allowBlank: false
                        , fieldLabel: 'Nachricht'
                        , height: 100
                        , width: 300
                    }
                ]
                , buttons: [
                    {
                        id: 'okB'
                        , text: 'Senden'
                        , handler: function(){
				x=nav
				y=x.form
                            y.submit({
                                url: "phpGuestbook/saveChanges.php"
                                , method: "POST"
                                , success : function(){
                                    Ext.MessageBox.alert('Status', 'Ihr Eintrag wurde an Ricarda uebermittelt.<br><br>In Kuerze wird dieser veroeffentlicht.');
				    store.load();
				    nav.collapse(true);
                                }
                                , failure: function(){
                                    Ext.MessageBox.alert('Status', 'Not successful.');
                                }
                            });
                        }
                    }
                ]
            });
	/*gBookTab.on('render',function(){
		store.load({});
	});*/
    // second tabs built from JS
    win = new Ext.Panel({
                //title: 'Guestbook',
                //closable:true,
                //closeAction:'hide',
                width:540,
                height:500,
                border:true,
                animCollapse : true,
                plain:true,
                layout: 'border',
                
                items: [nav, mainContent]
                ,buttons: [{
                    text: "erstelle einen Eintrag",
                    handler: function(){
                        nav.expand(true);
                    }
                }]
            });
	win.on('render', function(){store.load()});
	win.render('gaestebuch');
});

