var Sexy = null;

var Site = {
	start: function() {
		Sexy = new SexyAlertBox();
		
		// Menu
		if ($('nav')) var myMenu = new MenuMatic();
		Site.sliding(); //Add slider effect on elements
		Site.notice(); //Add notice effect on elements
		Site.toolTip(); //Add tool-tip effect on elements
		if ($('tabsMenu')){
			Site.tabsMenu();
		}
		if ($('subTabsMenu')){
			Site.subTabsMenu();
		}

		//Sidebox login
		if ($('sideboxLoginForm')){
			Site.sideboxLogin();
		}
		//Login form
		if ($('loginForm')){
			Site.login();
		}
		if ($('orderProcess')){
			Site.orderProcess();
		}
		/*if ($('offerColumn')){
			Site.offerAccordion();
		}*/
		if ($('indexQuiz')){
			Site.indexQuiz();
		}
		if ($('submitAgreement')){
			Site.agreement();
		}
		if ($('quizzPage')){
			Site.quizz();
		}
		if ($('ruffierSlider')){
			Site.ruffierDickinson();
		}
		if ($('bmiSlider')){
			Site.bmi();
		}
		if ($('quizzPage') && $('question_type_code').value == 'qcm'){
			Site.slider();
		}
		if ($('pDetail')){
			Site.tabPartnerMenu();
		}
		if ($('feedbackMonitorResults')) {
			Site.feedbackResults();
		}
		if($('partnerContact')){
			Site.partnerContact();
		}
		if($('contact')){
			Site.contact();
		}
		if($('createAccountForm')){
			Site.createAccount();
		}
		if($('editAccount')){
			Site.editAccount();
		}
		if($('actionPlanForm')){
			Site.actionPlan();
		}
		if($('myActionPlan')){
			Site.updateActionPlan();
		}
		if($('checkout')){
			Site.checkout();
		}
		Site.forgetPassword();
		
		if($('offerPage')){
			Site.updateCart();
		}
		if($('action_plan_overview')){
			Site.addGoals();
			Site.removeGoals();
		}
		if($('categoriesResults')){
			Site.showFeedbackCategories();
		}
		if($('questionsResults')){
			Site.showFeedbackQuestions();
		}
		if($('indicatorsResults')){
			Site.showFeedbackIndicators();
		}
		if($('ticker')){
			Site.ticker();
		}
	},
	
	//Sidebox login
	sideboxLogin: function () {
		//Initialise les sliders
		loginSlide = new Fx.Slide('login');
		accountSlide = new Fx.Slide('myAccount');

		if ($('login').hasClass('invisible')) {
			loginSlide.hide();
		} else {
			accountSlide.hide();
		}
		
		/* Formulaire de login */
		var loginForm = new AjaxForm ({
			form: $('sideboxLoginForm'),		//Form element
			log: $('errorLogin') 		//Log element (Texte et image de retour)
    });

		// Login réussi
    loginForm.addEvent('responseSuccess', function(response) {
			/*loginSlide.slideOut().chain(function () {
				//Affiche le box My Account
				accountSlide.slideIn();
				$('myAccount').setStyle('height', 'auto');
				$('loginName').empty().set('html', response.data['login']);
				//Cache le compte Login
				loginForm.options.slide.slideOut();
				loginForm.reset_style();
				loginForm.reset_values();
			});*/
			location = 'survey_list.php';
    });
		
		/* Logout */
		if ($('logout')) {
			//Clic sur le lien de déconnexion
			$('logoutLink').addEvent('click', function(e) {
				e.stop();
				var jsonRequest = new Request.JSON({
					url: "ajax/logout.php",
					onComplete: function(result) {
						if (result.success) {
							//Cache le box My Account et affiche le box Login
							/*accountSlide.slideOut().chain(function () {
								loginSlide.slideIn().chain(function () {
									$('login').getParent().setStyle('height', 'auto');
								});
							});*/
							//Redirige sur l'accueil
							location = 'index.php';
						}
					}
				}).get();
			});
		}
	},

	//Login Page
	login: function () {
		/* Formulaire de login */
		var loginForm = new AjaxForm ({
            form: $('loginForm'),		//Form element
            log: $('returnLogin') 		//Log element (Texte et image de retour)
    });

		// Login réussi
	    loginForm.addEvent('responseSuccess', function(response) {
				var errorLogin = new Fx.Slide('returnLogin').slideOut();
				this.reset_style();
				this.reset_values();
				location.href = response.target;
	    });
	},

	forgetPassword: function() {
		$$('.forgetPassword').each(function(el){
			el.addEvent('click', function(e) {
					e.stop();
					//Requête permettant de récupérer le label
					var jRequest = new Request.JSON({
							url: "ajax/get_label.php",
							onComplete: function(myResult) {
									Site.forgetPasswordForm(myResult.label);
							}
					}).get({label: 'LBL_FORGET_PASSWORD_MAIL'});
			});
		});
	},

	forgetPasswordForm: function(label) {
			//Une fois le label récupéré, l'afficher dans le MSGBox
			Sexy.prompt(label,'' , {
					onComplete: function(returnvalue) {
							if(returnvalue) {
									//Requête AJAX pour vérifier si l'e-mail existe
									//et si on lui envoie un e-mail avec le nouveau mot de passe
									var jsonRequest = new Request.JSON({
											url: "ajax/forget_password.php",
											onComplete: function(result){
													//alert(JSON.encode(result));
													if (result.success) {
															Sexy.info(result.message);
													} else {
															Sexy.error(result.message);
													}
											}
									}).get({'login': returnvalue});
							}
					}
			});
	},

	//Teste si l'utilisateur est loggé pour le rediriger sur le formulaire de commande
	orderProcess: function () {
		$('orderProcess').addEvent('click', function(e){
			/*e.stop();
			
			var jsonRequest = new Request.JSON({
				url: "ajax/check_login.php",
				onComplete: function(result) {
					if (result.success) {
						location = 'checkout.php';
					} else {
						Sexy.error(result.label);
					}
				}
			}).get();*/
			e.stop();
			location = 'checkout.php';
		});
	},
	
	/*offerAccordion: function () {
		$position = 0;
		if($('accordionPosition')) $position = $('accordionPosition').value;
		//create our Accordion instance
		var myAccordion = new Accordion($('offerColumn'), 'div.toggler', 'div.element', {
			opacity: false,
			display: $position
		});
	},*/

	updateCart: function() {
		$$('.addToCart').each (
			function(el) {
				el.addEvent('click', function(event) {
					$('ajax_loading').setStyle('visibility', 'visible');
					var jsonRequest = new Request.JSON({
						url: "ajax/update_cart.php",
						onComplete: function(result) {
							$('cart_overview').set('html', result.page);
							$('ajax_loading').setStyle('visibility', 'hidden');
							if(!result.success){
								Sexy.error(result.message);
							}
						}
					}).get({'id': el.getProperty('offer'), 'action': 'add'});
				});
			}
		);
		$$('.removeFromCart').each (
			function(el) {
				el.addEvent('click', function(event) {
					$('ajax_loading').setStyle('visibility', 'visible');
					var jsonRequest = new Request.JSON({
						url: "ajax/update_cart.php",
						onComplete: function(result) {
							$('cart_overview').set('html', result.page);
							$('ajax_loading').setStyle('visibility', 'hidden');
						}
					}).get({'id': el.getProperty('offer'), 'action': 'remove'});
				});
			}
		);
	},
	
	addGoals: function() {
		$$('.addGoal').each (
			function(el) {
				el.addEvent('click', function(event) {
					$('ajax_loading').setStyle('visibility', 'visible');
					var jsonRequest = new Request.JSON({
						url: "ajax/update_action_plan.php",
						onComplete: function(result) {
							$('action_plan_overview').empty().set('html', result.page);
							$('ajax_loading').setStyle('visibility', 'hidden');
							if(!result.success){
								Sexy.error(result.message);
							}else{
								$('selectedActionPlanTab').removeClass('none');
								JS_Growl.notify(result.message);
								Site.removeGoals(); //Réinitialisation des éléments Action Plan
							}
						}
					}).get({'id': el.getProperty('goal')
						, 'survey': el.getProperty('survey')
						, 'object_id': el.getProperty('object_id')
						, 'object_type': el.getProperty('object_type')
						, 'action': 'add'});
				});
			}
		);
	},
	
	removeGoals: function() {
		$$('.removeGoal').each (
			function(el) {
				el.addEvent('click', function(event) {
					$('ajax_loading').setStyle('visibility', 'visible');
					var jsonRequest = new Request.JSON({
						url: "ajax/update_action_plan.php",
						onComplete: function(result) {
							$('action_plan_' + el.getProperty('goal')).destroy();
							//$('action_plan_overview').empty().set('html', result.page);
							$('ajax_loading').setStyle('visibility', 'hidden');
							Site.removeGoals(); //Réinitialisation des éléments Action Plan
						}
					}).get({'id': el.getProperty('goal'), 'survey': el.getProperty('survey'), 'action': 'remove'});
				});
			}
		);
	},
	
	showFeedbackCategories: function(){
		$$('.quizzResultsCategory').each (
			function(el) {
				el.addEvent('click', function(event) {
					//Hide box content
					$$('.quizzCategoriesFeedbackTips').each (
						function(box) {
							box.setStyle('display', 'none');
						}
					);
					
					var category = el.getProperty('category_id');
					$('feedbackCategory'+category).setStyle('display', 'block');
					var myFx = new Fx.Scroll(window).toElement('categoriesFeedback');
				});
			}
		);
	},
	
	showFeedbackQuestions: function(){
		$$('.resultsQuestionsBar').each (
			function(el) {
				el.addEvent('click', function(event) {
					//Hide box content
					$$('.quizzQuestionsFeedbackTips').each (
						function(box) {
							//box.empty().set('html', '');
							box.setStyle('display', 'none');
						}
					);
					
					var question = el.getProperty('question_id');
					var feedback = el.getProperty('feedback');
					if (feedback == 1) {
						$('feedbackQuestions'+question).setStyle('display', 'block');
						//Scroll auto
						var myFx = new Fx.Scroll(window).toElement('questionsCategoryTarget' + el.getProperty('category_id'));
					}
				});
			}
		);
	},

	showFeedbackIndicators: function(){
		$$('.resultsIndicatorsBar').each (
			function(el) {
				el.addEvent('click', function(event) {
					//Hide box content
					$$('.quizzIndicatorsFeedbackTips').each (
						function(box) {
							//box.empty().set('html', '');
							box.setStyle('display', 'none');
						}
					);
					
					var indicator = el.getProperty('indicator_id');
					var feedback = el.getProperty('feedback');
					if (feedback == 1) {
						$('feedbackIndicators'+indicator).setStyle('display', 'block');
						//Scroll auto
						var myFx = new Fx.Scroll(window).toElement('indicatorsCategoryTarget' + el.getProperty('category_id'));
					}
				});
			}
		);
	},

	//Teste que les conditions générales ont été acceptées
	indexQuiz: function () {
		/*$('indexQuiz').addEvent('click', function(e) {
			e.stop();
			
			//Si les conditions générales sont acceptées
			if ($('conditionsCheckbox').checked) {
				var jsonRequest = new Request.JSON({
					url: "ajax/check_login.php",
					onComplete: function(result) {
						if (result.success) {
							location = 'survey_list.php';
						} else {
							//Sexy.error(result.label);
							location = 'create_account.php?t=survey_list';
						}
					}
				}).get();
			} else {
				//Vas chercher le label et affiche l'erreur
				var jsonRequest = new Request.JSON({
					url: "ajax/get_label.php",
					onComplete: function(result) {
						Sexy.error(result.label);
					}
				}).get({label: 'LBL_CGU_NOT_CHECKED'});
				//var label = Site.getLabel('LBL_CGU_NOT_CHECKED');
			}
		});*/
	},
	
	agreement: function() {
		$('submitAgreement').addEvent('click', function(e) {
			e.stop();
			
			var quizz_id = this.getProperty('quizz');
			
			if ($('checkAgreement').checked) {
				location = 'quizz.php?quizz=' + quizz_id + '&check';
			} else {
				//Vas chercher le label et affiche l'erreur
				var jsonRequest = new Request.JSON({
					url: "ajax/get_label.php",
					onComplete: function(result) {
						Sexy.error(result.label);
					}
				}).get({label: 'LBL_CGU_NOT_CHECKED'});
			}
		});
	},
	
	quizz: function () {
		var quizzForm = new AjaxForm ({
            form: $('quizzForm'),		//Form element
            log: $('returnQuizz') 		//Log element (Texte et image de retour)
    });
		
		//Initialise la barre de progression et le highlight de la catégorie
		Site.reinitQuiz();
		
		quizzForm.addEvent('sendRequest', function() {
			//Affiche le loading et désactive le bouton
			$('ajax_loading').setStyle('visibility', 'visible');
			$('submitQuestion').disabled = true;
		});

		quizzForm.addEvent('responseSuccess', function(response) {
			//Efface les erreurs
			this.reset_style();
			this.options.slide.hide();
			$('ajax_loading').setStyle('visibility', 'hidden');
			$('submitQuestion').disabled = false;
			
			if (response.finish) {
				location = 'quizz_success.php';
			} else {
				//Affiche la nouvelle question
				//$('quizz_form').empty().set('html', response.question);
				
				//Remets la direction par défaut à Next
				//$('submitDirection').value='next';
				
				//Relance le site.start pour réappliquer les effets JS
				//Site.start();
				window.location.reload();
			}
		});
		
		quizzForm.addEvent('responseError', function(response) {
			//Remonte en haut de la page
			var myFx = new Fx.Scroll(window).toElement('topAnchor');
			$('ajax_loading').setStyle('visibility', 'hidden');
			$('submitQuestion').disabled = false;
    });
	},
	
	reinitQuiz: function () {
		
		//Active la catégorie de la question en cours
		$$('.categoryItem').removeClass('active');
		var category_id = $('category_id').value;
		if($('categoryList' + category_id)){
			$('categoryList' + category_id).addClass('active');
		}
		
		//Barre de progression
		var progression = ($('position_on_questionnaire_only_active_question').value - 0.5) / $('nb_of_active_questions_in_questionnaire').value * 100;
		$('bar').setStyle('width', progression + '%');
		
		//Slider pour les explications de la question
		if ($('questionExplanationContent')) {
			var whySlider = new Fx.Slide('questionExplanationContent').hide();
			$('questionExplanationTrigger').addEvent('click', function(e) {
				e.stop();
				whySlider.toggle();
			});
		}
	},
	
	slider: function () {
		var el = null;
		var subquestion = new Array();
		
		$$('.slider').each(function(slider, i) {
			el = slider;
			subquestion[i] = el.getProperty('subquestion');
			
			// Create the new slider instance
			var monSlider = new Slider(el, el.getElement('.knob'), {
				range: [0, $('rangeMaxSlider' + subquestion[i]).value],
				steps: $('stepsSlider' + subquestion[i]).value,
				snap: false,
				onChange: function(value){
					var valeur = value.toInt();
					
					// Everytime the value changes, we change the font of an element
					if (valeur != 0) {
						$('answerSlider' + subquestion[i]).value = $('qcmSliderLabel' + subquestion[i] + '_' + valeur).getProperty('answer');
						$$('.qcmSliderLabel' + subquestion[i]).removeClass('qcmSliderLabelActive');
						$('qcmSliderLabel' + subquestion[i] + '_' + valeur).addClass('qcmSliderLabelActive');
					} else {
						$('answerSlider' + subquestion[i]).value = 0;
						$$('.qcmSliderLabel' + subquestion[i]).removeClass('qcmSliderLabelActive');
					}
				}
			});
		});
	},
	
	ruffierDickinson: function() {
		var ecart = null;
		
		//Pour calculer la somme 
		$$('.inputRuffierP').each(function(input) {
			input.addEvent('keyup', function(e){
				var somme = null;
				var allComplete = true;
				$$('.inputRuffierP').each(function(input2) {
					if (input2.value!='')
						somme += parseFloat(input2.value.replace(/'/,""));
					else
						allComplete = false;
				});
				if (!isNaN(somme) && allComplete){
					var finalSomme = (somme-200)/10;
					
					//Si la somme est plus grande que 0
					if (finalSomme > 0) {
						$('ruffierResult').value = finalSomme;
					
						ecart = Site.calculeEcartRuffier(finalSomme)
						$('ruffierKnob').setStyle('left', ecart + 'px');
					}
				}
			});
		});
		
		//Place le slider en fonction du résultat déjà affiché
		if ($('ruffierResult').value != '') {
			ecart = Site.calculeEcartRuffier($('ruffierResult').value)
			$('ruffierKnob').setStyle('left', ecart + 'px');
		}
	},
	
	calculeEcartRuffier: function (finalSomme) {
		//Bouge le slider
		var ecart = null;
		
		// LRU - Hardcoding assumé des écarts entre les niveaux du Ruffier-Dickinson
		if (finalSomme >= 0 && finalSomme <= 5) {
			ecart = 8;
		} else if (finalSomme > 5 && finalSomme <= 10) {
			ecart = 100;
		} else if (finalSomme > 10 && finalSomme <= 15) {
			ecart = 200;
		} else if (finalSomme > 15 && finalSomme <= 20) {
			ecart = 300;
		} else {
			ecart = 400;
		}
		ecart -= 8;
		
		return ecart;
	},
	
	bmi: function() {
		
		// convertisseur de poids
		$$('.inputBMIkg').each(function(input){
			input.addEvent('keyup', function(e){
				// calcul le champs en unité anglosaxonne
				$(input.id + '_lb').setProperty(
					'value',Math.round((input.value / 0.45359237)*100)/100
				);
			});
		});
		$$('.inputBMIlb').each(function(input){
			input.addEvent('keyup', function(e){
				// calcul le champs en unité internationnal
				$(input.id.substring(0, (input.id.length - 3) )).setProperty(
					'value',Math.round((input.value * 0.45359237)*100)/100
				);
			});
		});
		
		// convertisseurs de longueur
		$$('.inputBMIm').each(function(input){
			input.addEvent('keyup', function(e){
				// calcul le champs en unité anglosaxonne
				var feet = Math.floor(input.value / 0.3048);
				var inch = Math.round((((input.value / 0.3048) - feet)*12));
				$(input.id + '_feet').setProperty('value',feet);
				$(input.id + '_inch').setProperty('value',inch);
			});
		});
		$$('.inputBMIft').each(function(input){
			input.addEvent('keyup', function(e){
				// calcul le champs en unité internationnale
				var m = ( this.value * 0.3048 + $( input.id.substring( 0, (input.id.length - 5) ) + '_inch').value * 0.0254 );
				$(input.id.substring( 0, (input.id.length - 5) )).setProperty('value', Math.round(m*100)/*/100*/);
			});
		});
		$$('.inputBMIin').each(function(input){
			input.addEvent('keyup', function(e){
				// calcul le champs en unité internationnale
				var m = ( $(this.id.substring( 0, (input.id.length - 5) ) + '_feet').value * 0.3048 + input.value * 0.0254 );
				$(input.id.substring( 0, (input.id.length - 5) )).setProperty('value', Math.round(m*100)/*/100*/);
			});
		});
		
		// calcul du bmi
		var ecart = null;
		$$('.inputBMI').each(function(input){
			input.addEvent('keyup', function(e){
				var bmiweights = $$('.inputBMIkg');
				var bmiheights = $$('.inputBMIm');
				var bmiresults = $$('.inputBMIResult').each(function(input2, key){
					var bmiresult = Math.round(bmiweights[key].value/(bmiheights[key].value/100*bmiheights[key].value/100)*100)/100;
					if (!isNaN(bmiresult)){					
						input2.setProperty(
							'value', bmiresult
						);
						ecart = Site.calculeEcartbmi(bmiresult);
						$('bmiKnob').setStyle('left', ecart + 'px');
					}
				}
				);
			});
		});
		
		//Place le slider en fonction du résultat déjà affiché
		$$('.inputBMIResult').each(function(input){
			if (input.value != '') {
				ecart = Site.calculeEcartbmi(input.value);
				$('bmiKnob').setStyle('left', ecart + 'px');
			}
		});
	},
	
	calculeEcartbmi: function (bmiresult) {
		//Bouge le slider
		var ecart = null;
		// LRU - Hardcoding assumé des écarts entre les niveaux du BMI
		if (bmiresult >= 0 && bmiresult < 18.5) {
			ecart = 8;
		} else if (bmiresult >= 18.5 && bmiresult < 22) {
			ecart = 100;
		} else if (bmiresult >= 22 && bmiresult < 23) {
			ecart = 200;
		} else if (bmiresult >= 23 && bmiresult < 25) {
			ecart = 300;
		} else if (bmiresult >= 25 && bmiresult < 27) {
			ecart = 400;
		} else if (bmiresult >= 27 && bmiresult <= 30) {
			ecart = 500;
		} else {
			ecart = 600;
		}
		ecart -= 8;
		
		return ecart;
	},
	
	/*setEditor: function()	{
		tinyMCE.init({
			// General options
			mode : "specific_textareas",
			editor_selector : "inputHtml",
			theme : "advanced",

			// File path pour images et files
			//imagemanager_rootpath: "../",
			//filemanager_rootpath: "../",
			document_base_url : "/",

			plugin_preview_width : "800",
			plugin_preview_height : "600",
			//plugin_preview_pageurl : "/backend/plugins/tinymce/jscripts/tiny_mce/plugins/preview/example.html",

			// Normalement mettre CSS du frontend pour afficher les "content" comme sur le frontend !
			// Comme (document_base_url : "/") on doit mettre le chemin du css depuis le root du domaine
			content_css : "backend/css/backend.css",
			//content_css : "backend/plugins/tinymce/examples/css/word.css",
			

			//plugins : "searchreplace,media",
			plugins : "searchreplace,media,safari,spellchecker,pagebreak,style,layer,table,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,ibrowser",
			//plugins : ",imagemanager,filemanager",

			// Theme options
			theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
			theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,media,ibrowser,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
			////theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr",
			theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,advhr,|,print,|,ltr,rtl,|,fullscreen",
			theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",

			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			theme_advanced_statusbar_location : "bottom",
			theme_advanced_resizing : true
		});
	},*/

	sliding: function () {
		$$('.sliders').each(function(el) {
			var toggler = el.getFirst('.toggler');
			var element = el.getFirst('.element');
			if(element != null){
				var mySlide = new Fx.Slide(element);
				if(el.hasClass('closed')) mySlide.hide();
				toggler.addEvent('click', function(e){
					e.stop();
					mySlide.toggle();
				});
			}
		});
	},

	notice: function () {
			$$('.notice').each(function(el) {
					var checkbox = el.getProperty('id');
					el.addEvent('click', function(e){
							var myValue = 0;
							if(el.checked == true) myValue = 1;
							var jsonRequest = new Request.JSON({
								url: "ajax/notice.php",
								onComplete: function(result) {
									if(!result.success){
										JS_Growl.notify(result.message);
									}else{
										JS_Growl.notify(result.message);
									}
								}
							}).get({'t': checkbox, 'v': myValue});
					});
			});
	},

	toolTip: function(){
			//store titles and text  
			$$('.infobulle').each(function(element,index) {
				var content = element.get('title').split('::');
				element.store('tip:title', content[0]);
				element.store('tip:text', content[1]);
			});
			//create the tooltips  
			var tipz = new Tips('.infobulle',{
				 className: 'tips',
				 offsets: {'x': 10, 'y': 10},
				 fixed: false,
				 hideDelay: 50,
				 showDelay: 50
			});
			
			//store titles and text  
			$$('.historic').each(function(element,index) {
				var content = element.get('title').split('::');
				element.store('tip:title', content[0]);
				element.store('tip:text', content[1]);
			});
			//create the tooltips  
			var tipz = new Tips('.historic',{
				 className: 'historic',
				 offsets: {'x': 10, 'y': 10},
				 fixed: false,
				 hideDelay: 50,
				 showDelay: 50
			});
			
			//store titles and text  
			$$('.resultsBar').each(function(element,index) {
				var content = element.get('title').split('::');
				element.store('tip:title', content[0]);
				element.store('tip:text', content[1]);
			});
			//create the tooltips  
			var tipz = new Tips('.fullAttentionBar',{
				 className: 'fullAttentionTip',
				 offsets: {'x': 20, 'y': 70},
				 fixed: false,
				 hideDelay: 50000,
				 showDelay: 50
			});
			//create the tooltips  
			var tipz = new Tips('.improveBar',{
				 className: 'improveTip',
				 offsets: {'x': 20, 'y': 70},
				 fixed: false,
				 hideDelay: 50000,
				 showDelay: 50
			});
			//create the tooltips  
			var tipz = new Tips('.monitorBar',{
				 className: 'monitorTip',
				 offsets: {'x': 20, 'y': 70},
				 fixed: false,
				 hideDelay: 50000,
				 showDelay: 50
			});
			//create the tooltips  
			var tipz = new Tips('.goodBar',{
				 className: 'goodTip',
				 offsets: {'x': 20, 'y': 70},
				 fixed: false,
				 hideDelay: 50000,
				 showDelay: 50
			});
	},
	
  tabPartnerMenu: function(){
    var first = true;
		$$('.tabsContainer').each(function(element) {
			if(first) element.setStyle('visibility', 'visible');
			first = false;
		});
		$$('.mItem').each(function(el) {
			el.addEvent('click', function(event) {
				$$('.tabsContainer').each(function(element) {
					element.setStyle('visibility', 'hidden');
				});
				$$('.mItem').each(function(element) {
					element.removeClass('active');
				});
                $(el.getProperty('tab')).setStyle('visibility', 'visible');
				el.addClass('active');
            });
		});
	},
	
	tabsMenu: function(){
		//Récupère la semaine courante pour afficher le bon bloc
		var block = null;
		if ($('container')) block = $('container').value; //input invisible
		else block = 1;

		var tab = 1;
		$$('.tabContainer').each(function(element) {
			if(tab == block) element.setStyle('display', 'block');
			tab++;
		});
		
		$$('.menuTab').each(function(el) {
			el.addEvent('click', function(event) {
				$$('.tabContainer').each(function(element) {
					element.setStyle('display', 'none');
				});
				$$('.menuTab').each(function(element) {
					element.removeClass('active');
				});
        $(el.getProperty('tab')).setStyle('display', 'block');
				el.addClass('active');
      });
		});
	},
	
	subTabsMenu: function(){
		//Récupère la semaine courante pour afficher le bon bloc
		var block = null;
		if ($('block')) block = $('block').value; //input invisible
		else block = 1;
			
		var tab = 1;
		$$('.subTabContainer').each(function(element) {
			if(tab == block) element.setStyle('display', 'block');
			tab++;
		});
		
		$$('.menuSubTab').each(function(el) {
			el.addEvent('click', function(event) {
				$$('.subTabContainer').each(function(element) {
					element.setStyle('display', 'none');
				});
				$$('.menuSubTab').each(function(element) {
					element.removeClass('active');
				});
        $(el.getProperty('tab')).setStyle('display', 'block');
				el.addClass('active');
      });
		});
	},
	
	feedbackResults: function() {
		$each($$('.feedbackTexts'), function(element) {
		
			var myAccordion = new Fx.Accordion('h4.feedbackToggler', '.feedbackResultText', element.get('id'), {
				display: 0,
				show: 0,
				onActive: function (toggler, element) {
					toggler.addClass('active');
				},
				onBackground: function (toggler, element) {
					toggler.removeClass('active');
				}
			});
		});
	},
	
	partnerContact: function() {
		var contactForm = new AjaxForm ({
			form: $('formPartnerContact'),		//Form element
			log: $('returnPartnerContact') 		//Log element (Texte et image de retour)
		});
		
		contactForm.addEvent('responseSuccess', function(response) {
			
			//Ferme la fenêtre d'envoi à un ami
			var errorContact = new Fx.Slide('returnPartnerContact').slideOut();
			this.reset_style();
			this.reset_values();
			Sexy.info(response.message);
			$('contact_submitter').disabled = false;
		});
		
		contactForm.addEvent('responseError', function(response) {
			$('contact_submitter').disabled = false;
		});
		
		$('formPartnerContact').addEvent('submit', function (e) {
			e.stop();
			$('contact_submitter').disabled = true;
		});
	},
	
	contact: function() {
		var contactForm = new AjaxForm ({
			form: $('formContact'),		//Form element
			log: $('returnContact') 		//Log element (Texte et image de retour)
		});
		
		contactForm.addEvent('responseSuccess', function(response) {
			
			//Ferme la fenêtre d'envoi à un ami
			var errorContact = new Fx.Slide('returnContact').slideOut();
			this.reset_style();
			this.reset_values();
			Sexy.info(response.message);
			$('contact_submitter').disabled = false;
		});
		
		contactForm.addEvent('responseError', function(response) {
			$('contact_submitter').disabled = false;
		});
		
		$('formContact').addEvent('submit', function (e) {
			e.stop();
			$('contact_submitter').disabled = true;
		});
	},
	
	createAccount: function() {
		var createAccountForm = new AjaxForm ({
			form: $('createAccountForm'),		//Form element
			log: $('returnCreateAccount') 		//Log element (Texte et image de retour)
		});
		
		createAccountForm.addEvent('responseSuccess', function(response) {
			var errorCreateAccount = new Fx.Slide('returnCreateAccount').slideOut();
			this.reset_style();
			this.reset_values();
			//Sexy.info(response.message);
			location.href = response.target;
			$('account_submitter').disabled = false;
		});
		
		createAccountForm.addEvent('responseError', function(response) {
			$('account_submitter').disabled = false;
		});
		
		$('createAccountForm').addEvent('submit', function (e) {
			e.stop();
			$('account_submitter').disabled = true;
		});
	},
	
	editAccount: function() {
		var contactForm = new AjaxForm ({
			form: $('editAccountForm'),		//Form element
			log: $('returnEditAccount') 		//Log element (Texte et image de retour)
		});
		
		contactForm.addEvent('responseSuccess', function(response) {
			var errorEditAccount = new Fx.Slide('returnEditAccount').slideOut();
			this.reset_style();
			this.reset_values();
			Sexy.info(response.message);
			$('account_submitter').disabled = false;
		});
		
		contactForm.addEvent('responseError', function(response) {
			$('account_submitter').disabled = false;
		});
		
		$('editAccountForm').addEvent('submit', function (e) {
			e.stop();
			$('account_submitter').disabled = true;
		});
	},

	actionPlan: function() {
		var actionPlanForm = new AjaxForm ({
			form: $('actionPlanForm'),		//Form element
			log: $('returnActionPlan') 		//Log element (Texte et image de retour)
		});
		
		actionPlanForm.addEvent('responseSuccess', function(response) {
			var errorActionPlan = new Fx.Slide('returnActionPlan').slideOut();
			this.reset_style();
			this.reset_values();
			//Sexy.info(response.message);
			location.href = response.target;
			$('action_submitter').disabled = false;
		});
		
		actionPlanForm.addEvent('responseError', function(response) {
			$('action_submitter').disabled = false;
		});
		
		$('actionPlanForm').addEvent('submit', function (e) {
			e.stop();
			$('action_submitter').disabled = true;
		});
	},

	updateActionPlan: function() {
		$$('.save_text_done').each (
			function(el) {
				el.addEvent('click', function(event) {
					//$('ajax_loading').setStyle('visibility', 'visible');
					var myBlock = el.getParents('.actionPlanViewer');
					
					$$('#'+myBlock.getProperty('id')+' .text-done').each (
						function(txtArea) {

							var jsonRequest = new Request.JSON({
								url: "ajax/update_action_plan_status.php",
								onComplete: function(result) {
									$$('#'+myBlock.getProperty('id')).set('html', result.page);
									Site.updateActionPlan();
									//$('ajax_loading').setStyle('visibility', 'hidden');
									if(!result.success){
										Sexy.error(result.message);
									}
								}
							}).post({
								'survey': parseInt(myBlock.getProperty('survey')),
								'id': parseInt(myBlock.getProperty('action_plan_item')),
								'week': parseInt(myBlock.getProperty('week')),
								'text': txtArea.value,
								'action': 'text-done'
							});
						}
					);
				});
			}
		);
		
		$$('.save_text_will').each (
			function(el) {
				el.addEvent('click', function(event) {
					//$('ajax_loading').setStyle('visibility', 'visible');
					var myBlock = el.getParents('.actionPlanViewer');
					
					$$('#'+myBlock.getProperty('id')+' .text-will').each (
						function(txtArea) {

							var jsonRequest = new Request.JSON({
								url: "ajax/update_action_plan_status.php",
								onComplete: function(result) {
									$$('#'+myBlock.getProperty('id')).set('html', result.page);
									Site.updateActionPlan();
									//$('ajax_loading').setStyle('visibility', 'hidden');
									if(!result.success){
										Sexy.error(result.message);
									}
								}
							}).post({
								'survey': parseInt(myBlock.getProperty('survey')),
								'id': parseInt(myBlock.getProperty('action_plan_item')),
								'week': parseInt(myBlock.getProperty('week')),
								'text': txtArea.value,
								'action': 'text-will'
							});

						}
					);
				});
			}
		);
		
		$$('.failed').each (
			function(el) {
				el.addEvent('click', function(event) {
					//$('ajax_loading').setStyle('visibility', 'visible');
					var myBlock = el.getParents('.actionPlanViewer');

					var jsonRequest = new Request.JSON({
						url: "ajax/update_action_plan_status.php",
						onComplete: function(result) {
							$$('#'+myBlock.getProperty('id')).set('html', result.page);
							Site.updateActionPlan();
							//$('ajax_loading').setStyle('visibility', 'hidden');
							if(!result.success){
								Sexy.error(result.message);
							}
						}
					}).post({
						'survey': parseInt(myBlock.getProperty('survey')),
						'id': parseInt(myBlock.getProperty('action_plan_item')),
						'week': parseInt(myBlock.getProperty('week')),
						'success': 0,
						'action': 'status'
					});

				});
			}
		);
		
		$$('.success').each (
			function(el) {
				el.addEvent('click', function(event) {
					//$('ajax_loading').setStyle('visibility', 'visible');
					var myBlock = el.getParents('.actionPlanViewer');

					var jsonRequest = new Request.JSON({
						url: "ajax/update_action_plan_status.php",
						onComplete: function(result) {
							$$('#'+myBlock.getProperty('id')).set('html', result.page);
							Site.updateActionPlan();
							//$('ajax_loading').setStyle('visibility', 'hidden');
							if(!result.success){
								Sexy.error(result.message);
							}
						}
					}).post({
						'survey': parseInt(myBlock.getProperty('survey')),
						'id': parseInt(myBlock.getProperty('action_plan_item')),
						'week': parseInt(myBlock.getProperty('week')),
						'success': 1,
						'action': 'status'
					});

				});
			}
		);
	},

	checkout: function() {
		var checkoutForm = new AjaxForm ({
			form: $('checkoutForm'),		//Form element
			log: $('returnCheckout') 		//Log element (Texte et image de retour)
		});
		
		checkoutForm.addEvent('responseSuccess', function(response) {
			var errorCheckout = new Fx.Slide('returnCheckout').slideOut();
			this.reset_style();
			this.reset_values();
			//Sexy.info(response.message);
			location = 'order.php';
			$('submitter').disabled = false;
		});
		
		checkoutForm.addEvent('responseError', function(response) {
			$('submitter').disabled = false;
		});
		
		$('checkoutForm').addEvent('submit', function (e) {
			e.stop();
			$('submitter').disabled = true;
		});
	},
	
	ticker: function(){
		var news = new cvNewsTicker('tickerPartners',{speed:1000,delay:5000,direction:'vertical'})
	}
	
};

window.addEvent('domready', Site.start);
//window.addEvent('load', Site.setEditor);