var userAgent = window.navigator.userAgent;
// Determine la version du navigateur
var version;
if (parseInt(navigator.appVersion) >=4)
version=4;
else if (navigator.appName=="Netscape" && parseInt(navigator.appVersion) >=3)
version=3;
else
version=2;
var currentlay = '';
var promptstate = false;
function ActionsOnClick() {	
	if(currentlay !='' && !promptstate) {
      moveLayer('out', currentlay, 'editfont');
	}
    // capture les objets 
	// event.srcElement.id;
}
if(initial) {
    function ActionsOnResize() {
	    PositionsMenuBar();
	    ActionsOnClick();
    }
	window.onresize = ActionsOnResize;
}
function TestAccess(myform,lang,user_name,password) {
	if(VerifyCodes(myform)) {
		var comm = '<div id="access"></div>';	
		Prompt(comm);
		undisplay = false;
		var url = 'denied.php';
		new Ajax.Request(url,  {
			method:'get',
			parameters: {access: 'connexion', lang: lang, user_name: user_name, password: password},
			onSuccess: function(transport){
				var response = transport.responseText || "pas de retour";
				if(response == 'ok') {
					response = '<img src="'+iconset+'/connect.png" alt="OK" />';
					response+= '<br /><div class="infotitl">OK</div>';
					undisplay = true;
				}
				setDesc('access',response);
				DisplayCenter('Prompter','movelayer editfont displayok',false);
				if(undisplay) {
					// faire disparaitre le Prompter en timeout
					var timerIDserveur = null;
					timerIDserveur = setTimeout(function()	{
						moveLayer('out','Prompter','');
					},1000);
				}
			},
			onFailure: function(){ 
				setDesc('access','Echec de la requ&ecirc;te AJAX...');
				DisplayCenter('Prompter','movelayer editfont displayok',false);
			}
		});
		return false;
	} else {
		return false;
	}
}
function VerifyCodes(myform) {
	errfound = false;  
	var connector = myform.elements['user_name'];
	if(connector.value.length < 1) {
		PromptErr(connector,msgcodes);
	}
	var passwordor = myform.elements['password'];
	if(passwordor.value.length < 1) {
		PromptErr(passwordor,msgcodes);
	}
	return !errfound;
}
function getDesc(tab) {	
	var result = 'notfound';
	var identab = document.getElementById(tab);
	if(identab) {
		var fromThis = document.getElementById(tab).innerHTML;
		result = fromThis.replace(/\"/g,"|");
	}
	return result;
}
function setDesc(tab,fromThis) {
	var toThis = fromThis.replace(/\|/g,"\"");	
	if (document.getElementById) {
		document.getElementById(tab).innerHTML = toThis;
	} else if (document.all) {
		document.all[tab].innerHTML = toThis;
	}	
}
function DefineObjById(id) {
	if(document.getElementById(id)) {
		identity=document.getElementById(id);
		if(identity.style) {
			identity = identity.style;
		}
		return identity;
	} else {
		return false;
	}
}
function changeclass(id, newClass) {
	if(document.getElementById(id)) {
		identity=document.getElementById(id);	
		identity.className=newClass;
	}
}
function DefineBdyObj() {
	var bdylmts = document.getElementsByTagName('body');	
	for( var i = 0; i < bdylmts.length; i++) {
		var bdyobj = bdylmts.item(i).id;		
		return document.getElementById(bdyobj);
	}
}
function multichangesubmit(position,fix,classic) { // a voir
	if (version >= 3) {
		changeimage(position,'left'+fix,'submit_left');
		changeimage(position,'right'+fix,'submit_right');
		changeclass(fix, classic+' roll'+position+'submit');
	}
}
// change les images en gif
function changeimage(position,name,img) {
	document.images[name].src = chemin + position + repertoire + img + extension;
}
function CropBrowser(movie,zoneWidth,zoneHeight) {
	//if(movie) { // faire qqchoz; }
	window.focus();	
	var DuckBrowser = false;
	if(userAgent.search("MSIE") > 0) {
		DuckBrowser = true;		
	}
	if(userAgent.search("Safari") > 0) {
		DuckBrowser = true;
	}
	var grafixL = 20;
	var grafixR = 20;
	var grafixT = 43;
	var grafixB = 10;	
	var xWidth = parseInt(zoneWidth)+parseInt(grafixL)+parseInt(grafixR);
	var xHeight = parseInt(zoneHeight)+parseInt(grafixT)+parseInt(grafixB);
		var MoveX = ( window.screen.availWidth - parseInt(xWidth) )/2;
	var MoveY = ( window.screen.availHeight - parseInt(xHeight) )/3;
	window.moveTo(parseInt(MoveX),parseInt(MoveY));
	var DeltaW = 0;
	var DeltaH = 0;	
	if(userAgent.search("Safari") > 0) {
		DeltaW = 0;
		DeltaH = 112;
	}
	if(userAgent.search("Camino") > 0) {
		DeltaW = 0;
		DeltaH = 116;
	}
	if(userAgent.search("MSIE") > 0) {
		if(userAgent.search("Mac") > 0) {
			DeltaW = 37;
			DeltaH = 124;
		} else {
			DeltaW = 29;
			DeltaH = 147;
		}
	}
	var totalWidth = parseInt(xWidth)+parseInt(DeltaW);
	var totalHeight = parseInt(xHeight)+parseInt(DeltaH);	
	if ( DuckBrowser ){
		if (window.screen.availHeight > xHeight || window.screen.availWidth > xWidth){
			window.resizeTo(totalWidth,totalHeight);
		} else {
			window.resizeTo(window.screen.availWidth,window.screen.availHeight);
		} 
	} else {
		if (window.screen.availHeight > xHeight || window.screen.availWidth > xWidth){
			window.innerWidth = xWidth;
			window.innerHeight = xHeight;
		} else {
			window.outerWidth = window.screen.availWidth;
			window.outerHeight = window.screen.availHeight;
		}
		window.menubar.visible = false;
		window.statusbar.visible =false;
		window.toolbar.visible = true;
		window.locationbar.visible = false;
		window.personalbar.visible = false;
		window.scrollbars.visible = true;
	}	
}
function getPageSize(){	
	var xScroll, yScroll;	
	if (window.innerHeight && window.scrollMaxY) {
		// navigateurs "firefox win";
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){
		// navigateurs "safari";
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { 
	    // navigateurs "firefox mac, IE6, IE7";
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}	
	var windowWidth, windowHeight;
	if (self.innerHeight) {
	    // navigateurs "safari, firefox mac et win";
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if(userAgent.search("MSIE") > 0) {
		if(userAgent.search("MSIE") > 7) { 
			// navigateurs "IE 7+";
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;			
		} else {
			// navigateurs "IE 6-";
			windowWidth = document.body.clientWidth - document.body.scrollLeft;
			windowHeight = document.body.clientHeight - document.body.scrollTop;
		}	
	} else if (document.body) { 
	    // navigateurs  = "autres";
		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;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}
function TestFocusFloat(choix,valtotest) {
	if(choix.value == valtotest) {
		choix.value = "";
		changeclass(choix.id, 'clearfantome inputfloat');
	}
}
function MaxValue(form){
	errfound = false;
    var xfilelmt = form.elements['xfiles'];
	if(xfilelmt.value > 51) {
		PromptErr(xfilelmt,"Maximum 50 fichiers/files");
		xfilelmt.value = 50;
	}
	return !errfound;
}
function TestFocus(choix,valtotest) {
	if(choix.value == valtotest) {
		choix.value = "";
		changeclass(choix.id, 'clearfantome');
	}
}
function CheckUnCheck(choid,typfield,id,css,typof) {
	if(typof == 'string') {
		var choix = document.getElementById(choid);
	} else {
		var choix = choid;
	}
	var newClass = 'displayko';
	if(typfield == 'select' && choix.value == 'displayother') {		
		newClass = 'displayok'+css;		
	} else if(typfield == 'selectnfo' && choix.value == 'displayother') {
		newClass = 'displayok'+css;
	} else if(typfield == 'selectnfo' && choix.value != 'displayother') {
		newClass = 'displayko';
	} else if( (typfield == 'radio' || typfield == 'checkbox' )
	       && choix.checked) {
		newClass = 'displayok'+css;		
	}		
    changeclass(id, newClass);
}

function SelfCheck(ident) {
	var idcheckbox = document.getElementById(ident);
	if (idcheckbox.checked==true) {
		idcheckbox.checked=false;
	} else {
		idcheckbox.checked=true;
	}
}
// Remplace les caractres accentus
function AccentToNoAccent(str) {
	var norm = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
	'Ì','Í','Î','Ï', '?','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','?',
	'?','ß', 'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î',
	'ï','?','ñ', 'ò','ó','ô','õ','ö','ø','ù','ú','û','ü','?','?','?','ÿ');
	var spec = new Array('A','A','A','A','A','A','A','C','E','E','E','E',
	'I','I','I','I', 'D','N','O','O','O','0','O','O','U','U','U','U','Y',
	'b','s', 'a','a','a','a','a','a','a','c','e','e','e','e','i','i','i',
	'i','d','n', 'o','o','o','o','o','o','u','u','u','u','y','y','b','y');
	return str_replace(norm,spec,str);
}
// http://kevin.vanzonneveld.net
function ucfirst( str ) {
    str += '';
	var f = str.charAt(0).toUpperCase();
    return f + str.substr(1);
}
function ucwords( string ) {
	var str = string.toLowerCase();
	return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase(); } );
}
function str_replace(search, replace, subject) {
	var f = search, r = replace, s = subject;
	var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
	while (j = 0, i--) {
		if (s[i]) {
			while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
		}
	};
	return sa ? s : s[0];
}
function in_array(needle, haystack, argStrict) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// * example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// * returns 1: true
	var found = false, key, strict = !!argStrict;
	for (key in haystack) {
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
			found = true;
			break;
		}
	}
	return found;
}
function strstr(haystack, needle, bool ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Onno Marsman
	// * example 1: strstr('Kevin van Zonneveld', 'van');
	// * returns 1: 'van Zonneveld'
	// * example 2: strstr('Kevin van Zonneveld', 'van', true);
	// * returns 2: 'Kevin '
	var pos = 0;
	haystack += '';
	pos = haystack.indexOf( needle );
	if( pos == -1 ){
		return false;
	} else{
		if( bool ){
			return haystack.substr( 0, pos );
		} else{
			return haystack.slice( pos );
		}
	}
}
function strrchr(haystack, needle) {
	// http://kevin.vanzonneveld.net
	// +   original by: Brett Zamir (http://brettz9.blogspot.com)
	// * example 1: strrchr("Line 1\nLine 2\nLine 3", 10).substr(1)
	// * returns 1: 'Line 3'
	var pos = 0;
	if (typeof needle !== 'string') {
		needle = String.fromCharCode(parseInt(needle, 10));
	}
	needle = needle[0];
	pos = haystack.lastIndexOf(needle);
	if (pos === -1) {
		return false;
	}
	return haystack.substr(pos);
}
function rtrim ( str, charlist ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Onno Marsman
	// *     example 1: rtrim('    Kevin van Zonneveld    ');
	// *     returns 1: '    Kevin van Zonneveld'Ê
    charlist = !charlist ? ' \\s\u00A0' : (charlist+'').replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
	var re = new RegExp('[' + charlist + ']+$', 'g');
    return (str+'').replace(re, '');
}
function strip_tags (str, allowed_tags) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Luke Godfrey
	// +      input by: Pul
	// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
	// +      input by: Alex
	// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Marc Palau
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
	// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Eric Nagel
	// +      input by: Bobby Drake
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Tomasz Wesolowski	
    // *     example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');
	// *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
	// *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
	// *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
	// *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
	// *     example 4: strip_tags('1 < 5 5 > 1');
	// *     returns 4: '1 < 5 5 > 1'	
	var key = '', allowed = false;
	var matches = [];
	var allowed_array = [];
	var allowed_tag = '';
	var i = 0;
    var k = '';
	var html = '';
	var replacer = function (search, replace, str) {
		return str.split(search).join(replace);
	};
	// Build allowes tags associative array
	if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
	}
	str += '';
	// Match tags
	matches = str.match(/(<\/?[\S][^>]*>)/gi);
	// Go through all HTML tags
	for (key in matches) {
		if (isNaN(key)) {
			// IE7 Hack
			continue;
		}
		// Save HTML tag
		html = matches[key].toString();
		// Is tag not in allowed list? Remove from str!
		allowed = false;
		// Go through all allowed tags
		for (k in allowed_array) {
			// Init
			allowed_tag = allowed_array[k];
			i = -1;
			if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
			if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}
			// Determine
			if (i == 0) {
				allowed = true;
				break;
			}
		}
		if (!allowed) {
			str = replacer(html, "", str); // Custom replace. No regexing
		}
	}
	return str;
}
function trim (str, charlist) {
    // Strips whitespace from the beginning and end of a string  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/trim
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'
    // *     example 3: trim(16, 1);
    // *     returns 3: 6
    var whitespace, l = 0, i = 0;
    str += '';    
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}
function array_unique (array) {
    // Removes duplicate values from array 
    //
    // version: 909.322
    // discuss at: http://phpjs.org/functions/array_unique
    // +   original by: Carlos R. L. Rodrigues (http://www.jsfromhell.com)
    // +      input by: duncan
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Nate
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Michael Grier
    // %          note 1: the second argument, sort_flags is not implemented
    // *     example 1: array_unique(['Kevin','Kevin','van','Zonneveld','Kevin']);
    // *     returns 1: ['Kevin','van','Zonneveld']
    // *     example 2: array_unique({'a': 'green', 0: 'red', 'b': 'green', 1: 'blue', 2: 'red'});
    // *     returns 2: {'a': 'green', 0: 'red', 1: 'blue'}
	var key = '', tmp_arr1 = {}, tmp_arr2 = {};
    var val = '';
    tmp_arr1 = array;
    var __array_search = function (needle, haystack) {
        var fkey = '';
        for (fkey in haystack) {
            if ((haystack[fkey] + '') === (needle + '')) {
                return fkey;
            }
        }
        return false;
    };
    for (key in tmp_arr1) {
        val = tmp_arr1[key];
        if (false === __array_search(val, tmp_arr2)) {
            tmp_arr2[key] = val;
        }
        delete tmp_arr1[key];
    }
    return tmp_arr2;
}
Array.prototype.unique = function(){
	var mark = [];
	for(var i in this){
		// var indx = this[i]; --> if type does not matter
		// create a unique index if type does matter
		var indx = this[i] + "_" + typeof(this[i]);
		if(mark[indx])
		delete this[i];
		else
		mark[indx] = this[i];
	}
	this.sort();
	// empty indexed entries are at the end of the array
	// shorten it [delete does not reduce array]
	while(!this[this.length-1]) this.length--;
}
// Written by Terry Friesen,  tfriesen@mts.net
// http://www.mts.net/~tfriesen/dhtml/
// This script gives Netscape 6 the following IE methods
//   removeNode(),replaceNode(),swapNode(),applyElement(),contains(),
//   insertAdjacentText(),insertAdjacentHTML(),insertAdjacentElement()
if(self.Node&&self.Node.prototype){
	Node.prototype.removeNode=remove_Node;
	Node.prototype.replaceNode=replace_Node;
	Node.prototype.swapNode=swap_Node;
	Element.prototype.applyElement=apply_Element;
	Element.prototype.contains=_contains;
	Element.prototype.insertAdjacentText=insertAdj_Text;
	Element.prototype.insertAdjacentHTML=insertAdj_HTML;
	Element.prototype.insertAdjacentElement=insertAdj_El;
	Element.prototype.insert__Adj=insert__Adj;
}
function remove_Node(a1){
	var p=this.parentNode;
	if(p&&!a1){
		var df=document.createDocumentFragment();
		for(var a=0;a<this.childNodes.length;a++){
			df.appendChild(this.childNodes[a])
		}
		p.insertBefore(df,this)
	}
	return p?p.removeChild(this):this;
}
function replace_Node(a1){
	return this.parentNode.replaceChild(a1,this);		
}
function swap_Node(a1){
	var p=a1.parentNode;
	var s=a1.nextSibling;
	this.parentNode.replaceChild(a1,this);
	p.insertBefore(this,s)
	return this;
}
function apply_Element(a1,a2){
	if(!a1.splitText){
		a1.removeNode();
		if(a2&&a2.toLowerCase()=="inside"){
			for(var a=0;a<this.childNodes.length;a++){
				a1.appendChild(this.childNodes[a])
			}
			this.appendChild(a1)
		}
		else{
			var p=this.parentNode;
			p.insertBefore(a1,this);
			a1.appendChild(this);
		}
		return a1;
	}
}
function _contains(a1){
	var r=document.createRange();
	r.selectNode(this);
	return r.compareNode(a1)==3;
}
function insertAdj_Text(a1,a2){
	var t=document.createTextNode(a2||"")
	this.insert__Adj(a1,t);
}
function insertAdj_HTML(a1,a2){
	var r=document.createRange();
	r.selectNode(this);
	var t=r.createContextualFragment(a2);
	this.insert__Adj(a1,t);
}
function insertAdj_El(a1,a2){
	this.insert__Adj(a1,a2);
	return a2;
}
function insert__Adj(a1,a2){
	var p=this.parentNode;
	var s=a1.toLowerCase();
	if(s=="beforebegin"){p.insertBefore(a2,this)}
	if(s=="afterend"){p.insertBefore(a2,this.nextSibling)}
	if(s=="afterbegin"){this.insertBefore(a2,this.childNodes[0])}
	if(s=="beforeend"){this.appendChild(a2)}
}
/** roll menu **/
function displaySubGuides(ident,btnmode) {
	if(btnmode == 'open') {
		changeclass('open_'+ident, 'displayko');
		changeclass('clos_'+ident, 'displayko');
		changeclass('load_'+ident, 'iconbtn');
	} else {
		changeclass('open_'+ident, 'displayko');
		changeclass('clos_'+ident, 'displayko');
		changeclass('load_'+ident, 'iconbtn');
	}
	ClipLayer(ident,btnmode,0,'static');
}
function ClipLayer(id,action,Hto,load) {	
	var box = document.getElementById('contener'+id);
	var boxH = box.offsetHeight+5;
	var minH = 0;	
	var initHeight;
	var finalHeight;
	if(action == 'open') {
		initHeight = minH+Hto;
		finalHeight = boxH;		
	} else {
		initHeight = boxH;
		finalHeight = minH+Hto;	
	}	
	actionDeroule(id, initHeight, finalHeight, 5, action, load);
}
function actionDeroule(id, initHeight, finalHeight, interval, action, load) {		
	// Identification de l'objet
	var oElem = document.getElementById('clip'+id);
	if(!oElem) return;	
	// Contrle des valeurs de variables
	if(typeof(initHeight || finalHeight || interval) != 'number') return false;	
	// Contrle d'xcution de la mthode
	if(oElem.movement) clearTimeout(oElem.movement);	
	// Initialisation des paramtres
	if( !oElem.style.height ) oElem.style.height = parseInt(initHeight)+'px';
	var iDimY = parseInt(oElem.style.height);	
	// Condition de fin de la mthode
	if(iDimY == finalHeight) {	
		if(action == 'open') {			
			changeclass('clos_'+id, 'iconbtn');//guide			
			var ratioH = finalHeight/initHeight;						
			if(ratioH >= 1.5) {
				changeclass('artminus'+id,'pathlink');//diaries
			}
			if($('main_scrollbar_contener')) {
				scrollbar.initialize('description','main_scrollbar');
				scrollbar.recalculateLayout();
				if(load == 'static') {
					scrollbar.scrollTo('p'+id);
				}
			}
		} else {			
			changeclass('open_'+id, 'iconbtn');//guide
			changeclass('artplus'+id,'pathlink');//diaries
			if($('main_scrollbar_contener')) {
				scrollbar.recalculateLayout();
				if(load == 'static') {
					scrollbar.scrollTo('p'+id);
				}
			}
		}
		changeclass('load_'+id, 'displayko');// guide			
		return true;
	}	
	// Conditions d'incrmentation et dcrmentation
	if(iDimY < finalHeight)	{ 
		// increment
		var dist = Math.ceil((finalHeight - iDimY)/interval);
		iDimY = iDimY + dist;
	}
	if(iDimY > finalHeight) { 
		// decrement
		var dist = Math.ceil((iDimY - finalHeight)/interval);
		iDimY = iDimY - dist;
	}
	oElem.style.height = iDimY+'px';	
	// Rptition de la mthode
	var timerIDserveur = null;
	timerIDserveur = setTimeout(function()	{
		actionDeroule(id,initHeight,finalHeight,interval,action,load);
	},10);
	return true;
}
function LoaderAdmin(action) {
	var iconadmin = iconset+"/key.png";
	if(action) {
		iconadmin = icondir+"/progress/loading.gif";
	}	
	document.images['keyaccessis'].src = iconadmin;
}
/*** observer **/
var PopIds = new Array();
function ObjPopIds(id,visible,mover) {
	this.id = id;
	this.visible = visible;
	this.mover = mover;
}
var InfoBulle = new Array();
function ObjBulle(id,title) {
	this.id = id;
	this.title = title;
}
document.observe('lightview:opened', function(event) {
	ActionsOnClick();	
	var tohidlmts = document.getElementsByName('tohide');
	for( var i = 0; i < tohidlmts.length; i++) {
		var tohid = tohidlmts[i].id;
		new Effect.BlindUp(tohid,{
			duration: 1
		});		
	}
	if($('layadmin')) {
		new Effect.SlideUp('layadmin',{
			duration: 3
		});		
	}
});
document.observe('lightview:hidden', function(event) {
	var tohidlmts = document.getElementsByName('tohide');
	for( var i = 0; i < tohidlmts.length; i++) {
		var tohid = tohidlmts[i].id;
		new Effect.BlindDown(tohid,{
			duration: 3
		});		
	}	
});
loadpage = true;
function testLoadPage(load) {
	if(load) {
		var wheel = getDesc('roulette');
		Prompt(wheel);
		testLoadPage(false);
	} else {
		var timerIDserveur = null;
		timerIDserveur = setTimeout(function()	{
			moveLayer('out','Prompter','');			
		},1000);
	}
}

