	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
	
	function getLineBreak(str){
		var reg = new RegExp("\n", "g");
		return str.replace(reg, "<br/>");
	}
	
	function showRegisterLayer(){
		var arrayPageSize = getPageSize();
		var divOpacity = document.getElementById('div_opacity');
		var divNotAmember = document.getElementById('notAmember');
		divOpacity.style["display"] = "block";
		divOpacity.style["width"] = arrayPageSize[0] + "px";
		divOpacity.style["height"] = arrayPageSize[1] + "px";
		divOpacity.style["z-index"] = 50;
			
		divNotAmember.style["width"] = arrayPageSize[0] + "px";
		divNotAmember.style["height"] = arrayPageSize[1] + "px";
		divNotAmember.style["display"] = "block";
		divNotAmember.style["z-index"] = 100;
	}
	function hideRegisterLayer(){
		var divOpacity = document.getElementById('div_opacity');
		var divNotAmember = document.getElementById('notAmember');
		divOpacity.style["display"] = "none";
		divNotAmember.style["display"] = "none";
	}
	
	function getPageSize(){
		
		var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		
		//	console.log(self.innerWidth);
		//	console.log(document.documentElement.clientWidth);
	
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth; 
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		//	console.log("xScroll " + xScroll)
		//	console.log("windowWidth " + windowWidth)
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = xScroll;		
		} else {
			pageWidth = windowWidth;
		}
		//	console.log("pageWidth " + pageWidth)
	
		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
		return arrayPageSize;
	}

	function swapImg(img){
		var src = img.src;
		var extention = src.slice(-3);
		src = src.substr(0, src.length-4);
		
		var hoverOut = src.slice(-5);
		if(hoverOut == "hover"){
			img.src = src.substr(0, src.length-6) + "." + extention;
		}else{
			img.src = src + "_hover." + extention;
		}
	}
	
	// ------------------------------------------------------------------------------------------------
	// Class navigation pour meeting list
	// @param aList_page : Array (contient les nom des ancres de chaque page. Commence par l'index 1)
	// @param aCurr_page : str (20080101)
	// @param aCurr_council : str (nac, iac, mac, imcc, hcc)
	// ------------------------------------------------------------------------------------------------
	function objNav(aList_page, aCurr_page, aCurr_council, aIdContenerPrev, aIdContenerNext){
		this.list_page 		= aList_page;
		this.cur_page 			= aCurr_page;
		this.curr_council 	= aCurr_council;
		this.idContenerPrev 	= aIdContenerPrev;
		this.idContenerNext 	= aIdContenerNext;
	}
	objNav.prototype = {
		next : function(){
			for(var i=1; i<this.list_page.length; i++){
				if (this.cur_page == this.list_page[i]) {
					this.cur_page = this.list_page[i+1];
					document.location.href = "councilDetail.asp?council=" + this.curr_council + "#" + this.cur_page;
					this.fillLinkPrev(this.idContenerPrev);
					if (i==this.list_page.length-2) {
						this.clearLink(this.idContenerNext);
					}
					break;
				}
			}
		},
		prev : function (){
			for(var i=this.list_page.length; i>=1; i--){
				if (this.cur_page == this.list_page[i]) {
					this.cur_page = this.list_page[i-1];
					document.location.href = "councilDetail.asp?council=" + this.curr_council + "#" + this.cur_page;
					this.fillLinkNext(this.idContenerNext);
					if (i==2) {
						this.clearLink(this.idContenerPrev);
					}
					break;
				}
			}
		},
		clearLink : function (aIdContenerPrev){
			document.getElementById(aIdContenerPrev).innerHTML = "&nbsp;";
		},
		fillLinkNext : function (aIdContenerNext){
			document.getElementById(aIdContenerNext).innerHTML = "<a href=\"javascript:insNav.next();\">next </a><img src=\"../images/img_next.gif\" alt=\"\" />";
		},
		fillLinkPrev : function (aIdContenerPrev){
			document.getElementById(aIdContenerPrev).innerHTML = "<img src=\"../images/img_prev.gif\" alt=\"\" /> <a href=\"javascript:insNav.prev();\">previous</a>";
		}
	}
	
	function showIssueLayer(divID){
		var arr_div = $(".issue_content");
		arr_div.css("display","none");
		$('#'+divID).css("display","block");
	}
	
	function getElementsByClassName(className, tag, elm){
		var testClass = new RegExp("(^|s)" + className + "(s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i ];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	}
	
	
	// ------------------------------------------------------------------------------------------
	// Ajoute une ligne au tableau list meeting pour l'ajout d'un meeting
	// ------------------------------------------------------------------------------------------
	function addMeeting(councilID){
		
		$('#td_add_meeting').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "meetingTrAdd";
		
		td1 = document.createElement("td");
		td1.innerHTML = "Display date :<br/> <input type='text' name='txtDisplayDate' id='txtDisplayDate' style='width:140px;' /><br/>System date :<br/> <input type='text' name='txtSystemDate' id='txtSystemDate' style='width:100px;' />";
		myTr.appendChild(td1);
		
		td2 = document.createElement("td");
		td2.style.verticalAlign = "top";
		td2.innerHTML = "<br/><input type='text' name='txtSubject' id='txtSubject' style='width:280px; margin-bottom:4px;' /><br/><input type='checkbox' name='txtIsSpring' id='txtIsSpring' value='1' /> spring meeting <input type='checkbox' name='txtIsAutumn' id='txtIsAutumn' value='1' /> autumn Meeting";
		myTr.appendChild(td2);
		
		td3 = document.createElement("td");
		td3.style.verticalAlign = "top";
		td3.innerHTML = "<br/><input type='text' name='txtPlace' id='txtPlace' style='width:280px;' />";
		myTr.appendChild(td3);
		
		td4 = document.createElement("td");
		td4.style.verticalAlign = "top";
		td4.setAttribute('colSpan','3');
		td4.innerHTML = "<br/><input type='button' value='Send' onclick='sendAddMeeting("+ councilID +");' /> <input type='button' value='Cancel' onclick='cancelAddMeeting("+ councilID +");' />";
		myTr.appendChild(td4);
		
		$('#tbodyMeetingList').prepend(myTr);
		
		$('#txtIsSpring').click(function(){
			$('#txtIsAutumn')[0].checked = false;							 
		});
		$('#txtIsAutumn').click(function(){
			$('#txtIsSpring')[0].checked = false;							 
		});
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime la ligne d'ajout d'un meeting
	// ------------------------------------------------------------------------------------------
	function cancelAddMeeting(councilID){
		$('#tbodyMeetingList')[0].removeChild($('#meetingTrAdd')[0]);
		$('#td_add_meeting').html("<div id=\"div_add_meeting\"><a href=\"javascript:addMeeting("+ councilID +");\">Add a meeting</a></div>");
	}
	
	// ------------------------------------------------------------------------------------------
	// Fonction qui valide et envoie le nouveau meeting
	// ------------------------------------------------------------------------------------------
	function sendAddMeeting(councilID){
		var validator = new objVal(false);
		
		validator.required($('#txtDisplayDate')[0], "Display date");
		validator.isDateEu($('#txtSystemDate')[0], "System date", true);
		validator.required($('#txtSubject')[0], "Subject");
		validator.required($('#txtPlace')[0], "Place");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			if( $('#txtIsSpring')[0].checked ){
				isSpring = 1
			}else{
				isSpring = 0;	
			}
			
			if( $('#txtIsAutumn')[0].checked ){
				isAutumn = 1
			}else{
				isAutumn = 0;	
			}
			
			dataToSend = "councilID="+ councilID +"&displayDate="+ escape($('#txtDisplayDate')[0].value) +"&systemDate="+ escape($('#txtSystemDate')[0].value) +"&subject="+ escape($('#txtSubject')[0].value) +"&place="+ escape($('#txtPlace')[0].value) + "&isSpring=" + isSpring + "&isAutumn=" + isAutumn;
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/createMeeting.asp",
				dataType : "script",
				data: dataToSend
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime un meeting (by ajax)
	// ------------------------------------------------------------------------------------------
	function deleteMeeting(agendaID, trID){
		if (confirm("Are you sure to delete this meeting ?")){
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteMeeting.asp",
				dataType : "script",
				data: "agendaID="+agendaID+"&trID="+trID
			 });
			
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une ligne de meeting list (client)
	// ------------------------------------------------------------------------------------------
	function deleteMeetingTr(trID){
		$('#tbodyMeetingList')[0].removeChild($('#'+trID)[0]);
		
		var arr_tr = $('#tbodyMeetingList tr');
		for(i=0; i<arr_tr.length; i++){
			var myclass = ((i%2==0) ? "tr_meeting_list_1" : "tr_meeting_list_2");
			arr_tr[i].className = myclass;
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Rend ligne de meetings list éditable
	// ------------------------------------------------------------------------------------------
	function editMeeting(agendaID, trID){
		
		var arr_td = $('#'+ trID + ' td');
		arr_td.css("vertical-align", "top");
		
		if(arr_td.length > 0){
			
			var displaydate_value = $("#agenda_"+ agendaID +"_display_date")[0].value;
			var systemdate_value = $("#agenda_"+ agendaID +"_system_date")[0].value;
			var subject = $("#agenda_"+ agendaID +"_subject")[0].value;
			var place = $("#agenda_"+ agendaID +"_place")[0].value;
			var spring = $("#agenda_"+ agendaID +"_isSpring")[0].value;
			var autumn = $("#agenda_"+ agendaID +"_isAutumn")[0].value;
			
			$(arr_td[1]).css("vertical-align", "top")
			
			// td date
			$(arr_td[0]).html("Display date :<br/> <input type='text' name='agenda"+ agendaID +"_txtDisplayDate' id='agenda"+ agendaID +"_txtDisplayDate' value='"+ displaydate_value +"' style='width:140px;' /><br/>System date :<br/> <input type='text' name='agenda"+ agendaID +"_txtSystemDate' id='agenda"+ agendaID +"_txtSystemDate' value='"+ systemdate_value +"' style='width:100px;' />");
			// td subject
			$(arr_td[1]).html("<br/><input type='text' name='agenda"+ agendaID +"_txtSubject' id='agenda"+ agendaID +"_txtSubject' value=\""+ subject +"\" style='width:280px; margin-bottom:4px;' /><br/><input type='checkbox' id='agenda"+ agendaID +"_txtIsSpring' value='1' /> spring meeting <input type='checkbox' name='agenda"+ agendaID +"_txtIsAutumn' id='agenda"+ agendaID +"_txtIsAutumn' value='1' /> autumn Meeting");
			// td place
			$(arr_td[2]).html("<br/><input type='text' name='agenda"+ agendaID +"_txtPlace' id='agenda"+ agendaID +"_txtPlace' value=\""+ place +"\" style='width:280px;' />");
			
			$(arr_td[3]).html("<br/><input type='button' name='btnSend' onclick='sendEditMeeting("+ agendaID +",\""+ trID +"\");' value='send' />");
			$(arr_td[4]).html("<br/><input type='button' name='btnCancel' onclick='cancelEditMeeting("+ agendaID +",\""+ trID +"\");' value='cancel' />");
			$(arr_td[5]).html("&nbsp;");
			
			if(spring == 1){
				$('#agenda'+ agendaID +'_txtIsSpring')[0].checked = true;
			}
			if(autumn == 1){
				$('#agenda'+ agendaID +'_txtIsAutumn')[0].checked = true;
			}
			
			$('#agenda'+ agendaID +'_txtIsSpring').click(function(){
				$('#agenda'+ agendaID +'_txtIsAutumn')[0].checked = false;							 
			});
			$('#agenda'+ agendaID +'_txtIsAutumn').click(function(){
				$('#agenda'+ agendaID +'_txtIsSpring')[0].checked = false;							 
			});
		}
		
	}
	
	// ------------------------------------------------------------------------------------------
	// cancel l'édit d'un meeting (replace les input par des text)
	// ------------------------------------------------------------------------------------------
	function cancelEditMeeting(agendaID, trID){
		
		var arr_td = $('#'+ trID + ' td');
		arr_td.css("vertical-align", "middle");
		
		if(arr_td.length > 0){
			
			var displaydate_value = $("#agenda_"+ agendaID +"_display_date")[0].value;
			var systemdate_value = $("#agenda_"+ agendaID +"_system_date")[0].value;
			var subject = $("#agenda_"+ agendaID +"_subject")[0].value;
			var place = $("#agenda_"+ agendaID +"_place")[0].value;
			var isMinute = $("#agenda_"+ agendaID +"_isMinute")[0].value;
			
			$(arr_td[0]).html(displaydate_value);
			$(arr_td[1]).html(subject);
			$(arr_td[2]).html(place);
			$(arr_td[3]).html("<a href=\"agenda.asp?agID="+ agendaID +"\">Agenda</a>");
			if (isMinute == "1") $(arr_td[4]).html("<a href=\"minute.asp?agID="+ agendaID +"\">Minutes</a>"); else $(arr_td[4]).html("&nbsp;");
			$(arr_td[5]).html("<a href='javascript:editMeeting("+ agendaID +", \""+ trID +"\");' class='linkAdmin'>edit</a><br/><a href='javascript:deleteMeeting("+ agendaID +", \""+ trID +"\");' class='linkAdmin'>delete</a>");
			
		}
		
	}
	
	
	// ------------------------------------------------------------------------------------------
	// Envoie l'édit d'un meeting (via ajax)
	// ------------------------------------------------------------------------------------------
	function sendEditMeeting(agendaID, trID){
		var validator = new objVal(false);
		
		validator.required($("#agenda"+ agendaID +"_txtDisplayDate")[0], "Display date");
		validator.isDateEu($("#agenda"+ agendaID +"_txtSystemDate")[0], "System date", true);
		validator.required($("#agenda"+ agendaID +"_txtSubject")[0], "Subject");
		validator.required($("#agenda"+ agendaID +"_txtPlace")[0], "Place");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			txtDisplayDate = escape($("#agenda"+ agendaID +"_txtDisplayDate")[0].value);
			txtSystemDate 	= escape($("#agenda"+ agendaID +"_txtSystemDate")[0].value);
			txtSubject 		= escape($("#agenda"+ agendaID +"_txtSubject")[0].value);
			txtPlace 		= escape($("#agenda"+ agendaID +"_txtPlace")[0].value);
			
			if( $("#agenda"+ agendaID +"_txtIsSpring")[0].checked ){
				isSpring = 1
			}else{
				isSpring = 0;	
			}
			
			if( $("#agenda"+ agendaID +"_txtIsAutumn")[0].checked ){
				isAutumn = 1
			}else{
				isAutumn = 0;	
			}
			
			dataToSend = "agendaID="+ agendaID +"&displayDate="+ txtDisplayDate +"&systemDate="+ txtSystemDate +"&subject="+ txtSubject +"&place="+ txtPlace + "&isSpring=" + isSpring + "&isAutumn=" + isAutumn;
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateMeeting.asp",
				dataType : "script",
				data: dataToSend
			 });
			
		}
	}
	
	
	function addDocument(agendaID){

		window.open("../uploadjava/uploadDocument.asp?agID="+ agendaID +"", "_blank", 'resizable=no, location=no, width=440, height=300, menubar=no, status=no, scrollbars=no, menubar=no');
			
	}
	
	function cancelAddDoc(){
		$('#tbody_documents')[0].removeChild($('#documentTrAdd')[0]);
	}
	
	function deleteDoc(trID, documentID){
		if (confirm("Are you sure to delete this document ?")){
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteDocument.asp",
				dataType : "script",
				data: "documentID="+documentID+"&trID="+trID
			 });
			
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une ligne de meeting list (client)
	// ------------------------------------------------------------------------------------------
	function deleteDocumentTr(trID){
		$('#tbody_documents')[0].removeChild($('#'+trID)[0]);
		
		var arr_tr = $('#tbody_documents tr');
		for(i=1; i<arr_tr.length; i++){
			var myclass = ((i%2==0) ? "tr2" : "tr1");
			arr_tr[i].className = myclass;
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Ajoute le formulaire pour l'ajout d'un present
	// ------------------------------------------------------------------------------------------
	function addPresent(agendaID){
		$('#td_linkAddPresent').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "presentTrAdd";
		
		td1 = document.createElement("td");
		td1.style.verticalAlign = "top";
		td1.style.paddingBottom = "3px";
		td1.style.paddingTop = "3px";
		td1.setAttribute('colSpan','2');
		td1.innerHTML = "<div id='divAddPresent'><input type='text' style='width:180px;' name='txtPresent' id='txtPresent' /><input type='button' value='send' onclick='sendPresent("+ agendaID +");' /><input type='button' onclick='cancelAddPresent("+ agendaID +");' value='cancel'  /></div>";
		myTr.appendChild(td1);
		
		$($('#tbody_presents tr')[0]).after(myTr);
		
		$('#txtPresent')[0].focus();
	}
	
	function addPresent2(agendaID){
		$('#td_linkAddPresent').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "presentTrAdd";
		
		td1 = document.createElement("td");
		td1.style.verticalAlign = "top";
		td1.style.paddingBottom = "3px";
		td1.style.paddingTop = "3px";
		td1.setAttribute('colSpan','2');
		td1.innerHTML = "<div id='divAddPresent'><table><tr><td>Last name: </td><td><input type='text' style='width:150px;' name='txtLastName' id='txtLastName' /></td></tr><tr><td>First name: </td><td><input type='text' style='width:150px;' name='txtFirstName' id='txtFirstName' /></td><tr><td>&nbsp;</td><td> <input type='button' value='send' onclick='sendPresent2("+ agendaID +");' /><input type='button' onclick='cancelAddPresent2("+ agendaID +");' value='cancel'  /></td></tr></table></div>";
		myTr.appendChild(td1);
		
		$($('#tbody_presents tr')[0]).after(myTr);
		
		$('#txtLastName')[0].focus();
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime la ligne d'ajout d'un present lors d'un clic sur le cancel
	// ------------------------------------------------------------------------------------------
	function cancelAddPresent(agendaID){
		$('#tbody_presents')[0].removeChild($('#presentTrAdd')[0]);
		$('#td_linkAddPresent').html("<a href='javascript:addPresent("+ agendaID +");' class='linkAdmin'>Add present</a>");
	}
	
	function cancelAddPresent2(agendaID){
		$('#tbody_presents')[0].removeChild($('#presentTrAdd')[0]);
		$('#td_linkAddPresent').html("<a href='javascript:addPresent2("+ agendaID +");' class='linkAdmin'>Add present</a>");
	}
	// ------------------------------------------------------------------------------------------
	// Envoie un present by ajax
	// ------------------------------------------------------------------------------------------
	function sendPresent(agendaID){
		var validator = new objVal(false);
		
		validator.required($("#txtPresent")[0], "Present");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var present = escape($("#txtPresent")[0].value);
			dataToSend = "agendaID="+ agendaID +"&present="+ present
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/addPresent.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		}
	}
	
	
	function sendPresent2(agendaID){
		var validator = new objVal(false);
		
		validator.required($("#txtLastName")[0], "LastName");
		validator.required($("#txtFirstName")[0], "FirstName");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var firstname = escape($("#txtFirstName")[0].value);
			var lastname = escape($("#txtLastName")[0].value);
			
			dataToSend = "agendaID="+ agendaID +"&firstname="+ firstname + "&lastname="+ lastname
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/addPresent2.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		}
	}
	
	
	// ------------------------------------------------------------------------------------------
	// Supprime un present
	// ------------------------------------------------------------------------------------------
	function delPresent(present, agendaID){
		if (confirm("Are you sure to delete this present ?")) {
			var strPresent = $('#strPresent')[0].value;
			var newStrPresent = "";
			var arrPresent = strPresent.split(",");
			var first = true;
			
			for (var i=0; i<arrPresent.length; i++) {
				if (arrPresent[i].trim() != present.trim()) {
					if (first == true) {
						newStrPresent += arrPresent[i].trim();
						first = false;
					}else{
						newStrPresent += "," + arrPresent[i].trim();
					}
				}
			}
			
			dataToSend = "agendaID="+ agendaID +"&present="+ escape(newStrPresent);
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updatePresent.asp",
				dataType : "script",
				data: dataToSend
			 });	
		}
	}
	
	function delPresent2(participantID){
		if (confirm("Are you sure to delete this present ?")) {	
			dataToSend = "participantID="+ participantID;
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deletePresent.asp",
				dataType : "script",
				data: dataToSend
			 });	
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Ajoute le formulaire pour l'ajout d'un apologies
	// ------------------------------------------------------------------------------------------
	function addApologies(agendaID){
		$('#td_linkAddApologies').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "apologiesTrAdd";
		
		td1 = document.createElement("td");
		td1.style.verticalAlign = "top";
		td1.style.paddingBottom = "3px";
		td1.style.paddingTop = "3px";
		td1.setAttribute('colSpan','2');
		td1.innerHTML = "<div id='divAddAppologies'><table><tr><td>Last name: </td><td><input type='text' style='width:150px;' name='txtLastName' id='txtLastName' /></td></tr><tr><td>First name: </td><td><input type='text' style='width:150px;' name='txtFirstName' id='txtFirstName' /></td><tr><td>&nbsp;</td><td> <input type='button' value='send' onclick='sendApologies("+ agendaID +");' /><input type='button' onclick='cancelAddApologies("+ agendaID +");' value='cancel'  /></td></tr></table></div>";
		myTr.appendChild(td1);
		
		$($('#tbody_apologies tr')[0]).after(myTr);
		
		$('#divAddAppologies #txtLastName')[0].focus();
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime la ligne d'ajout d'un apolo lors d'un clic sur le cancel
	// ------------------------------------------------------------------------------------------
	function cancelAddApologies(agendaID){
		$('#tbody_apologies')[0].removeChild($('#apologiesTrAdd')[0]);
		$('#td_linkAddApologies').html("<a href='javascript:addApologies("+ agendaID +");' class='linkAdmin'>Add apology</a>");
	}
	
	
	// ------------------------------------------------------------------------------------------
	// Envoie un apology by ajax
	// ------------------------------------------------------------------------------------------
	function sendApologies(agendaID){
		var validator = new objVal(false);
		
		validator.required($("#divAddAppologies #txtLastName")[0], "Lastname");
		validator.required($("#divAddAppologies #txtFirstName")[0], "Firstname");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var firstname = escape($("#divAddAppologies #txtLastName").val());
			var lastname = escape($("#divAddAppologies #txtFirstName").val());
			
			dataToSend = "agendaID="+ agendaID +"&firstname="+ firstname + "&lastname="+ lastname
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/addApology.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime un apology
	// ------------------------------------------------------------------------------------------
	function delApology(apologyID){
		if (confirm("Are you sure to delete this present ?")) {	
			dataToSend = "apologyID="+ apologyID;
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteApology.asp",
				dataType : "script",
				data: dataToSend
			 });	
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Ajoute le formulaire pour l'ajout d'un guest
	// ------------------------------------------------------------------------------------------
	function addGuest(agendaID){
		$('#td_linkAddGuest').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "guestTrAdd";
		
		td1 = document.createElement("td");
		td1.style.verticalAlign = "top";
		td1.style.paddingBottom = "3px";
		td1.style.paddingTop = "3px";
		td1.setAttribute('colSpan','2');
		td1.innerHTML = "<div id='divAddPresent'><input type='text' style='width:180px;' name='txtGuest' id='txtGuest' /><input type='button' value='send' onclick='sendGuest("+ agendaID +");' /><input type='button' onclick='cancelAddGuest("+ agendaID +");' value='cancel'  /></div>";
		myTr.appendChild(td1);
		
		$($('#tbody_guest tr')[0]).after(myTr);
		
		$('#txtGuest')[0].focus();
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime la ligne d'ajout d'un guest lors d'un clic sur le cancel
	// ------------------------------------------------------------------------------------------
	function cancelAddGuest(agendaID){
		$('#tbody_guest')[0].removeChild($('#guestTrAdd')[0]);
		$('#td_linkAddGuest').html("<a href='javascript:addGuest("+ agendaID +");' class='linkAdmin'>Add guest</a>");
	}
	
	
	// ------------------------------------------------------------------------------------------
	// Envoie un apology by ajax
	// ------------------------------------------------------------------------------------------
	function sendGuest(agendaID){
		var validator = new objVal(false);
		
		validator.required($("#txtGuest")[0], "Guest");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var guest = escape($("#txtGuest")[0].value);
			dataToSend = "agendaID="+ agendaID +"&guest="+ guest
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/addGuest.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime un apology
	// ------------------------------------------------------------------------------------------
	function delGuest(guest, agendaID){
		if (confirm("Are you sure to delete this guest ?")) {
			var strGuest = $('#strGuest')[0].value;
			var newStrGuest = "";
			var arrGuest = strGuest.split(",");
			var first = true;
			
			for (var i=0; i<arrGuest.length; i++) {
				if (arrGuest[i].trim() != guest.trim()) {
					if (first == true) {
						newStrGuest += arrGuest[i].trim();
						first = false;
					}else{
						newStrGuest += "," + arrGuest[i].trim();
					}
				}
			}
			
			dataToSend = "agendaID="+ agendaID +"&guest="+ escape(newStrGuest);
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateGuest.asp",
				dataType : "script",
				data: dataToSend
			 });	
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Ajoute le formulaire d'ajout d'un schedule
	// ------------------------------------------------------------------------------------------
	function addAgItem(agendaID){
		$('#div_agLinkAddItem').html("&nbsp;");
		
		var html = "";
		html += "<div id='frmAddAgItem'>";
			html += "<table>";
				html += "<tr>";
					html += "<td>Day:</td>";
					html += "<td><select id='txtDay' name='txtDay' style='width:100px;'><option value='1'>Mon</option><option value='2'>Tue</option><option value='3'>Wed</option><option value='4'>Thu</option><option value='5'>Fri</option><option value='6'>Sat</option><option value='7'>Sun</option></select></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td>Time:</td>";
					html += "<td><input type='text' name='txtTime' id='txtTime' style='width:100px' /> <span class='small'>(eg: 01.30h)</span></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td>Title:</td>";
					html += "<td><input type='text' name='txtTitle' id='txtTitle' style='width:350px' /></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td style='vertical-align:top;'>Description:</td>";
					html += "<td><textarea name='txtDescription' id='txtDescription' style='width:350px; height:100px;'></textarea></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td>&nbsp;</td>";
					html += "<td><input type='button' value='Send' onclick='sendAgItem("+ agendaID +");' /><input type='button' value='Cancel' onclick='cancelAddAgItem("+ agendaID +");' /></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td colspan='2' class='td_required'>* required</td>";
				html += "</tr>";
			html += "</table>";
		html += "</div>";
		
		$('#div_agLinkAddItem').after(html);
	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'ajout d'un schedule (supprime le form et ajoute le liens add item)
	// ------------------------------------------------------------------------------------------
	function cancelAddAgItem(agendaID){
		$('#tdAgendaContent')[0].removeChild($('#frmAddAgItem')[0]);
		$('#div_agLinkAddItem').html("<a href='javascript:addAgItem("+ agendaID +");' class='linkAdmin'>Add an item</a>");
	}
	
	// ------------------------------------------------------------------------------------------
	// Envoie un nouveau schedule by ajax
	// ------------------------------------------------------------------------------------------
	function sendAgItem(agendaID){
		/*var validator = new objVal(false);
		
		validator.required($("#txtDay")[0], "Day");
		validator.isValidRegEx($("#txtTime")[0], "Time", {
												expression 		: "^[0-9]{2}\.[0-9]{2}h$",
												isRequired		: true,
												acceptFormat 	: "10.30h"
											});
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{*/
			
			var txtDay 			 = escape($("#txtDay")[0].value);
			var txtTime 		 = escape($("#txtTime")[0].value);
			var txtTitle 		 = escape($("#txtTitle")[0].value);
			var txtDescription = escape($("#txtDescription")[0].value);
			
			dataToSend = "agendaID="+ agendaID +"&txtDay="+ txtDay + "&txtTime="+ txtTime +"&txtTitle= "+ txtTitle +"&txtDescription="+ txtDescription;
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/addSchedule.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime un schedule by ajax
	// ------------------------------------------------------------------------------------------
	function delSchedule(scheduleID, trID){
		if (confirm("Are you sure to delete this item ?")) {
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteSchedule.asp",
				dataType : "script",
				data: "scheduleID=" + scheduleID + "&trID=" + trID
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime la ligne d'un schedule
	// ------------------------------------------------------------------------------------------
	function deleteScheduleTr(trID){
		$('#'+trID).remove();
	}
	
	// ------------------------------------------------------------------------------------------
	// Lance le mode édit d'un schedule
	// ------------------------------------------------------------------------------------------
	function editSchedule(scheduleID){
		
		var txtTime 			= $('#schedule'+ scheduleID +'_strTime')[0].value;
		var txtTitle 			= $('#schedule'+ scheduleID +'_title')[0].value;
		var txtDescription 	= $('#schedule'+ scheduleID +'_description')[0].value;
		
		$('#td_schedule'+ scheduleID +'_time').html("<input type='text' style='width:55px;' maxlength='6' value='"+ txtTime +"' id='schedule"+ scheduleID +"_strTimeEdit' />");
		$('#td_schedule'+ scheduleID +'_title').html("<input type='text' style='width:400px;' value='"+ txtTitle +"' id='schedule"+ scheduleID +"_titleEdit'/>");
		$('#td_schedule'+ scheduleID +'_description').html("<textarea id='schedule"+ scheduleID +"_descriptionEdit' style='width:400px; height:75px;'>"+ txtDescription +"</textarea><br/><input type='button' value='Send' onclick='sendEditSchedule("+ scheduleID +")' /><input type='button' value='Cancel' onclick='cancelEditSchedule("+ scheduleID +");' />");

	}
	
	// ------------------------------------------------------------------------------------------
	// Annule le mode édit d'un schedule
	// ------------------------------------------------------------------------------------------
	function cancelEditSchedule(scheduleID){
		
		var txtTime 			= $('#schedule'+ scheduleID +'_strTime')[0].value;
		var txtTitle 			= $('#schedule'+ scheduleID +'_title')[0].value;
		var txtDescription 	= getLineBreak($('#schedule'+ scheduleID +'_description')[0].value);
		
		$('#td_schedule'+ scheduleID +'_time').html(txtTime);
		$('#td_schedule'+ scheduleID +'_title').html('<div class="linksAdminSchedule"><a href="javascript:editSchedule('+ scheduleID +');" class="linkAdmin"> edit </a> - <a href="javascript:delSchedule('+ scheduleID +'), \'table_schedule'+ scheduleID +'>\');" class="linkAdmin"> delete </a></div>' + txtTitle);
		$('#td_schedule'+ scheduleID +'_description').html(txtDescription);

	}
	
	// ------------------------------------------------------------------------------------------
	// Envoie le formulaire d'édition d'un schedule by ajax
	// ------------------------------------------------------------------------------------------
	function sendEditSchedule(scheduleID){
		
		var txtTime 			= escape($('#schedule'+ scheduleID +'_strTimeEdit')[0].value);
		var txtTitle 			= escape($('#schedule'+ scheduleID +'_titleEdit')[0].value);
		var txtDescription 	= escape($('#schedule'+ scheduleID +'_descriptionEdit')[0].value);
		
		$.ajax({
			type: "POST",
			url: "../ajax_server_response/updateSchedule.asp",
			dataType : "script",
			data: "scheduleID=" + scheduleID + "&txtTime=" + txtTime + "&txtTitle="+ txtTitle +"&txtDescription="+ txtDescription
		 });
	}
	
	// ------------------------------------------------------------------------------------------
	// Affiche le formulaire d'ajout d'une minute
	// ------------------------------------------------------------------------------------------
	function addMinuteItem(agendaID){
		$('#div_minLinkAddItem').html("&nbsp;");
		
		var html = "";
		html += "<div id='frmAddMinuteItem'>";
			html += "<table>";
				html += "<tr>";
					html += "<td>Title*:</td>";
					html += "<td><input type='text' name='txtTitel' id='txtTitel' style='width:350px' /></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td style='vertical-align:top;'>Description*:</td>";
					html += "<td><textarea name='txtDescription' id='txtDescription' style='width:350px; height:100px;'></textarea></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td>Action By:</td>";
					html += "<td><input type='text' name='txtActionBy' id='txtActionBy' style='width:350px' /></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td>&nbsp;</td>";
					html += "<td><input type='button' value='Send' onclick='sendMinuteItem("+ agendaID +");' /><input type='button' value='Cancel' onclick='cancelAddMinuteItem("+ agendaID +");' /></td>";
				html += "</tr>";
				html += "<tr>";
					html += "<td colspan='2' class='td_required'>* required</td>";
				html += "</tr>";
			html += "</table>";
		html += "</div>";
		
		$('#div_minLinkAddItem').after(html);
		
		tinyMCE.execCommand('mceAddControl', false, 'txtDescription');
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime le formulaire d'ajout d'une minute
	// ------------------------------------------------------------------------------------------
	function cancelAddMinuteItem(agendaID){
		$('#tdMinuteContent')[0].removeChild($('#frmAddMinuteItem')[0]);
		$('#div_minLinkAddItem').html("<a href='javascript:reorganizeMinuteItems();' class='linkAdmin'>Reorganize items</a> | <a href='javascript:addMinuteItem("+ agendaID +");' class='linkAdmin'>Add an item</a>");
	}
	
	// ------------------------------------------------------------------------------------------
	// Envoie une minute by ajax
	// ------------------------------------------------------------------------------------------
	function sendMinuteItem(agendaID){
		var validator = new objVal(false);
		
		var currentInstance = tinyMCE.get("txtDescription");
		currentInstance.save();
		
		validator.required($("#txtTitel")[0], "Title");
		validator.required($("#txtDescription")[0], "Description");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var txtTitle 		 = escape(replaceAccents($("#txtTitel")[0].value));
			var txtDescription 	 = escape(replaceAccents($("#txtDescription")[0].value));
			var txtActionBy 	 = escape(replaceAccents($("#txtActionBy")[0].value));
			
			dataToSend = "agendaID="+ agendaID + "&txtTitle="+ txtTitle +"&txtDescription= "+ txtDescription +"&txtActionBy="+ txtActionBy;
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/addMinute.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une minute by ajax
	// ------------------------------------------------------------------------------------------
	function delMinute(minuteID){
		if (confirm("Are you sure to delete this item ?")) {
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteMinute.asp",
				dataType : "script",
				data: "minuteID=" + minuteID
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une ligne html d'une minute
	// ------------------------------------------------------------------------------------------
	function deleteMinuteTr(trClass){
		$('.tr_minute'+trClass).remove();
	}
	
	// ------------------------------------------------------------------------------------------
	// Cree les champ text pour l'édition d'une minute
	// ------------------------------------------------------------------------------------------
	function editMinute(minuteID){
		
		var txtTitle 			= $('#minute'+ minuteID +'_txtTitle')[0].value;
		var txtDescription 		= $('#minute'+ minuteID +'_txtDescription')[0].value;
		var txtActionBy 		= $('#minute'+ minuteID +'_txtActionBy')[0].value;
		
		var htmlTrTextareas='<td id="td_minute'+ minuteID +'_description"></td><td id="td_minute'+ minuteID +'_action_by"></td>';
		$('#contentMinute' + minuteID).html(htmlTrTextareas);
		
		$('#td_minute'+ minuteID +'_title').html("<input type='text' style='width:535px;' value='"+ txtTitle +"' id='minute"+ minuteID +"_edit_txtTitle' />");
		$('#td_minute'+ minuteID +'_description').html("<textarea id='minute"+ minuteID +"_edit_txtDescription' style='width:425px; height:200px;'>"+ txtDescription +"</textarea><br/><input type='button' value='Send' onclick='sendEditMinute("+ minuteID +")' /><input type='button' value='Cancel' onclick='cancelEditMinute("+ minuteID +");' />");
		$('#td_minute'+ minuteID +'_action_by').html("<textarea id='minute"+ minuteID +"_edit_txtActionBy' style='width:90px; height:240px;'>"+ txtActionBy +"</textarea>");
		
		tinyMCE.execCommand('mceAddControl', false, 'minute'+ minuteID +'_edit_txtDescription');
		
	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'édition d'une minute
	// ------------------------------------------------------------------------------------------
	function cancelEditMinute(minuteID){
		
		document.location.reload();
		//var txtTitle 			= $('#minute'+ minuteID +'_txtTitle')[0].value;
		//var txtDescription 	= getLineBreak($('#minute'+ minuteID +'_txtDescription')[0].value);
		//var txtActionBy 		= getLineBreak($('#minute'+ minuteID +'_txtActionBy')[0].value);
		
		//$('#td_minute'+ minuteID +'_title').html('<div id="div_linksAdminMinutes"><a href="javascript:editMinute('+ minuteID +');" class="linkAdmin">edit</a> - <a href="javascript:delMinute('+ minuteID +');" class="linkAdmin">delete</a></div>' + txtTitle);
		//$('#td_minute'+ minuteID +'_description').html(txtDescription);
		//$('#td_minute'+ minuteID +'_action_by').html(txtActionBy);
	}
	
	// ------------------------------------------------------------------------------------------
	// confirm l'édition d'une minute
	// ------------------------------------------------------------------------------------------
	function sendEditMinute(minuteID){
		var currentInstance = tinyMCE.get('minute'+ minuteID +'_edit_txtDescription');
		currentInstance.save();
		
		var validator = new objVal(false);
		
		validator.required($('#minute'+ minuteID +'_edit_txtTitle')[0], "Title");
		validator.required($('#minute'+ minuteID +'_edit_txtDescription')[0], "Description");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var txtTitle 		 = escape(replaceAccents($('#minute'+ minuteID +'_edit_txtTitle').val()));
			var txtDescription 	 = escape(replaceAccents($('#minute'+ minuteID +'_edit_txtDescription').val()));
			var txtActionBy 	 = escape(replaceAccents($('#minute'+ minuteID +'_edit_txtActionBy').val()));
			
			dataToSend = "minuteID="+ minuteID + "&txtTitle="+ txtTitle +"&txtDescription= "+ txtDescription +"&txtActionBy="+ txtActionBy;
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateMinute.asp",
				dataType : "script",
				data: dataToSend
			 });	
			
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Cree bloc html pour l'ajout d'une alert
	// ------------------------------------------------------------------------------------------
	function addAlert(){
		$('#td_add_alert').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "alertTrAdd";
		
		td1 = document.createElement("td");
		td1.innerHTML = "Display date :<br/> <input type='text' name='txtDisplayDate' id='txtDisplayDate' style='width:90px;' /><br/>System date :<br/> <input type='text' name='txtSystemDate' id='txtSystemDate' style='width:80px;' />";
		myTr.appendChild(td1);
		
		td2 = document.createElement("td");
		td2.style.verticalAlign = "top";
		td2.innerHTML = "<br/><input type='text' name='txtCategory' id='txtCategory' style='width:100px;' />";
		myTr.appendChild(td2);
		
		td3 = document.createElement("td");
		td3.style.verticalAlign = "top";
		td3.innerHTML = "<br/><input type='text' name='txtSubject' id='txtSubject' style='width:550px; margin-bottom:4px;' /><br/><input type='button' value='Send' onclick='sendAddAlert();' /> <input type='button' value='Cancel' onclick='cancelAddAlert();' />";
		myTr.appendChild(td3);
		
		td4 = document.createElement("td");
		td4.style.verticalAlign = "top";
		td4.innerHTML = "&nbsp;";
		myTr.appendChild(td4);
		
		$('#tbody_alert_list').prepend(myTr);
	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'ajout d'une alert
	// ------------------------------------------------------------------------------------------
	function cancelAddAlert(){
		$('#tbody_alert_list')[0].removeChild($('#alertTrAdd')[0]);
		$('#td_add_alert').html('<div id="div_add_alert"><a href="javascript:addAlert();">add an alert</a></div>');
	}
	
	// ------------------------------------------------------------------------------------------
	// Envoie une alert (by ajax)
	// ------------------------------------------------------------------------------------------
	function sendAddAlert(){
		var validator = new objVal(false);
		
		validator.required($('#txtDisplayDate')[0], "Display date");
		validator.isDateEu($('#txtSystemDate')[0], "System date", true);
		validator.required($('#txtCategory')[0], "Category");
		validator.required($('#txtSubject')[0], "Subject");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			dataToSend = "displayDate="+ escape($('#txtDisplayDate')[0].value) +"&systemDate="+ escape($('#txtSystemDate')[0].value) +"&category="+ escape($('#txtCategory')[0].value) +"&subject="+ escape($('#txtSubject')[0].value);
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/createAlert.asp",
				dataType : "script",
				data: dataToSend
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une alert (by ajax)
	// ------------------------------------------------------------------------------------------
	function deleteAlert(alertID){
		if (confirm("Are you sure to delete this alert ?")) {
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteAlert.asp",
				dataType : "script",
				data: "alertID=" + alertID
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une ligne html d'une alert
	// ------------------------------------------------------------------------------------------
	function deleteAlertTr(alertID){
		$('#tr_alert_'+ alertID).remove();
		
		var arr_tr = $('#tbody_alert_list tr');
		for(i=0; i<arr_tr.length; i++){
			var myclass = ((i%2==0) ? "tr_meeting_list_1" : "tr_meeting_list_2");
			arr_tr[i].className = myclass;
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Cree bloc html pour l'édition d'une alert
	// ------------------------------------------------------------------------------------------
	function editAlert(alertID){
		
		var arr_td = $('#tr_alert_'+ alertID + ' td');
		
		if(arr_td.length > 0){
			
			$(arr_td[1]).css("vertical-align", "top");
			$(arr_td[2]).css("vertical-align", "top");
			
			var displaydate_value = $("#alert"+ alertID +"_txtDisplayDate")[0].value;
			var systemdate_value = $("#alert"+ alertID +"_txtSystemDate")[0].value;
			var category = $("#alert"+ alertID +"_txtCategory")[0].value;
			var subject = $("#alert"+ alertID +"_txtTitle")[0].value;
			
			// td date
			$(arr_td[0]).html("Display date :<br/> <input type='text' name='alert"+ alertID +"_edit_txtDisplayDate' id='alert"+ alertID +"_edit_txtDisplayDate' value='"+ displaydate_value +"' style='width:90px;' /><br/>System date :<br/> <input type='text' name='alert"+ alertID +"_edit_txtSystemDate' id='alert"+ alertID +"_edit_txtSystemDate' value='"+ systemdate_value +"' style='width:80px;' />");
			// td category
			$(arr_td[1]).html("<br/><input type='text' name='alert"+ alertID +"_edit_txtCategory' id='alert"+ alertID +"_edit_txtCategory' value=\""+ category +"\" style='width:100px;' />");
			// td subject (title)
			$(arr_td[2]).html("<br/><input type='text' name='alert"+ alertID +"_edit_txtSubject' id='alert"+ alertID +"_edit_txtSubject' value=\""+ subject +"\" style='width:550px; margin-bottom:4px;' /><br/><input type='button' value='Send' onclick='sendEditAlert("+ alertID +");' /> <input type='button' value='Cancel' onclick='cancelEditAlert("+ alertID +");' />");
			
			// td link admin
			$(arr_td[3]).html("&nbsp;");
			
		}
		
		$('#td_alert'+ alertID +'_displayDate').html("test");				

	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'édition d'une alert
	// ------------------------------------------------------------------------------------------
	function cancelEditAlert(alertID){
		var arr_td = $('#tr_alert_'+ alertID + ' td');
		
		if(arr_td.length > 0){
			
			$(arr_td[1]).css("vertical-align", "middle");
			$(arr_td[2]).css("vertical-align", "middle");
			
			var displaydate_value = $("#alert"+ alertID +"_txtDisplayDate")[0].value;
			var category = $("#alert"+ alertID +"_txtCategory")[0].value;
			var subject = $("#alert"+ alertID +"_txtTitle")[0].value;
			
			$(arr_td[0]).html(displaydate_value);
			$(arr_td[1]).html(category);
			$(arr_td[2]).html('<a href="AefAlertDetail.asp?alertID='+ alertID +'" class="link_alert_title">'+ subject +"</a>");
			$(arr_td[3]).html('<a href="javascript:editAlert('+ alertID +');" class="linkAdmin">edit</a> - <a href="javascript:deleteAlert('+ alertID +');" class="linkAdmin">delete</a>');
			
		}
		
		$('#td_alert'+ alertID +'_displayDate').html("test");		
	}
	
	// ------------------------------------------------------------------------------------------
	// Confirm l'édition d'une alert and send (by ajax)
	// ------------------------------------------------------------------------------------------
	function sendEditAlert(alertID){
		var validator = new objVal(false);
				
		validator.required($('#alert'+ alertID +'_edit_txtDisplayDate')[0], "Display date");
		validator.isDateEu($('#alert'+ alertID +'_edit_txtSystemDate')[0], "System date", true);
		validator.required($('#alert'+ alertID +'_edit_txtCategory')[0], "Category");
		validator.required($('#alert'+ alertID +'_edit_txtSubject')[0], "Subject");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var displayDate 	= escape($('#alert'+ alertID +'_edit_txtDisplayDate')[0].value);
			var systemDate 	= escape($('#alert'+ alertID +'_edit_txtSystemDate')[0].value);
			var category 		= escape($('#alert'+ alertID +'_edit_txtCategory')[0].value);
			var subject 		= escape($('#alert'+ alertID +'_edit_txtSubject')[0].value);
			
			dataToSend = "alertID="+ alertID +"&displayDate="+ displayDate +"&systemDate="+ systemDate +"&category="+ category +"&subject="+ subject;
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateAlert.asp",
				dataType : "script",
				data: dataToSend
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// ouvre popup pour l'ajout d'un document d'alert
	// ------------------------------------------------------------------------------------------
	function addAlertDocument(alertID){

		window.open("../uploadjava/uploadAlertDocument.asp?alertID="+ alertID +"", "_blank", 'resizable=no, location=no, width=440, height=300, menubar=no, status=no, scrollbars=no, menubar=no');
			
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime un alert document (by ajax)
	// ------------------------------------------------------------------------------------------
	function delAlertDocument(alertID){
		if (confirm("Are you sure to delete this document?")) {
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteAlertDocument.asp",
				dataType : "script",
				data: "alertID="+ alertID
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Remplace caractère spéciaux par code html
	// ------------------------------------------------------------------------------------------
	function replaceAccents(str){
		var tmpStr = str;
		tmpStr = tmpStr.replace("é", "&eacute;");
		tmpStr = tmpStr.replace("è", "&egrave");
		tmpStr = tmpStr.replace("ç", "&ccedil;");
		tmpStr = tmpStr.replace("à", "&agrave;");
		tmpStr = tmpStr.replace("â", "&acirc;");
		tmpStr = tmpStr.replace("ù", "&ugrave;");
		tmpStr = tmpStr.replace("ë", "&euml;");
		tmpStr = tmpStr.replace("ê", "&ecirc;");
		tmpStr = tmpStr.replace("î", "&icirc;");
		tmpStr = tmpStr.replace("ï", "&iuml;");
		tmpStr = tmpStr.replace("ù", "&ugrave;");
		tmpStr = tmpStr.replace("û", "&ucirc;");
		reg = reg=new RegExp("\'", "g");
		tmpStr = tmpStr.replace(reg, "&#39;");
		return tmpStr;
	}
	
	// ------------------------------------------------------------------------------------------
	// Cree bloc html pour l'envoie d'un bullet document
	// ------------------------------------------------------------------------------------------
	function addBullet(){
		var strHtml = "<div id='div_formAddBullet'></div>";
		
		var myTbl = document.createElement("table");
		myTbl.id = "tblAddBulletDoc";
		var tbody = document.createElement("tbody");
		
		// Création Ligne 1 (year)
		// -----------------------------------------------------------------
		var tr1 = document.createElement("tr");
		var td1 = document.createElement("td");
		var td2 = document.createElement("td");
		
		$(td1).html("Year");
		var mySelectYear = document.createElement("select");
		mySelectYear.id="selectYearAdd";
		$(mySelectYear).css("width", "100px");
		
		var myOptionYear;
		cpt = 0;
		for (var i=2008; i>1995; i--, cpt++) {
			myOptionYear = new Option(i, i)
			mySelectYear.options[cpt] = myOptionYear;
		}
		td2.appendChild(mySelectYear);
		
		// Création Ligne 2 (Month)
		// -----------------------------------------------------------------
		var tr2 = document.createElement("tr");
		var td3 = document.createElement("td");
		var td4 = document.createElement("td");
		
		$(td3).html("Month");
		
		var mySelectMonth = document.createElement("select");
		mySelectMonth.id="selectMonthAdd";
		var myOptionMonth;
		cpt = 0;
		for (var i=1; i<=12; i++, cpt++) {
			myOptionMonth= new Option(i, i)
			mySelectMonth.options[cpt] = myOptionMonth;
		}
		td4.appendChild(mySelectMonth);
		
		
		// Création Ligne 3 (Submit)
		// -----------------------------------------------------------------
		var tr3 = document.createElement("tr");
		var td5 = document.createElement("td");
		var td6 = document.createElement("td");
		
		$(td5).html("&nbsp;");
		$(td6).html("<input type='button' value='upload document' onclick='uploadBulletDocument();' /><input type='button' value='cancel' onclick='cancelBulletDocument();' />");
		
		myTbl.appendChild(tbody);
		tbody.appendChild(tr1);
		tr1.appendChild(td1);
		tr1.appendChild(td2);
		tbody.appendChild(tr2);
		tr2.appendChild(td3);
		tr2.appendChild(td4);
		tbody.appendChild(tr3);
		tr3.appendChild(td5);
		tr3.appendChild(td6);
		
		$('#div_add_an_info').after(strHtml);
		$('#div_formAddBullet').append(myTbl);
		$('#div_add_an_info').html("&nbsp;");
	}
	
	// ------------------------------------------------------------------------------------------
	// Ouvre le popup d'envoie d'un bullet document
	// ------------------------------------------------------------------------------------------
	function uploadBulletDocument(){
		var month = $('#selectMonthAdd')[0].value;
		var year = $('#selectYearAdd')[0].value;
		if (confirm("Upload document for the period ("+ month +"/"+ year +")")) {
			
			window.open("../uploadjava/uploadBulletDocument.asp?year="+ year +"&month="+ month, "_blank", 'resizable=no, location=no, width=440, height=300, menubar=no, status=no, scrollbars=no, menubar=no');
		
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'envoie de document d'alert
	// ------------------------------------------------------------------------------------------
	function cancelBulletDocument(){
		$('#tdInfoDocContent')[0].removeChild($('#div_formAddBullet')[0]);
		$('#div_add_an_info').html('<a href="javascript:addBullet();" class="linkAdmin">add an info bullets</a>');
	}
	
	// ------------------------------------------------------------------------------------------
	// Affiche le div de reorganisation de minutes
	// ------------------------------------------------------------------------------------------
	function reorganizeMinuteItems(){
		$('#div_reorganize').css('display', 'block');
		$('#div_minLinkAddItem').html("&nbsp;");
	}
	
	// ------------------------------------------------------------------------------------------
	// Confirm l'envoie de reorganisation de minutes
	// ------------------------------------------------------------------------------------------
	function confirm_reorganize(){
		var arr_li = $('#ul_reorganize li');
		var str_ids = ""
		if(arr_li.length > 0){
			
			for(var i=0; i<arr_li.length; i++){
				if(i<arr_li.length-1){
					str_ids = str_ids + arr_li[i].id + "|";
				}else{
					str_ids = str_ids + arr_li[i].id;
				}
			}
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateMinuteOrders.asp",
				dataType : "script",
				data: "str_ids="+ str_ids
			 });
			 
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Annule la réorganisation des item de minute (cache le div)
	// ------------------------------------------------------------------------------------------
	function cancel_reorganize(agendaID){
		$('#div_reorganize').css("display", "none");
		$('#div_minLinkAddItem').html("<a href='javascript:reorganizeMinuteItems();' class='linkAdmin'>Reorganize items</a> | <a href='javascript:addMinuteItem("+ agendaID +");' class='linkAdmin'>Add an item</a>");
	}
	
	function updatePrevMeeting(agendaID){
		var prevID = $('#selectPrevMeeting')[0].value;	
			if (prevID > -1) {
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateAgendaPrevMeeting.asp",
				dataType : "script",
				data: "agendaID="+ agendaID +"&prevID="+ prevID
			 });
		}
	}
	
	function changePreviousMeeting(){
		$('#div_set_previous_meeting').css("display", "block");
	}
	
	
	function addExec(){
		$('#td_add_exec').html("&nbsp;");
		
		var myTr = document.createElement("tr");
		myTr.id = "execTrAdd";
		
		td1 = document.createElement("td");
		td1.innerHTML = "Display date :<br/> <input type='text' name='txtDisplayDate' id='txtDisplayDate' style='width:90px;' /><br/>System date :<br/> <input type='text' name='txtSystemDate' id='txtSystemDate' style='width:80px;' />";
		myTr.appendChild(td1);
		
		td2 = document.createElement("td");
		td2.style.verticalAlign = "top";
		td2.innerHTML = "<br/><input type='text' name='txtSubject' id='txtStartTime' style='width:70px;' maxlength='5' />";
		myTr.appendChild(td2);
		
		td3 = document.createElement("td");
		td3.style.verticalAlign = "top";
		td3.innerHTML = "<br/><input type='text' name='txtSubject' id='txtEndTime' style='width:70px;' maxlength='5' />";
		myTr.appendChild(td3);
		
		td4 = document.createElement("td");
		td4.style.verticalAlign = "top";
		td4.innerHTML = "<br/><input type='text' name='txtSubject' id='txtSubject' style='width:200px;' />";
		myTr.appendChild(td4);
		
		td5 = document.createElement("td");
		td5.style.verticalAlign = "top";
		td5.innerHTML = "<br/><input type='text' name='txtPlace' id='txtPlace' style='width:300px; margin-bottom:4px;' /><br/><input type='button' value='Send' onclick='sendAddExec();' /> <input type='button' value='Cancel' onclick='cancelAddExec();' />";
		myTr.appendChild(td5);
		
		td6 = document.createElement("td");
		td6.style.verticalAlign = "top";
		td6.innerHTML = "&nbsp;";
		myTr.appendChild(td6);
		
		$('#tbodyExecutiveList').prepend(myTr);
	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'ajout d'une executive board
	// ------------------------------------------------------------------------------------------
	function cancelAddExec(){
		$('#tbodyExecutiveList')[0].removeChild($('#execTrAdd')[0]);
		$('#td_add_exec').html('<div id="div_add_exec"><a href="javascript:addExec();">add an executive board</a></div>');
	}
	
	function sendAddExec(){
		var validator = new objVal(false);
		
		validator.required($('#txtDisplayDate')[0], "Display date");
		validator.isDateEu($('#txtSystemDate')[0], "System date", true);
		validator.required($('#txtSubject')[0], "Subject");
		validator.required($('#txtPlace')[0], "Place");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			dataToSend = "displayDate="+ escape($('#txtDisplayDate')[0].value) +"&systemDate="+ escape($('#txtSystemDate')[0].value) +"&subject="+ escape($('#txtSubject')[0].value) +"&place="+ escape($('#txtPlace')[0].value) + "&starttime="+ escape($('#txtStartTime')[0].value) + "&endtime=" + escape($('#txtEndTime')[0].value);
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/createExecutive.asp",
				dataType : "script",
				data: dataToSend
			 });
		}
	}
	
	function deleteExecutive(execID){
		if (confirm("Are you sure to delete this executive board?")) {
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/deleteExecutive.asp",
				dataType : "script",
				data: "execID="+ execID
			 });
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Supprime une ligne html d'une executive board
	// ------------------------------------------------------------------------------------------
	function deleteExecTr(execID){
		$('#tr_executive_list_'+ execID).remove();
		
		var arr_tr = $('#tbodyExecutiveList tr');
		for(i=0; i<arr_tr.length; i++){
			var myclass = ((i%2==0) ? "tr_meeting_list_1" : "tr_meeting_list_2");
			arr_tr[i].className = myclass;
		}
	}
	
	// ------------------------------------------------------------------------------------------
	// Cree bloc html pour l'édition d'une executive board
	// ------------------------------------------------------------------------------------------
	function editExecutive(execID){
		
		var arr_td = $('#tr_executive_list_'+ execID + ' td');
		
		if(arr_td.length > 0){
			
			$(arr_td[1]).css("vertical-align", "top");
			$(arr_td[2]).css("vertical-align", "top");
			$(arr_td[3]).css("vertical-align", "top");
			$(arr_td[4]).css("vertical-align", "top");
			
			var displaydate_value = $("#exec"+ execID +"_txtDisplayDate")[0].value;
			var systemdate_value = $("#exec"+ execID +"_txtSystemDate")[0].value;
			var startTime = $("#exec"+ execID +"_txtStartTime")[0].value;
			var endTime = $("#exec"+ execID +"_txtEndTime")[0].value;
			var subject = $("#exec"+ execID +"_txtSubject")[0].value;
			var place = $("#exec"+ execID +"_txtPlace")[0].value;
			
			
			// td date
			$(arr_td[0]).html("Display date :<br/> <input type='text' name='exec"+ execID +"_edit_txtDisplayDate' id='exec"+ execID +"_edit_txtDisplayDate' value='"+ displaydate_value +"' style='width:90px;' /><br/>System date :<br/> <input type='text' name='exec"+ execID +"_edit_txtSystemDate' id='exec"+ execID +"_edit_txtSystemDate' value='"+ systemdate_value +"' style='width:80px;' />");
			// Start time
			$(arr_td[1]).html("<br/><input type='text' name='exec"+ execID +"_edit_txtStartTime' id='exec"+ execID +"_edit_txtStartTime' value=\""+ startTime +"\" style='width:70px;' maxlength='5' />");
			// End time
			$(arr_td[2]).html("<br/><input type='text' name='exec"+ execID +"_edit_txtEndTime' id='exec"+ execID +"_edit_txtEndTime' value=\""+ endTime +"\" style='width:70px;' maxlength='5' />");
			// td category
			$(arr_td[3]).html("<br/><input type='text' name='exec"+ execID +"_edit_txtSubject' id='exec"+ execID +"_edit_txtSubject' value=\""+ subject +"\" style='width:200px;' />");
			// td subject (title)
			$(arr_td[4]).html("<br/><input type='text' name='exec"+ execID +"_edit_txtPlace' id='exec"+ execID +"_edit_txtPlace' value=\""+ place +"\" style='width:300px; margin-bottom:4px;' /><br/><input type='button' value='Send' onclick='sendEditExecutive("+ execID +");' /> <input type='button' value='Cancel' onclick='cancelEditExecutive("+ execID +");' />");
			
			// td link admin
			$(arr_td[5]).html("&nbsp;");
			
		}
						

	}
	
	// ------------------------------------------------------------------------------------------
	// Annule l'édition d'une executive board
	// ------------------------------------------------------------------------------------------
	function cancelEditExecutive(execID){
		var arr_td = $('#tr_executive_list_'+ execID + ' td');
		
		if(arr_td.length > 0){
			
			$(arr_td[1]).css("vertical-align", "middle");
			$(arr_td[2]).css("vertical-align", "middle");
			$(arr_td[3]).css("vertical-align", "middle");
			$(arr_td[4]).css("vertical-align", "middle");
			
			var displaydate_value = $("#exec"+ execID +"_txtDisplayDate")[0].value;
			var startTime = $("#exec"+ execID +"_txtStartTime")[0].value;
			var endTime = $("#exec"+ execID +"_txtEndTime")[0].value;
			var subject = $("#exec"+ execID +"_txtSubject")[0].value;
			var place = $("#exec"+ execID +"_txtPlace")[0].value;
			
			
			$(arr_td[0]).html(displaydate_value);
			$(arr_td[1]).html(startTime);
			$(arr_td[2]).html(endTime);
			$(arr_td[3]).html(subject);
			$(arr_td[4]).html(place);
			$(arr_td[5]).html('<a href="javascript:editExecutive('+ execID +');" class="linkAdmin">edit</a> - <a href="javascript:deleteExecutive('+ execID +');" class="linkAdmin">delete</a>');
			
		}
			
	}
	
	// ------------------------------------------------------------------------------------------
	// Confirm l'édition d'une alert and send (by ajax)
	// ------------------------------------------------------------------------------------------
	function sendEditExecutive(execID){
		var validator = new objVal(false);
				
		validator.required($('#exec'+ execID +'_edit_txtDisplayDate')[0], "Display date");
		validator.isDateEu($('#exec'+ execID +'_edit_txtSystemDate')[0], "System date", true);
		validator.required($('#exec'+ execID +'_edit_txtSubject')[0], "Subject");
		validator.required($('#exec'+ execID +'_edit_txtPlace')[0], "Place");
		
		if (validator.getError()){
			alert(validator.getResult());
		}else{
			
			var displayDate 	= escape($('#exec'+ execID +'_edit_txtDisplayDate')[0].value);
			var systemDate 		= escape($('#exec'+ execID +'_edit_txtSystemDate')[0].value);
			var subject 		= escape($('#exec'+ execID +'_edit_txtSubject')[0].value);
			var place 			= escape($('#exec'+ execID +'_edit_txtPlace')[0].value);
			
			dataToSend = "execID="+ execID +"&displayDate="+ displayDate +"&systemDate="+ systemDate +"&place="+ place +"&subject="+ subject;
			
			$.ajax({
				type: "POST",
				url: "../ajax_server_response/updateExecutive.asp",
				dataType : "script",
				data: dataToSend
			 });
		}
	}
	
	