$(function() {

  // Hover effect for menu
  $('#mainNav li').removeAttr('class'); // Removes class that has css hover effect

  //Replace labels with the name user types in on contact form
  $("#candidatesName").keyup(function() {
    var cName = $(this).val();
    changeLabels(cName);
  });
  $("#candidatesName").change(function() {
    var cName = $(this).val();
    changeLabels(cName);
  });

  function changeLabels(cName) {
    if (cName.match(/s$/)) {
      var emaillabel = cName + "' epost";
    } else {
      var emaillabel = cName + "s epost";
    }
    if (cName.length) {
      $("#cName").text(cName);
      $("label[for=candidatesEmail]").text(emaillabel);
    } else {
      $("#cName").text("vedkommende");
      $("label[for=candidatesEmail]").text("Epost");      
    }
  }

  var menuHover = {
    sensitivity: 100, // number = sensitivity threshold (must be 1 or higher)    
    interval: 100, // number = milliseconds for onMouseOver polling interval    
    over: function() {
      $(this).animate({ "height": "80px" }, "fast" );
    }, // function = onMouseOver callback (REQUIRED)    
    timeout: 0, // number = milliseconds delay before onMouseOut    
    out: function() {
      $(this).animate({ "height": "40px" }, "fast" );
    } // function = onMouseOut callback (REQUIRED)    
  };
  
  $('#mainNav li a').hoverIntent( menuHover );


  //Speach bubble
  $('#rubberduck').hoverIntent(
    function() {
      $('#speachBubble').fadeIn();
    },
    function() {
      $('#speachBubble').fadeOut();
    }
  );

  //Open full size image in overlay
  $(".colorbox-content").colorbox();

});

function ruleHandler(form, node, ruleMsg, successful) {
  var wrapper = node.parentNode;
  var div;
  if (hasClassName(wrapper, "error")) {
    var firstChild = wrapper.firstChild;
    if (firstChild.nodeType === 3) {
      firstChild = getNextElement(firstChild);
    }
    div = firstChild;
  }
  else {
    div = document.createElement("div");
    addClassName(div, "errorMessage");
    wrapper.insertBefore(div, wrapper.firstChild);
  }
  if (successful) {
    removeClassName(div.parentNode, "error");
    $(div).remove();
  }
  else {
    div.innerHTML = ruleMsg;
    addClassName(div.parentNode, "error");
  }
}

function ignoreErrors() {}