var inspectmvtX;
var inspectmvtY;
document.observe('mousemove', function(event) {
	inspectmvtX = event.pointerX();
	inspectmvtY = event.pointerY();
});
document.observe('dom:loaded', function(event) {
	if(isave == 'ok') {
		timerIDserveur = setTimeout(function()	{
			parent.Lightview.hide();
			// reload du parent
			parent.location.reload();
		},3000);
	}
	//testLoadPage(loadpage);
	if(initial == 'on') {
		var movie = 0;
		var zoneWidth = 800;
		var zoneHeight = 600;
		//CropBrowser(movie,zoneWidth,zoneHeight);
	}
	// FormatNumTel
	var numlmts = document.getElementsByClassName('phonumber');
	for( var i = 0; i < numlmts.length; i++) {
		var numbid = numlmts[i].id;		
		$(numbid).observe('keyup', function(event) {
			if(this.value.substr(0,1) == ' '){
				this.value = this.value.substr(1);
			}
			var fnum = this.value;
			if(this.value.length <= 14) {
				var regNum = /[0-9 ]+/;
				fnum = this.value.match(regNum);

				if(this.value.length == 2 || this.value.length == 5 || this.value.length == 8 || this.value.length == 11) {
					fnum = this.value+' ';
				}
			} else {
				fnum = this.value.substr(0,14);
			}
			this.value = fnum;
		});
	}
	// bouton admin
	//Effect.toggle(element, ['appear' | 'slide' | 'blind'], [options] );
	if($('layadmin')) {
		new Effect.toggle('layadmin','slide');
	}	
	var postlayadmin = false;
	if($('keyaccessis')) {
		$('keyaccessis').observe('click', function(event) {
			Event.stop(event);
			new Effect.toggle('layadmin','slide');
			if(postlayadmin) {
				postlayadmin = false;
			} else {
				postlayadmin = true;
			}
		});
	}
	// body pal admin	
	var bdypalmts = document.getElementsByClassName('paladminside_body');
	for( var i = 0; i < bdypalmts.length; i++) {
		var bdypaid = bdypalmts[i].id;		
		new Effect.toggle(bdypaid,'slide');
	}
	// body list admin
	var listlmts = document.getElementsByClassName('adminlist');
	for( var i = 0; i < listlmts.length; i++) {
		var listid = listlmts[i].id;		
		new Effect.toggle(listid,'slide');
	}
	// value for btn admin	
	var postoggle = false;
	var StaToggle = new Array();
	function ToggleState(id,state) {
		this.id = id;
		this.state = state;
	}
	// btn pal admin
	var btnpalmts = document.getElementsByName('switchpal');
	for( var i = 0; i < btnpalmts.length; i++) {
		var btnpaid = btnpalmts[i].id;		
		statoggle = new ToggleState(btnpaid,false);
		StaToggle.push(statoggle);		
		$(btnpaid).observe('click', function(event) {
			Event.stop(event);
			LoaderAdmin(true);
			var bdypaid = str_replace('titl_','body_',this.id);
			new Effect.toggle(bdypaid,'slide');			
			var cssreg = /titalink/;
			var extcss = '';
			if(cssreg.test(this.className)) {
				var extcss = 'titalink ';				
			}
			for(var i=0; i<StaToggle.length; i++) {
				if(StaToggle[i].id == this.id) {					
					if(!StaToggle[i].state) {
						changeclass(this.id,extcss+'minus');
						StaToggle[i].state = true;
					} else {
						changeclass(this.id,extcss+'maxus');
						StaToggle[i].state = false;
					}		
				} 
			}
			var timerIDserveur = null;
			timerIDserveur = setTimeout(function()	{
				LoaderAdmin(false);
			},300);
		});
	}
	// autorolladmin
	if($('ro_actionaccount')) {
		$('ro_actionaccount').observe('click', function(event) {
			AutoRollAdmins(event,'compte');			
		});
	}
	if($('ro_actiondiaries')) {
		$('ro_actiondiaries').observe('click', function(event) {
			AutoRollAdmins(event,'agenda');
		});
	}
	if($('ro_actionbillets')) {
		$('ro_actionbillets').observe('click', function(event) {
			AutoRollAdmins(event,'blog');
		});
	}
	function AutoRollAdmins(event,section) {
		Event.stop(event);
		LoaderAdmin(true);
		var duree = 10;		
		// tiroir admin
		if(!postlayadmin) {
			new Effect.SlideDown('layadmin',{
				duration: 3
			});
			postlayadmin = true;
			duree = 3500;
		}
		// reduit tout sauf privilege 
		var timerIDserveur = null;
		timerIDserveur = setTimeout(function()	{
			for(var i=0; i<StaToggle.length; i++) {
				if(StaToggle[i].id == 'titl_privileges') {
					if(!StaToggle[i].state) {
						new Effect.toggle('body_privileges','slide');
						changeclass('titl_privileges','titalink minus');
						StaToggle[i].state = true;
					}
				} else {
					if(StaToggle[i].state) {			
						var eachid = StaToggle[i].id;			
						var bdypaid = str_replace('titl_','body_',eachid);
						new Effect.toggle(bdypaid,'slide');
						changeclass(eachid,'maxus');
						StaToggle[i].state = false;
					}
				}
			}
		},duree);
		var newduree = duree+3000;		
		if(section == 'agenda') {
			var privs = new Array('agenda');
		} else if(section == 'blog') {
			var privs = new Array('blog');
		} else {
			var privs = new Array('minisite','compte','admin','stats','shop','outils');
		}
		timerIDserveur = setTimeout(function()	{
			for( var i = 0; i < privs.length; i++) {				
				var titldivs = 'titl_'+privs[i];
				var bodydivs = 'body_'+privs[i];
				if(document.getElementById(titldivs)) {					
					for(var j=0; j<StaToggle.length; j++) {
						if(StaToggle[j].id == titldivs && !StaToggle[j].state) {					
							Effect.toggle(bodydivs,'slide');
							changeclass(titldivs,'minus');
							StaToggle[j].state = true;
						}
					}					
				}
			}
			LoaderAdmin(false);
		},newduree);
	}	
	// showcase carousel gallery
	if($('horizontal_carousel')) {
		new UI.Carousel($("horizontal_carousel"), {
		//	previousButton: "left_button", 
		//	nextButton: "right_button"
		});		
		var carousel = document.getElementById('horizontal_carousel');
		var crslW = carousel.offsetWidth;
		var contW = crslW-32;
		container = DefineObjById('horizontal_container');
		container.width = contW+'px';		
	}	
	// allhref
	Event.observe(document, 'mouseover', function(event) {
		var Hreflmt = Event.findElement(event,'a');		
		if(Hreflmt) {			
			var cssnam = Hreflmt.className;
			var idsref = Hreflmt.id;	
			var cssreg = /submitclassic/;
			var idsreg = new RegExp('info_|detl_|pdf_|pict_|idit_|hrefwin|hrefsite|hreftoc|googlemaps','i');			
			//if( !cssreg.test(cssnam) && !idsreg.test(idsref) && Hreflmt.name!='noevent') {
			if(!cssreg.test(cssnam) && !idsreg.test(idsref) && Hreflmt.name!='noevent' && Hreflmt.name!='formguide') {
				ActionsOnClick();
			}
		}
	});
	// minisite
	if($('section')) {
		var sectinc = new Control.Tabs('section',{
			linkSelector: 'li.tab a'
		});
		sectinc.setActiveTab(tabactive);
    }
	// accueil admin
	if($('helper')) {
		new Control.Tabs('helper',{
			linkSelector: 'li.tab a'
		});
		new Control.Tabs('intell',{
			linkSelector: 'li.tab a'
		});
		new Control.Tabs('rules',{
			linkSelector: 'li.tab a'
		});
		new Control.Tabs('readme',{
			linkSelector: 'li.tab a'
		});
    }
    // showsection
	var eawlmts = document.getElementsByClassName('usrmask');
	for( var i = 0; i < eawlmts.length; i++) {
		var easid = eawlmts[i].id;
		new Effect.BlindUp(easid,{
			duration: 3
		});
	}
	var swslmts = document.getElementsByName('showsection');
	for( var i = 0; i < swslmts.length; i++) {
		var swsid = swslmts[i].id;		
		$(swsid).observe('click', function(event) {            
			var swspas = strstr(this.id,'_').substr(1);
            if($(swspas).className == 'usrmask') {
			   changeclass(swspas,'firstrow');
			   new Effect.BlindDown(swspas,{
				   duration: 3
			   });			   
               $('icon_'+swspas).src = iconset+"/arrow_minus.png";
            } else {
               changeclass(swspas,'usrmask');
			   new Effect.BlindUp(swspas,{
				   duration: 3
			   });
               $('icon_'+swspas).src = iconset+"/arrow_plus.png";
            }           
            Event.stop(event);
		});
	}	
	// clipbtn
	var btnlmts = document.getElementsByName('clipbtn');
	for( var i = 0; i < btnlmts.length; i++) {
		var btnid = btnlmts[i].id;		
		$(btnid).observe('click', function() {
			var btnpas = strstr(this.id,'_',true);
			var btnidn = str_replace(btnpas+'_','',this.id);
			var btnpos = btnpas.substr(0,4);			
			displaySubGuides(btnidn,btnpos);
		});
	}
	// clipopt 
	var coptlmts = document.getElementsByName('clipopt');
	for( var i = 0; i < coptlmts.length; i++) {
		var coptid = coptlmts[i].id;		
		$(coptid).observe('mouseover', function() {
			moveLayerDesc(this.rel,'livefont');
		});
	}
	// focus
	var nptlmts = document.getElementsByTagName('input');	
	for( var i = 0; i < nptlmts.length; i++) {
		var nptobj = nptlmts[i];
		var nptid = nptobj.id;	
		var cssreg = /^input/;		
		if(nptid && (nptobj.type == 'text' || nptobj.type == 'password') 
		         && cssreg.test(nptobj.className)) {
			$(nptid).observe('focus', function() {			    
				var nptcss = this.className+'focus';			
				changeclass(this.id,nptcss);
				if(this.name == 'keywords') {
					initsearch(this);
				}
			});
			$(nptid).observe('blur', function() {
				var nptcss = this.className.replace('focus','');				
				changeclass(this.id,nptcss);
			});
		}
	}
	// switchs display
	var swthlmts = document.getElementsByName('switchs');
	for( var i = 0; i < swthlmts.length; i++) {
		var swthid = swthlmts[i].id;		
		$(swthid).observe('click', function(event) {
			var swid = strstr(this.id,'_').substr(1);
			var swlmt = document.getElementById(swid);
			if( getCssStyleValue(swlmt, 'display') != 'none' ) {
				changeclass(swid,'displayko');
			} else {
				changeclass(swid,'displayok');
			}			
			Event.stop(event);
		});
	}
	// phylactere
	var phylmts = document.getElementsByName('phylacter');
	for( var i = 0; i < phylmts.length; i++) {
		var phyid = phylmts[i].id;
		$(phyid).observe('mouseover', function() {
			var infobulle;
			var content = this.title;
			var separ = /::/;
			if(content != '') {
				if( separ.test(content) ) {
					content = strstr(content,'::',true);								
					infobulle = new ObjBulle(this.id,content);
					InfoBulle.push(infobulle);		
				} else {			
					infobulle = new ObjBulle(this.id,content);
					InfoBulle.push(infobulle);
					this.removeAttribute("title");
				}
			} else {
				for(var i=0; i<InfoBulle.length; i++) {
					if(InfoBulle[i].id == this.id) {
						content = InfoBulle[i].title;
					}
				}
			}
			var search = new Array('<','>');
			var replac = new Array('&lt;','&gt;');
			var string = str_replace(search,replac,content);			
			var divid = 'bulle'+strstr(this.id,'_',true);		
			setDesc(divid,string);
		});		
		$(phyid).observe('mouseout', function() {
			var divid = 'bulle'+strstr(this.id,'_',true);
			setDesc(divid,'&nbsp;');
		});
		if(phyid == 'dock_favoris') {
			$(phyid).observe('click', function(event) {
				add_bookmark(event,this,this.href);
			});
		}
	}	
	// loopage
	var looplmts = document.getElementsByName('loopage');
	for( var i = 0; i < looplmts.length; i++) {
		var loopid = looplmts[i].id;
		$(loopid).observe('mouseover', function() {	
			var lpid = this.id;
			var newimg = str_replace('_blue','',this.rel);				
			document.images[lpid].src = newimg;
		});		
		$(loopid).observe('mouseout', function() {		
			document.images[this.id].src = this.rel;
		});
	}
	// morenav
	var mrnvlmts = document.getElementsByName('morenav');
	for( var i = 0; i < mrnvlmts.length; i++) {
		var mrnvid = mrnvlmts[i].id;		
		$(mrnvid).observe('mouseover', function() {
			var mnid = strstr(this.id,'_').substr(1);
			changeclass(mnid,'pagenavover');
			var content = this.title;
			if(content != '') {
				infobulle = new ObjBulle(mnid,content);
				InfoBulle.push(infobulle);
				this.removeAttribute("title");
			} else {
				for(var i=0; i<InfoBulle.length; i++) {
					if(InfoBulle[i].id == mnid) {
						content = InfoBulle[i].title;
					}
				}
			}
			setDesc(this.rel,content);
		});
		$(mrnvid).observe('mouseout', function() {
			var mnid = strstr(this.id,'_').substr(1);
			changeclass(mnid,'pagenavout');
			setDesc(this.rel,'&nbsp;');
		});
	}
	// menubar et menuside
	function PopDownMenus(shape,PopIds,event) {
		if(shape) {
			objet = DefineObjById(shape);
			objet.visibility = 'visible';
		}
		// Effect.toggle(element, ['appear' | 'slide' | 'blind'], [options] );
		for(var j=0; j<PopIds.length; j++) {			
			var nfopopid = PopIds[j].id;			
			if (PopIds[j].mover) {
				if(nfopopid == shape) {
					if (PopIds[j].visible) {				
						PopIds[j].visible = false;
						new Effect.SlideUp(nfopopid,{
							duration: 0.5
						});
					} else {
						PopIds[j].visible = true;
						new Effect.SlideDown(nfopopid,{
							duration: 0.5
						});
					}					
				} else if (PopIds[j].visible) {				
					PopIds[j].visible = false;
					new Effect.SlideUp(nfopopid,{
						duration: 0.5
					});
				}
			}
		}
		ActionsOnClick();
		if(shape) {
			Event.stop(event);
		}
	}
	// menubar
	PositionsMenuBar();
	var mbarlmts = document.getElementsByName('menubar');
	for( var i = 0; i < mbarlmts.length; i++) {
		var mbarid = mbarlmts[i].id;
		if(mbarid != 'menubar') { // bug IE
			// mettre en position		
			$(mbarid).observe('mouseover', function(event) {
				var mbarid = this.id.split('_');
				var shape = mbarid[0]+'_body';
				var state = mbarid[1];
				var theme = mbarid[2];
				changeclass(mbarid[0]+'_header','toc_header toc_hover toc_'+theme);		
				if(state == 'none') { shape = false; }	
				PopDownMenus(shape,PopIds,event);		
			});
			$(mbarid).observe('mouseout', function() {
				var mbarid = this.id.split('_');			
				changeclass(mbarid[0]+'_header','toc_header');
			});
		}		
	}
	// menubarlist -> descs	
	// menuside
	var msidelmts = document.getElementsByName('menuside');
	for( var i = 0; i < msidelmts.length; i++) {
		var msideid = msidelmts[i].id;
		var msidestat = msidelmts[i].rel;
		var idHeader = msideid.split('_');
		var msidhid = idHeader[0]+'_body';		
		if( $(msidhid) ) { // msidhid exist
			var popvisi = true;	
			var popmove = false;	
			if(msidestat == 'hide') {
				new Effect.SlideUp(msidhid,{
					duration: 0.1
				});
				popvisi = false;
				popmove = true;
			} else {
				objet = DefineObjById(msidhid);
				objet.visibility = 'visible';
			}
			nfoPop = new ObjPopIds(msidhid,popvisi,popmove);
			PopIds.push(nfoPop);
		}
		//
		$(msideid).observe('mouseover', function() {
			var msideid = this.id.split('_');		
			// shape ident,theme
			changeclass(msideid[0]+'_header','menuside_header menuside_'+msideid[1]+' menuside_hover');
		});
		$(msideid).observe('mouseout', function() {
			var msideid = this.id.split('_');			
			changeclass(msideid[0]+'_header','menuside_header menuside_'+msideid[1]);
		});
		$(msideid).observe('click', function(event) {
			var msideid = this.id.split('_');	
			var shape = msideid[0]+'_body';
			var theme = msideid[1];
			PopDownMenus(shape,PopIds,event);
		});
	}	
	// menusidelist
	var msltlmts = document.getElementsByName('menusidelist');
	for( var i = 0; i < msltlmts.length; i++) {
		var msltid = msltlmts[i].id;		
		$(msltid).observe('mouseover', function(event) {
			var msltid = this.id.split('_');		
			// shape ident,test,theme		
			moveLayerDesc(this.title,'editfont');
			changeclass('sidelist'+msltid[0],msltid[1]+' menuside_list menuside_listhover menuside_'+msltid[2]);
			
		});
		$(msltid).observe('mouseout', function() {
			var msltid = this.id.split('_');			
			moveLayer('out','bullelayer','editfont');
			changeclass('sidelist'+msltid[0],msltid[1]+' menuside_list menuside_'+msltid[2]);
		});
	}	
	// edit
	var editlmts = document.getElementsByName('edits');
	for( var i = 0; i < editlmts.length; i++) {
		var editid = editlmts[i].id;		
		$(editid).observe('mouseover', function() {
			var passid = this.id.replace('idit_','');
			moveLayer('over', passid, 'editfont');
		});
		$(editid).observe('mouseout', function() {
			var passid = this.id.replace('idit_','');
			moveLayer('out', passid, 'editfont');
		});
	}	
	// info
	var infolmts = document.getElementsByName('infos');
	for( var i = 0; i < infolmts.length; i++) {
		var infoid = infolmts[i].id;		
		$(infoid).observe('mouseover', function() {
			var passid = this.id.replace('info_','');
			moveLayer('over', passid, 'infofont');
		});
		$(infoid).observe('mouseout', function() {
			var passid = this.id.replace('info_','');
			moveLayer('out', passid, 'infofont');
		});
		$(infoid).observe('click', function() {
			ActionsOnClick();
		});
	}
	// rollover fullitem
	var rollovr = document.getElementsByName('rollover');
	for( var i = 0; i < rollovr.length; i++) {
		var roid = rollovr[i].id;	
		$(roid).observe('mouseover', function() {
			RollOver(this.id);
		});
		$(roid).observe('mouseout', function() {
			RollOut(this.id,this.rel);
		});
	}	
	// innerdescs + rollover dans les listes  puces
	var idesclmts = document.getElementsByName('idesclmts');
	for( var i = 0; i < idesclmts.length; i++) {
		var idscid = idesclmts[i].id;
		$(idscid).observe('mouseover', function() {
			var ident = this.id;
			var title = this.title;
			var content = getDesc(ident);
			if(content != '') {
				infobulle = new ObjBulle(ident,content);
				InfoBulle.push(infobulle);
			}			
			afficheDesc(ident,title);			
			RollOver(ident);
		});
		$(idscid).observe('mouseout', function() {
			var ident = this.id;
			for(var i=0; i<InfoBulle.length; i++) {
				if(InfoBulle[i].id == ident) {
					content = InfoBulle[i].title;
				}
			}
			afficheDesc(ident,content);
			RollOut(ident,this.rel);
		});
	}
	// gallyset
	var gdsclmts = document.getElementsByName('gallyset');
	for( var i = 0; i < gdsclmts.length; i++) {
		var gdscid = gdsclmts[i].id;
		$(gdscid).observe('mouseover', function() {				
		var infobulle;
		var content = this.title;
		var separ = /::/;
		if(content != '') {
			if( separ.test(content) ) {
				content = strstr(content,'::',true);								
				infobulle = new ObjBulle(this.id,content);
				InfoBulle.push(infobulle);				
			} else {			
				infobulle = new ObjBulle(this.id,content);
				InfoBulle.push(infobulle);
				this.removeAttribute("title");
			}
		} else {
			for(var i=0; i<InfoBulle.length; i++) {
				if(InfoBulle[i].id == this.id) {
					content = InfoBulle[i].title;
				}
			}
		}
		setDesc('galldescs',content);
	});
	}
	// warning | manque les ids
	/*
	var warnlmts = document.getElementsByClassName('warning');
	for( var i = 0; i < warnlmts.length; i++) {
		var warnid = warnlmts[i].id;		
		SetDescs(warnid);
	}
	*/
	// descs
	var desclmts = document.getElementsByName('descs');
	for( var i = 0; i < desclmts.length; i++) {
		var descid = desclmts[i].id;
		SetDescs(descid);
	}	
	// pict
	var pictlmts = document.getElementsByName('picts');
	for( var i = 0; i < pictlmts.length; i++) {
		var pictid = pictlmts[i].id;		
		$(pictid).observe('mouseover', function() {
			var passid = this.id.replace('pict_','src');
			moveLayer('over', passid, 'editfont');
		});
		$(pictid).observe('mouseout', function() {
			var passid = this.id.replace('pict_','src');
			moveLayer('out', passid, 'editfont');
		});
		$(pictid).observe('click', function() {
			ActionsOnClick();
		});
	}
	// pdf
	var pdflmts = document.getElementsByName('pdfs');
	for( var i = 0; i < pdflmts.length; i++) {
		var pdfid = pdflmts[i].id;		
		$(pdfid).observe('mouseover', function() {
			var passid = this.id.replace('pdf_','');
			moveLayer('over', passid, 'editfont');
		});
		$(pdfid).observe('click', function() {
			var passid = this.id.replace('pdf_','');
			moveLayer('out', passid, 'editfont');
		});
	}
	// detl
	var detllmts = document.getElementsByName('detls');
	for( var i = 0; i < detllmts.length; i++) {
		var detlid = detllmts[i].id;
		$(detlid).observe('mouseover', function() {
			var passid = this.id.replace('detl_','imgdetail');
			moveLayer('over', passid,'editfont');	
		});
		$(detlid).observe('click', function() {
			var passid = this.id.replace('detl_','imgdetail');
			moveLayer('out', passid,'editfont');
		});
	}
	// click
	var clicklmts = document.getElementsByName('clickeds');
	for( var i = 0; i < clicklmts.length; i++) {
		var clickid = clicklmts[i].id;
		$(clickid).observe('click', function(event) {
			PopDownMenus(false,PopIds,event);
			//ActionsOnClick();
		});
	}
	// idem clickes
	var bodylmts = document.getElementsByTagName('body');	
	for( var i = 0; i < bodylmts.length; i++) {
		var bodyid = bodylmts[i].id;
		$(bodyid).observe('click', function(event) {
			PopDownMenus(false,PopIds,event);
			//ActionsOnClick();
		});
	}
	// scrollbars
	if($('main_scrollbar_contener')) {
		scrollbar = new Control.ScrollBar('description','main_scrollbar');
	}
	function defcontainer(str) {
		var split = str.split('_');
		return split[0]+'_';
	}
	function defobjetur(sc_id,InfoObjet) {
		for(var i=0; i<InfoObjet.length; i++) {
			if(InfoObjet[i].id == sc_id) {
				return InfoObjet[i];
			}
		}
	}
	var infoobjet;
	var InfoObjet = new Array();
	function ParamSC(Obj,id,step,posi) {
		this.id = id;
		this.step = step;
		this.posi = posi;
		this.ObjSC = Obj;
	}	
	var diff_container = new Array('diary_','billet_');
	for(var e=0; e<diff_container.length; e++) {
		var sc_ident = diff_container[e];
		var container = $(sc_ident+'scrollbar_contener');
		if(container) {		
			var mycont = trim(getDesc(sc_ident+'embed'));
			if(mycont == '') {
				var idpal = sc_ident+'palette';
				setDesc(idpal,'<br />Pas d&#8217;entr&eacute;e pour&nbsp;le&nbsp;moment<br /><br />');
				new Effect.BlindDown(idpal,{
					duration: 3
				});
			}
			objClipd = DefineObjById(sc_ident+'content');
			objEmbed = DefineObjById(sc_ident+'embed');
			var clipd = objClipd.offsetHeight;
			var embed = objEmbed.offsetHeight;
			if(embed < clipd) {
				new Effect.BlindUp(sc_ident+'content',{
					duration: 3
				});
			}			
		}
	}
	window.onload = function() {
		for(var d=0; d<diff_container.length; d++) {
			var sc_divid = diff_container[d];
			var container = $(sc_divid+'scrollbar_contener');
			if(container) {
				var ObjSC = new Control.ScrollBar(sc_divid+'content',sc_divid+'scrollbar');
				var max = ObjSC.getCurrentMaximumDelta();
				if(max <= 0) {
					changeclass(sc_divid+'paddrTop','displayko');
					changeclass(sc_divid+'paddrBot','displayko');
					var embed = $(sc_divid+'embed').offsetHeight;
					objclipd = DefineObjById(sc_divid+'content');
					objclipd.height = embed+'px';
					new Effect.BlindDown(sc_divid+'content',{
						duration: 3
					});
				} else {
					if(sc_divid == 'billet_') {
						ObjSC.scrollTo('bottom');
						var posi = ObjSC.container.scrollHeight;
						changeclass(sc_divid+'touchTop','displayok'); changeclass(sc_divid+'paddrTop','padderMin');
					} else {
						var posi = 0;
						changeclass(sc_divid+'touchBot','displayok'); changeclass(sc_divid+'paddrBot','padderMin');
					}			
					var step = ObjSC.container.offsetHeight;//ou un chiffre arbitaire				
					infoobjet = new ParamSC(ObjSC,sc_divid,step,posi);
					InfoObjet.push(infoobjet);				
					//
					$(sc_divid+'handle').observe('mousedown',function(event){
						var sc_div = defcontainer(this.id);
						changeclass(sc_div+'touchTop','displayok');	changeclass(sc_div+'paddrTop','padderMin');
						changeclass(sc_div+'touchBot','displayok');	changeclass(sc_div+'paddrBot','padderMin');
						event.stop();
					});
					$(sc_divid+'content').observe('mouse:wheel',function(event){
						var sc_div = defcontainer(this.id);
						var ObjSC = defobjetur(sc_div,InfoObjet).ObjSC;
						var Poscroll = ObjSC.container.scrollTop;					
						if(Poscroll <= 0) {
							changeclass(sc_div+'touchTop','displayko');	changeclass(sc_div+'paddrTop','margUp touchTop padderMax');
						} else if (Poscroll >= ObjSC.getCurrentMaximumDelta()) {
							changeclass(sc_div+'touchBot','displayko');	changeclass(sc_div+'paddrBot','touchBot padderMax');
						} else {
							changeclass(sc_div+'touchTop','displayok');	changeclass(sc_div+'paddrTop','padderMin');
							changeclass(sc_div+'touchBot','displayok');	changeclass(sc_div+'paddrBot','padderMin');			
						}
						event.stop();
					});	
					$(sc_divid+'handle').observe('mouseout',function(event){
						var sc_div = defcontainer(this.id);
						var ObjSC = defobjetur(sc_div,InfoObjet).ObjSC;
						var Poscroll = ObjSC.container.scrollTop;					
						if(Poscroll <= 0) {
							changeclass(sc_div+'touchTop','displayko');	changeclass(sc_div+'paddrTop','margUp touchTop padderMax');
						} else if (Poscroll >= ObjSC.getCurrentMaximumDelta()) {
							changeclass(sc_div+'touchBot','displayko');	changeclass(sc_div+'paddrBot','touchBot padderMax');
						}
						event.stop();
					});
					//
					$(sc_divid+'scrollup').observe('click',function(event){
						var sc_div = defcontainer(this.id);
						var defObj = defobjetur(sc_div,InfoObjet);					
						var ObjSC = defObj.ObjSC;
						var posi = defObj.posi;					
						var step = defObj.step;						
						var posi = posi-step;					
						if(posi < step) {
							posi = 0;						
							changeclass(sc_div+'touchTop','displayko');	changeclass(sc_div+'paddrTop','margUp touchTop padderMax');
						}
						changeclass(sc_div+'touchBot','displayok');	changeclass(sc_div+'paddrBot','padderMin');
						defObj.posi = posi;
						ObjSC.scrollTo(posi,true);
						event.stop();
					});
					$(sc_divid+'scrolldown').observe('click',function(event){
						var sc_div = defcontainer(this.id);
						var defObj = defobjetur(sc_div,InfoObjet);					
						var ObjSC = defObj.ObjSC;
						var posi = defObj.posi;					
						var step = defObj.step;										
						var Hscrmax = ObjSC.getCurrentMaximumDelta();
						posi = posi+step;
						if(posi >= Hscrmax) {
							posi = Hscrmax;
							changeclass(sc_div+'touchBot','displayko');	changeclass(sc_div+'paddrBot','touchBot padderMax');
						}
						changeclass(sc_div+'touchTop','displayok');	changeclass(sc_div+'paddrTop','padderMin');
						defObj.posi = posi;
						ObjSC.scrollTo(posi,true);
						event.stop();
					});
					$(sc_divid+'scrollup').observe('mouseover',function(event){	
						ActionsOnClick();
						changeclass(this.id,'margUp touchTop touchOver');
						event.stop();
					});
					$(sc_divid+'scrollup').observe('mouseout',function(event){			
						changeclass(this.id,'margUp touchTop touchOut');
						event.stop();
					});
					$(sc_divid+'scrolldown').observe('mouseover',function(event){
						ActionsOnClick();
						changeclass(this.id,'touchBot touchOver');
						event.stop();
					});
					$(sc_divid+'scrolldown').observe('mouseout',function(event){			
						changeclass(this.id,'touchBot touchOut');
						event.stop();
					});
				}
			}			
		}
	}	
	// paragraphe
	var plmts = document.getElementsByClassName('phout');
	for( var i = 0; i < plmts.length; i++) {
		var pid = plmts[i].id;
		$(pid).observe('mouseover', function() {
			var prgid = this.id;			
			changeclass(prgid,'phover');
		});
		$(pid).observe('mouseout', function() {
			var prgid = this.id;
			changeclass(prgid,'phout');
		});
	}
	var clipH = 80;
	// autolltxt
	var rolltxt = document.getElementsByClassName('rolltxt');
	for( var i = 0; i < rolltxt.length; i++) {
		var retaille = false;
		var txtlmt = rolltxt[i].id;	
		var idreg = /Sample/;
		if(rolltxt.length < 2 && !idreg.test(txtlmt) ) {
			retaille = true;
		}			
		var passid = txtlmt.replace('clip','');		
		var box = document.getElementById('contener'+passid);
		var boxH = box.offsetHeight;	
		if(boxH > 0) {
			var ratioH = boxH/clipH;	
			if(ratioH < 1.5) {
				retaille = true;
			}		
			if(retaille) {		
				ClipLayer(passid,'open',clipH,'loading');
				changeclass('artplus'+passid,'displayko');
			}
		} else {
			ClipLayer(passid,'clos',0,'loading');
		}		
	}
	// artplus
	var rollplus = document.getElementsByName('artplus');
	for( var i = 0; i < rollplus.length; i++) {
		var idplus =  rollplus[i].id;
		$(idplus).observe('click', function(event) {
			var passid = this.id.replace('artplus','');
			ClipLayer(passid,'open',clipH,'static');
			changeclass(this.id,'displayko');
			if($('main_scrollbar_contener')) {
				scrollbar.initialize('description','main_scrollbar');
				scrollbar.recalculateLayout();
				scrollbar.scrollTo('p'+passid);
			}
			Event.stop(event);
		});
	}
	// artminus
	var rollmnus = document.getElementsByName('artminus');
	for( var i = 0; i < rollmnus.length; i++) {
		var idmnus =  rollmnus[i].id;
		$(idmnus).observe('click', function(event) {
			var passid = this.id.replace('artminus','');			
			ClipLayer(passid,'clos',clipH,'static');
			changeclass(this.id,'displayko');			
			if($('main_scrollbar_contener')) {
				scrollbar.recalculateLayout();
				scrollbar.scrollTo('p'+passid);
			} else {
				Effect.ScrollTo('p'+passid);				
			}			
			Event.stop(event);
		});
	}
	// interact
	var intract = document.getElementsByName('interact');
	for( var i = 0; i < intract.length; i++) {
		var actid = intract[i].id;
		SetDescs(actid);
		$(actid).observe('click', function(event) {
			var idnt = this.id;
			var part = idnt.split('_');
			var css = part[0];
			var pss = part[1];
			var psslmt = document.getElementById(pss);
			var action = 'open';
			var idss = pss;
			if( getCssStyleValue(psslmt, 'display') != 'none' ) {
				action = 'clos';
				idss = css.replace('off','on')+'_'+pss;
				if(css == 'statlayeron') {
					action = 'null';
					changeclass('sb_'+pss,'statbook_on');				
				}				
				css = css.replace('on','off');				
				Event.stop(event);				
			} else {
				if(css == 'statlayeron') {
					action = 'null';
					changeclass('sb_'+pss,'statbook_off');
				}
			}
			changeclass(pss,css+' escape');
			var labelreg = /#/;
			if(labelreg.test(this.href)) {
				Event.stop(event);
			}
			if($('main_scrollbar_contener')) {
				if(action == 'open') {
					scrollbar.initialize('description','main_scrollbar');
					scrollbar.recalculateLayout();
				} else {
					scrollbar.recalculateLayout();
				}
				scrollbar.scrollTo(idss);				
			} else if(action != 'null') {
				var apart = pss.split('-');				
				if(action == 'open') {					
					var HParag = $('p'+apart[1]).offsetHeight;
					var Wnsize = getPageSize();
					var HWindw = Wnsize[3];
					var ScDelta = -40;
					if(HWindw < HParag) {
						ScDelta = HParag-HWindw;
					}
					Effect.ScrollTo('p'+apart[1], {
						offset: ScDelta
					}
					);
				} else {
					Effect.ScrollTo('p'+apart[1], {
						offset: ScDelta
					}
					);
				}
			}			
		});
	}
	// formulaire membre actif guide AUTO
	document.observe('lightview:loaded', function(event) {
		if($('auto_formguide')) {
			LightViewProgress(event,$('auto_formguide').title,$('auto_formguide').href);
		}
	});
	// formulaire membre actif guide
	var titguide; var hrfguide;		
	var btguide = document.getElementsByName('btnguide');
	for( var i = 0; i < btguide.length; i++) {
		var btguid = btguide[i].id;	
		$(btguid).observe('click', function(event) {				
			LightViewProgress(event,titguide,hrfguide);
		});
	}
	var fguide = document.getElementsByName('formguide');
	for( var i = 0; i < fguide.length; i++) {
		var fguid = fguide[i].id;	
		$(fguid).observe('click', function(event) {				
			LightViewProgress(event,this.title,this.href);
		});
		$(fguid).observe('mouseover', function() {			
			GuidSelected = this;		
			var ident = this.id;			
			if(ident != 'adminfguide') {	
				titguide = this.title; 
				hrfguide = this.href; 				
				moveLayer('over', 'explainguide', 'editfont');				
			}		
			var isro = /ro_/;
			if(isro.test(ident)) {
				RollOver(ident);
			}
		});
		$(fguid).observe('mouseout', function() {	
			var ident = this.id;
			var isro = /ro_/;
			if(isro.test(ident)) {
				RollOut(ident,this.rel);
			}
		});
	}
	// flash message
	var msglmts = document.getElementsByClassName('message');
	for( var i = 0; i < msglmts.length; i++) {			
//		var pagesize = getPageSize();
//		var maxheight = pagesize[3];		
		var flashid = 'flashlayer';
		PrepAddElmtBdy(flashid);
		changeclass(flashid,'flashlayer');		
		var msgid = msglmts[i].id;	
		var content = strip_tags(getDesc(msgid),"<br />,<div>");	
		var messgid = 'messglayer';		
		PrepAddElmtBdy(messgid);
		setDesc(messgid,content);
		DisplayCenter(messgid,'movelayer infofont displayok','bottom:80');	
		new Effect.Appear(flashid,{
			duration: 4
		});
		new Effect.Appear(messgid,{
			duration: 3
		});
		var timerIDserveur = null;
		timerIDserveur = setTimeout(function()	{
			new Effect.Fade(flashid,{
				duration: 4
			});
			new Effect.Fade(messgid,{
				duration: 4
			});
		},4000);
	}
	// submitclassic
	var subclmts = document.getElementsByClassName('submitclassic');	
	for( var i = 0; i < subclmts.length; i++) {
		var sbclid = subclmts[i].id;
		MltChangeBtns(sbclid);
	}
});
// fin observe
function PositionsMenuBar() {
	var mbarlmts = document.getElementsByName('menubar');
	for( var i = 0; i < mbarlmts.length; i++) {
		var mbarid = mbarlmts[i].id;
		if(mbarid != 'menubar') { // bug IE			 
			var idHeader = mbarid.split('_');		
			var tabonglet = $(idHeader[0]+'_header');			
			var position = tabonglet.cumulativeOffset().left;
			var mbarhid = idHeader[0]+'_body';			
			if( $(mbarhid) ) { // mbarhid exist
				nfoPop = new ObjPopIds(mbarhid,false,true);
				PopIds.push(nfoPop);
				objet = DefineObjById(mbarhid);
				objet.left = position+'px';
				new Effect.SlideUp(mbarhid,{
					duration: 0.1
				});
			}
		}		
	}
}
var GuidSelected ;
function MltChangeBtns(sbclid) {	
	$(sbclid).observe('mouseover', function() {
		multichangesubmit('over','submit'+this.id,'submitclassic');
	});
	$(sbclid).observe('mousedown', function() {
		multichangesubmit('down','submit'+this.id,'submitclassic');
	});
	$(sbclid).observe('mouseout', function() {	
			multichangesubmit('out','submit'+this.id,'submitclassic');
	});
}
var mblists = /hreftoclist/;
function SetDescs(descid) {
	if( descid ) {
		$(descid).observe('mouseover', function() {
			var infobulle;
			var content = this.title;
			var separ = /::/;
			if(content != '') {
				if( separ.test(content) ) {
					content = strstr(content,'::',true);
					infobulle = new ObjBulle(this.id,content);
					InfoBulle.push(infobulle);
				} else {			
					infobulle = new ObjBulle(this.id,content);
					InfoBulle.push(infobulle);
					this.removeAttribute("title");
				}
			} else {
				for(var i=0; i<InfoBulle.length; i++) {
					if(InfoBulle[i].id == this.id) {
						content = InfoBulle[i].title;
					}
				}
			}
			moveLayerDesc(content, 'editfont');
			var ident = this.id;
			if(mblists.test(ident)) {
				var mblid = ident.split('_');
				changeclass('toclist'+mblid[1],'toc_list toc_listhover '+mblid[2]+'toc_'+mblid[3]);
			}
			var isro = /ro_/;
			if(isro.test(ident)) {
				RollOver(ident);
			}
		});
		$(descid).observe('mouseout', function() {
			moveLayer('out', 'bullelayer', 'editfont');
			var ident = this.id;			
			if(mblists.test(ident)) {
				var mblid = ident.split('_');			
				changeclass('toclist'+mblid[1],'toc_list '+mblid[2]+'toc_'+mblid[3]);
			}
			var isro = /ro_/;
			if(isro.test(ident)) {
				RollOut(ident,this.rel);
			}
		});
		$(descid).observe('click', function() {
			ActionsOnClick();
		});
	}
}
function RollOver(roid) {
	var ropid = strstr(roid,'_').substr(1);	
	var tagcss = document.getElementById(ropid).className;		
	var ovrcss = /hover/;
	if( !ovrcss.test(tagcss) ) {
		var hvrcss;
		var frmcss;
		var itmcss = /item_/;
		var space = / /;
		if(itmcss.test(tagcss)) {
			hvrcss = strstr(tagcss,' ',true);
			frmcss = hvrcss;
		} else if(space.test(tagcss)) {
			hvrcss = strstr(tagcss,' ',true);
			frmcss = tagcss;
		} else {
			hvrcss = tagcss;
			frmcss = tagcss;
		}
		var newcss = frmcss+' '+hvrcss+'hover';
		changeclass(ropid,newcss);
		if(document.getElementById('resu_'+ropid)) {
			changeclass('resu_'+ropid,'resum listehover');
		}
	}
}
function RollOut(roid,rorel) {
	var ropid = strstr(roid,'_').substr(1);
	var tagcss = document.getElementById(ropid).className;
	var ovrcss = /hover/;
	var itmcss = /item_/;
	if( ovrcss.test(tagcss) ) {
		var tocss = '';
		if(itmcss.test(rorel)){
			tocss = ' '+rorel;
		}
		var poscss = strstr(tagcss,' ',true);
		var oldcss = tagcss.replace(' '+poscss+'hover',tocss);
		changeclass(ropid,oldcss);
		if(document.getElementById('resu_'+ropid)) {
			changeclass('resu_'+ropid,'resum');
		}
	}
}
function LightViewProgress(event,thistitle,thishref) {
	if(userAgent.search("MSIE") > 0) {
		MyPushUp(event);
	} else {
		showProgressBar();
		if(event.type == 'click') {
			Event.stop(event);
		}
		Lightview.show({
			title: thistitle,
			href: thishref,
			rel: 'iframe', // 'ajax'
			method: 'get',
			options: {
				fullscreen: true,
				topclose: true
			}
		});
	}	
}  
function showProgressBar() {
	DisplayCenter('lv_ProgressBar','displayok','bottom:40');
	var progress_bar = new Control.ProgressBar('progress_bar',{  
		interval: 0.1,
		afterChange: function(){
			if(progress_bar.progress >= 100) {
				changeclass('lv_ProgressBar','displayko');
			}
		}
	}); 
	progress_bar.start(progress_bar);
}
document.observe('lightview:hidden', function(event) {
	changeclass('lv_ProgressBar','displayko');
});

