
var $slider_started = false;
$(document).ready(function(){

  // -------- Set the variables ------------------------------------------------------------------------------

  jQuery.fn.setVariables = function() {

    //auto timer
    $auto = true;

    //auto interval in seconds
    $autoTimer = 6000;

    //total number of sliders
    $total_slider     = $('#top-slider-main > div').length;

    //width of each div labal
    $label_width      = $('#top-slider-main div .left').width();

    //total labal widths
    $max_slider_width = ($total_slider -1)*$label_width;

    //area width
    $total_width      = $('#top-slider-main div').width();

    //area width - 1 labal
    $extra_margin     = $('#top-slider-main div').width() - $label_width;


    $autoDir          = "LEFT";
    $active_slider    = 1;
    $('#top-slider-main #slider-box' + $active_slider + 'span' ).addClass('active');

  };
  jQuery(this).setVariables();
  //////// accordion actions below //////////////////////





  /*
   * On Label press
   */
  $('#top-slider-main div .left').click(function(){

    clearTimeout(t);

    //slider selected
    var $slider_index = $('#top-slider-main > div').index($(this).parent()) + 1;

    if($slider_index < $active_slider )
    {
      //reset active element
      jQuery(this).resetActiveElements();

      var $elementSelected = $('#top-slider-main #slider-box'+$slider_index);
      $active_slider = $slider_index;

      if(!$elementSelected.hasClass('active'))
      {
        $elementSelected.addClass('active');
        for(i=$slider_index + 1; i<=$total_slider; i++)
        {
          $elmementsMove = $('#top-slider-main #slider-box'+i);
          var $left_margin = ($label_width*(i-1)) + $extra_margin;
          jQuery(this).moveElements("RIGHT" , $elmementsMove , $left_margin );
        }
      }
    }
    else
    {
      //move left only
      if($slider_started != 2)
      {
        //reset active element
        jQuery(this).resetActiveElements();

        var $elementSelected = $('#top-slider-main #slider-box'+$slider_index);
        $active_slider = $slider_index;

        if(!$elementSelected.hasClass('active'))
        {
          $elementSelected.addClass('active');
          for(i=1; i<=$slider_index; i++)
          {
            $elmementsMove = $('#top-slider-main #slider-box'+i);
            var $left_margin = ($label_width*(i-1));
            jQuery(this).moveElements("LEFT" , $elmementsMove , $left_margin );
          }
        }
      }
    }
    _gaq.push(['_trackEvent', 'Homepage Banner', $elementSelected.attr('id')]);
  });



  /*
   * on mouse over
   */
  $('#top-slider-main div .left').mouseover(function(){
    jQuery(this).addClass('hover');
  });

  /*
   * on  mouse out
   */
  $('#top-slider-main div .left').mouseout(function(){
    jQuery(this).removeClass('hover');
  });


  $.fn.cross = function () {
    $(this).mouseenter(function(){
      $(this).stop().animate({"opacity": "0"}, "slow");
    });

    $(this).mouseleave(function(){
      $(this).stop().animate({"opacity": "1"}, "slow");
    });
  }



  jQuery.fn.moveElements = function(dir , element , margin) {


    if(dir == "LEFT")
    {
      element.stop().animate({marginLeft : margin }, 1500, function(){$slider_started = false;});
    }
    else
    {
      element.stop().animate({marginLeft : margin - 2 }, 1500, function(){$slider_started = false;});
    }

  }

  jQuery.fn.resetActiveElements = function() {
    //reset active div
    for(i=1; i<=$total_slider; i++)
    {
      $('#top-slider-main #slider-box'+i).removeClass("active");
    }
  }


  jQuery.fn.autoPlay = function() {

    if($autoDir == "LEFT" )
    {
      var $nextSlider = $active_slider + 1

      //reset active element
      jQuery(this).resetActiveElements();

      var $elementSelected = $('#top-slider-main #slider-box'+$nextSlider);
      $active_slider = $nextSlider;
      if(!$elementSelected.hasClass('active'))
      {
        $elementSelected.addClass('active');
        $elmementsMove = $('#top-slider-main #slider-box'+$active_slider);

        var $left_margin = ($label_width*($active_slider-1));
        jQuery(this).moveElements("LEFT" , $elmementsMove , $left_margin );
      }

      if($nextSlider == $total_slider)
      {
        $autoDir = "RIGHT";
      }
    }
    else
    {
      var $nextSlider = $active_slider - 1

      //reset active element
      jQuery(this).resetActiveElements();

      var $elementSelected = $('#top-slider-main #slider-box'+$nextSlider);
      $active_slider = $nextSlider;

      if(!$elementSelected.hasClass('active'))
      {
        $elementSelected.addClass('active');
        $elmementsMove = $('#top-slider-main #slider-box'+($active_slider + 1));

        var $left_margin = ($label_width*($active_slider)) + $extra_margin;
        jQuery(this).moveElements("RIGHT" , $elmementsMove , $left_margin );
      }

      if($nextSlider == 1)
      {
        $autoDir = "LEFT";
      }

    }

    t = setTimeout( function() {jQuery(this).autoPlay()}, $autoTimer);
  }

  if ($auto == true){
    t =  setTimeout( function() {jQuery(this).autoPlay()}, $autoTimer);
  }

});


$(window).bind('load', function () {
  $('a.fade img').cross();
});
