Ext.onReady(function(){ var image_data = {}; var selected_node; var store = new Ext.data.JsonStore({ url: '/scripts/exhibition_data.json.php', baseParams: {id: '27'}, root: 'images', fields: [ 'id', 'name', 'src', 'image_text', 'artist_text', ] }); store.load({ callback: function() { view.select(0); } }); // create the required templates var image_template = new Ext.XTemplate( '', '
', '
', '

', '
' ); image_template.compile(); var detail_template = new Ext.XTemplate( '', '', '', '', '', '
', '', '', '', '', '', '
', '{image_text}', '
', '
', '

', '{artist_text}', '
' ); detail_template.compile(); // initialize the View var view = new Ext.DataView({ renderTo: 'image_list', store: store, tpl: image_template, multiSelect: true, autoHeight: true, overClass: 'x-view-over', itemSelector: 'div.thumb_wrapper', emptyText: 'No images match the specified filter', prepareData: function(data) { data.image_text = unescape(String(data.image_text).replace(/\+/g, " ")); data.artist_text = unescape(String(data.artist_text).replace(/\+/g, " ")); image_data[data.name] = data; return data; }, listeners: { 'selectionchange': function(view, nodes) { selected_node = nodes[0]; if (selected_node) { var data = image_data[selected_node.id]; Ext.get('image_details').hide(); detail_template.overwrite('image_details', data); Ext.get('image_details').show(); } } } }); });