﻿function fnTrapKD(btn) { if (document.all) { if (event.keyCode == 13) { event.returnValue = false; event.cancel = true; document.all(btn).click(); } } else { if (event.which == 13) { event.returnValue = false; event.cancelBubble = true; document.getElementById(btn).click(); } } }
function al(o, s1, s2) { if (o.style.display == '') o.focus(); if (s1) alert(s1); else alert(s2); }
function checkDate(d) { return (d.match(/^\d{1,2}\-\d{1,2}\-\d{4}$/)); }
function checkDateAndAlert(o, s) { if (!checkDate(o.value)) { al(o, s, "Du skal indtaste en gyldig dato \n\n i formatet dd-mm-yyyy!"); return false; } return true; }
function checkBirthDayAndAlert(o, s) { if (!checkDate(o.value)) { al(o, s, "Du skal indtaste en gyldig fødselsdato \n\n i formatet dd-mm-yyyy!"); return false; } return true; }
function checkNumber(d) { return (d.match(/^[0-9\+ ]+$/) && d.charAt(0) != '0'); }
function checkNumberAndAlert(o, s) { if (!checkNumber(o.value)) { al(o, s, "Du må kun indtaste heltal i feltet!"); return false; } return true; }
function checkMatchNumber(d) { return (d.match(/^[0-9\+ ]+$/) && d.length == 6 && d.charAt(0) != '0'); }
function checkMatchNumberAndAlert(o, s) { if (!checkMatchNumber(o.value)) { al(o, s, "Du skal indtaste et gyldigt kampnummer i feltet!"); return false; } return true; }
function checkSelected(o) {if (o.options.length > 1) return (o.selectedIndex != 0); else return true; }
function checkSelectedAndAlert(o, s) { if (!checkSelected(o)) { al(o, s, "Du skal foretage et valg!"); return false; } return true; }
function checkEmpty(d) { if (d == '') return false; else return true; }
function checkEmptyAndAlert(o, s) { if (!checkEmpty(o.value)) { al(o, s, "Du skal indtaste en værdi i feltet!"); return false; } return true; }
function checkTime(d) { return (d.match(/^\d{1,2}\:\d{1,2}$/)); }
function checkTimeAndAlert(o, s) { if (!checkTime(o.value)) { al(o, s, "Du skal indtaste et gyldigt tidspunkt i formatet:\n\n hh:mm"); return false; } return true; }
function checkZip(d) { return (d.match(/^[0-9\+ ]+$/) && d.length == 4 && d.charAt(0) != '0'); }
function checkZipAndAlert(o, s) { if (!checkZip(o.value)) { al(o, s, "Du skal indtaste et gyldigt postnummer i feltet!"); return false; } return true; }
function checkPhone(d) { return (d.match(/^[0-9\+ ]+$/) && d.length == 8 && d.charAt(0) != '0'); }
function checkPhoneAndAlert(o, s) { if (!checkPhone(o.value)) { al(o, s, "Du skal indtaste et gyldigt telefonnummer i feltet!"); return false; } return true; }
function checkEmail(d) { var regExp = new RegExp("^[\\w][\\w\\.\\-]*@[\\w][\\w\\.\\-]*\\.[\\w]{2}[\\w\\.\\-\\/]*$", "i"); return (regExp.test(d)) }
function checkEmailAndAlert(o, s) { if (!checkEmail(o.value)) { al(o, s, "Du skal indtaste en gyldig e-mail adresse!"); return false; } return true; }

