/* vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2: */

(function() {
  var cssTransitionsSupported = false;

  div = document.createElement('div');
  div.innerHTML = '<div style="-webkit-transition:color 1s linear;-moz-transition:color 1s linear; -o-transition:color 1s linear;"></div>';
  cssTransitionsSupported = (div.firstChild.style.webkitTransition !== undefined) ||
                            (div.firstChild.style.MozTransition !== undefined) ||
                            (div.firstChild.style.OTransition !== undefined);
  delete div;

  if (!cssTransitionsSupported) {
    $('#mediabox a').each(function(e){
      $(this).css({
        'webkitTransition': 'none',
        'MozTransition': 'none',
        'OTransition': 'none',
        'transition': 'none'
      });
    });
  }

})();

/*
 * Plugin de accordion menu
 * source oriinal: http://www.leigeber.com/2008/05/horizontal-javascript-accordion-menu/
 */
var slideMenu=function(){
    var sp,st,t,m,sa,l,w,sw,ot;
    return{
        build:function(sm,sw,mt,s,sl,h){
            sp=s; st=sw; t=mt; m=document.getElementById(sm); sa=m.getElementsByTagName('a');
            l=sa.length; w=m.offsetWidth-30; sw=w/l; ot=Math.floor((w-st)/(l-1)); 
            for(var i=0;i<l;i++){ s=sa[i]; s.style.width=sw+'px'; slideMenu.timer(s); };
            if(sl!=null){ m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])}, t); };
        },
        timer:function(s){
            s.onmouseover=function(){
                $('#mediabox a').not(s).find('.bar').animate({'opacity':1}, {queue:false});
                $(s).find('.bar').animate({'opacity':0}, {queue:false}); clearInterval(m.timer);
                m.timer=setInterval(function(){slideMenu.slide(s)},t);
            }
        },
        slide:function(s){
            var cw=parseInt(s.style.width,'10');
            if(cw<st){ var owt=0; for(var i=0;i<l;i++){ if(sa[i]!=s){
                  var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width,'10');
                  if(ow>ot){ oi=Math.floor((ow-ot)/sp); oi=(oi>0) ? oi : 1; o.style.width=(ow-oi)+'px' }
                  owt=owt+(ow-oi);
              } }; s.style.width=(w-owt)+'px';
            } else { clearInterval(m.timer); }
        }
    };
}();

mediabox_current   = $('#mediabox a:first');
mediabox_timer     = false;
mediabox_max       = $('#mediabox a:last').width();
mediabox_min       = 15;
mediabox_intervals = 5000;

slideMenu.build('mediabox', $('#mediabox a:last').width(), 15, 5, 1);

$('#mediabox a')
    .css('width', mediabox_min);
$('#mediabox a')
    .find('.bar').css({'opacity': 1, display:'block'});
$('#mediabox a:first')
    .css('width', mediabox_max)
    .find('.bar')
        .css({'opacity': 1, display:'block'})
        .css({'opacity': 0, display:'block'});

mediabox_next = function(){
  var current = mediabox_current.parent().next().find('a');
  if ( !current.size() ) { current = $( '#mediabox a:first' ); };
  mediabox_current = current;
  current.get(0).onmouseover();
}

mediabox_timer = setInterval(mediabox_next, mediabox_intervals);

$( '#mediabox a' ).hover(function(){ mediabox_current = $( this ); clearInterval(mediabox_timer)
}, function() { mediabox_timer = setInterval(mediabox_next, mediabox_intervals); });


