var LoginDialog = function(){
    var dialog;
    var form_login;
    
    return {
    	show: function () {
	 			dialog = this.dialog;
	 			if(!dialog){
			    dialog = new Ext.BasicDialog("hello-dlg", { 
			      modal: false, width:300, height:250, shadow:false, draggable: true, resizable: false, collapsible: false, autoTabs:true, animate: false, shadow: false
			    });
			    dialog.addKeyListener(27, dialog.hide, dialog);
			    LoginDialog.initDialog(dialog);
				}
				//dialog.show(ChatLayout.loginBtn.getEl().dom);
				dialog.show();
				this.dialog = dialog;
	 		},
	 		
	 		initDialog: function (dialog) {
	 			
	 			// Form Login
	 			form_login = new Ext.form.Form({labelAlign: 'top', buttonAlign: 'left', url: '/pages/channel/_json.login.php'});
	 			Ext.form.Field.prototype.msgTarget = 'side';
	 			var field_email = new Ext.form.TextField({allowBlank:false, fieldLabel: locStrings["email"], name: 'email',   width:190, required: true});
	 			var field_password = new Ext.form.TextField({fieldLabel: locStrings["password"], allowBlank:false, name: 'password',   width:190, required: true, inputType: "password"});
	 			form_login.add(field_email, field_password);
	 			form_login.addButton({text: locStrings["login_btn"], type: "submit"}, LoginDialog.tryLogin, form_login);
	 			form_login.addButton(locStrings["cancel_btn"], dialog.hide, dialog);
	 			form_login.render ("form-login");
	 			
	 			// Form forget
	 			form_forget = new Ext.form.Form({labelAlign: 'top', buttonAlign: 'left', url: '/pages/channel/_json.forget.php'});
	 			Ext.form.Field.prototype.msgTarget = 'side';
	 			field_email = new Ext.form.TextField({allowBlank:false, vtype: 'email', fieldLabel: locStrings["email"], name: 'email',   width:190, required: true});
	 			form_forget.add(field_email);
	 			form_forget.addButton(locStrings["remind_btn"], LoginDialog.tryForget, form_forget);
	 			form_forget.addButton(locStrings["cancel_btn"], dialog.hide, dialog);
	 			form_forget.render ("form-forget");

	 		},
	 			
	 		tryLogin: function () {
	 			if (form_login.isValid()) {
		        form_login.submit({
		        	params: {action: 'submit', channelId: ChatApp.getCurrentChat().id},
		        	//waitMsg: locStrings["login_dlg_waiting_message"],
		        	success: function (form, action) {
		        		if(action.result.user.IsLogined) {
		        			Ext.MessageBox.alert(locStrings["login_dlg_entered"], locStrings["login_dlg_hellomsg"] + " " + action.result.user.Nick);
		        			CurrentUser.loadFromRow(action.result.user);
		        			dialog.hide ();
		        			ChatLayout.entered ();
		        			
		        			if (action.result.openWindow) {
		        				//location.href = action.result.openWindow;
		        				//window.open(action.result.openWindow);
		        				Ext.MessageBox.alert("Пришел ответ", "Ваша заявка на модераторство принята, активируйте ее <a href='" + action.result.openWindow + "'>по ссылке</a>");
		        				//navigateToURL(new URLRequest(action.result.openWindow), "_blank");
		        			}
		        		} else {
		        			Ext.MessageBox.alert(locStrings["error_title"], "Sorry, unknown error");
		        		}
		        	},
		        	failure: function (form, action) {
		        		alert(action.result.errors[0].name);
		        	}
		        });
		    }else{
		        Ext.MessageBox.alert(locStrings["error_title"], locStrings["error_need_fields"]);
		    }
	 		}
	 	}
}();