/* TODO: das sollte umbenannt werden -- das hat mit dem originalen Slideviewer nicht mehr viel zu tun */
var j = 0;
$.fn.slideView = function(settings) {
    settings = $.extend({
        easeFunc: "easeInOutExpo", /* <-- easing function names changed in jquery.easing.1.2.js */
        easeTime: 750,
        showFirst: 0,
        setCookie: false,
        cookieName: false
  }, settings);

	return this.each(function(){
	    var container = $(this);
      /* add styles - those are not in the main css for viewing the slides w/o JS */
      container.css ('position', 'relative', 'left', '-999em', 'overflow', 'hidden');

	    container.find("img.ldrgif").remove(); // removes the preloader gif
	    container.removeClass("svw").addClass("stripViewer");

      image = container.find("li").find("img");
      var pictWidth = image.outerWidth({margin: true});
      var scrollWidth = pictWidth + parseFloat(image.parent().css('margin-right'))+ parseFloat(image.parent().css('margin-left'))+ parseFloat(image.parent().css('padding-right'))+ parseFloat(image.parent().css('padding-left'));

      var pictHeight = image.outerHeight({margin: true});
//      var pictHeight = image.height();

	    var pictEls = container.find("li").size();
	    var stripViewerWidth = scrollWidth*pictEls;
	    container.find("ul").css("width" , stripViewerWidth);
/*	    container.css("width" , pictWidth);*/
      container.css("width", "960px");
	    container.css("height" , pictHeight);
      
      if (settings.showFirst >= pictEls) settings.showFirst = 0;
      container.find('ul').css('left', -(scrollWidth) * settings.showFirst);

	    container.each(function(i) {
        if ($('#stripTransmitter' + j).length) {
          $('#stripTransmitter' + j).html('<ul></ul>');
          $(this).find("li").each(function(n) {
            imgurl = $('.stripViewer:eq('+j+') li:eq('+n+') img.full').attr('src');
            if (imgurl) {
              imgurl = imgurl.replace(/^(.*)\.(.*)$/, "$1.thumb.$2");
            } else if ($('.stripViewer:eq('+j+') li:eq('+n+') img.thumb')){
              imgurl = $('.stripViewer:eq('+j+') li:eq('+n+') img.thumb').attr('src');
            } else {
              imgurl = 'ERROR';
            }
          
            $("div#stripTransmitter" + j + " ul").append("<li><a href=\"#\"><img src=\""+imgurl+"\" alt=\"\" \/><\/a><\/li>");
          });

          $("div#stripTransmitter" + j + " ul li").hover(function(){$(this).addClass('hover');}, function(){$(this).removeClass('hover')});
          
          curJ = j;
          $("div#stripTransmitter" + j + " a").each(function(z) {
            $(this).bind("click", function(){
              if (settings.setCookie && settings.cookieName) {
                  expire = new Date();
                  expire.setTime(expire.getTime()+(365*24*60*60*1000));
                  var expires = "; expires="+expire.toGMTString();
                  document.cookie = "selectedImage"+settings.cookieName+"=" +z + ";"+expires;
              }
                                              
              $(this).addClass("current").parent().parent().find("a").not($(this)).removeClass("current");
              $(this).parent('li').addClass("current").parent().find("li").not($(this).parent('li')).removeClass("current");

              var cnt = -(scrollWidth*z);
              galOffset = z;
              $('.stripViewer:eq(' + curJ + ')').find('ul').stop().animate({ left: cnt}, settings.easeTime, settings.easeFunc, function(){
                $('.stripViewer:eq(' + curJ + ')').find('ul').css('left', cnt);
                $(this).css('left', cnt);
              });
              return false;
            });
          });
          $("div#stripTransmitter" + j).css("width" , pictWidth);
          $("div#stripTransmitter" + j + " a:eq(" + settings.showFirst + ")").addClass("current");
          $("div#stripTransmitter" + j + " li:eq(" + settings.showFirst + ")").addClass("current");
        } else {
  
        }
      });
    j++;
  });	
};