
var FilterSearch =
{
    showSold: true,
    openTableRow: null,
    currentOpenProject: null,
    countLock: 0,
    resultLock: 0,


    getAjax: function() {
        if (window.location.hash == '#projekt') {
            FilterSearch.getProjects();
        }
        else if (window.location.hash == '#boende') {
            FilterSearch.getObjects();
        }
        else if (window.location.hash == '#filter') {
        }
        else { FilterSearch.getProjects(); }

    },


    getObjects: function(limitToProjGuid, dataStr, count) {
    $("#result-container").html("<span class=\"ajaxBoendeSpan\">H&#228;mtar bost&#228;der ...</span>");

        if (dataStr == undefined || dataStr == null) {
            dataStr = GetFormInfo(count);
            if (dataStr == null) {
                $("#result-container").html("");
                return;
            }
        }

        if (limitToProjGuid != undefined && limitToProjGuid != null && limitToProjGuid != "")
            dataStr += "&projectGuid=" + limitToProjGuid;

        FilterSearch.getResult("GetObjects", dataStr);
    },
    getProjects: function(dataStr) {
    $("#result-container").html("<span class=\"ajaxBoendeSpan\">H&#228;mtar projekt ...</span>");
       
        if (dataStr == undefined || dataStr == null) {
            dataStr = GetFormInfo();
            if (dataStr == null) {
                $("#result-container").html("");
                return;
            }
        }

        FilterSearch.getResult("GetProjects", dataStr);
    },
    getMap: function(dataStr) {
    $("#result-container").html("<span class=\"ajaxBoendeSpan\">H&#228;mtar karta ...</span>");

        if (dataStr == undefined || dataStr == null) {
            dataStr = GetFormInfo();
            if (dataStr == null) {
                $("#result-container").html("");
                return;
            }
        }

        FilterSearch.getResult("GetMap", dataStr);
    },

    getResult: function(op, dataStr) {
        FilterSearch.resultLock++;
        var privLock = FilterSearch.resultLock;
        $("#opState")[0].value = op;
        $("#dataState")[0].value = dataStr;

        $.ajax({
            cache: true,
            type: "GET",
            url: "/BoendeFb/Templates/Pages/LanKommunPageAjax/" + op + ".aspx",
            data: dataStr,
            success: function(html) {
                $("#showResults").attr("disabled", false);
                if (privLock != FilterSearch.resultLock)
                    return;
                $("#result-container").html(html);

                if (op == "GetObjects") {
                    // Används för att sätta att vi ska använda Paging
                    tableSort._paging = true;

                    tableSort.init();
                }

                if (op == "GetProjects")
                    $(".result-item:last").addClass("result-item-bb");
                if (op == "GetMap")
                    initializeMapStart();
            }
        });
    },



    GetFormData: function(count, pageLink, fromCounties) {

        var objectType = FilterSearch.GetCBValues("#objectTypeSelection");
        var projectStatus = FilterSearch.GetCBValues("#projectStatusSelection");
        var lanSelection = $("#lanSelection").val();
        var kommunSelection = null;
        if (fromCounties == "False")
            kommunSelection = $("#kommunSelection").val();
        var allObjects = count;
        if (objectType == null || projectStatus == null || lanSelection == null)
            return null;

        var dataObj = {
            objectType: objectType,
            projectStatus: projectStatus,
            lan: lanSelection,
            kommun: kommunSelection,
            all: allObjects,
            Id: pageLink
        };
        var dataStr = $.param(dataObj);
        dataStr += "&" + FilterSearch.GetSelects();
        return dataStr;

    },
    initSearch: function() {
        var doSearch = FilterSearch.SetDefaultsFromRequest();

        $("#projectStatusSelection input").click(FilterSearch.CountProjectsAndObjects);
        $("#objectTypeSelection input").click(FilterSearch.CountProjectsAndObjects);
        $("#cbAllKommuner").click(FilterSearch.CountProjectsAndObjects);
        $("#cbAllLan").click(FilterSearch.CountProjectsAndObjects);
        $("#showResults").click(function() { FilterSearch.getProjects(); });
        $("#showResults2").click(function() { FilterSearch.getObjects(); });
        $("select").change(FilterSearch.CountProjectsAndObjects);

        var opState = $("#opState")[0].value;
        var dataState = $("#dataState")[0].value;
        if (opState != "" && dataState != "") {
            eval("FilterSearch.getResult('" + opState + "','" + dataState + "')");
        }
        else if (doSearch) {
            FilterSearch.getProjects();
        }

    },

    OpenProject: function(buttonSel, projGuid) {
        if (FilterSearch.currentOpenProject == null)
            FilterSearch.currentOpenProject = buttonSel;
        else {
            var previousExtraCloseLink = FilterSearch.currentOpenProject.parents('.container-item').children('.result-item-extras').children().children('.project-listing-blue-link-vertical');

            if (!$.browser.msie)
                previousExtraCloseLink.click();
            else {
                previousExtraCloseLink.attr("id", "CloseLink");
                doFire("CloseLink");
            }

            FilterSearch.currentOpenProject = buttonSel;
        }


        buttonSel.hide();
        buttonSel.siblings('a.project-listing-blue-link-vertical').show().html("ST&#228;NG");

        var extras = buttonSel.parents('.container-item').children('.result-item-extras');
        var container = buttonSel.parents('.container-item');

        container.css("height", "0px");
        container.css("min-height", "0px");
        container.css("height", "auto");


        var thisItem = buttonSel.parents('.container-item').children('.result-item');
        thisItem.addClass("result-item-bb");
        extras.show();

        extras.html('<span style="margin-left:13px">H&#228;mtar mer information ...</span>');

        $.ajax({
            type: "GET",
            data: "projectGuid=" + projGuid,
            url: "/BoendeFb/Templates/Pages/LanKommunPageAjax/ProjectInfo.aspx",
            success: function(html) {
                //container.css("height","auto");
                extras.html(html);

                imgControl._isStartup = true;
                imgControl.initNavButtons();
                imgControl.initializeImgControl();
            }
        });

    },

    CloseProject: function(buttonSel) {
        // CloseOpenTableRow();


        buttonSel.hide();
        buttonSel.siblings('a.more-info').show();
        var extras = buttonSel.parents('.container-item').children('.result-item-extras');
        var container = buttonSel.parents('.container-item');
        var thisItem = buttonSel.parents('.container-item');

        $(".project-listing-blue-link-vertical").hide();
        $(".project-listing-blue-link").show();

        /* Slideshow IE 6/7 Fix*/
        var slideShowHolder = $("#slideshow-holder");
        slideShowHolder.removeClass("hasChildren");
        slideShowHolder.html("");

        if ($(".result-item:last").text() != $(thisItem).text())
            thisItem.removeClass("result-item-bb");

        extras.html("");
        extras.css("display", "inline");
        //extras.hide();
        FilterSearch.currentOpenProject = null;
    },

    CloseOpenTableRow: function() {
        if (FilterSearch.openTableRow != null && FilterSearch.openTableRow.parentNode != null) {

            /* arrow mod start */
            $(".tr-hover td:first").html('<img src="/BoendeFb/gfx/whitepointer_left.gif" alt="pil"/>');
            $(".tr-hover").addClass("tr-standard");
            $(".tr-hover").next("tr").remove();

            $(".tr-hover").removeClass("tr-hover");
            ////// IE6FÖRSÖKTILLFIX $(".tr-hover").mouseout(function(){ var slask = $("tr-hover"); slask.removeClass("tr-hover"); slask.addClass("tr-standard"); });
            /* arrow mod end */




            //  openTableRow.parentNode.deleteRow(openTableRow.rowIndex - 1);
            FilterSearch.openTableRow = null;
        }
    },

    GetCBValues: function(parentSelector) {
        var ret = null;
        $(parentSelector + " input:checked").each(function() {
            if (ret == null)
                ret = "";
            else
                ret += ",";

            if (this.value == "on")
                ret += $(this).next("label").text();
            else
                ret += this.value;
        });
        return ret;
    },

    GetSelects: function() {
        var ret = "";
        $("select").each(function() {
            if (ret != "")
                ret += "&";
            ret += this.id + "=" + $(this).val();
        });
        return ret;
    },


    CountProjectsAndObjects: function() {
        FilterSearch.countLock++;
        var privLock = FilterSearch.countLock;

        var dataStr = GetFormInfo();
        if (dataStr == null) {
            FilterSearch.UpdateProjectsAndObjects(0, 0);
            return;
        }
        $.ajax({
            type: "GET",
            url: "/BoendeFb/Templates/Pages/LanKommunPageAjax/CountProjectsAndObjects.aspx",
            dataType: "json",
            data: dataStr,
            success: function(obj) {
                if (privLock != FilterSearch.countLock)
                    return;
                FilterSearch.UpdateProjectsAndObjects(obj.objectCount, obj.projectCount);
            }
        });
    },

    UpdateProjectsAndObjects: function(oCount, pCount) {
        $("#showResults")[0].disabled = (pCount == 0);
    },

    SetDefaultsFromRequest: function() {
        var status = getStatus();

        if (status != "") {
            var checkBoxes = $("#projectStatusSelection input:checkbox");
            for (var i = 0; i < checkBoxes.length; i++) {
                if (status.lastIndexOf(checkBoxes[i].value) > -1)
                    checkBoxes[i].checked = "checked";
                else
                    checkBoxes[i].checked = "";
            }
        }

        return status != "";
    },

    toogleSold: function(sender) {

        if (showSold) {
            $(sender).text("Visa sålda bost&#228;der");
            $(".red").parents("tr").hide();
            showSold = false;
        }
        else {
            $(sender).text("Dölj sålda bost&#228;der");
            $(".red").parents("tr").show();
            showSold = true;
        }
    },

    SwitchTabs: function(sender, senderDiv) {
        var callingContainer = $(sender).parents('.result-item-extras');
        var maplinks = $(sender).parent().siblings();
        var callingContainerChilds = $(callingContainer).children('.extra-item');

        for (var i = 0; i < callingContainerChilds.length; i++) {
            $(callingContainerChilds[i]).hide();
            $(maplinks[i]).removeClass("ml-active");
        }

        $(sender).parent().addClass("ml-active");

        if (senderDiv == "#BOSTADTEMP") {
            $(senderDiv).show("fast", function() {
                tableSort._paging = false;
                tableSort.init();

            });

        }
        else {
            $(senderDiv).show();
        }
    },

    OpenObject: function(tableRow, guid, projGuid) {
        var otrIndex = FilterSearch.openTableRow != null ? FilterSearch.openTableRow.rowIndex : -1;
        FilterSearch.CloseOpenTableRow();
        if (tableRow.rowIndex + 1 == otrIndex)
            return;

        /* IE6 mod to disable mouseout */
        tableRow.onmouseout = function() { };
        /* IE6 mod says: "over & out" */

        /* arrow mod start */
        tableRow.className = 'tr-hover';
        $(".tr-hover td:first").html('<img src="/BoendeFb/gfx/whiteonredpointer_open.gif" alt="pil"/>');
        /* arrow mod end */

        FilterSearch.openTableRow = tableRow.parentNode.insertRow(tableRow.rowIndex);
        var newCell = FilterSearch.openTableRow.insertCell(0);
        newCell.style.borderRight = '0px';
        newCell.style.borderTop = '1px solid #DFD7D4';
        newCell = FilterSearch.openTableRow.insertCell(1);
        newCell.style.borderLeft = '0px';
        newCell.colSpan = 11;
        newCell.className = "td-wide";
        newCell.innerHTML = "H&#228;mtar objekt ...";

        var newRow = FilterSearch.openTableRow;
        if (guid == undefined)
            guid = "";
        $.ajax({
            type: "GET",
            url: "/BoendeFb/Templates/Pages/LanKommunPageAjax/ObjectInfo.aspx",
            data: "objectGuid=" + guid + "&projectGuid=" + projGuid,
            success: function(html) {
                newCell.innerHTML = html;
                //setTimeout(initImg,2000)
                imgControl._isStartup = true;
                imgControl.initNavButtons();
                imgControl.initializeImgControl();
            }
        });
    }

}
$(document).ready(function() {
	$("#showResults").attr("disabled", true);
	if (window.location.hash != '#filter') {
		FilterSearch.initSearch();
		FilterSearch.getAjax();
	}
});
