/**
 * Uniwersalna funkcja do obslugi zapytan XML z uzyciem AJAX
 * @param string formId Id formularza do wyslania
 * @param string formAction Adres URL do wyslania formularza
 **/
function sendRequest(formId, formAction) {
  if (formAction == '') {
    formAction = location.pathname;
  }
  var req = mint.Request();
  req.retryNum = 0;
//  req.resetForm = false;

  req.OnError = function() {
    alert("Wystąpił błąd połączenia z serwerem. Prosimy spróbować za chwilę.");
alert(this.responseText);
  }

  req.OnSuccess = function() {
    var i = 0;
    var resultNode = this.responseXML.getElementsByTagName("result");
    if(resultNode.length > 0 && resultNode[0].childNodes.length > 0) {
      resultNode = resultNode[0].childNodes;
      for(i==0;i<resultNode.length;i++) {
        switch(resultNode[i].nodeName){
          case 'message': // message node
            if(resultNode[i].childNodes.length > 0) {
              alert(resultNode[i].firstChild.nodeValue);
            }
            break;
          case 'confirm': // prompt node
            if(resultNode[i].childNodes.length > 0) {
              var actionId = resultNode[i].attributes.getNamedItem('id').nodeValue;
              var actionOk = resultNode[i].attributes.getNamedItem('ok').nodeValue;
              var actionCancel = resultNode[i].attributes.getNamedItem('cancel').nodeValue;
              var question = resultNode[i].childNodes[0].nodeValue;
              var action = (confirm(question)) ? actionOk : actionCancel;
              $(actionId).value = action;
              if (!confirm($(actionId).value)) {
                return ;
              }
             	var randomVar="_"+randomString(8);
             	var randomVarValue=randomString(32);
              req.AddParam(randomVar, randomVarValue);
              req.SendForm(formId, formAction);
            }
            break;
          case 'clearField': // clear field node
            $(resultNode[i].attributes.getNamedItem('id').nodeValue).value = '';
            break;
          case 'setField': // set field value node
            if(resultNode[i].childNodes.length > 0) {
              var objId = resultNode[i].attributes.getNamedItem('id').nodeValue;
              var value = resultNode[i].childNodes[0].nodeValue;
              if ($(objId)) {
                $(objId).value = value;
              }
            }
            break;
          case 'focusField': // make focus on field node
            $(resultNode[i].attributes.getNamedItem('id').nodeValue).focus();
            $(resultNode[i].attributes.getNamedItem('id').nodeValue).select();
            break;
          case 'setHtml': // set Html content node
            var value = '';
            if (resultNode[i].childNodes.length  > 0) {
              value = resultNode[i].childNodes[0].nodeValue;
            }
            $(resultNode[i].attributes.getNamedItem('id').nodeValue).innerHTML = value;
            break;
          case 'resetForm': // set Html content node
            $(formId).reset();
            break;
        } // switch
      } // for
    }
  }
//  req.SendForm(formId, (formAction) ? formAction."?" : null);
 	var randomVar="_"+randomString(8);
 	var randomVarValue=randomString(32);
  req.AddParam(randomVar, randomVarValue);
  req.SendForm(formId, formAction);
  return true;
}

