﻿// JScript File

    var bNameSticked = false;
    var sDivId='';
    var sSelectedDivID='';
    var nRelX=0;
    var nRelY=0;
    
    function setCursor(sVal)
    {
        document.getElementById("SchemaMoscowMetroImg").style.cursor=sVal;
    }
    
    function showCoords(evt)
    {
        if (bNameSticked)
        {
             var e = evt || event; 
             //document.getElementById("xCoord").value = e.clientX; 
             //document.getElementById("yCoord").value = e.clientY + document.documentElement.scrollTop; 
             onXChange(e.clientX-nRelX);
             onYChange((e.clientY + document.documentElement.scrollTop)-nRelY);
        }
   }
   
   function onXChange(sValue)
   {
        if (sDivId != '')
            document.getElementById(sDivId).style.left=sValue;
   }
    
   function onYChange(sValue)
   {
        if (sDivId != '')
           document.getElementById(sDivId).style.top=sValue;
   }
   
   function hideMetroSchema(){
        WriteLog("hideMetroSchema started");
        var oMetroSchemaDiv = document.getElementById("MetroSchema");
        if (oMetroSchemaDiv)
        {
            oMetroSchemaDiv.style.visibility = 'hidden';
            oMetroSchemaDiv.style.overflow = 'hidden';
            oMetroSchemaDiv.style.height='0px';
        }
        WriteLog("hideMetroSchema 1");
        var oMapDiv = document.getElementById("map");
        if (oMapDiv)
        {
            oMapDiv.style.visibility = 'visible';
            oMapDiv.style.height='100%';
            var oStSelCtrl = document.getElementById("StationSelectionControl1");
            if (oStSelCtrl)
            {
                oStSelCtrl.style.visibility = 'visible';
            }
        }

        WriteLog("hideMetroSchema 2");
        if (document.documentElement)
            if (document.documentElement.style)
            {
                if (!document.getElementById("InfoPage"))
                    document.documentElement.style.overflow='hidden';
                else if (document.getElementById("InfoPage").style.visibility=='hidden')
                    document.documentElement.style.overflow='hidden';
            }

        window.scrollTo(0, 0);
        WriteLog("hideMetroSchema ended");
   }

   function onStationClick(sID)
   {
        var oSelect = document.getElementById('StationSelectionControl1');;
        var bNewWindow = false;
        if (!oSelect)
            if (window.opener){
                bNewWindow = true;
                oSelect = window.opener.document.getElementById('StationSelectionControl1');
            }
                
        if (oSelect){
            //window.alert(sID + '\n' + oSelect.options.length + '\n' + oSelect.options[0].value);
            for (var i=0; i < oSelect.options.length; i++)
            {
                var sOptionVal = oSelect.options[i].value;
                var sOptionId;
                var nPos=sOptionVal.indexOf('(');
                if(nPos>-1)
                {
                    sOptionId = sOptionVal.substring(0, nPos);
                    //window.alert(sID + '\n' + i + ': ' + sOptionId + '\n' + oSelect.options[i].value);
                    if (sOptionId == sID)
                    {
                        if (!bNewWindow)
                            hideMetroSchema();   
                            
                        oSelect.selectedIndex=i;
                        oSelect.onchange();
                        break;
                    }
                }
            }
            
            if (bNewWindow)
                window.close();
        }
   }
   
   function selectStation(sID)
   {
        var oDiv = document.getElementById('D' + sID);
        if (oDiv)
        {
            unselectStation();
            sSelectedDivID = sID;
            oDiv.style.color='#FF0000';
            oDiv.childNodes.item(1).style.visibility='visible';
        }
   }
   
   function unselectStation(sID)
   {
        if (!sID)
            sID = sSelectedDivID;
        
        if ((sID != '') && (sID != sDivId.substring(1)))
        {    
            var oDiv = document.getElementById('D' + sID);
            if (oDiv)
            {
                sSelectedDivID = '';
                oDiv.style.color='#000000';
                oDiv.childNodes.item(1).style.visibility='hidden';
            }
        }
   }
   
   function populateTextArea()
   {
        var oDivs = document.getElementsByTagName('div');
        var oTextArea = document.getElementById('theTextArea');
        oTextArea.innerText = '';
        
        for (var i=0; i < oDivs.length; i++)
        {
            if (oDivs[i].id.substring(0, 2) == 'DM')
            {
                var sXName;
                var sYName = oDivs[i].style.top;
                var sXArea;
                var sYArea;
                sXName = oDivs[i].style.left.substring(0, oDivs[i].style.left.length-2);
                sYName = oDivs[i].style.top.substring(0, oDivs[i].style.top.length-2);
                var oArea = document.getElementById('A' + oDivs[i].id.substring(1));
                var arCoords = oArea.coords.split(',');
                oTextArea.value += '<NameOnSchema XName="' + sXName + '" YName="' + sYName + '" XArea="' + arCoords[0] + '" YArea="' + arCoords[1] + '" />\n';
            }
        }
   }
