function isEmpty(field) {
    return field && field.value == "";
}

function oneChecked(elements) {
    if (elements) {
        if (elements.length) {
            for (var i = 0; i < elements.length; i++) {
                if (elements[i].checked) {
                    return true;
                }
            }
            return false;
        } else {
            return elements.checked;
        }
    } else {
        return false;
    }
}

function isInt(value, lowerLimit, upperLimit) {
    if (value && value != "") {
        var intValue = parseInt(value);
        return (!isNaN(intValue) && intValue >= lowerLimit
            && intValue <= upperLimit);
    } else {
        return false;
    }
}

function isInt2(value) {
    if (value && value != "") {
        var intValue = parseInt(value);
        return (!isNaN(intValue));
    } else {
        return false;
    }
}

function isIntOrEmpty(value) {
    if (value) {
        if (value == "") return true;
        return value == parseInt(value);
    }
    return true;
}


function isPositiveInt(value) {
    if (value && value != "") {
        var intValue = parseInt(value);
        return (!isNaN(intValue) && intValue > 0);
    } else {
        return false;
    }
}

function isPositiveFloat(value) {
    if (value && value != "") {
        var intValue = parseFloat(value);
        return (!isNaN(intValue) && intValue > 0);
    } else {
        return false;
    }
}

function isNonNegativeInt(value) {
    if (value && value != "") {
        var intValue = parseInt(value);
        return (!isNaN(intValue) && intValue >= 0);
    } else {
        return false;
    }
}

function checkForm(form, passwordRequired) {
    if (form.email && isEmpty(form.email)) {
        alert(emailEmpty);
    } else if (form.email && !isEmailValid(form.email.value)) {
        alert(incorrectEmail);
    } else if (passwordRequired && isEmpty(form.password)) {
        alert(passwordEmpty);
    } else if (form.password.value != form.password2.value) {
        alert(passwordWrong);
    } else {
        form.submit();
    }
}

function isEmailValid(email) {
    var atIndex = email.indexOf("@");
    if (atIndex == -1) {
        return false;
    }
    var afterAt = email.substring(atIndex + 1, email.length);

    var dotIndex = afterAt.lastIndexOf(".");
    if (dotIndex ==  -1) {
        return false;
    }

    var afterDot = afterAt.substring(dotIndex + 1, afterAt.length);
    if (afterDot.length < 2) {
        return false;
    }

    return true;
}

