﻿$(function() {
   // code to execute when the DOM is ready
  $.extend({
    CBZ_SLDR :{
      intval : "",
      config : "",
      current_position : 1,
      init : function(custom_config){
         //var offload_pages = new Boolean('${offload}');
         
        if(typeof(custom_config)==="undefined"){ // set default values
          $.CBZ_SLDR.config = { 
            time_per_slide:4000, 
            slide_motion_time:500, 
            belt_item_width:940,
            belt_item_height:475,
            path:'/Files/Templates/Designs/Densit/images/'
          };
        }
        else{
          $.CBZ_SLDR.config = custom_config;
        }

        $.CBZ_SLDR.setLanguage();

        // setup remaining css styles
        $.CBZ_SLDR.cssSetup(); 
        
        $.CBZ_SLDR.config.belt_item_count = $(".belt-item").length;
        $.CBZ_SLDR.config.belt_width = $.CBZ_SLDR.config.belt_item_count * $.CBZ_SLDR.config.belt_item_width;
        $("#belt").css("width", $.CBZ_SLDR.config.belt_width+"px");
        
        //$.CBZ_SLDR.developerMethod(); 
        
        $("#belt").bind("mouseenter", $.CBZ_SLDR.stop);
        $("#belt").bind("mouseleave", $.CBZ_SLDR.start);
        
        $.CBZ_SLDR.setupDirectLinks();
        
        $.CBZ_SLDR.start();
      },
      
      start : function(){
        $.CBZ_SLDR.intval = window.setInterval("$.CBZ_SLDR.next()", $.CBZ_SLDR.config.time_per_slide);
      },
      
      stop : function(){
        window.clearInterval($.CBZ_SLDR.intval);
      },
      
      previous : function(){
        $.CBZ_SLDR.current_position = $.CBZ_SLDR.current_position - 1;
        if($.CBZ_SLDR.current_position >= 1)
           $("#belt").animate({"left": "+="+$.CBZ_SLDR.config.belt_item_width+"px"}, $.CBZ_SLDR.config.slide_motion_time);
        else{
          $.CBZ_SLDR.current_position = 1;  
        }
        $.CBZ_SLDR.updateCurrentLinkButton();
      },
      
      next : function(){
        $.CBZ_SLDR.current_position = 1 + eval($.CBZ_SLDR.current_position);
        if( $.CBZ_SLDR.current_position > $.CBZ_SLDR.config.belt_item_count ){ $.CBZ_SLDR.resetSlideviewer(); }
        else{ $("#belt").animate({"left": "-="+$.CBZ_SLDR.config.belt_item_width+"px"}, $.CBZ_SLDR.config.slide_motion_time); } 
        $.CBZ_SLDR.updateCurrentLinkButton();
      },
      
      cssSetup : function(){
        $("#slideviewer").css( "width", $.CBZ_SLDR.config.belt_item_width+"px" );
        $("#slideviewer").css( "height", $.CBZ_SLDR.config.belt_item_height+"px" );
      },
      
      setupDirectLinks : function(){
        var l = $.CBZ_SLDR.config.belt_item_count;

        $( ".link-bttn" ).remove();

        // GET THE HREF TO ATTACH TO SLIDER IMAGE
        var image_links = $("#slideviewer .images")//$("div.slider_contact");
        for( var i=1; i<=l; i++){
          var el;
          var link = $(image_links[i-1]).find('a').attr('href');

          
          var link = (typeof $(image_links[i-1]).find('a').attr('href') == 'undefined') ? 'javascript:void()' : $(image_links[i-1]).find('a').attr('href');
          if( i == 1 ) {
            el = $("<div/>").addClass("link-bttn active").append( 
                $("<a/>").attr("href",link).append( 
                  $("<img/>").attr({src: $.CBZ_SLDR.config.path+"link"+ i +"On.png", border:'0'})//.attr("height","73")
                )
              );
          }else{
            el = $("<div/>").addClass("link-bttn").append(
                $("<a/>").attr("href",link).append( 
                  $("<img/>").attr({src: $.CBZ_SLDR.config.path+"link"+ i +"Off.png", border:'0'})//.attr("height","73")
                )
              );
          }
          $( el ).attr( 'id', 'bttn' + i);
          /*
          
          var el;
          
          if( i == 1 ) {
            el = $("<div/>").addClass("link-bttn active").append(
              $("<img/>").attr("src", $.CBZ_SLDR.config.path+"link"+ i +"On.png")//.attr("height","73")
            );
          }else{
            el = $("<div/>").addClass("link-bttn").append(
              $("<img/>").attr("src", $.CBZ_SLDR.config.path+"link"+ i +"Off.png")//.attr("height","73")
            );
          }
          
          $( el ).attr( 'id', 'bttn' + i);
          
          el.click( function(){
            $.CBZ_SLDR.slideDirectlyToPosition( $(this).attr('id').substring(4) );     
          });
          */
          $( ".links" ).append( el );
        }
      },
      
      slideDirectlyToPosition : function(goto){
        $.CBZ_SLDR.stop();
        var distance = (goto - $.CBZ_SLDR.current_position);

        if( distance < 0 )
           $("#belt").animate({"left": "+="+ ( $.CBZ_SLDR.config.belt_item_width * Math.abs(distance) ) +"px"}, 50);//$.CBZ_SLDR.config.slide_motion_time);
        else if( distance > 0 )
           $("#belt").animate({"left": "-="+ ( $.CBZ_SLDR.config.belt_item_width * Math.abs(distance) ) +"px"}, 50);//$.CBZ_SLDR.config.slide_motion_time);
        $.CBZ_SLDR.current_position = goto;
        $.CBZ_SLDR.updateCurrentLinkButton();
      },
      
      updateCurrentLinkButton : function(){
        var prev_active_El = $("[class=link-bttn active]");
        var prev_active_pos = prev_active_El.find("img").attr("src").charAt( $.CBZ_SLDR.config.path.length + 4 ); // link#On.png .. 4 is the index number
        $(prev_active_El).toggleClass("active").find("img").attr("src", $.CBZ_SLDR.config.path+"link"+ prev_active_pos +"Off.png")//.attr("height","73")
        $('#bttn'+($.CBZ_SLDR.current_position)).toggleClass("active").find("img").attr("src", $.CBZ_SLDR.config.path+"link"+ $.CBZ_SLDR.current_position +"On.png");
      },
      
      resetInterval : function(){
        window.clearInterval($.CBZ_SLDR.intval);
        $.CBZ_SLDR.intval = window.setInterval("$.CBZ_SLDR.next()", $.CBZ_SLDR.config.time_per_slide);
      },
      
      resetSlideviewer : function(){
        $.CBZ_SLDR.current_position = 1;
        $("#belt").animate(
          {"left": "+="+($.CBZ_SLDR.config.belt_width-$.CBZ_SLDR.config.belt_item_width)+"px"}, 
          50);//$.CBZ_SLDR.config.slide_motion_time);  
      },
      setLanguage : function(){
        if( typeof(areaid) !== 'undefined' ){
          $.CBZ_SLDR.config.path = '/Files/Templates/Designs/Densit/images/plugin/sprog_'+areaid+'/';
        }
      }
    }   
   });
});
     
















































































