function createAJAXObject()
{
  var ajax=null;
  try { ajax=new XMLHttpRequest(); } catch (e) {}
  if(!ajax) try { ajax=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  if(!ajax) try { ajax=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  return ajax;
}

function encodeAJAXSymbol(code)
{
  var hex="0123456789ABCDEF";
  return "%"+hex.charAt(code>>4)+hex.charAt(code&15);
}

function encodeAJAXString(text)
{
  var result="";
  for(var index=0; index < text.length; index++) {
    var symbol=text.charAt(index);
    var code=text.charCodeAt(index);
    if(code<128) { result+=encodeAJAXSymbol(code); continue; }
    if(code>=1040 && code<=1103)
      { result+=encodeAJAXSymbol(code-848); continue; }
    switch(symbol) {
      case "Ў": result+=encodeAJAXSymbol(161); break;
      case "ў": result+=encodeAJAXSymbol(162); break;
      case "Ё": result+=encodeAJAXSymbol(168); break;
      case "ё": result+=encodeAJAXSymbol(184); break;
      case "Є": result+=encodeAJAXSymbol(170); break;
      case "є": result+=encodeAJAXSymbol(186); break;
      case "Ї": result+=encodeAJAXSymbol(175); break;
      case "ї": result+=encodeAJAXSymbol(191); break;
      default: result+=encodeAJAXSymbol(63);
    }
  }
  return result;
}

function checkFormSubmit(formname, scripturl)
{
  var ajax=createAJAXObject();
  if(!ajax) return true;
  var formobj=document.forms[formname];
  var request="";
  var separator="";
  for(var index=0; index < formobj.length; index++) {
    var itemobj=formobj.elements[index];
    if(itemobj.name=="") continue;
    if(itemobj.type=="checkbox" && !itemobj.checked) continue;
    request+=separator+itemobj.name+"="+encodeAJAXString(itemobj.value);
    separator="&";
  }
  request+=separator+"isajax=1";
  ajax.open("POST",scripturl,false);
  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  ajax.send(request);
  if(ajax.status!=200) return true;
  if(ajax.responseText=="" || ajax.responseText=="OK" || ajax.responseText.length>34)
  {
   document.getElementById('message').innerHTML='<br /><center style="color: green;">'+ajax.responseText+'</center><br />';
   return false;
  }
  else
  {
  alert(ajax.responseText);
  }
  return false;
} 
