function getValidationAndSubmit(formName){
	var returnExp = new Array();
	var form = document.forms[formName];
	if(form){
		for(var i = 0; i < form.length; i++){
			var validFunc = form[i].getAttribute("validFunc");
			var res = null;
			if(validFunc){
				var validFuncExpr = validFunc.split(";");
				if(validFuncExpr.length == 2){
					var typeJoin = typeJoin = "&";
					var funcNames = null;
					if(validFuncExpr[0].indexOf("|") != -1) typeJoin = "|";
					if(typeJoin == "&") funcNames = validFuncExpr[0].split("&");
					if(typeJoin == "|") funcNames = validFuncExpr[0].split("|");
					try{
						for(var j = 0; j < funcNames.length; j++){
							res = eval(funcNames[j] + "('" + form[i].value + "')");
							if(res){
								returnExp[returnExp.length] = [validFuncExpr[1], res, form[i]];
								if(typeJoin == "|") break;
							}
						}
					}catch(ex){}
				}
			}
		}
		if(returnExp.length > 0){
			getAlertBox(returnExp);
		}else{
		 try{
		  if( form.onsubmit() ){
			 form.submit();
			} 
		 }catch(e){
		  form.submit(); 
		 };
		 
		}
	}else 
	 alert("Форма " + formName + " не найдена.");
	return false;
}

function trim(s){
  return s.replace(/^\s*/,'').replace(/\s*$/,'');
}

function getAlertBox(arr){
	var str = "";
	for(var i = 0; i < arr.length; i++){
		str += "Поле \"" + arr[i][0] + "\"" + arr[i][1] + "\n";
		try{
			if(i == 0) arr[i][2].focus();
		}catch(ex){}
	}
	alert(str);
}

////////////////////////////////// custom validation functions

function notEmpty(value){
	var res = null;
	if(trim(value) == "") res = " - не может быть пустым.";
	return res;
}

function validEmail(s){
	s = trim(s);
	if(s == "") return null;
	var strEmail = s;
	if (s.match(/^[,|;][_a-z0-9-]/i) == null){
		strEmail = "," + s;
	}
	regExp = /^(\s*[,|;]\s*[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[_a-z0-9-]+)*(\.([a-z]){2,4}))*(\s*[,|;]?\s*)?$/i;
	if (strEmail.match(regExp) == null){
		return " - не является нормальным e-mail.";
	} else{
		return null;
	}
}

function yesNo(text){ 
 if( !confirm(text) ) return false;
}

