﻿//Ändrar färg för aktuell rad i gridview:n
function setMouseOverColor(element)
{
    oldgridSelectedColor = element.style.backgroundColor;
    element.style.backgroundColor='#028B61'; 
    element.style.cursor='hand';
    element.style.textDecoration='underline';
}

//Sätter standardfärg lämnad rad i gridview:n
function setMouseOutColor(element)
{
    element.style.backgroundColor=oldgridSelectedColor;
    element.style.textDecoration='none';
}

//Uppdaterar kartan
function RefreshMap()
{
	window.setTimeout("opener.mapFrame.ExecuteMapAction(20)",2000); // 2000 = 2 sekund.
	window.setTimeout("parent.parent.mapFrame.ExecuteMapAction(20)",2000); // 2000 = 2 sekunder.
	window.setTimeout("opener.parent.parent.mapFrame.ExecuteMapAction(20)",2000); // 1000 = 2 sekund.
	window.setTimeout("mapFrame.ExecuteMapAction(20)",2000); // 2000 = 2 sekunder.
	window.setTimeout("mapguideFrame.ExecuteMapAction(20)",2000); // 2000 = 2 sekunder.
}

//Vilken zoommetod som skall användas
function ZoomMethod()
{
    //Hämtar dolda fält ifrån aspx-filen
    var mapname = document.getElementById("MAPNAME").value;
    var strPOI = document.getElementById("POI").value;
    var strKAT = document.getElementById("KAT").value;
    var strSHOWMORE = document.getElementById("SHOWMORE").value;
  
    //Görs om alla dolda fält är tomma
    if(strPOI == "" && strKAT == "" && strSHOWMORE == "")
    {
        ZoomToXYScale();
    }
    
    //Görs om data finns i det dolda fältet "SHOWMORE"
    else if(strPOI == "" && strKAT == "" && strSHOWMORE != "")
    {
        ZoomToXYScale();
        window.setTimeout('ShowMoreChangeMap();', 1000); //Visa mer till kartan efter 1 sek
    }
    
    //Görs om data finns i de dolda fälten "POI" och "KAT"
    else if(strPOI != "" && strKAT != "" && strSHOWMORE == "")
    {
        ZoomToPOI();
        ZoomToXYScale();
    }
    
    else //Om data finns i alla tre dolda fälten
    {
        ZoomToPOI();
        ZoomToXYScale();
        window.setTimeout('ShowMoreChangeMap();', 3000); //Visa mer till kartan efter 3 sek
    }
    
    if(mapname == "Skanekartan") //Om kartan är Skånekarta
    {
        LoadMunicipalityLayer();
    }
}

//Används ifrån aspx-filen för adress- och fastighetssök
function ZoomTo()
{
    //Hämtar dolda fält ifrån aspx-filen
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;
    var kat = document.getElementById("KAT").value;
    var inputValue = "";

    if(kat == "AD") //Om adress är vald
    {
        inputValue = document.getElementById('txtSearch').value; //Hämtar värdet ifrån textfältet
        document.getElementById('KAT').value = "AD"; //Sätter värde i det dolda fältet "KAT"
    }

    if(kat == "FA") //Om fastighet är vald
    {
        inputValue = document.getElementById('txtSRE').value; //Hämtar värdet ifrån textfältet
        document.getElementById('KAT').value = "FA"; //Sätter värde i det dolda fältet "KAT"
    }

    document.getElementById('POI').value = inputValue; //Sätter sökvillkoret till det gömda fältet POI.    

    if(mapname == "Skanekartan") //Om kartan är Skånekarta
    {
        SearchLayer.CreateSearchLayerAndGetKoordSkaneAD(inputValue, session, mapname, ZoomToObject); //Skapar söklager för adress
    }
    
    else //Övriga kartor
    {
        if(kat == "AD")
        {
            SearchLayer.CreateSearchLayerAndGetKoordAD(inputValue, session, mapname, ZoomToObject); //Skapar söklager för adress
        }
        
        if(kat == "FA")
        {
            SearchLayer.CreateSearchLayerAndGetKoordFA(inputValue, session, mapname, ZoomToSRE); //Skapar söklager för fastighet
        }
    }

    return false;
}

