// Variablen und Arrays definieren
var iwa, iha, iwn, ihn, imf, autoplay=0, sl_chp=1, sl_cvp=1, sl_ndr=0, sl_ndd=0, sl_ndl=0, sl_ndu=0, sl_rl=false, sl_dl=false, sl_ll=false, sl_ul=false, sl_rno=false, sl_dno=false, sl_lno=false, sl_uno=false, sl_rno_nos=false, sl_dno_nos=false, sl_lno_nos=false, sl_uno_nos=false, sl_ttr=0, sl_ttd=0, sl_ttl=0, sl_ttu=0, sl_ttr_v=0, sl_ttd_v=0, sl_ttl_v=0, sl_ttu_v=0, sl_tt_c=0, slider_images=new Array(), slider_cover=new Array(), sl_tt_to=new Array(), sl_tt_p, sl_noi=true, sl_auto_stop=false;

// Standard-Konfiguration
var maindiv_margin       = 50;                         // Mindestseitenrand in Pixel (links u. rechts) von "maindiv"
var sl_auto              = false;                      // Autoplay-Modus?
var sl_auto_sec          = 5;                          // Anzahl der Sekunden je Bildwechsel im Autoplay-Modus
var img_width            = 1200;                       // Bildbreite in Pixel
var img_height           = 800;                        // Bildhöhe in Pixel
var min_width            = 700;                        // minimale Bildbreite in Pixel
var max_width            = 1200;                       // maximale Bildbreite in Pixel
var sl_border_id         = "slider_border";            // Element-ID für den Rahmen des Slider
var sl_border_correction = 0;                          // horizonatale Rahmenanpassung (für sauberere Ansicht)
var sl_tooltip_id        = "slider_tooltip";           // Element-ID für die Tooltips
var sl_tooltip_sp_len    = 10;                         // Pfeillänge eines Tooltips
var sl_tooltip_sp_gir    = 10;                         // Pfeilbreite eines Tooltips
var sl_tooltip_pad       = 10;                         // Innenabstand eines Tooltips
var sl_tooltip_rad       = 5;                          // Radius der Rundungen eines Tooltips
var sl_tooltip_fill      = "rgba(255, 255, 255, 0.7)"; // Füllung eines Tooltips
var sl_tooltip_fcol      = "black";                    // Schriftfarbe eines Tooltips
var sl_tooltip_speed     = 1000;                       // Ein- bzw. Ablendzeit eines Tooltips
var sl_tooltip_off_sec   = 15;                         // Sekunden nachdem alle Tooltips automatisch ausgeblendet werden (oder false für keine Ausblendung)
var sl_tooltip_cook_pref = "default";                  // Cookie-Prefix eines Tooltips (zur Speicherung, ob ein Tooltip bereits angezeigt wurde)
var sl_tooltip_cook_expi = 365;                        // Ablaufzeit eines Tooltip-Cookies
var sl_navi_id           = "slider_navi";              // Element-ID für die Navigation des Slider
var sl_nav_show          = 34;                         // wieviel Pixel sollen die Navigationsbuttons sichtbar sein?
var sl_navi_link_right   = false;                      // rechten Navigations-Button in Link umwandeln? (nein=false, ja=URL eintragen)
var sl_navi_link_down    = false;                      // rechten Navigations-Button in Link umwandeln? (nein=false, ja=URL eintragen)
var sl_navi_link_left    = false;                      // rechten Navigations-Button in Link umwandeln? (nein=false, ja=URL eintragen)
var sl_navi_link_up      = false;                      // rechten Navigations-Button in Link umwandeln? (nein=false, ja=URL eintragen)
var sl_navi_off          = false;                      // Navigation deaktivieren?
var sl_preload_id        = "slider_preload";           // Element-ID für den Preloader des Slider
var sl_id                = "slider";                   // Element-ID für den Slider
var sl_speed             = 1000;                       // Slider-Geschwindigkeit
var sl_first_fade        = 1000;                       // Geschwindigkeit des Einblendevorgangs vom ersten Bild (nach dem vorladen der Bilder)
var sl_no_image          = "No images.";               // Hinweistext, wenn keine Bildreihen verfügbar sind
var sl_cover_border      = 25;                         // äußerer Rahmen des Deckblatts einer Bilderreihe
var sl_cover_background  = "black";                    // die Farbe des Deckblatts einer Bilderreihe
var sl_cover_opacity     = 70;                         // die Deckkraft des Deckblatts (in %) einer Bilderreihe
var sl_cover_class       = "slider_cover";             // die CSS-Klasse des Deckblatts einer Bilderreihe
var sl_image_class       = "slider_image";             // die CSS-Klasse der Bilder

