﻿/*** JavaScript TTN-hessen ***/

var email_regex = /^.+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})$/;

// Bugfix fuer IEx bei Hintergrund-Bildern
try {
	document.execCommand('BackgroundImageCache', false, true);
} catch (e) {}

function animateBanner() {
  if ($("#banner img").length > 1) {
    $("#banner img:last").fadeOut(1000, function() {
      var ele = $(this).remove();
      $("#banner").prepend(ele[0]);
      $("#banner img:first").show();
    });
  }
}

$(document).ready(
  function() {
    // Banner-Rotation starten (nur Startseite)
    if ( $(".home").length > 0 ) {
      window.setInterval("animateBanner()", 3000);
    }
    
    // Formularfelder: Fehler-Klasse entfernen, Standardbegriffen entfernen (die im title-Attribut stehen)
    $("select, input, textarea").focus(
      function() {
        $(this).removeClass("input_error").prev("label").removeClass("input_error");
        if($(this).val() == $(this).attr("title")) {
          $(this).val("");
        }
        return false;
      }
    );
    // Formularfelder: Standardbegriffen setzen (die im title-Attribut stehen)
    $("input, textarea").blur(
      function() {
        if($(this).val() == "") {
          $(this).val( $(this).attr("title") );
        }
        return false;
      }
    ).blur();
    
    // Klickverhalten der Suchbox
    /*$("#search_type input, #search_type label").click(
      function() {
        $("#search_type label").removeClass("active");
        $(this).next().addClass("active");
        $(this).blur();
      }
    );*/
    // ausgewaehlten Radio-Button anklicken, um label zu formatieren
    //$("#search_type input:checked").click();
    
    // Startseite: Neues aus dem Netzwerk
    if ( $("#home_news").length > 0 && $("#home_news img").length > 0) {
      $("#home_news img").parent().parent().append('<br class="clearleft" />');
    }
    
    // Klickverhalten der Aufklappboxen (Ansprechpartner)
    $(".show_details").click(
      function() {
        // auf- oder zuklappen?
        if ($(this).hasClass("active")) {
          $(this).blur().removeClass("active").next().children(".inner").slideUp();
        } else {
          $(this).blur().addClass("active").next().children(".inner").slideDown(500, function() {
            $(this).css("height", $(this).height() + "px");
          });
        }
        return false;
      }
    );
    
    // Partnerlisten: wegen unterschiedlicher Logobreiten, muss das margin anhand des breitesten Logos ermittelt und gesetzt werden
    if ( $(".partner_list").length > 0 ) {
      var max_width = 0;
      $(".partner_list img").each(
        function() {
          max_width = ( $(this).width() > max_width ) ? $(this).width() : max_width;
          //alert(max_width);
        }
      );
      $(".partner_list div").css("margin-left", (max_width+20) + "px");
    }
    
    // Kontaktformular: Hover submit-Button
    $("#powermaildiv_uid10 input, #tx-indexedsearch-searchbox-button-submit, #registration_id18 input").hover(
      function() {
        $(this).addClass("hover");
      },
      function() {
        $(this).removeClass("hover");
      }
    );
    
    // Kontaktformular
    if ( $("#kontakt").length > 0 ) {
      // Validierung
      $("#kontakt").submit(
        function() {
          var error_msg = "";

          // Pflichtfelder pruefen
          var required_fields = new Array("#uid4", "#uid7");
          for(i=0; i<required_fields.length; i++) {
            $(required_fields[i]).removeClass("input_error").prev("label").removeClass("input_error");
            if ($(required_fields[i]).val() == "") {
              $(required_fields[i]).addClass("input_error").prev("label").addClass("input_error");
              error_msg = "Bitte füllen Sie alle Pflichtfelder aus.<br />";
            }
          }
          
          // E-Mail-Validierung
          var check_email = $("#uid7").val().search(email_regex);
          if (check_email == -1) {
            $("#uid7").addClass("input_error").prev("label").addClass("input_error");
            error_msg += "Bitte tragen Sie eine gültige E-Mail-Adresse ein.<br />";
          }
          
          // Fehlerbehandlung
          if (error_msg != "") {
            $("#kontakt_error").html(error_msg).slideDown();
            return false;
          }
          
          return true;
        }
      );
    }
    
    // Suchergebnis-Seite: CSS-Ausbesserung an der untern Seitennavi
    $(".tx-indexedsearch-browsebox:last").css("border-width", "1px 0px 0px");
    
    $("#search_submit").click(
      function() {
        $("#search form:eq(0)").submit();
        return false;
      }
    );

    // Suche: Umleitung bei anderen Suchen als der seiteninternen Suche
    $("#search form:eq(0)").submit(
      function() {
        // Fehlermeldung ausblenden
        $("#search_type .error_msg").hide();
        // leeres Suchfeld abfragen
        if ( $("#search_text").val() == "" ) {
          var error_msg = '<div class="error_msg">Bitte geben Sie einen Suchbegriff ein!</div>';
          $("#search_type").append(error_msg);
          return false;
        }
        
        // Suchtyp abfragen: Forschungsfinder, HIPO, seitenintern
        if ( $("#search_type_1:checked").length ) {
          $("#SearchKey").val( $("#search_text").val() );
          $("#finder_search").submit();
        } else if ( $("#search_type_2:checked").length ) {
          $("#HIPOsearchfield").val( $("#search_text").val() );
          $("#hipo_search").submit();
        //} else if ( $("#search_type_3:checked").length ) {
        } else {
          return true;
        }
        return false;
      }
    );
    
    // externe RSS-Feeds einbinden
    $(".external_rss").each(function() {
      $(this).html("<span>Lade RSS-Feed</span>");
      
      // URL zu diesem Feed ermitteln
      var rss_url = "";
      var this_id = $(this).attr("id");
      if (this_id === "mst_rhein_main_1_rss") {
        rss_url = "http://www.mst-rhein-main.de/_rss/eigene_veranstaltungen.xml";
      } else if (this_id === "mst_rhein_main_2_rss") {
        rss_url = "http://www.mst-rhein-main.de/_rss/eigene_meldungen.xml";
      } else if (this_id === "autom_region_1_rss") {
        rss_url = "http://www.automatisierungs-region.de/_rss/eigene_veranstaltungen.xml";
      } else if (this_id === "autom_region_2_rss") {
        rss_url = "http://www.automatisierungs-region.de/_rss/eigene_meldungen.xml";
      } else if (this_id === "softward_cluster_1_rss") {
        rss_url = "http://www.softwarecluster-rheinmainneckar.de/_rss/aktuelle_veranstaltungen.xml";
      } else if (this_id === "softward_cluster_2_rss") {
        rss_url = "http://www.softwarecluster-rheinmainneckar.de/_rss/swc_-_aktuelle_meldungen.xml";
      } else if (this_id === "softward_cluster_3_rss") {
        rss_url = "http://www.softwarecluster-rheinmainneckar.de/_rss/swc-_aus_dem_cluster.xml";
      } else if (this_id === "softward_cluster_4_rss") {
        rss_url = "http://www.softwarecluster-rheinmainneckar.de/_rss/top_veranstaltungen.xml";
      } else if (this_id === "automotive_cluster_1_rss") {
        rss_url = "http://www.automotive-cluster.org/_rss/forum.xml";
      } else if (this_id === "automotive_cluster_2_rss") {
        rss_url = "http://www.automotive-cluster.org/_rss/vortraege_und_workshops.xml";
      } else if (this_id === "automotive_cluster_3_rss") {
        rss_url = "http://www.automotive-cluster.org/_rss/veranstaltungen_mit_partnern.xml";
      } else if (this_id === "automotive_cluster_4_rss") {
        rss_url = "http://www.automotive-cluster.org/_rss/aktuelle_meldungen.xml";
      } else if (this_id === "automotive_cluster_5_rss") {
        rss_url = "http://www.automotive-cluster.org/_rss/matchmaking.xml";
      } else if (this_id === "automotive_cluster_6_rss") {
        rss_url = "http://www.automotive-cluster.org/_rss/cluster-tage.xml";
      }
      
      // URL zum erzeugen des HTML erstellen und anschliessend das Lade-Icon entfernen und den Inhalt ausgeben
 			var url = "/fileadmin/cgi-ttn/get_rss.cgi?url=" + encodeURI(rss_url);
      $.get( url, function (result) {
        if (result === "") {
          result = "Keine Nachrichten vorhanden.";
        }
        $("#" + this_id).removeClass("loading_rss").html(result);
      });
    });
    
    // Pruefund des Anfragetyps
    $("#registration_type").change(
      function() {
        if ($(this).val() == "Kooperationsanfrage") {
          $("#registration_id15").show();
          $("#registration_id16").show();
        } else {
          $("#registration_id15").hide();
          $("#registration_id16").hide();
        }
      }
    ).children("option:eq(0)").attr("selected", true);

    /* Registrierungsformular
      - Pflichtfelder-Validierung
      - fehlerfreie Registrierungen in die Datenbank speichern und E-Mail verschicken
   */
    $("#registration form").submit(
      function() {
          var error_msg = "";
          $("#registration_error").hide();

          // Pflichtfelder pruefen
          var required_fields = new Array("#registration_email");

          // falls der Anfragetyp "Kooperationsanfrage" ist, muss ein weiteres Feld geprueft werden
          if ($("#registration_type").val() == "Kooperationsanfrage" && $("#registration_allow_transfer").attr("checked") == false) {
            error_msg += "Kooperationspartner müssen bestätigen, dass wir Ihre Daten weitergeben dürfen.<br />";
          }

          for(i=0; i<required_fields.length; i++) {
            $(required_fields[i]).removeClass("input_error").prev("label").removeClass("input_error");
            if ($(required_fields[i]).val() == "") {
              $(required_fields[i]).addClass("input_error").prev("label").addClass("input_error");
              error_msg += "Bitte füllen Sie alle Pflichtfelder aus.<br />";
            }
          }
          
          // E-Mail-Validierung
          var check_email = $("#registration_email").val().search(email_regex);
          if (check_email == -1) {
            $("#registration_email").addClass("input_error").prev("label").addClass("input_error");
            error_msg += "Bitte tragen Sie eine gültige E-Mail-Adresse ein.<br />";
          }
          
          // Fehlerbehandlung
          if (error_msg != "") {
            $("#registration_error").html(error_msg).slideDown();
            location.href = "#registration_error";
            return false;
          }
          
          // Perl-Script mit allen Formulardaten aufrufen
          var url = "/fileadmin/cgi-ttn/registration.cgi?" + $("#registration form").serialize();
          $.get( url, function (result) {
            if (result == "OK") {
              $("#registration_success").html("Ihre Registrierung wurde erfolgreich verschickt. Vielen Dank!").slideDown();
            }
          });
          return false;
      }
    );
    
    
    $(".print_contacts a").click(function() {
    	window.print();
    	return false;
    });
    
    
    // Entfernen des Links "Kontaktdaten" sowie "alle Kontaktdaten drucken" bei leeren Kontaktdaten in Ziehharmonikas	
    $(".contact_person .outer .inner:empty").each(function() {
        $(this).parent().siblings("a.show_details").hide();
        $(this).parent().parent().siblings(".print_contacts").children().hide();
    });
    
  }
);