//Används ifrån funktionen ZoomMethod()
function ZoomToPOI()
{
    //Hämtar dolda fält ifrån aspx-filen
    var sessionPOI = document.getElementById("SESSION").value;
    var mapnamePOI = document.getElementById("MAPNAME").value;
    var inputValuePOI = document.getElementById('POI').value;
    var katPOI = document.getElementById("KAT").value;

    if(mapnamePOI == "Skanekartan") //Om kartan är Skånekarta
    {
        SearchLayer.CreateSearchLayerAndGetKoordSkaneAD(inputValuePOI, sessionPOI, mapnamePOI, ZoomToObjectPOI); //Skapar söklager för adress
    }

    else  //Övriga kartor
    {
        if(katPOI == "AD")
        {
            SearchLayer.CreateSearchLayerAndGetKoordAD(inputValuePOI, sessionPOI, mapnamePOI, ZoomToObjectPOI); //Skapar söklager för adress
        }
        
        if(katPOI == "FA")
        {
            SearchLayer.CreateSearchLayerAndGetKoordFA(inputValuePOI, sessionPOI, mapnamePOI, ZoomToSRE); //Skapar söklager för fastighet
        }
        
        if(katPOI == "VT")
        {
            SearchLayer.CreateSearchLayerAndGetKoordVT(inputValuePOI, sessionPOI, mapnamePOI, ZoomToSRE); //Skapar söklager för villatomt
        }
    } 

    return false;
}

//Används ifrån funktionen ZoomTo()
function ZoomToObject(str)
{
    //Hämtar kartnamnet
    var mapname = document.getElementById("MAPNAME").value;
    var mapscale = 3000; //Standardskala
    
    if(mapname == "Skanekartan") //Om kartan är Skånekarta
        mapscale = 4000;
    
    var array = new Array(); //Indatasträng till array
    
    array = str.split(';'); 

    if (str != "") //Om indatasträng inte är tom
    {
        var X= parseFloat(array[0]);
        var Y= parseFloat(array[1]);

        mapguideFrame.ZoomToView(Y, X, mapscale, true); //Zoomar till koordinat i MGE
        mapguideFrame.Refresh();
    }
}

//Används ifrån funktionen ZoomTo()
function ZoomToObjectPOI(str)
{
    var array = new Array(); //Indatasträng till array 
  
    array = str.split(';'); 

    if (str != "") //Om indatasträng inte är tom
    {
        var xX = parseInt(mapguideFrame.GetMapFrame().GetCenter().Y);
        var xY = parseInt(mapguideFrame.GetMapFrame().GetCenter().X);
        var xScale = parseInt(mapguideFrame.GetMapFrame().GetScale());  

        mapguideFrame.ZoomToView(xY, xX, xScale, true);  //Zoomar till koordinat i MGE
        mapguideFrame.Refresh();
    }
}

//Zoomar till koordinat och skala
function ZoomToXYScale()
{   
    //Hämtar värde ifrån dolda fälten
    var floatX = parseFloat(document.getElementById("X").value);
    var floatY = parseFloat(document.getElementById("Y").value); 
    var floatScale = parseFloat(document.getElementById("SCALE").value);
    
    if(floatX >= 0)
        mapguideFrame.GetMapFrame().ZoomToView(floatY, floatX , floatScale, true);  //Zoomar till koordinat i MGE
}

//Används till markera knapp vid byte av karta
function highlight(id, backgroundColor, textColor, decoration) 
{ 
    element = document.getElementById(id); 
    element.style.background = backgroundColor;
    element.style.color = textColor; 
    element.style.textDecoration=decoration;
} 

//Global variabel
var myfileAndParamenters = "";

//Byta av karta i aspx-fil
function changeMap(fileAndParamenters) 
{ 
    myfileAndParamenters = fileAndParamenters; //Sätter värde till global variabel

    //Hämtar värde ifrån dolda fälten
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;

    changeMapStart(); //Anrop på funktion

    mapguideFrame.Refresh(); //Uppdaterar kartan

    return false;
}