// Funktion zur dynamischen Anpassung der Website an die Fenstergröße
function resize_website()
{
   // verfügbare Breite u. Höhe für Bild ermitteln
   iwa = $(window).width()-(maindiv_margin*2);
   iha = $(window).height()-$("#header").outerHeight()-$("#footer").outerHeight();
         
   // auf Grundlage des verfügbaren Platzes, die maximal möglichen Bildmaße berechnen
   if (img_width<img_height)
   {
      imf = img_width/iwa;
   }   
   else
   {
      imf = img_height/iha;                
   }           
   iwn = Math.round(img_width/imf);
   ihn = Math.round(img_height/imf);             
            
   // minimale Biltbreite berücksichtigen
   if (iwn<min_width)
   {
      imf = img_width/min_width;
      iwn = Math.round(img_width/imf);
      ihn = Math.round(img_height/imf); 
   }
         
   // maximale Biltbreite berücksichtigen
   if (iwn>max_width)
   {
      imf = img_width/max_width;
      iwn = Math.round(img_width/imf);
      ihn = Math.round(img_height/imf); 
   }       

   // Breite der Website anpassen
   $("#maindiv").width(iwn+($("#"+sl_border_id+" .lb").width()+$("#"+sl_border_id+" .rb").width())+sl_border_correction);
         
   // Seitenhöhe setzen (falls nötig)
   if ($(window).width()<(maindiv_margin*2+$("#maindiv").outerWidth()))
   {
      $("body").width(maindiv_margin*2+$("#maindiv").outerWidth());    
   }
   else
   {
      $("body").width($(window).width());       
   }
         
   // Seitenhöhe anpassen (falls nötig)
   if ($(window).height()<(ihn+$("#header").outerHeight()+$("#footer").outerHeight()))
   {
      $("body").height(ihn+$("#header").outerHeight()+$("#footer").outerHeight());    
   }
   else
   {
      $("body").height($(window).height());       
   }

   // Seitenbreite anpassen (falls nötig)
   if ($(window).width()<(maindiv_margin*2+$("#maindiv").outerWidth()))
   {
      $("body").width(maindiv_margin*2+$("#maindiv").outerWidth());    
   }
   else
   {
      $("body").width($(window).width());       
   }
}

