function processSubmit(form)
{
  /* form.submitbutton.disabled=true; */
  var localhttp=zXmlHttp.createRequest();
  localhttp.open("POST", "/ajax/call-form.php",true);
  localhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  localhttp.onreadystatechange = function()
  {
    if (localhttp.readyState == 4)
    {
      toggleForm(form, false);
      document.getElementById("callback-form").innerHTML=JSON.parse(localhttp.responseText);
    }
    else
    {
    }
  }
  var fio_value=getFormElement('fio',form).value;
  if(!verifyStrField(fio_value, 'как к Вам обратиться'))
  {
    return false;
  }
  var phonecode_value=getFormElement('phonecode',form).value;
  if(!verifyStrField(phonecode_value, 'код'))
  {
    return false;
  }
  var phonenumber_value=getFormElement('phonenumber',form).value;
  if(!verifyStrField(phonenumber_value, 'номер телефона'))
  {
    return false;
  }
  var d_time=getFormElement('d_time',form);
  var d_time_value=d_time.options[d_time.selectedIndex].value;
  if(!verifySelectElement(phonenumber_value, 0, true))
  {
    return false;
  }
  toggleForm(form, true);
  var aParams = new Array();
  var dasSelect=getFormElement('region',form);
  aParams.push(encodeURIComponent("region") + "=" + encodeURIComponent(dasSelect.options[dasSelect.selectedIndex].value));
  aParams.push(encodeURIComponent("fio") + "=" + encodeURIComponent(getFormElement('fio',form).value));
  aParams.push(encodeURIComponent("phonecode") + "=" + encodeURIComponent(getFormElement('phonecode',form).value));
  aParams.push(encodeURIComponent("phonenumber") + "=" + encodeURIComponent(getFormElement('phonenumber',form).value));
  var selectElement=getFormElement('d_time',form);
  aParams.push(encodeURIComponent("d_time") + "=" + encodeURIComponent(selectElement.options[selectElement.selectedIndex].value));
  localhttp.send(aParams.join("&"));
  return false;
}

function getFormElement(elementName, form)
{
for(var i=0; i<form.elements.length; i++)
  {
    if(form.elements[i].name==elementName)
    {
      return form.elements[i];
    }
  }
}
function verifyStrField(value, defaultValue)
{
  return value.length>=1 && value!=defaultValue;
}
function verifySelectElement(value, defaultValue, isInt)
{
  if(!isInt)
  {
    return value!=defaultValue;
  }
  return parseInt(value)!=defaultValue;
}
function clearStrField(element, defaultValue)
{
  if(element.value!=defaultValue)
  {
    return true;
  }
  element.value='';
  return true;
}
function fillInDefaultValue(element, defaultValue)
{
  if(!element.value || element.value.lenght==0)
  {
    element.value=defaultValue;
  }
}
function toggleForm(form, disabled)
{
  for (var i=0; i<form.elements.length; i++)
  {
    form.elements[i].disabled=disabled;
  }
}
function disableForm(form)
{
  toggleForm(form, true);
}