function validateForm() {
    var form = document.forms[0];
    var eCurrent;
    var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
    var regExp = new RegExp("^[" + t + "][" + t + "\\.\\-]*@[" + t + "][" + t + "\\.\\-]*\\.[" + t + "]{2}[" + t + "\\.\\-\\/]*$", "i");

    for (var i = 0; i < form.elements.length; ++i) {
        eCurrent = form.elements[i];

        if (eCurrent.tagName.toUpperCase() == "INPUT" && eCurrent.type.toUpperCase() == "TEXT") {
            if (eCurrent.className.indexOf('requiredEmail') != -1 && !eCurrent.value) {
                eCurrent.focus();
                alert("Du skal indtaste en e-mail adresse i feltet !");
                return false;
            }
            else if (eCurrent.className.indexOf('requiredZip') != -1 && !eCurrent.value) {
                eCurrent.focus();
                alert("Du skal indtaste et postnummer i feltet !");
                return false;
            }
            else if (eCurrent.className.indexOf('requiredPhone') != -1 && !eCurrent.value) {
                eCurrent.focus();
                alert("Du skal indtaste et telefonnummer i feltet !");
                return false;
            }
            else if (eCurrent.className.indexOf('requiredDate') != -1 && !eCurrent.value) {
                eCurrent.focus();
                alert("Du skal indtaste en dato i feltet !");
                return false;
            }
            else if (eCurrent.className.indexOf('requiredInt') != -1 && !eCurrent.value) {
                eCurrent.focus();
                alert("Du skal indtaste en talværdi i feltet !");
                return false;
            }
            else if (eCurrent.className.indexOf('required') != -1 && !eCurrent.value) {
                eCurrent.focus();
                alert("Feltet skal udfyldes!");
                return false;
            }
            else if (eCurrent.className.indexOf('optional') != -1 && eCurrent.value == '') {
            }
            else if ((eCurrent.className.indexOf('optionalInt') != -1 || eCurrent.className.indexOf('requiredInt') != -1) && !eCurrent.value.match(/^[0-9\+ ]+$/)) {
                eCurrent.focus();
                alert("Feltet må kun indeholde talværdier!");
                return false;
            }
            else if ((eCurrent.className.indexOf('optionalZip') != -1 || eCurrent.className.indexOf('requiredZip') != -1) && (!eCurrent.value.match(/^[0-9\+ ]+$/) || eCurrent.value.length != 4)) {
                eCurrent.focus();
                alert("Du skal indtaste et gyldigt postnummer i feltet!");
                return false;
            }
            else if ((eCurrent.className.indexOf('optionalPhone') != -1 || eCurrent.className.indexOf('requiredPhone') != -1) && (!eCurrent.value.match(/^[0-9\+ ]+$/) || eCurrent.value.length != 8)) {
                eCurrent.focus();
                alert("Du skal indtaste et gyldigt telefonnummer i feltet!");
                return false;
            }
            else if ((eCurrent.className.indexOf('optionalDate') != -1 || eCurrent.className.indexOf('requiredDate') != -1) && !eCurrent.value.match(/^\d{1,2}\-\d{1,2}\-\d{4}$/)) {
                eCurrent.focus();
                alert("Du skal indtaste en gyldig dato \n\n      i formatet dd-mm-yyyy!");
                return false;
            }
            else if ((eCurrent.className.indexOf('optionalEmail') != -1 || eCurrent.className.indexOf('requiredEmail') != -1) && !regExp.test(eCurrent.value)) {
                eCurrent.focus();
                alert("Du skal indtaste en gyldig e-mail adresse !");
                return false;
            }
        }
        else if (eCurrent.tagName.toUpperCase() == "SELECT") {
            if (eCurrent.className.indexOf('required') != -1 && eCurrent.selectedIndex == 0) {
                eCurrent.focus();
                alert("Du skal foretage et valg!");
                return false;
            }
        }
    }
    return true;
}
function NumericOnly(event) {
    var bReturn = false;
    event = event || window.event;
    if (!isNaN(event.which) && !event.which) // Der køres firefox, hvor keyCode = piletaster, etc. Disse må gerne bruges
        bReturn = true;
    else if (event.ctrlKey || event.altKey) // Holdes alt eller ctrl nede må de også køre igennem
        bReturn = true;
    if (bReturn) {
        if (event.returnValue)
            event.returnValue = true;
        return true;
    }
    var keyCode = event.keyCode ? event.keyCode : event.which;
    bReturn = ((keyCode >= 48 && keyCode <= 57) || keyCode == 8 || keyCode == 9); // 8 = BackSpace, 9 = Tab

    if (event.returnValue)
        event.returnValue = bReturn;
    else
        return bReturn;
}