var NettCar = {
	
 visible : false,
 conteneurs : [],
 articles : [],
 imgSize : 171, // 120 + 49 + 2 (image + separateur + bordure*2 )
 scrollLocked : false,
 myImg : null,
 myFx : null,
 Highlighter : null,
 mode : 'par',
 currentPage : '',
	
 // ---------------------------------------------------------------------	

 Main : function() {
	 
   var time = 1;
   var multiplicateur = 200;
   this.SetConteneurs();
   
   // Inclusion des images verticales
   $$('#concept a')[0].setHTML('<img src="images/menu-concept.png" border="0" alt="" style="margin-top:125px;" />');
   $$('#photos a')[0].setHTML('<img src="images/menu-photos.png" border="0" alt="" style="margin-top:149px;" />');
   $$('#tarifs a')[0].setHTML('<img src="images/menu-tarifs.png" border="0" alt="" style="margin-top:90px;" />');
   $$('#traitements a')[0].setHTML('<img src="images/menu-traitements.png" border="0" alt="" style="margin-top:15px;" />');
   $$('#restaurations a')[0].setHTML('<img src="images/menu-restaurations.png" border="0" alt="" style="margin-top:85px;" />');
   $$('#poses a')[0].setHTML('<img src="images/menu-poses.png" border="0" alt="" style="margin-top:70px;" />');
   $$('#offres a')[0].setHTML('<img src="images/menu-offres.png" border="0" alt="" style="margin-top:150px;" />');
   
   // Effet "fade-in" pour les bouttons de navigation (à gauche de la page)
   $('tarifsLiens').setOpacity(0);
   $$('li.menu').each(function(myEl){ 
	 myEl.setOpacity(0).setStyles({'cursor':'pointer','visibility':'visible','z-Index':'1'});
     setTimeout(function(){  this.fadeTo(1); }.bind(myEl), (time++*multiplicateur+50) );
   });
   
   // Conteneurs principaux : Visuel, Textes -> Reglage de l'opacité à 0 et visibilité activée
   $('galerie').setOpacity(0).setStyle('visibility','visible');
   $('galery-go-left').setOpacity(0).setStyle('visibility','visible');
   $('galery-go-right').setOpacity(0).setStyle('visibility','visible');
   $('visuel').setOpacity(0).setStyle('visibility','visible').setStyle('background','#000');
   
   // Application des styles CSS
   NettCar.SetConteneursStyles();
  
   NettCar.Highlighter = new Fx.Styles(null, {duration:800, wait:false});
   NettCar.Highlighter.options.transition = Fx.Transitions.Bounce.easeInOut;
  
   // Passage en mode "Particuliers"
   NettCar.ModePar(true);

   // Effet "fade-in" pour les contenus
   if($('ctn-default').innerHTML=='') {
	 //setTimeout(function(){ $('visuel').fadeTo(1); }, (time++*multiplicateur+500) );
	 NettCar.CloseConteneurs();
   } else {
	 $('ctn-default').fadeTo(1);
   }
   
   // Articles paginés
   NettCar.SplitArticles();
   
   // Tarifs
   
   $E('div#tarifs-par').getChildren().each(function(myEl){ myEl.setOpacity(0); });
   $E('div#tarifs-pro').getChildren().each(function(myEl){ myEl.setOpacity(0); });
   
 },
 
 
 // ---------------------------------------------------------------------
 
 SetConteneursStyles : function() {
 
   // application des styles pour les conteneurs
   NettCar.conteneurs.each(function(myEl) {
	 myEl.setOpacity(0).setStyles({
	    'visibility':'visible'
	   
	   ,'overflow':'auto'
	   ,'overflow-x':'hidden'
	   ,'width':'466px'
	   ,'height':'330px'
	   ,'display':'none'
	   ,'padding':'6px'
	   ,'margin':'0'
	 });
   });
   
   // Galerie photo sans espacements
   $('ctn-galery-list-par').setStyles({
	 'padding':'0'
    ,'width':'478px'
    ,'height':'342px'
   });
   $('ctn-galery-list-pro').setStyles({
	 'padding':'0'
    ,'width':'478px'
    ,'height':'342px'
   });

 },
 
 // ---------------------------------------------------------------------
 
 ModePar : function(noEffect) {
	 
   noEffect = (typeof noEffect != 'undefined' && noEffect != null) ? true : false;
	 
   $('lnk-pro').setStyles({'color':'#eee','font-weight':'normal'}); //,'background-image':'none'});
   $('lnk-par').setStyles({'color':'#da1919','font-weight':'bold'}); //,'background-image':'url(\'images/nav-hover.png\')'});
   
   $$('li#tarifs a')[0].onmousedown = NettCar.OpenTarifs;
   
   // Affichage des tarifs particuliers
   $('tarifs-pro').fadeTo(0);
   $('tarifs-par').fadeTo(1);
   //$$('#tarifs-pro div').each(function(div) { div.fadeTo(0).fadeTo(1); });
   $$('#tarifs-par div').each(function(div) { div.setOpacity(0); });
   
   //NettCar.ClosePrestationsLiens(true);
   if(NettCar.currentPage=='ctn-tarifs') {
     $('prestationsLiens').fadeTo(0);
     $('tarifsLiens').fadeTo(1);
   }
     
   // Passage en mode "particuliers"
   NettCar.mode = 'par';
   
   // Affichage des tarifs "particuliers"
   if(NettCar.currentPage=='ctn-concept-pro')
	 NettCar.OpenConcept();
	 
   // Affichage de la liste des articles pour les tarifs "particuliers"
   if(NettCar.currentPage=='ctn-tarifs')
     NettCar.OpenTarifs(true);

   // Affichage des galeries "particuliers"
   if(NettCar.currentPage=='ctn-galery-list-pro')
	 NettCar.OpenPhotographies();
	 
   $$('li.menu#tarifs a img')[0].setProperty('src',wwwroot+'/images/menu-tarifs.png').setStyle('margin-top','100px');
   
   if(noEffect)
     return true;
     
   setTimeout(function(){
     new Fx.Morph($('traitements'), {
       transition: Fx.Transitions.Expo.easeOut
      ,duration: 400
     }).start({'width':'76px','opacity':'1'})
   }, 1);
   
 },
 
 ModePro : function() {

   $('lnk-pro').setStyles({'color':'#da1919','font-weight':'bold'}); //,'background-image':'url(\'images/nav-hover.png\')'});
   $('lnk-par').setStyles({'color':'#eee','font-weight':'normal'}); //,'background-image':'none'});
   
   $$('li#tarifs a')[0].onmousedown = NettCar.OpenPrestations;
   
   $('tarifs-pro').fadeTo(1);
   $('tarifs-par').fadeTo(0);
   $$('#tarifs-pro div').each(function(div) { /*div.setOpacity(0).fadeTo(1);*/ });
   //$$('#tarifs-par div').each(function(div) { div.fadeTo(0); });
   
   //NettCar.CloseTarifsLiens(true);
   if(NettCar.currentPage=='ctn-tarifs') {
     $('prestationsLiens').fadeTo(1);
     $('tarifsLiens').fadeTo(0);
   }
  
   // Passage en mode "professionels"
   NettCar.mode = 'pro';
   
   // Affichage des tarifs "professionels"
   if(NettCar.currentPage=='ctn-concept-par')
	 NettCar.OpenConcept();
	 
   // Affichage des galeries "professionels"
   if(NettCar.currentPage=='ctn-galery-list-par')
	 NettCar.OpenPhotographies();
      
   // On masque la page "traitements" si on passe en mode pro
   if(NettCar.currentPage=='ctn-traitements')
	 NettCar.Home();

   $$('li.menu#tarifs a img')[0].setProperty('src',wwwroot+'/images/menu-prestations.png').setStyle('margin-top','130px');
   
   setTimeout(function(){
     new Fx.Morph($('traitements'), {
       transition: Fx.Transitions.Expo.easeOut
      ,duration: 400
     }).start({'width':'0px','opacity':'0'});
   }, 1);
   
 },
 
 // ---------------------------------------------------------------------
 
 SplitArticles : function() {

   var html = '';	 

   this.articles = [$('ctn-concept-pro'), $('ctn-concept-par'), $('ctn-partenaires'), $('ctn-restaurations')];
   this.articles.extend($$('#tarifs-par')[0].getChildren());
   this.articles.extend($$('#tarifs-pro')[0].getChildren());
   
   this.articles.each(function(bloc) {
   
     var htmlTab = bloc.getHTML();
      
     if(/<hr>/.test(htmlTab))
       htmlTab = htmlTab.split('<hr>');
     else if(/<hr\/>/.test(htmlTab))
       htmlTab = htmlTab.split('<hr/>');
     else if(/<hr \/>/.test(htmlTab))
       htmlTab = htmlTab.split('<hr />');
     else if(/<HR>/i.test(htmlTab))
       htmlTab = htmlTab.split('<HR>');
     else if(/<HR\/>/i.test(htmlTab))
       htmlTab = htmlTab.split('<HR/>');
     else if(/<HR \/>/i.test(htmlTab))
       htmlTab = htmlTab.split('<HR />');
     else
       htmlTab = [htmlTab];

     html = '';
     bloc.setHTML('');
     
     var suivLien = function(id, i, j, prec) {
       h  = '<a ';
       h += ' class="btn" ';
       h += ' href="javascript:void(0);" ';
       h += ' onmousedown="$(\''+(id+''+i)+'\').fadeTo(0);$(\''+(id+''+j)+'\').fadeTo(1)" ';
       h += ' >';
       h += (prec==true) ? '<img src="images/precedent.png" /> Pr&eacute;c&eacute;dent' : 'Suivant <img src="images/suivant.png" />';
       h += '</a>';
       return h;
     }
     
     var divID;
     var firstDivID;
     
     for(var i=0;i<htmlTab.length;i++) {
     
       divID = bloc.getProperty('id')+''+(i+1);
       firstDivID = bloc.getProperty('id')+'1';
       
	   el = new Element('div').setProperties({ 'id':divID });
	   
	   el.setStyles({'position':'absolute','width':'466px','height':'330px' ,'display':'block','padding':'0px','opacity':'0'});
	   
	   el.setHTML(''
	     +htmlTab[i]
	     +( (i>0) ? suivLien(bloc.getProperty('id'), i+1, i, true) : '' )
	     +( (i<htmlTab.length-1) ? suivLien(bloc.getProperty('id'), i+1, i+2) : '' )
	   );
	   
	   el.injectInside(bloc);

	   $(firstDivID).fadeTo(1);
	   $each($(firstDivID).getChildren(), function(el){el.setOpacity(1);});
	   
     }
   
   });

 },
 
 // ---------------------------------------------------------------------
 
 Home : function() {
 
   NettCar.CloseConteneurs(); 
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 // --------------------------------------------------------------------- 
 
 CloseTarifsLiens : function(force) {
 
   force = (force == null) ? false : force;
   var callb = function() {}
   
   $('tarifsLiens').fadeTo(0,function(){ 
     if(NettCar.mode == 'par' || force==true ) {
       new Fx.Morph($$('li.menu#tarifs')[0], {
	    transition: Fx.Transitions.Expo.easeOut
	   ,duration: 400
       ,onComplete:callb
       }).start({'margin':'0 0 0 -35px'});
     }
   });

   
 },
 
 OpenTarif : function(ctn) {
 
   $E('div#tarifs-par').getChildren().each(function(myEl){ 
		 if(myEl.id != 'tarifs-par-'+this.ctn) {
		   myEl.fadeTo(0);
		 }
   }.bind({ctn:ctn}));
     
   if($('tarifs-par-'+ctn)) {
     $('tarifs-par-'+ctn).setStyles({'visibility':'visible'}).fadeTo(1);
     //$each($$('#tarifs-par-'+ctn+'1 *'), function(myEl){ myEl.setOpacity(1).setStyles({'visibility':'visible'}); });
     $('tarifs-par-'+ctn+'1').setStyles({'visibility':'visible'}).fadeTo(1);
   }
     
 },
  
 OpenTarifs : function(noClose) {
   $E('div#tarifs-par').getChildren().each(function(myEl){ 
		 if(myEl.id != 'tarifs-par-'+this.ctn) {
		   myEl.fadeTo(0);
		 }
   });
   
   if(NettCar.currentPage=='ctn-tarifs' && (typeof noClose=='undefined' || noClose==false)) {
	 $('tarifsLiens').fadeTo(0,function(){
	   NettCar.currentPage = '';
	   NettCar.Home();
	   $$('li.menu#tarifs')[0].morph({'margin':'0 0 0 -30px'});	 
	 });
	 return true;   
   }
   if(NettCar.mode == 'par') {
	   new Fx.Morph($$('li.menu#tarifs')[0], {
		 onComplete:function(){
		   $('tarifsLiens').fadeTo(1);
		   //NettCar.OpenTarif('classic');
		   NettCar.OpenConteneur('ctn-tarifs');
		 } 
		 , transition: Fx.Transitions.Bounce.easeOut
		 , duration: 400
	   }).start({'margin':'0 120px 0 -76px'});
   } else {
       NettCar.OpenConteneur('ctn-tarifs');
   }
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 // --------------------------------------------------------------------- 
 
 ClosePrestationsLiens : function(force) {
 
   force = (force == null) ? false : force;
   var callb = function() {}
   
   $('prestationsLiens').fadeTo(0,function(){ 
     if(NettCar.mode == 'pro' || force==true ) {
       new Fx.Morph($$('li.menu#tarifs')[0], {
	    transition: Fx.Transitions.Expo.easeOut
	   ,duration: 400
       ,onComplete:callb
       }).start({'margin':'0 0 0 -35px'});
     }
   });
   
 },
 
 OpenPrestation : function(ctn) {
 	
   
   $E('div#tarifs-pro').getChildren().each(function(myEl){ 
	 if(myEl.id != 'tarifs-pro-'+this.ctn) {
	   myEl.fadeTo(0);
	 }
   }.bind({ctn:ctn}));
   
   if($('tarifs-pro-'+ctn)) {
     $('tarifs-pro-'+ctn).setStyles({'visibility':'visible'}).fadeTo(1);
     $each($$('#tarifs-pro-'+ctn+'1 *'), function(myEl){ myEl.setOpacity(1).setStyles({'visibility':'visible'}); });
     $$('#tarifs-pro-'+ctn+'1').setStyles({'visibility':'visible'}).fadeTo(1);
   }
     
 },
  
 OpenPrestations : function(noClose) {
 

   if(NettCar.currentPage=='ctn-tarifs' && (typeof noClose=='undefined' || noClose==false)) {
	 $('prestationsLiens').fadeTo(0,function(){
	   NettCar.currentPage = '';
	   NettCar.Home();
	   $$('li.menu#tarifs')[0].morph({'margin':'0 0 0 -30px'});	 
	 });
	 return true;   
   }
   if(NettCar.mode == 'pro') {
	   new Fx.Morph($$('li.menu#tarifs')[0], {
		 onComplete:function(){
		   $('prestationsLiens').fadeTo(1);
		   //NettCar.OpenTarif('classic');
		   NettCar.OpenConteneur('ctn-tarifs');
		 } 
		 , transition: Fx.Transitions.Bounce.easeOut
		 , duration: 400
	   }).start({'margin':'0 120px 0 -76px'});
   } else {
       NettCar.OpenConteneur('ctn-tarifs');
   }
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 // --------------------------------------------------------------------- 
 
 OpenConcept : function() {
 
   $('ctn-concept-par').setOpacity(0);
   $E('div#ctn-concept-pro').getChildren().each(function(myEl){ myEl.setOpacity(0); });
   
   $('ctn-concept-pro').setOpacity(0);
   $E('div#ctn-concept-par').getChildren().each(function(myEl){ myEl.setOpacity(0); });
   
   $E('div#ctn-concept-'+NettCar.mode).getChildren()[0].fadeTo(1);

   NettCar.OpenConteneur('ctn-concept-'+NettCar.mode);
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },

 OpenPhotographies : function() {
 
   NettCar.OpenConteneur('ctn-galery-list-'+NettCar.mode);
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 // --------------------------------------------------------------------- 
 
 OpenPartenaires : function() {
 
   $('ctn-partenaires').setOpacity(0);
   $E('div#ctn-partenaires').getChildren().each(function(myEl){ myEl.setOpacity(0); });
   
   NettCar.OpenConteneur('ctn-partenaires');
   //$E('div#ctn-partenaires').getChildren().each(function(myEl){ myEl.setOpacity(0); });
   $E('div#ctn-partenaires').getChildren()[0].fadeTo(1);
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
  
 // --------------------------------------------------------------------- 
 
 OpenTraitements : function(noClose) {
    
    if(NettCar.currentPage=='ctn-traitements' && (typeof noClose=='undefined' || noClose==false)) {
	 $('traitementsLiens').fadeTo(0,function(){
	   NettCar.currentPage = '';
	   NettCar.Home();
	   $$('li.menu#traitements')[0].morph({'margin':'0 0 0 -30px'});	 
	 });
	 return true;   
   }
   if(NettCar.mode == 'par') {
	   new Fx.Morph($$('li.menu#traitements')[0], {
		 onComplete:function(){
		   $('traitementsLiens').fadeTo(1);
		   
		   NettCar.OpenConteneur('ctn-traitements');
		 } 
		 , transition: Fx.Transitions.Bounce.easeOut
		 , duration: 400
	   }).start({'margin':'0 120px 0 -76px'});
   } else {
       NettCar.OpenConteneur('ctn-traitements');
       
   }
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 OpenTraitement : function(ctn){
    $E('div#traitements-par').getChildren().each(function(myEl){ 
	 if(myEl.id != 'traitements-'+this.ctn) {
	   myEl.fadeTo(0);
	 }
   }.bind({ctn:ctn}));
   
   if($('traitements-'+ctn)) {
     $('traitements-'+ctn).setStyles({'visibility':'visible'}).fadeTo(1);
     $each($$('#traitements-'+ctn+'1 *'), function(myEl){ myEl.setOpacity(1).setStyles({'visibility':'visible'}); });
     $$('#traitements-'+ctn+'1').setStyles({'visibility':'visible'}).fadeTo(1);
   }
 },
 
  CloseTraitementsLiens : function(force) {
 
   force = (force == null) ? false : force;
   var callb = function() {}
   
   $('traitementsLiens').fadeTo(0,function(){ 
     if(NettCar.mode == 'par' || force==true ) {
       new Fx.Morph($$('li.menu#traitements')[0], {
	    transition: Fx.Transitions.Expo.easeOut
	   ,duration: 400
       ,onComplete:callb
       }).start({'margin':'0 0 0 -35px'});
     }
   });
   
 },
 // --------------------------------------------------------------------- 
 
 OpenRestaurations : function(noClose) {
    
    if(NettCar.currentPage=='ctn-restaurations' && (typeof noClose=='undefined' || noClose==false)) {
	 $('restaurationsLiens').fadeTo(0,function(){
	   NettCar.currentPage = '';
	   NettCar.Home();
	   $$('li.menu#restaurations')[0].morph({'margin':'0 0 0 -30px'});	 
	 });
	 return true;   
   }
   if(NettCar.mode == 'par') {
	   new Fx.Morph($$('li.menu#restaurations')[0], {
		 onComplete:function(){
		   $('restaurationsLiens').fadeTo(1);
		   
		   NettCar.OpenConteneur('ctn-restaurations');
		 } 
		 , transition: Fx.Transitions.Bounce.easeOut
		 , duration: 400
	   }).start({'margin':'0 120px 0 -76px'});
   } else {
       NettCar.OpenConteneur('ctn-restaurations');
       
   }
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 OpenRestauration : function(ctn){
    $E('div#restaurations-par').getChildren().each(function(myEl){ 
	 if(myEl.id != 'restaurations-'+this.ctn) {
	   myEl.fadeTo(0);
	 }
   }.bind({ctn:ctn}));
   
   if($('restaurations-'+ctn)) {
     $('restaurations-'+ctn).setStyles({'visibility':'visible'}).fadeTo(1);
     $each($$('#restaurations-'+ctn+'1 *'), function(myEl){ myEl.setOpacity(1).setStyles({'visibility':'visible'}); });
     $$('#restaurations-'+ctn+'1').setStyles({'visibility':'visible'}).fadeTo(1);
   }
 },
 
  CloseRestaurationsLiens : function(force) {
 
   force = (force == null) ? false : force;
   var callb = function() {}
   
   $('restaurationsLiens').fadeTo(0,function(){ 
     if(NettCar.mode == 'par' || force==true ) {
       new Fx.Morph($$('li.menu#restaurations')[0], {
	    transition: Fx.Transitions.Expo.easeOut
	   ,duration: 400
       ,onComplete:callb
       }).start({'margin':'0 0 0 -35px'});
     }
   });
   
 },
   
 // --------------------------------------------------------------------- 
 
 OpenPoses : function(noClose) {
    
    if(NettCar.currentPage=='ctn-poses' && (typeof noClose=='undefined' || noClose==false)) {
	 $('posesLiens').fadeTo(0,function(){
	   NettCar.currentPage = '';
	   NettCar.Home();
	   $$('li.menu#poses')[0].morph({'margin':'0 0 0 -30px'});	 
	 });
	 return true;   
   }
   if(NettCar.mode == 'par') {
	   new Fx.Morph($$('li.menu#poses')[0], {
		 onComplete:function(){
		   $('posesLiens').fadeTo(1);
		   
		   NettCar.OpenConteneur('ctn-poses');
		 } 
		 , transition: Fx.Transitions.Bounce.easeOut
		 , duration: 400
	   }).start({'margin':'0 120px 0 -76px'});
   } else {
       NettCar.OpenConteneur('ctn-poses');
       
   }
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.CloseOffresLiens();
 },
 
 OpenPose : function(ctn){
    $E('div#poses-par').getChildren().each(function(myEl){ 
	 if(myEl.id != 'poses-'+this.ctn) {
	   myEl.fadeTo(0);
	 }
   }.bind({ctn:ctn}));
   
   if($('poses-'+ctn)) {
     $('poses-'+ctn).setStyles({'visibility':'visible'}).fadeTo(1);
     $each($$('#poses-'+ctn+'1 *'), function(myEl){ myEl.setOpacity(1).setStyles({'visibility':'visible'}); });
     $$('#poses-'+ctn+'1').setStyles({'visibility':'visible'}).fadeTo(1);
   }
 },
 
  ClosePosesLiens : function(force) {
 
   force = (force == null) ? false : force;
   var callb = function() {}
   
   $('posesLiens').fadeTo(0,function(){ 
     if(NettCar.mode == 'par' || force==true ) {
       new Fx.Morph($$('li.menu#poses')[0], {
	    transition: Fx.Transitions.Expo.easeOut
	   ,duration: 400
       ,onComplete:callb
       }).start({'margin':'0 0 0 -35px'});
     }
   });
   
 },
   
 // --------------------------------------------------------------------- 
 
 OpenOffres : function(noClose) {
    
    if(NettCar.currentPage=='ctn-offres' && (typeof noClose=='undefined' || noClose==false)) {
	 $('offresLiens').fadeTo(0,function(){
	   NettCar.currentPage = '';
	   NettCar.Home();
	   $$('li.menu#offres')[0].morph({'margin':'0 0 0 -30px'});	 
	 });
	 return true;   
   }
   if(NettCar.mode == 'par') {
	   new Fx.Morph($$('li.menu#offres')[0], {
		 onComplete:function(){
		   $('offresLiens').fadeTo(1);
		   
		   NettCar.OpenConteneur('ctn-offres');
		 } 
		 , transition: Fx.Transitions.Bounce.easeOut
		 , duration: 400
	   }).start({'margin':'0 120px 0 -76px'});
   } else {
       NettCar.OpenConteneur('ctn-offres');
       
   }
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
 },
 
 OpenOffre : function(ctn){
    $E('div#offres-par').getChildren().each(function(myEl){ 
	 if(myEl.id != 'offres-'+this.ctn) {
	   myEl.fadeTo(0);
	 }
   }.bind({ctn:ctn}));
   
   if($('offres-'+ctn)) {
     $('offres-'+ctn).setStyles({'visibility':'visible'}).fadeTo(1);
     $each($$('#offres-'+ctn+'1 *'), function(myEl){ myEl.setOpacity(1).setStyles({'visibility':'visible'}); });
     $$('#offres-'+ctn+'1').setStyles({'visibility':'visible'}).fadeTo(1);
   }
 },
 
  CloseOffresLiens : function(force) {
 
   force = (force == null) ? false : force;
   var callb = function() {}
   
   $('offresLiens').fadeTo(0,function(){ 
     if(NettCar.mode == 'par' || force==true ) {
       new Fx.Morph($$('li.menu#offres')[0], {
	    transition: Fx.Transitions.Expo.easeOut
	   ,duration: 400
       ,onComplete:callb
       }).start({'margin':'0 0 0 -35px'});
     }
   });
   
 },
 
 
 // ---------------------------------------------------------------------
 
 OpenContact : function() {
 
   NettCar.OpenConteneur('ctn-contact');
   var frm = $('contactForm');
   frm.reset();
   frm.contactGo.value="Envoyer";
   frm.contactGo.disabled=false;
   NettCar.CloseTarifsLiens();
   NettCar.ClosePrestationsLiens();
   NettCar.CloseTraitementsLiens();
   NettCar.CloseRestaurationsLiens();
   NettCar.ClosePosesLiens();
   NettCar.CloseOffresLiens();
 },
 
 SendContact : function() {
	 
   var frm = $('contactForm');
   
   if(frm == null) return false;
   
   //e.demesmay@voirensemble.asso.fr
   
   regexMail = /^[\.a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z\.]{2,9}$/;	 
   
   if(frm.email.value=='' ) {
     alert('Veuillez preciser votre adresse email');
     NettCar.HighlightField($(frm.email.id));
     return(false);
     }
     
   if(regexMail.exec(frm.email.value)==null ) {
     alert('Le format de votre adresse email n\'est pas valide (format: nom@site.com)');
     NettCar.HighlightField($(frm.email.id));
     return(false);
     }


   if(frm.message.value=='') {
	 alert('Veuillez preciser votre message');
	 NettCar.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() { 
	   $('ctn-contact').fadeTo(0); 
	   $('ctn-msgbox').setHTML(msg).fadeTo(1); 
	 }, 10 );
	 setTimeout( NettCar.Home, 2500 );
	 
   }}).post($(frm.id));
   
   return(false);
    
 },
 
 // ---------------------------------------------------------------------
 
 OpenRecommand : function() {
	 
   NettCar.OpenConteneur('ctn-recommand');
   var frm = $('recommandForm');
   frm.reset();
   frm.recommandGo.value="Envoyer";
   frm.recommandGo.disabled=false; 
	 
 },
 
 SendRecommand : function() {
 
   var frm = $('recommandForm');
   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.exec(frm.email1.value)==null ) {
     NettCar.HighlightField($(frm.email1.id));
     return(false);
     }

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

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

   if(frm.message.value=='') {
	 NettCar.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() { 
	   $('ctn-recommand').fadeTo(0); 
	   $('ctn-msgbox').setHTML(msg).fadeTo(1); 
	 }, 10 );
	 setTimeout( NettCar.Home, 2500 );
	 
   }}).post($(frm.id));
   
   return(false);
   
 },
 
 // ---------------------------------------------------------------------
 
 HighlightField : function( field ) {
 
   NettCar.Highlighter.element = field;
   Element.setStyles( field , {'color':'#fff','background-color':'#d00'} );
   NettCar.Highlighter.start({'color':'#fff','background-color':'#293237'});
   
 },
 
 // ---------------------------------------------------------------------
 
 ImportGalery : function(g) {	 

   var fn = function() {
	 new Ajax('get-galery-'+parseInt(g)+'.html', {
	   method : 'post',
	   onComplete : function(resp) {
	     $('scroller').setHTML(resp.toString()); 
	     NettCar.RebuildGalery();
	     Lightbox.init();
         NettCar.ShowGalery();
	   }
     }).request();
   }
   
   if( NettCar.visible ) {
	 $('galerie').fadeTo(0, function(){ fn(); });
   } else { fn(); }
   
 },
 
 ShowGalery : function() {	 
   if( NettCar.visible ) {
	 $('galery-go-left').setOpacity(0);
     $('galery-go-right').setOpacity(0);
     $('galerie').fadeTo(0, function(){
	   $('galerie').fadeTo(1, function(){ NettCar.visible=true; });
       $('galery-go-left').fadeTo(1);
       $('galery-go-right').fadeTo(1);
     });
     
	 return true;    
   }
   $('galerie').fadeTo(1, function(){ NettCar.visible=true; });
   $('galery-go-left').fadeTo(1);
   $('galery-go-right').fadeTo(1);
   return true; 
 },
 
 HideGalery : function() {	 
   $('galerie').fadeTo(0, function(){ NettCar.visible=false; });
   $('galery-go-left').fadeTo(0);
   $('galery-go-right').fadeTo(0);
   return true; 
 },
 
 RebuildGalery : function() {
   // Reglages pour la galerie
   var images = $$('img.galery-image');
   var separators = $$('img.galery-sep');
   var limit = ((images.length)*NettCar.imgSize-49) + ((separators.length)*49);
   $('scroller').setStyle('width',limit);	
 },
  
 // ---------------------------------------------------------------------
 
 OpenConteneur : function(ctn) {
   // Visuel en arrière-plan
   $('visuel').fadeTo(0.2);
   // On enleve tous les conteneurs...
   NettCar.conteneurs.each(function(myEl) {
	 if(myEl.id!=ctn && parseFloat(myEl.getOpacity())>0) {
	   myEl.fadeTo(0, function(){this.setStyle('display','none');}.bind(myEl) );
     }
   });
   NettCar.HideGalery();
   NettCar.currentPage = ctn;
   $(ctn).setStyle('display','block').fadeTo(1);
   //$each($(ctn).getChildren(), function(el) { el.fadeTo(1); }));
   //console.log($(ctn).getChildren());
 },
 
 CloseConteneurs : function() {
   NettCar.conteneurs.each(function(myEl) {
	 myEl.fadeTo(0);
   });
   NettCar.HideGalery();
   $('visuel').fadeTo(1);
 },
  
 SetConteneurs : function() {
   this.conteneurs = [ 
      $('ctn-concept-par') 
    , $('ctn-concept-pro') 
    , $('ctn-galery-list-par')
    , $('ctn-galery-list-pro')
    , $('ctn-tarifs') 
    , $('ctn-traitements') 
    , $('ctn-restaurations') 
    , $('ctn-poses') 
    , $('ctn-offres') 
    , $('ctn-contact') 
    , $('ctn-photo') 
    , $('ctn-default')
    , $('ctn-msgbox')
    , $('ctn-recommand')
    , $('ctn-partenaires')
    , $('ctn-traitements')
    , $('ctn-restaurations')
   ]; 
 },
 
 // ---------------------------------------------------------------------
 
 LockScroll : function() {
   NettCar.scrollLocked = true;	  
 },
  
 UnlockScroll : function() {
   NettCar.scrollLocked = false;	 
 },

 // ---------------------------------------------------------------------
 
 ScrollLeft : function() {
	 
   if(NettCar.scrollLocked) { return(true);} 
	 
   var scroller = $('galerie');
   var limit = (($$('#scroller img.galery-image').length)*NettCar.imgSize )-(3*NettCar.imgSize);
   var pos = ( scroller.getScrollLeft() >= limit ) ? 0 : scroller.getScrollLeft()+NettCar.imgSize;

   var myFx = new Fx.Scroll(scroller,{
     wait: false
    ,duration: 500
    ,transition: Fx.Transitions.Circ.easeInOut
    ,onComplete : NettCar.UnlockScroll
   });
   
   NettCar.LockScroll();
   myFx.start(pos,0);
      
 },

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

 }

 // ---------------------------------------------------------------------
 
}

Element.implement({

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

window.addEvent('domready', NettCar.Main.bind(NettCar) );