function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) curtop += obj.y;
	return curtop;
}

function init()
{
	IE = (document.all);
	NC = (document.getElementById);
	Opera = (document.getElementById);
}
function getReference(name)
{
	init();
	if(Opera) return document.getElementById(name);
	if(IE) return document.all[name];
	if(NC) return document.getElementById(name);
}


function getObj(name) {return getReference(name);}
function hideDiv(id) {var div=getReference(id);div.style.display="none";}
function showDiv(id){var div=getReference(id);div.style.display="block";}
function trim(s) {return String(s).replace(/^[\s\t]+/g, "").replace(/[\s\t]+$/g, "");}
function escape_text(text) {return String(text).replace(/\&/g, "&amp;").replace(/\'/g, "&#039;").replace(/\"/g, '&quot;').replace(/</g, "&lt;").replace(/>/g, "&gt;");}
function unescape_text(text) {return String(text).replace(/\&amp;/g, "&").replace(/\&#039;/g, "'").replace(/\&quot;/g, '"').replace(/&lt;/g, "<").replace(/&gt;/g, ">");}
function getDateStr(date) {var s=''; s += date.getYear(); s += date.getHours(); s += date.getMinutes(); s += date.getSeconds(); s += date.getMilliseconds(); s += (Math.floor(Math.random()*1000)-1);return s;}
function getWindowWidth() {if (document.all) return document.body.scrollWidth; else return document.width;}
function getWindowHeight() {if (document.all) return document.body.scrollHeight; else return document.height;}

function is_opera()
{
	var nav=navigator.userAgent.toLowerCase(), ind=nav.indexOf('opera'), ver=0, sub='';
	if(ind!=-1) {sub=nav.substring(ind+6, nav.length); ver=parseFloat(sub); if(ver<8.5) return true; else return false;}
	return false;
}

function changeDivContent(id, page)
{
	var req = new XMLHttpRequest(), content='', message='Çàãðóçêà...'; 
	var loadingFlag=0;
	var div=document.getElementById(id);
	var divOldContent=div.innerHTML;
	if (req) 
	{
		req.onreadystatechange = function() 
			{
				if (req.readyState == 4) div.innerHTML=req.responseText;
				if (req.readyState==1)
					div.innerHTML='<br><b class="green">'+message+'</b> ';
				if (req.readyState==2)
					div.innerHTML='<br><b class="green">'+message+'</b> ';
				if (req.readyState==3)
					div.innerHTML='<br><b class="green">'+message+'</b> ';
			};
		req.open('GET', page); 
		req.send(null);
	}
}

function sendPostData(id, script, POSTDATA)
{
	var req = new XMLHttpRequest(), content='', message='Îáðàáîòêà çàïðîñà...'; 
	var div=document.getElementById(id);
	var divOldContent=div.innerHTML;
	if (req)
	{
		req.onreadystatechange = function() 
			{
				if (req.readyState == 4) 
				{
					//alert(req.responseText);
					div.innerHTML=req.responseText;
				}
				if (req.readyState==1)
					div.innerHTML='<br><b class="green">'+message+'</b> ';
				if (req.readyState==2)
					div.innerHTML='<br><b class="green">'+message+'</b> ';
				if (req.readyState==3)
					div.innerHTML='<br><b class="green">'+message+'</b> ';
			};
		req.open('POST', script); 
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
		req.send(POSTDATA);
	}
}

function sendPostDataNoResponse(script, POSTDATA)
{
	var req = new XMLHttpRequest(); 
	if (req) 
	{
		req.onreadystatechange = function() 
			{
				if (req.readyState == 4) {}
				if (req.readyState!= 4 ) {}
			};
		req.open('POST', script); 
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
		req.send(POSTDATA);
	}
}

function ue_r(text)
{
	var dec='éöóêåíãøùçõúôûâàïðîëäæýÿ÷ñìèòüáþÉÖÓÊÅÍÃØÙÇÕÚÔÛÂÀÏÐÎËÄÆÝß×ÑÌÈÒÜÁÞ¸¨¹';
	for (i=0; i<dec.length; i++) eval('text=text.replace(/'+escape(dec.charAt(i), true)+'/g, "'+dec.charAt(i)+'");');
	text=text.replace(/%20/g, ' '); text=text.replace(/%29/g, ')'); text=text.replace(/%28/g, '('); text=text.replace(/%2C/g, ',');
	text=text.replace(/%26/g, '&'); text=text.replace(/%3B/g, ';');
	return text;
}

function getHTML(url, post, response_func, loading_func, response_func_param, loading_func_param)
{
	var req = new XMLHttpRequest();
	if (req)
	{
		req.onreadystatechange = function()
		{
			if (req.readyState==4) 
			{
				if(response_func_param==null)
					response_func(ue_r(req.responseText));
				else
					response_func(ue_r(req.responseText), response_func_param);
			}
			if (req.readyState!=4) loading_func(loading_func_param);
		};
		req.open('POST', url); 
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
		req.send(post);
	}
}