restoreLink = "";
restoreLinkValue = "";

Ext.onReady(function() {
	document.getElementById("NewsDescContainer").innerHTML = "";
	
    // create the Data Store
    var store = new Ext.data.JsonStore({
        root: 'topics',
        totalProperty: 'totalCount',
        remoteSort: true,

        fields: [
            'headline'
            ,'id'
            ,'author'
            ,'date_created'
            ,'description'
        ],
        proxy: new Ext.data.HttpProxy({
            url: root +'MODULER/News/php_script/NewsBrowser.php'
        })
    });

    store.setDefaultSort('date_created', 'desc');

    function renderTopic(value, p, record){
        return String.format(
                '<b><a id="link_{1}" onclick="viewNews({1});" href="?id='+SITE_ID+'&news={1}">{0}</a></b>',
                value, record.data.id);
    }
    function renderLast(value, p, r){
        return String.format('{0}', value);
    }

    var pagingBar = new Ext.PagingToolbar({
        pageSize: 25,
        store: store,
        displayInfo: true,
        displayMsg: 'Nyhed {0} - {1} af {2}',
        emptyMsg: "Der er ingen nyheder af denne type.",
        
        items:[
            '-', {
            pressed: true,
            enableToggle:true,
            text: 'Vis nyhedsbeskrivelse',
            cls: 'x-btn-text details',
            toggleHandler: function(btn, pressed){
                var view = grid.getView();
                view.showPreview = pressed;
                view.refresh();
            }
        }]
    });

    var grid = new Ext.grid.GridPanel({
        el:'NewsDescContainer'
        ,width: "100%"
        ,autoHeight: true
        ,title: 'Nyhedsbrowser for ' + site_navn
        ,store: store
        ,trackMouseOver:false
        ,disableSelection:true
        ,loadMask: true

        // grid columns
        ,columns:[{
            id: 'topic', // id assigned so we can apply custom css (e.g. .x-grid-col-topic b { color:#333 })
            header: "Overskrift",
            dataIndex: 'headline',
            width: 350,
            renderer: renderTopic,
            sortable: true
        },{
            header: "Forfatter",
            dataIndex: 'author',
            width: 200,
            hidden: false,
            sortable: true
        },{
            id: 'last',
            header: "Dato oprettet",
            dataIndex: 'date_created',
            width: 150,
            renderer: renderLast,
            sortable: true
        }]
        ,viewConfig: {
            forceFit:true,
            enableRowBody:true,
            showPreview:true,
            getRowClass : function(record, rowIndex, p, store){
                if(this.showPreview){
                    p.body = '<p>'+record.data.description+'</p>';
                    return 'x-grid3-row-expanded';
                }
                return 'x-grid3-row-collapsed';
            }
        }
        ,bbar: pagingBar
    });

    // render it
    grid.render();

    // trigger the data store load
    store.load({params:{start:0, limit:25}});
    if (news!="") {
    	document.getElementById("NewsDescContainer").style.display = "none";
    	viewNews(news);
    }
});

var newsBrowserOn = function(){
	document.getElementById("NewsContainer").style.display = "none";
	document.getElementById("NewsDescContainer").style.display = "block";
	if (restoreLink){
		document.getElementById(restoreLink).href = restoreLinkValue;
	}
};

var newsBrowserOff = function(){
	document.getElementById("NewsContainer").style.display = "block";
	document.getElementById("NewsDescContainer").style.display = "none";
};


var viewNews = function(id){
	restoreLink = "link_" + id;
	restoreLinkValue = document.getElementById(restoreLink).href;
	document.getElementById(restoreLink).href = "#";
	var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Vent venligst henter artikel ..."});
	myMask.show();
	Ext.Ajax.request({
		url: root +'MODULER/News/php_script/getNewsHtml.php'
		,params: {news: id}
		,method: "GET"
		
		,success: function(o){
			myMask.hide();
			var newsBrowser = '<div class="newsBrowserButton x-toolbar" onclick="newsBrowserOn();">Tilbage til nyheds browser</div>';
			document.getElementById("NewsContainer").innerHTML = o.responseText + newsBrowser;
			newsBrowserOff();
		}
			,failure: function(o){
				myMask.hide();
//				alert("Ajax error");
			}
		});

};
