// ===========================================================
// script: Gerard Ferrandez - Ge-1-doot - October 2005
// http://www.dhteumeuleu.com
// ===========================================================
//
window.onerror = new Function("return true");
var obj = [];
var scr;
var spa;
var img;
var W;
var Wi;
var Hi;
var wi;
var hi;
var Sx;
var Sy;
var M;
var xm;
var ym;
var xb = 0;
var yb = 0;
var ob =  - 1;
var cl = false;

/* needed in standard mode */
px = function(x)
{
	return Math.round(x) + "px";
}

/* center image  - do not resize for perf. reason */
img_center = function(o)
{
	with(img[o])
	{
		style.left = px( - (width - Wi) / 2);
		style.top = px( - (height - Hi) / 2);
	}
}

//////////////////////////////////////////////////////////
var Nx = 4; //size grid x
var Ny = 4; //size grid y
var Tx = 4; // image width
var Ty = 4; // image height
var Mg = 40; // margin
var SP = 1; // speed
//////////////////////////////////////////////////////////

function Cobj(o, x, y)
{
	this.o = o;
	this.ix = Math.min(Nx - Tx, Math.max(0, Math.round(x - (Tx / 2))));
	this.iy = Math.min(Ny - Ty, Math.max(0, Math.round(y - (Ty / 2))));
	this.li = ((this.ix * M + this.ix * Sx) - (x * M + x * Sx)) / SP;
	this.ti = ((this.iy * M + this.iy * Sy) - (y * M + y * Sy)) / SP;
	this.l = 0;
	this.t = 0;
	this.w = 0;
	this.h = 0;
	this.s = 0;
	this.mv = false;
	this.spa = spa[o].style;
	this.img = img[o];
	this.txt = img[o].alt;
	img[o].alt = "";

	/* zooming loop */
	this.zoom = function()
	{
		with(this)
		{
			l += li * s;
			t += ti * s;
			w += wi * s;
			h += hi * s;
			if ((s > 0 && w < Wi) || (s < 0 && w > Sx))
			{
				/* force window.event */
				window.focus();
				/* loop */
				setTimeout("obj[" + o + "].zoom()", 16);
			}
			else
			{
				/* finished */
				mv = false;
				/* set final position */
				if (s > 0)
				{
					l = ix * M + ix * Sx;
					t = iy * M + iy * Sy;
					w = Wi;
					h = Hi;
				}
				else
				{
					l = x * M + x * Sx;
					t = y * M + y * Sy;
					w = Sx;
					h = Sy;
				}
			}
			/* html animation */
			with(spa)
			{
				left = px(l);
				top = px(t);
				width = px(w);
				height = px(h);
				zIndex = Math.round(w);
			}
		}
	}

	this.click = function()
	{
		with(this)
		{
			img_center(o);
			/* zooming logic */
			if ( ! mv || cl)
			{
				if (s > 0)
				{
					if (cl || Math.abs(xm - xb) > Sx * .4 || Math.abs(ym - yb) > Sy * .4)
					{
						s =  - 2;
						mv = true;
						zoom();
						cap.innerHTML = txt;
					}
				}
				else
				{
					if (cl || ob != o)
					{
						if (ob >= 0)
						{
							with(obj[ob])
							{
								s =  - 2;
								mv = true;
								zoom();
							}
						}
						ob = o;
						s = 1;
						xb = xm;
						yb = ym;
						mv = true;
						zoom();
						cap.innerHTML = txt;
					}
				}
			}
		}
	}

	/* hook up events */
	img[o].onmouseover = img[o].onmousemove = img[o].onmouseout = new Function("cl=false;obj[" + o + "].click()");
	img[o].onclick = new Function("cl=true;obj[" + o + "].click()");
	img[o].onload = new Function("img_center(" + o + ")");

	/* initial display */
	this.zoom();
}

/* mouse */
document.onmousemove = function(e)
{
	if ( ! e)
	{
		e = window.event;
	}
	xm = (e.x || e.clientX);
	ym = (e.y || e.clientY);
}

/* init */
function load()
{
	/* html elements */
	scr = document.getElementById("screen");
	spa = scr.getElementsByTagName("span");
	img = scr.getElementsByTagName("img");
	cap = document.getElementById("caption");

	/* mouseover border */
	document.getElementById("border").onmouseover = function()
	{
		cl = true;
		if(ob >= 0 && obj[ob].s > 0) obj[ob].click();
		ob = -1;
	}

	/* global variables */
	W = parseInt(scr.style.width);
	H = parseInt(scr.style.height);
	M = W / Mg;
	Sx = (W - (Nx - 1) * M) / Nx;
	Sy = (H - (Ny - 1) * M) / Ny;
	Wi = Tx * Sx + (Tx - 1) * M;
	Hi = Ty * Sy + (Ty - 1) * M;
	SP = M * Tx * SP;
	wi = (Wi - Sx) / SP;
	hi = (Hi - Sy) / SP;

	/* create objects */
	for (k = 0, i = 0; i < Nx; i ++)
	{
		for (j = 0; j < Ny; j ++)
		{
			obj[k] = new Cobj(k ++, i, j);
		}
	}
}




