var browserType;
var width = 0;
var height = 0;

if (document.layers) {browserType = "nn4";}
if (document.all) {browserType = "ie";}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {
 browserType= "gecko";
}

window.onload = setupFunc;

function hide(name) {
  if (document.getElementById) {
    document.getElementById('_overlay').style.display = "none";
    document.getElementById(name).style.display = "none";
  } else {
    name.style.display = "none";
    _overlay.style.display = "none";
  }
}

function pushID() {

    // id = linkID
    // type = 0-> meny, 1-> en dag => dagnummer er id
    var forms = document.forms;
    var id = 0;
    var type = 0;
    switch (arguments.length) {
      case 1:
        id = arguments[0];
        type = 0;
        break;
      case 2:
        id = arguments[0];
        type = arguments[1];
        break;
      case 3:
        id = arguments[0];
        type = arguments[1];
        day = arguments[2];
        forms[0].elements['date'].value = day;
        break;
    }
    if (type == 5) {
        forms[0].elements['date'].value = forms[0].elements['dateselect'].value;
    }
    forms[0].elements['menyID'].value = id;
    if (id != 99) {
        forms[0].elements['logginn'].value = true;
    }
    forms[0].elements['type'].value = type;
    forms[0].action = 'index.php';
    forms[0].submit();
}

function entsub(event, ourform) {
  var keyNum;

  if (window.event) {
    keyNum = event.keyCode;
  } else if (event.which) {
    keyNum = event.which;
  }
  if (keyNum == 13) {
    ourform.submit();
    return false;
  } else {
    return true;
  }
}

function check(obj, type) {
    var formVar = obj.form;
    var alertText = "";
    var email = formVar.elements['username'];
    var passwd = formVar.elements['password'];

    if (obj.name == 'glpassord') {
        alertText = 'Passordet vil bli sendt til din e-post adresse.';
    }
    if (email.value) {
        var filter1 = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var filter2 = /^d*[0-9]/;
        if (!filter1.test(email.value) && !filter2.test(email.value)) {
            alert('Vennligst skriv inn en gyldig e-post adresse eller mobilnummer.');
            email.focus;
            return false;
        }
        if (type == 1) {
            if (!passwd.value) {
                alert('Skriv inn passord først.');
                passwd.focus();
                return false;
            }
            formVar.logginn.value = true;
        } else {
            formVar.sendpassord.value = true;
        }
        if (alertText) {
            alert(alertText);
        }
        formVar.submit();
        return true;
    } else {
        alert('Skriv inn din e-post adresse først.');
        email.focus();
        return false;
    }
}

function checkProfile(obj) {
    var formVar = obj.form;
    formVar.submit();
    return true;
}

function doRegister(obj, steg){
    var formVar = obj.form;
    formVar.elements['new'].value = steg;
    formVar.submit();
    return true;
}

function booker(obj) {
    var formVar = obj.form;
    var date = formVar.elements['dateselect'];
    var room = formVar.elements['bookselect'];

    if (date.value && room.value) {
      formVar.elements['date'].value = date.value;
      formVar.elements['book'].value = room.value;
      formVar.elements['menyID'].value = "100";
      formVar.submit();
      return true;
    } else {
      alert("Både dato og time må velges.");
      return false;
    }
}

function showDiv(name, state) {
  var display = 'inline';
  if (state == 0) {
    display = 'none';
  }
  if (document.getElementById) {
    document.getElementById(name).style.display = display;
  } else {
    name.style.display = display;
  }
}

function checkPW(obj) {
    var formVar = obj.form;
    var oldpass = formVar.elements['gpassword'];
    var pass1 = formVar.elements['npassword'];
    var pass2 = formVar.elements['bpassword'];

    if (oldpass.value && pass1.value && pass2.value) {
        if (pass1.value != pass2.value) {
            pass1.focus();
            alert("Kontroller at du har skrevet inn det nye passordet likt begge gangene.");
            return false;
        } else {
            formVar.submit();
            return true;
        }
    } else {
        alert("Alle feltene må fylles ut.");
        return false;
    }
}

function getSize() {
   width = document.body.clientWidth;
   height = document.body.clientHeight;
}

function setOverlaySize() {
  if (document.getElementById) {
    if (document.getElementById('_overlay')) {
      document.getElementById('_overlay').style.width = '100%';
      document.getElementById('_overlay').style.height = '100%';
    }
  } else {
    if (_overlay) {
      _overlay.style.width = width + 'px';
      _overlay.style.height = height + 'px';
    }
  }
}

function setupFunc() {
  document.getElementsByTagName('body')[0].onclick = clickFunc;
  hideBusysign();
  getSize();
  if (document.getElementById('_overlay')) {
    setOverlaySize();
  }
  Cerum.Ajax.registerPreCallHandler(showBusysign);
  Cerum.Ajax.registerPostCallHandler(hideBusysign);
  Cerum.Ajax.registerFailureHandler(hideBusysign);
}

function hideBusysign() {
  if (document.getElementById) {
    document.getElementById('busy_indicator').style.display ='none';
  }
}

function showBusysign() {
  if (document.getElementById) {
    document.getElementById('busy_indicator').style.top = (window.screen.height / 2) + 'px';
    document.getElementById('busy_indicator').style.left = (window.screen.width / 2) + 'px';
    document.getElementById('busy_indicator').style.position ='absolute';
    document.getElementById('busy_indicator').style.display ='block';
  }
}

function clickFunc(eventData) {
  var clickedElement = (window.event) ? event.srcElement : eventData.target;
  if (clickedElement.tagName.toUpperCase() == 'BUTTON' ||
     clickedElement.tagName.toUpperCase() == 'A' ||
     clickedElement.parentNode.tagName.toUpperCase() == 'A' ||
     (clickedElement.tagName.toUpperCase() == 'INPUT' &&
       (clickedElement.type.toUpperCase() == 'BUTTON' || clickedElement.type.toUpperCase() == 'SUBMIT')
     )
   ) {
    if (clickedElement.tagName.toUpperCase() == 'A' || clickedElement.tagName.toUpperCase() == 'DIV' || clickedElement.value.toUpperCase() != 'LUKK') {
      showBusysign();
    }
  }
}