//Används ifrån funktionen changeMap(fileAndParamenters)
function changeMapStart() 
{ 
    //Hämtar värde ifrån kartan
    var intX = parseInt(mapguideFrame.GetMapFrame().GetCenter().Y);
    var intY = parseInt(mapguideFrame.GetMapFrame().GetCenter().X);
    var intScale = parseInt(mapguideFrame.GetMapFrame().GetScale());
    
    //Hämtar värde ifrån dolda fälten
    var strPOI = document.getElementById('POI').value;
    var strKAT = document.getElementById('KAT').value;
    var strShowMore = document.getElementById('SHOWMORE').value;

    var outPOI = strPOI;
    var outKAT = strKAT;
    var outShowMore = strShowMore;

    if(strPOI != "" && strKAT != "" && strShowMore != "") //Om alla dolda fält innehåller data
        window.open(myfileAndParamenters + '?X=' + intX + '&Y=' + intY + '&Scale=' + intScale + '&POI=' + outPOI + '&KAT=' + outKAT + '&SHOWMORE=' + outShowMore,'_self');
    
    else if(strPOI != "" && strKAT != "" && strShowMore == "") //Om de dolda fälten "POI" och "KAT" inte är tomma
        window.open(myfileAndParamenters + '?X=' + intX + '&Y=' + intY + '&Scale=' + intScale + '&POI=' + outPOI + '&KAT=' + outKAT,'_self');
        
    else if(strPOI == "" && strKAT == "" && strShowMore != "") //Om de dolda fältet "SHOWMORE" inte är tomt
        window.open(myfileAndParamenters + '?X=' + intX + '&Y=' + intY + '&Scale=' + intScale + '&SHOWMORE=' + outShowMore,'_self');
       
    else //Om alla dolda fält är tomma
        window.open(myfileAndParamenters + '?X=' + intX + '&Y=' + intY + '&Scale=' + intScale,'_self');
        
    mapguideFrame.Refresh(); //Uppdaterar kartan
}

//Används för att visa/dölja rullgardiner för funktionsknappar i kartan
function overlay(myDiv) {
	el = document.getElementById(myDiv + "Popup");
	el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible"; //"visible";
	
	span1 = document.getElementById(myDiv + "Inner");
	
	fl = document.getElementById(myDiv);
	
	if(el.style.visibility == "visible")
	{
	    span1.style.borderColor = "Gray";
	}
	
	else
	{
	    span1.style.borderColor = "Transparent";
	}
}

//Används ifrån ZoomMethod() för att visa ShowMore vid byte av karta
function ShowMoreChangeMap() 
{
    //Hämtar värde ifrån dolda fälten
    var outShowMore = document.getElementById('SHOWMORE').value;
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;

    array = outShowMore.split(',');
    
    //Bockar i checkboxar för detta lager
    for(i = 0; i < array.length; i++)
    {
        document.getElementById("chk" + array[i]).checked = true;
    }
    
    //Tänder upp "Visa mer" lager som är valda
    ShowHideLayers.ShowMoreMyMapChangeMap(session, mapname, array, ShowMoreToMap);
    mapguideFrame.Refresh();  //Uppdaterar kartan
}

//Tänder extralager som klickas i
function ShowMoreChange(chkId, chkChecked) 
{
    //Hämtar värde ifrån dolda fälten
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;
    
    ShowHideLayers.ShowHideMapLayers(session, mapname, chkId, chkChecked, ShowMoreToMap); //Tänder eller släcker lagret
    mapguideFrame.Refresh(); //Uppdaterar kartan
   
    return false;
}

//Anropas ifrån ShowMoreChangeMap() och ShowMoreChange(chkId, chkChecked)
function ShowMoreToMap(str) 
{ 
    document.getElementById('SHOWMORE').value = str; //Sätter extralager till det gömda fältet ShowMore.    
    
    window.setTimeout('ShowHideLayers.SaveMap(session, mapname, RefreshMap)', 5000);
    mapguideFrame.Refresh();  //Uppdaterar kartan
}

////Tänder extralager som skall tändas i "min karta"
function ShowMoreMyMapChangeMap() 
{
    //Hämtar värde ifrån dolda fälten
    var outShowMore = document.getElementById('SHOWMORE').value;
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;

    array = outShowMore.split(',');

    ShowHideLayers.ShowMoreMyMapChangeMap(session, mapname, array, LayersRefresh); //Tänder eller släcker lagret
    mapguideFrame.Refresh(); //Uppdaterar kartan
        
    return false;
}

//För att spara om kartan.
function LayersRefresh(str) 
{
    RefreshMap();
    mapguideFrame.Refresh();

    window.setTimeout('ShowHideLayers.SaveMap(session, mapname, RefreshMap)', 10000); //Sparar kartan efter 10sek
}

