(function(global){
	function showcaseController(){
    this.widget = $(".showcase-widget");
    if(this.widget.length==0){return;}
    
    this.wrapper = $(".wrapper",this.widget);
    this.articles = $("article",this.widget);
    this.count = this.articles.length;
    this.transition = Modernizr.testAllProps('transition');
    
    if(this.count>1){
     this.widget.append('<ul class="controls"><li class="prev">Назад</li><li class="next">Вперед</li></ul>');
     var controls = '<ul class="page-navigation"><li class="selected">1</li>';
     for(i=2;i<=this.count;i++){
       controls+="<li>"+i+"</li>";
     }
     controls+="</ul>";
     this.widget.append(controls);
     
     $(".page-navigation li",this.widget).click($.proxy(this.page,this));
     $(".controls .prev",this.widget).click($.proxy(this.prev,this));
     $(".controls .next",this.widget).click($.proxy(this.next,this));
     
     this.timer = window.setInterval($.proxy(this.auroscroll,this),5000);
    }
    
  };

  showcaseController.prototype.auroscroll = function(){
    $(".controls .next",this.widget).trigger("click");
  };

  showcaseController.prototype.next = function(event){
    event.preventDefault();
    event.currentTarget.blur();
    var page = parseInt($(".page-navigation li.selected",this.widget).html(),10);
    if(page>=this.count){
      page = 0;
    }
    
    $(".page-navigation li.selected",this.widget).removeClass("selected");
    $(".page-navigation li:eq("+page+")").addClass("selected");
    if(this.transition){
      this.wrapper.css({left:-980*page+"px"});
    }else{
      this.wrapper.stop().animate({left:-980*page+"px"},{duration:500});
    }
  };
  
  showcaseController.prototype.prev = function(event){
    event.preventDefault();
    event.currentTarget.blur();
    var page = parseInt($(".page-navigation li.selected",this.widget).html(),10);
    page-=2;
    if(page<0){
      page = this.count-1;
    }
    $(".page-navigation li.selected",this.widget).removeClass("selected");
    $(".page-navigation li:eq("+page+")").addClass("selected");
    if(this.transition){
      this.wrapper.css({left:-980*page+"px"});
    }else{
      this.wrapper.stop().animate({left:-980*page+"px"},{duration:500});
    }
  };
  
  showcaseController.prototype.page = function(event){
    event.preventDefault();
    event.currentTarget.blur();
    
    var page = parseInt($(event.currentTarget).html(),10)-1;
    $(".page-navigation li.selected",this.widget).removeClass("selected");
    $(event.currentTarget).addClass("selected");
    if(this.transition){
      this.wrapper.css({left:-980*page+"px"});
    }else{
      this.wrapper.stop().animate({left:-980*page+"px"},{duration:500});
    }
  };
  
	function onDOMReady(){
	  global.showcaseController = new showcaseController();
	}
	
	if(document.getElementsByTagName("FOOTER").length==0){
	  $(document).ready(onDOMReady);  
	}else{
	  onDOMReady();
	}
})(this);
