$(document).ready(function(){
	$("#lostpassword").validationEngine({ 
		scroll : false,
		inlineValidation: false,
		success :  function(){ userRegistrationClass.validateLostPassword()}, 
		failure : function(){} 
	});
	
	$("#pagelogin").validationEngine({ 
		scroll :  false,
		success : function(){ userRegistrationClass.validateLogin('#errorLayerConnectionBox2',"#pagelogin")}, 
		failure : function(){} 
	});
	
	$(".connectBloc .pagelogin").validationEngine({
		scroll : false,
		success :  function(){ userRegistrationClass.validateLogin('#errorLayerConnectionBox',".connectBloc .pagelogin")}, 
		failure : function(){} 
	});
	
	$("#signup").validationEngine({ 
		success :  function(){ userRegistrationClass.validateSignUp();}, 
		failure : function(){} 
	});
		$(".ajoutInfo,.ajoutAllergene,.boisson,.recette").live('click', function(){
		callermenu = $(this).parent()
			
	});
		$(".supprimer").live('click', function(){
		callermenu = $(this).parent().parent().parent().parent().parent()
			
	});
	$(".ajouter,.sort").live('click', function(){
		callermenu = $(this).parent().parent()
	});
	
	$('input[type=radio][name=checkbox_cohorte]').bind('click', function() {
		var membre_cohorte_hidden_val = $('input[type=radio][name=checkbox_cohorte]:checked').attr('value');
		if (!empty(membre_cohorte_hidden_val)) {
			$('#membre_cohorte_hidden').val(1);
			$('#tr_job_place_name').show();
			$('#job_place_name').removeClass();
			$('#job_place_name').addClass('validate[required]');
		} else {
			$('#tr_job_place_name').hide();
			$('#job_place_name').removeClass();
			$('#membre_cohorte_hidden').val('');
			$.validationEngine.closePrompt(".job_place_nameformError",true);
		}
	});
	
	$('#occupation').bind('change', function () {
		var occupation_val = $('#occupation').val();
		if (occupation_val == 'Autre' || occupation_val == 'Professionnel de la santé') {
			$('#tr_occupation_specified').show();
			$('#occupation_specified').removeClass()
			$('#occupation_specified').addClass('validate[required]');
		} else {
		    $('#tr_occupation_specified').hide();
			$('#occupation_specified').removeClass();
			$('#occupation_specified').val('');
			$.validationEngine.closePrompt(".occupation_specifiedformError",true);
		}
	});
	
	$('#working_place').bind('change', function () {
		var occupation_val = $('#working_place').val();
		if (occupation_val == 'Autre pays') {
			$('#tr_working_place_other').show();
			$('#working_place_other').removeClass();
			$('#working_place_other').addClass('validate[required]');
		} else {
		    $('#tr_working_place_other').hide();
			$('#working_place_other').removeClass();
			$('#working_place_other').val('');
		}
	});
	
	//reload weeklymenu by changing dropdown option
	$('.selectMenu #week,.selectMenu #year,.selectMenu #season').bind('change', function () {
		reloadWeeklyMenu();
	});
	
	// reloadWeeklyMenu LE MENU YE PAS PARTOUT
	// reloadWeeklyMenu();
});



var userRegistrationClass = new registrationClass();
var userMenuClass	      = new userMenuClass();
var dummyLayer;

function registrationClass() {
	var host;
	return {
		$ : function() {
			host = this;
			return this;
		},
		validateLostPassword : function() {
			genericPrototype(host.url3, 'validateLostPasswordCbk', 'post', $('#lostpassword').serialize());
		},
		validateLogin : function(layer,caller) {
			$(layer).hide();
			$(layer).addClass('errorBox');
			dummyLayer = layer;
			genericPrototype(host.url1, 'validateLoginCbk', 'post', $(caller).serialize());
		},
		validateSignUp : function() {
			$('#errorLayer').hide();
			genericPrototype(host.url2, 'validateSignupCbk', 'post', $('#signup').serialize());
		},
		url1 : null,
		url3 : null,
		url2 : null
	}.$();
}

function validateSignupCbk (transport, textStatus) {
	if (textStatus == 'success') {
		response = $.evalJSON(transport);
		if (response.error==1) {
			window.location.href=response.redirection;
		} else{
			var destination = $("#errorLayer").offset().top;
			//$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination});
			$("html").animate( {
				scrollTop :100
			}, "slow");
			$('.regenerateCaptcha').trigger('click');
			$('#errorLayer').addClass('errorBox');
			$('#errorLayer').html(response.error);
			$('#errorLayer').show();
		}
	} 
}

function validateLoginCbk (transport, textStatus) {
	if (textStatus == 'success') {
		response = $.evalJSON(transport);
		//alert(transport);
		if (response.error==0) {
			window.location.href=response.redirection;
		} else{
			$(dummyLayer).html(response.message)
			$(dummyLayer).show();
		}
	} 
}

function validateLostPasswordCbk(transport, textStatus) {
	if (textStatus == 'success') {
		response = $.evalJSON(transport);
		if (response.error==1) {
			$('#errorEmail').hide();
			$('#form').hide();
			$('#confirmation').show();
		} else{
			$('#errorEmail').show();
		}
	} 
}

function userMenuClass() {
	var host;
	return {
		$ : function() {
			host = this;
			return this;
		},
		reloadWeeklyMenu : function() {
			//genericPrototype(host.url1, 'validateLostPasswordCbk', 'post', $('#lostpassword').serialize());
		},
		url1 : null,
		url2 : null
	}.$();
}


function reloadWeeklyMenu(){
	$.ajax( {
		url :userMenuClass.url1,
		type :'post',
		data :$("#weeklyMenuFormFull").serialize(),
		success :function (transport, textStatus) {
					if (textStatus == 'success') {
						response = $.evalJSON(transport);
						if (response.error == 1) {
							$('#contentSectionLong').html(response.box);
							$("a[rel='recette']").colorbox({photo:"true", transition:"fade"});
							$(".colorbox").colorbox();
						} else {
							window.location.href=response.error;
						}
					}
				 }
	});
}

