$(document).ready(function(){
  //config variables
  var autoscroll_on = false;
  var autoscroll_speed = 6000; //speed in millisec
  var newsbox_width = 412; //width in pixels
  var createlink = false; //auto create links
  
  
  //script variables
  var news_num = $(".gallery_pager div div img").length; 
  $(".gallery_pager div div").css("width" , (newsbox_width * news_num));
  var pos = 0;
  var max_pos = (newsbox_width * news_num) * - 1;
  
  
  /******SCRIPT FUNCTIONS START******/
  //show/hide next/prev page buttons
  function show_next_page_button () {$(".gallery_pager_next_page").css({ visibility: "visible" });}
  function show_prev_page_button () {$(".gallery_pager_prev_page").css({ visibility: "visible" });}
  function hide_next_page_button () {$(".gallery_pager_next_page").css({ visibility: "hidden" });}
  function hide_prev_page_button () {$(".gallery_pager_prev_page").css({ visibility: "hidden" });}
  
  
  //removes all active class
  function reset_active_class () {$(".news_container_pager div div a").attr("class" , "");}
  
  //move right function
  function move_right (multi) {
    pos = pos + (newsbox_width*multi);  
    
    return pos;
  }  
  
  
  //move left function
  function move_left (multi) {
    pos = pos - (newsbox_width*multi);
      
    return pos;
  }    
  /******SCRIPT FUNCTIONS END******/


  //prev page button is hidden by default
  hide_prev_page_button ();
  
  
  //next page button is hidden if the news number is 1 or 0
  if (news_num == 1 || news_num == 0) {hide_next_page_button ();}
  
  
  //creates links
  if (news_num != 0 && createlink == true) {
    for (i = 1; i <= news_num; i++) {
      if (i == 1) {$(".news_container_pager div div").append("<a href='#' class='active'>" + i + "</a>");}
      
      else {$(".news_container_pager div div").append("<a href='#'>" + i + "</a>");}
    }      
  }  

  
  /******AUTO SCROLL START******/
  if (autoscroll_on == true && news_num > 2) {
    var timer;

    
    //autoscroll function
    function autoscroll () {
      timer = setInterval(next, autoscroll_speed);
      
      return timer;
    }
    
    
    //scrolls to 0 position
    function resetslide () {$(".news_container div div").animate({left: "0px"}, 'normal','easeInQuad');}
    
    
    
    //scrolls items right
    function next () {
      //when last item displayed autoscroll starts over 
      if (pos == max_pos + newsbox_width) {
        resetslide (); 
        pos = 0; 
        
        reset_active_class ();
        $(".news_container_pager div div a:eq(0)").attr("class" , "active");
        
        show_next_page_button ();
        hide_prev_page_button ();
      }
      
      else {  
        reset_active_class ();
        $(".news_list").parents("div:eq(0)").animate({left: "" + move_left (1) + "px"}, 'normal','easeInQuad');
        
        show_prev_page_button ();
        show_next_page_button ();
        
        if (pos == 0) {
          $(".news_container_pager div div a:eq(0)").attr("class" , "active");
          hide_prev_page_button ();
        }
        
        for (i = 1; i < news_num; i++) {if (pos == newsbox_width * i * -1) {$(".news_container_pager div div a:eq(" + i + ")").attr("class" , "active");}}

        if (pos == max_pos + newsbox_width) {hide_next_page_button ();}
      }
    }
    
    
    //hover function, stops autoscroll on mouseover / starts autoscroll on mouseout
    $(".news_container").hover(
      function() {clearInterval(timer);},
      function() {autoscroll ();}
    );
    
    autoscroll ();
  }
  /******AUTO SCROLL END******/
  
  
  //bind click function to prev page button
  $(".gallery_pager_prev_page").click(function(){
    //hides / shows prev/next button depending on news number
    if (pos == (max_pos + newsbox_width)) {show_next_page_button ();}
    if (pos == newsbox_width * -1) {hide_prev_page_button ();}
    
    var click_num = pos / newsbox_width*-1;
    var next_click_num = 1+pos / newsbox_width*-1;
    var prev_click_num = -1+pos / newsbox_width*-1;
    
    $(".gallery_pager_header p:eq(" + click_num + ")").hide();
    $(".gallery_pager_header p:eq(" + prev_click_num + ")").show();
    
    $(".gallery_pager_bottom .gallery_pager_bottom_container:eq(" + click_num + ")").hide();
    $(".gallery_pager_bottom .gallery_pager_bottom_container:eq(" + prev_click_num + ")").show();
    
    /*
    $(".gallery_pager_bottom p:eq(" + click_num + ")").hide();
    $(".gallery_pager_bottom p:eq(" + prev_click_num + ")").show();
    
    $(".gallery_pager_bottom a:eq(" + click_num + ")").hide();
    $(".gallery_pager_bottom a:eq(" + prev_click_num + ")").show();
    */
    //highlights active page link
    /*reset_active_class ();
    
    for (i = 1; i < news_num; i++) {if (pos == newsbox_width * i * -1) {$(".news_container_pager div div a:eq(" + (i-1) + ")").attr("class" , "active");}}
    */    
        
    //shows prev page
    $(".gallery_pager div div").animate({left: "" + move_right (1) + "px"}, 'normal','easeInQuad');
        
    return false;
  });
  
  
  //bind click function to next page button
  $(".gallery_pager_next_page").click(function(){
    //hides / shows prev/next button depending on news number
    if (pos == (max_pos + newsbox_width*2)) {hide_next_page_button ();}
    if (pos == 0) {show_prev_page_button ();}
    
    var click_num = pos / newsbox_width*-1;
    var next_click_num = 1+pos / newsbox_width*-1;
    var prev_click_num = -1+pos / newsbox_width*-1;
       
    $(".gallery_pager_header p:eq(" + click_num + ")").hide();
    $(".gallery_pager_header p:eq(" + next_click_num + ")").show();
    
    $(".gallery_pager_bottom .gallery_pager_bottom_container:eq(" + click_num + ")").hide();
    $(".gallery_pager_bottom .gallery_pager_bottom_container:eq(" + next_click_num + ")").show();
    
    /*
    $(".gallery_pager_bottom p:eq(" + click_num + ")").hide();
    $(".gallery_pager_bottom p:eq(" + next_click_num + ")").show();
    
    $(".gallery_pager_bottom a:eq(" + click_num + ")").hide();
    $(".gallery_pager_bottom a:eq(" + next_click_num + ")").show();
    */
    //highlights active page link
    /*reset_active_class ();
    
    for (i = 0; i < news_num - 1; i++) {if (pos == newsbox_width * i * -1) {$(".news_container_pager div div a:eq(" + (i+1) + ")").attr("class" , "active");}}
	*/
    
    //shows next page
    $(".gallery_pager div div").animate({left: "" + move_left (1) + "px"}, 'normal','easeInQuad');
    
    return false;
  });
  
  
  //
  $(".gallery_item img").click(function(){
    var img_num = $(this).parents("div:eq(0)").prevAll(".gallery_item").size() + 1; 
    var prev_img_num = img_num - 1;
    var gall_pos = pos / newsbox_width * - 1;
    var diff = prev_img_num - gall_pos;

    
    
    if (gall_pos == prev_img_num) {return false;}
    
    else {
      if (img_num == 1) {
        hide_prev_page_button ();
        show_next_page_button ();
      }
      else if (img_num == news_num) {
        hide_next_page_button ();
        show_prev_page_button ();
      }
      else {
        show_prev_page_button ();
        show_next_page_button ();
      }
      
      if (diff < 0 ) {
        $(".gallery_pager div div").animate({left: "" + move_right (-diff) + "px"}, 'normal','easeInQuad');      
      }
      
      if (diff > 0 ) {
        $(".gallery_pager div div").animate({left: "" + move_left (diff) + "px"}, 'normal','easeInQuad');    
      }
      
    
      $(".gallery_pager_header p").hide();
      $(".gallery_pager_header p:eq(" + prev_img_num + ")").show();
      
      $(".gallery_pager_bottom .gallery_pager_bottom_container").hide();
      $(".gallery_pager_bottom .gallery_pager_bottom_container:eq(" + prev_img_num + ")").show();
      
      /*
      $(".gallery_pager_bottom p").hide();
      $(".gallery_pager_bottom p:eq(" + prev_img_num + ")").show();
      
      $(".gallery_pager_bottom a").hide();
      $(".gallery_pager_bottom a:eq(" + prev_img_num + ")").show();
      */     
    }
    
  });


  //bind click function to page buttons
  /*
  $(".news_container_pager div div a").click(function(){
    if ($(this).html() !== "") {
      var activelink = $(".news_container_pager div div").find(".active").html();
      var pagenum = $(this).html();
      var linknum = $(this).html()-1;
      var diff = pagenum - activelink;
      
      reset_active_class ();
        
      if (diff > 0) {
        $(".news_list").parents("div:eq(0)").animate({left: "" + move_left (diff) + "px"}, 'normal','easeInQuad');
      }
      
      if (diff < 0) {
        $(".news_list").parents("div:eq(0)").animate({left: "" + move_right (-diff) + "px"}, 'normal','easeInQuad');
      }

      
      //shows / hides prev / next buttons depending on position
      show_prev_page_button ();
      show_next_page_button ();
      
      if (pos == 0) {hide_prev_page_button ();};
      if (pos == (max_pos + newsbox_width)) {hide_next_page_button ();};
      
      
      //highlights active page link
      reset_active_class ();
      
      for (i = 0; i < news_num; i++) {if (pos == newsbox_width * i * -1) {$(".news_container_pager div div a:eq(" + i + ")").attr("class" , "active");}}
    }
    
    return false;
  });
  */
});
