MM_FrontMood = {
   picAct: null
  ,picTmp: null
  ,elToggler: null
  ,fxIn: null
  ,fxOut: null
  ,durShow: 10000
  ,durTran: 800
  ,durFreeze: 20000
  
  ,picSet: [
     'delgano_4'
    ,'delgano_10'
    ,'mono_4'
    ,'mono_10'
    ,'laguna_4'
  ]
  
  
  ,picUrls: {}
  
  ,loadPics: []
  
  ,toggleAnim: function()
  {
//    console.log(this.elToggler);
    if (this.elToggler.hasClass('anim_controll_play'))
    {
      this.cancel(true);
    }
    else
    {
      this.next();
    }
    
    this.elToggler.toggleClass('anim_controll_pause');
    this.elToggler.toggleClass('anim_controll_play');
  }
    
    ,scaleImage: function(url, opt)
    {
          url = url.replace(/media\//, 'media/_generate/');
          url = url.replace(/img\//, 'img/_generate/');
          url = url.split(/\./);
          var ext = url.pop();
          if (arguments[1]) url.push(opt);
          url.push(ext);
  
        return url.join('.');
    }
  
  ,init: function()
  {
    this.picAct = $('modell_mood_pict');
    this.picTmp = $('modell_mood_pict2');
    this.elToggler = $('anim_controll');
//    console.log(this.elToggler);
    
//    $$('td.modelle_tab').each(function(el){el.setStyle('opacity', 0.8);});
    
    this.fxIn   = new Fx.Morph(this.picTmp, {wait: false, duration: this.durTran, onComplete: function(){
      var el = document.getElement('#anim_button img');
      var src = el.src;
      el.src = '';
      el.src = src;
    }});
    this.fxOut  = new Fx.Morph(this.picAct, {wait: false, duration: this.durTran});
    
    this.picTmp.setStyles({
      opacity: 0
    });
    
    this.picSet.each(function(pic)
    {
//      this.loadPics.push(this.picAct.src.replace(/\w+_\d+\.jpg$/, pic + '.jpg'));
      this.loadPics.push(this.getImage(pic));
    }.bind(this));
    
    new Asset.images(this.loadPics);
    this.to = window.setInterval(this.next.bind(this), this.durShow);
    
    this.next();
    
    $('modell_mood_container').addEvents({
      mouseenter: function()
      {
        $('anim_button').getFirst().getFirst().src = '/media/masscouch/common/homepage/moods/btn-config-hl.gif';
      }
      ,mouseleave: function()
      {
        $('anim_button').getFirst().getFirst().src = '/media/masscouch/common/homepage/moods/btn-config.gif';
      }
    });
  }
  
  ,cancel: function()
  {
    if (this.to) window.clearInterval(this.to);
    if (this.toFreeze) window.clearTimeout(this.toFreeze);
    
    if (!arguments[0])
    {
      this.toFreeze = window.setTimeout(function()
      {
        this.to = window.setInterval(this.next.bind(this), this.durShow);
      }.bind(this), this.durFreeze); 
    }
  }
  
  ,getImage: function(id)
  {
    return this.scaleImage(this.picUrls[id], 'w800');
  }
  
  ,next: function(go)
  {
    var next = null;
    if (arguments[0] && -1 != this.picSet.indexOf(arguments[0]))
    {
      next = this.picSet.shift();
      while (go != next)
      {
        this.picSet.push(next);
        next = this.picSet.shift();
      }
      this.picSet.push(next);
    }
    else
    {
      var next = this.picSet.shift();
      this.picSet.push(next); 
    }
    
    mood_modell = $('anim_button').getFirst();    
    mood_modell.href = '/konfigurator/moebel/auswahl.php?mood_modell=' + next;
    
    
    $$('td.modelle_tab').each(function(el){el.removeClass('modelle_tab_active');});
    $('td_' + next).addClass('modelle_tab_active');
    
    this.fxIn.element.setStyle('backgroundImage', 'url(' + this.getImage(next) + ')');
    this.fxIn.element.getElement('.info1').set('html', this.txts[next].t1.replace(/\n/g, '<br />'));
    this.fxIn.element.getElement('.info2').set('text', this.txts[next].t2);
    
    this.fxIn.set({
       opacity: 0
    });
    this.fxOut.start({
       opacity: 0
    });
    this.fxIn.start({
       opacity: 1
    });
    
    tmp = this.fxOut;
    this.fxOut = this.fxIn;
    this.fxIn = tmp;
  }
}
window.addEvent('domready', MM_FrontMood.init.bind(MM_FrontMood));

function showPreview(which)
{
//  MM_FrontMood.cancel();
//  MM_FrontMood.next(which);
  sel = 'preview_'+which;
  el = $(sel);
  el.setStyle('opacity', '1');
  
  if ((el_info = $('modell_info_container')))
  {
    el_info.setStyle('opacity', 0); 
  }
} 


function hidePreview(which)
{
  sel = 'preview_'+which;
  el = $(sel);
  el.setStyle('opacity', '0');
} 


function showInfo(which)
{
  pict = "/media/masscouch/common/homepage/moods/info_laguna_4.png";  
  el = $('modell_info_pict');
  el.set('src',pict);
  
  if ((el_info = $('modell_info_container')))
  {
    el_info.setStyle('opacity', 1); 
  }
}


function showMood(which)
{
  MM_FrontMood.cancel();
  MM_FrontMood.next(which);
}
