function GetXmlHttpObject(handler)
{ 
  var objXMLHttp=null
  if (window.XMLHttpRequest)
  {
    objXMLHttp=new XMLHttpRequest()
  }
  else if (window.ActiveXObject)
  {
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }
  return objXMLHttp
}
//funkcja wczytuje caly formularz do stringa
function ReadForm(formName)
{
    var i;
    var dane="";
    var form=document.getElementById(formName);
    for (i=1;i<form.elements.length;i++)
    {
      if (form.elements[i].type=="file") {continue;}
      dane=dane+"&"+form.elements[i].name+"=";
            
      if (form.elements[i].type=="checkbox")
      {
        var checked;
        if(form.elements[i].checked==true) {checked=1;}else{checked=0;}
        dane=dane+checked;
      }
      else
      {
        dane=dane+form.elements[i].value;
      }       
    } 
    dane=dane+"&sid="+Math.random();
    return dane.substring(1);
}

//wysylanie danych ajaxem do skryptu php
function SendData(url,dane,mode)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Przeglądarka nie obsługuje AJAX, strona wymaga nowszej przeglądarki.");
    return;
  } 
  
  if (mode=="checkIfCorrect") {xmlHttp.onreadystatechange=ErrorResponse;}
  if (mode=="refreshData") {xmlHttp.onreadystatechange=RefreshDataResponse;}
  
  xmlHttp.open("POST",url,true);
  
  xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=iso-8859-2 ");
  xmlHttp.send(dane);
}

//odbieranie z Ajaxa danych o bledach w formularzu
function ErrorResponse() 
{ 
  //alert(xmlHttp.responseText);//return;
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  {
    var errors = xmlHttp.responseXML.getElementsByTagName('ERROR');
    if (errors.length==0)
    {
      //nie ma bledow, mozna wyslac
      document.getElementById("editForm").submit();
    } else
    {
      //sa jakies bledy
      ErrorHandling(errors);
    }
  }
}


//odbieranie od Ajaxa danych po odswiezeniu - np. przesortowaniu
function RefreshDataResponse() 
{ 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  {
      RefreshData(xmlHttp.responseText);
  }
}

