﻿
function checkAll(formName){

    var ok2submit = true;
    
    if (formName) {
        var xObj = formName.elements;
        var xLen = xObj.length;

        for (var curX = 0; curX < xLen; curX++) {
            curObj = xObj[curX];

            curCheckType = curObj.attributes["check_type"];

            if (curCheckType && ok2submit) {

                /*$('#' + curObj.name + ', input[name=' + curObj.name + ']').removeClass('inputAlert');*/

                check_type = curCheckType.nodeValue.substring(0, 5);

                if (check_type == 'isLen')
                    ok2submit = ok2submit && isLength(formName.name, curObj, curCheckType.nodeValue.substring(6, 10));
                if (check_type == 'isMor')
                    ok2submit = ok2submit && isMoreThan(formName.name,curObj, curCheckType.nodeValue.substring(6, 10));
                if (check_type == 'exist')
                    ok2submit = ok2submit && isMoreThan(formName.name, curObj, 0);
                if (check_type == 'email')
                    ok2submit = ok2submit && isEmail(formName.name, curObj);
                if (check_type == 'digit')
                    ok2submit = ok2submit && isDigits(formName.name, curObj);
                if (check_type == 'check')
                    ok2submit = ok2submit && isChecked(formName.name, curObj);
            }
        }
    } else { ok2submit = false; }    
	
	if (ok2submit) {
		return true;
		}
	else {
		return false;
	}
}

function isMoreThan(formId, curObj,length) {
    if (curObj.value.length > length)
		return true;
	else {
		alert(curObj.attributes["badMsg"].nodeValue)
		if (curObj.type != 'hidden') {
		        curObj.focus();
		        $('#' + formId + ' #' + curObj.name + ', #' + formId + ' input[name=' + curObj.name + ']').addClass('inputAlert');
		    };
		return false;
	}
}

function isNot(formId, curObj, notWhat) {
	if (curObj.value != notWhat)
		return true;
	else {
	    alert(curObj.attributes["badMsg"].nodeValue);
	    curObj.focus();
	    $('#' + formId + ' #' + curObj.name + ', #' + formId + ' input[name=' + curObj.name + ']').addClass('inputAlert');
	    return false;
	}
}

function isEmail(formId, curObj) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})$/.test(curObj.value))
		return true;
	else {
	    alert(curObj.attributes["badMsg"].nodeValue);
	    curObj.focus();
	    $('#' + formId + ' #' + curObj.name + ', #' + formId + ' input[name=' + curObj.name + ']').addClass('inputAlert');
	    return false;
	}
}

function isLength(formId, curObj, length) {
	if (curObj.value.length == length)
		return true;
	else {
	    alert(curObj.attributes["badMsg"].nodeValue);
	    curObj.focus();
	    $('#' + formId + ' #' + curObj.name + ', #' + formId + ' input[name=' + curObj.name + ']').addClass('inputAlert');
	    return false;
	}
}

function isDigits(formId, curObj) {
	var num = curObj.value
	var tempFlag = true;
	var digits = '0123456789.'

	for (i=0;i<num.length;i++){
		ch = num.charAt(i)
		if (digits.indexOf(ch)==-1)
			tempFlag = false
		}
	if (!tempFlag){
	    alert(curObj.attributes["badMsg"].nodeValue);
	    curObj.focus();
	    $('#' + formId + ' #' + curObj.name + ', #' + formId + ' input[name=' + curObj.name + ']').addClass('inputAlert');
	}
		
	return tempFlag
}

function isChecked(formId, curObj, length) {
	if (curObj.checked == true)
		return true;
	else {
	    alert(curObj.attributes["badMsg"].nodeValue);
	    curObj.focus();
	    $('#' + formId + ' #' + curObj.name + ', #' + formId + ' input[name=' + curObj.name + ']').addClass('inputAlert');
	    return false;
	}
}
