﻿// JScript File

function toggleFilters(e) {
    if ($(e).find("h2").html() == "Visa filtreringsalternativ") {
        $(e).find("h2").html("Dölj filtreringsalternativ");
    }
    else {
        $(e).find("h2").html("Visa filtreringsalternativ");
    }
    $("#filter-search-container").toggle();
}

function SaveNewsLetterEmail() {
    var email = $("#txtEmailField").val();
    var regexPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    if (!email.match(regexPattern)) {
      $('#confirmMessage').html("Email-adressen är inte giltlig.").addClass('error-class');
        return;
            }
            $.ajax({
                type: "POST",
                data: "{'email':'" + email + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: "/BoendeFb/Templates/Pages/LanKommunPageAjax/NewsLetter.asmx/PersistAndSend",
                success: function(data) {
                    if (data.d) {
                        $('#confirmMessage').html("Ett bekräftelsemail har skickats!").addClass('confirm-class');
                    }
                    else {
                        $('#confirmMessage').html("Ett oväntat fel har inträffat.").addClass('error-class');

                    }
                   
                },
                error: function(xhr, status) {
                $('#confirmMessage').html("Ett oväntat fel har inträffat.").addClass('error-class');
                }
            });

}

function MapSearchSelectLan(lanid, lannamn) {
    //Left menu list
    $('#MapSearchKommunList'+lanid).css('display','block');
    $('#MapSearchLanList').css('display','none');
    
    //Breadcrumb
    $('#lc_bc_lan').css('color','#666');
    $('#lc_bc_lan').html('Län:');
    $('#MapSearchBreadCrumbLan').html(lannamn);   
    $('#lc_bc_kom').css('display','block');    
    $('#MapSearchBreadCrumbChange').css('display','inline');        
}
    
//function MapSearchSelectKommun(lanid, kommunid, komunnamn) {
//    //Left menu list
//    $('#MapSearchProjectList'+kommunid).css('display','block');    
//    $('#MapSearchKommunList'+lanid).css('display','none');
//    
//    //Breadcrumb
//    $('#lc_bc_kom').html('Kommun:');
//    $('#MapSearchBreadCrumbKommunHolder').css('display','block');    
//    $('#MapSearchBreadCrumbKommun').html(komunnamn);    
//    $('#lc_bc_omr').css('display','block');    
//}

function SetImage(imageControl, imageUrl, imageAlt) {
    $('#'+imageControl).attr('src',imageUrl);
    $('#'+imageControl).attr('alt',imageAlt);
    $('#'+imageControl).attr('title',imageAlt);
}

function show(showId) {
    $('#'+showId).css('display','block'); 
}

function hide(hideId) {
    $('#'+hideId).css('display','none'); 
}

function changeClass(objectId, className) {
     $('#'+objectId).attr('class',className);
}

function openProject()
{
    var aCol = $("#search-ajaxbox li.selected a");
    if(aCol.length == 0)
        aCol = $("#search-ajaxbox a");
    if(aCol.length > 0)
        location.href = aCol[0].href;
}

var quickSearchBox;
function searchProject() 
{    
    var query = quickSearchBox[0].value;
    if(query == "")
    {
        $("#search-ajaxbox").hide();
        return;
    }

    var dataObj =
    {
        query: query
    };
    
    var queryObj = $.param(dataObj);
    $.ajax({
        type:"GET",
        cache:true,
        data:queryObj,
        url:"/BoendeFb/Templates/Pages/AjaxQuickSearch.aspx",
        success:function(html) {    
            if(quickSearchBox[0].value != query)
                return;
                
            //keep any existing selected
            var selected = $("#search-ajaxbox li.selected");
            var href = null;
            if(selected.length > 0)
                href = selected.children("a").attr("href");
                
            
            //update html
            $("#search-ajaxbox .result").html(html);
            
            //update existing
            if(href != null)
            {
                var selAnch = $("#search-ajaxbox a[@href='" + href + "']");
                if(selAnch.length > 0)
                    selAnch.parent().addClass("selected");
            }
            
            if(html.indexOf('<li>') > -1)
            {
                $("#search-ajaxbox").show();
                $("#search-ajaxbox .result").show();
            }
            else
            {
                $("#search-ajaxbox").hide();
                $("#search-ajaxbox .result").hide();
            }
        }
    });
}

var searchText = "Sök på projektnamn";
function initQuickSearch(inputBoxSel)
{
    quickSearchBox = $(inputBoxSel);
    quickSearchBox.focus(function()
    {
        if(quickSearchBox[0].value == searchText)
        {
            quickSearchBox[0].value = "";
            quickSearchBox.removeClass("blur-info");
        }
        searchProject();
    });

    quickSearchBox.keydown(function(evt) {
    	//38 - arrow UP
    	//40 - arrow DOWN
    	//13 - RETURN
    	if (evt.keyCode == 13) {
    		openProject();
    		return false;
    	}
    	else if (evt.keyCode == 38 || evt.keyCode == 40) {
    		var selected = $("#search-ajaxbox li.selected");

    		var newNode = null;
    		if (evt.keyCode == 38) {
    			if (selected.length > 0)
    				newNode = selected.prev("li");
    			if (newNode == null || newNode.length == 0)
    				newNode = $("#search-ajaxbox li:last");
    		}
    		else //40
    		{
    			if (selected.length > 0)
    				newNode = selected.next("li");
    			if (newNode == null || newNode.length == 0)
    				newNode = $("#search-ajaxbox li:first");
    		}
    		if (selected.length > 0 && selected[0] != newNode[0])
    			selected.removeClass("selected");

    		newNode.addClass("selected");
    	}
    	else
    		setTimeout('searchProject()', 10);
    });
    
    quickSearchBox.blur(function() 
    {
        if(quickSearchBox[0].value == "" || quickSearchBox[0].value == searchText)
        {
            quickSearchBox.addClass("blur-info");
            quickSearchBox[0].value = searchText;
            $("#search-ajaxbox .result").hide();
        }
    });
    
    quickSearchBox.blur();
}
