function AjaxObject()
{
  var ro = false;

  if (window.XMLHttpRequest) {  ro = new XMLHttpRequest(); }
  else {
    ro = new ActiveXObject('Msxml2.XMLHTTP');
    if(!ro) { ro = new ActiveXObject('Microsoft.XMLHTTP'); }
  }
  
  return ro;
}

var ResponseTo='';

function AjaxSendRequest(action,vars,handler,sObject) {
	
	var http = AjaxObject();
	
	obj=SfindObj('progress');
	if (obj)
		obj.style.visibility='visible';
	
	if (!sObject)
		sObject = '';
	
    http.open('GET', action, true);

	http.onreadystatechange = function(){handleResponse(http);};
    http.send(null);
    
}

function AjaxSendPOST(action,form,handler,sObject) {
	
	if (!document.forms[form])
		return;
		
	http = AjaxObject();
	
	obj=SfindObj('progress');
	if (obj)
		obj.style.visibility='visible';
	
	if (!sObject)
		sObject = '';
	
	vars = '';
	for (i = 0; i < document.forms[form].elements.length; i++) {
		vars = vars + '&' + document.forms[form].elements[i].name + '=' + encodeURI(document.forms[form].elements[i].value);
	}

	http.open('POST', action, true);
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", vars.length);
    
    http.onreadystatechange = function(){handleResponse(http);};

    http.send(vars);
    
}

function handleResponse(http) {
	    if (http.readyState == 4) {

	       	obj=SfindObj('progress');
			if (obj) obj.style.visibility='hidden';
			//alert(http.responseText);	
			var xmldoc = http.responseXML;
			//alert(http.responseXML);
			if (xmldoc)
				var root = xmldoc.getElementsByTagName('root')[0];
				
				if (root) {
					for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
						if (root.childNodes[iNode].nodeType == 1) {
							obj=SfindObj(root.childNodes[iNode].tagName);

							if (obj)
							{
								obj.innerHTML = root.childNodes[iNode].firstChild.nodeValue;
								
								if(root.childNodes[iNode].tagName == 'editiondiv' ||
									root.childNodes[iNode].tagName == 'letterdiv')
								{
									obj = SfindObj('loading');
									if(obj)	obj.style.visibility='hidden';
								}
							}	
						}
			        }
				}
	    }
}