//Encoda en sträng till utf8
function encode_utf8(s)
{
  return encodeURIComponent(s);
}

//Decoda en sträng till utf8
function decode_utf8(s)
{
  return decodeURIComponent(s);
}

//Skapar sträng för länk till min karta
function LinkToMyMap()
{
    //Hämtar värde ifrån kartan
    var intX = parseInt(mapguideFrame.GetMapFrame().GetCenter().Y);
    var intY = parseInt(mapguideFrame.GetMapFrame().GetCenter().X);
    var intScale = parseInt(mapguideFrame.GetMapFrame().GetScale());
    var strMapname = mapguideFrame.GetMapFrame().GetMapName();
    
    //Hämtar och encoda strängen ifrån dolda fält
    var strPOI = encode_utf8(document.getElementById("POI").value); //encode för rätt tecken i MyMap
    var strKAT = document.getElementById("KAT").value;
    var strShowMore = encode_utf8(document.getElementById("SHOWMORE").value); //encode för rätt tecken i MyMap

    var strWeblayout = "";

    //Sätter weblayout beroende på karta
    if(strMapname == "Webb_ortofoto_OG")
        strWeblayout = "SingelMap_ortofoto";
        	
    else if(strMapname == "Webb_hybrid_OG")
        strWeblayout = "SingelMap_hybrid";
        
    else if(strMapname == "Vindkraftverk_OG")
        strWeblayout = "SingelMap_vindkraftverk";
        
    else if(strMapname == "Villatomter_OG")
        strWeblayout = "SingelMap_villatomt";       
        
    else if(strMapname == "Skanekartan")
        strWeblayout = "SingelMap_skane";		        

    else
        strWeblayout = "SingelMap";

    if(strPOI == "" && strKAT == "" && strShowMore == "") //Om det dolda fälten är tomma
    {
        strURL = "http://gis.hassleholm.se/mapguide/og/MyMap.aspx" + 
	        "?X=" + intX + "&Y=" + intY + "&Scale=" + intScale + "&Map=" + strWeblayout;
	}
	
	else if(strPOI != "" && strKAT != "" && strShowMore == "") //Om de dolda fälten "POI" och "KAT" inte är tomt
	{
	    strURL = "http://gis.hassleholm.se/mapguide/og/MyMap.aspx" + 
	        "?X=" + intX + "&Y=" + intY + "&Scale=" + intScale + "&Map=" + strWeblayout + "&POI=" + strPOI + "&KAT=" + strKAT;
    }
    
    else if(strPOI == "" && strKAT == "" && strShowMore != "")  //Om det dolda fältet "SHOWMORE" inte är tomt
	{
	    strURL = "http://gis.hassleholm.se/mapguide/og/MyMap.aspx" + 
	        "?X=" + intX + "&Y=" + intY + "&Scale=" + intScale + "&Map=" + strWeblayout + "&ShowMore=" + strShowMore;
    }
	
	else //Om alla dolda fältet innehåller data
	{
	    strURL = "http://gis.hassleholm.se/mapguide/og/MyMap.aspx" + 
	        "?X=" + intX + "&Y=" + intY + "&Scale=" + intScale + "&Map=" + strWeblayout + "&POI=" + strPOI + "&KAT=" + strKAT + "&ShowMore=" + strShowMore;
    }

    //Sätter textsträngen till html-objektet
    document.getElementById('txtUrl').value = strURL;
    
    //Markerar upp textsträngen i textfältet
    var selectText = {};

    selectText.call= function() 
    {
        SelectAll('txtUrl')
    };

    //Micropaus
    setTimeout(selectText.call, 200);

}

//Används för att ge textfält focus och markera upp ev text i fältet.
function SelectAll(id)
{
    document.getElementById(id).focus();
    document.getElementById(id).select();
}

//Används för att radera söklagret
function RemoveSearchLayer()
{
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;

    SearchLayer.RemoveSearchLayer(session, mapname, LayersRefresh); //Anrop på webbtjänsten
    
    //Tömmer de dolda fälten
    document.getElementById("POI").value = "";
    document.getElementById("KAT").value = "";
}

//Raderar koordinater och skala i dolda fält
function RemoveXYScale()
{
    document.getElementById("X").value = "";
    document.getElementById("Y").value = "";
    
    document.getElementById("SCALE").value = "";
}

//Sätter kategorin i aspx-filen
function SetKategori(kat)
{
    document.getElementById("KAT").value = kat;
}

