        var pendingRequests = 0;
          
        function xmlhttpPost(strURL, strSubmit, strResultFunc, targetObject, endFunction, boName, columns, sumFields){
          document.getElementById('loading').style.display='';
          pendingRequests++;
          var xmlHttpReq = createXMLHttpRequest();
          xmlHttpReq.open('POST', strURL, true);
          xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
          xmlHttpReq.onreadystatechange = function(){
            if(xmlHttpReq.readyState == 4){
        	  if(strResultFunc != ''){
        	    eval(strResultFunc+'(xmlHttpReq.responseText,targetObject)');
        	  }
        	  if(endFunction && endFunction != ''){
        	    eval(endFunction+'(targetObject)');
        	  }
        	  if(targetObject.id && targetObject.id.indexOf('_list') > -1){
        	    AlignColumns(boName,columns,sumFields);
        	  }
            }
          }
          xmlHttpReq.send(strSubmit);
        }
        
        function createXMLHttpRequest() {
        //Mozilla/Safari
          try{ 
            return new XMLHttpRequest(); 
          }catch(e){}
        // IE        
          try{ 
            return new ActiveXObject('Msxml2.XMLHTTP'); 
          }catch(e){}
          try{ 
            return new ActiveXObject('Microsoft.XMLHTTP'); 
          }catch(e){}
          
          alert('XMLHttpRequest not supported');
          return false;
        }        
        
        function fillDiv(responseText, targetObject){
          if(targetObject){
            pendingRequests--;
        	targetObject.innerHTML = responseText;
        	if(pendingRequests == 0){
        	  document.getElementById('loading').style.display='none';
        	}  
          }          
        }
        
        function formParams(docForm){
	      var formElem;
	      var strLastElemName = '';
	      var paramsSubmit = '&';
	      for(i = 0; i < docForm.elements.length; i++){
	        formElem = docForm.elements[i];
			switch(formElem.type){
	          // Text, select, hidden, password, textarea elements
	          case 'text':
	          case 'select-one':
	          case 'hidden':
	          case 'password':
	          case 'textarea':
	           paramsSubmit += formElem.name + '=' + escape(formElem.value) + '&'
	           break;
			}
		  }
		  return paramsSubmit;
	    }
        
