function validateForm(form) {
    var message = "Please type following fields:\n\n";
    var focus = null;
    var result = true;
    for (var i = 0; i < form.elements.length; i++) {
        var element = form.elements[i];
        var match = "";
        if (element.getAttribute("isRequired") == "true") {
            if(element.getAttribute("match") != null) {
               var match = element.getAttribute("match");
            }
            if(!checkValue(element.value, match)) {
                if(focus == null) {
                    element.focus();
                    focus = true;
                }
                message += element.getAttribute("info") + "\n";
                result = false;
            }
        } else if (element.getAttribute("match") != null) {
            var match = element.getAttribute("match");
            if (element.value == "") {
                continue;
            }
            if (!checkValue(element.value, match)) {
                if (focus == null) {
                    element.focus();
                    focus = true;
                }
                message += element.getAttribute("info") + "\n";
                result = false;
            }
        }
    }
    if (!result) {
        alert(message);
    }
    return result;
}


function checkValue(value, match) {
    switch(match) {
        case "email":
            if(!(value.length>0&&value.match(new RegExp("^[A-Za-z0-9\-\_\.]+@([A-Za-z0-9\-\_]+\.)+[A-Za-z]+$","i")))){
                return false;
            }
            return true;
        break;

        case "digit":
            if(!value.match(new RegExp("^[0-9]+$","i"))) {
                return false;
            } else {
                return true;
            }
        break;

        default:
            if(value == "") {
                return false;
            } else {
                return true;
            }
        break;
    }
} 