function DlBrowser(url) {
	this.url = url;
}
function MyPushUp(event) {
	DisplayCenter('browserpromt','displayok','bottom:100');
	Event.stop(event);	
	new Effect.BlindDown('browserpromt',{
		duration: 0.3
	});	
	$('closeprompt').observe('click', function() {
		new Effect.BlindUp(this.name,{
			duration: 0.3
		});
	});	
	var IE = new DlBrowser("http://www.microsoft.com/france/windows/products/winfamily/ie/ie8/");
	var Firefox = new DlBrowser("http://www.getfirefox.com");
	var Safari = new DlBrowser("http://www.apple.fr/safari/download/");
	var Opera = new DlBrowser("http://www.opera.com/download/");
	
	var childBrs = document.getElementById('browsers').childNodes;
	for(var i=0; i<childBrs.length; i++) {
		var eachLi = childBrs[i];
		if(eachLi.nodeName == 'LI') {
			$(eachLi).observe('click', function() {
				window.location.href = eval(this.className).url;
			});
		}
	}
}
/*** phylactere **/
function getCssStyleValue(element, style) {
	if(element.currentStyle) {
		var modstyle = style.split('-');
		var newstyle = modstyle[0];
		if(modstyle[1]) {
			newstyle+=ucfirst(modstyle[1]);
		}
		return element.currentStyle[newstyle];
	} else {
		return window.getComputedStyle(element,null).getPropertyValue(style);
	}
}
function FixePosition(element,onYX) {
	var eX = 0;
	var eY = 0;
	do{
		eX += element.offsetLeft;
		eY += element.offsetTop;
		element = element.offsetParent;
	} while(element && getCssStyleValue(element, 'position') != 'absolute');
	if(element){
		eX += element.offsetLeft;
		eY += element.offsetTop;
	}
	var pos = 0;
	if(onYX == 'onY') {
		pos = eY;
	} else {
		pos = eX;
	}
	return pos;
}
function parent_PositionCSS(initlmt,cssval,search) {
	element = initlmt.parentNode;
	if(search) { 
		// cherche presence
		while(element) {
			if(element && getCssStyleValue(element, 'position') == cssval) { 
				return true; break;				
			} else { 
				if(element.parentNode.tagName != 'BODY') {
					 element = element.parentNode;
				} else {
					return false; break;
				}
			}
		}
	} else { 
		// cherche absence
		while(element) {
			if(element && getCssStyleValue(element, 'position') != cssval) { 
				return true; break;				
			} else {
				if(element.parentNode.tagName != 'BODY') {
					 element = element.parentNode;
				} else {
					return false; break;
				}
			}
		}
	}	
}