/* ------------------ Traitement des formulaires -------------------------------- */

/* ------------------------ Contact --------------------------------------------- */

function nettoyageContact(){
document.forms["contact_form"].elements["prenom"].focus();
document.forms["contact_form"].reset();
}


function actionEnvoyerContact() {
	var aa = document.contact_form.nom.value.indexOf("@");
	var ab = document.contact_form.adresse.value.indexOf("@");
	var ac = document.contact_form.ville.value.indexOf("@");
	var ad = document.contact_form.texte.value.indexOf("@");
	var ua = document.contact_form.nom.value.indexOf("http");
	var ub = document.contact_form.adresse.value.indexOf("http");
	var uc = document.contact_form.ville.value.indexOf("http");
	var ud = document.contact_form.texte.value.indexOf("http");
	
		
	if (document.contact_form.nom.value == "") {
    alert("Merci de saisir votre nom ");
    document.contact_form.nom.focus();
	return false;
	}
		if (aa != -1 || ua != -1) {
		alert ("Adresse email ou URL interdite dans le champ Nom ");
		document.contact_form.nom.value = "";
		document.contact_form.nom.focus();
		return false;
		}
	if (document.contact_form.email.value == "") {
    alert("Merci de saisir votre adresse email ");
    document.contact_form.nom.focus();
	return false;
	}

	
		if (ab != -1 || ub != -1) {
		alert ("Adresse email ou URL interdite dans le champ Adresse");
		document.contact_form.adresse.value = "";
		document.contact_form.adresse.focus();
		return false;
		}
	
	
		if (ac != -1 || uc != -1) {
		alert ("Adresse email ou URL interdite dans le champ Ville");
		document.contact_form.ville.value = "";
		document.contact_form.ville.focus();
		return false;
		}
	
		
	if(isNaN(document.contact_form.nb_adultes.value) == true) {
    alert ("Le nombre de personnes doit être un nombre");
    document.contact_form.nb_adultes.value = "";
    document.contact_form.nb_adultes.focus(); 
    return false;
    }
		
	
	if (ad != -1 || ud != -1) {
	alert ("Adresse email ou URL interdite dans le champ Votre texte. Si vous souhaitez nous soumettre votre site Web pour la rubrique 'Liens', décrivez en quelques mots votre site et nous vous contacterons par mail si nous acceptions votre soumission.");
	document.contact_form.texte.value = "";
	document.contact_form.texte.focus();
	return false;
	}
		
else {
return true }
}  





/* ------------------------ Admin --------------------------------------------- */


function nettoyageAdmin(){
document.forms["formlogin"].elements["identifiant"].focus();
document.forms["formlogin"].reset();
}

function actionEnvoyerAdmin() {
   if (document.formlogin.identifiant.value == "") {
    alert("Merci de saisir votre identifiant");
    document.formlogin.identifiant.focus();
	return false;
	}
	if (document.formlogin.motdepasse.value == "") {
    alert("Merci de saisir votre mot de passe");
    document.formlogin.motdepasse.focus();
	return false;
	}
	
	else {
	return true }
}  

/*------------------ Traitement des DIV --------------------*/


function showdiv(D,I) {

	
  if (document.all) {  
  document.all[D].style.display="block";
  document.all[D].innerHTML = tabcontenu[I];
  }
  
  else if (document.getElementById) {  
  document.getElementById(D).style.display="block";
  document.getElementById(D).innerHTML = tabcontenu[I];
   }
  return false;
}

  
function hiddediv(D) {
  if (document.all) { document.all[D].style.display="none";}
  else if  (document.getElementById) { document.getElementById(D).style.display="none";}
}


function imprimer(D,I) {
	if (document.all) { document.all[D].write();}
	else if  (document.getElementById) { document.getElementById(D).write();}
}
	

/*------------------ Traitement des images Aux Alentours --------------------*/



function detectimg(ID) {
	largeur = document.images[ID].offsetWidth;
	hauteur = document.images[ID].offsetHeight;
	/*alert ("largeur =" + largeur + " hauteur = " + hauteur);*/

	if (largeur < 310) {
		document.getElementById(ID).className="BoiteProduitP";
		/*alert ("< 222");*/
	}
		else {
			document.getElementById(ID).className="BoiteProduitL";
			/*alert ("> 222");*/
		}
}

// ===========================================================
// Les rares bidules rajoutés automatiquement par
// Dreamweaver
// ===========================================================
//

// --------------Immage survolée ------------------

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


// ------------------ Objet Flash -----------------------------


function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}

