﻿var symbols = new Array(['000','selkeää'],['100','puolipilvinen'],['200','pilvinen'],['210','heikko vesikuuro'],['220','vesikuuro'],['320','kovavesikuuro'],['310','heikko vesisade'],['320','vesisade'],['430','kova vesisade'],['212','heikko lumikuuro'],['222','lumikuuro'],['322','kova lumikuuro'],['412','heikko lumisade'],['422','lumisade'],['432','kova lumisade'],['240','ukkoskuuro'],['340','kovaukkoskuuro'],['440','ukkossade'],['440x','kova ukkossade'],['211','heikko räntäkuuro'],['221','räntäkuuro'],['321','kova räntäkuuro'],['411','heikko räntäsade'],['421','räntäsade'],['431','kova räntäsade']);
function pageLoaded() {
    setDefaultFieldValue("sahkoposti-osoite", "Sähköpostiosoitteesi");
}

function changeCity(city) {
  var cookieName = 'fp_forecacity';
  if (!city) {
    city = readCookie(cookieName)
    if (!city)
        city = 'Helsinki';
  }
  
  createCookie(cookieName, city, 180);
  
  var cityw;
  for (var i=0; i < weather.length; i++) {
    if (weather[i][0] == city) {
      cityw = weather[i];
      document.getElementById('weathercity').selectedIndex = i;
    }
  }
  if (!cityw) return;

  var whtml = '<li id="wtemperature" title="lämpötila: ' + cityw[2] + ' °C"><span>Lämpötila: </span>' + cityw[2] + '°<span>C</span></li><li id="wsymbol"><span>Tyyppi: </span><img src="s/img/saa/' + cityw[3] + '.png" title="' + symbolLegend(cityw[3]) + '" alt="' + symbolLegend(cityw[3]) + '" /></li><li id="wwind" title="' + windText(cityw[4], cityw[5]) + '"><span>Tuuli: </span><span id="wwindspeed">' + cityw[4] + '</span><span> m/s, </span><img src="s/img/saa/wind-' + cityw[5] + '.gif" alt="' + windText(cityw[4], cityw[5]) + '" id="wwinddirection" /></li>';
  
  document.getElementById('cityweather').innerHTML = whtml;
}

function buildweatherwidget() {
  var whtml = '<select id="weathercity" onchange="changeCity(this.value);">';
  for (var i=0; i < weather.length; i++) {
    whtml += '<option value="' + weather[i][0] + '">' + weather[i][0] + '</option>';
  }
  whtml += '</select><ul id="cityweather"></ul><p><a href="saa/">Tarkemmat säätiedot</a></p>';
  document.getElementById('minisaa').innerHTML = whtml;
  changeCity();
}

function symbolLegend(s) {
  for (var i=0; i < symbols.length; i++) {
    if (symbols[i][0] == s.substr(1))
      return symbols[i][1];
  }
  return '';
}

function windDirectionApproxLocal(d) {
  if (d == 'n')
    return 'pohjois';
  else if (d == 'nw')
    return 'koillis';
  else if (d =="e")
    return 'itä';
  else if (d == "se") 
    return 'kaakkois';
  else if (d == "e")
    return 'etelänpuoleista ';
  else if (d == "sw")     
    return 'lounais';
  else if (d == "w") 
    return 'länsi';
  else if (d == "ne")
    return 'luoteis';
  else
      return '';
}

function windText(s, d) {
  var ret = '';
  if (s < 1)
    ret = 'tyyntä';
  else if (s < 4)
    ret = 'heikkoa ' + windDirectionApproxLocal(d) + 'tuulta';
  else if (s < 7)
    ret = 'kohtalaista ' + windDirectionApproxLocal(d) + 'tuulta';
  else if (s < 13)
    ret = 'navakkaa ' + windDirectionApproxLocal(d) + 'tuulta';
  else if (s < 20)
    ret = 'kovaa ' + windDirectionApproxLocal(d) + 'tuulta';
  else if (s < 32)
    ret = windDirectionApproxLocal(d) + 'myrskyä';
  else
    ret = windDirectionApproxLocal(d) + 'hirmumyrskyä';
  return ret + ' (' + s + ' m/s)';
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "="; 
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function goSelect(select) {
    if (select && select.selectedIndex >= 0 && select.options[select.selectedIndex].value.substr(0, 4) == "http") {
        var url = select.options[select.selectedIndex].value;
        track(url);
        location.href=url;
    }
}

function track(url) {
    if (typeof (pageTracker) != 'undefined' && url && url.length > 7) {
        var point = url.indexOf("//") + 2;
        if (point > 2) {
            pageTracker._trackPageview('/outgoing/' + url.substr(point));
        }
    }
}
