// IE? /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var is_msie = navigator.userAgent.toLowerCase().indexOf('msie') > -1;

// Preload-Plugin //////////////////////////////////////////////////////////////////////////////////////////////////////
(function($) {
  var imgList = [];
  $.extend({
    preload: function(imgArr, option) {
      var setting = $.extend({
        init: function(loaded, total) {},
        loaded: function(img, loaded, total) {},
        loaded_all: function(loaded, total) {}
      }, option);
      var total = imgArr.length;
      var loaded = 0;
      
      setting.init(0, total);
      for (i = 0; i < imgArr.length; i++) {
        imgList.push($("<img />")
          .load(function() {
            loaded++;
            setting.loaded(this, loaded, total);
            if(loaded == total) {
              setting.loaded_all(loaded, total);
            }
          })
          .attr("src", imgArr[i])
        );
      }
    }
  });
})(jQuery);

// Funktionalitäten für Galerien ///////////////////////////////////////////////////////////////////////////////////////
function galleryLoaded(galerieGesamt, galerieCounter) {
  $('div.bildNavi').html("<div class='trigger'></div><a href='#' class='zurueck'><img src='bilder/pfeil-grossL.png' alt='vorheriges Bild'></a><span class='bildnummer'>"+galerieCounter+"&nbsp;/&nbsp;"+galerieGesamt+"</span><a href='#' class='vor'><img src='bilder/pfeil-grossR.png' alt='nachstes Bild'></a>");
  $('div.trigger').css('cursor', 'pointer');
  if (is_msie) {
    $('img[alt="vorheriges Bild"]', 'div.bildNavi').attr('src', 'bilder/pfeil-grossL_50.png');
    $('img[alt="nachstes Bild"]', 'div.bildNavi').attr('src', 'bilder/pfeil-grossR_50.png');
      
    $('img', 'div.bildNavi')
    .mouseover(function() {
      var pathOld = $(this).attr('src');
      var pathNew = pathOld.replace('_50.png', '.png');
      $(this).attr('src', pathNew)
    })
    .mouseout(function() {
      var pathOld = $(this).attr('src');
      var pathNew = pathOld.replace('.png', '_50.png');
      $(this).attr('src', pathNew)
    });
  } else {
    $('img', 'div.bildNavi')
    .fadeTo(0, 0.5)
    .mouseover(function() {
      $(this).fadeTo(250, 1.0);
    })
    .mouseout(function() {
      $(this).fadeTo(250, 0.5);
    });
  }
  // Vor-Button
  $('a.vor').click(function(event) {
    event.preventDefault();
    var galerieCounter_old = galerieCounter;
    galerieCounter += 1;
    if (galerieCounter>galerieGesamt) {
      galerieCounter = 1;
    }
    $('span.bildnummer').html('&nbsp;&nbsp;'+galerieCounter+'&nbsp;/&nbsp;'+galerieGesamt+'&nbsp;&nbsp;');
    var getGalerie = $(this).parent().parent().attr('id');
    var imgPath = $('#'+getGalerie+'> img.galerieBild').attr('src');
    var newPath = imgPath.replace(galerieCounter_old, galerieCounter);
    $('#'+getGalerie+'> img.galerieBild').attr('src', newPath);
  });
  // Zurueck-Button
  $('a.zurueck').click(function(event) {
    event.preventDefault();
    var galerieCounter_old = galerieCounter;
    galerieCounter -= 1;
    if (galerieCounter == 0) {
      galerieCounter = galerieGesamt;
    }
    $('span.bildnummer').html('&nbsp;&nbsp;'+galerieCounter+'&nbsp;/&nbsp;'+galerieGesamt+'&nbsp;&nbsp;');
    var getGalerie = $(this).parent().parent().attr('id');
    var imgPath = $('#'+getGalerie+'> img.galerieBild').attr('src');
    var newPath = imgPath.replace(galerieCounter_old, galerieCounter);
    $('#'+getGalerie+'> img.galerieBild').attr('src', newPath);
  });
  // Klick auf Galerie-Bild
  $('div.trigger').click(function(event) {
    event.preventDefault();
    var galerieCounter_old = galerieCounter;
    galerieCounter += 1;
    if (galerieCounter>galerieGesamt) {
      galerieCounter = 1;
    }
    $('span.bildnummer').html('&nbsp;&nbsp;'+galerieCounter+'&nbsp;/&nbsp;'+galerieGesamt+'&nbsp;&nbsp;');
    var getGalerie = $(this).parent().parent().attr('id');
    var imgPath = $('#'+getGalerie+'> img.galerieBild').attr('src');
    var newPath = imgPath.replace(galerieCounter_old, galerieCounter);
    $('#'+getGalerie+'> img.galerieBild').attr('src', newPath);
  });
}

