
var Login = Class.create();
Login.prototype = {
	main : null,
	//anonymous : false,
	
	
	initialize : function(main){
		this.main = main;
	},
	loginAnonymously : function(statusNum){
		anonymous = true;
		
		this.main.setSession("anonymous", 1);
		          //   d500404832c442823e 
		//var keys = ["d500404832c442823e", "2192ad3b89d9dc051c", "5d9b84b2a4259f24e1", "7d22cab70c5f43a113", "7142065b09c91eb5b0", "699b2473c4002b56f0"];
		
		
		var keys = ["23b21a72a8ebc88982", "399da25326326e24fb", "d02efb4bd7dd410f6f", "b3060afad17f3fb287", "58ea40b7b8e1ee55b3", "7262ce579da82e1803"];
		
		var names = ["Tupruttelijat", "Harkitsijat", "PianLopettavat", "Lopettajat", "UusSavuttomat", "Savuttomat"];
		
		
		var nick = names[statusNum-1];
		this.main.nick = nick;
		$("nick").value = nick;
		
		var key = keys[statusNum-1];
		
		
		this.status = statusNum;
		
		$("own_status").firstChild.nodeValue = status_names[statusNum];
		$("own_status").className =  "s_" + statusNum;
		$("status_id").value = statusNum;
		
		this.main.setSession("status", statusNum);
		this.main.setSession("status_txt", status_names[statusNum]);
		this.main.setSession("key", key);
	
		this.main.topFlash.hiliteBubble(statusNum);
		
		this.main.updateAfterStatusChange(statusNum);
		
		this.hideLoginNote();
		this.loginOK();
		
		this.main.closePopup();
	},
	login : function(){
		anonymous = false;
		
		this.main.setSession("anonymous", 0);
		var str = Form.serialize($("loginform"));
		var nick = $("log").value;
		this.main.nick = nick;
		$("nick").value = nick;
		
		this.hideLoginNote();
		
		new Ajax.Request('app/login.php' + '?' + str, 
			{
				method:'post', 
				//postBody:str,

			    onSuccess: function(transport){
			      var response = transport.responseText || "no response text";
					if (response == "err"){
						//alert("login error");
						this.showLoginNote(includes["login_error"]);
						this.main.nick = null;
					} else {
						this.loginOK();
					}
			    }.bind(this),
			    onFailure: function(){  }
			}
		);
	},
	showLoginNote : function(txt){
		Element.show($("login_note"));
		$("login_note").innerHTML = txt;
		$("login_wrapper").className = "error";
	},
	hideLoginNote : function(){
		Element.hide($("login_note"));
	},
	loginOK : function(){
		//$("login").style.display = "none";
		//$("logged").style.display = "block";
		$("login_wrapper").className = "";
		this.main.setSession("fressis_user", this.main.getNick());
		
		Element.hide($("login-wrapper"));
		Element.hide($("login_ano"));

		Element.show($("logged"));
		
		this.getAvatar();
		
		if (joinGroupAfterLogin == 0){
			// normall user
			this.getUserInfo();
		}
		
		$("logged_user").firstChild.nodeValue = this.main.nick;
		$("navi_logged_1").firstChild.nodeValue = this.main.nick;
		
		if ($("login_note")){
			this.hideLoginNote();
		}
		
		Element.show($("navi_logged_1"));
		Element.show($("navi_logged_2"));
		Element.hide($("navi_logged_3"));
		
		if (joinGroupAfterLogin > 0){
			// back froum jaiku-registration
			main.updateStatus(joinGroupAfterLogin);
			joinGroupAfterLogin = null;
		}
	},
	
	logout : function(){
		if (main.isChatOn() == true){
			this.main.logout();
			
			Element.toggle($("login_ano"));
			Element.toggle($("logged"));
		}
		Element.hide($("navi_logged_1"));
		Element.hide($("navi_logged_2"));
		Element.show($("navi_logged_3"));
		new Ajax.Request('app/logout.php', { method:'post'}	);
	},
	
	getUserInfo : function() {
		var str = "?nick=" + this.main.nick;
		
		new Ajax.Request('app/getUserInfo.php' + str, 
			{
				method:'post', 

			    onSuccess: function(transport){
					var response = transport.responseText || 0;
					this.main.updateAfterStatusChange(response);
				}.bind(this),
			    onFailure: function(){  }
			}
		)
	},
	
	getAvatar : function (){
		var str = "&nick=" + this.main.nick;
		//alert("AVA st=" + str);
		
		new Ajax.Request('app/getAvatar.php', 
			{
				method:'post', 
				postBody:str,

			    onSuccess: function(transport){
					var response = transport.responseText || "no response text";
					var j = response.evalJSON();
					var avatarURL = j.user.avatar;
					this.main.avatarURL = avatarURL;
					$("avatar_pic").src = avatarURL;
					this.main.setSession("avatarURL", avatarURL);

				}.bind(this),
			    onFailure: function(){  }
			}
		)
	},
	isAnonymous : function(){
		return anonymous == true? 1 : 0;
	}
	

	

}




