function AJAXInteraction(url, callback)
{
	var req = init();
	req.onreadystatechange = processRequest;

	function init()
	{
		if (window.XMLHttpRequest)
		{
			return new XMLHttpRequest();
		}else if (window.ActiveXObject)
		{
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	function processRequest()
	{
		if (req.readyState == 4)
		{
			if (req.status == 200)
			{
				if (callback) callback(req.responseText);
			}
		}
	}

	this.doGet = function()
	{
		req.open('GET', url, true);
		try
		{
			req.setRequestHeader("Cookie", document.cookie);
		} catch (e) {}
		req.send(null);
	}

	this.doPost = function(body)
	{
		req.open('POST', url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.setRequestHeader("Content-Length", body.length);
		try
		{
			req.setRequestHeader("Cookie", document.cookie);
		} catch (e) {}
		req.send(body);
	}
}

var file;
var list_open = false;
var list_im;
var list_text;

function loadList(f)
{	var obj = document.getElementById('ll');
	if(!list_open)
	{		list_open = true;		file = f;		list_im = obj.src;
		list_text = obj.title;
		document.getElementById('list_colls').style.left = posX(obj) + 15 + 'px';
		document.getElementById('list_colls').style.top = posY(obj) + 5 + 'px';

		obj.src = 'images/loading.gif';
		new AJAXInteraction('xml.php?act=loadlist', pLL).doGet();
	}else
	{		document.getElementById('list_colls').style.display='none';
		obj.src = list_im;
		obj.title = list_text;
		list_open = false;
	}
}

function addFile(c)
{	document.getElementById('list_colls').style.display='none';
	list_open = false;
	document.getElementById('ll').src = 'images/loading.gif';
	document.getElementById('ll').title = 'Загрузка списка коллекций';
	new AJAXInteraction('xml.php?act=addfile&f='+file+'&c='+c, pAF).doGet();
}

function addComment()
{
	document.getElementById('addcomm').style.display = 'none';
	document.getElementById('result').style.border = '1px solid blue';
	document.getElementById('result').style.color = 'blue';
	document.getElementById('result').innerHTML = 'Отправка данных';
	document.getElementById('result').style.display = 'block';

	var data = 'text=' + encodeURIComponent(document.getElementById('ct').value) + '&id=' + encodeURIComponent(document.getElementById('ci').value);
	if(document.getElementById('cu')!=null)
		data += '&user=' + encodeURIComponent(document.getElementById('cu').value);
	new AJAXInteraction('xml.php?act=addcomment', pAC).doPost(data);
}

function pAC(res)
{
	if(res == 'OK')
	{		document.getElementById('result').style.color = 'green';
		document.getElementById('result').style.border = '1px solid green';
		document.getElementById('result').innerHTML = 'Комментарий добавлен:<br><br>' + document.getElementById('ct').value;
	}
	else
	{		document.getElementById('result').style.color = 'red';
		document.getElementById('result').style.border = '1px solid red';
		document.getElementById('result').innerHTML = res;
		document.getElementById('addcomm').style.display = 'block';
	}
}

function pLL(res)
{	document.getElementById('ll').src = 'images/f_x.gif';
	document.getElementById('ll').title = 'Отменить добавление';
	document.getElementById('list_colls').innerHTML = '<div class="margin"><h3>Добавить файл в коллекцию</h3>' + res + '</div>';
	document.getElementById('list_colls').style.display = 'block';
}

function pAF(res)
{
	if(res=='OK')
	{
		document.getElementById('ll').src = 'images/f_ok.gif';
		document.getElementById('ll').title = 'Файл добавлен в коллекции';
	}else
	{		document.getElementById('ll').src = list_im;
		document.getElementById('ll').title = list_text;
		alert(res);
	}
}