// Slider initialisieren
function slider_init(id1, id2, id3)
{     
   var ul_li_count, sl_ul_count, sl_img_content="";

   slider_hidden(id1);
   if (slider_images.length)
   {     
      for(var si=0; si<slider_images.length; si++)
      {
         sl_img_content += "<ul>";
         for(var sii=0; sii<slider_images[si].length; sii++)
         {
            if (!sii)
            {
               sl_img_content += "<li><div class=\"sl_cover_out\" style=\"display:none; position:absolute; width:"+((iwn-(sl_cover_border*2))/3)+"px; height:"+(ihn-(sl_cover_border*2))+"px; top:"+sl_cover_border+"px; left:"+sl_cover_border+"px; background-color:"+sl_cover_background+"\"></div><div class=\"sl_cover_in\" style=\"display:none; position:absolute; width:"+((iwn-(sl_cover_border*2)/3))+"px; height:"+(ihn-(sl_cover_border*2))+"px; top:"+sl_cover_border+"px; left:"+sl_cover_border+"px\"><div class=\""+sl_cover_class+"\" style=\"position:absolute; overflow:auto\">"+slider_cover[si]+"</div></div><img class=\""+sl_image_class+"\" src=\""+slider_images[si][sii]+"\" alt=\"\" /></li>";
            }
            else
            {
               sl_img_content += "<li><img class=\""+sl_image_class+"\" src=\""+slider_images[si][sii]+"\" alt=\"\" /></li>";            
            }
         }
         sl_img_content += "</ul>";
      }
   }
   else
   {      
      $("#"+id2+" .userinfo").fadeOut(sl_first_fade);
      $("#"+id2+" .loader").fadeOut(sl_first_fade, function(){ $("#"+id2).css({top : ihn/2}); $("#"+id2).css("textAlign", "center"); $("#"+id2).html(sl_no_image); });     
   } 
   
   $("#"+id1).append(sl_img_content); 
   sl_ul_count = $("#"+id1+" ul").length;  
   $("#"+id1+" ul li .sl_cover_out").css({opacity: sl_cover_opacity/100});   
   
   $("#"+id1).height(ihn);         
   $("#"+id1).css(
   {
      overflow: "hidden",
      position: "relative"
   }); 
     
   $("#"+id1+" ul li").css(
   {
      display: "inline-block",
      margin:  0,
      padding: 0,
      float:   "left",
      width:   iwn+"px"            
   });          

   for(var i=1; i<sl_ul_count+1; i++)
   {
      ul_li_count = $("#"+id1+" ul:nth-child("+i+")").children().length+1;
      $("#"+id1+" ul:nth-child("+i+")").css(
      {
         display:   "inline-block",
         margin:    0,
         padding:   0,
         listStyle: "none",
         position:  "absolute",
         top:       (i*ihn-ihn)+"px",
         width:     (ul_li_count*iwn)+"px"           
      });
      
      $("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("width", (((iwn-(sl_cover_border*2))/3)-(parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginRight"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginRight")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginLeft"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginLeft")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingRight"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingRight")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingLeft"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingLeft")))))+"px");
      if($.browser.msie && $.browser.version=="6.0")
      {
         $("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("height", ((ihn/10*9)-(sl_cover_border*2)-(parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop")))))+"px");
      }
      else
      {
          $("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("maxHeight", ((ihn/10*9)-(sl_cover_border*2)-(parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom")))+parseInt(($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop"))=="auto" ? 0 : ($("#"+id1+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop")))))+"px"); 
      }
   }
   
   slider_show(id1);
   $("#"+id1+" li:first").on_images_loaded(function()
   {
      $("#"+id1+" ul li img").fadeIn(sl_first_fade, function()
      {
         $("#"+id2+" .userinfo").css("display", "none");
         $("#"+id2+" .loader").css("display", "none");
         $("#"+id3).css("visibility", "visible");
         slider_navi_show(id1, id3, sl_nav_show, false, false);
         
         if (sl_navi_link_right)
         {
            slider_navi_show(id1, id3, sl_nav_show, "right", true);
            slider_navi_link(sl_navi_link_right, "right");             
         }
         if (sl_navi_link_down)
         {
            slider_navi_show(id1, id3, sl_nav_show, "down", true);
            slider_navi_link(sl_navi_link_down, "down");             
         }
         if (sl_navi_link_left)
         {
            slider_navi_show(id1, id3, sl_nav_show, "left", true);
            slider_navi_link(sl_navi_link_left, "left");             
         }         
         if (sl_navi_link_up)
         {
            slider_navi_show(id1, id3, sl_nav_show, "up", true);
            slider_navi_link(sl_navi_link_up, "up");             
         }  
         
         $("#"+id1+" ul li div").fadeIn(sl_first_fade, function()
         {
            if (sl_auto && !autoplay)
            {
               autoplay = window.setInterval(slider_autoplay, sl_auto_sec*1000);
            }
         });
      });
   });
}

// dem Slider eine neue Bildreihe hinzufügen
function slider_add_image_row(cover_html, img_arr)
{
   var cir = slider_images.length;
   slider_images[cir] = img_arr;
   slider_cover[cir] = cover_html;  
}
    
// Slider entsprechend der Website anpassen
function slider_position_correction(id, width, height)
{
   var sl_ul_count = $("#"+id+" ul").length;
   var ul_li_count;   
   
   $("#"+id).height(height);
   $("#"+id+" ul li").width(width);
   $("#"+id+" ul li").height(height);
   $("#"+id+" ul li .sl_cover_out").width((width-(sl_cover_border*2))/3);
   $("#"+id+" ul li .sl_cover_out").height(height-(sl_cover_border*2));
   $("#"+id+" ul li .sl_cover_in").width((width-(sl_cover_border*2))/3);
   $("#"+id+" ul li .sl_cover_in").height(height-(sl_cover_border*2));
   
   if (sl_chp==1)
   {
      $("#"+id+" ul:nth-child("+sl_cvp+")").css("left", (0-(sl_chp*width-width))+"px");
   }
   else
   {
      $("#"+id+" ul:nth-child("+sl_cvp+")").css("left", (0-(sl_chp*width-(width*2)))+"px");   
   }
     
   if (sl_chp>1)
   {
      $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_out").css("left", (0-$("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_out").width()-sl_cover_border)+"px"); 
      $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_in").css("left", (0-$("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_out").width()-sl_cover_border)+"px"); 
   }
   else
   {
      $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_out").css("left", sl_cover_border+"px"); 
      $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_in").css("left", sl_cover_border+"px");    
   }
     
   for(var i=1; i<sl_ul_count+1; i++)
   {
      ul_li_count = $("#"+id+" ul:nth-child("+i+")").children().length+1;
      $("#"+id+" ul:nth-child("+i+")").css(
      {
         top:   ((i*height-height)-(sl_cvp*height-height))+"px",
         width: (ul_li_count*width)+"px"      
      }); 
      
      $("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("width", (((iwn-(sl_cover_border*2))/3)-(parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginRight"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginRight")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginLeft"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginLeft")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingRight"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingRight")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingLeft"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingLeft")))))+"px");
      if($.browser.msie && $.browser.version=="6.0")
      {
         $("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("height", ((ihn/10*9)-(sl_cover_border*2)-(parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop")))))+"px");
      }
      else
      {
          $("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("maxHeight", ((ihn/10*9)-(sl_cover_border*2)-(parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginBottom")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("marginTop")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingBottom")))+parseInt(($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop"))=="auto" ? 0 : ($("#"+id+" ul:nth-child("+i+") ."+sl_cover_class).css("paddingTop")))))+"px"); 
      }
   }
}

