/** Generated by js.php */
var User = {};

User.isLogged = false;

User.USER_NAVIGATOR_ID = 'userNavigatorId';

User.NB_COLUMNS = 3;

User.navigatorTemplate = new Template(	"<hr><div id='"+User.USER_NAVIGATOR_ID+"'>"+
									
										"</div><div style='clear:both;'></div><hr>");
										
User.navigatorElementTemplate = new Template("<div id='userNavigatorElementId_#{USER_ID}' class='navigatorElement' userId='#{USER_ID}'>"+
													"<img align='bottom' src='/img/icons/crystal/16x16/apps/yast_#{IMG_NAME}.gif' class='navigatorImg'/>&nbsp;"+
													"<a id='userNavigatorElementLink_#{USER_ID}' userId='#{USER_ID}' class='navigatorElementLink'>#{USER_NAME}</a>"+
												"</div>");
												


User.generateNavigator = function(xhr,json) {
	try {
		if (!json) json = eval('('+xhr.responseText+')');
		Group.currentCreatorId = json.infos.creator_id;
		var navigator = {};
		new Insertion.Bottom($('navigator'), User.navigatorTemplate.evaluate(navigator));
		json.users.each(User.generateNavigatorElement);
	} catch (e) {
		if (console) console.error(e);
	}
}

User.generateNavigatorElement = function(user,i) {
	try{
		var userName = user['email'];
		if (user['login']) userName = user['login'];
		
		var imgName = 'user_add';
		if (Group.currentCreatorId == user['user_id']) imgName = 'sysadmin';
		navigatorElement = {USER_ID: user['user_id'],USER_NAME: userName, IMG_NAME: imgName};
		new Insertion.Bottom($(User.USER_NAVIGATOR_ID), User.navigatorElementTemplate.evaluate(navigatorElement));
		var element = $('userNavigatorElementId_'+user['user_id']);
		if (i % User.NB_COLUMNS == 0) element.setStyle({clear:'both'});
		
		Event.observe(element,"click",function() {Bookmark.USER_ID = user['user_id']; openFolder(0)});
	
	} catch(e) {
		if (console) console.error(e)
	}
}

User.registerFormSetup = function() {
	Event.observe($('userRegisterForm'), 'submit', User.registerFormSave);
	Event.observe($('userRegisterForm').getElementsBySelector('.cancelButton')[0], 'click', closeDialog);
	Event.observe($('imgRegisterSponsorHelp'), 'click', function(e) {
		Event.stop(e);
		dialog(
			'dlgSponsorInfo',
			{
				size:'360,200',
				title:_mlt("SPONSORER_INFO","A quoi sert le parrain"),
				type:'info',
				source:'/pages/help/sponsor'
			}).display();
	});
	Event.observe($('lnkRegisterEULA'), 'click', function(e) {
		Event.stop(e);
		dialog(
			'dlgEULA',
			{
				url:'/content/contents/display/Conditions%20d%27utilisation/',
				size:'300,300',
				type:'info'
			}).display();
	});
	
	var emailField = $('userRegisterEmail');
	Event.observe(emailField, 'blur', function(e) {
		if(/^.+@.+$/.test($F(emailField)) == false) {
			emailField.addClassName('wrong');
		}
	});
	
	Event.observe(emailField, 'focus', function(e) {
		emailField.removeClassName('wrong');
	});
	
	var loginField = $('userRegisterLogin');
	Event.observe(loginField, 'blur', function(e) {
		if(/^.{5,}$/.test($F(loginField)) == false) {
			loginField.addClassName('wrong');
		}
	});
	
	Event.observe(loginField, 'focus', function(e) {
		loginField.removeClassName('wrong');
	});
	
	var passwordField = $('userRegisterPassword');
	var passwordConfirmField = $('userRegisterPasswordConfirm');
	Event.observe(passwordField, 'blur', function(e) {
		if(/^.{5,}$/.test($F(passwordField)) == false ||
			($F(passwordConfirmField).length > 0 &&
				$F(passwordConfirmField) != $F(passwordField))) {
			passwordField.addClassName('wrong');
			passwordConfirmField.addClassName('wrong');
		} else {
			passwordField.removeClassName('wrong');
			passwordConfirmField.removeClassName('wrong');
		}
	});
	
	Event.observe(passwordField, 'focus', function(e) {
		passwordField.removeClassName('wrong');
	});
	
	Event.observe(passwordConfirmField, 'blur', function(e) {
		if($F(passwordConfirmField) != $F(passwordField) ||
			/^.{5,}$/.test($F(passwordField)) == false) {
			passwordField.addClassName('wrong');
			passwordConfirmField.addClassName('wrong');
		} else {
			passwordField.removeClassName('wrong');
			passwordConfirmField.removeClassName('wrong');
		}
	});
	
	Event.observe(passwordConfirmField, 'focus', function(e) {
		passwordConfirmField.removeClassName('wrong');
	});
	
	$('userRegisterEmail').focus();
}

