var weatherDescr = {1:"Skyfritt", 2:"Lettskyet", 3:"Halvskyet", 4:"Skyet", 5:"Halvskyet og regnbyger",
	6:"Halvskyet og regnbyger med tordenvær", 7:"Halvskyet og sluddbyger", 8:"Halvskyet og snøbyger", 9:"Lett regn",
	10:"Regn", 11:"Regn med tordenvær", 12:"Sludd", 13:"Snø", 14:"Snø med tordenvær", 15:"Tåke", 16:"Skyfritt,mørketid",
	17:"Halvskyet, mørketid", 18:"Regnbyger, mørketid", 19:"Snøbyger, mørketid"};

var weatherLastEdit = 0;
var prevWeatherFilter = '';

function loadWeather() {
	var cachedWeatherLoc = readCookie("wloc");
	
	if(cachedWeatherLoc !== null ) {
		setLocation(cachedWeatherLoc);
		return;
	}
	renderWeather();
}
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 renderWeather() {
	
	var id = readCookie("wloc");
	var html = '<h3><a href="http://pent.no/vaer.aspx?id=' + weatherData['locationid'] + '" title="Klikk for å se detaljert varsel i timene/dagene fremover på pent.no">' + weatherData['l'] + '</a></h3>';
	html += '<p><span class="temp">' + weatherData['temperature'] + '°</span> <span class="wind">' + weatherData['windspeed'] + ' m/s</span></p>';
	html += '<p><a href="#" onclick="showWeatherConfig();return false;" title="Endre sted">Endre sted</a></p>';
	
    var box = $("#weatherBox");
    if(box) {
    	box.html();
    	box.removeClass();
    	box.addClass('weatherBox');
    	box.addClass('weatherIcon'+weatherData['symbol']);
    	box.html(html);
    }
}

function setLocation(id) {
 $.getJSON("content/ajaxWeather.php", {'do':'getLocation', id:id },function(data){
	 	weatherData = data;
		var date = new Date();
		date.setTime(date.getTime()+(1000*24*60*60*1000));
		document.cookie = 'wloc='+id+'; expires='+date.toGMTString()+'; path=/';
		renderWeather();
	});
	hideWeatherConfig();
}

function hideWeatherConfig() {
	$("#weatherConfig input[name=weatherSearch]").val('');
	$("#weatherConfig").hide();
}

function showWeatherConfig() {
	$("#weatherList").html('Laster byer...');
	$("#weatherConfig").show();
	$("#weatherConfig input:first").focus();
	$("#weatherConfig a[name=weatherClose]").click(function () {
		hideWeatherConfig();});
	$.get("content/ajaxWeather.php",{'do':'search'},function(data){
		$("#weatherList").html(data);
	});
}

function editLoc(filter) {
	var date = new Date();
	weatherLastEdit = date.getTime();
	setTimeout('filterLocations(\''+filter+'\','+weatherLastEdit+')',1000);
	$('#weatherConfig input[name=weatherSearch]').addClass('loading');
}

function filterLocations(filter, lastEdit) {
	if( lastEdit != weatherLastEdit || filter == prevWeatherFilter) {
		return;
	}
	prevWeatherFilter = filter;
	$.get("content/ajaxWeather.php",{'do':'search', filter:filter},function(data){
		$("#weatherList").html(data);
		$('#weatherConfig input[name=weatherSearch]').removeClass('loading');
		$("#weatherList li").hover(function () {
		    $(this).addClass("hilite");
		  }, function () {
		    $(this).removeClass("hilite");
		  });
	});
}