// nach rechts sliden
function slider_right(id, width, speed)
{
   if (!sl_rl)
   {
      if (sl_chp<=$("#"+id+" ul:nth-child("+sl_cvp+")").children().length && !sl_navi_off)
      {
         if (sl_chp==1)
         {
            $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_out").animate(
            {
               left : "-="+(((width+sl_cover_border)/3)+sl_nav_show)+"px"
            }, speed);
      
            $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_in").animate(
            {
               left : "-="+(((width+sl_cover_border)/3)+sl_nav_show)+"px"
            }, speed);      
         }
         else
         {
            $("#"+id+" ul:nth-child("+sl_cvp+")").animate(
            {
               left : "-="+width+"px"
            }, speed, "", function(){ slider_position_correction(id, width, ihn); });
         }
              
         sl_chp += 1;      
         if (sl_noi)
         {
            slider_navi_hidden(sl_navi_id, sl_nav_show);
            slider_navi_show(id, sl_navi_id, sl_nav_show, false, false); 
         }
      }
      else
      {
         if (sl_auto && !sl_auto_stop)
         {
            slider_autoplay_stop();
            slider_left(sl_id, iwn, sl_speed);
            autoplay = window.setInterval(slider_autoplay_back, sl_auto_sec*1000);
         }
      }
   }
   else
   {
      location.href=sl_rl; 
   }
}

// nach unten sliden
function slider_down(id, height, speed)
{
   if (!sl_dl)
   {
      if (sl_cvp<$("#"+id+" ul").length && !sl_navi_off)
      {
         $("#"+id+" ul").animate(
         {
            top : "-="+height+"px"
         }, speed, "", function(){ $("#"+id+" ul").css("left", "0px"); $("#"+id+" ul .sl_cover_out").css("left", sl_cover_border+"px"); $("#"+id+" ul .sl_cover_in").css("left", sl_cover_border+"px"); slider_position_correction(id, iwn, height); }); 
            
         sl_cvp += 1;
         sl_chp  = 1;    
         if (sl_noi)
         {  
            slider_navi_hidden(sl_navi_id, sl_nav_show);
            slider_navi_show(id, sl_navi_id, sl_nav_show, false, false); 
         }
      }
   }
   else
   {
      location.href=sl_dl; 
   }
}

// nach links sliden
function slider_left(id, width, speed)
{
   if (!sl_ll)
   {  
      if (sl_chp>1 && !sl_navi_off)
      {
         if (sl_chp==2)
         {
            $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_out").animate(
            {
               left : "+="+(((width+sl_cover_border)/3)+sl_nav_show)+"px"
            }, speed);   
      
            $("#"+id+" ul:nth-child("+sl_cvp+") .sl_cover_in").animate(
            {
               left : "+="+(((width+sl_cover_border)/3)+sl_nav_show)+"px"
            }, speed); 
         }
         else
         {      
            $("#"+id+" ul:nth-child("+sl_cvp+")").animate(
            {
               left : "+="+width+"px"
            }, speed, "", function(){ slider_position_correction(id, width, ihn); });
         }
 
         sl_chp -= 1; 
         if (sl_noi)
         {    
            slider_navi_hidden(sl_navi_id, sl_nav_show);
            slider_navi_show(id, sl_navi_id, sl_nav_show, false, false); 
         }
      }
      else
      {
         if (sl_auto && !sl_auto_stop)
         {
            slider_autoplay_stop();
            slider_right(sl_id, iwn, sl_speed);
            autoplay = window.setInterval(slider_autoplay, sl_auto_sec*1000);
         }        
      }
   }
   else
   {
      location.href=sl_ll;
   }
}
 