//Zoomar till fastighet
function ZoomToSRE(element)
{
    //Hämtar skalan
    var scale = document.getElementById("SCALE").value;
    
    if(scale == "") //Om skalan är tom   
    {
        //Zoomar till objektet
        mapguideFrame.SetSelectionXML(element);
        mapguideFrame.ExecuteMapAction(10);
        mapguideFrame.ExecuteMapAction(19);
 
        //Om inzoomningen blir mindre än 1:2000, zoomas man ut till denna skala.
        mapscale=mapguideFrame.GetMapFrame().GetScale();
  
        if(mapscale<2000)
        {
            mapguideFrame.GetMapFrame().ZoomToScale(2000);
        }
        
        mapguideFrame.Refresh(); //Uppdaterar kartan 
        
        window.setTimeout("mapguideFrame.ExecuteMapAction(19);", 500); //Tar bort markeringen
        window.setTimeout("mapguideFrame.ExecuteMapAction(19);", 4000); //Tar bort markeringen efter 4sek
    }
    
    else //Om skalan inte är tom   
    {
            //Hämtar data ifrån det dolda fälten
            var floatX = parseFloat(document.getElementById("X").value);
            var floatY = parseFloat(document.getElementById("Y").value);
            var floatScale = parseFloat(document.getElementById("SCALE").value);
    
            if(floatX >= 0)
                mapguideFrame.GetMapFrame().ZoomToView(floatY, floatX , floatScale, true); //Zoomar till koordinaten och skalan
    }
}

//Sök lägesobjekt
function SearchLO()
{
    //Hämtar data ifrån indatafält i formuläret
    var lagesobj = document.getElementById('txtlagesobj').value;
    var kommun = document.getElementById('ddlkommun').value;
    var kommundel = document.getElementById('ddlkommundel').value;
    var objekttyp = document.getElementById('ddlobjekttyp').value;

    SearchLayer.SearchResultsLO(lagesobj, kommun, kommundel, objekttyp, SearchLOTable); //Anropar webbtjänsten
}

