<!--
/******************************/
/** LAST UPDATE : 29.01.03   **/
/** By Lior N.               **/
/******************************/

//*********************G L O B A L  -  V A R I  A B L E****************// 
var validBgColor = "white";
var mandataryErrorBgColor = "red";
var typeErrorBgColor = "yellow";
//*********************************************************************// 

function checkFormValidation(formObj) {

 var  msgStr ;
 //var tmpStr ;
 msgStr	= "";
 //tmpStr = "";
/////////////////////////////////////////////////////////////////////////	
// Looking for all the fields that begin with "Mnd" for mandatary ,    //
// after that looking for "Num" - Numeric , "Eml" - Email              //
// , "Pon" - Phone , ....                                              //
//                                                                     //
// All the field that are Mandatary and Numeric , Email , Pon ,...     //
// the "Mnd" indicator dhould be the first one and after that the      //
// other one.                                                          //
// For Example "MndNumID" , "NumAge" , ...                             //
/////////////////////////////////////////////////////////////////////////	
	for (i in formObj.all )
	{	
		// Looking for mandataries fields the code is 'Mnd' .
		if (i.substr(0,3) == "Mnd"){
		//	window.status = window.status + i + " val:" + mailform[i].value ;
			//currentBgColor = formObj[i].style.background ;
			if (formObj[i].value == ""){
				//	window.status = window.status + " empty " ;
				formObj[i].style.background=mandataryErrorBgColor;
				formObj[i].focus();
				if(formObj[i].id != "")
					msgStr =msgStr + formObj[i].id + " - is a Mandatary field !\n";
				else
					msgStr =msgStr + " There is an Empty Numeric Mandatary field !\n";
			//	msgStr = msgStr + "Mandatary " + "\n" ;
			}
			else
				formObj[i].style.background=validBgColor;
				
		//	msgStr = msgStr + selectType(formObj[i],i.substr(3,3)) + "\n" ;
			tmpStr = selectType(formObj[i],i.substr(3,3)) ;
			if (tmpStr != "" && tmpStr != null)
				msgStr = msgStr + tmpStr + "\n" ;

		}
		else {
			//alert(i.substr(0,3));
			msgStr = msgStr + selectType(formObj[i],i.substr(0,3)) ;
		}
	}
	
	if (msgStr != "" && msgStr != null){
		alert(msgStr);
		return false;
	}
	else
		return true;

}


function selectType(obj , theType){

var  msgStr ;
msgStr	= "";
 	switch (theType){
		case "Int" :
			if(obj.value.length > 0){
				obj.style.background=validBgColor;
				if(!isInt(obj)){
					obj.style.background= typeErrorBgColor;
					obj.focus();
					if(obj.id != "")
						msgStr =msgStr + obj.id + " - Must Be Integer number!\n";
					else
						msgStr =msgStr + " There is a Integer number field with invalid Value!\n";
				}
			}
			break;
		case "Num" :
			if(obj.value.length > 0){
				obj.style.background=validBgColor;
				if(!isNum(obj)){
					obj.style.background= typeErrorBgColor;
					obj.focus();
					if(obj.id != "")
						msgStr =msgStr + obj.id + " - Must Be Numeric!\n";
					else
						msgStr =msgStr + " There is a Numeric field with invalid Value!\n";
				}
			}
			break;			
		case "Eml" :
			if(obj.value.length > 0){
				obj.style.background=validBgColor;
				if(!isEmail(obj)){
					obj.style.background= typeErrorBgColor;
					obj.focus();
					if(obj.id != "")
						msgStr =msgStr + obj.id + " - Must Be valid Email!\n";
					else
						msgStr =msgStr + " There is a Email field with invalid Value!\n";
				}
			}
			break;
		case "Pon" :
			if(obj.value.length > 0){
				obj.style.background=validBgColor;
				if(!isPhone(obj)){
					obj.style.background= typeErrorBgColor;
					obj.focus();
					if(obj.id != "")
						msgStr =msgStr + obj.id + " - Must Be Phone number!\n";
					else
						msgStr =msgStr + " There is a Phone field with invalid Value!\n";
				}
			}
			break;		
	}
return (msgStr);
}


function isInt(obj){
var numFlag = true ;
	for (k =0 ;k < obj.value.length ; k++)
		if (!isDigit(obj.value.substr(k,1))){
			numFlag = false;
			break;
		}
	//window.status = "num:" + k + str;	
	return (numFlag);
}

function isNum(obj){
var numFlag1 = true ;
var numFlag2 = true ;
var part1 = "";
var part2 = "";
var pointLocation = obj.value.indexOf(".") ;
//window.status="pointLocation:" + pointLocation ;
	if (pointLocation == -1)
		for (k =0 ;k < obj.value.length ; k++)
			if (!isDigit(obj.value.substr(k,1))){
				numFlag1 = false;
				break;
			}
		return (numFlag1);
	if (pointLocation != -1 && pointLocation != 0){
		part1=obj.value.substring(0,pointLocation);
		part2=obj.value.substring(pointLocation + 1 , obj.value.length);
		//window.status="part1:" + part1 + " part2:" + part2 ;
		for (k =0 ;k < part1.length ; k++)
			if (!isDigit(part1.substr(k,1))){
				numFlag1 = false;
				break;
			}
		for (k =0 ;k < part2.length ; k++)
			if (!isDigit(part2.substr(k,1))){
				numFlag2 = false;
				break;
			}
		
		if (numFlag1 && numFlag2)
			return true;
		else
			return false;
	}
	else
		return false;
}

function isDigit(dgt){
	if (dgt < "0" || dgt > "9")
		return false;
	else
		return true;
}


function isPhone(obj){
var regexp = /^(\d{9}|\d{10}|\d{2}-\d{7}|\d{3}-\d{6}|\d{3}-\d{7}|\d{2}-\d{3}-\d{4}|\d{3}-\d{3}-\d{3}|\d{3}-\d{4}-\d{3}|\d{3}-\d{3}-\d{4})$/;

	if (!regexp.test(obj.value))
		return false ;
	else
		return true ;

}

function isEmail(obj){
var flag = true;
var emailLength = obj.value.length;
	if ((obj.value.indexOf("@") == -1) || (obj.value.indexOf("@") != obj.value.lastIndexOf("@")))
		return false ;
	else
		if (obj.value.lastIndexOf(".") > obj.value.indexOf("@"))
			if (isAlphNum(obj.value.charAt(0)) && isAlphNum(obj.value.charAt(emailLength - 1))){
				//window.status="email start-end ok:"  ;
				for (k =1 ;k < emailLength - 1 ; k++){
					currentChar = obj.value.charAt(k);
					if (!isAlphNum(currentChar) && currentChar != "." && currentChar != "_" && currentChar != "-" && currentChar != "@"){
						//window.status= window.status + currentChar + "not valid"  ;
						flag = false;
						break;
					}
				}
				return (flag);
			}
return false;

}


function isAlphNum(charSign){
//alert(charSign);
	if ((charSign >= "0" && charSign <= "9") || (charSign >= "a" && charSign <= "z") || (charSign >= "A" && charSign <= "Z"))
		return true;
return false;
}

//-->

