var xmlHttp = createXmlHttpRequestObject();
var serverAddress = "modules/news/attachment.php";
var showErrors = true;
var cache = new Array();

function process_start(newsID, type){
	//alert(newsID);
	var elem = document.getElementById("attachment"+newsID);
	if (elem.className != 'on') { 
		elem.innerHTML = "<div align='center'><img src='images/loading.gif' width='32' height='32'></div>";
		elem.className = 'on';
		process(newsID, type);}
	else { 
		elem.className = 'off';
		elem.innerHTML = '';
		//var link = document.getElementById("link"+newsID).onClick = vis("attachment"+newsID); 
	}
}

function createXmlHttpRequestObject() 
{
    var xmlHttp;
    try 
     {  
       xmlHttp = new ActiveXObject ("Msxm12.XMLHTTP");
     } 
    catch(e) 
     {
       try 
       { 
         xmlHttp = new ActiveXObject ("Microsoft.XMLHTTP");
       }
       catch(E) { xmlhttp = false; }   
     }    
 if (!xmlHttp && typeof XMLHttpRequest!='undefined')     
   {
     xmlHttp = new XMLHttpRequest();
   }
   return xmlHttp;
}

function displayError($message)
{
  if (showErrors)
   {
      alert("Обнаружена ошибка: \n"+$message);
   }
}

function process(newsID, type)
{ 
 if (xmlHttp)
 {
    if (newsID)
    {
      cache.push("newsID="+newsID+"&type="+type);
    }
    
    try 
    {
		if ((xmlHttp.readyState==4 || xmlHttp.readyState==0) && cache.length>0) {
			var cacheEntry = cache.shift();
			xmlHttp.open("POST", serverAddress, true);
			xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlHttp.onreadystatechange = function() { 
				if (newsID) { 
					/*var elem = document.getElementById("attachment" + newsID);
					if (elem.className != 'on') 
						elem.innerHTML = "<div align='center'><img src='images/loading.gif' width='32' height='32'></div>";
					elem.className = 'on';*/
				}
				
				if (xmlHttp.readyState == 4) { 
					if (xmlHttp.status == 200) {  
						try { 
							readResponse(); 
						} catch(e) {
							displayError(e.toString());
						}
					} else { 
						displayError(xmlHttp.satusText); 
					} 
				}
			}
			xmlHttp.send(cacheEntry);
        }
    } catch (e) {
		displayError(e.toString());
    }
 }
}

function readResponse()
{ 
	var result = xmlHttp.responseText;
	var obj = result.split('<ID>');
	setTimeout(function () {
		var newsObj = document.getElementById("attachment" + obj[1]);
		if (newsObj.className == 'on') {
			message = newsObj.innerHTML = obj[0];
		}
		//alert('fff');
	}, 2000);
   setTimeout("process();", 500);
}
