if (document.getElementById)
	is_dom = true;
else
    is_dom = false;

var isIE = (navigator.appName == "Microsoft Internet Explorer");

var xmlHttp = createXmlHttpRequestObject();
var xmlHttpMain = createXmlHttpRequestObject();

var tooltip = '';

function showmap()
{
    var elem2 = document.getElementById ("content");
    var s = screen.width;
    var left = (screen.width - 800) / 2 - 7;

    var elem = document.getElementById ("monitoring-contents");
    elem.style.left = left;
	elem.style.display = "block";
}

function hidemap()
{
    var elem = document.getElementById ("monitoring-contents");
	elem.style.display = "none";
}

function selectclick()
{
    var coll = document.getElementsByTagName("tr");
	for (var i=0; i<coll.length; i++)
	{
		if (coll[i].className == "select-row" || coll[i].className == "select-row-light")
		{
		    if (isIE)
		    {
			    if (coll[i].style.display == "block")
			        coll[i].style.display = "none";
				else
			        coll[i].style.display = "block";
			}
			else
		    {
			    if (coll[i].style.display == "table-row")
			        coll[i].style.display = "none";
				else
			        coll[i].style.display = "table-row";
			}
		}
	}
}

function selectlight (i, b)
{
	var elem_name = "select-tr-" + i;
	var elem = document.getElementById (elem_name);
	if (b == true)
		elem.className = "select-row-light";
	else
		elem.className = "select-row";
}

function selectdone (i)
{
    var elem = document.getElementById ("r_id_select");
    elem.value = i;
    selectclick();
    document.SelectRegion.submit();
}

function createXmlHttpRequestObject ()
{
    var xmlHttp;
    if (window.ActiveXObject)
    {
        try
        {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                xmlHttp = false;
            }
        }
    }
    else
    {
        try
        {
            xmlHttp = new XMLHttpRequest();
        }
        catch (e)
        {
            xmlHttp = false;
        }
    }
    if (!xmlHttp)
        alert ("Ошибка создания объекта. Обратитесь к администратору");
    else
        return xmlHttp;
}

function monitclick()
{
	var legend = document.getElementById ("monitoring-legend");
    var coll = document.getElementsByTagName("tr");
	for (var i=0; i<coll.length; i++)
	{
		if (coll[i].className == "monit-row" || coll[i].className == "monit-row-light")
		{
		    if (isIE)
		    {
			    if (coll[i].style.display == "block")
			    {
			        legend.style.display = "block";
			        coll[i].style.display = "none";
				}
				else
				{
			        legend.style.display = "none";
			        coll[i].style.display = "block";
				}
			}
			else
		    {
			    if (coll[i].style.display == "table-row")
			    {
			        legend.style.display = "block";
			        coll[i].style.display = "none";
				}
				else
				{
			        legend.style.display = "none";
			        coll[i].style.display = "table-row";
				}
			}
		}
	}
}

function monitlight (i, b)
{
	var elem_name = "monit-tr-" + i;
	var elem = document.getElementById (elem_name);
	if (b == true)
		elem.className = "monit-row-light";
	else
		elem.className = "monit-row";
}

function monitdone (i, params_qty)
{
	var first_id_name = "param-id-" + 1;
	var first_id = document.getElementById (first_id_name).value;
	var first_title_name = "param-name-" + 1;
	var first_title = document.getElementById (first_title_name).innerHTML;
	var first_order_name = "param-order-" + first_id;
	var first_order = document.getElementById (first_order_name).value;

	var selected_id_name = "param-id-" + i;
	var selected_id = document.getElementById (selected_id_name).value;
	var selected_title_name = "param-name-" + i;
	var selected_title = document.getElementById (selected_title_name).innerHTML;

    var elem = document.getElementById ("mp_id_select");
    elem.value = selected_id;

    document.getElementById (first_title_name).innerHTML = selected_title;
    document.getElementById (first_id_name).value = selected_id;
    document.getElementById (selected_title_name).innerHTML = first_title;
    document.getElementById (selected_id_name).value = first_id;

	for (var k=params_qty; k > 2; k--)
	{
	    j = k - 1;
	    var prev_id_name = "param-id-" + j;
		var prev_id = document.getElementById (prev_id_name).value;
		var prev_title_name = "param-name-" + j;
		var prev_title = document.getElementById (prev_title_name).innerHTML;
		var prev_order_name = "param-order-" + prev_id;
		var prev_order = document.getElementById (prev_order_name).value;

		var curr_id_name = "param-id-" + k;
		var curr_id = document.getElementById (curr_id_name).value;
		var curr_title_name = "param-name-" + k;
		var curr_title = document.getElementById (curr_title_name).innerHTML;
		var curr_order_name = "param-order-" + curr_id;
		var curr_order = document.getElementById (curr_order_name).value;

		if (prev_order > curr_order)
		{
		    document.getElementById (curr_title_name).innerHTML = prev_title;
		    document.getElementById (curr_id_name).value = prev_id;
		    document.getElementById (prev_title_name).innerHTML = curr_title;
		    document.getElementById (prev_id_name).value = curr_id;
		}
	}

    monitclick();

    drawmap (selected_id);
}

