/*
    Class: MEMOZ.settings
*/
MEMOZ.settings = function(userId) {
	this.userId = userId
}
YAHOO.extend(MEMOZ.settings, MEMOZ.base, {

    _className: "MEMOZ.settings",
    id: 0,
    name: '',
    email: '',
    avatar: '',
    about: '',

    /*
    	Method: setUser
    	Parameters:
    		userData - object containing user information
    */
    setUser: function(userData) {
    	this.id = userData.id;
    	console.log(userData);
    	this.name = userData.name;
    	this.email = userData.email;
    	this.avatar = userData.image;
    	this.about = userData.about;
    },
    
    run: function() {
    
    	var me = this;
		onWindowLoad.subscribe(function() { me.onLoad(); });

    },
    
    onLoad: function() {
    
    	var me = this;
    
    	this.dlgChangePassword = new MEMOZ.dialog(
			'dlgChangePass', {ref: me, fn: 'passwordChanged'}, { action: 'changePassword', groupId: 0 }, [
			{ type: 'text', id: 'OldPassword', def: '', submitAs: 'oldPassword', focus: true },
			{ type: 'text', id: 'NewPassword1', def: '', submitAs: 'newPassword1' },
			{ type: 'text', id: 'NewPassword2', def: '', submitAs: 'newPassword2' }
		]);

		this.dlgChangeAvatar = new MEMOZ.dialog(
			'dlgChangeAvatar', {ref: me, fn: 'avatarChanged'}, { action: 'changeAvatar' }, [
			{ type: 'file', id: 'Image', def: '', submitAs: 'avatar', focus: true }
		]);

		this.btnChangePwd = new YAHOO.widget.Button('btnChangePwd', {
			onclick: { fn: function() { me.dlgChangePassword.show(); }}
		});

		this.btnSaveSettings = new YAHOO.widget.Button('btnSaveSettings', {
			onclick: { fn: function() { me.saveSettings(); }}
		});		
		
		YAHOO.util.Dom.setStyle('btnSaveSettings','vertical-align','middle');
		
		$('epost').value = this.email;
		YAHOO.util.Event.on("epost", "keyup", this.onFieldChange, this, true); 
		
	},
	
	onFieldChange: function() {
        YAHOO.util.Dom.setStyle('saveOk', 'display', 'none');		
	},
    
    saveSettings: function() {
    	this.btnSaveSettings.set('disabled', true);
    	YAHOO.util.Dom.setStyle('saveProgress', 'display', 'inline');
    	YAHOO.util.Dom.setStyle('saveOk', 'display', 'none');
    	
    	this.ajaxReq('saveUserSettings', 'settingsSaved', {
    		email: $('epost').value
    	});
    },
    
    settingsSaved: function(json) {
        YAHOO.util.Dom.setStyle('saveProgress', 'display', 'none');
    	this.btnSaveSettings.set('disabled', false);
		if (json.error == 0) {
	    	YAHOO.util.Dom.setStyle('saveOk', 'display', 'inline');			
		} else {
			$('saveErrors').innerHTML = 'Innstillingene ble ikke lagret. ' +
				'Følgende feil oppstod: <br>' + (json.error);
			console.error('An error occured while saving user settings!');
		}
    },

    passwordChanged: function(json) {
    
    	if (json.error == 0) {
			MEMOZ.dialog.infoDlg("Passordet ble endret");		
		}
		
    }
    

});
