function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function VerifRepertoire(rep){
	
	var regxp = new RegExp("^[a-zA-Z0-9\-_]+$");
	if(!regxp.test(rep)){writediv('<span style="color:#cc0000">Répertoire incorrect (Supprimer les espaces,les accents et caractères spéciaux)</span>'); }
	return regxp.test(rep);
}

function CorrigeRepertoire(rep){	
	if(rep.indexOf('\/')!=-1){
		var temp = rep.split('\/');		
		rep = temp[0];
		//rep = rep+'\/';		
	}	
	return rep;	
}


function echo(text){
	
	document.write(text);
}

function trim(s) {
	
	if( s.length>0){
		  while (s.substring(0,1) == ' ') {
		  	
		    s = s.substring(1,s.length);
		    if( s.length==0) break;
		  }
		  if( s.length>0){
			  while (s.substring(s.length-1,s.length) == ' ') {
			    s = s.substring(0,s.length-1);
			     if( s.length==0) break;
			  }
		  }
	}
  return s;
}


function RollIn(t)
	{
	OldBgColor = t.style.backgroundColor;
	t.style.backgroundColor = '#FFFFFF';
	}
function RollOut(t)
	{
	t.style.backgroundColor = OldBgColor;
	}
function GetDisplayStyle(target)
	{
	IE  = window.ActiveXObject ? true : false;
	var element = document.getElementById(target);
	if (element.tagName == 'TR')
		{ var DisplayStyle = IE?'block':'table-row'; }
	else if (element.tagName == 'DIV')
		{ var DisplayStyle = 'block'; }
	else if (element.tagName == 'TBODY')
		{ var DisplayStyle = IE?'block':'table-row-group'; }
	else if (element.tagName == 'SPAN')
		{ var DisplayStyle = 'inline'; }
	else if (element.tagName == 'TABLE')
		{ var DisplayStyle = 'block'; }
	//IE?'block':
	return DisplayStyle;
	}
 
function ShowHide(target, value)
	{
	var element = document.getElementById(target);
	if (!element) return false;
	if (target instanceof Array)
		{
		for (i in target)
			{
			var DisplayStyle = GetDisplayStyle(target[i]);
			var show = (value)?DisplayStyle:'none';
			document.getElementById(target[i]).style.display = show;
			}
		}
	else
		{
		var DisplayStyle = GetDisplayStyle(target);
		var show = (value)?DisplayStyle:'none';
		document.getElementById(target).style.display = show;
		}
	}

function ShowAndHide(t)
	{
	ShowHide(t, true);
	var j = ShowAndHide.arguments;
	if (j.length > 1)
		{
		for (var i = 1; i < j.length; i ++)
			{
			ShowHide(j[i], false);
			}
		}
	}

function SwitchVisible(t)
	{
	var visible = (document.getElementById(t).style.display == 'none');
	var j = SwitchVisible.arguments;
	ShowHide(t, visible);
	if (j > 1)
		{
		for (var i = 1; i <= j; i ++)
			{ ShowHide(j[i], !visible); }
		}
	}

function MaxLength(e, m)
	{
	if (e.value.length > m)
		{
		alert ('Ce champ ne peut contenir plus de ' + m + ' caractères');
		e.focus();
		}
	}

function isEmailAddr(s) 
	{
	var r = new RegExp("^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$");
	return r.test(s);
	}

function SetArboTitle(v)
	{
	document.getElementById('Titre_Arbo').innerHTML += ' &gt; ' + v;
	}

function rTrim(s)
	{
	var r = /\s+$/g;
	return s.replace(r, '');
	}
function lTrim(s)
	{
	var r = /^\s+/g;
	return s.replace(r, '');
	}
function Trim(s)
	{
	var tmp = rTrim(s);
	return lTrim(tmp);
	}
function StripTags(s)
	{
	var r = /<\/?[^>]*>/gi;
	return s.replace(r, '');
	}

function CheckIsDate(s)
	{
	var r = /^\d{4}(-\d{2}){2}$/gi;
	return r.test(s);
	}

function ucfirst(v)
	{
	return v.charAt(0).toUpperCase() + v.substring(1).toLowerCase();
	}
	
function pConfirm(v)
	{
	if (v.length > 0)
		{ return confirm(v); }
	return true;
	}
function PopEltr(url)
	{
	Eltr = window.open(url, 'Eletter', 'status=0,resizable=1,scrollbars=1,menubar=0,width=650,height=700');
	Eltr.focus();
	}
function PopSite(url)
	{
	Eltr = window.open(url, 'Eletter', 'status=0,resizable=1,scrollbars=1,menubar=0,width=960,height=700');
	Eltr.focus();
	}

function ActiveLines(tBody, CSSclass)
	{
	if (document.getElementById(tBody))
		{
		var Tr = document.getElementById(tBody).rows;
		for (var i in Tr)
			{
			Tr[i].onmouseover = function()
				{ this.className = CSSclass; }
			Tr[i].onmouseout = function()
				{ this.className = ''; }
			}
		}
	}
function getElementsByClass(searchClass, node, tag) { 
    var classElements = new Array(); 
    if ( node == null ) 
        node = document; 
    if ( tag == null ) 
        tag = '*'; 
    var els = node.getElementsByTagName(tag); 
    var elsLen = els.length; 
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); 
    for (i = 0, j = 0; i < elsLen; i++) { 
        if ( pattern.test(els[i].className) ) { 
            classElements[j] = els[i]; 
            j++; 
        } 
    } 
    return classElements; 
}