function drawmap(mp_id)
{
    mp_id = document.getElementById ("mp_id_select").value;

    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
    {
        xmlHttp.open ("GET", "get-monitoring-values.php?mp_id=" + mp_id, true);
        xmlHttp.onreadystatechange = handleServerResponse;
        xmlHttp.send(null);
    }
    else
    {
        setTimeout ('drawmap(' + mp_id + ')', 1000);
    }
}

function handleServerResponse ()
{
    if (xmlHttp.readyState == 4)
    {
        if (xmlHttp.status == 200)
        {
            xmlResponse = xmlHttp.responseXML;
            xmlDocumentElement = xmlResponse.documentElement;
            var answer = xmlDocumentElement.firstChild.data;
            var response = answer.split(":");
            var qty = response.length;

            for (var i=0; i<qty; i++)
            {
            	var val = response[i].split("|");
            	var reg_name = val[0];
            	var reg_color = val[1];
            	var reg_value = (val[2]) ? val[2] : 'нет данных';

				var dot_name = "magDot-" + reg_name;
				var src_name = reg_color + "-dot.png";
				var val_name = "mon_val_" + reg_name;
				document.images[dot_name].outerHTML = '<img src="http://www.mon-pit.ru/img/' + src_name +
					'" class="magDot" id="' + dot_name + '" ' +
					'onMouseOver="gettip(' + "'" + reg_value + "'" + ');" onMouseOut="droptip(); return false;"' +
					' />';
				document.getElementById (val_name).value = reg_value;

            }
        }
        else
        {
            alert ("Проблемы " + xmlHttp.statusText);
        }
    }

    drawlegend();
}

function drawlegend()
{
    mp_id = document.getElementById ("mp_id_select").value;
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
    {
        xmlHttp.open ("GET", "get-monitoring-legend.php?mp_id=" + mp_id, true);
        xmlHttp.onreadystatechange = handleServerResponseLegend;
        xmlHttp.send(null);
    }
    else
    {
        setTimeout ('drawlegend()', 1000);
    }
}

function handleServerResponseLegend()
{
    if (xmlHttp.readyState == 4)
    {
        if (xmlHttp.status == 200)
        {
            xmlResponse = xmlHttp.responseText;
            var elem_name = "monitoring-legend";
            var elem = document.getElementById(elem_name);
            elem.innerHTML = xmlResponse;
        }
        else
        {
            alert ("Проблемы " + xmlHttp.statusText);
        }
    }
	drawdescr();
}

function drawdescr()
{
    mp_id = document.getElementById ("mp_id_select").value;
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
    {
        xmlHttp.open ("GET", "get-monitoring-descr.php?mp_id=" + mp_id, true);
        xmlHttp.onreadystatechange = handleServerResponseDescr;
        xmlHttp.send(null);
    }
    else
    {
        setTimeout ('drawdescr()', 1000);
    }
}

function handleServerResponseDescr()
{
    if (xmlHttp.readyState == 4)
    {
        if (xmlHttp.status == 200)
        {
            xmlResponse = xmlHttp.responseText;
            var elem_name = "monit-descr";
            var elem = document.getElementById(elem_name);
            elem.innerHTML = xmlResponse;
        }
        else
        {
            alert ("Проблемы " + xmlHttp.statusText);
        }
    }
}

function getPageEventCoords (evt)
{
	var coords = {left:0, top:0};
	if (evt.pageX)
	{
	    coords.left = evt.pageX;
	    coords.top = evt.pageY;
	}
	else if (evt.clientX)
	{
	    coords.left = evt.clientX + document.body.scrollLeft - document.body.clientLeft;
	    coords.top = evt.clientY + document.body.scrollTop - document.body.clientTop;
	}
	return coords;
}

function gettip (text, evt)
{
	droptip ();
	evt = (evt) ? evt : event;
	var coords = getPageEventCoords (evt);

	tooltip = document.createElement ("div");
	tooltip.className = "tooltip";
	tooltip.style.left = coords.left;
	tooltip.style.top = coords.top + 25;
	tooltip.innerHTML = text;
	document.body.appendChild (tooltip);
}

function droptip ()
{
	if (tooltip)
	    tooltip.parentNode.removeChild (tooltip);
	tooltip = '';
}

function gettipname (name, evt)
{
	droptip ();
	evt = (evt) ? evt : event;
	var coords = getPageEventCoords (evt);
	var dot_name = "magDot-" + name;
	var val_name = "mon_val_" + name;
	var s = document.getElementById (val_name).value;
	gettip (s, evt);
}


