// JavaScript Document
function init(section, params) {
	switch (section) {
		case 'courbe_poids':
			displayWeightChart('weightGraph', params);
		break;
		case 'messagerie':
		case 'messagerie:inbox':
			ajaxCommand('inbox', params)
		break;
		case 'messagerie:message':
			ajaxCommand('message', params)
		break;
		case 'messagerie:sentbox':
			ajaxCommand('sentbox', params)
		break;
		case 'messagerie:write':
			ajaxCommand('write', params)
		break;
		case 'dossier_medical:edit':
			addFormChecks();
		break;
	}
}
// Gestionnaire des évenements liés à ajax
function ajaxCommand(commandName, params) {
	switch (commandName) {
		case "editPersonalInfos":
			displayContent ("personalInfos", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();');
		break;
		case "editAccountInfos":
			displayContent ("accountInfos", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();');
		break;
		case "editMedicalInfos":
			displayContent ("medicalInfos", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();');
		break;
		case "editAllergyInfos":
			displayContent ("allergyInfos", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();initTinyMce();');
		break;
		case "editTreatmentInfos":
			displayContent ("treatment", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();initTinyMce("contentText_treat");');
		break;
		case "editCommentInfos":
			displayContent ("comments", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();initTinyMce("contentText_comment");');
		break;
		case "updateWeight":
			displayContent ("alertWeight", "includes/ctrDisplay_client.php", 'section='+commandName+'&'+params+'', 'addFormChecks();');
		break;
		
		case "inbox":
		case "sentbox":
		case "message":
			displayContent ("messagingContent", "includes/ctrDisplay_messaging.php", 'section='+commandName+'&cltId='+params+'', '');
		break;
		case "write":
			displayContent ("messagingContent", "includes/ctrDisplay_messaging.php", 'section='+commandName+'&cltId='+params+'', 'addFormChecks();initTinyMce("contentText_Req");');
		break;
		case "deleteSelectedMessage":
			var elts = getElementsByClassName('chkbox');
			var found=false;
			for (var i=0; i<elts.length; i++) {
				if (elts[i].checked==true) found=true;
			}
			if (found) {
				displayContent ("returnField", "includes/ctrDisplay_messaging.php", 'section='+commandName+'&cltId='+params+'', 'toggleBlindDown("returnField");addFormChecks();');
			} else {
				//alert ('aucun element coché');	
			}
		break;
		case "deleteMessage":
			displayContent ("returnField", "includes/ctrDisplay_messaging.php", 'section='+commandName+'&cltId='+params+'', 'toggleBlindDown("returnField");addFormChecks();');
		break;
		
		case "editDayboxMeal":
			var e = params.split('&');
			e = e[0].split('=');
			var mealId=e[1];
			displayContent ("daybox"+mealId, "includes/ctrDisplay_semainier.php", 'section='+commandName+'&'+params+'', 'addFormChecks();');
		break;
		case "displayDayboxMeal":
			var e = params.split('&');
			e = e[0].split('=');
			var mealId=e[1];
			displayContent ("daybox"+mealId, "includes/ctrDisplay_semainier.php", 'section='+commandName+'&'+params+'', '');
		break;
		
		case "null":
		break;
		default:
			alert ('Commande inconnue: '+commandName);
		break;
	}
}

// Gestionnaire d'action : reset d'un formulaire
function resetForm(e) {
	// Compatibilité MSIE / les autres...
    e = e || window.event;
    var form = e.target || e.srcElement;
	switch (form.getAttribute('id'))
	{
		case "editPersonalInfosForm":
			var cltId=document.getElementById('cltId').value;
			displayContent ("personalInfos", "includes/ctrDisplay_client.php", 'section=displayPersonalInfos&cltId='+cltId+'', '');
		break;
		case "editAccountInfosForm":
			var cltId=document.getElementById('cltId').value;
			displayContent ("accountInfos", "includes/ctrDisplay_client.php", 'section=displayAccountInfos&cltId='+cltId+'', '');
		break;
		case "editMedicalInfosForm":
			var cltId=document.getElementById('cltId').value;
			displayContent ("medicalInfos", "includes/ctrDisplay_client.php", 'section=displayMedicalInfos&cltId='+cltId+'', '');
		break;
		case "editAllergyInfosForm":
			var cltId=document.getElementById('cltId').value;
			displayContent ("allergyInfos", "includes/ctrDisplay_client.php", 'section=displayAllergyInfos&cltId='+cltId+'', 'removeTinyMce();');
		break;
		case "editTreatmentInfosForm":
			var cltId=document.getElementById('cltId').value;
			displayContent ("treatment", "includes/ctrDisplay_client.php", 'section=displayTreatmentInfos&cltId='+cltId+'', 'removeTinyMce("contentText_treat");');
		break;
		case "editCommentInfosForm":
			var cltId=document.getElementById('cltId').value;
			displayContent ("comments", "includes/ctrDisplay_client.php", 'section=displayComments&cltId='+cltId+'', 'removeTinyMce("contentText_comment");');
		break;
		case "updateWeightForm":
		case "updateWeightConfirmForm":
			toggleBlindUp('returnField');
			var cltId=document.getElementById('cltId').value;
			displayContent ("alertWeight", "includes/ctrDisplay_client.php", 'section=displayWeightAlert&cltId='+cltId+'', '');
		break;
		case "deleteMessageForm":
		case "deleteSelectedMessageForm":
			toggleBlindUp('returnField');
		break;
				
		default:
			stopEvent(e);
			Form.reset(form);
			toggleBlindUp('returnField');
		break;
	}
}

function execFormCommand(form) {
	var params="";
	params = Form.serialize(form);
	switch (form.getAttribute('id')) {
		case "editPersonalInfosForm":
			var cltId=document.getElementById('cltId').value;
			execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'personalInfos', 'includes/ctrDisplay_client.php', 'section=displayPersonalInfos&cltId='+cltId+'', '');
		break;
		
		case "editAccountInfosForm":
			var cltId=document.getElementById('cltId').value;
			var pwd=document.getElementById('userPwd_Req').value;
			var pwdConfirm=document.getElementById('userPwdConfirm_Req').value;
			if (pwd != pwdConfirm)
				displayFormErrors(form.getAttribute('id'), '- Les deux mots de passe ne sont pas identiques.');
			else {
				execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'accountInfos', 'includes/ctrDisplay_client.php', 'section=displayAccountInfos&cltId='+cltId+'', '');
			}
		break;
		
		case "editMedicalInfosForm":
			var cltId=document.getElementById('cltId').value;
			execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'medicalInfos', 'includes/ctrDisplay_client.php', 'section=displayMedicalInfos&cltId='+cltId+'', '');
		break;
		
		case "editAllergyInfosForm":
			tinyMCE.execCommand('mceFocus', false, 'contentText');
			var contentText = tinyMCE.activeEditor.getContent();
			params = Form.serialize(form)+'&contentText='+contentText+'';
			var cltId=document.getElementById('cltId').value;			
			execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'allergyInfos', 'includes/ctrDisplay_client.php', 'section=displayAllergyInfos&cltId='+cltId+'', 'removeTinyMce();');
		break;
		
		case "editTreatmentInfosForm":
			tinyMCE.execCommand('mceFocus', false, 'contentText_treat');
			var contentText = tinyMCE.activeEditor.getContent();
			params = Form.serialize(form)+'&contentText='+contentText+'';
			var cltId=document.getElementById('cltId').value;			
			execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'treatment', 'includes/ctrDisplay_client.php', 'section=displayTreatmentInfos&cltId='+cltId+'', 'removeTinyMce("contentText_treat");');
		break;
		
		case "editCommentInfosForm":
			tinyMCE.execCommand('mceFocus', false, 'contentText_comment');
			var contentText = tinyMCE.activeEditor.getContent();
			params = Form.serialize(form)+'&contentText='+contentText+'';
			var cltId=document.getElementById('cltId').value;			
			execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'comments', 'includes/ctrDisplay_client.php', 'section=displayComments&cltId='+cltId+'', 'removeTinyMce("contentText_comment");');
		break;
		
		case "updateWeightForm":
			displayContent ("alertWeight", "includes/ctrDisplay_client.php", 'section=updateWeightConfirm&'+params+'', 'addFormChecks();');
		break;
		
		case "updateWeightConfirmForm":
			toggleBlindUp('alertWeight');
			var cltId=document.getElementById('cltId').value;
			displayContent ("invisible", "includes/ctrUpdate_client.php", params+'&section='+form.getAttribute('id')+'', "displayWeightChart('weightGraph', '"+cltId+"');");
			//execAndDisplayContent ('invisible', 'includes/ctrUpdate_client.php', params+'&section='+form.getAttribute('id')+'', 'weightGraph', 'includes/ctrDisplay_client.php', 'section=displayWeightGraph&cltId='+cltId+'', '');
		break;
		
		case "sendMessageForm":
			toggleBlindUp('returnField');
			var cltId=document.getElementById('cltId').value;
			execAndDisplayContent ('invisible', 'includes/ctrUpdate_messaging.php', params+'&section='+form.getAttribute('id')+'', 'sendMessage', 'includes/ctrDisplay_messaging.php', 'section=displaySentMsg&cltId='+cltId+'', '');
		break;
		
		case "deleteSelectedMessageForm":
			toggleBlindUp('returnField');
			var elts = getElementsByClassName('chkbox');
			var ids = '';
			for (var i=0; i<elts.length; i++) {
				if (elts[i].checked==true)
				{
					var justId=elts[i].id.split('_');
					var msgId=justId[1];
					ids+=msgId+';';
					Element.remove('msgRow_'+msgId);
				}
			}
			displayContent ("invisible", "includes/ctrUpdate_messaging.php", params+'&section='+form.getAttribute('id')+'&ids='+ids+'', "");			
		break;
		
		case "deleteMessageForm":
			toggleBlindUp('returnField');
			var dest=document.getElementById('dest').value;
			//var callback="ajaxCommand('messagerie:inbox', "+params+")";
			displayContent ("invisible", "includes/ctrUpdate_messaging.php", params+'&section='+form.getAttribute('id')+'', "window.document.location.href='index.php?section=messagerie:"+dest+"';");			
		break;
		
		/* Semainier */
		case "editDayboxMealForm":		
			var mealId=null;
			var e = params.split('&');
			for (var i=0; i < e.length; i++) {
				if (e[i].match(/mealId=/)) {
					var k = e[i].split('=');
					mealId=k[1];
				}
			}
			execAndDisplayContent ('invisible', 'includes/ctrDisplay_semainier.php', params+'&section='+form.getAttribute('id')+'', 'daybox'+mealId, 'includes/ctrDisplay_semainier.php', 'section=displayDayboxMeal&'+params, '');
		break;
		
		case "editMedicalFolderForm":			
			toggleBlindUp('returnField');
			displayContent ("invisible", "includes/ctrUpdate_client.php", params+'&section='+form.getAttribute('id')+'', "window.document.location.href='index.php?section=dossier_medical';");
		break;
		
		case "createAccountForm":
			var userEmail = Field.getValue('userEmail_Req_Mail');
			new Ajax.Request ("includes/ctrUpdate_client.php",
			{
				method:'post',
				parameters:'section=checkEmail&userEmail='+userEmail+'',
				onComplete:function (requester) {
					if (requester.responseText.match(/Valid/)) // Email valide
					{	
						form.submit();
					}
					else // Email deja utilisé
					{
						Element.update('returnField',requester.responseText);
						toggleBlindDown('returnField');
					}
				}
			});
		break;
		
		case "freeConsultForm":
			var sectionInputs_1 = Form.getInputs('section1', 'radio');
			var sectionInputs_2 = Form.getInputs('section2', 'radio');
			var sectionInputs_3 = Form.getInputs('section3', 'radio');
			var sumValue1 = 0; var sumValue2 = 0; var sumValue3 = 0;
			var nbValue1 = 0; var nbValue2 = 0; var nbValue3 = 0;
			for(var i=0; i < sectionInputs_1.length; i++) {
				if (sectionInputs_1[i].checked == true)
				{
					sumValue1=sumValue1+parseInt(sectionInputs_1[i].value);
					nbValue1++;
				}
			}
			for(var i=0; i < sectionInputs_2.length; i++) {
				if (sectionInputs_2[i].checked == true)
				{
					sumValue2=sumValue2+parseInt(sectionInputs_2[i].value);
					nbValue2++;
				}
			}
			for(var i=0; i < sectionInputs_3.length; i++) {
				if (sectionInputs_3[i].checked == true)
				{
					sumValue3=sumValue3+parseInt(sectionInputs_3[i].value);
					nbValue3++;
				}
			}
			var myWindow = new net.WinPop('overlay', 'sumValue1='+sumValue1+'&sumValue2='+sumValue2+'&sumValue3='+sumValue3+'&nbValue1='+nbValue1+'&nbValue2='+nbValue2+'&nbValue3='+nbValue3,650,383);
		break;
		
		default:
			form.submit();
		break;
	}
} //ExecFormCommand
