
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ G A L L E R Y.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
	var clipTop    = 0;
	var clipBottom = 40;
	var clipLeft   = 0;
	var clipRight  = 224;
	var divX       = 650;
	var shiftTime  = 10;
	var shiftLoop;

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ INIT.
	function galleryInit() {
		pixShow(pixInit);
		var divObj = document.getElementById('galleryHeadFront');
		if (pixTotal > 1) {
			divObj.style.clip = 'rect('+clipTop+'px '+clipRight+'px '+clipBottom+'px '+clipLeft+'px)';
			for (var i=0; i<divObj.childNodes.length; i++) {
				if (divObj.childNodes[i].nodeName.toLowerCase() == 'img') {
					divObj.childNodes[i].className   = 'out';
					divObj.childNodes[i].onmouseover = thumbTweak;
					divObj.childNodes[i].onmouseout  = thumbTweak;
					divObj.childNodes[i].onclick     = pixShow;
				}
			}
			divObj.style.visibility = 'visible';
			document.getElementById('galleryHeadBack').style.visibility = 'visible';
			document.getElementById('galleryHeadArrow').style.visibility = 'visible';
		}
	}
	
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SCROLL.
	function scrollStop() {
		if (shiftLoop)
			clearTimeout(shiftLoop);
	}
	function scrollStart(shiftGap) {
		var divObj = document.getElementById('galleryHeadFront');
		clipLeft  += shiftGap;
		clipRight += shiftGap;
		divX      -= shiftGap;
		if (clipLeft < 0 || clipRight > divWidth)	{
			clipLeft  -= shiftGap;
			clipRight -= shiftGap;
			divX      += shiftGap;		
		} else {
			divObj.style.clip = 'rect('+clipTop+'px '+clipRight+'px '+clipBottom+'px '+clipLeft+'px)';
			divObj.style.left = divX+'px';
			shiftLoop = setTimeout('scrollStart('+shiftGap+')', shiftTime);
		}
	}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ THUMBS.
	function thumbTweak(e) {
		var divObj = eventTarget(e);
		divObj.className = (divObj.className == 'out') ? 'over' : 'out';
	}
	
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PIX.
	function pixShow(e) {
		var divObj = (typeof(e) == 'number') ? document.getElementById(e) : eventTarget(e);
		var divPixBack  = document.getElementById('galleryBodyBack');
		var divPixFront = document.getElementById('galleryBodyFront');
		divPixBack.style.width  = divPixFront.style.width  = (pixSizes[divObj.id][0] + 10)+'px';
		divPixBack.style.height = divPixFront.style.height = (pixSizes[divObj.id][1] + 40)+'px';
		divPixBack.style.left   = divPixFront.style.left   = (625 + (265/2) - (pixSizes[divObj.id][0]/2) )+'px';
		divPixFront.innerHTML = "<img src='images/pix_large/" + divObj.id + ".jpg' /><h5>" + divObj.title + "</h5>";
		divPixFront.style.visibility = divPixBack.style.visibility = 'visible';
	}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ G U E S T B O O K.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
	function browseGuest(browseStart) {
		var f = document.forms['guestBrowser'];
		f['browseStart'].value = browseStart;
		f.submit();
	}

	function mailingSubmit() {
		var f = document.forms['mailingForm'];
		if (f['mailinglist'].value == null || f['mailinglist'].value == '')
			var msg = "Veuillez renseigner votre E-mail";
		if (!emailCheck(f['mailinglist'].value))
			var msg = "L'adresse E-mail n'est pas valide";
		if (msg != null)
			alert(msg);
		else
			f.submit();
	}



/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ V A R I O U S   F U N C T I O N S.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
	function eventTarget(e) {
		if (!e)
			var e = window.event;
		if (e.target)
			var tg = e.target;
		else if (e.srcElement)
			var tg = e.srcElement;
		while (tg.nodeType != 1)
			tg = tg.parentNode;
		//alert(tg.id);
		return tg;
	}
	
	function eventType(e) {
		if (!e)
			var e = window.event;
		return e.type;
	}

	function emailCheck(str) {
		// are regular expressions supported ?	
		var supported = 0;
		if (window.RegExp) {
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}	
		// not supported.
		if (!supported) 
			return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);		
		// supported.
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
		return (!r1.test(str) && r2.test(str));
	}
