/* screen.js */



function fixCheckboxes() {
  $('input:checkbox').each(
    function(){      
      var checkbox = $(this)[0];
      $(this).parent().click(
        function(){
          var me = $(this);
          if (checkbox.checked == true) {
            checkbox.checked = false;
            me.removeClass('checked');
          } else {
            checkbox.checked = true;
            me.addClass('checked');
          }
        }
      );
      $(this).click(
        function(){
          var me = $(this);
          if (checkbox.checked == true) {
            checkbox.checked = false;
            me.parent().removeClass('checked');
          } else {
            checkbox.checked = true;
            me.parent().addClass('checked');
          }
        }
      );
    }
  );
}

function fixButtons() {
  $('button').hover(
    function(){
      $(this).addClass('hover');
    },
    function(){
      $(this).removeClass('hover');
    }
  );
}

function validateForm(){
  $('.required').each(
    function(){
      
    }
  );
}

function recaptchaContactForm(){
  $('body.kontakt').each(
    function(){
       var RecaptchaOptions = {
          theme: "custom",
          custom_theme_widget: 'ajax_recaptcha',
          lang: "de",
          callback: validateContactForm
       };
      Recaptcha.create(
        '6Lc9xb4SAAAAAEK_Aeujl2KzySdRzDtUHzWpYGUS',
        document.getElementById('ajax_recaptcha'),
        RecaptchaOptions);
    }
  )

}

function checkCaptcha() {
  if ($('#checksum')[0].value == "empty"){
    var url = $('#contactform').attr('action').replace('?action=send_email', '.json?action=captcha_valid')
    var response = Recaptcha.get_response();
    var challenge = Recaptcha.get_challenge();
    var ajax_response;
    $.ajax(
      { url: url,
        async: false,
        type: 'POST',
        data: { recaptcha_challenge_field: challenge, recaptcha_response_field:  response },
        success: function(data){
          ajax_response = data;          
        }
      }
    );
    if (ajax_response["checksum"] != undefined) {
      $('#checksum')[0].value = ajax_response["checksum"];
      return true;
    } else {
      $('#checksum')[0].value = "empty";
      Recaptcha.reload();
      return false;
    }
  } else {
    return true;
  }
}

function validateContactForm(){
  jQuery.validator.addMethod("recaptcha", function(value, element) {
    return checkCaptcha();
  }, "Das Captcha wurde nicht korrekt ausgefüllt.");
  
  
  $("#contactform").validate(
    {
     onkeyup: false,
     errorContainer: "#formerrors",
     rules: {
       checksum: {
         required: true,
         recaptcha: true
       }
     }
     /*,
     messages: {
       firstname: "Das Feld Vorname ist erforderlich.",
       lastname:  "Das Feld Nachname ist erforderlich.",
       email: {
         required: "Das Feld E-Mail ist erforderlich.",
         email: "Das ist keine gültige E-Mail-Adresse."
       },
       checksum: {
         required: "Die Eingabe ist erforderlich.",
         recaptcha: "Die Eingabe war nicht korrekt. Bitte versuchen Sie es erneut."
       }
     } */
    }
  );
}

function fixMailtos(){
  $('a[href^=mailto]').each(
    function(){
      $(this).attr('href', $(this).attr('href').replace(/\s*\(\s*at\s*\)\s*/i, '@'));
      $(this).text($(this).text().replace(/\s*\(\s*at\s*\)\s*/i, '@'));
    }
  );
}

function loadGMap() {
  $('#googlemap').each(
    function(){
      if (GBrowserIsCompatible()) {
        var map  = new GMap2($(this)[0]);
        var point = new GLatLng(50.93719, 6.97669);
        map.addControl(new GSmallMapControl());
        map.setCenter(point, 13, G_NORMAL_MAP);
        map.addOverlay(new GMarker(point));
      }
    }
  );
}

function hoverImages(){
    $('.home .content .main img').hover(
        function(){
            this.old_width = $(this).css('width');
            this.old_height = $(this).css('height');
            $(this).css('height', 'auto');
            $(this).css('width', 'auto');
        },
        function(){
            $(this).css('width', this.old_width);
            $(this).css('height', this.old_height);
        }
    );
}


jQuery(document).ready(function() {
  fixMailtos();
  fixCheckboxes();
  fixButtons();
  loadGMap();
  hoverImages();
  //validateContactForm();
  //recaptchaContactForm();
});



