var Users={
////////////////params
ComFile: function (){return LILIOS_ROOT+'system/mods/mod_users/mod_users_com.php';},
////////////////!params
////////////////REMEMBERME
rememberMe:function(rememberme){
	if(rememberme){ rememberme='yes';CHAT_CN('logout' , 'strike');}else{rememberme='no';CHAT_CN('logout' , '');}
	params = 'action=setRememberMe&rememberme='+rememberme;	
	new Ajax.Request( this.ComFile(), { asynchronous: true, method: 'post', 
								   		parameters	: params ,
							   			onSuccess	:function()	{	WBID('rememberme_w','');				} ,
							   			onLoading	:function()		{	WBID('rememberme_w',progress());		} 
									}
					);
},
////////////////!REMEMBERME
////////////////LoginLogout
login:function(id){
	params = 'action=login&id='+id;
	new Ajax.Request( this.ComFile(), { asynchronous: true, method: 'post', 
							   		parameters	: params ,
						   			onSuccess	:function(obj)	{	document.location.reload();			} ,
						   			onLoading	:function()		{	WBID('loginForm_w',progress());		} 
								}
				);
},
logout:function(){
	params = 'action=logout';
	new Ajax.Request( this.ComFile(), { asynchronous: true, method: 'post', 
							   		parameters	: params ,
						   			onSuccess	:function(obj)	{	document.location.reload();			} ,
						   			onLoading	:function()		{	WBID('loginForm_w',progress());		} 
								}
				);
},
////////////////!LoginLogout
//////////////////screen
screenIt:function(menu,content){
	//WBID('usersInfos'   , progress());
	WBID('usersContent', content);
	WBID('usersContent', content);
},
screenForgotForm	:function(){ this.screenIt( ajaxText( this.ComFile(),'action=getMenuOnforgot'),ajaxText( this.ComFile(),'action=getContentOnforgot'));},
screenUpdateForm	:function(){ this.screenIt( ajaxText( this.ComFile(),'action=getMenuOnUpdate'),ajaxText( this.ComFile(),'action=getContentOnUpdate'));},
screenRegisterForm	:function(){ this.screenIt( ajaxText( this.ComFile(),'action=getMenuOnRegister'),ajaxText( this.ComFile(),'action=getContentOnRegister'));},
screenLoginForm		:function(){ this.screenIt( ajaxText( this.ComFile(),'action=getMenuOnLogin'),ajaxText( this.ComFile(),'action=getContentOnLogin'));},
screenUserInfos		:function(){ this.screenIt( ajaxText( this.ComFile(),'action=getMenuOnUserInfos'), ajaxText( this.ComFile(),'action=getContentOnUserInfos'));},
//////////////////!screen
sendActivationMail:function(id){
params = 'action=sendMail&id='+id;
new Ajax.Request( this.ComFile(), { asynchronous: true, method: 'post', parameters: params ,onComplete:this.sendActivationMailDone });
},
sendActivationMailDone:function(obj){ 
WBID('forgotForm_r', obj.responseText); 
WBID('forgotForm_w', ''); 
},
/////////////////!validations
forgotValidate:function(){
	var email=$id('forgotForm_email').value;
	if(!email.isEmail()){ params = 'action=getMessage&i=0&type=err'; }else{ params = 'action=checkForgot&email='+email;	}
	new Ajax.Request( this.ComFile(), { asynchronous: true, method: 'post', 
								   			parameters	:params ,
								   			onSuccess	:function(obj)	{	WBID('forgotForm_r',obj.responseText);	} ,
								   			onComplete	:function()		{	WBID('forgotForm_w','');				} ,
								   			onLoading	:function()		{	WBID('forgotForm_w',progress());		} 
										}
						);
},


loginValidate:function(){
	WBID('loginForm_w',progress());
	WBID('loginForm_r','');
	WBID('loginForm_email_r','');
	WBID('loginForm_password_r','');
	var email=$id('loginForm_email').value;
	var password=$id('loginForm_password').value;

	if($id('loginForm_remember'))
		var remember=$id('loginForm_remember').checked;

	if (!email.isEmail()){
	  	WBID('loginForm_email_r', ajaxText(this.ComFile(),'action=getMessage&i=0&type=err'));
	}else{
		var check_email=true;
	}
	if(password.length<4){
	  	WBID('loginForm_password_r', ajaxText(this.ComFile(),'action=getMessage&i=1&type=err'));
	}
	else if(password.length>20){
	  	WBID('loginForm_password_r', ajaxText(this.ComFile(),'action=getMessage&i=11&type=err'));
	}
	else{
		var check_password=true;
	}	
	if(check_password && check_email){
		if(remember){remember='on';}else{remember='off';}
		params = 'action=checkLogin&email='+email+'&password='+password+'&remember='+remember;
		new Ajax.Request( this.ComFile(), {asynchronous: true, 
									   method: 'post', 
									   parameters: params , 
		   					   		   onLoading	:function(){ WBID('loginForm_w',progress());	} ,
									   onComplete:function(obj){
										   	arr_r =  obj.responseText.split('|') ;
												if (arr_r[1]=='BANNED'){
													WBID('loginForm_r', ajaxText( Users.ComFile(),'action=getMessage&i=3&type=err'));
												}else if(arr_r[1]=='NOTACTIVATED'){
													ABID('loginForm_r', ajaxText( Users.ComFile(),'action=getMessage&i=4&type=err&param='+ arr_r[2]));
												}else if(arr_r[1]=='ok'){
													Users.login( arr_r[2]);
												}else if(arr_r[1]=='ko'){
													WBID('loginForm_r', ajaxText( Users.ComFile(),'action=getMessage&i=2&type=err'));
												}
												WBID('loginForm_w','');
										   }
									   }
						);
	}else{
		WBID('loginForm_w','');
	}
},
challengeValidate:function(id){
	var str_r =  ajaxText(this.ComFile(),'action=checkChallenge&id='+id+'&challenge='+$id('challengeForm').value);
	array_str_r=str_r.split('|');
	WBID('challengeForm_r',array_str_r[1]);
	if(array_str_r[0]=='ok')
		this.login(id);
},

registerValidate:function(){ 
	
	WBID('registerForm_w',progress());
	WBID ('registerForm_r','');
	WBID('registerForm_email_r','');
	WBID('registerForm_username_r','');
	WBID('registerForm_passwords_r','');

	var email=$id('registerForm_email').value;
	var username=$id('registerForm_username').value ;
	var password=$id('registerForm_password').value;
	var rpassword=$id('registerForm_rpassword').value;
	
	if(!email.isEmail()){
	  	WBID('registerForm_email_r', this.ajaxText('action=getMessage&i=0&type=err'));
	}else{
		var str_r=ajaxText(this.ComFile(),'action=checkEmailForRegister&email='+email);
		if(str_r.isEqTo("ok")){
			var check_email=true;
		}else{
			WBID('registerForm_email_r', ajaxText(this.ComFile(),'action=getMessage&i=40&type=err'));
		}
	}
	
	if(username.length<4){
		WBID('registerForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=50&type=err'));
	}else if(username.length>25 ){
		WBID('registerForm_username_r',ajaxText(this.ComFile(),'action=getMessage&i=52&type=err'));
	}else if(!username.isAlphaNum()){
		WBID('registerForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=51&type=err'));
	}else{
		var str_r = ajaxText(this.ComFile(),'action=checkUsernameForRegister&username='+username);
		if(str_r.isEqTo("ok")){
			var check_username=true;
		}else if(str_r.isEqTo("ko")){
		WBID('registerForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=53&type=err'));
		}
	}
	
	if(password.length<4){
		WBID('registerForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=60&type=err'));
	}else if(password.length>25 ){
		WBID('registerForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=62&type=err'));
	}else if(!password.isAlphaNum()){
		WBID('registerForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=61&type=err'));
	}else if(password!=rpassword){
		WBID('registerForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=63&type=err'));
	}else{
		var check_passwords=true;
	}
	if(check_passwords && check_email && check_username){
		this.screenLoginForm();
		ABID('loginForm_r', ajaxText(this.ComFile(),'action=register&email='+email+'&username='+username+'&password='+password));
	}
	WBID('registerForm_w','');
	},
	
