<!--
/* validate username in pwdForm */
function validateUsername() {
    var f = document.forms['pwdForm'];
    if (!validateEmail(f.username.value)) {
        alert('Vennligst oppgi en gyldig\ne-postadresse.');
        return false;
    } else {
        return true;
    }
}

/* validate pwdForm */
function validatePassword() {
    var f = document.forms['pwdForm'];
    if (f.newPassword.value == '') {
        alert('Nytt passord kan ikke være blankt.');
        return false;
    } else if (!validatePasswordChars(f.newPassword.value)) {
        alert('Ugyldig tegn i passordet!\nUnngå æ, ø, å og spesialtegn.');
    } else if (f.newPassword.value == f.newPassConfirm.value) {
        return true;
    } else if (f.oldPassword.value != f.newPassword.value) {
        alert('Feltene for nytt passord er forskjellige.');
        f.newPassword.value = '';
        f.newPassConfirm.value = '';
        return false;
    } else {
        alert('Nytt og gammelt passord er identiske. Ingen endring.');
        f.newPassword.value = '';
        f.newPassConfirm.value = '';
        return false;
    }
}

function validatePasswordChars(pw) {
    var validchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-!@";
    for (var i=0; i<pw.length; i++) {
        if (validchars.indexOf(pw.substring(i, i+1)) == "-1") {
            return false;
        }
    }
    return true;
}

/* validate oldPassword in pwdForm */
function validateOldPassword() {
    var f = document.forms['pwdForm'];
    if (f.oldPassword.value == '') {
        alert('Vennligst oppgi ditt passord.');
        return false;
    } else {
        return true;
    }
}

/* Validate an e-mail address */
function validateEmail(email) {
    var char_at = 0;
    var char_dot = 0;
    for (var i=0;i<email.length;i++) {
        if (email.substring(i,i+1) == '@') char_at++;
        if (email.substring(i,i+1) == '.') char_dot++;
    }
    if (char_at == 1 && char_dot > 0) {
        return true;
    } else {
        return false;
    }
}

/* validate loginform, alert problems */
function validateLoginForm() {
    var heading = null;
    f = document.forms['loginform'];
    if (f.userName.value == '' && f.password.value == '') {
        heading = 'Oppgi brukernavn og passord\nfor å logge inn.'
    } else if (f.password.value == '') {
        heading = 'Vennligst oppgi ditt passord.'
    }
    if (heading != null) {
        a_alert(heading,new Array,30);
        return false;
    } else {
        return true;
    }
}

/* validate searchForm, alert problems */
function alertSearchForm() {
    var heading = 'Skjemaet kunne ikke behandles:';
    var messages = new Array;
    var index = 0;
    var f = document.forms['searchForm'];
    if (f.phoneNumber.value == '') {
        messages[index++] = 'Telefonnummer mangler.';
    } else if (f.phoneNumber.value.length < 8) {
        messages[index++] = 'Telefonnummer må ha 8 sifre.';
    }
    if (f.subscriptionNumber.value == '') {
        messages[index++] = 'Abonnementsnr. mangler.';
    } else if (f.subscriptionNumber.value.length < 7) {
        messages[index++] = 'Abonnementsnr. må ha 7 sifre.';
    }
    if (messages.length > 0) {
        a_alert(heading,messages,30);
        return false;
    } else {
        return true;
    }
}

/* validate regForm, alert problems */
function alertRegistrationForm() {
    var heading = 'Skjemaet kunne ikke behandles:';
    var messages = new Array;
    var index = 0;
    var f = document.forms['regForm'];
    if (f.email.value == '') {
        messages[index++] = 'E-post mangler.';
    } else if (!validateEmail(f.email.value)) {
        messages[index++] = 'Ikke en gyldig e-postadresse.';
    }
    if (f.password.value == '') {
        messages[index++] = "Passord kan ikke være blankt.";
    } else if (!validatePasswordChars(f.password.value)) {
        messages[index++] = "Ugyldig tegn i passordet!\n"+nbsp+nbsp+nbsp+"(Unngå æ,ø,å og spesialtegn.)";
    } else if (f.password.value != f.confirm.value) {
        messages[index++] = "Feltene for passord er forskjellige.";
    }
    if (f.firstName.value == '') {
        messages[index++] = 'Fornavn mangler.';
    }
    if (f.lastName.value == '') {
        messages[index++] = 'Etternavn mangler.';
    }
    if (f.phoneNumber.value == '') {
        messages[index++] = 'Telefonnummer mangler.';
    } else if (f.phoneNumber.value.length < 8) {
        messages[index++] = 'Telefonnummer må ha 8 sifre.';
    }
    if (f.zipCode.value != '' || f.street.value != '') {
        if (f.street.value == '' && parseInt(f.zipCode.value) < 1300) {
            messages[index++] = 'Gateadresse mangler.';
        }
        if (f.zipCode.value == '') {
            messages[index++] = 'Postnummer mangler.';
        } else if (f.zipCode.value.length < 4) {
            messages[index++] = 'Postnummer må ha 4 sifre.';
        }
    }
    if (messages.length > 0) {
        a_alert(heading,messages,30);
        return false;
    } else {
        return true;
    }
}

/* validate profileForm, alert problems */
function alertProfileForm() {
    var heading = 'Skjemaet kunne ikke behandles:';
    var messages = new Array;
    var index = 0;
    var f = document.forms['profileForm'];
    if (f.firstName.value == '') {
        messages[index++] = 'Fornavn mangler.';
    }
    if (f.lastName.value == '') {
        messages[index++] = 'Etternavn mangler.';
    }
    if (f.phoneNumber.value == '') {
        messages[index++] = 'Telefonnummer mangler.';
    } else if (f.phoneNumber.value.length < 8) {
        messages[index++] = 'Telefonnummer må ha 8 sifre.';
    }
    if (f.zipCode.value != '' || f.street.value != '') {
        if (f.street.value == '' && parseInt(f.zipCode.value) < 1300) {
            messages[index++] = 'Gateadresse mangler.';
        }
        if (f.zipCode.value == '') {
            messages[index++] = 'Postnummer mangler.';
        } else if (f.zipCode.value.length < 4) {
            messages[index++] = 'Postnummer må ha 4 sifre.';
        }
    }
    if (messages.length > 0) {
        a_alert(heading,messages,30);
        return false;
    } else {
        return true;
    }
}
// -->
