var _gur_mouseX=0;
var _gur_mouseY=0;
var _gur_mode=0;
var _gur_curr_i=0;
var _gur_timeout_id=0;
var _gur_move=0;
var _gur_str="";
var _gur_Header="";
var _gur_Item=document.getElementById('uinfo');
var _gur_SelectedX, _gur_SelectedY;
var _gur_Mouse_X, _gur_Mouse_Y;
var _gur_save_onmousemove, _gur_save_onmouseup;
var _gur_l_onmousemove=document.onmousemove;

function CreateRequest()
{
    var Request = false;
    if (window.XMLHttpRequest)
    {
        Request = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        try
        {
             Request = new ActiveXObject("Microsoft.XMLHTTP");
        }    
        catch (CatchException)
        {
             Request = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
 
    if (!Request)
    {
        alert("Невозможно создать XMLHttpRequest");
    }
    
    return Request;
} 

function SendRequest(r_method, r_path, r_args, r_handler)
{
    var Request = CreateRequest();
    if (!Request)
    {
        return;
    }
    
    Request.onreadystatechange = function()
    {
        if (Request.readyState == 4)
        {
            r_handler(Request);
        }
    }
    
    if (r_method.toLowerCase() == "get" && r_args.length > 0)
    r_path += "?" + r_args;
    
    Request.open(r_method, r_path, true);
    if (r_method.toLowerCase() == "post")
    {
        Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
        Request.send(r_args);
    }
    else
    {
        Request.send(null);
    }
} 

function ReadFile(filename, container)
{
    var Handler = function(Request)
    {
        document.getElementById(container).innerHTML = Request.responseText;
    }
    document.getElementById(container).innerHTML = '<img src=/i/waiting_big.gif width=48>';
    SendRequest("GET",filename,"",Handler);
    
}
function GetFile(filename)
{
    var Handler = function(Request)
    {
        document.getElementById('uinfobody').innerHTML = Request.responseText;
    }
    SendRequest("GET",filename,"",Handler);
    
}

showed = 0;
moved=0;

function closeit(layer){
 if (showed == 1) {
 	document.getElementById("layer"+layer).style.visibility="hidden";
	document.getElementById("layer"+layer).style.zIndex=0;
 	showed = 0;
 }
}
function openit(layer,url){
 if (showed == 0) {
	 document.getElementById("layer"+layer).style.visibility="visible";
	 document.getElementById("layer"+layer).style.zIndex=10;
	 ReadFile(url, "layer"+layer);
	 showed = 1;
 }
}

function openfile(layer,url){
	 document.getElementById("layer"+layer).style.visibility="visible";
	 ReadFile(url, "layer"+layer);
}

function modal_popup(i){
	if(i==1){
	 	document.getElementById("popupsHolder").style.visibility="visible";
 		document.getElementById("popupBody").style.visibility="visible";
	} else {
	 	document.getElementById("popupsHolder").style.visibility="hidden";
 		document.getElementById("popupBody").style.visibility="hidden";
	}
}


function _gur_setOpacity(el,v){
	if (v>0 && v<100) {
		el.style.filter="alpha(opacity:"+v+")";
		el.style.KHTMLOpacity="0."+v;
		el.style.MozOpacity="0."+v;
		el.style.opacity="0."+v;
	} else {
		el.style.filter="alpha(opacity:100)";
		el.style.KHTMLOpacity="1";
		el.style.MozOpacity="1";
		el.style.opacity="1";
	}
}

function _gur_Locate(e) {
	var posx=0,posy=0;
	if(e==null) e=window.event;
	if(e.pageX || e.pageY){
		posx=e.pageX; posy=e.pageY;
	} else if(e.clientX || e.clientY){
		if(document.documentElement.scrollTop){
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		} else {
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
		}
	}
	_gur_mouseX = posx;
	_gur_mouseY = posy;

	return true;
};

function _gur_Move() {
	_gur_Item=document.getElementById('uinfo');
	_gur_move=1;
	_gur_SelectedX = _gur_Item.style.pixelLeft;
	_gur_SelectedY = _gur_Item.style.pixelTop;
	_gur_Mouse_X = window.event.clientX+"px";
	_gur_Mouse_Y = window.event.clientY+"px";

	_gur_save_onmousemove = document.onmousemove;
	_gur_save_onmouseup = document.onmouseup;
	document.onmousemove = function(e) {
								var posx=0,posy=0;
								if(e==null) e=window.event;
								if(e.pageX || e.pageY){
									posx=e.pageX; posy=e.pageY;
								} else if(e.clientX || e.clientY){
									if(document.documentElement.scrollTop){
										posx=e.clientX;
										posy=e.clientY;
									} else {
										posx=e.clientX;
										posy=e.clientY;
									}
								}

								_gur_Item.style.left = _gur_SelectedX + (posx - _gur_Mouse_X)+"px";
								_gur_Item.style.top = _gur_SelectedY + (posy - _gur_Mouse_Y)+"px";
								return false;
							};
	document.onmouseup = function() {
								document.onmousemove = _gur_save_onmousemove;
								document.onmouseup = _gur_save_onmouseup;
								_gur_setOpacity(_gur_Item,"100");
								document.getElementById('_gur_ObjMove').style.cursor='pointer';
								return false;
							};

	document.getElementById('_gur_ObjMove').style.cursor='move';
	_gur_setOpacity(_gur_Item,"80");
	return false;
}

function _gur_inner() {
	_gur_Item=document.getElementById('uinfo');
	_gur_Item.innerHTML=
		"<table class=spop cellspacing=0 width=460><tr><td class=lt><div class=spacer></div></td><td class=t></td><td class=rt><div class=spacer></div></td></tr><tr><td class=l><div class=spacer></div></td><td class=content id=content>"+
		"<div id='PopYuhL' class='clearer'></div>"+
		"<div id='PopYuhR' class='clearer'></div>"+
		"<div style='float:right;width:16px;'><a href='javascript:_gur_obj_close(1);'><img src=/i/ic_delete.gif></a></div>"+
		"<div id='uinfobody'>"+
		"</div>"+
		"</td><td class=r></td></tr><tr><td class=lb></td><td class=b></td><td class=rb></td></tr></table>";
	_gur_set_pos();
	_gur_Item.style.visibility="visible";
}


function _gur_urlInfo(i)
{
	_gur_inner();
        document.getElementById('uinfobody').innerHTML = '<img src=/i/waiting_big.gif width=48>';
	GetFile(i);
}

function _gur_obj_open(i) {
	_gur_Item=document.getElementById('uinfo');
	_gur_mode=2;
	if (_gur_timeout_id) clearTimeout(_gur_timeout_id);
	_gur_timeout_id=0;

	if (_gur_curr_i==i)
		_gur_Item.style.visibility="visible";
	else {
		_gur_urlInfo(i);
		_gur_curr_i=i;
	}
}
function _gur_obj_close(m) {
	_gur_Item=document.getElementById('uinfo');
	if (!m && _gur_move)
		return;
	_gur_mode=0;
	_gur_timeout_id=0;
	_gur_move=0;
	_gur_Item.style.visibility='hidden';
}

function _gur_onmouseover(i, u) {
	document.onmousemove=_gur_Locate;


	if (i!='0' && i!='' && _gur_curr_i != i) {
		if (_gur_timeout_id) clearTimeout(_gur_timeout_id);
		_gur_timeout_id=0;
		_gur_obj_close(1);
	}
	switch (_gur_mode) {
		case 0:
			_gur_mode=1;
			_gur_timeout_id=setTimeout("_gur_obj_open('"+u+"')", 550);
			return;
		case 1:
			return;
		case 2:
			return;
		case 3:
			if (_gur_timeout_id) clearTimeout(_gur_timeout_id);
			_gur_mode=2;
			_gur_timeout_id=0;
			return;
	}
}
function _gur_onmouseout() {
	document.onmousemove=_gur_l_onmousemove;
	switch (_gur_mode) {
		case 0:
			return;
		case 1:
			if (_gur_timeout_id) clearTimeout(_gur_timeout_id);
			_gur_mode=0;
			_gur_timeout_id=0;
			return;
		case 2:
			_gur_mode=3;
			_gur_timeout_id=setTimeout("_gur_obj_close(0)", 900);
			return;
		case 3:
			return;
	}
}

function _gur_set_pos() {
	_gur_Item=document.getElementById('uinfo');
	var posTx = _gur_mouseX+20;
	var posTy = _gur_mouseY-49;
	var posDx = posTx+_gur_Item.offsetWidth;
	var posDy = posTy+_gur_Item.offsetHeight;

	var winHeight;
	var winWidth;

	if (typeof(window.innerWidth) != 'undefined') {
		winWidth=window.innerWidth;
		winHeight=window.innerHeight;
	} else {
		winWidth=document.body.offsetWidth;
		winHeight=document.body.offsetHeight;
	}

//alert(posTy+" "+document.body.scrollTop);

//	if (posDy>(document.body.scrollTop+winHeight)) {
//		posTy-=posDy-(document.body.scrollTop+winHeight);
//	}
	if (posTy<document.body.scrollTop+3) {
		posTy=document.body.scrollTop+3;
	}

	_gur_Item.style.top  = posTy+"px";

	posDy = posTy+_gur_Item.offsetHeight;
	if ((posDx>document.body.scrollLeft+winWidth-15)&&(posTx-_gur_Item.offsetWidth-20>document.body.scrollLeft)) {
		var posTx = _gur_mouseX-30-_gur_Item.offsetWidth;
		document.getElementById('PopYuhL').style.visibility='hidden';
		if (_gur_mouseY<posDy-40 && _gur_mouseY>posTy+40)
			document.getElementById('PopYuhR').style.top=_gur_mouseY-posTy-33+"px";
		else
			document.getElementById('PopYuhR').style.visibility='hidden';
	} else {
		document.getElementById('PopYuhR').style.visibility='hidden';
		if (_gur_mouseY<posDy-40 && _gur_mouseY>posTy+40)
			document.getElementById('PopYuhL').style.top=_gur_mouseY-posTy-33+"px";
		else
			document.getElementById('PopYuhL').style.visibility='hidden';
	}

	_gur_Item.style.left = posTx+"px";
}

function sample(a) {
	var f=document.forms[0];
	f.q.value=a.innerText?a.innerText:a.firstChild.nodeValue;
	f.q.focus()
}

function switch_ascetic(a) {
	document.cookie = 'ascetic='+a+'; expires=Thu, 2 Aug 3001 20:47:11 UTC; path=/';
	window.location.reload();
}
