/**
 * Get a random number to add to the parameter of AJAX
 * to get a unique URL. This solves the problem of
 * caching in Internet Explorer.
 */
function getUniqueParam() {
  return "&random=" + Math.round(Math.random() * 1000000);
}


/**
 * The action performed when a menu button is clicked.
 */
function buttonClick(page) {
  $('titleImage').src='images/title_' +  page + '.png';
  updateContent('pages/' + page + '.php');
  // Now update the stats to nedstat.
  trackPageVisit(page);
}

function trackPageVisit(page) {
  var pageNr = 1;
  if (page == 'home') {
    pageNr = 1;
  } else if (page == "anja") {
    pageNr = 2;
  } else if (page == "workshops") {
    pageNr = 3;
  } else if (page == "fotos") {
    pageNr = 4;
  } else if (page == "blog") {
    pageNr = 5;
  } else if (page == "contact") {
    pageNr = 6;
  } else if (page == "blog_archive") {
    pageNr = 7;
  }
  var m = new Image();
  // Retreive the image from nedstat, this way the visit is registered.
  m.src = 'http://m1.nedstatpro.net/nl/nedstatpro.gif?name=xxxx01_' + pageNr;
}

/**
 * Function to update the content.
 */
function updateContent(url) {
  new Request.HTML({
    url : url,
    update : $('content'),
    onRequest : function() {
      $('content').set('html', '<div style="font-style: italic; color: #999999;">Bezig met laden...</div>');
    },
    onComplete : function() {
      initSlimbox();
    }
  }).get();
}

/**
 * Function to register a form for a page.
 */
var oldButtonValue;
function registerForm(formName) {
  $(formName).addEvent('submit', function(e) {
    /**
     * Prevent the submit event
     */
    new Event(e).stop();

    var updateElement = $('content');

    // Add a unique parameter to the form action url.
    var actionUrl = $(formName).action + getUniqueParam();

    new Request.HTML({
      url : actionUrl,
      update : updateElement,
      onRequest : function() {
        if (submitButton = $(formName).getElement('input[type=submit]')) {
          oldButtonValue = submitButton.getAttribute("value");
          submitButton.setAttribute("value", 'Moment a.u.b.');
          submitButton.setAttribute("disabled", "disabled");
        } else if (submitButton = $(formName).getElement('button[type=submit]')) {
          oldButtonValue = submitButton.getAttribute("value");
          submitButton.setAttribute("value", 'Moment a.u.b.');
          submitButton.setAttribute("disabled", "disabled");
        }
      },
      onCancel: function() {
        if ($(formName)) {
          if (submitButton = $(formName).getElement('input[type=submit]')) {
            submitButton.setAttribute("value", oldButtonValue);
            submitButton.removeAttribute("disabled");
          } else if (submitButton = $(formName).getElement('button[type=submit]')) {
            submitButton.setAttribute("value", oldButtonValue);
            submitButton.removeAttribute("disabled");
          }
        }
      },
      onComplete : function() {
        if ($(formName)) {
          if (submitButton = $(formName).getElement('input[type=submit]')) {
            submitButton.setAttribute("value", oldButtonValue);
            submitButton.removeAttribute("disabled");
          } else if (submitButton = $(formName).getElement('button[type=submit]')) {
            submitButton.setAttribute("value", oldButtonValue);
            submitButton.removeAttribute("disabled");
          }
        }
      }
    }).post($(formName));
  });
}

