
function jQueryLoaded() {
  return (typeof jQuery != 'undefined');
}

$().ready(function() {
  $.fn.validateEmail = function() {   
    var emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,4}$/;
    if (!emailRegex.test($(this).val())) {
      $(this).addClass("error");
      return false;
    } else {
      $(this).removeClass("error");
      return true;
    }
  }
  $.fn.validateNotEmpty = function() {
    if ($(this).val() == "") {
      $(this).addClass("error");
      return false;
    } else {
      $(this).removeClass("error");
      return true;
    }
  }
  $.fn.validateNumber = function(minLength) {
    var numberRegex = new RegExp("^[0-9]{"+minLength+",}$");  
    if (!numberRegex.test($(this).val())) {
      $(this).addClass("error");
      return false;
    } else {
      $(this).removeClass("error");
      return true;
    }
  }
  $.fn.resetForm = function() {
    $(this).get(0).reset();
    $(this).clearErrors();
  }
  $.fn.clearErrors = function() {
    $("#"+$(this).attr("id")+" .error").each(function() {
      $(this).removeClass("error");
    });
  }
});

$("#banner").ready( function() {
  var page = $("body").attr("id");
  if (page === "sports") {
    $("#banner-image").attr("src", "img/header-banner-sports.jpg");
    $("#banner-image").attr("alt", "Sport project de blabla");
  } else if (page === "water") {
    $("#banner-image").attr("src", "img/header-banner-water.jpg");
    $("#banner-image").attr("alt", "Water project de blabla");
  }
});
/* DISABLED SCROLLING SUB-MENU
$("#submenu").ready( function() {
  var $submenuEl = $("#submenu");
  if ($submenuEl.length == 0) {
    return;
  }
  var $mainOffsetTop = $("#main").offset().top - 10;
  var $photos = $(".photo");

  $(window).scroll( function() {
    if ($(window).scrollTop() > $mainOffsetTop) {
      $marginTop = $(window).scrollTop() - $mainOffsetTop;
    } else {
      $marginTop = "0";
    }
    var $overlaps = false;
    for (var i=0; i<$photos.length; i++) {
      if (overlaps($submenuEl, $($photos[i]), 0, $marginTop)) {
        $overlaps = true;
        break;
      }
    }
    if (!$overlaps) {
      $submenuEl.stop().animate( {
        "marginTop" :$marginTop + "px"
      }, "normal");
    }
  });
});
*/
function setCurrentMenuItem() {
  $("#mainmenu").ready( function() {
    var pageIds = $("body").attr("id").split("_");
    // set active mainmenu item
      $("#mainmenu #" + pageIds[0] + "-mainmenu").attr("class", "active");
      if (pageIds.length > 1) {
        // set active submenu item
        $("#submenu #" + pageIds[1] + "-submenu").attr("class", "active");
      }
    });
}

function setLightBox(rel) {
  $anchorRelValue = rel;
  $("head").append("<link>");
  css = $("head").children(":last");
  css.attr( {
    rel :"stylesheet",
    type :"text/css",
    href :root_dir + "css/colorbox.css"
  });
  $.ajaxSetup( {
    cache :true
  });
  $.getScript(
    root_dir + "js/jquery.colorbox-min-1.3.17.js",
    function() {
      // wait before initialising to prevent intermittent load error
      setTimeout(
          '$("a[rel=\'"+$anchorRelValue+"\']").colorbox({slideshow:true,slideshowAuto:false,maxHeight:500,maxWidth:1280,current:"foto {current} van {total}",slideshowStart:"start slideshow",slideshowStop:"stop slideshow",previous:"vorige",next:"volgende",close:"sluiten"})',
          250);
  });
  $.ajaxSetup( {
    cache :false
  });
}

function overlaps($el1, $el2, $offsetX, $offsetY) {
  var $el1TopOffset = $el1.position().top+$offsetY;
  var $el1BottomOffset = $el1.position().top+$el1.height()+$offsetY;
  var $el1Left = $el1.position().left+$offsetX;
  var $el1Right = $el1.position().left+$el1.width()+$offsetX;
  var $el2Top = $el2.position().top;
  var $el2Bottom = $el2.position().top + $el2.height();
  var $el2Left = $el2.position().left;
  var $el2Right = $el2.position().left + $el2.width();
  
  var $overlaps = (($el2Top < $el1BottomOffset) && ($el2Bottom > $el1BottomOffset)) || (($el2Top < $el1TopOffset) && ($el2Bottom > $el1TopOffset));
  return $overlaps && ((($el2Left <= $el1Right) && ($el2Right >= $el1Right)) || (($el2Left <= $el1Left) && ($el2Right >= $el1Left)));
}
