/**
 *                J Q U E R Y
 ******************************************************************************/

jQuery(document).ready(function ($) {

  /**
   * jQuery Tools - Scrollable
   */
  
  // initialize scrollable
  $('#slider .scrollable').scrollable();
  
  // get access to the API
  var sliderApi = $('#slider .scrollable').data('scrollable');
  // do something upon scroll
  sliderApi.onSeek(function() {
    // inside callbacks the "this" variable is a reference to the API
    var itemLength = this.getItems().length;
    // var itemCurrentIndex = this.getIndex();
    var itemCurrentIndex = this.getIndex() + 2;
    // console.info('current position is: ' + itemCurrentIndex + ' of ' + itemLength);
    
    if (itemLength == itemCurrentIndex) {
      // console.info('identically');
      $('#slider a.next').hide();
    }
    else {
      $('#slider a.next').show();
    }
  });
  
  /**
   * M A I N  N A V I G A T I O N
   */

  // hover function
  $('#map-main-navigation area').hover(

  function () {
    var className = $(this).attr('alt');
    $('#map-main-navigation-image').addClass(className);
  }, function () {
    var className = $(this).attr('alt');
    $('#map-main-navigation-image').removeClass(className);
  });

  /**
   * A C C O R D I O N
   * 
   * Online-Formular "Versorgerwechsel"
   */

  // add accordion function
  $('.accordion h3').click(function () {
    $(this).next().toggle('blind');
    $(this).toggleClass('show');
    return false;
  }).next().hide();

  // show accordion content
  $('.accordion h3.show').next().show();

  /**
   * D A T E P I C K E R
   * 
   * Online-Formular "Versorgerwechsel"
   */

  // show datepicker for supply start
  $('.datepicker-supply-start').datepicker({
    showOn: 'button',
    buttonImage: 'fileadmin/_t3templates/images/icon_datepicker.png',
    buttonImageOnly: true,
    onClose: function (dateText, picker) {
      var tag  = $(this).attr('id');
      $('#' + tag).val(dateText);
    },
    beforeShow: function (input, instance) {
      var date = new Date();
      date.setMonth(date.getMonth() + 2);
      date.setDate(1);
      if ($(".formhandler-subsequent input#neueinzug-nein").is(':checked')) {
        return {minDate: date};
      } else {
        return {minDate: null};
      }
    }
  });

  // show datepicker for contract date (split for multiple fields = day/month/year)
  $('.datepicker').datepicker({
    showOn: 'button',
    buttonImage: 'fileadmin/_t3templates/images/icon_datepicker.png',
    buttonImageOnly: true,
  });

  // hover function for datepicker icon
  $('.ui-datepicker-trigger').hover(

  function () {
    $(this).css("cursor", "pointer");
  }, function () {
    $(this).css("cursor", "default");
  }).next();

  /**
   * disable fields in formhandler
   */
  $(".formhandler-subsequent input#plz").bind({
    click: function () {
      $(this).attr('readonly', true);
      return false;
    }
  }).animate({
    opacity: 0.5
  }, 100);

  /**
   * F O R M E R  S U P P L I E R  F I E L D S
   */

  function manageFormerSupplierField() {
    if ($("#versorger-dropdown option:selected").val() == '0') {
      $("#bisheriger-versorger").show();
    } else {
      $("#bisheriger-versorger").hide();
      $("#bisheriger-versorger").val($.trim($("#versorger-dropdown option:selected").text()));
    }
  }

  function disableFormerSupplierFields() {
	  $('.formhandler-subsequent input#bisheriger-versorger').attr('readonly', true);
	  $('.formhandler-subsequent input#bisheriger-versorger').animate({
		  opacity: 0.5
	  }, 100);
	  $('.formhandler-subsequent select#versorger-dropdown').attr('disabled', 'disabled');
	  $('.formhandler-subsequent select#versorger-dropdown').animate({
		  opacity: 0.5
	  }, 100);
	  $('.formhandler-subsequent input#bisherige-kundennummer').attr('readonly', true);
	  $('.formhandler-subsequent input#bisherige-kundennummer').animate({
		  opacity: 0.5
	  }, 100);
	  $("#bisheriger-versorger").val('');
	  $("#bisherige-kundennummer").val('');
  }

  function enableFormerSupplierFields() {
	  $('.formhandler-subsequent input#bisheriger-versorger').attr('readonly', false);
	  $('.formhandler-subsequent input#bisheriger-versorger').animate({
		  opacity: 1
	  }, 100);
	  $('.formhandler-subsequent select#versorger-dropdown').removeAttr('disabled');
	  $('.formhandler-subsequent select#versorger-dropdown').animate({
		  opacity: 1
	  }, 100);
	  $('.formhandler-subsequent input#bisherige-kundennummer').removeAttr('disabled');
	  $('.formhandler-subsequent input#bisherige-kundennummer').animate({
		  opacity: 1
	  }, 100);
  }

  $(".formhandler-subsequent input#neueinzug-ja").bind({
    click: disableFormerSupplierFields
  });

  $(".formhandler-subsequent input#neueinzug-nein").bind({
    click: enableFormerSupplierFields
  });


  /**
   * C O N T R A C T  D A T E
   */
  
  function disableContractDate() {
    $('.formhandler-subsequent input#datepicker-vertrag-datum').attr('readonly', true);
    $('.formhandler-subsequent input#datepicker-vertrag-datum').val('');
    $('.formhandler-subsequent input#datepicker-vertrag-datum').animate({
      opacity: 0.5
    }, 100);
  }

  function enableContractDate() {
    $('.formhandler-subsequent input#datepicker-vertrag-datum').attr('readonly', false);
    $('.formhandler-subsequent input#datepicker-vertrag-datum').animate({
      opacity: 1
    }, 100);
  }

  $(".formhandler-subsequent input#vertrag-gekuendigt-nein").bind({
    click: disableContractDate
  });

  $(".formhandler-subsequent input#vertrag-gekuendigt-ja").bind({
    click: enableContractDate
  });


  /**
   * B A N K  A C C O U N T  B L O C K
   */

  function unfoldBankAccountBlock() {
	$('.accordion h3.bank-account').next().show();
	$('.accordion h3.bank-account').addClass('show');
  }

  function foldBankAccountBlock() {
	$('.accordion h3.bank-account').next().hide();
	$('.accordion h3.bank-account').removeClass('show');
  }

  function manageBankAccountBlock() {
	  if ($("#zahlungsweise-einzugsermaechtigung").is(":checked")) {
		unfoldBankAccountBlock();
	} else if($("#zahlungsweise-ueberweisung").is(":checked")) {
		foldBankAccountBlock();
	}
  }

  $(".formhandler-subsequent input#zahlungsweise-einzugsermaechtigung").bind({
    click: manageBankAccountBlock
  });

  $(".formhandler-subsequent input#zahlungsweise-ueberweisung").bind({
    click: manageBankAccountBlock
  });

  /**
   * D I A L O G
   * 
   * Online-Formular "Versorgerwechsel"
   */

  $(function () {
    var errorExistsPLabel = $('p.label').hasClass('error');
    var errorExistsLabel = $('label').hasClass('error');
    var errorExistsH3 = $('h3').hasClass('error');
    var errorExistsSpan = $('span').hasClass('formhandler-error');
    if (errorExistsPLabel || errorExistsLabel || errorExistsH3 || errorExistsSpan) {
      $('.formhandler-form3 .accordion h3').next().show();
      $('#dialog-message').dialog({
        title: 'Hinweis',
        modal: true,
        buttons: {
          Ok: function () {
            $(this).dialog('close');
          }
        }
      });
    }
    else {
      $('#dialog-message').remove();
    }
  });

  $("#versorger-dropdown").bind("click", manageFormerSupplierField);

  /**
   * I N I T I A L I Z A T I O N
   */

  if ($("#neueinzug-ja").is(":checked")) {
	  disableFormerSupplierFields();
  }
  manageFormerSupplierField();
  manageBankAccountBlock();
  if ($("#vertrag-gekuendigt-nein").is(":checked")) {
	  disableContractDate();
  }

});
