
	/**
		epasts
	*/
	function input_mask_1(o, ret, evt)
	{
		var p = /[\w-]{2,64}@[\w-\.]{2,32}.[a-zA-Z]{2,4}/;

		var fid = o.id.substring(3);

		var ok;

		if (!p.test(o.value))
		{
			error_show("pazinjojums_check_tips["+fid+"]", fid)
			ok = false;
		}
		else
		{
			error_reset(fid);
			ok = true;
		}

		return ok||ret;
		//return p.test(o.value);
	}

	/**
		telefons
	*/
	function input_mask_2(o, ret, evt)
	{
		var p = /[\d\s\-\+]{7,16}/;

		var fid = o.id.substring(3);

		var ok;

		if (!p.test(o.value))
		{
			error_show("pazinjojums_check_tips["+fid+"]", fid)
			ok = false;
		}
		else
		{
			error_reset(fid);
			ok = true;
		}

		return ok||ret;
	}

	/**
		integer
	*/
	function input_mask_3(o, ret, evt)
	{
		var fid = o.id.substring(3);

		var ok;

		if (evt && ret==false)
		{
		console.log(evt);
 			var charCode = (evt.which) ? evt.which : evt.keyCode;
			if (charCode > 31 && (charCode < 48 || charCode > 57))
			{
				error_show("pazinjojums_check_tips["+fid+"]", fid);
          		return false;
			}
			error_reset(fid);
       		return true;
		}

		if (o.value.search(p)<0)
		{
			error_reset(fid);
			ok = true;
		}
		else
		{
			error_show("pazinjojums_check_tips["+fid+"]", fid)
			ok = false;
		}

		return ok||ret;
	}

	/**
		price
	*/
	function input_mask_4(o, ret, evt)
	{
		var p = /^[\d]{1,}(\.+[\d]{1,16}){0,1}$/;

		var fid = o.id.substring(3);

		var ok;

		if (!p.test(o.value))
		{
			error_show("pazinjojums_check_tips["+fid+"]", fid)
			ok = false;
		}
		else
		{
			error_reset(fid);
			ok = true;
		}

		return ok||ret;
	}

	/**
		unique xmlcheck
	*/
	var unique_check_req;
	var uc_fid = 0;
	function input_check_unique(o, url, ret)
	{
		uc_fid	= o.id.substring(3);
		// branch for native XMLHttpRequest object
		if (window.XMLHttpRequest)
		{
			unique_check_req = new XMLHttpRequest();
			unique_check_req.onreadystatechange = input_check_unique_ORSC;
			//console.log(url);
			unique_check_req.open("GET", url, true);
			unique_check_req.send(null);
			// branch for IE/Windows ActiveX version
		}
		else if (window.ActiveXObject)
		{
			unique_check_req = new ActiveXObject("Microsoft.XMLHTTP");
			if (unique_check_req)
			{
				unique_check_req.o = this;
				unique_check_req.onreadystatechange = input_check_unique_ORSC;
				unique_check_req.open("GET", url, true);
				unique_check_req.send();
			}
		}
		return false||ret;
	}
	function input_check_unique_ORSC()
	{
		//console.log(12);
		if (unique_check_req.readyState == 4)
		{
			//console.log(14);
			if (unique_check_req.status == 200)
			{
				//console.log(16);
				if (!unique_check_req.responseXML) return;
				//console.log(18);
				var response = unique_check_req.responseXML.getElementsByTagName("response");
				//console.log(response);
				var uc = getElementTextNS('', 'unique', response[0], 0);
				if (uc=="t")
				{
					//alert('t');
					//error_reset(uc_fid);
				}
				else
				{
					//alert('f');
					//error_show("pazinjojums_unical_check["+uc_fid+"]", uc_fid);
				}
				return true;
				//console.log(uc);
			}
			return false;
		}
		return false;
	}

	/**
		min len inp
	*/
	function input_strlen_min(o, l, ret)
	{
		var fid = o.id.substring(3);

		var ok;

		if (o.value.length<l)
		{
			error_show("pazinjojums_strlen_min["+fid+"]", fid);
			ok = false;
		}
		else
		{
			error_reset(fid);
			ok = true;
		}
		return ok||ret;
	}

	/**
		max len inp
	*/
	function input_strlen_max(o, l, ret)
	{
		var fid = o.id.substring(3);

		o.value = o.value.substring(0, l);

		return true||ret;
	}

	/**
	 * очистка поля повторного ввода пароля
	 */
	 function password_clear(o)
	 {
	 	var co = document.getElementById(o.id+"_confirm");
		if (o.type=="password" && co && co.value!=o.value)
		{
			co.value="";
		}
		return true;
	 }

	 /**
	  * проверка паролей на совпадение
	  */
	 function match_passwords(oid, ret)
	 {
	 	var o = document.getElementById('fe_'+oid);
	 	var co = document.getElementById('fe_'+oid+"_confirm");

	 	//console.log(o.value, co.value);

	 	if (o && co && o.value && o.value==co.value)
	 	{
	 		error_reset(oid);
	 		return true||ret;
	 	}
	 	else if (o && co && !o.value)
	 	{
	 		error_reset(oid);
	 		return true||ret;
	 	}
	 	error_show("pazinjojums_password_missmatch["+oid+"]", oid);
	 	return false||ret;
	 }

	 /**
	  * проверка на обязательность
	  */
	 function obligat_check(oid, ret)
	 {
	 	var o = document.getElementById("fe_"+oid);

	 	//console.log(oid);

	 	if (!o) return false;

	 	//console.log(o);

	 	var fid = o.id.substring(3);
	 	var err = false;
		if ( (o.tagName.toUpperCase()=="INPUT" && ( o.type.toUpperCase()=="TEXT"|| o.type.toUpperCase()=="FILE") ) || o.tagName.toUpperCase()=="TEXTAREA")
		{
			if (!o.value.length)
			{
				err = true;
			}
		}
		else if (o.tagName.toUpperCase()=="INPUT" && o.type.toUpperCase()=="CHECKBOX")
		{
			if (!o.checked)
			{
				err = true;
			}
		}
		else if (o.tagName.toUpperCase()=="SELECT")
		{
			if (!o.selectedIndex<0)
			{
				err = true;
			}
		}

		if (err)
		{
			//console.log('ERR');
			//return false;
			error_show("pazinjojums_obligat["+oid+"]", oid);
		}

		//console.log(err);
		//return false;
		return !err||ret;
	 }

	/**
		output error
	*/
	function error_show(error_id, feid)
	{
		//var err = document.getElementById(error_id).value;
		document.getElementById("er_"+feid).innerHTML = document.getElementById(error_id).value;
	}
	/**
		celar error
	*/
	function error_reset(feid)
	{
		//var err = document.getElementById(error_id).value;
		document.getElementById("er_"+feid).innerHTML = "";
	}


