﻿//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.value)				
		}
	}

	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 (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 isEmail(curObj) {
	if (curObj.value.indexOf('@') > 2 && curObj.value.indexOf('.') > 5 && !hasInside(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(num){
var tempFlag = true;
var digits = '0123456789.'

for (i=0;i<num.length;i++)
 {
 ch = num.charAt(i)
 if (digits.indexOf(ch)==-1)
  tempFlag = false
 }
return tempFlag
}

function hasInside(str,chars){
var tempFlag = false;

for (i=0;i<str.length;i++)
 {
 ch = str.charAt(i)
 if (chars.indexOf(ch)!=-1)
  tempFlag = true
 }
return tempFlag
}