// nach oben sliden    
function slider_up(id, height, speed)
{
   if (!sl_ul)
   { 
      if (sl_cvp>1 && !sl_navi_off)
      {
         $("#"+id+" ul").animate(
         {
            top : "+="+height+"px"
         }, speed, "", function(){ $("#"+id+" ul").css("left", "0px"); $("#"+id+" ul .sl_cover_out").css("left", sl_cover_border+"px"); $("#"+id+" ul .sl_cover_in").css("left", sl_cover_border+"px"); slider_position_correction(id, iwn, height); });
            
         sl_cvp -= 1; 
         sl_chp  = 1;    
         if (sl_noi)
         { 
            slider_navi_hidden(sl_navi_id, sl_nav_show);
            slider_navi_show(id, sl_navi_id, sl_nav_show, false, false); 
         }
      }
   }
   else
   {
      location.href=sl_ul; 
   }
}

// Slider anzeigen
function slider_show(id)
{
   $("#"+id).css("display", "inline-block");
}

// Slider verbergen 
function slider_hidden(id)
{
   $("#"+id).css("display", "none"); 
}

// Slider-Rahmen anpassen und positionieren
function slider_border_position(id)
{
   $("#"+id).height(ihn);
   $("#"+id).width(iwn);      
   $("#"+id+" .lb").height(ihn+$("#"+id+" .ltc").height()+$("#"+id+" .rbc").height());
   $("#"+id+" .rb").height(ihn+$("#"+id+" .ltc").height()+$("#"+id+" .rbc").height());
   $("#"+id+" .tb").width(iwn+$("#"+id+" .ltc").width()+$("#"+id+" .rbc").width());
   $("#"+id+" .bb").width(iwn+$("#"+id+" .ltc").width()+$("#"+id+" .rbc").width());
}

