﻿var UserManager={
	init:function () {
		$$(".user-login").addReplacingEvent("click",function (e) {
			UserManager.login();
		});
		$$(".user-register").addReplacingEvent("click",function (e) {			
			Site.trackStats("/RegisterOpen");
			UserManager.register();
		});
		$$(".user-logout").addReplacingEvent("click",function (e) {
			UserManager.logout();
		});
		$$(".user-password").addReplacingEvent("click",function (e) {
			//UserManager.openProfile();
			ChangePassword.showForm(this);
		});
		$$(".user-profile").addReplacingEvent("click",function (e) {
			//UserManager.openProfile();
			UpdateProfile.showForm(this);
		});		
	},
	openProfile:function(){
		
	},
	//--------------Send to friend ACTION
	
	login:function (options) {
		options=options || {};
		// if already got source
		if (UserManager._loginFormElement) UserManager._loginLoaded(true);
		// otherwise fetch source from server
		else Mantis.EyeBlaster.Services.UserService.GetLoginFormSource(options.invalidAction || false,function (source) {
			UserManager._loginFormElement=Element.fromMarkup(source);
			UserManager._loginLoaded(false,options.invalidAction);
		});
	},
	_loginLoaded:function (immediateCall,invalidAction) {
		if (invalidAction) UserManager._loginFormElement.addClass("invalid-action");
		else UserManager._loginFormElement.removeClass("invalid-action");

		(function () {
			var lb=new SiteLightbox(UserManager._loginFormElement).show();
		}).delay(immediateCall ? 0 : 50); // delay so js/css could load
	},
	logout:function () {
		WebService.AuthenticationService.logout(location.href,function (url) { 
		var myCookie = Cookie.dispose('eyeBlasterStatus');
		if (location.href.indexOf("action") > -1)
			location.href = QS.get("backUrl");
		else
			location.href=url;
		 });
	},
	register:function () {
		LightboxForm.show("CreateUser");	
	},
	updateAvatar:function (){
		LightboxForm.show("UpdateAvatar");	
	},
	sendPassword:function (userName,callback) {
		Mantis.EyeBlaster.Services.UserService.SendPassword(userName,function (success) {
			if (callback) callback(success);
		});
	}
	
	
	
};
$DL(UserManager.init);
