// JavaScript Document
function termo_processXML(xml)
{
	//find every Tutorial and print the author
	//alert("process xml");
	jData = $(xml);
	
	var currentDate = new Date();
	var day = currentDate.getDate();
	//var month = currentDate.getMonth();
	var year = currentDate.getFullYear();
	var hours = currentDate.getHours();
	
	//var dayOfWeek = currentDate.getDay();
	
	//alert(hours);
	
	var targetHour  = getTargetHour(hours);
	//var targetDay   = 14;
	//var targetMonth = 10;
	//var targetYear  = 2010;
	
	var jMmWeather = jData.find("MMWEATHER");
	
	var jReport = jMmWeather.find("REPORT");
	
	var jTown = jReport.find("TOWN");
	
	//alert(jTown.attr("longitude"));
	
	var jForecast = jTown.find( "FORECAST[hour='"+targetHour+"']");
	
	var month = jForecast.attr("month");
	
	var dayOfWeek = jForecast.attr("weekday");
	//Date info
	var dateOut = getShortWeekDay(dayOfWeek)+","+day+"/"+month;
	
	// Temperature
	var jTemperature = jForecast.find("TEMPERATURE");
	
	var temp_min = jTemperature.attr("min");
	var temp_max = jTemperature.attr("max");
	
	var temp_min_sign = (eval(temp_min)>0) ? "+" : "";
	var temp_max_sign = (eval(temp_max)>0) ? "+" : "";
	
	// Average temperature
	var i_temp_min = eval(temp_min);
	var i_temp_max = eval(temp_max);
	
	var aver_temp = (i_temp_min+i_temp_max)/2;
	var aver_temp_sign = (aver_temp>0) ? "+" : "";
	
	// Wind information
	var jWind = jForecast.find("WIND");
	
	var wind_direction = jWind.attr("direction");
	
	var wind_min = jWind.attr("min");
	var wind_max = jWind.attr("max");
	
	var wind_info = getWindDirection(wind_direction)+","+wind_min+"-"+wind_max;
	//middleTemperature
	
	// Out
	/*
	$("#termo_min").html(temp_min_sign+temp_min);
	$("#termo_max").html(temp_max_sign+temp_max);
	*/
	$("#termo_max").html(aver_temp_sign+aver_temp);
	
	$("#termo_date").html(dateOut);
	$("#termo_wind").html(wind_info);

	//alert(getWidth(-5));
	showMercury(temp_min, temp_max);
	
	//Show column
}

function getTargetHour(currentHour)
{
	if ((currentHour>4 ) && (currentHour<=10)) { return "10"; }
	if ((currentHour>10) && (currentHour<=16)) { return "16"; }
	if ((currentHour>16) && (currentHour<=22)) { return "22"; }
	if ((currentHour>22) && (currentHour<=23)) { return "22"; }
	if ((currentHour>=0) && (currentHour<=4 )) { return "04"; }
	
}

function getWTargetHour(currentHour)
{
	if ((currentHour>3 ) && (currentHour<= 9)) { return "09"; }
	if ((currentHour>9 ) && (currentHour<=15)) { return "15"; }
	if ((currentHour>15) && (currentHour<=21)) { return "21"; }
	if ((currentHour>21) && (currentHour<=23)) { return "21"; }
	if ((currentHour>=0) && (currentHour<=3 )) { return "03"; }
	
}

function getShortWeekDay(dayNumb)
{
	if (dayNumb=="1") { return "Âñ"; }
	if (dayNumb=="2") { return "Ïí"; }
	if (dayNumb=="3") { return "Âò"; }
	if (dayNumb=="4") { return "Ñð"; }
	if (dayNumb=="5") { return "×ò"; }
	if (dayNumb=="6") { return "Ïò"; }
	if (dayNumb=="7") { return "Ñá"; }
}

function getWindDirection(directionNumb)
{
	if (directionNumb=="0") { return "Ñåâ"; }
	if (directionNumb=="1") { return "Ñåâ-Âîñò"; }
	if (directionNumb=="2") { return "Âîñò"; }
	if (directionNumb=="3") { return "Þãî-Âîñò"; }
	if (directionNumb=="4") { return "Þæí"; }
	if (directionNumb=="5") { return "Þãî-Çàï"; }
	if (directionNumb=="6") { return "Çàï"; }
	if (directionNumb=="7") { return "Ñåâ-Çàï"; }
}

function showMercury(t_min, t_max)
{
	middleTemp = ((eval(t_min)+eval(t_max))/2);
	
	//middleTemp = -21;
	
	// Set Color
	setMercuryColor(middleTemp);

	// Set alpha
	setMercuryAlpha(middleTemp);
	
	// Set Width
	$("#termpoint").width(getRedpointWidth(middleTemp));
}

function setMercuryColor(t_middle)
{
	if (t_middle>0) {
		$("#termpoint").addClass('redpoint');
		$("#round").addClass('redround');
	} else {
		$("#termpoint").addClass('bluepoint');
		$("#round").addClass('blueround');
	}
}

function setMercuryAlpha(t_middle)
{
	objT = "#termpoint";
	objR = "#round";
	
	if ((t_middle>=-10) && (t_middle<=10)) {
		setObjectAlpha(objT, 0.5);
		setObjectAlpha(objR, 0.5);
		return;
	}
	if ((t_middle>=-20) && (t_middle<=20)) {
		setObjectAlpha(objT, 0.8);
		setObjectAlpha(objR, 0.8);
		return;
	}

	setObjectAlpha(objT, 1);
	setObjectAlpha(objR, 1);

}

function setObjectAlpha(obj, alpha)
{
	ieAlpha = alpha*100;
	// css3
	$(obj).css('opacity',alpha);
	//IE
	$(obj).css('filter','alpha(opacity='+ieAlpha+')');
}

function getRedpointWidth(in_temp)
{
	//t_z40 = 1;
	var t_zero = 49;
	//t_p40 = 97;
	
	if (in_temp == 0) { return t_zero; }
	var w_temp = (in_temp < 0 ) ? in_temp*(-1) : in_temp;
	var grad = Math.round((w_temp*t_zero)/40);
	return (in_temp < 0 ) ? (t_zero-grad) : (t_zero+grad);
}

