//	if (parent.frames.length > 0){window.top.location.href = location.href;}

	function overlayHide(){
		obj1 = document.getElementById('overlay');
		obj1.className = '';
		obj2 = document.getElementById('overlayContent');
		obj2.className = '';
		document.getElementById('overlayContent').innerHTML = '';
	}

	// affichage de l'overlaye.
	function overlayShow(){
		obj1 = document.getElementById('overlay');
		obj1.className = 'overlay';
		obj2 = document.getElementById('overlayContent');
		obj2.className = 'overlayContent';
	}

	// vote positif dans l'annuaire.
	function voteplus(x){
		// x -> domain du site
		var xhr=null;
		if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/annu-hit-plus.php?url="+x, false);
		xhr.send(null);
		// affiche le message de confirmation de suppression
		document.getElementById('div_vote').innerHTML = 'Votre vote a été pris en compte.<br/>Merci de votre participation.<br/>'+xhr.responseText+' votes pour ce site.';
	}
	
	// vote négatif dans l'annuaire.
	function votemoins(x){
		// x -> domain du site
		var xhr=null;
		if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/annu-hit-moins.php?url="+x, false);
		xhr.send(null);
		// affiche le message de confirmation de suppression
		document.getElementById('div_vote').innerHTML = 'Votre vote a été pris en compte.<br/>Merci de votre participation.<br/>'+xhr.responseText+' votes pour ce site.';
	}

	// affiche le contenu du message à modifier dans la textarea
	// utilise getMsgForum.php	
	function msgedit(x,y){
		// y -> id de la page traitée
		// x -> hash md5 du message
		var xhr=null;
		
		if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}

		xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/getMsgForum.php?id="+x+"&idp="+y, false);
		xhr.send(null);
		
		//obj = document.getElementById("editbox"+x);
		obj = document.getElementById("edito");
		document.getElementById("block_form").innerHTML = '';
		
		// la réponse de getMsgForum.php est mise en forme au sein d'un formulaire
		// en vue de la modification du message.
		obj.innerHTML = xhr.responseText;

		tinyMCE.init({
			// General options
			mode : "textareas",
			theme : "advanced",
			plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount",
	
			// 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,cleanup,|,insertdate,inserttime,preview,|,forecolor,backcolor",
			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			theme_advanced_statusbar_location : "bottom",
			theme_advanced_resizing : true,
	
			// Example content CSS (should be your site CSS)
			content_css : "css/content.css",
	
			// Drop lists for link/image/media/template dialogs
			template_external_list_url : "lists/template_list.js",
			external_link_list_url : "lists/link_list.js",
			external_image_list_url : "lists/image_list.js",
			media_external_list_url : "lists/media_list.js",
	
			// Replace values for the template plugin
			template_replace_values : {
				username : "archiwwweb",
				staffid : "06011966"
			}

		});
	}
	
	// gere apparition au survol de la souris, l'affichage de l'interface utilisateur
	// des messages du forum (bouton edit, bouton delete...).
	function affichoutil(x,y){
		// y -> id de la page traitée
		// x -> hash md5 du message
		obj = document.getElementById("editbox"+x);
		// affiche interface utilisateur dans la div "editbox" correspondant au message.
		obj.innerHTML = "<input type='button' value='editer' id='feditbutton' onclick='msgedit(\""+x+"\","+y+");'><input type='button' value='citer' id='fquotebutton' onclick='msgquote(\""+x+"\","+y+");'><input type='button' value='delete' id='fdelbutton' onclick='msgdelete(\""+x+"\","+y+");'>";
	}
	
	// suppression d'un message du forum.
	function msgdelete(x,y){
		// y -> id de la page traitée
		// x -> hash md5 du message
		
		if(confirm("Vous etes sur le point de détruire ce message.")){
			var xhr=null;
			if (window.XMLHttpRequest) { 
				xhr = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/delMsgForum.php?id="+x+"&idp="+y, false);
			xhr.send(null);
			obj = document.getElementById("editbox"+x);
			// affiche le message de confirmation de suppression
			obj.innerHTML = xhr.responseText;
			setTimeout(document.location.replace(document.location.href),3000);
		}
	}
	
	// quote d'un message du forum
	function msgquote(x,y){
		// y -> id de la page traitée
		// x -> hash md5 du message
		var xhr=null;
		
		if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}

		xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/getMsgQuoteForum.php?id="+x+"&idp="+y, false);
		xhr.send(null);
		
		//alert(xhr.responseText);
		
		obj = document.getElementById("message_forum");
		
		// cible le champ à traiter
		ed = window.tinyMCE.get("message_forum");
		// Ajoute du texte au texte déjà existant
		ed.setContent(ed.getContent() + "\n<div class=\"quote\">" + xhr.responseText + "</div><br/>\n");
	}

	function confirmeUrl(){
		var urlRE=/^(http|https)\:\/\/[a-zA-Z0-9\-\.]*\/$/;	  	
		if(!urlRE.test(document.getElementById("site").value)){
			alert(document.getElementById("site").value+' non valable.'+'\n'+'Votre adresse de site doit commencer par http ou https et comprendre le caractère / à la fin.'+'\n'+'Vous ne pouvez pas donner d\'Url interne ou de sous dossiers.');
			return false;
		}
		return true;
	}

	function confirmeAvatar(){
		var urlRE=/^(http|https)\:\/\/[a-zA-Z0-9\-\.\/\_]*(\.gif|\.jpg|\.jpeg|\.png|\.GIF|\.JPG|\.JPEG|\.PNG)$/;
		if(!urlRE.test(document.getElementById("url_avatar").value)){
			alert(document.getElementById("url_avatar").value+' non valable.');
			return false;
		}
		return true;
	}
	
	function confirmeMail(){
		var urlRE=/^[a-zA-Z0-9\-\.\_]+@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}||museum||travel)$/;
		if(!urlRE.test(document.getElementById("mail").value)){
			alert(document.getElementById("mail").value+' non valable.'+'\n'+'Votre mail peut contenir "-", "_" et "." Les autres caractères ne sont pas admis.');
			return false;
		}
		return true;
	}
	
	// Check for Browser & Platform for PC & IE specific bits
	// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
	
	var clientPC = navigator.userAgent.toLowerCase(); // Get client info
	var clientVer = parseInt(navigator.appVersion); // Get browser version
	var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
	var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
	                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
	                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
	var is_moz = 0;
	var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
	var is_mac = (clientPC.indexOf("mac")!=-1);
	
	function confirme(Message){
	    if ( Message == "" ){
	        alert ('Vous devez compléter votre page !!');
	        return false;
	    }else{
	    	document.FEDITO.submit();
			return true;
	    }
	}
	
	function insert(icon){
		document.FEDITO.message.value = document.FEDITO.message.value + icon;
		document.FEDITO.message.focus();
	}
	
	// From http://www.moteurprog.com/
	function bbfontstyle(bbopen, bbclose,txtzone) {
		var txtarea = txtzone;
		if ((clientVer >= 4) && is_ie && is_win) {
			theSelection = document.selection.createRange().text;
			if (!theSelection) {
				txtarea.value += bbopen + bbclose;
				txtarea.focus();
				return;
			}
			document.selection.createRange().text = bbopen + theSelection + bbclose;
			txtarea.focus();
			return;
		} else if(txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)){
			mozWrap(txtarea, bbopen, bbclose);
			return;
		} else{
			txtarea.value += bbopen + bbclose;
			txtarea.focus();
		}
		storeCaret(txtarea);
	}
	
	// From http://www.massless.org/mozedit/
	// From http://www.moteurprog.com/
	function mozWrap(txtarea, open, close){
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2)
			selEnd = selLength;
	
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + open + s2 + close + s3;
		return;
	}
	
	function suprimepage(x){
	    var answer = confirm ("Supprimer la page "+x+" ?")
	    if (answer){
	     alert ("Votre dernière chance de concerver cette page est de ne pas cliquer sur OK et de fermer votre navigateur (Ctrl alt Sup sous windows ou Kill sous Nux) passé cette étape, la page en cour sera définitivement supprimée.");
		 var xhr=null;
		
		 if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		 }
		 else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		 }

		 xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/deletePage.php?id="+x+"&file=<? echo $this->getPage(); ?>", false);
		 xhr.send(null);
		
		 obj = document.getElementById("delete");
		 obj.value = xhr.responseText;
	    }else{
	     alert ("Fausse manipe pas de panique");
		}
	}
	
	function preview(x,type){
		obj = document.getElementById("edito");
		text = formate_text(x);
		if(type==2){
			obj.innerHTML = obj.innerHTML+text;
		}else{
			obj.innerHTML = text;
		}
	}

	/**************************************************
	* assignation des blocs de teasing
	**************************************************/
    function assigner(x,y){
	     var xhr=null;
		
	     if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
	     }
	     else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
	     }

	     xhr.open("GET", "http://dev.chatel-medieval.fr/util/ajax/assigne-bloc.php?bloc="+document.getElementById('bloc'+y).value+"&page="+x+"&ordre="+y, false);
	     xhr.send(null);
		
	     obj = document.getElementById("BA"+y);
	     obj.innerHTML = xhr.responseText;
    }
	
	/**************************************************
	* code lié aux menus horizontaux et aux initialisations diverses
	**************************************************/
	window.onload=function(){
			//enableTooltips();
			montre();
	}
	

    function montre(id) {
    var d = document.getElementById(id);
    	for (var i = 0; i<=100; i++) {
    		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    	}
    if (d) {d.style.display='block';}
    }
    
 	function masque(id){
 		document.getElementById(id).style.display='none';
 	}

	/**************************************************
	* code lié aux blocks d'éditions
	**************************************************/
	function masquemod(id){
	    if(document.getElementById('bloc_'+id).style.display=='none'){
		 	document.getElementById('bloc_'+id).style.display='block';
		 	document.getElementById('img_'+id).src='http://dev.chatel-medieval.fr/images/folder-collapse.png';
	 	}else{
		 	document.getElementById('bloc_'+id).style.display='none';	
		 	document.getElementById('img_'+id).src='http://dev.chatel-medieval.fr/images/folder-expand.png';
	 	}
 	}
	
	/**************************************************
	* dom-drag.js
	* 09.25.2001
	* www.youngpup.net
	* Script featured on Dynamic Drive (http://www.dynamicdrive.com) 12.08.2005
	**************************************************
	* 10.28.2001 - fixed minor bug where events
	* sometimes fired off the handle, not the root.
	**************************************************/
	
	var Drag = {
	
		obj : null,
	
		init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
		{
			o.onmousedown	= Drag.start;
	
			o.hmode			= bSwapHorzRef ? false : true ;
			o.vmode			= bSwapVertRef ? false : true ;
	
			o.root = oRoot && oRoot != null ? oRoot : o ;
	
			if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
			if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
			if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
			if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";
	
			o.minX	= typeof minX != 'undefined' ? minX : null;
			o.minY	= typeof minY != 'undefined' ? minY : null;
			o.maxX	= typeof maxX != 'undefined' ? maxX : null;
			o.maxY	= typeof maxY != 'undefined' ? maxY : null;
	
			o.xMapper = fXMapper ? fXMapper : null;
			o.yMapper = fYMapper ? fYMapper : null;
	
			o.root.onDragStart	= new Function();
			o.root.onDragEnd	= new Function();
			o.root.onDrag		= new Function();
		},
	
		start : function(e)
		{
			var o = Drag.obj = this;
			e = Drag.fixE(e);
			var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
			var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
			o.root.onDragStart(x, y);
	
			o.lastMouseX	= e.clientX;
			o.lastMouseY	= e.clientY;
	
			if (o.hmode) {
				if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
				if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
			} else {
				if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
				if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
			}
	
			if (o.vmode) {
				if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
				if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
			} else {
				if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
				if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
			}
	
			document.onmousemove	= Drag.drag;
			document.onmouseup		= Drag.end;
	
			return false;
		},
	
		drag : function(e)
		{
			e = Drag.fixE(e);
			var o = Drag.obj;
	
			var ey	= e.clientY;
			var ex	= e.clientX;
			var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
			var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
			var nx, ny;
	
			if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
			if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
			if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
			if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);
	
			nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
			ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));
	
			if (o.xMapper)		nx = o.xMapper(y)
			else if (o.yMapper)	ny = o.yMapper(x)
	
			Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
			Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
			Drag.obj.lastMouseX	= ex;
			Drag.obj.lastMouseY	= ey;
	
			Drag.obj.root.onDrag(nx, ny);
			return false;
		},
	
		end : function()
		{
			document.onmousemove = null;
			document.onmouseup   = null;
			Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
										parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
			Drag.obj = null;
		},
	
		fixE : function(e)
		{
			if (typeof e == 'undefined') e = window.event;
			if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
			if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
			return e;
		}
	};