﻿function getElementValue(elm) {
    var value = '';
    if (jQuery(elm).is('select')) {
        value = jQuery(":selected", elm).val();
    }
    else if (jQuery(elm).is('input') || jQuery(elm).is(':option')) {
        value = jQuery(elm).val();
    }
    else {
        value = jQuery(elm).text();
    }
    if (isNoBlank(value)) {
        return value;
    }
    else {
        return '';
    }

}


function checkForm() {
    var bOk = true;
    jQuery("span[name=errorTip]").remove();
    var vTypes = jQuery("[vType]");
    if (vTypes != undefined && vTypes != null && vTypes.length > 0) {
        for (var i = 0; i < vTypes.length; i++) {
            var type = jQuery(vTypes[i]).attr("vType");
            if (isNoBlank(type)) {
                var value = getElementValue(vTypes[i]);
                if (type == 'email' && isEmail(value) == false) {
                    bOk = false;
                    var msg = jQuery(vTypes[i]).attr("msg");
                    if (isNoBlank(msg) == false) {
                        msg = 'Please enter a valid email!';
                    }
                    jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                }
                else
                    if (type == 'phone' && isPhone(value) == false) {
                    bOk = false;
                    var msg = jQuery(vTypes[i]).attr("msg");
                    if (isNoBlank(msg) == false) {
                        msg = 'Please enter a valid phone number!';
                    }
                    jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                }
                else if (type == 'password') {
                    if (isNoBlank(value) == false) {
                        bOk = false;
                        var msg = jQuery(vTypes[i]).attr("msg");
                        if (isNoBlank(msg) == false) {
                            msg = 'Please enter the password!';
                        }
                        jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                    }
                    else if (value.length <= 6) {
                        bOk = false;
                        var msg = jQuery(vTypes[i]).attr("msg");
                        if (isNoBlank(msg) == false) {
                            msg = 'The length must be greater than 6!';
                        }
                        jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                    }
                    else {
                        var cpid = jQuery(vTypes[i]).attr('cpid');
                        if (isNoBlank(cpid) == false) {
                            bOk = false;
                            var msg = jQuery(vTypes[i]).attr("msg");
                            if (isNoBlank(msg) == false) {
                                msg = 'The passwords you entered do not match!';
                            }
                            jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                        }
                        else {
                            var t = jQuery("#" + cpid).val();
                            if (value.toLocaleLowerCase() != t.toLocaleLowerCase()) {
                                bOk = false;
                                var msg = jQuery(vTypes[i]).attr("msg");
                                if (isNoBlank(msg) == false) {
                                    msg = 'The passwords you entered do not match!';
                                }
                                jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                            }
                        }
                    }
                }
                else
                    if (type == 'notNull' && isNoBlank(value) == false) {
                    bOk = false;
                    var msg = jQuery(vTypes[i]).attr("msg");
                    if (isNoBlank(msg) == false) {
                        msg = 'Please enter the information!';
                    }
                    jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">' + msg + '</span>');
                }
                else
                    if (testText(value) == false) {
                    bOk = false;
                    jQuery(vTypes[i]).after('<span style="color:red" name="errorTip">Contains illegal characters(< or &#)!</span>');
                }
            }
        }
    }

    return bOk;
}