updateValidate:function(idUser){
	
	WBID('updateForm_w',progress());
	WBID('updateForm_r','');
	WBID('updateForm_email_r','');
	WBID('updateForm_username_r','');
	WBID('updateForm_passwords_r','');

	var email=$id('updateForm_email').value;
	var username=$id('updateForm_username').value ;
	var password=$id('updateForm_password').value;
	var rpassword=$id('updateForm_rpassword').value;

	var currentEmail=$id('updateForm_currentemail').value;
	var currentUsername=$id('updateForm_currentusername').value;
	var currentPassword=$id('updateForm_currentpassword').value;

	if(!email.isEmail()){
	  	WBID('updateForm_email_r', ajaxText(this.ComFile(),'action=getMessage&i=0&type=err'));
	}else{
		if (currentEmail!=email){
		var str_r=ajaxText(this.ComFile(),'action=checkEmailForUpdate&email='+email);
		if(str_r.isEqTo("ok")){
			var check_email=true;
		}else{
			WBID('updateForm_email_r', ajaxText(this.ComFile(),'action=getMessage&i=40&type=err'));
		}
		}else{
			WBID('updateForm_email_r', ajaxText(this.ComFile(),'action=getMessage&i=92&type=inf'));
			var check_email='{%UNCHANGED%}';
		}
	}
	
	if(username.length<4){
		WBID('updateForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=50&type=err'));
	}else if(username.length>25 ){
		WBID('updateForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=52&type=err'));
	}else if(!username.isAlphaNum()){
		WBID('updateForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=51&type=err'));
	}else{
		if (!currentUsername.isEqTo(username)){
			var str_r = ajaxText(this.ComFile(),'action=checkUsernameForRegister&username='+username);
			if(str_r.isEqTo("ok")){
				var check_username=true;
			}else if(str_r.isEqTo("ko")){
			WBID('updateForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=53&type=err'));
			}
		}else{
			WBID('updateForm_username_r', ajaxText(this.ComFile(),'action=getMessage&i=100&type=inf'));
			var check_username='{%UNCHANGED%}';
		}
	}
	
	if(password.length<4){
		WBID('updateForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=60&type=err'));
	}else if(password.length>25 ){
		WBID('updateForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=62&type=err'));
	}else if(!password.isAlphaNum()){
		WBID('updateForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=61&type=err'));
	}else if(password!=rpassword){
		WBID('updateForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=63&type=err'));
	}else{
		if(currentPassword==password){
			WBID('updateForm_passwords_r', ajaxText(this.ComFile(),'action=getMessage&i=101&type=inf'));
			var check_passwords='{%UNCHANGED%}';
		}else{
			var check_passwords=true;
		}
	}
	if(check_passwords && check_email && check_username){
		if ( check_passwords !='{%UNCHANGED%}'  ){
			WBID('updateForm_passwords_r',ajaxText(this.ComFile(),'action=updatePassword&password='+password+'&id='+idUser));
			$id('updateForm_currentpassword').value=$id('updateForm_password').value=$id('updateForm_rpassword').value = password ;
		}
		if (check_username!='{%UNCHANGED%}'){
			WBID('updateForm_username_r',ajaxText(this.ComFile(),'action=updateUsername&username='+username+'&id='+idUser));
			$id('updateForm_currentusername').value=$id('updateForm_username').value=username ;
		}
		if (check_email!='{%UNCHANGED%}'){
			WBID('updateForm_email_r',ajaxText(this.ComFile(),'action=updateEmail&email='+email+'&id='+idUser));
			$id('updateForm_currentemail').value=$id('updateForm_email').value=email ;
		}
	}
	WBID('updateForm_w','');
	}
}