PrevOnScroll = false;
window.onscroll = Repositionne;
function Repositionne() {
	if(PrevOnScroll) {
		DisplayCenter(KeepObj.id,KeepObj.className,false);
	}
}
function DisplayCenter(ident,css,recalage) {
	changeclass(ident,css);
	PrevOnScroll = true;
	KeepObj = document.getElementById(ident);
	var elmtW = KeepObj.offsetWidth;
	var elmtH = KeepObj.offsetHeight;	
	var arrayPageSize = getPageSize();
	var pagewidth = arrayPageSize[2];
	var pageheight = arrayPageSize[3];
	var posX = Math.ceil( (pagewidth-elmtW)/2 );
	var posY = Math.ceil( (pageheight-elmtH)/2 ) + document.body.scrollTop;	
	if(recalage) {
		var params = recalage.split(':');
		var delta = parseInt(params[1]);		
		switch(params[0]) {
			case 'top'    : posY-= delta; break;
			case 'right'  : posX-= delta; break;
			case 'bottom' : posY+= delta; break;
			case 'left'   : posX+= delta; break;
		}
	}
	KeepObj.style.left = posX+'px'; 
	KeepObj.style.top  = posY+'px';
}
function CloneElement(ident){
	var Modele = document.getElementById(ident);
	if(Modele) {
		var Clone = Modele.cloneNode( true);
		document.appendChild(Clone);
	} 
}
function PrepAddElmtBdy(newId) {
	if(!document.getElementById(newId)) {
		var refTag = DefineBdyObj();		
		ajouteElement(newId,refTag,'displayko');
	}
}
function ajouteElement(newId,refDiv,newClass) {
	if(!document.getElementById(newId)) {
		var newDiv = document.createElement('div');
		if(newId) {
			newDiv.setAttribute('id',newId);
		}
		if(newClass) {
			newDiv.setAttribute('class',newClass);
		}
		refDiv.parentNode.appendChild(newDiv);
	}
}
function RemoveCoches() {
	for(var i=0; i<tabCoches.length; i++) {
		changeclass(tabCoches[i],'displayko');
		//tabCoches[i].removeNode(true);
	}	
}
function SetMaxzIndex(elmnt) {
		//Mettre au premier plan
	var elements = document.getElementsByTagName('*'); //On rcupre tous les lments de la page
	var zIndex = 0;
	for( var i=0; i < elements.length; i++)	{
		zIndex = Math.max(zIndex,elements[i].style.zIndex);
	}
	elmnt.zIndex = zIndex+1;
}
var tabCoches = new Array();
function FixeContainer(layObj,layref,options) {
	var reflay = document.getElementById(layref);
	var reflft = reflay.offsetLeft;
	var reftop = reflay.offsetTop;	
	var moreH = 0;
	var moreV = parseInt(-3);
	if(options == 'after') {
		moreH = reflay.offsetWidth;
	}
	var mouvmntX = reflft+moreH;
	var mouvmntY = reftop+moreV;	
	var onLayer = false;
	if(onLayer) {
		mouvmntX = FixePosition(reflay,'onX')+moreH;
		mouvmntY = FixePosition(reflay,'onY')+moreV;
	}	
	var NewCoche = 'coche'+layref;
	tabCoches.push(NewCoche);
	ajouteElement(NewCoche,reflay,'cocheleft');
	aObject = DefineObjById(NewCoche);
	aObject = DefineObjById(NewCoche);	
	SetMaxzIndex(aObject);
	aObject.left = mouvmntX+'px';
	aObject.top  = mouvmntY+'px';		
	changeclass(NewCoche,'cocheleft displayok');	
	var cochlay = document.getElementById(NewCoche);
	var cocheH = cochlay.offsetWidth;
	var cocheV = cochlay.offsetHeight;	
	var delta = parseInt(-13);	
	SetMaxzIndex(layObj.style);		
	layObj.style.left = mouvmntX+cocheH+'px'; 
	layObj.style.top  = mouvmntY+delta+'px';	
}
var localposX = false;
var localposY = false;
function moveLayer(position,layid,cssfont) {
	if(currentlay != layid && currentlay !='') {
		moveLayer('out',currentlay,'');
	}
	currentlay = layid;
	var arromvtX = 0;
	var arromvtY = 0;
	var mouvmntX = 0;
	var mouvmntY = 0;
	if(position == 'out') {
		changeclass(currentlay,'displayko');
		currentlay = '';
		changeclass('arrowlayer','displayko');
	} else { 
		// over
		var delta = parseInt(30);
		var layimg = layid.substring(0,9);
		var layexc = layid.substring(0,15);		
		PrepAddElmtBdy(layid);		
		changeclass(layid,'movelayer '+cssfont+' displayok');		
		var paramlayer = document.getElementById(layid);
		var widthit = (paramlayer.offsetWidth/2)-parseInt(20);	
		var heightit = paramlayer.offsetHeight;
		var witharrow = true;
		if(layimg == 'imgdetail') {
			witharrow = false;
		}
		if(layexc == 'imgdetailuniver' 
		|| layexc == 'imgdetailauteur'
		|| layexc == 'imgdetailattach'
		|| layexc == 'imgdetailediton') {
			witharrow = true;
		}
		if(witharrow) {	
			arromvtX = inspectmvtX;
			arromvtY = inspectmvtY-delta;
			var arrowid = 'arrowlayer';		
			PrepAddElmtBdy(arrowid);			
			aObject = DefineObjById(arrowid);
			aObject.left = arromvtX+'px';
			aObject.top = arromvtY+'px';			
			changeclass(arrowid,'arrowlayer displayok');
		}		
		var Xdesc = 0;
		var Ydesc = 0;
		// cherche si un node parent differe de static		
		if( layid != 'bullelayer' && layid != 'explainguide' 
		&& parent_PositionCSS(paramlayer,'static',false) ) { // false=toutsauf, true:strict
		    var descdiv = document.getElementById('main_scrollbar_contener');				
			Xdesc = FixePosition(descdiv,'onX');
			Ydesc = FixePosition(descdiv,'onY');
		}
		mouvmntX = inspectmvtX-parseInt(widthit)-Xdesc;
		mouvmntY = inspectmvtY-parseInt(heightit)-delta-Ydesc;
		mObject = DefineObjById(layid);	
		mObject.left = mouvmntX+'px'; 
		mObject.top = mouvmntY+'px';	
	}
}
function fixeLayer(item,position,layid,cssfont) {
	if(currentlay != layid && currentlay !='') {
		moveLayer('out',currentlay,'');
	}
	currentlay = layid;	
	var arromvtX = 0;
	var arromvtY = 0;
	var mouvmntX = 0;
	var mouvmntY = 0;	
	if(position == 'out') {
		changeclass(layid,'displayko');
		changeclass('arrowlayer','displayko');
	} else { 
		// over
		window.scrollTo(0,50);		
		var delta = parseInt(10);
		var pOffset = item.cumulativeOffset();
		var posX = pOffset.left;
		var posY = pOffset.top;
		var nposY = posY-120;
		window.scrollTo(0,nposY);	
		arroposX = posX+delta;
		arroposY = posY-delta;		
		var arrowid = 'arrowlayer';		
		PrepAddElmtBdy(arrowid);
		aObject = DefineObjById(arrowid);
		aObject.left = arroposX+'px';
		aObject.top = arroposY+'px';
		changeclass(arrowid,'arrowlayer displayok');
		PrepAddElmtBdy(layid);
		changeclass(layid,'movelayer '+cssfont+' displayok');		
		var paramlayer = document.getElementById(layid);
		var widthit = (paramlayer.offsetWidth/2)-parseInt(20);
		var heightit = paramlayer.offsetHeight;				
		mouvmntX = posX-parseInt(widthit);
		mouvmntY = posY-parseInt(heightit)-delta;		
		mObject = DefineObjById(layid);
		mObject.left = mouvmntX+'px'; 
		mObject.top = mouvmntY+'px';
	//	changeclass(layid,'movelayer '+cssfont+' displayok');
	}
}
function moveLayerDesc(fromThis,cssfont) {
	var bulleid = 'bullelayer';
	PrepAddElmtBdy(bulleid);
	afficheDesc(bulleid,fromThis);
	var timerIDserveur = null;
    timerIDserveur = setTimeout(function()	{
		moveLayer('over',bulleid,cssfont);
	},500);
}
function fixeLayerDesc(item, fromThis,cssfont) {
	var bulleid = 'bullelayer';
	PrepAddElmtBdy(bulleid);
	afficheDesc(bulleid,fromThis);
	var timerIDserveur = null;
    timerIDserveur = setTimeout(function()	{
		fixeLayer(item, 'over',bulleid,cssfont);
	},500);
}
function afficheDesc(tab,fromThis) {
	var search = new Array("|","*");
	var replac = new Array("\"","|");
	var toThis = str_replace(search,replac,fromThis);
	if (document.getElementById) {
		document.getElementById(tab).innerHTML = toThis;
	} else if (document.all) {
		document.all[tab].innerHTML = toThis;
	}
}
function MessagErr(item,afficher,valen,maxlen,champ) {
  var mess = 'Texte trop long, '+maxlen+' signes maximum pour le '+champ;
  afficher.value = valen;
  PromptErr(item,mess)
}
function PromptErr(item,mess) {	
  if(errfound) return;
  var url = 'variables.php';
  new Ajax.Request(url,  {
	  method:'get',
	  parameters: {what: 'Localization', keys: 'please|thanks', concat: '<br />'+mess+'<br />_ | _' },
	  onSuccess: function(transport){
		  var response = transport.responseText || "pas de retour";
//		  var contenu = pleasetxt+'<br />'+mess+'<br />'+thankstxt;
		  fixeLayerDesc(item, response,'editfont');		  
	  },
	  onFailure: function(){ 
		  var error = 'Echec de la requete AJAX...';
		  Prompt(error);
	  }
  });
  //item.select();
  item.focus();
  errfound = true;
}
function Prompt(fromThis) {
	var bulleid = 'Prompter';
	PrepAddElmtBdy(bulleid);
	var btnclos = "<input type=\"button\" class=\"iconcancel window_close\" onclick=\"moveLayer('out','Prompter','');\" />";
	setDesc(bulleid,btnclos+fromThis);
	DisplayCenter(bulleid,'movelayer editfont displayok',false);
}
function testValue(docuformulaire,Max){
	if(docuformulaire.value > Max ){
		docuformulaire.value = Max;
		return confirm(msgmaxdispo+Max+msgxcuse);
	}
}
function add_bookmark(event,id,url) {
	Event.stop(event);
	var bmaction = 'addpage_txt';
	var title = document.title;
	// user agent sniffing is bad in general, but this is one of the times 
	// when it's really necessary
	var ua=navigator.userAgent.toLowerCase();
	var isKonq=(ua.indexOf('konqueror')!=-1);
	var isSafari=(ua.indexOf('webkit')!=-1);
	var isMac=(ua.indexOf('mac')!=-1);
	var buttonStr=isMac?' Command/Cmd':' CTRL';		
	if(window.external && (!document.createTextNode ||
	(typeof(window.external.AddFavorite)=='unknown'))) {
		// IE4/Win generates an error when you
		// execute "typeof(window.external.AddFavorite)"
		// In IE7 the page must be from a web server, not directly from a local 
		// file system, otherwise, you will get a permission denied error.
		window.external.AddFavorite(url, title); // IE/Win
		bmaction = 'addpage_ok';
		buttonStr = '';
	} else if(isKonq) {
		bmaction = 'addpage_ko';
	} else if(window.opera) {
		buttonStr+= '+B';
		id.rel = 'sidebar';
		void(0); // do nothing here (Opera 7+)
	} else if(window.home || isSafari) { 
		// Firefox, Netscape, Safari, iCab
		buttonStr+= '+D';
		bmaction = 'addpage_ko';
	} else if(!window.print || isMac) { 
		// IE5/Mac and Safari 1.0
		buttonStr+= '+D';
		bmaction = 'addpage_ko';
	} else {
		buttonStr = '';
	}
	var url = 'variables.php';		
	new Ajax.Request(url,  {
		method:'get',
		parameters: {what: 'Localization', keys: bmaction},
		onSuccess: function(transport){
			var response = transport.responseText || "pas de retour"; //.responseXML;
			Prompt(response+buttonStr);
		},
		onFailure: function(){ 
			var error = 'Echec de la requete AJAX...';
			Prompt(error);
		}
	});	
}
function InstallGallery(event) {
	DiapoContainer();
	var gallmts = document.getElementsByName('gallery');
	for( var i = 0; i < gallmts.length; i++) {
		var gallid = gallmts[i].id;		
		$(gallid).observe('click', function(event) {
			Event.stop(event);
			MagnifyPicts(this.id,this.href,this.title,this.rel);			
		});
		$(gallid).observe('mouseover', function(event) {
            var content = getDesc('bulle_'+this.id);
			moveLayerDesc(content, 'editfont');
		});
	}
	$('pictprev').observe('click', function() {
		StopPicts();
        PlayPicts('prev');			
	});
	$('pictnext').observe('click', function() {
		StopPicts();
		PlayPicts('next');	
	});
	$('pictplay').observe('click', function() {
		PlayPicts('play');	
	});
	$('pictstop').observe('click', function() {
		StopPicts();	
	});
	$('pictclos').observe('click', function() {
		StopPicts();
		ReducePicts();	
	});	
	document.observe('lightview:hidden', function(event) {
		StopPicts();
		ReducePicts();
	});
	document.observe('lightview:opened', function(event) {
		new Control.Tabs('onglcats',{
			linkSelector: 'li.tab a'
		});
	});	
}
function DiapoContainer() {
	var pictlayer = 'pictlayer';
	PrepAddElmtBdy(pictlayer);
	var navigation = "<div id=|pictitre| class=|editfont|></div>";
	navigation+= "<img id=|pictsrc| name=|pictsrc| />";
	navigation+= "<div id=|pictdesc| class=|displayko|></div>";
	navigation+= "<div id=|picontroller|><span id=|pictcurt|></span> / <span id=|pictotal|></span>";
	navigation+= "<img src=|jscripts/lightview/images/lightview/controller_prev.png| class=|iconbtn| name=|pcontrol| id=|pictprev| alt=|prev| />";
	navigation+= "<img src=|jscripts/lightview/images/lightview/controller_next.png| class=|iconbtn| name=|pcontrol| id=|pictnext| alt=|next| />";
	navigation+= "<img src=|jscripts/lightview/images/lightview/controller_slideshow_play.png| class=|iconbtn| name=|pcontrol| id=|pictplay| alt=|play| />";
	navigation+= "<img src=|jscripts/lightview/images/lightview/controller_slideshow_stop.png| class=|displayko| name=|pcontrol| id=|pictstop| alt=|stop| />";
	navigation+= "<img src=|jscripts/lightview/images/lightview/controller_close.png| class=|iconbtn| name=|pcontrol| id=|pictclos| alt=|close| /></div>";
	setDesc(pictlayer,navigation);
}
var timerPlay = null;
function StopPicts() {
	if(timerPlay) {
		clearTimeout(timerPlay);
		changeclass('pictplay','iconbtn');
		changeclass('pictstop','displayko');
	}
}
function PlayPicts(action) {
	var id = getDesc('pictcurt');
	var newid = id;	
	switch(action) {
		case 'prev' : newid = parseInt(id)-1; break;
		case 'next' : newid = parseInt(id)+1; break;
		case 'play' : newid = parseInt(id)+1; break;
	}
	var maxlmts = document.getElementsByName('gallery').length;
	if(newid > maxlmts) { newid = 1; }
	if(newid < 1) {	newid = maxlmts; }		
	var newsrc = document.getElementById('gall'+newid);	
  MagnifyPicts(newsrc.id,newsrc.href,newsrc.title,newsrc.rel);
	if(action == 'play') {
		changeclass('pictplay','displayko');
		changeclass('pictstop','iconbtn');		
		timerPlay = setTimeout(function()	{
			PlayPicts('play');
		},6000);
	}
}
function ReducePicts() {
	var imgsrc = document.getElementById('pictsrc');
	imgsrc.src = chemin+'squarewhite.png';
	new Effect.Fade('pictlayer', {
		duration: 1
	});
}
function MagnifyPicts(id,url,title,descr) {	
	moveLayer('out',currentlay,'');
	new Effect.Appear('pictlayer', {
		duration: 1
	});
  var params = getDesc('param_'+id);
  var eachParam = params.split('|');
	var srcW = eachParam[0];
	var srcH = eachParam[1];
	var categ = eachParam[2];		
	setDesc('pictitre',':: ::');	
	if(descr != '') {
		setDesc('pictdesc',descr);
		var DescObj = document.getElementById('pictdesc');
		DescObj.style.width = srcW+'px';
		var descH = DescObj.offsetHeight;
		changeclass('pictdesc','displayok hidden');
	} else {
		changeclass('pictdesc','displayko');
		descH = 0;
	}	
	changeclass('picontroller','hidden');
	// redefinir srcW et srcH au ratio de la hauteur ou largeur disponible	
	var pagesize = getPageSize();
	var maxW = pagesize[2]-40;
	var maxH = pagesize[3]-100-descH;
	var ratW = maxW/srcW;
	var ratH = maxH/srcH;
	var ratG = 1;
	if(ratW < ratH) { ratG = ratW; } else {	ratG = ratH; }
	srcW = Math.floor(srcW*ratG);
	srcH = Math.floor(srcH*ratG);	
	var imgsrc = document.getElementById('pictsrc');
	var initW = imgsrc.offsetWidth;
	var initH = imgsrc.offsetHeight;
	imgsrc.src = chemin+'squarewhite.png';
	imgsrc.alt = '';
	SizingPict(id,imgsrc,url,title,categ,descr,initW,initH,srcW,srcH,true);
}
function SizingPict(id,imgsrc,url,title,categ,descr,dynW,dynH,srcW,srcH,move) {	
	var	radical = 20;	
	var approxW = Math.abs(dynW - srcW);
	if(approxW > 30) {
		if(dynW < srcW) { imgW = Math.floor(dynW+(srcW/radical)); }
		if(dynW > srcW) { imgW = Math.floor(dynW-(srcW/radical)); }
	} else {
		dynW = srcW;
	}	
	var approxH = Math.abs(dynH - srcH);
	if(approxH > 30) {
		if(dynH < srcH) { imgH = Math.floor(dynH+(srcH/radical)); }
		if(dynH > srcH) { imgH = Math.floor(dynH-(srcH/radical)); }	
	} else {
		dynH = srcH;
	}
	if(dynW == srcW && dynH == srcH) {
		move = false;
	}
	var DescObj = document.getElementById('pictdesc');
	var pdescW = dynW-8;
	DescObj.style.width = pdescW+'px';
	imgsrc.style.width = dynW+'px';
	imgsrc.style.height = dynH+'px';		
	DisplayCenter('pictlayer','movelayer displayok',false);
	var timerIDserveur = null;
	timerIDserveur = setTimeout(function()	{
		if(move) {
			SizingPict(id,imgsrc,url,title,categ,descr,imgW,imgH,srcW,srcH,move);
		} else {
			imgsrc.src = url;
			imgsrc.alt = title;	
			var titcat = getDesc('lnk'+categ);
			setDesc('pictitre',':: '+titcat+' : '+title+' ::');
			var pictcurt = id.replace('gall','');
			setDesc('pictcurt',pictcurt);	
			var totlmts = document.getElementsByName('gallery').length;
			setDesc('pictotal',totlmts+' ');	
			changeclass('picontroller','visible');
			if(descr != '') {
				changeclass('pictdesc','displayok visible');
			}
		}
	},1);
}