$(document).ready(function() {
  // Check ob der Browser die benötigten funktionen unterstützt ////////////////////////////////////////////////////////
  if (!jQuery.support.boxModel) {
    alert('Ihr Browser unterst&uuml;tzt nicht alle ben&ouml;tigten Techniken. Deshalb kann es zu Darstellungsfehlern kommen.')
  }
  
  // Initialisierung ///////////////////////////////////////////////////////////////////////////////////////////////////
  var active;
  var activeSub;
  $('div.modul').removeClass('modul').addClass('modul-init-js');
  $('div#modulStart').css({'left': '50%', 'margin-left': '-480px'});
  $('div.sub').removeClass('sub').addClass('sub-js');
  $('img.bild').removeClass('bild').addClass('bild-js');
  $('.galerie').addClass('galerie-js');
  $('.text_bereich').removeClass('text_bereich').addClass('text_bereich-js');
  $('span.telMail').css('display', 'none');
  $('img.schatten, img.schattenSchmal').css('visibility', 'visible');
  $('div#topNavi, div#schattenTop, div#footer').css('display', 'block');
  $('div#topNavi').addClass('topNaviJs');
  $('img#becksche').addClass('becksche');
  $('#ansprechText').addClass('ansprechText');
  
  // Galerie Ansprechpartner ///////////////////////////////////////////////////////////////////////////////////////////
  $('a[href="#modulAnsprechpartner"]').click(function(event) {
    event.preventDefault();
    $('img.ansprech').css('display', 'none');
    $('div#ansprechText').css('display', 'block');
    $('div.info', '#ansprechpartner_sub1').css('display', 'none');
    $.preload([
      'bilder/inhalte/kundenservice_bergmann.jpg',
      'bilder/inhalte/kundenservice_kalbhenn.jpg',
      'bilder/inhalte/kundenservice_kleinehr.jpg',
      'bilder/inhalte/kundenservice_pestschansky.jpg',
      'bilder/inhalte/kundenservice_schneider.jpg',
      'bilder/inhalte/kundenservice_strack.jpg',
      'bilder/inhalte/kundenservice_strohschneider.jpg',
      'bilder/inhalte/kundenservice_ziegler.jpg'
    ]); 
  });
  $('a[href="#ansprechpartner_sub1"]').click(function() {
    $('img.ansprech').css('display', 'none');
    $('div.info', '#ansprechpartner_sub1').css('display', 'none');
    $('div#ansprechText').css('display', 'block');
  });
  $('a', 'div.card').click(function(event) {
    event.preventDefault();
    var pfadAnsprech = $(this).attr('href');
    var nameAnsprech = $(this).text();
    var telMailAnsprech = $('a[href="'+pfadAnsprech+'"] ~ span.telMail').html();
    $('img[alt="Kundenservice"]').attr('src', pfadAnsprech)
    $('img.ansprech').css('display', 'inline');
    $('div.info', '#ansprechpartner_sub1').css('display', 'inline').html('<p>'+nameAnsprech+'<br>'+telMailAnsprech+'</p>');
    $('div#ansprechText').css('display', 'none');
  });
  
  // Positionierung Footer /////////////////////////////////////////////////////
  var heightFooter = $('#footer').height();
  function resize() {
    var positionFooter = document.documentElement.clientHeight-heightFooter+1; //1 ist "Anschnitt"
    if (positionFooter <= 664) {
      positionFooter = 664;
    }
    $('#footer').css('top', positionFooter+'px');
  }
  resize();
  
  $(window).resize(function() {
    resize();
  });
  
  // Animation der Einzelseiten ////////////////////////////////////////////////////////////////////////////////////////
  var zIndex = 10;
  
  $('a', '#topNavi').click(function (event) {
    event.preventDefault(); 
    if ($(this).attr('href') != active) {
      // Footer-Kontakt bei Klick auf Kontakt ausblenden
      if ($(this).attr('href') == "#modulKontakt") {
        $('div#footer_form').fadeOut('slow');
      } else {
        $('div#footer_form').fadeIn('slow');
      }
      // Ausfaden der Subnavi und Erfassen des gewählten Inhaltes
      $('div.subnavi').fadeOut('fast');
      var clicked = $(this).attr('href');
      // Markieren des aktiven Subnavi-Punktes (wenn Subnavi vorhanden)
      if ($(clicked).has('.sub-js').length > 0) {
        $('a', 'div.subnavi').css('color', '#999999');
	var section = clicked.replace('#modul', '');
        activeSub = $("a:eq(0)", "."+section).attr('href');
        $('a[href="'+activeSub+'"]').css('color', '#333333');
      }
      // Anzeige des Subnavi-Inhaltes
      $('div.sub-js', clicked).not('[id$="1"]').css('display', 'none');
      $('div.sub-js[id$="1"]', clicked).css('display', 'block');
      // Animation des Content-DIVs
      $(clicked).css('z-index', zIndex);
      zIndex += 1;
      var width=$(window).width();
      $(clicked).css({left:(width).toString().concat('px'),marginLeft:'960px'});
      $(clicked).animate({
        left: (width/2).toString().concat('px'),
        marginLeft: '-480px'
      }, 900, function() {
	$(clicked).css({left:'50%'}); //setzt die position auf % um die Anzeige beim resize korrekt zu halten
        // Einfaden der richtigen Subnavigation
        $('div.'+section).fadeIn('slow');
      });
    }
  });
  
  $('a', '.teaser').click(function (event) {
    event.preventDefault();
    // Footer-Kontakt bei Klick auf Kontakt ausblenden
    if ($(this).attr('href') == "#modulKontakt") {
      $('div#footer_form').fadeOut('slow');
    } else {
      $('div#footer_form').fadeIn('slow');
    }
    // Ausfaden der Subnavi und Erfassen des gewählten Inhaltes
    $('div.subnavi').fadeOut('fast');
    var clicked = $(this).attr('href');
    // Markieren des aktiven Subnavi-Punktes (wenn Subnavi vorhanden)
    if ($(clicked).has('.sub-js').length > 0) {
      $('a', 'div.subnavi').css('color', '#999999');
      var section = clicked.replace('#modul', '');
      activeSub = $('a:eq(0)', "."+section).attr('href');
      $('a[href="'+activeSub+'"]').css('color', '#333333');
    }
    // Anzeige des Subnavi-Inhaltes
    $('div.sub-js', clicked).not('[id$="1"]').css('display', 'none');
    $('div.sub-js[id$="1"]', clicked).css('display', 'block');
    // Animation des Content-DIVs
    $(clicked).css('z-index', zIndex);
    zIndex += 1;
    var width=$(window).width();
    $(clicked).css({left:(width).toString().concat('px'),marginLeft:'960px'});
    $(clicked).animate({
      left: (width/2).toString().concat('px'),
      marginLeft: '-480px'
    }, 900, function() {
      $(clicked).css({left:'50%'}); //setzt die position auf % um die Anzeige beim resize korrekt zu halten
      // Einfaden der richtigen Subnavigation
      $('div.'+section).fadeIn('slow');
    });
  });
  
  // Link auf dem Logo /////////////////////////////////////////////////////////////////////////////////////////////////
  $('a[href="#modulStart"]').click(function (event) { 
    event.preventDefault();
    // topNavi
    $('a', 'div#topNavi').css('color', '#AAAAAA');
    active = "#modulStart";
    //
    $('div#footer_form').fadeIn('slow');
    $('div.subnavi').fadeOut('fast');
    // Animation des Content-DIVs
    $('#modulStart').css('z-index', zIndex);
    zIndex += 1;
    var width=$(window).width();
    $('#modulStart').css({left:(width).toString().concat('px'),marginLeft:'960px'});
    $('#modulStart').animate({
      left: (width/2).toString().concat('px'),
      marginLeft: '-480px'
    }, 900, function() {
      $('#modulStart').css({left:'50%'}); //setzt die position auf % um die Anzeige beim resize korrekt zu halten
    });
  });
  
  // Link auf Startseite ///////////////////////////////////////////////////////////////////////////////////////////////
  $('a[href="#modulUnternehmen"]', '#modulStart').click(function (event) {
    event.preventDefault();
    //$('a[href="'+active+'"]', 'div#topNavi').css('color', '#AAAAAA'); //altes wird grau
    $('a[href="#modulUnternehmen"]', 'div#topNavi').css('color', '#FFFFFF'); //Navi-punkt Unternehmen wird weiß
    active = "#modulUnternehmen";
    // Markieren des aktiven Subnavi-Punktes (wenn Subnavi vorhanden)
    $('a', 'div.subnavi').css('color', '#999999');
    activeSub = $('a:eq(0)', '.Unternehmen').attr('href');
    $('a[href="#unternehmen_sub1"]').css('color', '#333333');
    // Anzeige des Subnavi-Inhaltes
    $('div.sub-js', '#modulUnternehmen').not('[id$="1"]').css('display', 'none');
    $('div.sub-js[id$="1"]', '#modulUnternehmen').css('display', 'block');
    // Animation des Content-DIVs
    $('#modulUnternehmen').css('z-index', zIndex);
    zIndex += 1;
    var width=$(window).width();
    $('#modulUnternehmen').css({left:(width).toString().concat('px'),marginLeft:'960px'});
    $('#modulUnternehmen').animate({
      left: (width/2).toString().concat('px'),
      marginLeft: '-480px'
    }, 900, function() {
      $('#modulUnternehmen').css({left:'50%'}); //setzt die position auf % um die Anzeige beim resize korrekt zu halten
      // Einfaden der richtigen Subnavigation
      $('div.Unternehmen').fadeIn('slow');
    });
  });
  
  // Aktive Links in TopNavi ///////////////////////////////////////////////////////////////////////////////////////////
  $('a', 'div#topNavi')
  .click(function (event) {
    event.preventDefault();
    $('a[href="'+active+'"]', 'div#topNavi').css('color', '#AAAAAA'); //altes wird grau
    $(this).css('color', '#FFFFFF'); //geklicktes wird weiß
    active = $(this).attr('href');
  })
  .mouseover(function() {
    $(this).css('color', '#FFFFFF');
  })
  .mouseout(function() {
    if ($(this).attr('href') != active) {
      $(this).css('color', '#AAAAAA');
    }
  });
  
  $('a', '.teaser').click(function (event) {
    event.preventDefault();
    var clicked = $(this).attr('href');
    $('a[href="'+active+'"]', 'div#topNavi').css('color', '#AAAAAA'); //altes wird grau
    $('a[href="'+clicked+'"]', 'div#topNavi').css('color', '#FFFFFF'); //geklicktes wird weiß
    active = clicked;
  });
  
  // Klick auf Subnavigationspunkt /////////////////////////////////////////////////////////////////////////////////////  
  $('a', '.subnavi').click(function (event) {
    event.preventDefault();
    if ($(this).attr('href') != activeSub) {
      var clicked = $(this).attr('href');
      $('div.sub-js').css('display', 'none');
      if (is_msie) {
        $(clicked).css('display', 'block');
      } else {
        $(clicked).fadeIn(1000);
      }
    }
  });
  
  // Aktive Links in subNavi ///////////////////////////////////////////////////////////////////////////////////////////
  $('a', 'div.subnavi').click(function (event) {
    event.preventDefault();
    $('a[href="'+activeSub+'"]', 'div.subnavi').css('color', '#999999');
    $(this).css('color', '#333333');
    activeSub = $(this).attr('href');
  })
  .mouseover(function() {
    $(this).css('color', '#333333');
  })
  .mouseout(function() {
    if ($(this).attr('href') != activeSub) {
      $(this).css('color', '#999999');
    }
  });
  
  // Galerien //////////////////////////////////////////////////////////////////////////////////////////////////////////
  // Init
  var galerieGesamt = 0;
  var galerieCounter = 1;
  $('div.bildNavi').html("Lädt...");
  
  $('a[href*="#modul"], a[href*="sub"]').click(function() {
    galerieCounter = 1; // Galerien bei jedem Klick auf Haupt- oder Subnavi zurücksetzen
  });
  
  // Unternehmen: Profil
  $('a[href="#unternehmen_sub1"], a[href="#modulUnternehmen"]').click(function() {
    $('img.galerieBild', 'div#galerieProfil').attr('src', 'bilder/inhalte/profil1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 5;    
    $.preload([
      'bilder/inhalte/profil2.jpg',
      'bilder/inhalte/profil3.jpg',
      'bilder/inhalte/profil4.jpg',
      'bilder/inhalte/profil5.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Unternehmen: Philosophie
  $('a[href="#unternehmen_sub3"]').click(function() {
    $('img.galerieBild', 'div#galeriePhilosophie').attr('src', 'bilder/inhalte/philosophie1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 4;    
    $.preload([
      'bilder/inhalte/philosophie2.jpg',
      'bilder/inhalte/philosophie3.jpg',
      'bilder/inhalte/philosophie4.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Produkte: Broschuren
  $('a[href="#produkte_sub1"], a[href="#modulProdukte"]').click(function() {
    $('img.galerieBild', 'div#galerieBroschur').attr('src', 'bilder/inhalte/produkte_broschur1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 7;    
    $.preload([
      'bilder/inhalte/produkte_broschur2.jpg',
      'bilder/inhalte/produkte_broschur3.jpg',
      'bilder/inhalte/produkte_broschur4.jpg',
      'bilder/inhalte/produkte_broschur5.jpg',
      'bilder/inhalte/produkte_broschur6.jpg',
      'bilder/inhalte/produkte_broschur7.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Produkte: Hardcover
  $('a[href="#produkte_sub2"]').click(function() {
    $('img.galerieBild', 'div#galerieHardcover').attr('src', 'bilder/inhalte/produkte_hardcover1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 7;    
    $.preload([
      'bilder/inhalte/produkte_hardcover2.jpg',
      'bilder/inhalte/produkte_hardcover3.jpg',
      'bilder/inhalte/produkte_hardcover4.jpg',
      'bilder/inhalte/produkte_hardcover5.jpg',
      'bilder/inhalte/produkte_hardcover6.jpg',
      'bilder/inhalte/produkte_hardcover7.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Produkte: Zeitschriften
  $('a[href="#produkte_sub3"]').click(function() {
    $('img.galerieBild', 'div#galerieZeitschriften').attr('src', 'bilder/inhalte/produkte_zeitschriften1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 4;    
    $.preload([
      'bilder/inhalte/produkte_zeitschriften2.jpg',
      'bilder/inhalte/produkte_zeitschriften3.jpg',
      'bilder/inhalte/produkte_zeitschriften4.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Produkte: Spezialitäten
  $('a[href="#produkte_sub4"]').click(function() {
    $('img.galerieBild', 'div#galerieSpezialitaeten').attr('src', 'bilder/inhalte/produkte_spezialitaeten1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 3;    
    $.preload([
      'bilder/inhalte/produkte_spezialitaeten2.jpg',
      'bilder/inhalte/produkte_spezialitaeten3.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Technik: Datenanlieferung
  $('a[href="#technik_sub1"], a[href="#modulTechnik"]').click(function() {
    $('img.galerieBild', 'div#galerieDaten').attr('src', 'bilder/inhalte/daten1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 4;    
    $.preload([
        "bilder/inhalte/daten2.jpg",
        "bilder/inhalte/daten3.jpg",
        "bilder/inhalte/daten4.jpg"
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Technik: Vorstufe
  $('a[href="#technik_sub2"]').click(function() {
    $('img.galerieBild', 'div#galerieVorstufe').attr('src', 'bilder/inhalte/vorstufe1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 5;    
    $.preload([
      'bilder/inhalte/vorstufe2.jpg',
      'bilder/inhalte/vorstufe3.jpg',
      'bilder/inhalte/vorstufe4.jpg',
      'bilder/inhalte/vorstufe5.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Technik: Druck
  $('a[href="#technik_sub3"]').click(function() {
    $('img.galerieBild', 'div#galerieDruck').attr('src', 'bilder/inhalte/druck1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 5;    
    $.preload([
      'bilder/inhalte/druck2.jpg',
      'bilder/inhalte/druck3.jpg',
      'bilder/inhalte/druck4.jpg',
      'bilder/inhalte/druck5.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  // Technik: Weiterverarbeitung
  $('a[href="#technik_sub4"]').click(function() {
    $('img.galerieBild', 'div#galerieWeiter').attr('src', 'bilder/inhalte/weiter1.jpg');
    $('div.bildNavi').html('Lädt...');
    $('div.trigger').css('cursor', 'default');
    galerieGesamt = 7;    
    $.preload([
      'bilder/inhalte/weiter2.jpg',
      'bilder/inhalte/weiter3.jpg',
      'bilder/inhalte/weiter4.jpg',
      'bilder/inhalte/weiter5.jpg',
      'bilder/inhalte/weiter6.jpg',
      'bilder/inhalte/weiter7.jpg'
    ], {
        loaded_all: function(loaded, total) {
          galleryLoaded(galerieGesamt, galerieCounter);
        }
    });    
  });
  
  // Link im neuen Fenster öffnen //////////////////////////////////////////////////////////////////////////////////////
  $("a.neues_fenster").click(function(event) {
    window.open(this.href, "_blank");
    event.preventDefault();
  });

});