// Funktion zur Einblendung der Tooltips
function slider_tooltip_show(id)
{
   if (sl_ndr && !sl_rno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_right"))
   {
      $("#"+id+" .right").bt(
      {
         trigger : "none",
         clickAnywhereToClose: false,
         padding: sl_tooltip_pad,
         shrinkToFit:true,
         spikeLength: sl_tooltip_sp_len,
         positions: ["top"],
         spikeGirth: sl_tooltip_sp_gir,
         cornerRadius: sl_tooltip_rad,
         strokeWidth: 0,
         fill: sl_tooltip_fill,
         cssStyles: {color: sl_tooltip_fcol, textAlign: "center", whiteSpace:"nowrap"},
         showTip: function(box)
         {
            if (!sl_ttr)
            {
               $(box).fadeIn(sl_tooltip_speed);
            }
            else
            {
               $(box).show();    
            }
         },
         hideTip: function(box)
         {
            if (!sl_ttr)
            {
               $(box).fadeOut(sl_tooltip_speed);
            }
            else
            {
               $(box).hide();    
            }
         }
      });  
      $("#"+id+" .right").btOn();
      slider_tooltip_cookie_set(sl_tooltip_cook_pref+"_right", sl_tooltip_cook_expi);
      sl_ttr_v=1;
   }

   if (sl_ndd && !sl_rno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_down"))
   {
      $("#"+id+" .down").bt(
      {
         trigger : "none",
         clickAnywhereToClose: false,
         padding: sl_tooltip_pad,
         shrinkToFit:true,
         spikeLength: sl_tooltip_sp_len,
         positions: ["top"],
         spikeGirth: sl_tooltip_sp_gir,
         cornerRadius: sl_tooltip_rad,
         strokeWidth: 0,
         fill: sl_tooltip_fill,
         cssStyles: {color: sl_tooltip_fcol, textAlign: "center", whiteSpace:"nowrap"},
         showTip: function(box)
         {
            if (!sl_ttd)
            {
               $(box).fadeIn(sl_tooltip_speed);
            }
            else
            {
               $(box).show();    
            }
         },
         hideTip: function(box)
         {
            if (!sl_ttd)
            {
               $(box).fadeOut(sl_tooltip_speed);
            }
            else
            {
               $(box).hide();    
            }
         }
      });   
      $("#"+id+" .down").btOn();
      slider_tooltip_cookie_set(sl_tooltip_cook_pref+"_down", sl_tooltip_cook_expi);
      sl_ttd_v=1;
   }
   
   if (sl_ndl && !sl_lno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_left"))
   {
      $("#"+id+" .left").bt(
      {
         trigger : "none",
         clickAnywhereToClose: false,
         padding: sl_tooltip_pad,
         shrinkToFit:true,
         spikeLength: sl_tooltip_sp_len,
         positions: ["top"],
         spikeGirth: sl_tooltip_sp_gir,
         cornerRadius: sl_tooltip_rad,
         strokeWidth: 0,
         fill: sl_tooltip_fill,
         cssStyles: {color: sl_tooltip_fcol, textAlign: "center", whiteSpace:"nowrap"},
         showTip: function(box)
         {
            if (!sl_ttl)
            {
               $(box).fadeIn(sl_tooltip_speed);
            }
            else
            {
               $(box).show();    
            }
         },
         hideTip: function(box)
         {
            if (!sl_ttl)
            {
               $(box).fadeOut(sl_tooltip_speed);
            }
            else
            {
               $(box).hide();    
            }
         }
      });   
      $("#"+id+" .left").btOn();
      slider_tooltip_cookie_set(sl_tooltip_cook_pref+"_left", sl_tooltip_cook_expi);
      sl_ttl_v=1;
   }
      
   if (sl_ndu && !sl_uno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_up"))
   {
      $("#"+id+" .up").bt(
      {
         trigger : "none",
         clickAnywhereToClose: false,
         padding: sl_tooltip_pad,
         shrinkToFit:true,
         spikeLength: sl_tooltip_sp_len,
         positions: ["top"],
         spikeGirth: sl_tooltip_sp_gir,
         cornerRadius: sl_tooltip_rad,
         strokeWidth: 0,
         fill: sl_tooltip_fill,
         cssStyles: {color: sl_tooltip_fcol, textAlign: "center", whiteSpace:"nowrap"},
         showTip: function(box)
         {
            if (!sl_ttu)
            {
               $(box).fadeIn(sl_tooltip_speed);
            }
            else
            {
               $(box).show();    
            }
         },
         hideTip: function(box)
         {
            if (!sl_ttu)
            {
               $(box).fadeOut(sl_tooltip_speed);
            }
            else
            {
               $(box).hide();    
            }
         }
      });   
      $("#"+id+" .up").btOn();
      slider_tooltip_cookie_set(sl_tooltip_cook_pref+"_up", sl_tooltip_cook_expi); 
      sl_ttu_v=1;
   }
   
   if (sl_tooltip_off_sec)
   {
      sl_tt_to[sl_tt_c] = setTimeout(function()
      {
         slider_tooltip_hide(id);
      }, sl_tooltip_off_sec*1000);
      sl_tt_c++;
   }
}


// Funktion zur Ausblendung der Tooltips
function slider_tooltip_hide(id)
{
   $("#"+id+" .right").btOff();
   $("#"+id+" .down").btOff();
   $("#"+id+" .left").btOff(); 
   $("#"+id+" .up").btOff();  
   sl_ttr_v=0;
   sl_ttd_v=0;
   sl_ttl_v=0;
   sl_ttu_v=0;
   
   for(var i=0; i<sl_tt_c; i++)  
   {
      window.clearTimeout(sl_tt_to[i]);
   }  
}

// Tooltips positionieren
function slider_tooltip_position(id1, id2, id3, resize)
{
   if (resize && ((sl_ndr && !sl_rno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_right")) || sl_ttr_v))
   {
      sl_ttr=1;
   }  
   $("#"+id1+" .right").css(
   {
      top: (Math.round(ihn/2)-Math.round($("#"+id2+" .right span").height()/2))+"px",
      left: (iwn+$("#"+id3+" .lb").width()+(Math.round(sl_nav_show/2)))+"px"
   });
   if (resize && ((sl_ndr && !sl_rno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_right")) || sl_ttr_v))
   {
      $("#"+id1+" .right").btOn();
      sl_ttr=0;
   }   

   if (resize && ((sl_ndd && !sl_dno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_down")) || sl_ttd_v))
   {
      sl_ttd=1;
   }    
   $("#"+id1+" .down").css(
   {
      top: (ihn)+"px",
      left: (Math.round(iwn/2)+$("#"+id3+" .lb").width())+"px"
   }); 
   if (resize && ((sl_ndd && !sl_dno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_down")) || sl_ttd_v))
   {
      $("#"+id1+" .down").btOn();
      sl_ttd=0;
   }  

   if (resize && ((sl_ndl && !sl_lno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_left")) || sl_ttl_v))
   {
      sl_ttl=1;
   }    
   $("#"+id1+" .left").css(
   {
      top: (Math.round(ihn/2)-Math.round($("#"+id2+" .right span").height()/2))+"px",
      left: (0-Math.round(sl_nav_show/2))+"px"
   }); 
   if (resize && ((sl_ndl && !sl_lno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_left")) || sl_ttl_v))
   {
      $("#"+id1+" .left").btOn();
      sl_ttl=0;
   }   

   if (resize && ((sl_ndu && !sl_uno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_up")) || sl_ttu_v))
   {
      sl_ttu=1;
   }    
   $("#"+id1+" .up").css(
   {
      top: (0-sl_nav_show)+"px",
      left: (Math.round(iwn/2)+$("#"+id3+" .lb").width())+"px"
   }); 
   if (resize && ((sl_ndu && !sl_uno_nos && !slider_tooltip_cookie_isset(sl_tooltip_cook_pref+"_up")) || sl_ttu_v))
   {
      $("#"+id1+" .up").btOn();
      sl_ttu=0;
   }      
}

// Tooltip-Cookie setzen
function slider_tooltip_cookie_set(prefix, exp_days)
{
   $.cookie(prefix+"_slider_tooltip_cookie", 1,
   {
      path: "/", 
      expires : exp_days
   });   
}

// ist Tooltip-Cookie gesetzt?
function slider_tooltip_cookie_isset(prefix)
{
   if ($.cookie(prefix+"_slider_tooltip_cookie")==1)
   {
      return true;
   }  
   else
   {
      false;
   }
}

// Slider-Preloader positionieren
function slider_preloader(id1, id2)
{
   $("#"+id1+" .userinfo").css("top", -$("#"+id2+" .tb").height()+"px");
   $("#"+id1+" .userinfo").css("left", Math.round((iwn/2)-($("#"+id1+" .userinfo").outerWidth()/2))+"px");
   $("#"+id1+" .loader").css("top", ($("#"+id1+" .userinfo").height()-$("#"+id2+" .tb").height())+"px");
   $("#"+id1+" .loader").css("left", Math.round((iwn/2)-($("#"+id1+" .loader").outerWidth()/2))+"px");
}

// Slider-Navigation positionieren
function slider_navi_position(id)
{
   if (sl_ndr && !sl_navi_off)
   {
      $("#"+id+" .right").css("left", (iwn-$("#"+id+" .right").outerWidth()+parseInt($("#"+id+" .right").css("padding-right"))+sl_nav_show)+"px");
   }
   else
   {
      $("#"+id+" .right").css("left", (iwn-$("#"+id+" .right").outerWidth()+parseInt($("#"+id+" .right").css("padding-right")))+"px"); 
   }
   $("#"+id+" .right").css("top", Math.round((ihn/2)-($("#"+id+" .right").outerHeight()/2))+"px");
   
   $("#"+id+" .down").css("left", Math.round((iwn/2)-($("#"+id+" .down").outerWidth()/2))+"px");
   if (sl_ndd && !sl_navi_off)
   {
      $("#"+id+" .down").css("top", (ihn-$("#"+id+" .down").outerHeight()+parseInt($("#"+id+" .up").css("padding-bottom"))+sl_nav_show)+"px");   
   }
   else
   {
      $("#"+id+" .down").css("top", (ihn-$("#"+id+" .down").outerHeight()+parseInt($("#"+id+" .up").css("padding-bottom")))+"px");   
   }

   if (sl_ndl && !sl_navi_off)
   {
      $("#"+id+" .left").css("left", (-parseInt($("#"+id+" .left").css("padding-left"))-sl_nav_show)+"px");   
   }
   else
   {
      $("#"+id+" .left").css("left", (-parseInt($("#"+id+" .left").css("padding-left")))+"px");  
   }   
   $("#"+id+" .left").css("top", Math.round((ihn/2)-($("#"+id+" .left").outerHeight()/2))+"px");
   
   $("#"+id+" .up").css("left", Math.round((iwn/2)-($("#"+id+" .up").outerWidth()/2))+"px"); 
   if (sl_ndu && !sl_navi_off)
   {
      $("#"+id+" .up").css("top", (-parseInt($("#"+id+" .down").css("padding-top"))-sl_nav_show)+"px"); 
   }
   else
   {
      $("#"+id+" .up").css("top", (-parseInt($("#"+id+" .down").css("padding-top")))+"px");   
   }    
}

// Link auf Navigations-Button setzen
function slider_navi_link(link, direction)
{
   if (direction=="right")
   {   
      sl_rl = false;
      if (link)
      {
         sl_rl = link;
      }   
   }
   else if (direction=="down")
   {   
      sl_dl = false;
      if (link)
      {
         sl_dl = link;
      }   
   }
   else if (direction=="left")
   {   
      sl_ll = false;
      if (link)
      {
         sl_ll = link;
      }   
   }
   else if (direction=="up")
   {   
      sl_ul = false;
      if (link)
      {
         sl_ul = link;
      }   
   }
}

// Slider-Navigation anzeigen
function slider_navi_show(id1, id2, pixel, direction, no_slide_out)
{
   if (!sl_ndr && !sl_navi_off && (direction!="down" && direction!="left" && direction!="up"))
   {
      if ((sl_chp<=$("#"+id1+" ul:nth-child("+sl_cvp+")").children().length) || (direction=="right") || sl_rno)
      {
         if (direction=="right")
         {
            sl_rno=true;
            if (no_slide_out)
            {
               sl_rno_nos=true;
            }
         }
        
         $("#"+id2+" .right").animate(
         {
            left : "+="+pixel+"px"
         }, Math.round(sl_speed/2));
         
         sl_ndr = 1;
         slider_tooltip_show(sl_tooltip_id);
      }     
   } 

   if (!sl_ndd && !sl_navi_off && (direction!="left" && direction!="up" && direction!="right"))
   {   
      if ((sl_cvp<$("#"+id1+" ul").length) || (direction=="down") ||  sl_dno)
      {  
         if (direction=="down")
         {
            sl_dno=true;
            if (no_slide_out)
            {
               sl_dno_nos=true;
            }
         }
        
         $("#"+id2+" .down").animate(
         {
            top : "+="+pixel+"px"
         }, Math.round(sl_speed/2));  
         
         sl_ndd = 1; 
         slider_tooltip_show(sl_tooltip_id); 
      } 
   }  

   if (!sl_ndl && !sl_navi_off && (direction!="up" && direction!="right" && direction!="down"))
   {    
      if ((sl_chp>1) || (direction=="left") || sl_lno)
      {  
         if (direction=="left")
         {
            sl_lno=true;
            if (no_slide_out)
            {
               sl_lno_nos=true;
            }
         }
        
         $("#"+id2+" .left").animate(
         {
            left : "-="+pixel+"px"
         }, Math.round(sl_speed/2));
         
         sl_ndl = 1; 
         slider_tooltip_show(sl_tooltip_id);    
      }
   } 

   if (!sl_ndu && !sl_navi_off && (direction!="right" && direction!="down" && direction!="left"))
   {
      if ((sl_cvp>1) || (direction=="up") || sl_uno)
      {   
         if (direction=="up")
         {
            sl_uno=true;
            if (no_slide_out)
            {
               sl_uno_nos=true;
            }
         }
         
         $("#"+id2+" .up").animate(
         {
            top : "-="+pixel+"px"
         }, Math.round(sl_speed/2));    
         
         sl_ndu = 1; 
         slider_tooltip_show(sl_tooltip_id);
      }
   }
}

// Slider-Navigation verbergen
function slider_navi_hidden(id, pixel)
{
   if (sl_ndr && !sl_rno_nos)
   {
      slider_tooltip_hide(sl_tooltip_id);
      $("#"+id+" .right").animate(
      {
         left : "-="+pixel+"px"
      }, Math.round(sl_speed/2)); 
      
      sl_ndr = 0;
   }   
   
   if (sl_ndd && !sl_dno_nos)
   {   
      slider_tooltip_hide(sl_tooltip_id);
      $("#"+id+" .down").animate(
      {
         top : "-="+pixel+"px"
      }, Math.round(sl_speed/2));  
      
      sl_ndd = 0;
   }
    
   if (sl_ndl && !sl_lno_nos)
   {    
      slider_tooltip_hide(sl_tooltip_id);
      $("#"+id+" .left").animate(
      {
         left : "+="+pixel+"px"
      }, Math.round(sl_speed/2));
      
      sl_ndl = 0;
   }
       
   if (sl_ndu && !sl_uno_nos)
   {  
      slider_tooltip_hide(sl_tooltip_id);
      $("#"+id+" .up").animate(
      {
         top : "+="+pixel+"px"
      }, Math.round(sl_speed/2)); 
      
      sl_ndu = 0;
   }  
}

// Slider-Autoplay starten
var slider_autoplay = function()
{
   slider_right(sl_id, iwn, sl_speed);
}

// Slider-Autoplay rückwärts starten
var slider_autoplay_back = function()
{
   slider_left(sl_id, iwn, sl_speed);
}

// Slider-Autoplay stoppen
function slider_autoplay_stop()
{
   window.clearInterval(autoplay);
}

// jQuery-Funktion zum vorladen von Bildern
jQuery.fn.on_images_loaded = function(_cb)
{ 
   return this.each(function()
   {
      var $imgs = (this.tagName.toLowerCase()==="img") ? $(this) : $("img", this), _cont = this, i = 0, _done=function()
      {
         if(typeof _cb === "function") _cb(_cont);
      };
 
      if($imgs.length)
      {
         $imgs.each(function()
         {
            var _img = this, _checki=function(e)
            {
               if((_img.complete) || (_img.readyState=="complete" && e.type=="readystatechange"))
               {
                  if(++i===$imgs.length) _done();
               }
               else if(_img.readyState === undefined)
               {
                  $(_img).attr("src", $(_img).attr("src"));
               }
            };
 
            $(_img).bind("load readystatechange", function(e)
            {
               _checki(e);
            });
            
            _checki({type:"readystatechange"});
         });
      } else _done();
   });
};
