// Copyright (c) Ekinoxe Origin 2009
// Tous droits réservés

var accordion;
var maxsize=0;
var wrapper;
var scroller;
var nbImg=0;
var size;
var imgs=[];
var fxNouv;
var nbImgPerScreen;
var blocks = ['prods_nouveaux' , 'prods_phares']; 

// ----- INITIALISATION

var init = function() {

  // --- Accordeon
  
  if($$('.acc_toggler').length>0) {
  
    accordion = new Fx.Accordion($$('.acc_toggler'), $$('.acc_element'), { show: ( parseInt(jsc)>=0 ? jsc : -1 ), alwaysHide: true, opacity:true });

    // Application du style "hover" pour la catégorie parente active
    accordion.addEvent('active', function(toggler, el) {
      $$('.acc_toggler').removeClass('active');
      toggler.addClass('active');
    });
    
    // Réouverture de la catégorie actuelle
    if(parseInt(jsc)>=0) {
      accordion.fireEvent('active', accordion.togglers[accordion.previous], accordion.elements[accordion.previous]);
    }
 
  }
  
  var filter = 'a#cat-link-'+catid+'.noajax';
  if(catid>0 && $$(filter).length>0) {
    $$(filter)[0].addClass('active');
  }
  
  // --- Boutons précédent et suivant pour les nouveaux produits
  
  if($('nouvPrev')) {
  
    scroller = $$('.nouveaux')[0];
    wrapper = $$('.wrapperNouv')[0];
    fxNouv = new Fx.Scroll( scroller , {duration: 500});
    nbImgPerScreen = 5;
    size = 346; //*nbImgPerScreen;

    recalc();
    
    $('nouvNext').addEvent('mouseup', function(fx) {
      to = ( scroller.scrollLeft+(nbImgPerScreen*size) >= maxsize ) ? 0 : scroller.getScroll().x + (115*nbImgPerScreen);
      fxNouv.start(to);
    });
    
    $('nouvPrev').addEvent('mouseup', function(fx) {
      to = ( scroller.scrollLeft-size <= 0 ) ? maxsize : scroller.getScroll().x - (115*nbImgPerScreen);
      fxNouv.start(to);
    });
    
  }
  
  defaultLnk = $$('div.ongletDiapo a');
  for(var i=0; i<blocks.length; i++) {
    if($(blocks[i]) && $(blocks[i]).get('html').trim()!='') {
      ongletSwitch(blocks[i], ( (typeof defaultLnk[0] != null ) ? defaultLnk[0] : null ));
      break;
    }
  }
  
}

// ----- RECALC() - Recalcule les tailles 
    
var recalc = function(onglet) { 

  if(!onglet) {
    
    if($('prods_nouveaux'))
      onglet = 'prods_nouveaux';
      
    else if($('prods_phares'))
      onglet = 'prods_phares';
    
  }

  nbImg = 0;
  imgs = $$('#'+wrapper.id+' #'+onglet+' img'); //wrapper.getElementsByTagName('img');

  if(imgs && imgs.length>0) {
    for(var i=0; i<imgs.length; i++) { 
      if(imgs[i] && imgs[i].getParent() && imgs[i].getParent().getParent().getParent().getStyle('display') == 'block') {
        nbImg++;
      }
    }
  }
  
  maxsize = nbImg*size;
  wrapper.setStyles({'width' : maxsize+'px' });
  imgs = [];
  
}
  
// ----- Onglets "Nouveaux produits" et "Produits phares" 

var ongletSwitch = function(n, lnk) {

  if(lnk) {

    var onglet = lnk.getParent(); // Le titre de l'onglet cliqué
    var ong = onglet.getParent(); // Le conteneur des titres d'onglet

    ong.getElements('div').each(function(o) {
      o.removeClass('choosed');
    });
  
    onglet.addClass('choosed');
    
  } 
  
  blocks.each(function(bl) {
    $(bl).setStyle('display' , 'none');
  });

  $(n).setStyle('display' , 'block');
  $(n).getParent().getParent().scrollTo(0,0);
 
  recalc(n);
  
}

// ----- PAGE ASYNCHRONES (AJAX)

var page = function(catid, current) {

  var remote = new Remote({ name:'categories' , command:'getCategoryPage' , params:{catid:catid} , getData:'jsc='+current});

  remote.addEvent('complete', function(r) {
    var p = 'partie_droite';
    if($(p)) {
    
      $(p).set('html', r.getResponseData());
      
      if(typeof Milkbox != 'undefined')
        new Milkbox();
        
      makeDiapoProduit();
       
    }
  }.bind(this));
  
  remote.addEvent('error', function(r) {
    W('Erreur pendant le chargement de la page, veuillez réessayez SVP.');
  }.bind(this));
  
  remote.call();

}

var addFavorites = function (sitename, adress) {

if ( navigator.appName != 'Microsoft Internet Explorer' )  window.sidebar.addPanel(sitename, adress, '');
else  window.external.AddFavorite(adress,sitename);
}

// ----- DIAPORAMA DE PRODUITS

var makeDiapoProduit = function() {

  if($('diapop')) {
 
   var links  = $$('#diapop .liste a.diapo-link');
   var blocks = $$('#diapop .infos div.diapo-block');

   links.each(function(lnk) {
     lnk.addEvent('mouseover', function() {
     
       var blockID = 'diapo-block-'+parseInt(this.lnk.id.replace('diapo-link-', ''));
       
       blocks.setStyles({'display':'none'});
       links.removeClass('active');
       this.lnk.addClass('active');
       
       if($(blockID))
         $(blockID).setStyles({'display':'block'});
     
     }.bind({ lnk:lnk , blocks:blocks , links:links }));
   });
      
   links[0].addClass('active').fireEvent('mouseover');
 }

}

// ----- EXECUTION DOMREADY

window.addEvent('domready', init );
window.addEvent('domready', makeDiapoProduit );

