﻿
/* TEXTFORECAST */
var defaultAuthorName = "meteorologer";
var authorText = "Tekstvarselet er skrevet av {0} ved Storm Weather Center."
var imgAuthorUrl = "http://your.weather.no/graphics/metgraphics/";
function initTextForecast() {
    var jsonFTxts = eval('(' + $('#hiddenFTxts').val() + ')');
    if (jsonFTxts.length > 0) {
        var day = 0;
        $('#forecastAreaName').html(jsonFTxts[day].AreaName + " i dag");
        $('#forecastContent').html(jsonFTxts[day].Text);
        $('#imgTxtAuthor').attr("src", imgAuthorUrl + jsonFTxts[day].AuthorId + ".jpg");
        var authorName = jsonFTxts[day].AuthorFName + " " + jsonFTxts[day].AuthorLName;
        if (authorName == " " || authorName.trim() == "Unknown")
            authorName = defaultAuthorName;

        $('#forecastAuthor').html(format(authorText, authorName));
    }
}

/* SNOWMAPS
--------------------------------------------------*/
var snowDephtUrl = 'url(http://your.weather.no/stormmap/production/snow/snowdepth_267x657.png)';
var freshSnowUrl = 'url(http://your.weather.no/stormmap/production/snow/freshsnow_267x657.png)';
var qualitySnowUrl = 'url(http://your.weather.no/stormmap/production/snow/skiquality_267x657.png)';

function initSnowmaps() {
    setMenuClick($('#aSnowdepht'), ('#imgSnowdepth'), snowDephtUrl);
    setMenuClick($('#aFreshSnow'), ('#imgFreshsnow'), freshSnowUrl);
    setMenuClick($('#aSnowQuality'), ('#imgSnowquality'), qualitySnowUrl);

    toggleSnowMap($('#aSnowdepht'), ('#imgSnowdepth'), snowDephtUrl);
}

function setMenuClick(menuitem, imglegend, mapUrl) {
    menuitem.click(function(event) {
    toggleSnowMap(menuitem, imglegend, mapUrl);
    });
}

function toggleSnowMap(menuitem, imglegend, mapUrl) {
    $('.snowmapmenu a').removeClass("selected");
    $('#snowmap').css('background-image', mapUrl);
    $('#snowmap img').css('display', 'none');
    $(imglegend).css('display', 'block');
    menuitem.addClass("selected");
}


/* SNOWOVERVIEW
--------------------------------------------------*/

function initSnowOverview(area) {
    //select tab:
    $('#snowlistMenutabs li').removeClass("active");
    $('#snowlistMenutabs').find('a').each(function() { if (this.innerHTML.toLowerCase() == area.toLowerCase()) $(this).parent().addClass("active"); });

/*** UNTIL EUROPA DATA IS FIXED THIS REMANES UNCOMMENTED*/
    if (area != "norge") {
        $('#ddlCountries').css('display', 'inline');
        $('#ddlCountries').change(function() {
            var key = $(this).val();
            if (key > 0) {
                initSnowList("verden", key);
                writeRegionList(key);
            }
        });
    }
    else {

        /*end europe */
        $('#ddlRegions').removeAttr('disabled');
    }

    $('#ddlRegions').change(function() {
        var key = $(this).val();
        initSnowList(area, key);
    });

    /*WITH EUROPE DATA:*/
    initSnowList(area, "0");
   /* initSnowList("norge", "0");*/
}

function writeRegionList(area) {
    $('#ddlRegions').attr('disabled', 'disabled');
    $('#ddlRegions').children().remove().end().append('<option selected value="0">Velg region</option>');

    var service = Storm.Portal.Web.Services.AreaService;
    service.GetSkiRegionsInCountry(area, OnSkiRegionNamesComplete, OnSkiRegionNamesFailed);
}

function OnSkiRegionNamesComplete(results) {
    var jsonArray = eval('(' + results + ')');
    $.each(jsonArray, function() {
        $('<option></option>').val(this.Key).text(this.Value).appendTo('#ddlRegions')
    });
    $('#ddlRegions').removeAttr('disabled');
}

function OnSkiRegionNamesFailed(error) {
    //alert(error);
}

function initSnowList(area, regionId) {
    var params = { "AreaParam": area, "RegionIdParam": regionId };
    var cacheKey = area + "_" + regionId;
    
    ShowSnowPageProgress();
    var service = Storm.Portal.Web.Services.ModuleService;
    service.GetModuleHtml("skistedtabell", params, cacheKey, OnSnowListComplete, OnSnowListFailed);
}
function OnSnowListComplete(results) {
    if (results != null) {
        HideSnowPageProgress();

        $("#resortList").html(results);
    }
}
function OnSnowListFailed(error) {
    HideSnowPageProgress();
}
function ShowSnowPageProgress() {
    $('#listsnowprogress').css('display', 'inline');
}
function HideSnowPageProgress() {
    $('#listsnowprogress').css('display', 'none');
}


/* SEARCH
--------------------------------------------*/

function redirectToSearch() {
    var searchname = $("#txtStormPlaceSearch").val();
    searchname = searchname.trim();

    if (searchname && searchname != "") {
        window.parent.location="http://www.storm.no/sok/" + searchname;
    }
    else
        window.parent.location="http://www.storm.no";
}


/* MultilocationListView
------------------------------------------*/
function HideShowLocation(curIndx, obj) {
    var indxCnt = 0;
    while (document.getElementById('MenuItem' + indxCnt) != null) {
        document.getElementById('location' + indxCnt).className = "";
        document.getElementById('MenuItem' + indxCnt).style.display = 'none';
        indxCnt++;
    }

    obj.className = "select";
    document.getElementById('MenuItem' + curIndx).style.display = 'block';
}