﻿function showGuestBookLayer() {
    document.getElementById('addGuestBookEntry').className = 'elementShow';
    document.getElementById('guestBook').className = 'elementHide';
}

function GetElement(elementId) {
    var obj;
    var id = document.getElementById(elementId).value;
    if (id != '') {
        obj = document.getElementById(id);
    }

    if (obj != null) {
        return document.getElementById(id);
    } else {
        return document.getElementById(elementId);
    }
}

function validGuestBookEntry() {
    var rtn = true;

    if (!validemail('newEmail', true))
        rtn = false;
    
    if (!minLength('newHeader', true, 2))
        rtn = false;
            
    if (!minLength('newComment', true, 5))
        rtn = false;

    if (rtn) {
        enableNext();
    } else {
        disableNext();
    }

}


function disableNext() {
    document.getElementById('buttonPanel').className = 'buttons elementHide';
}
function enableNext() {
    document.getElementById('buttonPanel').className = 'buttons elementShow';
}

function validemail(id, required) {
    var obj = GetElement(id);
    var str = obj.value; // email string
    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
    var reg2 = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; // valid
    //var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; // valid

    if (required && obj.value.length < 1) {
        var validMark = GetElement(id + 'Val');
        validMark.className = 'fieldError';
        return false;
    } else {
        if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
            var validMark = GetElement(id + 'Val');
            validMark.className = 'fieldValid';
            return true;
        }
    }
    if (required || obj.value.length > 0) {
        var validMark = GetElement(id + 'Val');
        validMark.className = 'fieldError';
        return false;
    } else {
        var validMark = GetElement(id + 'Val');
        validMark.className = '';
        return true;
    }
    return false;
}


function minLength(id, required, min_length) {
    var obj = GetElement(id);
    if (obj != null) {
        if ((obj.value.length > 0 && obj.value.length < min_length) || (obj.value.length == 0 && required)) {
            var validMark = GetElement(id + 'Val');
            if (validMark != null) {
                if (obj.value.length == 0 && !required) {
                    validMark.className = '';
                    return true;
                }
                else {
                    validMark.className = 'fieldError';
                    return false;
                }
            }
        }
        else {
            var validMark = GetElement(id + 'Val');
            if (validMark != null) {
                if (obj.value.length == 0 && !required) {
                    validMark.className = '';
                    return true;
                }
                else {
                    validMark.className = 'fieldValid';
                    return true;
                }
            }
        }
    }
    return true;
}