		var arrErrors;
		var empty_re = /[ \f\n\r\t\v]/g;
		var email_re = /^([a-z]|[0-9]|_|-)*@(([a-z]|[0-9]|_|-)*\.)+[a-z]{2,4}$/i;

		function check_citizen()
		{
			arrErrors = new Array();
			checkEmpty("fio", "FIO");
			checkEmpty("address", "Address");
			checkEmpty("phone", "Phone");
			checkEmpty("email", "E-mail");
		    if ( document.getElementById("email").value != "" )
				    checkRE( "email", "Wrong e-mail", email_re);	

			if (arrErrors.length == 0)
			{
				var oSubmitButton = document.getElementById("SubmitButton");
				oSubmitButton.disabled = true;
				return true;
			}
			else
			{
				var errMsg = "Please check next :\n\n";
				for(var i=0; i < arrErrors.length; i++)
					errMsg += "\t" + arrErrors[i].msg + "\n";
				alert(errMsg);
				if (typeof(event) != "undefined" )
					event.returnValue = false;
				return false;
			}
		}

		function checkEmpty(elementID, errorMessage)
		{
			var oElement = document.getElementById(elementID);
			var sValue = oElement.value.replace(empty_re, "");
			if (  sValue == "")
			{
				var errorObj = new Object();
				errorObj.elem = oElement;
				errorObj.msg =errorMessage;
				arrErrors.push(errorObj);
			}
		}
		function checkRE(elementID, errorMessage, re)
		{
			var oElement = document.getElementById(elementID);
			if ( !re.test(oElement.value) )
			{
				var errorObj = new Object();
				errorObj.elem = oElement;
				errorObj.msg =errorMessage;
				arrErrors.push(errorObj);
			}
		}		

function fixPNG(element)
{
  if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
  {
    var src;
	
    if (element.tagName=='IMG')
    {
      if (/\.png$/.test(element.src))
      {
        src = element.src;
        element.src = "/images/blank.gif";
      }
    }
    else
    {
      src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
      if (src)
      {
        src = src[1];
        element.runtimeStyle.backgroundImage="none";
      }
    }
    if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
  }
}

/*
Date functions
*/
var __xedit_date=/\d{1,2}\.\d{1,2}\.\d{4}/;
///Returns string in the 'dd.MM.yyyy' format out of date object
function __xedit_unparseDate( date )
{
	var dd = date.getDate();
	if (dd < 10)
		dd = "0" + dd;
	var mm = date.getMonth()+1;
	if (mm < 10)
		mm = "0" + mm;
	var yyyy = date.getFullYear();
	return dd + "." + mm + "." + yyyy;
}
///Parses string into date. Returns Date object if successful, null otherwise.
function __xedit_parseDate( strDate )
{
	var arr, date, dd, mm, yyyy;
	if (!strDate.match(__xedit_date))
		return null;
	try
	{
		arr = strDate.split('.');
		dd = parseInt(arr[0], 10);
		mm = parseInt(arr[1], 10)-1;
		yyyy = parseInt(arr[2], 10);
		date = new Date(yyyy, mm, dd);
		if (date.getDate() == dd && date.getMonth() == mm && date.getFullYear() == yyyy)
			return date;
		else
			return null;
	}
	catch(e)
	{
		return null;
	}	
}
/// checks if the elem.value is date, otherwise restores the prevoious value of the control
function checkdate(elem)
{	
	var date = __xedit_parseDate(elem.value);
	if (date)	
		elem.lastvalue = __xedit_unparseDate(date);
	if (elem.lastvalue) elem.value = elem.lastvalue;
	else elem.value = '';
}
function setpage(form_id,form_action)
{
    document.getElementById('pageclick').value='1';
    document.getElementById(form_id).action=form_action;
    document.getElementById(form_id).submit();
}