/* Modernizr 2.0.6 (Custom Build) | MIT & BSD
 * Build: http://www.modernizr.com/download/#-csstransitions-testprop-testallprops-domprefixes
 */
;window.Modernizr=function(a,b,c){function z(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+m.join(c+" ")+c).split(" ");return y(d,b)}function y(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function x(a,b){return!!~(""+a).indexOf(b)}function w(a,b){return typeof a===b}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function u(a){j.cssText=a}var d="2.0.6",e={},f=b.documentElement,g=b.head||b.getElementsByTagName("head")[0],h="modernizr",i=b.createElement(h),j=i.style,k,l=Object.prototype.toString,m="Webkit Moz O ms Khtml".split(" "),n={},o={},p={},q=[],r,s={}.hasOwnProperty,t;!w(s,c)&&!w(s.call,c)?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],c)},n.csstransitions=function(){return z("transitionProperty")};for(var A in n)t(n,A)&&(r=A.toLowerCase(),e[r]=n[A](),q.push((e[r]?"":"no-")+r));u(""),i=k=null,e._version=d,e._domPrefixes=m,e.testProp=function(a){return y([a])},e.testAllProps=z;return e}(this,this.document);


$(document).ready(function() {

var xxx = {
  
   container: $('.switcher'),
   csstransitions: Modernizr.csstransitions, 
  
   oldtransitions: function(index, element) {
       if (xxx.csstransitions) return false; 
       var el = $(element);
       el.hasClass('current') ? el.animate({ opacity: 1 }, 1000, "swing") : el.stop().animate({ opacity: 0 }, 1000, "swing");
   },

   act: function(e, is_cycle) {
       if (e && $.isFunction(e.preventDefault)) e.preventDefault();
       
       var elements = xxx.container.find('li');
       var amount = elements.length;
       var index = elements.filter('.current').index();
       
       var new_index;          
       
       var action = typeof e == 'number' || typeof e == 'string' ? e : e ? $(e.target).attr('data-act-action') : 0;

       switch (action) {
          case 'prev':
               new_index = index-1; 
               break;
          case 'next':
               new_index = index+1;
               break;
          default:
               new_index =  parseInt(action, 10);
               break;
       }
               
       if (typeof new_index != 'number') return;

       if (new_index < 0) {
           if (!is_cycle) {
             var href = xxx.container.next('ul').find('a.active').parent().prev().find('a').attr('href');
             if (href) window.location.href = href; 
           }

           new_index = index;
       }

       if (new_index > amount-1) {
           if (!is_cycle) {
              var href = xxx.container.next('ul').find('a.active').parent().next().find('a').attr('href');
              if (href) window.location.href = href;
           }
                       
           new_index = is_cycle ? 0 : index;
       }
       
       if (new_index < 0) new_index = 0;

       if (index < 0) index = 99999;  // if current is absent then set it to dummy
      
       if (index == new_index) return;
      
       elements
          .eq(new_index).addClass('current').each(xxx.oldtransitions)
          .siblings().andSelf().eq(index).removeClass('current').each(xxx.oldtransitions);

   },
   
   init: function() {

       xxx.container.addClass('started');
       if (xxx.csstransitions) {
           xxx.container.addClass('csstransition');
       } 
       
       var ul_height = xxx.container.find('ul').height();
       var is_clients = xxx.container.parents('body').hasClass('page-clients');
       
       xxx.container.find('li').each(function(index) {
          if (index == 0)  xxx.act();
          if (is_clients) $(this).css('top', ((ul_height - $(this).height()) /2 ) + 'px');
       });
       
       if (xxx.container.hasClass('cycle')) {
           var autoAnimationIntervalID = setInterval( function() { xxx.act('next', true); }, 10000);
           xxx.container.find('li').click( function() { xxx.act('next', true); clearInterval(autoAnimationIntervalID); });

       }
       else {
           $('<div class="pager"><a href="#" data-act-action="prev">Previous</a> <a href="#" data-act-action="next">Next</a></div>').prependTo(xxx.container).find('a').bind('click', xxx.act);
       }
       
       
   //clearInterval(autoAnimationIntervalID)


      
   }

}


  xxx.init();


});












