




/////////////////////////////////////////////////
function getStyleClass (className) {
	for (var s = 0; s < document.styleSheets.length; s++)
	{
		if(document.styleSheets[s].rules)
		{
			for (var r = 0; r < document.styleSheets[s].rules.length; r++)
			{
				if (document.styleSheets[s].rules[r].selectorText == '.' + className)
				{
					return document.styleSheets[s].rules[r];
				}
			}
		}
		else if(document.styleSheets[s].cssRules)
		{
			for (var r = 0; r < document.styleSheets[s].cssRules.length; r++)
			{
				if (document.styleSheets[s].cssRules[r].selectorText == '.' + className)
					return document.styleSheets[s].cssRules[r];
			}
		}
	}
	
	return null;
}
function toggleClass(className) {
if (getStyleClass(className).style.display == 'block')
{getStyleClass(className).style.display = 'none';}
else {getStyleClass(className).style.display = 'block';}
return false;
}

function changeView(className1, className2) {
if (getStyleClass(className1).style.display == 'block')
{getStyleClass(className1).style.display = 'none';
getStyleClass(className2).style.display = 'block';
}
else {
getStyleClass(className1).style.display = 'block';
getStyleClass(className2).style.display = 'none';}
return false;
}
////////////////






////////////////////
function hideDivs(exempt)
  {
    if (!document.getElementsByTagName) {return null;}
    if (!exempt) {exempt = "";}

    var divs = document.getElementById("toggleable").getElementsByTagName("div");
for(var f=0; f < divs.length; f++)
    {
               var alldivs = divs[f];
            //alert (alldivs.id); // debug

// Méthode par éviction de classes spécifique 
    //if((alldivs.className != "thumb") &&
    //   (alldivs.className != "list"))

// Méthode par vérification de la présence d'une chaine spécifique dans chaque ID de calque
if (alldivs.id.substring(0,7) == "infobox")

   {
    //alert (alldivs.id);
      var div = alldivs;
      var id = div.id;
      if ((id != "header") &&
          (id != "footer") &&
          (id != exempt))
      {
        div.style.display = "none";
        div.style.height = "350px";
        div.style.overflow = "hidden";
        //div.className = "toggle"
      }
	}
if (alldivs.id == "panel2") {var divx = alldivs;  divx.style.display = "none";}
if (alldivs.id == "panel3") {var divx = alldivs;  divx.style.display = "none";}
if (alldivs.id == "panel4") {var divx = alldivs;  divx.style.display = "none";}

      //}
    }
return null;
  }

/////////////////////////////////////////////////
// Gestionnaire d'événement d'animation de calque
/////////////////////////////////////////////////

var timerlen = 5;
var AnimSlideTemps = 200;

//var timerlen = 10;
//var AnimSlideTemps = 150;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var endWidth = new Array();
var moving = new Array();
var dir = new Array();

function slideDown(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
		
                return; // ne peux pas rendre visible un ?l?ment d?j? visible

        moving[objname] = true;
        dir[objname] = "down";
        startSlideVertical(objname);
	//document.getElementById(objname + '_link').innerHTML = "<img src='image/moins.gif'>";
         //document.getElementById(objname + '_link').innerHTML = "<img src='image/interface/down_"+objname+".png' width='36px' height='36px' alt='interface' />";
        

}

function slideUp(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")

                return; // ne peux pas rendre invisible un ?l?ment d?j? invisible

        moving[objname] = true;
        dir[objname] = "up";
        startSlideVertical(objname);
	//document.getElementById(objname + '_link').innerHTML = "<img src='image/plus.gif'>";
//document.getElementById(objname + '_link').innerHTML = "<img src='image/interface/up_"+objname+".png' width='36px' height='36px' alt='interface' />";
}

function startSlideVertical(objname){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = parseInt(obj[objname].style.height);
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slideTickVertical(\'' + objname + '\');',timerlen);
}

