

UserModifyWindow = function(config){
	this.config = config;
	
	this.nameTextField = new Ext.form.TextField({
		fieldLabel: '이름',
		emptyText:'실명 또는 캠퍼닉네임 ~',
        name: 'name',
        anchor:'100%',
        allowBlank:false
	});
	
	this.emailTextField = new Ext.form.TextField({
		fieldLabel: '<font color=blue>이메일주소(아이디)</font>',
		emptyText:'로그인 할때 아이디로 사용됩니다.',
        name: 'email',
        anchor:'100%',
        vtype:'email',
        allowBlank:false
	});
	
	this.phoneTextField = new Ext.form.TextField({
		fieldLabel: '핸드폰번호',
		name: 'phone',
        anchor:'100%',
        allowBlank:false
	});

	this.hobbyTextField = new Ext.form.TextField({
		fieldLabel: '캠퍼 취미',
		name: 'hobby',
        anchor:'100%',
        allowBlank:false
	});

	this.descriptionTextField = new Ext.form.TextField({
		fieldLabel: '한줄자기소개',
		name: 'description',
		height:50,
        anchor:'100%',
        allowBlank:false
	});

	this.fileUploadField =  new Ext.form.FileUploadField({
		emptyText: '사진을 변경하시려면 선택해 주세요.',
	    fieldLabel: '내사진 변경',
	    name: 'file',
	    buttonCfg: {
		    text: '',
		    iconCls: 'upload-icon'
	    }			
	});

	
	this.passwordTextField = new Ext.form.TextField({
		id:'password',
		fieldLabel: '패스워드',
        name: 'password',
        anchor:'100%',
        inputType: 'password',
        allowBlank:false
	});
	
	this.formPanel = new Ext.form.FormPanel({
		frame: true,       
		fileUpload: true,
        labelWidth: 100,
        width: 350,
        bodyStyle: 'padding:0 10px 0;',
     
        keys: [{
        	key: Ext.EventObject.ENTER,
        	scope:this,
        	fn: this.submit
     	}],
     	items: [this.nameTextField,this.emailTextField,this.phoneTextField,this.fileUploadField,this.hobbyTextField,this.descriptionTextField,this.passwordTextField]
     	
        
    });
	
	UserModifyWindow.superclass.constructor.call(this, {
		title: '캠지 회원정보 변경',
		id:'UserModifyWindowID',
		closable:true,
		iconCls:'add',
        width: 400,
        height:450,
        minWidth: 400,
        minHeight: 450,
        layout: 'fit',
        resizeable:false,
        plain:true,
        modal:true,
        bodyStyle:'padding:5px;',
        buttonAlign:'right',
        items: this.formPanel,
        //closeAction: 'hide',
        buttons: [
        {
            text: '변경',
            type:'submit',
            scope:this,
            handler: this.submit
        },{
            text: '취소',
            type:'cancel',
            scope:this,
            handler: this.cancel
        }]
	});
	
	this.on('activate', this.loadUserData, this);
	
	
};

Ext.extend(UserModifyWindow, Ext.Window, {

	loadUserData : function (){
	  if(!IS_LOGIN){
	    this.cancel();
	  }
		if(!this.camping_user_uid){
			if(UID){
			  this.camping_user_uid = UID;
			}else{
			  return;
			}
		}
		Ext.Ajax.request({
			url: './src/api/Interface.php',
			params:{
							'class':'User',
							method:'getUser',
							camping_user_uid: this.camping_user_uid
							
						},
			waitMsg:'사용자 정보 로딩 중',
			scope:this,
			success:function(response, options){
				
				var userData = Ext.decode(response.responseText);
				
				if(userData.success){
					this.isLoadData = true;

					this.setData(userData.data);
            		
            	}else{
            		Ext.MessageBox.alert('사용자 정보 에러', userData.msg)
            	}
			},
			failure:function(response, options){
				Ext.MessageBox.alert('사용자 정보 에러', '에러가 발생하였습니다.')
			}
			            	
					
		});
	},


	// 값 설정
	setData : function(data){
	  
		this.config = data;
		this.nameTextField.setValue(this.config.name);	
		this.emailTextField.setValue(this.config.email);	
		this.phoneTextField.setValue(this.config.phone);
		this.hobbyTextField.setValue(this.config.hobby);
		this.descriptionTextField.setValue(this.config.description);
	},

	submit : function(){
		//var loginWindow = Ext.getCmp('loginWindow');
		if(this.formPanel.getForm().isValid()){
			this.formPanel.form.submit(
			{	waitMsg: '항목 등록 중...',
				url:'./src/api/Interface.php',
				params :{
							'class':'User',
							method:'modifyUser'
						},
				scope:this,
				success: function(form, action) {
					if(action.result.success){
						this.formPanel.getForm().reset();
						//this.destroy();
						location.reload();
/*
        		if(!Ext.getCmp('loginWindowID')){
        			this.loginWin = new Ext.hansub.user.LoginWindow();
       		    this.loginWin.on('login', this.loginState, this);
            }
            Ext.getCmp('loginWindowID').reset();
          	Ext.getCmp('loginWindowID').show();
*/

					}else{
            			Ext.MessageBox.alert('회원 정보변경 오류', action.result.msg)
            		}
					
  										
				},
				failure: function(form, action) { 
					Ext.MessageBox.alert('회원 정보변경 오류', action.result.msg)
				}
			});
            		//loginWindow.close();
		}
		
	},
	
	cancel : function(){
		this.close();
	}
	





});