/**
 * 
 */
User.registerFormSave = function(e) {
	Event.stop(e);
	var form = $('userRegisterForm');
	new Ajax.Request(
		form.getAttribute('action'),
		{
			method: form.getAttribute('method'),
			parameters: Form.serialize(form),
			onSuccess: function(xhr) {
				if(ajaxErrorOrClose(xhr)) {
					var json = eval('(' + xhr.responseText + ')');
					dialog(
						'registerInfo',
						{
							content: json.success,
							type: 'info',
							size:'300,290'
						}).display();
				}
			}
		}
	);
}

/**
 * Initialisation du formulaire de login (ajout
 * des event listeners).
 */
User.loginFormSetup = function() {
	var form = $('userLoginForm');
	Event.observe(form.getElementsBySelector('.cancelButton')[0], 'click', closeDialog);
	Event.observe(form, 'submit', User.loginFormSave);
	
	var emailField = $('userLoginEmail');
	Event.observe(emailField, 'blur', function() {
		if(/^.+@.+$/.test($F(emailField)) == false) {
			emailField.addClassName('wrong');
		}
	});
	
	Event.observe(emailField, 'focus', function() {
		emailField.removeClassName('wrong');
	});
	
	emailField.focus();
}

User.loginFormSave = function(e) {
	Event.stop(e);
	var form = $('userLoginForm');
	new Ajax.Request(
		form.getAttribute('action'),
		{
			method: form.getAttribute('method'),
			parameters: Form.serialize(form),
			onSuccess: function(xhr) {
				if(ajaxErrorOrClose(xhr)) {
					dialog('editCommunautyDlg', {
							content: Common.loadingTemplate,
							title: _mlt('LOADING'),
						size:'220,120'
					}).display();
					window.setTimeout('this.location = "/"', 500);
				}
			}
		}
	);
}

/**
 * 
 * COOMCOOM PAYANT
 * 
 * Initialisation du formulaire d'abonnement (ajout
 * des event listeners).
 *
User.subscribeFormSetup = function() {
	var form = $('userSubscribeForm');
	Event.observe(form.getElementsBySelector('.cancelButton')[0], 'click', closeDialog);
	Event.observe('chequeRadio','click',function(e){
		$('chequeInfos').style.display = 'block';
	});
	Event.observe('paypalRadio','click',function(e){
		$('chequeInfos').style.display = 'none';
	});
}*/

subscribe = function()
{
	new Ajax.Request('/users/newsletter/'+$('newsletter_email').value+'/'+1,{onComplete:newsletterManagement});
}

unSubscribe = function()
{
	new Ajax.Request('/users/newsletter/'+$('newsletter_email').value+'/'+0,{onComplete:newsletterManagement})
	
}

newsletterManagement = function(xhr,success)
{
	if (success)
	{
			closeAllDialogs()
			header_tag = 'h5'
	}
	else header_tag = 'h4'
	$('newsletterSubscriptionResult').innerHTML = "<"+header_tag+">"+xhr.responseText+"</"+header_tag+">";
}


