$(document).ready(function(){

  //Blur/Focus-Behavior of Formelements
  $(this).find('input[type="text"]:not(.dp-applied):not(.ignore), textarea:not(.ignore)').each(function(){
    if(!$(this).attr("rel"))$(this).attr("rel", $(this).val());
    $(this).focus(function(){
      if($(this).val() == $(this).attr("rel")){
        $(this).val('');
      }
    });
    $(this).blur(function(){
      if($(this).val() == '')$(this).val($(this).attr("rel"));
    });
  });

  //toggle of languages selection in metanavi
  $('#metanavi_languages_toggle').mouseenter(function(){
    $('#metanavi_languages_body').removeClass('hide');
  });
  $('#metanavi_languages_toggle').mouseleave(function(){
    $('#metanavi_languages_body').addClass('hide');
  });

  //main navi
  $('ul#mainnavi li').mouseenter(function(){
    $(this).children().removeClass('hide');
  });
  $('ul#mainnavi li').mouseleave(function(){
    $(this).children().addClass('hide');
  });

  //width of startline in main navi
  if ($.browser.version !== 6.0){
    var width = 0;
    $.each($('ul#mainnavi li[class!=nav_startline]'), function(){
      width = width + $(this).width();
    });
    width = 960 - width;
    if ($.browser.version == 9.0){
      width -= 1;
    }
    $('ul#mainnavi li.nav_startline').width(width);
  }
  
  //keyvisual
  var numberKeyvisuals = parseInt($("#keyvisual").children("img.keyvisual").size());
  if (numberKeyvisuals > 1){
    var keyvisualInterval = window.setInterval(function(){
      if ($("#keyvisual").hasClass("hide")) {} else {
        var currentKeyvisual = parseInt($("#keyvisual").children("img.keyvisual:visible").attr("id").substr(9));
        var nextKeyvisual = currentKeyvisual + 1;

        if(nextKeyvisual > numberKeyvisuals) nextKeyvisual = 1;
        $("#keyvisual").children("img#keyvisual"+currentKeyvisual).fadeOut(2000);
        $("#keyvisual").children("img#keyvisual"+nextKeyvisual).fadeIn(2000);
      }
    },7000);
  }

  //position of play button by video teaser
  var btnWidth = 0;
  var positionLeft = 0;
  btnWidth = $('a.teaser_video_img').width();
  positionLeft = (189 / 2) - (btnWidth / 2) + 2;
  $('a.teaser_video_img').css('left', positionLeft);

  //toggle of booking and query teaser
  $('#teaser_booking_toggle').click(function(){
    $('div.teaser_booking_body').toggle();
    $('div.teaser_query_body').toggle();
    if ($(('#teaser_booking_toggle')).hasClass('slideup')){
      $(('#teaser_booking_toggle')).removeClass('slideup');
      $(('#teaser_query_toggle')).addClass('slideup');
    } else {
      $(('#teaser_booking_toggle')).addClass('slideup');
      $(('#teaser_query_toggle')).removeClass('slideup');
    }
  });

  $('#teaser_query_toggle').click(function(){
    $('#teaser_booking_toggle').trigger('click');
  });


  // datepicker -> bookingTeaser
  var dates = $('#teaser_booking_calender_from, #teaser_booking_calender_to').datepicker({
    minDate: "+0d",
    dateFormat: 'dd.mm.yy',
    onSelect: function(selectedDate) {
      var option = this.id == "teaser_booking_calender_from" ? "minDate" : "maxDate";
      var instance = $(this).data("datepicker");
      var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
      dates.not(this).datepicker("option", option, date);
    }
  });
  // datepicker -> queryTeaser
  var datesQuery = $('#teaser_query_calender_from, #teaser_query_calender_to').datepicker({
    minDate: "+0d",
    dateFormat: 'dd.mm.yy',
    onSelect: function(selectedDate) {
      var option = this.id == "teaser_query_calender_from" ? "minDate" : "maxDate";
      var instance = $(this).data("datepicker");
      var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
      datesQuery.not(this).datepicker("option", option, date);
    }
  });
  // datepicker -> contactQuery
  var datesContact = $('#contact_date_from, #contact_date_to').datepicker({
    minDate: "+0d",
    dateFormat: 'dd.mm.yy',
    onSelect: function(selectedDate) {
      var option = this.id == "contact_date_from" ? "minDate" : "maxDate";
      var instance = $(this).data("datepicker");
      var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
      datesContact.not(this).datepicker("option", option, date);
    }
  });
  // datepicker -> overlayQuery
  var datesOvQuery = $('#ovDate_from, #ovDate_to').datepicker({
    minDate: "+0d",
    dateFormat: 'dd.mm.yy',
    onSelect: function(selectedDate) {
      var option = this.id == "ovDate_from" ? "minDate" : "maxDate";
      var instance = $(this).data("datepicker");
      var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
      datesOvQuery.not(this).datepicker("option", option, date);
    }
  });
  // datepicker -> overlayQuery
  var datesOvBooking = $('#ovDate_booking_from, #ovDate_booking_to').datepicker({
    minDate: "+0d",
    dateFormat: 'dd.mm.yy',
    onSelect: function(selectedDate) {
      var option = this.id == "ovDate_booking_from" ? "minDate" : "maxDate";
      var instance = $(this).data("datepicker");
      var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
      datesOvBooking.not(this).datepicker("option", option, date);
    }
  });



  $('a.widget_query').colorbox({
    opacity:'0.8',
    inline:true,
    href:'#overlayQuery',
    innerWidth:442,
    innerHeight:340
  });

  $('a.widget_booking').colorbox({
    opacity:'0.8',
    inline:true,
    href:'#overlayBooking',
    innerWidth:442,
    innerHeight:340
  });

  // lightbox call of imageGallery
  $("a[rel='colorbox']").colorbox({
    opacity:'0.8',
    current:'Bild {current} von {total}'
  });

  // lightbox trigger of small bubble elements in pictures
  $("a[rel='colorbox_trigger_main']").click(function(){
    $("a.colorbox_main").trigger('click');
  });

  $("a.bildergalerie_small_open").click(function(){
    var classname = $(this).attr('rel');
    $('a.' + classname).trigger('click');
  });

  // Pagination of WebcamTeaser
  var countWebcams = 0;
  var webcamListpos = 1;
  $('div.webcam_wrapper').each(function(){
    countWebcams++;
  });
  $('a.teaser_webcams_backward').click(function(){
    $('#webcam_' + webcamListpos).hide();
    webcamListpos--;
    if (webcamListpos == 0){
      webcamListpos = countWebcams;
    }
    $('#webcam_' + webcamListpos).show();
  });
  $('a.teaser_webcams_forward').click(function(){
    $('#webcam_' + webcamListpos).hide();
    webcamListpos++;
    if (webcamListpos > countWebcams){
      webcamListpos = 1;
    }
    $('#webcam_' + webcamListpos).show();
  });

});