//Anropas ifrån SearchLO()
function SearchLOTable(str)
{
    //Textsträng till array
    var arrayLO = new Array(); 
 
    arrayLO = str.split(';');
    
    //Vid ingen eller förmånga träffar
    if(arrayLO[0] == "Ingen träff!" || arrayLO[0] == "Förmånga träffar, begränsa din sökning!") 
    {
        alert(arrayLO[0]);
        $('#dialogResults').dialog('close');
        $("#txtlagesobj").focus();
        return;
    }
    
    else //rätt antal träffar
    {
        //Skapar dynamisk resultattabell
        var divResults = document.getElementById('divTableLO');
        divResults.style.border = "solid 1px #818284";
        
        var divResults = document.getElementById('divBtnLO');
        divResults.style.visibility = "visible"; //Visar resultatet
    
        row_num=arrayLO.length; //Antal rader
        row=new Array(); //Array för raderna
        cell=new Array(); //Array för kolumnerna

        //Raderar tabellen
        var tab = document.getElementById('tabResults');
        while(tab.hasChildNodes())
        {   
            tab.removeChild(tab.firstChild);
        }

        var tbody = $('#tabResults'); //variabeln kopplas till html-tabellen
        var rows = arrayLO.length;

        if (tbody == null || tbody.length < 1) //Om den inte finns
            return;
            
        var trowHeader = $("<tr>"); //Tabellhuvud

        //Checkbox i huvudet
        var checkBoxAutoAll = $("<input />", { 
            id: "chkAll" 
            , type : "checkbox"
            , checked : false
            }); 

        $("<td>")
            .addClass("chkAllCell")
            .append(checkBoxAutoAll)
            .css('width', 30)
            .appendTo(trowHeader);

        $("<td>") //Kolumn lägesobjekt
            .addClass("tableCell")
            .text("Lägesobjekt")
            .css({'font-size': '9pt', 'font-weight': 'bold'}) 
            .appendTo(trowHeader);

        $("<td>") //Kolumn kommun
            .addClass("tableCell")
            .text("Kommun")
            .css({'font-size': '9pt', 'font-weight': 'bold'}) 
            .appendTo(trowHeader);

        $("<td>") //Kolumn kommundel
            .addClass("tableCell")
            .text("Kommundel")
            .css({'font-size': '9pt', 'font-weight': 'bold'}) 
            .appendTo(trowHeader);

        $("<td>") //kolumn objekttyp
            .addClass("tableCell")
            .text("Objekttyp")
            .css({'font-size': '9pt', 'font-weight': 'bold'}) 
            .appendTo(trowHeader);

        trowHeader.appendTo(tbody); //Läggs till i tabellen
        
        //För varje sökpost
        for (var r = 0; r < rows; r++) {
            var trow = $("<tr>");
            
            var arrayLOCell = new Array(); 
            arrayLOCell = arrayLO[r].split(',');

            var cols=arrayLOCell.length;
            
            //Checkboxen
            var checkBoxAuto = $("<input />", { 
            id : "chk" + r
            , type : "checkbox"
            , checked : false
            });
            
            checkBoxAuto.val(arrayLO[r]); //Markera eller avmarkerar checkboxen 

           $("<td>") //Checkboxen
                        .addClass("tableCell")
                        .append(checkBoxAuto)
                        .css('width', 30)
                        .appendTo(trow);

           var cellOne = arrayLOCell[0];
           $("<td>") //Lägesobjektet
                        .addClass("tableCell")
                        .text(cellOne)
                        .data("row", arrayLO[r])
                        .data("col", 0)
                        .data("chk", "chk" + r)
                        .css({cursor:'pointer'}) 
                        .appendTo(trow);

            for (var c = 1; c < cols; c++) {
                var cellText = arrayLOCell[c];
                $("<td>") //kommun, kommundel och objekttyp
                        .addClass("tableCell")
                        .text(cellText)
                        .appendTo(trow);
                        
            }
            trow.appendTo(tbody); //Läggs till i tabellen
        }

        //Händelse vid klick i första kolumnen
        $("#tabResults td.tableCell").click(function() {
                    if($(this).data("col") == 0)
                    {
                        var chk = $("input:checkbox"); //Letar upp alla checkboxar i tabellen
                        var nbChk = chk.size()-1; //Antal checkboxar
                        
                        //Avmarkerar alla checkboxar
                        for(i=0; i<nbChk; i++)
                        {
                            document.getElementById("chk" + i).checked = false;
                        }
                        
                        document.getElementById("chkAll").checked = false;
                        
                        //Om aktuell checkbox är avmarkerad
                        if($('input[id=' + $(this).data("chk") + ']').attr('checked') == false)
                        {
                            $('input[id=' + $(this).data("chk") + ']').attr('checked', true); //Markerar aktuell checkbox
                            var inputValue = $(this).data("row"); //Sätter värdet till variabeln
                            var arraySearch = new Array(); 
                            arraySearch = inputValue.split(','); //Dellar upp indatavärdet i array:n
                            
                            var searchValue = arraySearch[0] + ' ' + arraySearch[1] + ' ' + arraySearch[2]; //Skapar sök sträng
                            
                            //Hämtar dolda värde
                            var session = document.getElementById("SESSION").value;
                            var mapname = document.getElementById("MAPNAME").value;
                          
                            SearchLayer.CreateSearchLayerAndGetKoordSkaneLO(searchValue, session, mapname, ZoomToLO); //Anropar webbtjänsten
                        }
                            
                        else //Om aktuell checkbox är markerad
                        {
                            $('input[id=' + $(this).data("chk") + ']').attr('checked', false); //Avmarkera checkboxen
                        }                       
                    }
        }); 
        
        //Marker alla checkboxar
        $("#tabResults td.chkAllCell").click(function() {
            CheckAll("chkAll", document.getElementById("chkAll").checked); //Anrop på funktion som markerar/avmarkerar alla checkboxar
        });

        //Skapar understrukning av aktuell objekt i tabellen
        $("#tabResults td.tableCell").mouseover(function() {
            if($(this).data("col") == 0)
            {
                this.style.textDecoration ='underline';
            }
        }); 

        //Tar bort understrukningen av aktuell objekt i tabellen
        $("#tabResults td.tableCell").mouseout(function() {
            if($(this).data("col") == 0)
            {
                this.style.textDecoration ='none';
            }
        });     
    }
}

