Ext.onReady(function() {

	Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
	
	// 使用表单提示
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = 'side';
	
	var languagedata = [
        ['0',	'English'],
        ['1',	'中文']
    ];
    
    var languagestore= new Ext.data.ArrayStore({ 
        fields: ['value', 'text'],
        data : languagedata
	});

	// 定义表单
	var login = new Ext.FormPanel({
		labelWidth : 75,
		monitorValid : true,// 把有formBind:true的按钮和验证绑定
		baseCls : 'x-plain',
		defaults : {width : 150},
		labelAlign : 'right',
		defaultType : 'textfield',// 默认字段类型
		
		// 定义表单元素
		items : [{
			fieldLabel :getStr(S_UserName),
			name : 'uname',// 元素名称
			cls:'user',
			// anchor:'95%',//也可用此定义自适应宽度 
			allowBlank : false,// 不允许为空
			blankText : getStr(S_UserNameBlank)// 错误提示内容
		},{
			inputType : 'password',
			fieldLabel :getStr(S_Password),
			// anchor:'95%',
			name : 'upass',
			cls:'key',
			allowBlank : false,
			blankText : getStr(S_PasswordBlank)
		},{
			hiddenName:'language',
            xtype:'combo',
            fieldLabel:getStr(S_Language),
            displayField : 'text', 
        	valueField : 'value',
        	store : languagestore,
        	mode : 'local',
        	value: 0,
        	width:80,
        	triggerAction : 'all'
		}],

        buttons : [
        	{text : getStr(S_Login),
        	formBind : true,
        	type : 'submit',
        	// 定义表单提交事件
        	handler : function() {
        		if (login.form.isValid()) {// 验证合法后使用加载进度条
        			Ext.MessageBox.show({
        				title : getStr(S_PleaseWait),
        				msg : getStr(S_Logining),
        				progressText : '',
        				width : 300,
        				progress : true,
        				closable : false,
        				animEl : 'loading'
        			});

                    // 控制进度速度
        			var f = function(v) {
        				return function() {
        					var i = v / 11;
        					Ext.MessageBox.updateProgress(i, '');
        				};
        			};
        			for (var i = 1; i < 12; i++) {
        				setTimeout(f(i), i * 150);
        			}
        			
        			// 提交到服务器操作
        			login.form.doAction('submit', {
        				url : 'Login',// 文件路径
        				method : 'post',// 提交方法post或get
        				//params : {language:lang},
        				
        				// 提交成功的回调函数
        				success : function(form, action) {
        					if (action.result.msg == 'ok') {
        						role=action.result.role;
        						rolevalue=action.result.rolevalue;
        						//window.location = 'view.jsp';
        						window.location = 'view';
        					} else {
        						Ext.Msg.alert(getStr(S_LoginFail),action.result.msg);
        					}
        				},

                        // 提交失败的回调函数
        				failure : function() {
        					Ext.Msg.alert(getStr(S_Error),getStr(S_LoginError));
        				}
        			});
        		}
        	}
        	}, 
        	{text : getStr(S_Close),
        	handler : function() {
        		login.form.reset();
        	}// 重置表单
        	}
        ]
	});
	
    // 定义窗体
	var win = new Ext.Window({
		id : 'loginWin',
		title : getStr(S_Title),
		layout : 'fit', // 布局方式fit，自适应布局
		width : 300,
		height : 160,
		modal : true,
		plain : true,
		bodyStyle : 'padding:5px;',
		maximizable : false,// 禁止最大化
		closeAction : 'close',
		closable : false,// 禁止关闭
		collapsible : true,// 可折叠
		buttonAlign : 'center',
		items : login
		// 将表单作为窗体元素嵌套布局
	});
	win.show();// 显示窗体��ʾ����
});