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];}
}


var ns = (navigator.appName.indexOf("Netscape") != -1);

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


function MM_showHideLayers_bis() { //v6.0
  
  if(self.innerHeight) {
    //pageWidth=self.innerWidth;
    pageHeight=self.innerHeight;
  } else if (document.documentElement && document.documentElement.clientHeight) {
    //pageWidth = document.documentElement.clientWidth;
    pageHeight = document.documentElement.clientHeight;
  } else if (document.body) {
    //pageWidth=document.body.clientWidth;
    pageHeight=document.body.clientHeight;
  }
  
  //pageWidth = 575;
  divLeft = getAbsX(document.getElementById("ruler"));

  if (ns) {
    pY = pageYOffset;
  } else if (document.documentElement && document.documentElement.scrollTop) {
    pY= document.documentElement.scrollTop;
  } else {
    pY = document.body.scrollTop;
  }
  
  var i,p,v,obj,args=MM_showHideLayers_bis.arguments;
  for (i=0; i<(args.length-2); i+=3) 
    if ((obj=MM_findObj(args[i]))!=null) { 
      v=args[i+2];
      
      divHeight = obj.offsetHeight;
      if (obj.style) {
        obj=obj.style;
        v=(v=='show')?'visible':(v=='hide')?'hidden':v; 
      }
      obj.visibility=v; 
      obj.top = parseInt(((pageHeight-divHeight)/2) + pY) + "px";
      divLeft += 30;
      obj.left = divLeft + "px";

    }
}


function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); }

function getAbsPos(elt,which) {
 iPos = 0;
 while (elt != null) {
  iPos += elt["offset" + which];
  elt = elt.offsetParent;
 }
 return iPos;
}


function DynamicChange() {
var list = document.form1.select1;
var listValue = list.options[list.selectedIndex].value;
window.location.href = listValue;
}



function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function PopupCentrer(page,winName,largeur,hauteur,options) {
  var top=(screen.height-hauteur)/2;
  var left=(screen.width-largeur)/2;
  window.open(page,winName,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}



function checkformCB ( form )
{
  if (form.booking_name.value == "") {
    alert( "Please enter your name." );
    form.booking_name.focus();
    return false ;
  }
  if (form.contact_email.value == "") {
    alert( "Please enter your email address." );
    form.contact_email.focus();
    return false ;
  }
  if (form.num_day_dive.value == "") {
    alert( "Please enter the number of diving days you wish." );
    form.num_day_dive.focus();
    return false ;
  }
  
  return true ;
}

function checkformAD ( form )
{
  if (form.diver_name.value == "") {
    alert( "Please enter a name for this diver." );
    form.diver_name.focus();
    return false ;
  }  
  return true ;
}


function confirm_delete(page, texte)
{
	confirmation = confirm('Delete '+texte+' ? ');
	if(confirmation)
		window.location.replace(page);
}


function confirm_remove(page, texte)
{
	confirmation = confirm('Remove '+texte+' ? ');
	if(confirmation)
		window.location.replace(page);
}

function confirm_activ(page, texte)
{
	confirmation = confirm('Active '+texte+' ? ');
	if(confirmation)
		window.location.replace(page);
}

function confirm_deactiv(page, texte)
{
	confirmation = confirm('Deactive '+texte+' ? ');
	if(confirmation)
		window.location.replace(page);
}

function confirm_cimg(page, texte)
{
	confirmation = confirm('Change image '+texte+' ? ');
	if(confirmation)
		window.location.replace(page);
}




//Disable right mouse click Script
//By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive
//For full source code, visit http://www.dynamicdrive.com

var message="Function Disabled!";

///////////////////////////////////
function clickIE4(){
if (event.button==2){
alert(message);
return false;
}
}

function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}

if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}

document.oncontextmenu=new Function("alert(message);return false")



/////////////////////// Textarea script ////////////////////

 // args : string moncontroletexte, int nbcar, string moncontroledecompte
// return : aucun
// Affecte à certains évènements d'un textarea, le contrôle de la longueur de son contenu
function LimiterTextArea(nom_controletexte, nbcar, nom_controledecompte)
{
    var moncontroletexte = document.getElementById(nom_controletexte);
 
    var moncontroledecompte = document.getElementById(nom_controledecompte);
 
    if (moncontroletexte && moncontroledecompte)
    {
 
        moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
        moncontroletexte.onblur = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
        moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
        moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
 
        // *** Affichage du nombre de caractères restant
        if(moncontroledecompte.type)
            moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);            // Pour un input de formulaire        
        else
            moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);    // Pour un élément HTML    
 
    }
}
 
// TextAreaEstRempli
 // args : textarea moncontroletexte, int nbcar, element_HTML moncontroledecompte
// return : bool
// Renvoie vrai si le nombre de caractères maximum du textarea n'est pas atteint
function TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
{
    if (moncontroletexte)
    {
        if (moncontroletexte.value.length <= nbcar)
        {
            //alert("pas rempli");
            // mes actions ...
            // *** Affichage du nombre de caractères restant
            if(moncontroledecompte.type)
                moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
            else
                 moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);

            return true;
        }
        else
        {
            //alert("rempli");
            // mes actions ...
 
            // Affichage du nombre de caractères restant
            moncontroletexte.value = moncontroletexte.value.substr(0, nbcar);
 
             // *** Affichage du nombre de caractères restant
             if(moncontroledecompte.type)
                 moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
             else
                 moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
                 
            return false;
        }
    }
}
// NbCarRestant
// args : textarea moncontroletexte, int nbcar
 // return : int
// Renvoie le nombre de caractère à saisir
function NbCarRestant(moncontroletexte, nbcar)
{
    if (moncontroletexte.value.length)
        return new Number(nbcar - moncontroletexte.value.length);
    else
        return new Number(nbcar);
}
