
//Создание объекта для POST запроса к серверу
function CreateRequestObject() {
	if(window.XMLHttpRequest) return new XMLHttpRequest();
	try {
		return new ActiveXObject('Msxml2.XMLHTTP');
	} catch(e) {
		return new ActiveXObject('Microsoft.XMLHTTP');
	}
}

//ФУНКЦИИ ДЛЯ РАБОТЫ ВСПЛЫВАЮЩЕЙ ПОИСКОВОЙ ПАНЕЛИ
function AddOnPanel(){
    var myList = document.getElementById("MarkersList");
    var myTable = document.getElementById("Markers");
    var myArray = document.getElementById("MarkersArray");
    
    if(myList != null && myTable != null && myArray != null){
        nIndex = myList.selectedIndex;
        if(nIndex != 0){
            var myRow = myTable.insertRow(0);
            myRow.id = "row_" + myList.options[nIndex].value;
            var tdValue = myRow.insertCell(0);
            var tdButton = myRow.insertCell(1);
            tdValue.innerHTML = myList.options[nIndex].text;
            tdValue.innerHTML += '<input type="hidden" name="MarkerId" value="' + myList.options[nIndex].value + '"/>';
            tdButton.align = "right";
            tdButton.innerHTML = '<input type="button" style=" background-image:url(images/delete.gif); background-repeat:no-repeat; height:25px; width:25px; border:0" onclick="DeleteOnPanel(this);"/>';
        }
    }
    else{
        alert("К сожалению, эта опция временно недоступна.");
    }
}

function DeleteOnPanel(pButton){
    var myTable = document.getElementById("Markers");
    if(myTable != null){
        var pRow = pButton.parentNode.parentNode;
        myTable.deleteRow(pRow.rowIndex);
    }
    else{
        alert("К сожалению, эта опция временно недоступна.");
    }
}

function ClearOnPanel(){
    var myTable = document.getElementById("Markers");
//    var myArray = document.getElementById("MarkersArray");
    if(myTable != null){
        for(var i = myTable.rows.length; i > 0;i--) {
            myTable.deleteRow(i -1);
        }    
    }
}

function Send(){
    var pMarkers = document.getElementsByName("MarkerId");
    var pRegion = document.getElementById("RegionsList");
    s = "";
    if(pMarkers != null && pRegion != null){
        for(i = 0; i < pMarkers.length; i++){
            if(i == 0)
                s += pMarkers[i].value;
            else 
                s += "-" + pMarkers[i].value;
        }
    }
    sRequest = 'viewer.aspx?obj=atlases&r=' + pRegion.value;
    if(s.length > 0)
        sRequest += '&f=' + s;
	PopupWindow(sRequest);
}

//ФУНКЦИИ ДЛЯ РАБОТЫ ВЬЮВЕРА
function ShowMap(ControlName, PictureId){
    var pImage = document.getElementById(ControlName + "_Map");
    var pViewer = document.getElementById(ControlName + "_MapViewer");
    if(pImage != null && pViewer != null){
        pImage.src = "LoadFile.aspx?file_id=" + PictureId;
        pViewer.style.display = "inline";
	    var ScreenHeight = window.innerHeight ? window.innerHeight : document.body.clientHeight;//:document.documentElement.clientHeight;	        
	    //alert(ScreenHeight); alert(document.body.scrollTop);
        pViewer.style.top = document.body.scrollTop + ScreenHeight - 200;// - 500;//дописать px
        
    }
}

function HideMap(ControlName){
    var pViewer = document.getElementById(ControlName + "_MapViewer");
    if(pViewer != null){
        pViewer.style.display = "none";
    }
}

//Добавление выбранного признака на форму (для AtalsesViewer)
function Add(ControlName){
    var myTable = document.getElementById(ControlName + "Markers");
    var myClearDiv = document.getElementById(ControlName + "ClearDiv");
    var myList = document.getElementById(ControlName + "Feature")
    
    if(myTable != null && myList != null && myClearDiv != null){
        nIndex = myList.selectedIndex;
        if(nIndex != 0){
            if(myClearDiv.style.display == "none")
                myClearDiv.style.display = "block";
            var myRow = myTable.insertRow(0);
            myRow.id = ControlName + "row_" + myList.options[nIndex].value;
            var tdValue = myRow.insertCell(0);
            tdValue.style.fontSize = "12px";
            tdValue.style.height = "100%";
            tdValue.style.paddingLeft = "10px";
            var tdButton = myRow.insertCell(1);
            tdValue.innerHTML = myList.options[nIndex].text;
            tdValue.innerHTML += '<input type="hidden" name="' + ControlName + '_marker_id" value="' + myList.options[nIndex].value + '"/>';
            tdButton.align = "right";
            tdButton.innerHTML = '<input type="button" style="background-image:url(images/delete_small.jpg); background-repeat:no-repeat; height:15px; width:15px; border:0" onclick="Delete(' + "'" + ControlName + "'" + ',this);"/>';
            document.getElementById("MarkersSpan").innerHTML = g_sLang == "rus"? "Выбранные признаки:" : "Selected features:";

            if(myClearDiv.clientHeight > 100 || myClearDiv.offsetHeight > 100){
                myClearDiv.style.height = 100 + "px";
            }
       }
    }
    else{
        alert(g_sLang == "rus" ? "К сожалению, эта опция временно недоступна." : "This option is temporarily unavailable.");
    }
}
//Удаление выбранного признака
function Delete(ControlName, pButton){
    var myTable = document.getElementById(ControlName + "Markers");
    var myClearDiv = document.getElementById(ControlName + "ClearDiv");
    if(myTable && myClearDiv){
        var pRow = pButton.parentNode.parentNode;
        myTable.deleteRow(pRow.rowIndex);
        if(myTable.rows.length == 0){
            myClearDiv.style.display = "none";
            document.getElementById("MarkersSpan").innerHTML = "<i>" + (g_sLang == "rus" ? "Признаки не выбраны." : "Where is no selected features.") + "</i>";
        }
    }
    else{
        alert(g_sLang == "rus" ? "К сожалению, эта опция временно недоступна." : "This option is temporarily unavailable.");
    }
}