function BrowserVersion () {
    var version = "O"; // we assume a sane browser
    if (navigator.appVersion.indexOf("MSIE") != -1)
      // bah, IE again, lets downgrade version number
      version = "IE" + parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
}

function showNavPhoto() {
	var prev=document.getElementById("navPrev");
	var next=document.getElementById("navNext");
	var up=document.getElementById("navUp");
	
	prev.className="navShow";
	next.className="navShow";
	up.className="navShow";	
}

function hideNavPhoto() {
	var prev=document.getElementById("navPrev");
	var next=document.getElementById("navNext");
	var up=document.getElementById("navUp");
	
	prev.className="navHide";
	next.className="navHide";
	up.className="navHide";	
}


function imageon(name) {
	var panier=document.getElementById(name);
	var source = panier.src;
	source=source.replace("_off.jpg","_on.jpg");
	panier.src = source;
}

function imageoff(name) {
	var panier=document.getElementById(name);
	var source = panier.src;
	source=source.replace("_on.jpg","_off.jpg");
	panier.src = source;
}

var preloadGalerie = new Array();
var image = null;

function preloadImages() {

	// First, Preload common CSS background for menus
	var loc = window.location.href;
	var starturl = "";
	
	// Are we in a fr or en page ?
	if (loc.indexOf("/fr/") > 0)
	{
		starturl = loc.substring(0,loc.indexOf("/fr/"));
	}
	else if (loc.indexOf("/en/") > 0)
	{
		starturl = loc.substring(0,loc.indexOf("/fr/"));
	}

	// Preload Input buttons
	var images = document.getElementsByTagName('input');
		
	for (var i=0;i<images.length; i++)
	{
		var source = images[i].src;
		if (source.indexOf("_off.jpg") > 0)
		{
			// Preload the image
			source=source.replace("_off.jpg","_on.jpg");
			var img = new Image();
			img.src = source;
		}
	}		


	// Preload Images for buttons
	images = document.getElementsByTagName('img');
		
	for (var i=0;i<images.length; i++)
	{
		var source = images[i].src;

		// Preload Button
		if (source.indexOf("_off.jpg") > 0)
		{
			// Preload the image
			source=source.replace("_off.jpg","_on.jpg");			
			var img = new Image(images[i].width, images[i].height);
			img.src = source;
		}
	}
	

	// Check if we are in a galerie page
	if (loc.indexOf("/galerie/") > 0)
	{
		// Preload Images for "galerie"
		images = document.getElementsByTagName('img');
		
		for (var i=0;i<images.length; i++)
		{
			var source = images[i].src;
	
			// Preload Images for "Galerie"
			if (source.indexOf("/galerie/") > 0)
			{
				// Preload the image
				source=source.replace("/galerie/","/photos/");
				preloadGalerie.push(source);

//				var img = new Image();
//				img.src = source;
			}
		}	
		
		// Start the preload
		startPreload(0);
	}
	
	// Check if we are in a galerie page
	if (loc.indexOf("/gallery/") > 0)
	{
		// Preload Images for "galerie"
		images = document.getElementsByTagName('img');
		
		for (var i=0;i<images.length; i++)
		{
			var source = images[i].src;
	
			// Preload Images for "Galerie"
			if (source.indexOf("/galerie/") > 0)
			{
				// Preload the image
				source=source.replace("/galerie/","/photos/");
				preloadGalerie.push(source);

//				var img = new Image();
//				img.src = source;
			}
		}	
		
		// Start the preload
		startPreload(0);
	}	
}

function startPreload(index)
{
	// Exit the function	
	if (index >= preloadGalerie.length)
	{
		return;
	}
	
	// Load the image
	if (image==null)
	{
		image = new Image();
		image.src=preloadGalerie[index];
	}
	
	var ind = index;
	var pause = 100;
	if (image.complete == true)	
	{
		pause=0;
		image = null;
		ind += 1;
	}

	setTimeout("startPreload("+ind+")",0);	
}

function coucou(index)
{
	alert("hello "+index);
}