function DisplayGraph(p)
	{
	var n = 100 - p;
	document.write('\
<table class="Graph">\
	<tr>\
		<th style="width: ' + p + '%;">' + p + '%</th>\
		' + ((n > 0)?'<td>' + n + '%</td>':'') + '\
	</tr>\
</table>\
');
	}
	
	
	
function Ajaxfile(fichier)
{
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	if(xhr_object.readyState == 4) return(xhr_object.responseText);
	else return(false);
}
	
/******************
* CUSTOM LIGHTBOX *
******************/

var curLightboxDiv = '';
var curURL = '';

function openOverlay() {
	resizeOverlay();
	$('#backgroundOverlay').fadeIn(600, function() {
		$('#backgroundOverlay').css({'filter':'alpha(opacity=60)'});
	});
}

function closeOverlay() {
	$('.formError').remove();
	$('#backgroundOverlay').fadeOut(600);
}

function resizeOverlay() {
/*	if ($(window).height() > $('body').height())
		$('#backgroundOverlay').css({'height':$(window).height()+'px'});
	else
		$('#backgroundOverlay').css({'height':$('body').height()+'px'});*/
	$('#backgroundOverlay').css({'height':$(document).height()+'px'});
}

function centerDiv(div) {
	// Centre horizontal
	var posLeft = ($(window).width() - $('#'+div).width())/2;
	$('#'+div).css({'left':posLeft+'px'});
	
	// Centre vertical si div moin haute que la fenetre
	if ($('#'+div).height() > $(window).height())
		$('#'+div).css({'top':'20px'});
	else {
		var posTop = ($(window).height() - $('#'+div).height())/2 + $(window).scrollTop();
		$('#'+div).css({'top':posTop+'px'});
	}
}

function centerDivMove(div, newHeight) {
	var posLeft = ($(window).width() - $('#'+div).width())/2;
	$('#'+div).animate({'left':posLeft+'px'});

	// Centre vertical si div moin haute que la fenetre
	if ((newHeight+50) > $(window).height())
		$('#'+div).animate({'top':'20px'});
	else {
		var posTop = ($(window).height() - (newHeight+50))/2 + $(window).scrollTop();
		$('#'+div).animate({'top':posTop+'px'});
	}
}

function openLightboxDiv(div) {
	curLightboxDiv = div;
	openOverlay();
	centerDiv(div);
	$('#'+div).css({'display':'block'});
	$('#'+div).animate({'opacity':'1'}, 600);
}

function closeLightboxDiv(div) {
	curLightboxDiv = '';
	closeOverlay();
	$('#'+div).animate({'opacity':'0'}, 600, function() {
		$('#'+div).css({'display':'none'});
	});
}

function resizePreviewEvent() {
	var offset = 50;
	var retHeight = 0;
	var iframeHeight = document.getElementById('eventIframe').contentWindow.document.body.scrollHeight;
	var iframeWidth = document.getElementById('eventIframe').contentWindow.document.body.scrollWidth;
/*	alert(iframeHeight+' / '+$(window).height());*/
	if ((iframeHeight+offset) > $(window).height()) {
/*		$('#eventIframe').height($(window).height() - 150);*/
		retHeight = $(window).height() - 100;
	} else {
/*		$('#eventIframe').height(iframeHeight);*/
		retHeight = iframeHeight;
	}
		
	if (iframeWidth > $(window).width()) {
		$('#eventIframe').width($(window).width() - 100);
		$('#previewEvent').width(($(window).width() - 100 + 2));
	} else {
		if ((iframeHeight+offset) > $(window).height()) {
			$('#eventIframe').width(iframeWidth + 20);
			$('#previewEvent').width(iframeWidth + 22);
		} else {
			$('#eventIframe').width(iframeWidth);
			$('#previewEvent').width((iframeWidth+2));
		}
	}
	
	return retHeight;
}

function openPreviewEvent(eventName, eventLink, type) {
	curLightboxDiv = 'previewEvent';
	curURL = eventLink;
	if (type)
		$('#previewEventTitle').html('Pr&eacute;visualisation de <b>'+eventName+'</b>');
	else
		$('#previewEventTitle').html('Pr&eacute;visualisation du minisite <b>'+eventName+'</b>');
	$('#previewEventIframe').html('');
	$('#previewEventIframe').html('<iframe id="eventIframe" src="" width="100%" frameborder="0"></iframe>');
	$('#eventIframe').attr('src', eventLink);
	$('#eventIframe').load(function() {
		setTimeout("positionPreviewEvent()", 2000);
	});
	openLightboxDiv('previewEvent');
}

function positionPreviewEvent() {
	var iframeHeight = resizePreviewEvent();
	centerDivMove('previewEvent', iframeHeight);
	displayIframePreview(iframeHeight);
}

function displayIframePreview(iframeHeight) {
	$('#previewEventLoading').fadeOut(500, function() {
		$('#eventIframe').animate({'height':iframeHeight+'px'}, 700);
	});
}

function closePreviewEvent() {
	curURL = '';
	curLightboxDiv = '';
	closeOverlay();
	$('#previewEvent').animate({'opacity':'0'}, 600, function() {
		$('#previewEvent').css({'display':'none'});
		$('#eventIframe').css({'height':'0px'});
		$('#previewEventLoading').fadeIn(200);
	});
}

function openPreviewInNewWindow() {
	PopSite(curURL);
}

window.onresize = function(event) {
	if (curLightboxDiv) {
		resizeOverlay();
		centerDiv(curLightboxDiv);
		positionPreviewEvent();
	}
}

window.onscroll = function(event) {
	var posTop = ($(window).height() - $('#previewEvent').height())/2 + $(window).scrollTop();
	$('#previewEvent').css({'top':posTop+'px'});
}
