var XMLHttpRequestObject = createXMLHttpRequestObject();
/* -------------------------------------------------------------------------- */
function createXMLHttpRequestObject()
{
  var XMLHttpRequestObject = false;
  
  try
  {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  catch(e)
  {
    var aryXmlHttp = new Array(
                               "MSXML2.XMLHTTP",
                               "Microsoft.XMLHTTP",
                               "MSXML2.XMLHTTP.6.0",
                               "MSXML2.XMLHTTP.5.0",
                               "MSXML2.XMLHTTP.4.0",
                               "MSXML2.XMLHTTP.3.0"
                               );
    for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++)
    {
      try
      {
        XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
      } 
      catch(e){document.write("createXMLHttpRequestObject: XMLHttpRequestObject Error");}
    }
  }
  
  if (!XMLHttpRequestObject)
  {
    alert("Error: failed to create the XMLHttpRequest object.");
  }
  else 
  {
    return XMLHttpRequestObject;
  }
}
/* -------------------------------------------------------------------------- */
function checkFormInput(keyEvent, idForm)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement;
  
  if(keyEvent.type == "checkbox")
  {
  keyEvent.value = keyEvent.checked;
  }
  else if(keyEvent.type == "radio")
  {
  
    keyEvent.value = keyEvent.checked;
    if (keyEvent.value)
    {
    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
      {
        /*Debug
        alert(document.getElementById(idForm).elements[i].id);
        alert(document.getElementById(idForm).elements[i].value);
        alert(document.getElementById(idForm).elements[i].checked);
        */
        if(document.getElementById(idForm).elements[i].name==keyEvent.name)
        {
          //alert(document.getElementById(idForm).elements[i].id+':'+document.getElementById(idForm).elements[i].value);
          document.getElementById(idForm).elements[i].value = document.getElementById(idForm).elements[i].checked;
        }
      }
    } /* End: if (keyEvent.value)*/
  } /* End: if (keyEvent.type == "change")*/
}
/* -------------------------------------------------------------------------- */
function checkFormInput2(idField, walidacja)
{ 
  if (walidacja.toString().search(/^-?[0-9]+$/)==0) //if numerical
  {
    if (document.getElementById(idField).value.length<2) 
    {
      if (idField.indexOf('text_')!=-1)
      {
      //idField2=idField+"_tlo";
      document.getElementById(idField).style.border= "1px solid red";
      }
      if (idField.indexOf('textarea_')!=-1)
      {
      //idField2=idField+"_tlo";
      document.getElementById(idField).style.border= "1px solid red";
      }
    }
    else
    {
      if (idField.indexOf('text_')!=-1)
      {
      //idField2=idField+"_tlo";
      document.getElementById(idField).style.border= "1px solid #C4D4FF";
      }
      if (idField.indexOf('textarea_')!=-1)
      {
      //idField2=idField+"_tlo";
      document.getElementById(idField).style.border= "1px solid #C4D4FF";
      }
    }
  }
  else if (walidacja == '') //if empty
  {
  //do nothing
  }
  else if (document.getElementById(idField).value.toString().search(walidacja.split("/")[1])!=0) //inne, sprawdza wyr.regularne pomiędzy "/" (zeby pominac znaki po "/" na koncu)
  {
    if (idField.indexOf('text_')!=-1)
    {
    //idField2=idField+"_tlo";
    document.getElementById(idField).style.border= "1px solid red";
    }
    if (idField.indexOf('textarea_')!=-1)
    {
    //idField2=idField+"_tlo";
    document.getElementById(idField).style.border= "1px solid red";
    }
  }
  else if (document.getElementById(idField).value.toString().search(walidacja.split("/")[1])==0)
  {
    if (idField.indexOf('text_')!=-1)
      {
      //idField2=idField+"_tlo";
      document.getElementById(idField).style.border= "1px solid #C4D4FF";
      }
      if (idField.indexOf('textarea_')!=-1)
      {
      //idField2=idField+"_tlo";
      document.getElementById(idField).style.border= "1px solid #C4D4FF";
      }
  }

  
  //alert(document.getElementById(idField).value.length); 
}
/* -------------------------------------------------------------------------- */
function sendFormData(idForm, dataSource, divID, ifLoading)
{
  var postData='';
  var strReplaceTemp;
  
  if(XMLHttpRequestObject)
  {
    XMLHttpRequestObject.open("POST", dataSource);
    XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
    //XMLHttpRequestObject.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
	  XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	  //XMLHttpRequestObject.overrideMimeType('text/html; charset=ISO-8859-2');
	  
  
    XMLHttpRequestObject.onreadystatechange = function()
    {
      
      if (XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200)
      {
        try
        {
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML = XMLHttpRequestObject.responseText;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}
      }
      else
      {
      //alert('2');
        if(ifLoading)
        {
          try
          {
            var objDiv = document.getElementById(divID);
            objDiv.innerHTML = "<img src='images/loading/loading15.gif'>"; //fajne:03,04,06,10            
          }
          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        }
      }
    }
    
    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    {
      strReplaceTemp = document.getElementById(idForm).elements[i].id.replace(/\[\]/i, "");
      postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
    }
    
    postData += "&parm="+new Date().getTime();
    try
    {
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
  }
}
/* -------------------------------------------------------------------------- */