var cssdropdown={
disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout
dropdownindicator: '',
enableswipe: 0, //enable swipe effect? 1 for yes, 0 for no
enableiframeshim: 1, //enable "iframe shim" in IE5.5/IE6? (1=yes, 0=no)

dropmenuobj: null, asscmenuitem: null, domsupport: document.all || document.getElementById, standardbody: null, iframeshimadded: false, swipetimer: undefined, bottomclip:0,

getposOffset:function(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
//	var totaloffset=(offsettype=="left")? 0 : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
},

swipeeffect:function(){
	if (this.bottomclip<parseInt(this.dropmenuobj.offsetHeight)){
		this.bottomclip+=10+(this.bottomclip/10) //unclip drop down menu visibility gradually
		this.dropmenuobj.style.clip="rect(0 auto "+this.bottomclip+"px 0)"
	}
	else
		return
	this.swipetimer=setTimeout("cssdropdown.swipeeffect()", 10)
},

css:function(el, targetclass, action){
	var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig")
	if (action=="check")
		return needle.test(el.className)
	else if (action=="remove")
		el.className=el.className.replace(needle, "")
	else if (action=="add" && !needle.test(el.className))
		el.className+=" "+targetclass
},

showhide:function(obj, e){
	this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
	if (this.enableswipe==1){
		if (typeof this.swipetimer!="undefined")
			clearTimeout(this.swipetimer)
		obj.clip="rect(0 auto 0 0)" //hide menu via clipping
		this.bottomclip=0
		this.swipeeffect()
	}
	obj.visibility="visible"
	this.css(this.asscmenuitem, "selected", "add")
},

clearbrowseredge:function(obj, whichedge){
	var edgeoffset=0
	if (whichedge=="rightedge"){
		var windowedge=document.all && !window.opera? this.standardbody.scrollLeft+this.standardbody.clientWidth-15 : window.pageXOffset+window.innerWidth-15
		this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
//		if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)  //move menu to the left?
//			edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
	}
	else{
		var topedge=document.all && !window.opera? this.standardbody.scrollTop : window.pageYOffset
		var windowedge=document.all && !window.opera? this.standardbody.scrollTop+this.standardbody.clientHeight-15 : window.pageYOffset+window.innerHeight-18
		this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
		if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up?
/*			edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
			if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either?
				edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge*/
		}
	}
	return edgeoffset
},

dropit:function(obj, e, dropmenuID){
	if (this.dropmenuobj!=null) //hide previous menu
		this.hidemenu() //hide menu
	this.clearhidemenu()
	this.dropmenuobj=document.getElementById(dropmenuID) //reference drop down menu
	this.asscmenuitem=obj //reference associated menu item
	this.showhide(this.dropmenuobj.style, e)
	
	// We want to use the parent coordinate
	obj=obj.offsetParent;
	
	this.dropmenuobj.x=this.getposOffset(obj, "left")
	this.dropmenuobj.y=this.getposOffset(obj, "top")
	
	// JG We must add a little negative delta for the last menu
	var delta=0
	if (dropmenuID=="dropmenuapropos") {
		delta=143 }
	
	this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")-delta+"px"
	
//	this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"

	// We want to go up by few pixels to overlap the menu
	this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight-8+"px"
	this.positionshim() //call iframe shim function
},

positionshim:function(){ //display iframe shim function
	if (this.enableiframeshim && typeof this.shimobject!="undefined"){
		if (this.dropmenuobj.style.visibility=="visible"){
			this.shimobject.style.width=this.dropmenuobj.offsetWidth+"px"
			this.shimobject.style.height=this.dropmenuobj.offsetHeight+"px"
			this.shimobject.style.left=this.dropmenuobj.style.left
			this.shimobject.style.top=this.dropmenuobj.style.top
		}
	this.shimobject.style.display=(this.dropmenuobj.style.visibility=="visible")? "block" : "none"
	}
},

hideshim:function(){
	if (this.enableiframeshim && typeof this.shimobject!="undefined")
		this.shimobject.style.display='none'
},

isContained:function(m, e){
	var e=window.event || e
	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
	if (c==m)
		return true
	else
		return false
},

dynamichide:function(m, e){
	if (!this.isContained(m, e)){
		this.delayhidemenu()
	}
},

delayhidemenu:function(){
	this.delayhide=setTimeout("cssdropdown.hidemenu()", this.disappeardelay) //hide menu
},

hidemenu:function(){
	this.css(this.asscmenuitem, "selected", "remove")
	this.dropmenuobj.style.visibility='hidden'
	this.dropmenuobj.style.left=this.dropmenuobj.style.top=0
	this.hideshim()
},

