﻿// JScript 文件
Ext.onReady(function(){
  Ext.QuickTips.init();
  var loginDlg;
  var label = {
		    html : '<p style="border-bottom: white 10px solid;">密码将被重置后发到您的注册邮箱，请确信邮箱有效。</p>', 
		    border:false
	     };   
  var emailTextBox=new Ext.form.TextField({
                    fieldLabel: '注册邮箱',
                    id:'emailTextBox',
                    name: 'emailTextBox',
                    allowBlank:false,
                    maxLength:50,
                    blankText:'请输入注册时用的邮箱',
                    width:210,
                    labelSeparator:'：',
                    vtype:'email',
                    vtypeText:'不是有效的邮箱格式' 
                });          
 var userNameTextBox=new Ext.form.TextField({
                    fieldLabel: '用户名',
                    labelSeparator:'：',
                    name: 'userNameTextBox',
                    allowBlank:false,
                    maxLength:50,
                    blankText:'请输入用户名',
                    width:210
                });             
var passwordTextBox=new Ext.form.TextField({
                    fieldLabel: '密码',
                    inputType:'password',
                    labelSeparator:'：',
                    name: 'passwordTextBox',
                    allowBlank:false,
                    maxLength:50,
                    blankText:'请输入密码',
                    width:210
                });                       
 var rememberCheckBox=new Ext.form.Checkbox({
                     //applyTo:'rememberCheckbox',
                     name: 'rememberCheckBox',
                     labelSeparator:'',
                     checked:true,
                     boxLabel:'下次记住我'
                });   
  var login =Ext.get('login'); 
  login.on('click', function(e){
    if(!loginDlg){
             loginDlg = new Ext.Window({
                el:'login-div',
                layout:'fit',
                width:325,
                height:180,
                closeAction:'hide',
                modal :true,
                plain: true,
                title:'登录框',
                border:false,
                bodyBorder:false,
                resizable:false,
                defaults: {
                        // applied to each contained item
                        width:200
                        
                    },
                 items: new Ext.TabPanel({
                    //el: 'login-tabs',
                    id:'login-tabs',
                    autoTabs:true,
                    activeTab:0,
                    deferredRender:false,
                    
                    defaults:{autoHeight:true, bodyStyle:'padding:10px'}, 
                    border:true,
                    items: [{
                                title: '用户登录',
                                //html: 'A simple tab',
                                layout:'form',
                                labelWidth:70,
                                defaultType: 'textfield',
                                items:[userNameTextBox,passwordTextBox,rememberCheckBox]
                            },{
                                title: '找回密码',
                                layout:'form',
                                labelWidth:70,
                                //html: 'Another one',
                                items:[label,emailTextBox]
                            }]
                }),
                buttons: [{
                    text:'确定',
                    handler:function(){
                       var activeTabTitle=loginDlg.getComponent('login-tabs').getActiveTab().title;
                       if(activeTabTitle=='用户登录'){
                           userLogin();
                       }
                       else{
                          getPassword();
                       }
                    }
                },{
                    text: '取消',
                    handler: function(){
                       loginDlg.hide();
                    }
                }]
            });       
        };
      userNameTextBox.reset();
      passwordTextBox.reset();
      emailTextBox.reset(); 
      loginDlg.show(this);
  });
  function userLogin(){
     if(!userNameTextBox.validate() |!passwordTextBox.validate()){
            return;
      }
    
    Ext.MessageBox.show({
                               msg: '正在验证，请等待...',
                               width:250,
                               wait:true,
                               animEl: 'mb7'
                           });
        Ext.Ajax.request({
		        url: 'data/validate_user.aspx',
		        params: {name:userNameTextBox.getValue(),password:passwordTextBox.getValue(),remember:rememberCheckBox.getValue()},
		       
		        callback: function(options,success,response){
		           
		           
		           var oResponse = Ext.decode(response.responseText);
		           if(oResponse.success){
		              
		               document.location=oResponse.response;
		              
		              
		           }
		           else{
		              Ext.MessageBox.hide();
		              Ext.MessageBox.show({
                            title: '错误提示',
                            msg: oResponse.response,
                            buttons: Ext.MessageBox.OK,
                            animEl: 'mb9',
                            //fn: showResult,
                            icon: Ext.MessageBox.ERROR
                       });
		           }
		          
		        },
		        success:function(){
		           //Ext.MessageBox.hide();
		        },
        		failure:function(){
        		    Ext.MessageBox.show({
                    title: '错误提示',
                    msg: '通信失败！',
                    buttons: Ext.MessageBox.OK,
                    animEl: 'mb9',
                    //fn: showResult,
                    icon: Ext.MessageBox.ERROR
                  });
        		}
	          });  
  }
 function getPassword(){
      if(!emailTextBox.validate()){
        return;
      }
      loginDlg.hide();
      Ext.MessageBox.show({
                       msg: '正在检测，请等待...',
                       width:250,
                       wait:true,
                       animEl: 'mb7'
                   });
      Ext.Ajax.request({
		        url: 'data/get_password.aspx',
		        params: {email:emailTextBox.getValue()},
		       
		        callback: function(options,success,response){
		           
		           
		           var oResponse = Ext.decode(response.responseText);
		           if(oResponse.success){
		               
		               Ext.example.msg('爱读提示您', oResponse.response);

		           }
		           else{
		              Ext.MessageBox.show({
                            title: '错误提示',
                            msg: oResponse.response,
                            buttons: Ext.MessageBox.OK,
                            animEl: 'mb9',
                            //fn: showResult,
                            icon: Ext.MessageBox.ERROR
                       });
		           }
		          
		        },
		        success:function(){
		           Ext.MessageBox.hide();
		        },
        		failure:function(){
        		    Ext.MessageBox.show({
                    title: '错误提示',
                    msg: '通信失败！',
                    buttons: Ext.MessageBox.OK,
                    animEl: 'mb9',
                    //fn: showResult,
                    icon: Ext.MessageBox.ERROR
                  });
        		}
	       });   
   }          
});