var GosuNews = function() {
	return {
		init: function() {
			this.newBtn = Ext.get('btn-newnews');

			var dialog = new Ext.BasicDialog("news-dlg", {
				title: 'Ny nyhet',
				modal: true,
				width: 600,
				height: 220,
				collapsible: false,
				resizable: false,
				autoScroll: false
			});

			dialog.addKeyListener(27, dialog.hide, dialog);

			var form = new Ext.form.Form({
				id: 'newsForm',
				labelAlign: 'top',
				buttonAlign: 'right',
				url: '/perl/surf/News',
				baseParams: {rm: 'add'}
			});

			form.column({width: '100%', labelSeparator: ''},
				new Ext.form.TextField({
					fieldLabel: 'Overskrift',
					name: 'Title',
					width: '99%',
					allowBlank: false
				}),

				new Ext.form.TextField({
					fieldLabel: 'URL',
					name: 'URL',
					width: '99%',
					allowBlank: false
				}),

				new Ext.form.ComboBox({
					fieldLabel: 'Type',
					name: 'Type',
					hiddenName: 'Type',
					editable: false,
					mode: 'local',
					store: new Ext.data.SimpleStore({
						fields: ['value','text'],
						data: [
							[1,'Nyhet'],
							[2,'Video'],
							[3,'Annet']
						]
					}),
					displayField: 'text',
					valueField: 'value',
					value: 'Nyhet',
					allowblank: false,
					triggerAction: 'all'
				})
			);

			form.addButton('Lagre', function() {
				form.submit({
					waitMsg: 'Lagrer...',
					success: GosuNews.success,
					scope: GosuNews
				});
			});
      form.addButton('Lukk', dialog.hide, dialog);

			form.render(dialog.body);

			this.form = form;
      this.dialog = dialog;
		},

		show: function() {
			if (!this.dialog) this.init();
			this.form.reset();

			this.dialog.show(this.newBtn.dom);
		},

		success: function(f,a) {
			var li = document.createElement('li');
			li.innerHTML = '<strong>' + a.result.Date + '</strong><a href="'+ a.result.URL + '">' + a.result.Title + '</a>';
			Ext.get('news').insertFirst(li);
			
			this.dialog.hide();
		},

		click: function(e, id) {
			if (!e) var e = window.event
			if (e.ctrlKey) {
				Ext.Msg.prompt('Slette nyhet', 'Skriv inn passord:', function(btn, text) {
					if (btn == 'ok') {
						Ext.get('news-response').load({
							url: '/perl/surf/News',
							params: 'rm=delete&Passord='+text+'&NewsID='+id,
							text: 'Sletter nyhet...',
							callback: function(e,s,oResponse) {
								result = Ext.decode(oResponse.responseText);
								if (!result.success) {
									Ext.Msg.alert('Feil passord','Feil passord');
								} else {
									Ext.get('news'+id).remove();
								}
							}
						});
					}
				});
				return false;
			} else {
				return true;
			}
		}
	}
}();