//===================================================================
//  
//  checkMultiData: preform checks and if all is wrong alert error message 
//  
//===================================================================
function checkMultiData(field,checks,errorMsg) {
	var doChecks = checks.split(/,/);
	var ok = false;
	for (var i=0;i < doChecks.length; i++) {
		if (doChecks[i] == "tz") {
			ok = checkTZ(field,'','',true);
		}
		else if (doChecks[i] == "mail") {
			ok =emailCheck(field,'','',true);
		}
		else if (doChecks[i] == "tel") {
			ok =phoneCheck(field,'','',true);
		}
		if (ok) {
			return true;
		}
	}
	if (field.value != "") {
		textFieldError(field,errorMsg);
	}
	return false;
}

//======== This function check for legal ID================================
function checkTZ(idfield,okMgs,errorMsg,quite_mode) {   
	var idnum = idfield.value;
	idnum = idnum.replace(/\D/g,"");
	
	if (idnum.length < 7) {
		if (!quite_mode) {
			textFieldError(idfield,errorMsg);
		}
		return false;
	}
	
   	if (idnum.length < 9) {
		idnum = "000000000"+idnum;
		idnum = idnum.substr(-9);
	}
	// calculate legal ID number
	var digits = idnum.split("");
	var sumval = 0;
	for (var d=0; d < digits.length; d++) {
		if (d % 2) {
			digits[d] *= 2;
		}
		else {
			digits[d] *= 1;
		}
		if (digits[d] > 9) {
			digits[d] -= 9;
		}
		sumval += digits[d];
	}
	
	sumval = sumval % 10;
    if ((sumval > 0) || (digits.length != 9)) {
		if (!quite_mode) {
			textFieldError(idfield,errorMsg);
		}
		return false;
  	}
	if (okMgs) {
		alert(okMgs);
	}
	idfield.value = idnum;
	return true;
}
//===================================================================
//  
//  phoneCheck: check valid phone number 
//  
//===================================================================
function phoneCheck(pfield,okMgs,errorMsg,quite_mode) {
	var phone = pfield.value;
	phone = phone.replace(/^\+972/,"0");
	var len = (phone.search(/^\+/) != -1) ? 11 : 9;
	phone = phone.replace(/\D/g,"");
	if (phone.search(/^05/) != -1) {		// cellular
		len = 10;
	}
	if (phone.length != len) {
		if (!quite_mode) {
			textFieldError(pfield,errorMsg);
		}
		return false;
	}
	else {
		if (okMgs) {
			alert(okMgs);
		}
	}
	return true;
}
//===================================================================
//  
//  emailCheck: check valid email 
//  
//===================================================================
function emailCheck(efield,okMgs,errorMsg,quite_mode) {
	var email = efield.value.toLowerCase();
	email = email.replace(/^\s+/,"");
	email = email.replace(/\s+$/,"");
	var email_reg = new RegExp("^[a-zA-Z0-9_][\\-\\.a-zA-Z0-9_]*\@[\\-\\.a-zA-Z0-9_]+\\.[a-zA-Z0-9_]+$");
	if (email.search(email_reg) == -1) {
		if (!quite_mode) {
			textFieldError(efield,errorMsg);
		}
		return false;
	}
	else {
		if (okMgs) {
			alert(okMgs);
		}
		efield.value = email;
	}
	return true;
}
//===================================================================
//  
//  textFieldError: do on error 
//  
//===================================================================
function textFieldError(f,msg) {
	if (msg) {
		alert(msg);
	}
	try {
		if (f.value != "") {
			f.value = f.defaultValue;
		}
		if (f.value != "") {
			f.select();
			f.focus(); 
		}
	}
	catch(e) {}
}