clearhidemenu:function(){
	if (this.delayhide!="undefined")
		clearTimeout(this.delayhide)
},

addEvent:function(target, functionref, tasktype){
	if (target.addEventListener)
		target.addEventListener(tasktype, functionref, false);
	else if (target.attachEvent)
		target.attachEvent('on'+tasktype, function(){return functionref.call(target, window.event)});
},

startchrome:function(){
	if (!this.domsupport)
		return
	this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
	for (var ids=0; ids<arguments.length; ids++){
		var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
		for (var i=0; i<menuitems.length; i++){
			if (menuitems[i].getAttribute("rel")){
				var relvalue=menuitems[i].getAttribute("rel")
				var asscdropdownmenu=document.getElementById(relvalue)
				this.addEvent(asscdropdownmenu, function(){cssdropdown.clearhidemenu()}, "mouseover")
				this.addEvent(asscdropdownmenu, function(e){cssdropdown.dynamichide(this, e)}, "mouseout")
				this.addEvent(asscdropdownmenu, function(){cssdropdown.delayhidemenu()}, "click")
				try{
					menuitems[i].innerHTML=menuitems[i].innerHTML+" "+this.dropdownindicator
				}catch(e){}
				this.addEvent(menuitems[i], function(e){ //show drop down menu when main menu items are mouse over-ed
					if (!cssdropdown.isContained(this, e)){
						var evtobj=window.event || e
						cssdropdown.dropit(this, evtobj, this.getAttribute("rel"))
					}
				}, "mouseover")
				this.addEvent(menuitems[i], function(e){cssdropdown.dynamichide(this, e)}, "mouseout") //hide drop down menu when main menu items are mouse out
				this.addEvent(menuitems[i], function(){cssdropdown.delayhidemenu()}, "click") //hide drop down menu when main menu items are clicked on
			}
		} //end inner for
	} //end outer for
	if (window.createPopup && !window.XmlHttpRequest &&!this.iframeshimadded){ //if IE5.5 to IE6, create iframe for iframe shim technique
		document.write('<IFRAME id="iframeshim"  src="" style="display: none; left: 0; top: 0; z-index: 90; position: absolute; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" frameBorder="0" scrolling="no"></IFRAME>')
		this.shimobject=document.getElementById("iframeshim") //reference iframe object
		this.iframeshimadded=true
	}
} //end startchrome

}
      function getPosition() {
		  e = window.event;
		  var cursor = {x:0, y:0};
		  if (e.pageX || e.pageY) {
		  cursor.x = e.pageX;
		  cursor.y = e.pageY;
		  }
		  else {
		  cursor.x = e.clientX +
		  (document.documentElement.scrollLeft ||
		  document.body.scrollLeft) -
		  document.documentElement.clientLeft;
		  cursor.y = e.clientY +
		  (document.documentElement.scrollTop ||
		  document.body.scrollTop) -
		  document.documentElement.clientTop;
		  }
		  return cursor;
      }
	function findPos(obj) {
		var curleft = curtop = width = height = 0;
		var result = {x: 0, y: 0, xmax: 0, ymax:0};
		result.xmax = obj.offsetWidth;
		result.ymax = obj.offsetHeight;		
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		result.x = curleft;
		result.y = curtop;
		result.xmax += result.x;
		result.ymax += result.y;
		
		return result;
	}
	  
	  
	  
	  function checkPos()
	  {
		  if (window.Event) {
		    document.captureEvents(Event.MOUSEMOVE);
		  }
		  document.onmousemove = checkPos2; 		  
	  }

function getXY(e) {
  x = (window.Event) ? e.pageX : event.clientX;
  y = (window.Event) ? e.pageY : event.clientY;

		  var cursor = {x:0, y:0};

	cursor.x = x;
	cursor.y = y;

	return cursor;
}

	  
	  function checkPos2(e)
	  {	  		  
/*		  var curs = getPosition();  */
		  var wrapper=document.getElementById("photowrapper");
		  var res = findPos(wrapper); 
		  var curs = getXY(e); 
		  		  
		  if ((curs.x > res.x) &&
			  (curs.y > res.y) &&
			  (curs.x < res.xmax) &&
			  (curs.y < res.ymax))
		  {
			  showNavPhoto();
		  }
		  else
		  {
			  hideNavPhoto();
		  }
		  document.onmousemove = false;
	  }
