//JS Validation functions.
//Made by: Adam Liwski. IAO - www.iao.co.il
//(c) All rights reserved.


function testit(){
	alert('working...')

}

function switchCheck(formName,including,yesNo){
	var xObj=formName.all.tags("INPUT"),xLen=xObj.length;
	var xObj2=formName.all.tags("SELECT"),xLen2=xObj2.length;
	var xObj3=formName.all.tags("TEXTAREA"),xLen3=xObj3.length;

	doIt(xObj,xLen,including,yesNo)
	doIt(xObj2,xLen2,including,yesNo)
	doIt(xObj3,xLen3,including,yesNo)
}

function doIt(xObj,xLen,including,yesNo){
	for (var curX=0;curX<xLen;curX++) {
		curObj=xObj[curX];
		if (curObj.name.indexOf(including) != -1){
			//alert(curObj.name)
			if (curObj.check_type){
				if(yesNo==0){
					if (curObj.check_type.indexOf('~') == -1)
						curObj.check_type = '~'+curObj.check_type
				}
				else{
					if (curObj.check_type.indexOf('~') != -1)
						curObj.check_type = curObj.check_type.substring(1,curObj.check_type.length);
				}
			}
		}
	}
}



function checkAll(formName){
	var xObj=formName.all.tags("INPUT"),xLen=xObj.length;
	var xObj2=formName.all.tags("SELECT"),xLen2=xObj2.length;
	var xObj3=formName.all.tags("TEXTAREA"),xLen3=xObj3.length;
	var ok2submit = true

	//All the TEXTAREA Fields...
	for (var curX=0;curX<xLen3;curX++) {
		curObj=xObj3[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)
		}
	}

	//All the INPUT Fields...
	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)				
		}
	}

	//All the SELECT Fields...
	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.className="input_focus"
		curObj.focus()
		return false;
	}
}


function isEmail(curObj) {
	if (curObj.value.indexOf('@') > 2 && curObj.value.indexOf('.') > 2 && !hasInside(curObj.value,'אבגדהוזחטיכלמנסעפצקרשתןץףם')){
		return true;
	}
	else {
		alert(curObj.badMsg)
		curObj.focus()
		return false;
	}
}


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
}


function isEmail2(curObj) {
	if ( /^\w+([\.]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})$/.test(curObj.value))
		return true;
	else {
		alert(curObj.badMsg)
		curObj.className="input_focus"
		curObj.focus()
		return false;
	}
}

function isLength(curObj,length) {
	if (curObj.value.length == length)
		return true;
	else {
		alert(curObj.badMsg)
		curObj.className="input_focus"
		curObj.focus()
		return false;
	}
}

function isDigits(curObj){
var digits = '0123456789.'

if (curObj.value.length==0){
	alert(curObj.badMsg);
	curObj.className="input_focus"
	curObj.focus();
	return false;
}

for (i=0;i<curObj.value.length;i++){
 ch = curObj.value.charAt(i)
 if (digits.indexOf(ch)==-1){
	alert(curObj.badMsg)
	curObj.className="input_focus"
	curObj.focus()
	return false;
 }
}
return true;
}

 

function emailCheck(emailStr) {
// checks if the e-mail address is valid
var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
var matchArray = emailStr.match(emailPat);
	if ((matchArray == null || emailStr == null) && emailStr != "") {
		alert("('.' - כתובת דואר אלקטרוני שגויה (בדוק  '@' ו");
		return false;
	}

}