function setAnswer(text) {
    $('#answer').html(text);
	$('#loading').fadeOut('slow', function() {
          $(document).stopTime('loading');
          $('#answer').fadeIn('slow'); 
    });
}
function reQuery(showform) {
    $('#answer').fadeOut("normal", function() {
        $('#loading').fadeIn("normal")
		if(showform) {
			getanswer({f: 1});
		} else {
			getanswer({l: $('#city').val() + ',' + $('#country').val(), m: $('input:radio[name=degree]:checked').val() });
		}
	});
	return false; // cancels form submit
}
function doColorAnimation(data) {
	$('body').animate({
        backgroundColor: data.bgcolor
        , color: data.fgcolor
    },1000);
}

var forecast = false;
function showHideForecast() {
	var fc = readCookie('forecast');
	if (fc == null) fc = 'false';
	
	if (fc == 'true') {
		toggleForecast();
	}	
}
function toggleForecast() {
	if (forecast) {
		$('#forecast_box').fadeOut('normal');
		$('#forecast_link').html('Show 3-day forecast');
		writeCookie('forecast','false');
	} else {
		$('#forecast_box').fadeIn('normal');
		$('#forecast_link').html('Hide 3-day forecast');
		writeCookie('forecast','true');
	}
	forecast = !forecast;
	return false; // cancels form submit
}
/*** Cycle loading text ***/

function cycleLoading() {
	var loadingActions = [
	       'Sniffing clouds'
	     , 'Dusting chrystal ball'
	     , 'Counting raindrops'
	     , 'Tapping satellite connections'
	     , 'Eyeing weathergirl'
	     , 'Extrapolating cloud trajectories'
	     , 'Checking chinese silver iodide missile schedule'
	     , 'Bringing satellites into position'
	     , 'Observing sea currents'
	     , 'Reading barometer'
	     , 'Reading thermometer'
	     , 'Converting psi to bar'
	     , 'Calling grandma'
	];
	fisherYates(loadingActions);
	var i = 0;
	$(document).everyTime(750,'loading',function(){
		if(i < loadingActions.length && i<5) {
	        var t = loadingActions[i];
	        $('#loading_text').html(t + '...');
	        i++;
		} else {
			$(document)
                .stopTime('loading')
                .oneTime(5000,function() {
			         $('#loading_text').html('Golly... it\'s taking quite a while.<br/><a href="/" class="refresh">Refresh?</a><br/>');
                });
		}
    });
}

function fisherYates ( myArray ) {
    var i = myArray.length;
    if ( i == 0 ) return false;
    while ( --i ) {
        var j = Math.floor( Math.random() * ( i + 1 ) );
        var tempi = myArray[i];
        var tempj = myArray[j];
        myArray[i] = tempj;
        myArray[j] = tempi;
    }
}

function writeCookie(name,value) {
	var date = new Date();
	date.setTime(date.getTime()+(600*24*60*60*1000));
	document.cookie = name+"="+value+"; expired="+date.toGMTString()+"; 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;
}