//Anropar ifrån SearchLOTable(str) - enstaka objekt
function ZoomToLO(element)
{
    //Hämtar skalan
    var scale = document.getElementById("SCALE").value;
 
    if(scale == "") //Om skala är tom    
    {
        //Zoomar till objektet och avmarkerar det
        mapguideFrame.SetSelectionXML(element);
        mapguideFrame.ExecuteMapAction(10);
        mapguideFrame.ExecuteMapAction(19);
 
        //Om inzoomningen blir mindre än 1:2000, zoomas man ut till denna skala.
        mapscale=mapguideFrame.GetMapFrame().GetScale();
  
        if(mapscale<2000)
        {
            mapguideFrame.GetMapFrame().ZoomToScale(2000);
        }
        
        mapguideFrame.Refresh(); //Uppdaterar kartan 
        
        window.setTimeout("mapguideFrame.ExecuteMapAction(19);", 500); //Avmarkerar objektet
        window.setTimeout("mapguideFrame.ExecuteMapAction(19);", 4000); //Avmarkerar objektet efter 4 sek
    }
    
    else //Om skala inte är tom
    {
            //Hämtar data ifrån de dolda fälten
            var floatX = parseFloat(document.getElementById("X").value);
            var floatY = parseFloat(document.getElementById("Y").value);
            var floatScale = parseFloat(document.getElementById("SCALE").value);
    
            if(floatX >= 0)
                mapguideFrame.GetMapFrame().ZoomToView(floatY, floatX , floatScale, true); //Zoomar i kartan
    }
}

//Zoomning till fler en ett lägesobjekt
function ZoomToMultiLO()
{
    var arrayMultiLO = new Array();
    var i = 0; 

    //Lägger till objekt i array för det rader som har markerade checkboxar
    $("#tabResults td.tableCell :checked").each(function() {
        arrayMultiLO[i] = $(this).val(); 
        i++;
    }); 
    
    //Hämtar data ifrån det dolda fälten
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;
    
    SearchLayer.CreateSearchLayerAndGetKoordSkaneMultiLO(arrayMultiLO, session, mapname, ZoomToMultiLOResults); //Anropar webbtjänsten
}

//Används ifrån ZoomToMultiLO()
function ZoomToMultiLOResults(element)
{
    //Zoomar till objektet
    mapguideFrame.SetSelectionXML(element);
    mapguideFrame.ExecuteMapAction(10);
    mapguideFrame.ExecuteMapAction(19);

    //Om inzoomningen blir mindre än 1:2000, zoomas man ut till denna skala.
    mapscale=mapguideFrame.GetMapFrame().GetScale();

    if(mapscale<2000)
    {
        mapguideFrame.GetMapFrame().ZoomToScale(2000);
    }
    
    mapguideFrame.Refresh(); //Uppdaterar kartan   
    
    window.setTimeout("mapguideFrame.ExecuteMapAction(19);", 500); //Avmarkerar objektet
    window.setTimeout("mapguideFrame.ExecuteMapAction(19);", 4000); //Avmarkerar objektet efter 4 sek
}

//Markerar eller avmarkerar checkboxar
function CheckAll(id, checked)
{
    var chk = $("input:checkbox"); //Letar efter alla checkboxar
    var nbChk = chk.size()-1; //antalet checkboxar
    
    //För varje checkbox
    for(i=0; i<nbChk; i++)
    {
        if(checked == true)
        { 
            document.getElementById("chk" + i).checked = true; //Markerar 
        }

        else
        {
            document.getElementById("chk" + i).checked = false; //Avmarkerar
        }
    }
}

//Sätter data i dolda värde för villatomt
function VacantLandPOI(str)
{
    top.document.getElementById('POI').value = str;
    top.document.getElementById('KAT').value = "VT";
}

//Används för att släcka taskpane-ramen
function ShowTaskPane()
{
    var strShow =  top.document.getElementById('SHOW').value;
    var mapname = top.document.getElementById("MAPNAME").value;

    if(strShow == 'n' && mapname != 'Villatomter_OG')
    {
        window.parent.parent.document.getElementsByTagName("Frameset").item(1).cols = '*,0'; 
    }
}

//Används till att tända trasparentlager för kommunen
function LoadMunicipalityLayer()
{
    var session = document.getElementById("SESSION").value;
    var mapname = document.getElementById("MAPNAME").value;
    ShowHideLayers.LoadMunicipalityLayer(session, mapname, RefreshMap);
    
    window.setTimeout("mapguideFrame.ExecuteMapAction(20)",500);
}












