// Copyright (c) 2000-2008 Synology Inc. All rights reserved.
MODULE_PERSONAL_INFORMATION = function(div_id, hasConfigDialog) {
	MODULE_PERSONAL_INFORMATION.superclass.constructor.call(this, div_id, hasConfigDialog);
};

Ext.extend(MODULE_PERSONAL_INFORMATION, SYNOBLOG_MODULE, {
	init: function() {
		var el_content = Ext.get(this.div_id+'_content');
		if(el_content != null) {
			var mgr_content = el_content.getUpdateManager();
			mgr_content.update("modules/personal_information.php", "action=get_module_content");
		}
	},
	customizeConfigDialog: function() {
		var layout = this.configDialog.getLayout();
		layout.beginUpdate();

		var content = '<div align="center" style="width:340px;" id="current_info"></div>' + 
			'<div style="margin:20px;width:340px;" id="personal_information_form"></div>';

		var cp = layout.add('center', new Ext.ContentPanel(Ext.id(), {autoCreate:true, title: blog_str_personal_information_title, background:true}));
		cp.setContent(content);
		layout.endUpdate();

		this.configDialog.getLayout().getRegion("center").showPanel(0);
		this.configDialog.on("show", function(dialog) {this.getConfigDialogData(null);}, this);
		this.getForm();
	},
	getConfigDialogData: function(action) {
		Ext.UpdateManager.updateElement("current_info", "modules/personal_information.php", "action=get_current_info");
		this.form.reset();
	},
	getForm: function() {
		this.form.column({width:340},
			new Ext.form.TextField({
				fieldLabel: blog_str_personal_information_name,
				name: 'name',
				allowBlank: false,
				maxLength: 64,
				width: 212,
				validateOnBlur: true,
				validationEvent: 'blur'
			}),
			new Ext.form.TextField({
				fieldLabel: blog_str_personal_information_value,
				name: 'value',
				allowBlank: false,
				maxLength: 64,
				width: 212,
				validateOnBlur: true,
				validationEvent: 'blur'
			})
		);
		this.form.addButton(blog_str_common_add, this.add_info, this);
		this.form.addButton(blog_str_common_close, this.hide, this);
		this.form.render('personal_information_form');

		SYNOBLOG_UTILS.SetTextMaxLen(this.form, 'name', 64);
		SYNOBLOG_UTILS.SetTextMaxLen(this.form, 'value', 64);
	},
	add_info: function() {
		if(!this.form.isValid()) {
			return;
		}
		this.form.submit({url:'modules/personal_information.php',
			waitTitle:' ',
			waitMsg:blog_str_man_blog_header_pic_plz_wait,
			params: {action: 'add_info'}
		});
	},
	delete_info: function(id) {
		Ext.Ajax.request({
			url: "modules/personal_information.php",
			params: 'action=delete_info&id='+id,
			method: "POST",
			scope: this,
			success: function(res, opts) {
                this.getConfigDialogData();
			}
		});
	}
});

function OnDeleteInfo(id)
{
	var synoblog = SYNOBLOG.instance();
	synoblog.getModule('personal_information').delete_info(id);
}

SYNOBLOG.instance().registerModule("personal_information", {hasConfigDialog: 1, width:420, height:210}, MODULE_PERSONAL_INFORMATION);
