
//************************************
// Home Page Slideshow JavaScript code
//************************************

$(document).ready(function () {

  var arrows = 'div.slideshow div.arrows';
  var currentSlideID; 						// holds current slide ID
  var slides = 'div.slideshow div.slides'; // link to HTML element with slides
  var slidesTotal = 0; 					// holds number of slides
  var thumbs = 'div.slideshow div.thumbs'; // link to HTML element with thumbs
  var timerDelay = 5000; 					// delay between slides animation in milliseconds
  var timerCanceled;


  /* prepares slides */
  function setSlides() {
    $(slides + ' div.slide').each(function (index) {
      $(this).attr({
        'id': 'slide' + index
      });
      slidesTotal++;
    });

    currentSlideID = 0;
  }


  /* sets slides navigation */
  function setNav() {
    /* here we duplicate li elements */
    var $li = $(thumbs + ' ul li:eq(0)');
    $(thumbs + ' ul li:eq(0)').remove();
    for (var i = 0; i < slidesTotal; i++) {
      var id = 'btn' + i;
      $li
				.clone()
				.appendTo(thumbs + ' ul')
				.attr({
				  'id': id
				});
    }
    /* here we set mouse event */
    $(thumbs + ' ul li a').each(function (index) {
      $(this)
				.click(function (event) {
				  var id = $(this).parent().attr('id');
				  var num = id.slice(3);
				  setSlide(num);
				  if (!timerCanceled) {
				    removeTimer();
				  }
				  event.preventDefault();
				})
				.hover(function () {
				  $(this).addClass('over');
				})
				.mouseout(function () {
				  $(this).removeClass('over');
				});
    });

    $(thumbs + ' ul').find('li:eq(' + currentSlideID + ')').addClass('selected');

    /* here we set rollover event for slides area */
    if (!('ontouchstart' in document.documentElement)) {
      $(arrows).css('display', 'none');
    }
    $(arrows + ' div.arrow.right').click(
			function (event) {
			  var slideID = currentSlideID;
			  slideID++;
			  if (slideID == slidesTotal) {
			    slideID = 0;
			  }
			  setSlide(slideID);
			  if (!timerCanceled) {
			    removeTimer();
			  }
			  event.preventDefault();
			}
		);

    $(arrows + ' div.arrow.left').click(
			function (event) {
			  var slideID = currentSlideID;
			  slideID--;
			  if (slideID < 0) {
			    slideID = slidesTotal - 1;
			  }
			  setSlide(slideID, true);
			  if (!timerCanceled) {
			    removeTimer();
			  }
			  event.preventDefault();
			}
		);

    $('div.slideshow').hover(
      function (event) {
        $(arrows).animate({ opacity: 'show' }, 'fast');
        timerCanceled = true
      },
      function (event) {
        timerCanceled = false
        $(arrows).animate({ opacity: 'hide' }, 'fast');
      }
      );
  }


  /** 
  * sets slide 
  * @param id
  * @param direction false or undefined for right movement, true -- for left
  */
  function setSlide(id, direction) {
    if (typeof (direction) == 'undefined') {
      direction = false;
    }
    var currentSlide = $(slides).find('div.slide:eq(' + currentSlideID + ')');
    var width = $(currentSlide).width();
    var toX;
    if ($(currentSlide).css('left') == '0px') {
      if (!!direction) {
        toX = width;
      } else {
        toX = -width;
      }

      $(currentSlide).animate({ left: toX }, 'normal');

      $(slides).find('div.slide:eq(' + id + ')')
				.css('left', -toX)
				.css('display', 'block')
				.animate({ left: 0 }, 'normal');

      $(thumbs + ' ul').find('li:eq(' + currentSlideID + ')').removeClass('selected');
      $(thumbs + ' ul').find('li:eq(' + id + ')').addClass('selected');

      currentSlideID = id;
    }

    // if (!timerCanceled) {
    //  setTimer();
    // }
  }


  /* sets animation timer */
  function setTimer() {
    if (slidesTotal > 1) {
      animationTimer = setInterval(function () {
        if (!timerCanceled) {
          var slideID = currentSlideID;
          slideID++;
          if (slideID == slidesTotal) {
            slideID = 0;
          }
          setSlide(slideID);
        }
      }, timerDelay);
    }
  }

  /* removes timer */
  function removeTimer() {
    clearTimeout(animationTimer);
    timerCanceled = true;
  }

  setSlides();
  setNav();

  setTimer();

  /* XXX for banners*/

  /*
  $('.banner_gdc').hover(
  function(){
  $('.banner_gdc').css('background', '#000 url(../images/banner_03_03_hover_02.jpg) no-repeat 0 0')
  },
  function(){
  $('.banner_gdc').css('background', '#000 url(../images/banner_03_03.jpg) no-repeat 0 0')      
  })
  
  $('.banner_sdk').hover(
  function(){
  $('.banner_sdk').css('background', '#000 url(../images/banner_05_05_hover.jpg) no-repeat 0 0')
  },
  function(){
  $('.banner_sdk').css('background', '#000 url(../images/banner_03_03.jpg) no-repeat 0 0')      
  })
  */

});
