Element.implement({

 fadeTo : function( amount, whenFinished, duration ) {
   if(typeof whenFinished != 'function') {
	 whenFinished = function() {}   
   }
   this.effect('opacity', {
      transition : new Fx.Transition(Fx.Transitions.Quad.easeOut, 6).easeOut 
    , duration : ( (duration!=null && duration>0) ? duration : 500 )
    , onComplete : whenFinished.bind(this)
   }).start(this.getOpacity(),amount);
 }
		
});

var ALMAZ = {
	 
   // ---------------------------------------------------------------------
   
   timeLimit : 2000,
   imgSize : 164,	
   visible : false,
   pageLoadedCalled : false,
   catid : 0,
   changeCatLocked : false,
   scrollLocked : false,
   myFx : null,
   Highlighter : null,
   
   // ---------------------------------------------------------------------
   
   images : {
	 
	 toPreload : [ ['images/categories/accueil.jpg',-1] ], 
     preloaded : []
	     
   },
   
   // ---------------------------------------------------------------------
   
   introHTML : ''
     +'<div id="intro">'
     +'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '
     +'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" '
     +'width="411" height="424" id="almazInro" align="middle">'
     +'<param name="allowScriptAccess" value="sameDomain" />'
     +'<param name="movie" value="almaz.swf?t='+(new Date().getTime())+'" />'
     +'<param name="quality" value="low" />'
     +'<param name="wmode" value="transparent" />'
     +'<embed src="almaz.swf?t='+(new Date().getTime())+'" quality="low" wmode="transparent" width="411" height="424" '
     +'name="almazInro" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" '
     +'pluginspage="http://www.macromedia.com/go/getflashplayer" />'
     +'</object>'
     +'</div>',
   
   // ---------------------------------------------------------------------
   
   Init : function() {
	   
	 if( ALMAZ.pageLoadedCalled )
	   return false;
	 
	 debug('ALMAZ - 1.2');
	 
	 setTimeout( function(){ ALMAZ.PageLoaded(true); } , ALMAZ.timeLimit );
	   
	 ALMAZ.Highlighter = new Fx.Styles(null, {duration:800, wait:false});
     ALMAZ.Highlighter.options.transition = Fx.Transitions.Bounce.easeInOut;
	 
	 debug('Préchargement de '+ALMAZ.images.toPreload.length+' images...');
	 for(var i=0;i<ALMAZ.images.toPreload.length;i++)
	   if( ALMAZ.images.toPreload[i][0] != 'upload/' )
	     ALMAZ.PreloadAndDoThis( ALMAZ.images.toPreload[i][0], ALMAZ.ImageLoaded );
	   
	 if(Browser.Engine.name=='webkit'){
	   $$('#page #categories .cat').setStyles({'margin-left':'0'});
	   $$('#page #categories .cat ul').setStyles({'margin-top':'18px','margin-left':'0'});	 
	 }
	 
	 $('music').setOpacity(0).setStyle('visibility','visible');
	 
	 return true;
	   
   },	 
   
   // ---------------------------------------------------------------------
   
   PreloadAndDoThis : function( img, func ) {

	 new Element('img').addEvent('load', func.bind(img) ).setProperty('src',img);
	   
   },
   
   // ---------------------------------------------------------------------
   
   ImageLoaded : function(img) {
	   
	 var img = this.toString();
	 var found = false;

     if( ALMAZ.images.preloaded.length > 1 ) {
	   for(var i=0;i<ALMAZ.images.preloaded.length;i++) {
		 if(ALMAZ.images.toPreload[i][0] == img) {
		   found = true;	 
		 }
	   }
	   if(!found) {
		 ALMAZ.images.preloaded.push(img);  
	   }
     } else {
	   ALMAZ.images.preloaded.push(img);   
     }
     
     var percents = parseInt((((ALMAZ.images.preloaded.length ) * 100)/ALMAZ.images.toPreload.length));
     $('progressBar').setStyle('width', percents+'%' );
     $('progressMessage').setHTML(( langue=='en' ? 'Loading ('+percents+'%)': 'Chargement en cours ('+percents+'%)' )); 
     
     if( ALMAZ.images.preloaded.length == ALMAZ.images.toPreload.length ) {
	   ALMAZ.PageLoaded.delay(500);   
     }
     
     return true;
	   
   },
   
   // ---------------------------------------------------------------------
   
   PageLoaded : function(timedOut) {
	   
	 if( ALMAZ.pageLoadedCalled )
	   return true;  
	  
	 $('progressBar').setStyle('width', '100%' );   
	 $('progressMessage').setHTML(( langue=='en' ? 'Ready': 'Termin&eacute;' ));  
	   
	 if(timedOut!=null) {
	   debug('Images trop longues à charger, attente des images annulée.');
	   for(var i=0;i<ALMAZ.images.toPreload.length;i++) {
		 found = false;
		 for(var j=0;j<ALMAZ.images.preloaded.length;j++) {
		   if(ALMAZ.images.preloaded[j] == ALMAZ.images.toPreload[i][0] ) {
			  found = true;   
		   }
		 }
		 if(!found) {
		   debug('-> Image non chargée : '+ALMAZ.images.toPreload[i][0] +'');
		 }
	   }
     } else {
	   debug('Toutes les images sont correctement chargées.');   
     }

     var myTransition = new Fx.Transition(Fx.Transitions.Quad.easeOut, 6);
     var myFx = $('spinner').effect('opacity', {transition: myTransition.easeOut,duration:500,onComplete:function(){
	     
	   $('spinner').setStyle('display','none');
	     
	   $('conteneur').setStyles({
		 'background-image':'url("images/bg.png")'
		,'background-position':'top center'
		,'background-repeat':'no-repeat'}
	   );
     
       $('cadre').setStyles({
	     'visibility':'visible'
	    ,'background-image':'url("images/cadre.png")'
	    ,'background-position':'top center'
	    ,'background-repeat':'no-repeat'
	   }).setOpacity(1); 
      
       $('music').setOpacity(1); 
       $('pied').setOpacity(1);  
       $('credits').setOpacity(1); 
       
       $$('div.cat, div.cat ul','categories').each(function(myEl){ 
	     myEl.setStyle('visibility','visible')
	   });
	   
       $$('div.cat ul li','categories').each(function(myEl){
	     myEl.setStyle('cursor','pointer');
	   });

     }}).start(1,0);

     ALMAZ.OpenAccueil(true);  
     ALMAZ.pageLoadedCalled = true;
     return true;
	   
   },
   
   // ---------------------------------------------------------------------
   
   OpenAccueil : function(pageAccueil) {
	   
	 $('darkbox').setOpacity(0);  
	 $('galery-go-left').setOpacity(0);
     $('galery-go-right').setOpacity(0);
     $('catTitle').setOpacity(0); 
          
     $('contenu').setHTML('').effect('opacity', { 
	   transition: (new Fx.Transition(Fx.Transitions.Quad.easeOut, 6)).easeOut,duration:800, onComplete:function() {
	     $('contenu').setStyles({
	        'background-image':'url("images/categories/accueil.jpg")'
	       ,'background-position':'top center'
	       ,'background-repeat':'no-repeat','height':'510px'
	     }).effect('opacity', {
		    transition: (new Fx.Transition(Fx.Transitions.Quad.easeOut, 6)).easeOut,duration:800
		   ,onComplete:function(){		  
             if( $('contenu').getHTML()=='' || pageAccueil==true ) {
               $('contenu').setHTML(ALMAZ.introHTML);
             }
           }
         }).start(0,1); 
        }
      }).start(1,0); 
	   
   },
   
   // ---------------------------------------------------------------------
   
   OpenCategory : function(id) {
	 
	 if(ALMAZ.changeCatLocked == true)
	   return false;
	   
	 ALMAZ.changeCatLocked = true;
	   
	 ALMAZ.catid = id;  
	 var bgimg = '';
	 
	 for(var i=0;i<ALMAZ.images.toPreload.length;i++) {
	   if( ALMAZ.images.toPreload[i][1]==id ) {
		 bgimg = ALMAZ.images.toPreload[i][0];   
	   }	 
	 }
	 
	 $('darkbox').setOpacity(0);
     $('contenu').setHTML('');
     $('galery-go-left').setOpacity(0);
     $('galery-go-right').setOpacity(0);
     $('catTitle').fadeTo(0); 
     
     $('contenu').effect('opacity', {
	   transition: (new Fx.Transition(Fx.Transitions.Quad.easeOut, 6)).easeOut,duration:800
	   ,onComplete:function() {
		  var myRequest = new Request({
		    url:'almaz/getcat.php?id='+id+'&t='+(new Date().getTime())
		    ,evalScripts: true
	        ,onFailure:function(){ 
		      alert('Impossible de charger la page');
		    }
	        ,onSuccess:function(a,b) { 
		        
		      $('contenu').setStyles({
			     'background-image':'url("'+bgimg+'")'
		        ,'background-position':'top center'
		        ,'background-repeat':'no-repeat'
		      }).fadeTo(1, function() {
			    this.setHTML('<div id="coverflow"><div id="scroller">'+(a)+'</div></div>');    	        
		        ALMAZ.RebuildGalery();
		        Lightbox.init();
		        ALMAZ.ReflexSetup();
	            ALMAZ.ShowGalery();
		        ALMAZ.changeCatLocked = false; 
		      });
		      
	        }
         }).get();
	   }
     }).start(1,0);
     
   },
   
   // ---------------------------------------------------------------------
   
   ShowCatTitle : function(titre) {
	   
	 setTimeout(function(){
	   $('catTitle').setOpacity(0).setStyle('visibility','visible').setHTML('<div style="width:650px;">'+titre+'</div>').fadeTo(0.7); 
     },1000); 
	   
   },
   
   // ---------------------------------------------------------------------
   
   ShowProduct : function(id) {
	 
	 debug('Ouverture produit '+id+'...');
	 new Ajax( 'almaz/getprod.php?id='+id , {
		
	   onComplete : function(resp) {
		   
		 var data = Json.evaluate(resp);
		 debug('Produit '+id+' OK. ('+data.image2+')');
		 Lightbox.show('upload/'+data.image2,"<b>"+data.nom+"</b><br/>"+data.description);
		 setTimeout(function(){ ALMAZ.ShowProdDesc(function(){}); }, 100 );

	   }
	 }).request();
	 
   },
   
   // ---------------------------------------------------------------------
   
   OpenArticle : function(id) {
	   
	 $('galery-go-left').setOpacity(0);
     $('galery-go-right').setOpacity(0);
	 $('catTitle').setOpacity(0);
	   
	 var myHTMLRequest = new Request.HTML({ url:'lire.php?id='+id, onComplete:function(resp) {

	   $('darkbox').setOpacity(0).setHTML('');
	   for(i=0;i<resp.length;i++) { resp[i].injectInside($('darkbox')); }
	   ALMAZ.ShowDarkBox();	
	    
	 }}).post();
   
     return(false);
	   
   },
   
   CloseArticle : function() {
	
	 ALMAZ.HideDarkBox( ALMAZ.OpenAccueil );
	      
   },
   
   // ---------------------------------------------------------------------
   
   OpenNewsletter : function(id) {
	   
	 $('galery-go-left').setOpacity(0);
     $('galery-go-right').setOpacity(0);
	 $('catTitle').setOpacity(0);
	   
	 var myHTMLRequest = new Request.HTML({ 
	   url:'enregistrement.php?id='+id, 
	   data:'email='+$('emailNewsletter').value+'', 
	   onComplete:function(resp) {

	     $('darkbox').setOpacity(0).setHTML('');
	     for(i=0;i<resp.length;i++) { 
	       resp[i].injectInside($('darkbox')); 
	     }
	     
	     if($('newsl')) {
	       $('newsl').onsubmit = function(){
	         ALMAZ.SendNewsletter();
	         return false;
	       }
	       ALMAZ.ShowDarkBox();	
	     } else {
	       $('darkbox').setHTML('<b>Erreur</b>.');
	       ALMAZ.ShowDarkBox();	
	     }
	    
	   }
	 }).post();
   
     return(false);
	   
   },
   
   SendNewsletter : function(id) {
	   
	 $('galery-go-left').setOpacity(0);
     $('galery-go-right').setOpacity(0);
	 $('catTitle').setOpacity(0);
	   
	 var myHTMLRequest = new Request.HTML({ 
	   url:'enregistrement.php?id='+id, 
	   data:'valide=ok&email='+($('email').value)+'&civilite='+($('civilite').value)+'&nom_famille='+($('nom_famille').value)+'&prenom='+($('prenom').value)+'', 
	   onComplete:function(resp) {

	     $('darkbox').setOpacity(0).setHTML('');
	     for(i=0;i<resp.length;i++) { 
	       resp[i].injectInside($('darkbox')); 
	     }
	     if($('newsl')) {
	       $('newsl').onsubmit = function(){
	         ALMAZ.SendNewsletter();
	         return false;
	       }
	       ALMAZ.ShowDarkBox();
	     } else if($('confirmation')) {
	       $('darkbox').setHTML('<b>Vous &ecirc;tes maintenant abonn&eacute; &agrave; la newsletter</b>.');
	       ALMAZ.ShowDarkBox();	
	     } else {
	       $('darkbox').setHTML('<b>Erreur</b>.');
	       ALMAZ.ShowDarkBox();	
	     }
	    
	   }
	 }).post();
   
     return(false);
	   
   },
   
   CloseArticle : function() {
	
	 ALMAZ.HideDarkBox( ALMAZ.OpenAccueil );
	      
   },
        
   // ---------------------------------------------------------------------
 
   SendRecommand : function() {
	 
   frm = $('recommand');
   if(frm == null) return false;
   
   regexMail = /^[.a-zA-Z0-9_-]+@[.a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$/;	 
   
   if(frm.email1.value=='' || regexMail.test(frm.email1.value)==false ) {
     ALMAZ.HighlightField($(frm.email1.id));
     return(false);
     }

   if(frm.nom1.value=='') {
     ALMAZ.HighlightField($(frm.nom1.id));
     return(false);
     }
     
   if(frm.email2.value=='' || regexMail.exec(frm.email2.value)==null ) {
     ALMAZ.HighlightField($(frm.email2.id));
     return(false);
     }

   if(frm.nom2.value=='') {
     ALMAZ.HighlightField($(frm.nom2.id));
     return(false);
     }

   if(frm.message.value=='') {
	 ALMAZ.HighlightField($(frm.message.id));
     return(false);
     }
    
   frm.message.value.replace(/\<.+?\>/g, '');
   frm.nom1.value.replace(/\<.+?\>/g, '');
   frm.nom2.value.replace(/\<.+?\>/g, '');
   
   frm.recommandGo.value="Envoi en cours...";
   frm.recommandGo.disabled=true;

   var myHTMLRequest = new Request.HTML({ url:'recommander.php', onComplete:function(resp) {
	   
	 var rep = resp[0].toString().toLowerCase();
	 var msg = '';
	 
	 switch(rep) {
		 
	   case 'access_denied':
	     msg = '<span style="color:#f55;">L\'acc&egrave;s a &eacute;t&eacute; refus&eacute;</span>';
	     break; 
	     
	   case 'data_error':
	     msg = '<span style="color:#f55;">Erreur pendant l\envoi du formulaire</span>';
	     break;
	     
	   case 'send_mail_error':
	     msg = '<span style="color:#f55;">Erreur pendant l\'envoi du message</span>';
	     break;
	     
	   case 'send_mail_ok':
	   default:
	     msg = '<span style="color:#7f7;">Votre message a &eacute;t&eacute; envoy&eacute;</span>';
	     break;
	     
	 } 
	 
	 setTimeout( function() { $('darkbox').setHTML(msg); }, 10 );
	 setTimeout( ALMAZ.HideDarkBox, 1800 );
	 
   }}).post($(frm.id));
   
   return(false);
    
   },
   
   // ---------------------------------------------------------------------
 
   OpenRecommand : function() {
	 
   $('darkbox').setOpacity(0).setHTML(''
    +'<b>Dire &agrave; un ami</b><br/><br/>'
    +'<form method="post" action="recommander.php" id="recommand" onSubmit="return(ALMAZ.SendRecommand(this))">'
    +' <table width="100%" align="center">'
    
    +'  <tr>'
    +'   <td align="left" style="width:160px;">Votre adresse mail :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="email" name="email1" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:160px;">Votre nom :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="nom" name="nom1" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:160px;">Adresse mail de votre ami:</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="email" name="email2" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:160px;">Nom de votre ami:</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="nom" name="nom2" /></td>'
    +'  </tr>'
        
    +'  <tr>'
    +'   <td align="left" style="width:160px;" valign="top">Votre message :</td>'
    +'   <td align="left"><textarea type="text" style="width:95%;" rows="4" id="message" name="message"></textarea></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">&nbsp;</td>'
    +'   <td align="right"><input type="submit" value="Envoyer" id="contactGo" name="recommandGo" /></td>'
    +'  </tr>'
    
    +' </table>'
    +'</form><br/><br/><a href="javascript:void(0)" onmousedown="ALMAZ.HideDarkBox();">Fermer cette page</a>'

   );
	 
   ALMAZ.ShowDarkBox();	
   
   },
     
   // ---------------------------------------------------------------------
 
   SendContact : function() {
	 
   frm = $('contact');
   if(frm == null) return false;
   
   regexMail = /^[.a-zA-Z0-9_-]+@[.a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$/;	 
   
   if(frm.email.value=='' || regexMail.test(frm.email.value)==false ) {
     ALMAZ.HighlightField($(frm.email.id));
     return(false);
     }

   if(frm.message.value=='') {
	 ALMAZ.HighlightField($(frm.message.id));
     return(false);
     }
    
   frm.message.value.replace(/\<.+?\>/g, '');
   frm.nom.value.replace(/\<.+?\>/g, '');
   frm.prenom.value.replace(/\<.+?\>/g, '');
   frm.addr.value.replace(/\<.+?\>/g, '');
   frm.ville.value.replace(/\<.+?\>/g, '');
   
   frm.contactGo.value="Envoi en cours...";
   frm.contactGo.disabled=true;

   var myHTMLRequest = new Request.HTML({ url:'contact.php', onComplete:function(resp) {

	 var rep = resp[0].toString().toLowerCase();
	 var msg = '';
	 
	 switch(rep) {
		 
	   case 'access_denied':
	     msg = '<span style="color:#f55;">L\'acc&egrave;s a &eacute;t&eacute; refus&eacute;</span>';
	     break; 
	     
	   case 'data_error':
	     msg = '<span style="color:#f55;">Erreur pendant l\envoi du formulaire</span>';
	     break;
	     
	   case 'send_mail_error':
	     msg = '<span style="color:#f55;">Erreur pendant l\'envoi du message</span>';
	     break;
	     
	   case 'send_mail_ok':
	   default:
	     msg = '<span style="color:#7f7;">Votre message a &eacute;t&eacute; envoy&eacute;</span>';
	     break;
	     
	 } 
	 
	 setTimeout( function() { $('darkbox').setHTML(msg); }, 10 );
	 setTimeout( ALMAZ.HideDarkBox, 1800 );
	 
   }}).post($(frm.id));
   
   return(false);
    
   },
   
   // ---------------------------------------------------------------------
 
   OpenContact : function() {
	 
   $('darkbox').setOpacity(0).setHTML(''
    +'<b>Contact</b><br/><br/>'
    +'<form method="post" action="contact.php" id="contact" onSubmit="return(ALMAZ.SendContact(this))">'
    +' <table width="100%" align="center">'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">Adresse mail :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="email" name="email" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">Nom :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="nom" name="nom" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">Pr&eacute;nom :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="prenom" name="prenom" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">Adresse postale :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="addr" name="addr" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">Code postal :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="codep" name="codep" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">Ville :</td>'
    +'   <td align="left"><input type="text" style="width:95%;" value="" id="ville" name="ville" /></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;" valign="top">Message :</td>'
    +'   <td align="left"><textarea type="text" style="width:95%;" rows="4" id="message" name="message"></textarea></td>'
    +'  </tr>'
    
    +'  <tr>'
    +'   <td align="left" style="width:120px;">&nbsp;</td>'
    +'   <td align="right" style="margin:30px 30px 0 0;"><input type="submit" value="Envoyer" id="contactGo" name="contactGo" /></td>'
    +'  </tr>'
    
    +' </table>'
    +'</form>'
    +'<div style="font-size:10px;color:#777;padding-top:10px;">'
    +' Conformément à la loi Informatique et Libert&eacute;s du 06/01/78, les informations recueillies via ce formulaire '
    +' peuvent<br/>donner lieu à l\'exercice d\'un droit d\'acc&egrave;s, de modification et de suppression de vos donn&eacute;es personnelles.'
    +'</div><br/><br/><a href="javascript:void(0)" onmousedown="ALMAZ.HideDarkBox();">Fermer cette page</a>'

   );
	 
   ALMAZ.ShowDarkBox();	
   
   },
    
   // ---------------------------------------------------------------------
 
   OpenAccessPlan : function() {
	 
     $('darkbox').setOpacity(0).setHTML(''
     +'<b>Plan d\'acc&egrave;s</b>'
     +'<br/>'
     +'<br/>'
     +'205 rue Saint-Honoré - 75001 ( sur rendez-vous )'
     +'<br/>'
     +''+(langue=='en'?'Phone':'T&eacute;l&eacute;phone')+' : 01.42.60.16.60'
     +'<br/>'
     +'<br/>'
     +'<a href="images/plan-big.jpg" rel="lightbox">'
     +'<img src="images/plan.jpg" alt="'+(langue=='en'?'Access plan':'Plan d\'acc&egrave;s')+'" />'
     +'</a>'
     +''
     );
   
     Lightbox.init();
     //$('lbCenter').setStyle('z-Index','2');
     ALMAZ.ShowDarkBox();	
	 
   },
   
   // ---------------------------------------------------------------------
 
   OpenSitemap : function() {
	 
   $('darkbox').setOpacity(0).setHTML(''
    +'<b>Plan du site</b><br/><br/>'
    +'<ol>'
    +' <li>'
    +'  <i><b>Galeries</b></i>'
    +'  <ul>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenGalery(\'salon\')">Le salon</a></li>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenGalery(\'collections\')">Nos collections</a></li>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenGalery(\'mariage\')">Forfait Mariage</a></li>'
    +'  </ul>'
    +' </li>'
    +' <li>'
    +'  <i><b>Contact</b></i></li>'
    +'  <ul>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenContact()">Cliquez ici pour nous contacter</a></li>'
    +'  </ul>'
    +' </li>'
    +' <li>'
    +'  <i><b>Horaires et tarifs</b></i>'
    +'  <ul>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenHoraires()">Cliquez ici pour voir les horaires et les tarifs</a></li>'
    +'  </ul>'
    +' </li>'
    +' <li>'
    +'  <i><b>Produits et accessoires</b></i>'
    +'  <ul>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenProducts()">Cliquez ici pour voir nos produits et nos accessoires</a></li>'
    +'  </ul>'
    +' </li>'
    +' <li>'
    +'  <i><b>Dire &agrave un ami</b></i>'
    +'  <ul>'
    +'   <li><a href="#" onmousedown="ALMAZ.OpenRecommand()">Cliquez ici pour envoyer l\'adresse du site &agrave; un ami</a></li>'
    +'  </ul>'
    +' </li>'
    +'</ol>'
    +''
   );
   
   ALMAZ.ShowDarkBox();	
	 
   },
      
   // ---------------------------------------------------------------------
 
   HighlightField : function( field ) {

     ALMAZ.Highlighter.element = field;
     Element.setStyles( field , {'color':'#fff','background-color':'#900'} );
     ALMAZ.Highlighter.start({'color':'#fff','background-color':'#080808'});
	 
   },
    
   // ---------------------------------------------------------------------
 
   AddToFavs : function() {
	 
   if (document.all) { 
	 window.external.AddFavorite(location.href, document.title); 
   } else { 
	 alert("Votre navigateur n'autorise pas l'ajout direct de signets.\n"
	      +"Pour ce faire, faites 'Control + D' pour l'ajouter ou utilisez le menu marque-pages.") 
   }
	 
   },
 
   // ---------------------------------------------------------------------
 
   ShowDarkBox : function() {
 
     if($('prodDesc')) {
	   $('prodDesc').setOpacity(0);
	   }
	 
     if($('prodImage')) {
	   $('prodImage').setOpacity(0);
	   }
	 
     if($('coverflow')) {
	   $('coverflow').setOpacity(0);
	   $('catTitle').setOpacity(0); 
	   }
	   
	 if($('intro')) {
	   $('intro').setOpacity(0);
	   }
	 
     $$('input, textarea').each(function(myEl){
	   myEl.addEvent('focus', function() {
	     myEl.setStyle('border-color','#44BBAA'); 
	   }.bind(myEl)); 
	   myEl.addEvent('blur', function() {
	     myEl.setStyle('border-color','#444444'); 
	   }.bind(myEl)); 
     });
  
     var myTransition = new Fx.Transition(Fx.Transitions.Quad.easeOut, 6);
     var myFx = $('darkbox').effect('opacity', {transition: myTransition.easeOut,duration:800}).start(0,0.9);
	 
   },
  
   // ---------------------------------------------------------------------
 
   HideDarkBox : function( callb ) {
	 
     var myTransition = new Fx.Transition(Fx.Transitions.Quad.easeOut, 6);
     var myFx = $('darkbox').effect('opacity', {transition: myTransition.easeOut,duration:800, onComplete: function(){
	 
	 if( typeof callb == 'function' ) {
	   callb();
       }
     
     ALMAZ.OpenAccueil();
	   
     }.bind({callb:(typeof callb == 'function' ? callb : null )})}).start(0.8,0);
	 
   },
   
   // ---------------------------------------------------------------------
 
   LockScroll : function() {
     ALMAZ.scrollLocked = true;	  
   },
  
   UnlockScroll : function() {
     ALMAZ.scrollLocked = false;	 
   },
      
   // -------------------------------------------------------------------------------------------------
 
   ShowGalery : function(fn) {	 
     /*
     if( ALMAZ.visible ) {
	   $('galerie').fadeTo(0, function(){
	     $('galerie').fadeTo(1, function(){ ALMAZ.visible=true; });
         $('galery-go-left').fadeTo(1);
         $('galery-go-right').fadeTo(1);
       });
       $('galery-go-left').fadeTo(0);
       $('galery-go-right').fadeTo(0);
	   return true;    
     }
     */
     $('coverflow').setOpacity(0).setStyle('visibility','visible').fadeTo(1, function(){ 
	  ALMAZ.visible=true; 
	  if(typeof this.fn =='function') this.fn.bind()();
	 }.bind({fn:fn}));
     return true; 
   },
 
   HideGalery : function(fn) {	 
     $('coverflow').fadeTo(0, function(){
	   ALMAZ.visible=false;
	   if(typeof fn =='function') fn.bind(this)();
	 }.bind({fn:fn}));
     $('galery-go-left').fadeTo(0);
     $('galery-go-right').fadeTo(0);
     return true; 
   },
 
   RebuildGalery : function() {
     // Reglages pour la galerie
     var images = $$('#scroller img');
     var limit = (images.length)*ALMAZ.imgSize;
     $('scroller').setStyle('width',limit);	
     if( images.length < 6 ) {
	   centre = parseInt((997-limit)/2)-7;
       $('scroller').setStyle('margin-left',centre);	
     } else {
	   if( images.length > 6 ) {
		 $('galery-go-left').fadeTo(1);
         $('galery-go-right').fadeTo(1);
       }  
     }
   },
   
   // -------------------------------------------------------------------------------------------------
 
   ScrollLeft : function() {
	 
     if(ALMAZ.scrollLocked) { return(true);} 
	 
     var scroller = $('coverflow');
     var limit = (($$('#scroller img').length)*ALMAZ.imgSize )-(6*ALMAZ.imgSize);
     var pos = ( scroller.getScrollLeft() >= limit ) ? 0 : scroller.getScrollLeft()+ALMAZ.imgSize;
     
     var myFx = new Fx.Scroll(scroller,{
       wait: false
      ,duration: 500
      ,transition: Fx.Transitions.Circ.easeInOut
      ,onComplete : ALMAZ.UnlockScroll
     });
   
     ALMAZ.LockScroll();
     myFx.start(pos,0);
      
   },

   ScrollRight : function() {
	 
     if(ALMAZ.scrollLocked) { return(true); }	 
	 
     var scroller = $('coverflow');
     var limit = (($$('#scroller img.galery-image').length)*ALMAZ.imgSize )-(6*ALMAZ.imgSize);
     var pos = ( scroller.getScrollLeft() <= 1 ) ? limit : scroller.getScrollLeft()-ALMAZ.imgSize;
   
     var myFx = new Fx.Scroll(scroller, {
       wait: false
      ,duration: 500
      ,transition: Fx.Transitions.Circ.easeInOut
      ,onComplete : ALMAZ.UnlockScroll
     });
   
     ALMAZ.LockScroll();
     myFx.start(pos,0);

   },

   // ---------------------------------------------------------------------
   
   ReflexSetup : function() {
	   
	 /*
	 if(Browser.Engine.name=="trident"){
	   addIEReflex(); 
	 } else {
	   addReflex();
	 }
	 */
	 
   }
   
}

if(typeof console == 'undefined' ) {
  var console = {
    log : function(msg) {}	  
  }	
}

var debug = function(msg) { console.log(msg); }