/*  #####################################################
**  Domain:    www.aschau.de
**  Datei:     basic.js
**  Funktion:  grundlegender JavaScript Code für alle Unterseiten

**  Erstellt:  24.02.2009

**  Autor:     Axel Güldner
**  copyright: infomax websolutions GmbH
##################################################### */

$(document).ready(function(){

  //Animation des Sprachmenues in der Metanavigation
  $("#CONT_header .lang").click(function(){
    $(this).children("ul").animate({
      height:"toggle",
      opacity:"toggle"
    });
    $(this).toggleClass("langactive");
  });


  //HoverEffekt der Imageteaser
  $("#imageteaser .teaserElement").children(".textarea").bind("mouseenter", function(){
    var color = $(this).children("h2").children("a").attr("class");
    $(this).addClass(color+"BG");
    $(this).addClass("highlight");
    $(this).attr({
      rel:color
    });
    $(this).children("h2").children("a").removeClass(color);
  });
  $("#imageteaser .teaserElement").children(".textarea").bind("mouseleave", function(){
    var color = $(this).attr("rel");
    $(this).removeClass(color+"BG");
    $(this).removeClass("highlight");
    $(this).children("h2").children("a").addClass(color);
  });
    
    
  //ColorBox: Einstellungen
  $("a[rel=colorboxGallery]").colorbox({
    transition:"elastic", 
    opacity:0.8, 
    current : "Bild {current} von {total}",
    previous : "zurück",
    next : "weiter",
    close : "Schließen"
  });	
  $("a[rel=colorboxFrontdoorIframes]").colorbox({
    width:"770px", 
    height:"610px", 
    iframe:true
  });
    

  //Datepicker für Quartiersuche
  Date.format = 'dd.mm.yyyy';
  if(jQuery.isFunction($.fn.datePicker)) $("input.date").datePicker({
    clickInput:true, 
    createButton:false
  });
  $("input#f01.date").dpSetStartDate(currentCalenderDate[0]);
  $("input#f02.date").dpSetStartDate(currentCalenderDate[1]);
  $("input#f01.date").dpSetSelected(currentCalenderDate[2]);
  $("input#f02.date").dpSetSelected(currentCalenderDate[3]);
  //Sicherstellen das für Abreise nur ein Datum höher als Anreise gewählt werden kann
  $("#quartierschnellsuche").find("#f01.date").change(function(){
    //Erstellen eines Strings des neuen Anreisedatums mit umgekehrter Reihenfolge
    var newArrival = $(this).val().split(".");
    newArrival.reverse();
    newArrival = newArrival.join("");
    //Erstellen eines Strings des aktuellen Abreisedatums mit umgekehrter Reihenfolge
    var currentDepart = $(this).parent().children("#f02.date").val().split(".");
    currentDepart.reverse();
    currentDepart = currentDepart.join("");
    //Neues Abreisedatum erstellen, ist neues Anreisedatum plus fünf Tage
    var newDepart = parseInt(newArrival) + 1;        
    //Umwandeln des neuen Abreisedatums in einen String
    newDepart += " ";
    //Prüfen ob aktuelles Abreisedatum kleiner oder gleich dem neuen Anreisedatums ist
    if(currentDepart <= newArrival){
      //Erstellen eines Strings des neuen Abreisedatums in normaler Reihenfolge
      currentDepart = newDepart.substr(6, 2) + "." + newDepart.substr(4, 2) + "." + newDepart.substr(0, 4);
      //Kalender mit neuem Abreisedatum und neuem kleinstmöglichen Abreisedatum aktualisieren
      //Aktuelles Abreisedatum ist dabei das neue Anreisedatum plus ein Tag            
      $(this).parent().children("#f02.date").dpSetSelected(currentDepart).dpSetStartDate(currentDepart);
    }else{
      //Erstellen eines Strings des neuen Abreisedatums in normaler Reihenfolge
      currentDepart = newDepart.substr(6, 2) + "." + newDepart.substr(4, 2) + "." + newDepart.substr(0, 4);
      //Kalender mit neuem kleinstmöglichen Abreisedatum aktualisieren
      $(this).parent().children("#f02.date").dpSetStartDate(currentDepart);
    }
  });


  /***************************************
     * Ab hier teilweise Startseitenexklusiv
     ***************************************/

  //Animiertes Navigieren durch den Imageteaser
  $("#imageteaser .controller li span").click(function(){
    $(this).parent().parent().children(".active").removeClass("active").children("span").removeClass("red");
    $(this).parent().addClass("active").children("span").addClass("red");

    $("#imageteaser div.active").animate({
      opacity:"toggle"
    }).removeClass("active");
    $("#imageteaser div."+$(this).text()).animate({
      opacity:"toggle"
    }).addClass("active");
  });


  //Animierter Newsteaserbereich
  //Funktionen für den Farbwechesel bei Mouseover
  $("#newsteaser .teaserArea, #mapsTeaser .teaserArea").children(".teaserElement").bind("mouseenter", function(){
    $(this).children(".text").animate({
      opacity:"toggle"
    });
  });
  $("#newsteaser .teaserArea, #mapsTeaser .teaserArea").children(".teaserElement").bind("mouseleave", function(){
    $(this).children(".text").animate({
      opacity:"toggle"
    });
  });

  //Animierter Newsteaserbereich
  //Funktionen zum Durchblättern
  var newsteaserCount = $("#newsteaser .teaserArea").children(".teaserElement").size()-1;    
  var currentNewsteaser = 0;
  var newsteaserDirection = "fore";
  newsteaserHelper = function(){
    if(newsteaserDirection == "fore")currentNewsteaser++;
    else if(newsteaserDirection == "rev")currentNewsteaser--;
    $("#newsteaser .teaserArea").children("."+currentNewsteaser).slideToggle();
    if(newsteaserDirection == "fore")++currentNewsteaser;
    else if(newsteaserDirection == "rev")--currentNewsteaser;
  }
  $("#newsteaser .teaserButton").click(function(){    	
    if(newsteaserCount > 1){
      if(currentNewsteaser+1 >= newsteaserCount){        	
        if(newsteaserCount%2 == 0)currentNewsteaser = newsteaserCount-1;
        else currentNewsteaser = newsteaserCount-2;
        newsteaserDirection = "rev";
      }
      if(currentNewsteaser <= 0 && newsteaserDirection == "rev"){
        currentNewsteaser = 0;
        newsteaserDirection = "fore";
      }
      $("#newsteaser .teaserArea").children("."+currentNewsteaser).slideToggle();
      window.setTimeout("newsteaserHelper()", 200);
    }
  });
    
  jQuery('input, textarea').not('.dp-applied').each(function(){
    new imx.TextSwitch(jQuery(this), jQuery(this).attr('rel')).registerDefaultEvents();
  });
    
});

$(window).load(function(){

  });