function slideTickVertical(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > AnimSlideTemps)
                endSlideVertical(objname)
        else {
                var d =Math.round(elapsed / AnimSlideTemps * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlideVertical(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}
function toggleSlideVertical(objname){
  if(document.getElementById(objname).style.display == "none"){
    // le calque est masquer alors le rendre visible
    slideDown(objname);
  }else{
    // le calque est visible alors le masquer
    slideUp(objname);
  }
}


function toggleInfoBox (objname) {
var f = 0;
for ( f = 0; f <= 100; f ++ ) {
if ( document.getElementById("infobox" +f) ) {
//if ( f == objname ) {
slideUp("infobox" + f);
slideDown(objname);}
	}
}

//////////////////////
function setToRed (objname)
{
  document.getElementById(objname).style.color = "#FF0000";
  setTimeout ( "setToBlack(objname)", 2000 );
}

function setToBlack (objname)
{
  document.getElementById(objname).style.color = "#000000";
}


////////////////

var scrollInt;
	var scrTime, scrSt, scrDist, scrDur, scrInt;
	
	
	
	
	function replaceAnchorLinks()
	{
		var anchors, i, targ, targarr;
	
		if (!document.getElementById)
			return;
		
		//get all anchors
		anchors = document.getElementsByTagName("a");
		
		for (i=0;i<anchors.length;i++)
		{
		
			 //check if href links to an anchor on this page
			if ( anchors[i].href.indexOf("#") != -1 && anchors[i].href.indexOf( document.URL ) != -1 )
			{
				 //get name of target anchor
				targ = anchors[i].href.substring( anchors[i].href.indexOf("#")+1 );
				
				 //find target anchor
				targarr = document.getElementsByName( targ );
				
				if (targarr.length)
				{

					//anchors[i].className = (targarr[0].offsetTop < anchors[i].offsetTop) ? "up" : "down";
					//anchors[i].id = "__" + targ;	// save target as id with prefix (used in onclick function below)
//anchors[i].onmousedown = function () { setTimeout('scrollToAnchor(' + this.id + ')',1000); return false; };
//anchors[i].innerHTML = 'onclick=" setTimeout(\'scrollToAnchor('+this.id.substring( 2 )+')\',1000); return false; };" ';
					//anchors[i].onmousedown = function () { scrollToAnchor( this.id.substring( 2 ) ); return false; };
//anchors[i].onmousedown = function () { setTimeout(scrollToAnchor(this.id.substring( 2 ) ),1000); return false; };
					//anchors[i].href = "#";			// rewrite href
					//anchors[i].href = '#';			// rewrite href
		
				}
			}
			
		}
	}
	
	
	/*
	SCROLL FUNCTIONS
	*/
	
	
	
	
	function scrollPage()
	{
		scrTime += scrInt;
		if (scrTime < scrDur) {
			window.scrollTo( 0, easeInOut(scrTime,scrSt,scrDist,scrDur) );
		}else{
			window.scrollTo( 0, scrSt+scrDist );
			clearInterval(scrollInt);
		}
	}
	
	function scrollToAnchor(aname)
	{
		var anchors, i, ele;
	
		if (!document.getElementById)
			return;
		
		// get anchor
		anchors = document.getElementsByTagName("a");
		for (i=0;i<anchors.length;i++) {
			if (anchors[i].name == aname) {
				ele = anchors[i];
				i = anchors.length;
			}
		}
		
		// set scroll target
		if (window.scrollY)
			scrSt = window.scrollY;
		else if (document.documentElement.scrollTop)
			scrSt = document.documentElement.scrollTop;
		else
			scrSt = document.body.scrollTop;

		
		
		scrDist = ele.offsetTop - (scrSt + 180);
		scrDur = 500;
		scrTime = 0;
		scrInt = 50;
		
		// set interval
		clearInterval(scrollInt);
		scrollInt = setInterval( scrollPage, scrInt );
		

	}
	
	
	
	
	/*
	EASING FUNCTIONS
	*/
	
	function easeInOut(t,b,c,d)
	{
		return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;
	}
/////////////////////
//
//var gSet = new Object();
//gSet = 
//    {
//    // GALLERY SETTINGS 
//    id      :"jsGalleryList",   // put the gallery list's ID here
//    next    :"Next image",      // text for "next" link
//    back    :"Previous image",  // text for "previous" link
//    linkTitleText:"Show image:",// text for title tag of links (is followed by image title)
//    titles  :true,              // whether or not to use titles (true or false)
//    titleTag:"h2",              // the HTML tag to be used for the displayed title
//    // END SETTINGS
//    imgArray: new Array()
//    }
//
//function gSetup(){
//
// 	if(!document.createElement || !document.getElementsByTagName) return false; 
//	var gList = document.getElementById(gSet.id); 
//	if(!gList ) return false; 
//	var gListItems = gList.getElementsByTagName('img'); //get the images into an array
//	var nextSibling = gList.nextSibling;
//	
//	for(var i=0; i<gListItems.length; i++)
//				gSet.imgArray.push(gListItems[i]);
//		
//	gList.parentNode.removeChild(gList); //remove the list of images;
//	var startImg  = testHash();
//	buildg(null,nextSibling,startImg);
//}
//	
//function testHash(){ //test if a specific image is being linked to
//	for(var i=0; i<gSet.imgArray.length; i++)
//		if("#" + gSet.imgArray[i].title == window.location.hash)
//			return i;
//}
//	
//	
//function buildg(go,nextSibling,startImg){
//
//	//Decide id we're going forwards or backwards, or restarting.
//	if(go == "next") imgNum = imgNum+1; 	
//	if(go == "back") imgNum = imgNum-1;	
//	if(!go || imgNum == gSet.imgArray.length) imgNum = 0; //if we're starting for the first time or gone off the top.	
//	if(startImg) imgNum = startImg;
//	if(imgNum<0) imgNum = gSet.imgArray.length-1 // if we go backwards off the bottom.
//	
//	function plus(num)
//	{
//		if(num == gSet.imgArray.length-1) return 0;
//		else num = num+1;
//		return num;
//	}
//	
//	function minus(num)
//	{
//		if(num == 0) return gSet.imgArray.length-1;
//		else return num-1;
//	}
//
//	var gDisplay = document.getElementById("gDisplay"); 	
//	if(gDisplay) //find next sibling and destroy current g
//	{
//		var nextSibling = gDisplay.nextSibling;
//		gDisplay.parentNode.removeChild(gDisplay);  
//	}
//
//	var gDisplay = document.createElement("div"); //create a containing div for the g display
//	gDisplay.id = "gDisplay";
//
//	//create the control links
//	var backLink = document.createElement("a"); 
//	backLink.id = "backLink";
//	backLink.innerHTML = gSet.back;
//	backLink.href = "#" + gSet.imgArray[minus(imgNum)].title;
//	backLink.onclick = function(){buildg("back",null); return false;};
//			
//	var nextLink = document.createElement("a"); 
//	nextLink.id = "nextLink";
//	nextLink.href = "#" + gSet.imgArray[plus(imgNum)].title;
//	nextLink.innerHTML = gSet.next;
//	nextLink.onclick = function(){buildg("next",null); return false;};
//
//	if(gSet.titles) //create and insert title stuff.
//	{
//		backLink.title = gSet.linkTitleText + " " + gSet.imgArray[minus(imgNum)].title;
//		nextLink.title = gSet.linkTitleText + " " + gSet.imgArray[plus(imgNum)].title;
//		
//		var imgTitle = document.createElement(gSet.titleTag);
//		imgTitle.innerHTML = gSet.imgArray[imgNum].title; 
//		gDisplay.appendChild(imgTitle);  //first element put into display div appears first.
//	}
//	
//	gDisplay.appendChild(gSet.imgArray[imgNum]); //add in an image then the control links
//	gDisplay.appendChild(backLink);
//	gDisplay.appendChild(nextLink);
//	nextSibling.parentNode.insertBefore(gDisplay,nextSibling); //put the gallery display back in the DOM
//	
//	if(go == "next") nextLink.focus(); /*set focus for easy keyboard usability*/
//	if(go == "back") backLink.focus();
//	
//	window.location.hash =	"#" + gSet.imgArray[imgNum].title; //set the anchor.
//	
//}// End buildGallery


//window.onload = function(){gSetup();}  //this needs replacing with something more usable.

//////////////////////////////////
function showPic (whichpic) {
 if (document.getElementById) {
  document.getElementById('placeholder').src = whichpic.href;
 /* if (whichpic.title) {
   document.getElementById('desc').childNodes[0].nodeValue = whichpic.title;
  } else {
   document.getElementById('desc').childNodes[0].nodeValue = whichpic.childNodes[0].nodeValue;
  }*/
  return false;
 } else {
  return true;
 }
}

//<li><a onclick="return showPic(this)" href="images/bananas.jpg" title="A bunch of bananas on a table">some bananas</a></li>
////////////////////////////////////

function ahah(url, target, funcname) {
	function ahahDone() {
	  if(req.readyState == 4){ 
	    if(req.status == 200){ 
		  if(!(target == undefined)){

		    document.getElementById(target).innerHTML = req.responseText;
showPanel(2);
setTimeout('scrollToAnchor(\'top\')',200);
externalLink();

                     //document.getElementById("lomenu").innerHTML = "";
		  }
	   	  if(!(funcname == undefined)){
		    eval(funcname+"(req.responseText);");
		  }
	    }else{
		  if(!(target == undefined)){
		    document.getElementById(target).innerHTML = "ahah error:\n"+req.statusText;
		  }
	      if(!(funcname == undefined)){
		    eval(funcname+"(req.responseText);");
		  }
	    }
	  }
	}

	if(!(target == undefined)){
          //document.getElementById(target).innerHTML = "Chargement en cours...<br /><img src='image/loader.gif'>";
	     //document.getElementById("lomenu").innerHTML = "<img src='image/loader_vertical.gif' />";
	//}else if(!(target == undefined)){
	//    document.getElementById("lomenu").innerHTML = "Chargement en cours...<br /><img src='image/loader.gif'>";
	}
	if(window.XMLHttpRequest){
		var req = new XMLHttpRequest();
	}else if(window.ActiveXObject) {
		var req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(req){
		req.onreadystatechange = function() {
			ahahDone();
                        
		};
var Nom = navigator.appName; 
var ie = (Nom == 'Microsoft Internet Explorer') ? 1:0
if (ie) { 
               req.open("GET", url, true);
		req.send("");

}else{
		req.open("GET", url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                req.overrideMimeType('text/html; charset=utf-8');
		req.send("");
                

               }
	}  
}

function ahah_post(url,data, target, funcname) {
	function ahahDone() {
	  if(req.readyState == 4){ 
	    if(req.status == 200){ 
		  if(!(target == undefined)){
		    document.getElementById(target).innerHTML = req.responseText;
			//gSetup();
		  }
	   	  if(!(funcname == undefined)){
		    eval(funcname+"(req.responseText);");
		  }
	    }else{
		  if(!(target == undefined)){
		    document.getElementById(target).innerHTML = "ahah error:\n"+req.statusText;
		  }
	      if(!(funcname == undefined)){
		    eval(funcname+"(req.responseText);");

		  }
	    }
	  }
	}

	if(target == undefined){
	    document.getElementById(target).innerHTML = "Chargement en cours...<br /><img src='image/loader.gif'>";

	//}else if(!(target == undefined)){
	//    document.getElementById("loader").innerHTML = "Chargement en cours...<br /><img src='image/loader.gif'>";
	}
	if(window.XMLHttpRequest){
		var req = new XMLHttpRequest();
	}else if(window.ActiveXObject) {
		var req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(req){
		req.onreadystatechange = function() {
			ahahDone();
		};
var Nom = navigator.appName; 
var ie = (Nom == 'Microsoft Internet Explorer') ? 1:0
if (ie) { 
               req.open("POST", url, true);
		req.send(data);
}else{
		req.open("POST", url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                req.overrideMimeType('text/html; charset=utf-8');
		req.send(data);
}
	}  
}

/////////////////// Mail

var http = createRequestObject();
///////////////////////////
function createRequestObject() {
	var xmlhttp;
	try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }
  catch(e) {
    try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
    catch(f) { xmlhttp=null; }
  }
  if(!xmlhttp&&typeof XMLHttpRequest!="undefined") {
  	xmlhttp=new XMLHttpRequest();
  }
	return  xmlhttp;
}

function sendRequest() {
	var name = escape(document.getElementById("name").value);
	var email = escape(document.getElementById("email").value);
	var subject = escape(document.getElementById("subject").value);
	var body = escape(document.getElementById("body").value);

	try{
    http.open('POST','core/lib/contact.php');
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleResponse;
		http.send('name='+name+'&email='+email+'&subject='+subject+'&body='+body);
	}
	catch(e){}
	finally{}
}

function check_values() {
	var name = document.getElementById("name").value;
	var email = document.getElementById("email").value;
	var subject = document.getElementById("subject").value;
	var body = document.getElementById("body").value;
	if(name == "" || email == "" || subject == "" || body == "") {
			//alert("Please complete all fields");
			document.getElementById("error").innerHTML="Please complete all fields";
	} else {
		if(isEmail(email)) {
			//document.getElementById("submit").disabled=true;
			document.getElementById("submit").value='Please Wait..';
			document.getElementById("error").innerHTML="Envoi en cours...";
			sendRequest();
		} else {
			document.getElementById("error").innerHTML="Email appears to be invalid. Please check.";
			//alert("Email appears to be invalid. Please check.");
			document.getElementById("email").focus();
			document.getElementById("email").select();
		}
	}
}

function handleResponse() {
	try{
    if((http.readyState == 4)&&(http.status == 200)){
    	var response = http.responseText;
      document.getElementById("confirmation").innerHTML = response;
      document.getElementById("confirmation").style.display ="";
      document.getElementById("form").style.display = "none";
		}
  }
	catch(e){}
	finally{}
}

function isUndefined(a) {
   return typeof a == 'undefined';
}

//function trim(a) {
//    return a.replace(/^s*(S*(s+S+)*)s*$/, "$1");
//} 

function isEmail(a) {
return (a.indexOf(".") > 0) && (a.indexOf("@") > 0);
}



