var Globals = new Object();

Globals.mapEmptied = new Map();

function initLogin() {
   var elemEmail, elemPassword;
   elemEmail = elemById('login_email');
   elemPassword = elemById('login_password');

   elemEmail.value = "e-mail adres";
   elemEmail.onfocus = function() {emptyOnFirst(this);};

   if (!isMSIE()) {
      elemPassword.setAttribute('type', 'text');
      elemPassword.value = "wachtwoord";
      elemPassword.onfocus = function() {makePasswordField(this);};
   }
}

function emptyOnFirst(elemInput) {
   if (Globals.mapEmptied[elemInput.id]) {
      return;
   }
   elemInput.value = '';
   Globals.mapEmptied[elemInput.id] = true;
}

function makePasswordField(elemInput) {
   if (Globals.mapEmptied[elemInput.id]) {
      return;
   }
   elemInput.value = '';
   elemInput.setAttribute('type', 'password');
   Globals.mapEmptied[elemInput.id] = true;
}

function initCalendar() {
   var arrDays, _i, strDay;
   arrDays = elemsByTag('div', elemById('dayblock'));
   for (_i = 0; _i < arrDays.length; ++_i) {
      if (isEmpty(arrDays[_i].id)) {
         continue;
      }
      if (arrDays[_i].id.substr(0, 3) == 'day') {
         strDay = arrDays[_i].id.substr(3);
         arrDays[_i].onmouseover = getOpenFunction(strDay);
         arrDays[_i].onmouseout = getCloseFunction();
      }
      else if (arrDays[_i].id.substr(0, 5) == 'event') {
         arrDays[_i].onmouseover = cancelTimeouts;
         arrDays[_i].onmouseout = getCloseFunction();
      }
   }
}
function getOpenFunction(strDay) {
   return function() {
      closeEvent();
      cancelTimeouts();
      elemById('event' + strDay).style.display = 'block';
      Globals.strOpenDay = strDay;
   }
}
Globals.arrTimeoutIds = new Array();
function getCloseFunction() {
   return function() {
      Globals.arrTimeoutIds.push(window.setTimeout(closeEvent, 750));
   }
}
function closeEvent() {
   if (Globals.strOpenDay) {
      elemById('event' + Globals.strOpenDay).style.display = 'none';
   }
}
function cancelTimeouts() {
   for (_i = 0; _i < Globals.arrTimeoutIds.length; ++_i) {
      window.clearTimeout(Globals.arrTimeoutIds[_i]);
   }
}

function isMSIE() {
   return /MSIE \d\.\d/.test(navigator.userAgent)
}