//JS Validation functions.
//Made by: Adam Liwski. IAO - www.iao.co.il
//(c) All rights reserved.

function checkAll(formName){
	var xObj=formName.all.tags("INPUT"),xLen=xObj.length;
	var xObj2=formName.all.tags("SELECT"),xLen2=xObj2.length;
	var ok2submit = true

	for (var curX=0;curX<xLen;curX++) {
		curObj=xObj[curX];
		if (curObj.check_type) {
			check_type = curObj.check_type.substring(0,5);
			if (check_type=='isLen')
				ok2submit = ok2submit && isLength(curObj,curObj.check_type.substring(6,10))
			if (check_type=='isMor')
				ok2submit = ok2submit && isMoreThan(curObj,curObj.check_type.substring(6,10))
			if (curObj.check_type=='exists')
				ok2submit = ok2submit && isMoreThan(curObj,0)
			if (curObj.check_type=='email')
				ok2submit = ok2submit && isEmail(curObj)
			if (curObj.check_type=='digits')
				ok2submit = ok2submit && isDigits(curObj)
		}
	}

	for (var curX=0;curX<xLen2;curX++) {
		curObj=xObj2[curX];
		if (curObj.check_type) {
			check_type = curObj.check_type.substring(0,5);
			if (check_type=='isLen')
				ok2submit = ok2submit && isLength(curObj,curObj.check_type.substring(6,10))
			if (check_type=='isMor')
				ok2submit = ok2submit && isMoreThan(curObj,curObj.check_type.substring(6,10))
			if (check_type=='isNot')
				//alert()
				ok2submit = ok2submit && isNot(curObj,curObj.check_type.substring(6,10))
			if (curObj.check_type=='exists')
				ok2submit = ok2submit && isMoreThan(curObj,0)
			if (curObj.check_type=='email')
				ok2submit = ok2submit && isEmail(curObj)
		}
	}


	if (ok2submit) {
		return true;
		}
	else {
		return false;
	}
}

function isMoreThan(curObj,length) {
	if (curObj.value.length > length)
		return true;
	else {
		alert(curObj.badMsg)
		curObj.focus()
		return false;
	}
}

function isNot(curObj,notWhat) {
	if (curObj.value != notWhat)
		return true;
	else {
		alert(curObj.badMsg)
		curObj.focus()
		return false;
	}
}

function isEmail(curObj) {
	if (/^\w+([\.]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})$/.test(curObj.value))
		return true;
	else {
		alert(curObj.badMsg)
		curObj.focus()
		return false;
	}
}

function isLength(curObj,length) {
	if (curObj.value.length == length)
		return true;
	else {
		alert(curObj.badMsg)
		curObj.focus()
		return false;
	}
}

function isDigits(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.badMsg)
		curObj.focus()
	}

	return tempFlag
}
