//JavaScript Document

//Created 3/11/2010

function forecast(county,relativeDate)
{
var checkLater = "Please Check After 4:30 PM";
var result;
switch (relativeDate) {
	case "today":
		switch (county) {
			case "San Joaquin": result = "39\nGood\n(PM2.5)"; break;
			case "Stanislaus": result = "42\nGood\n(PM2.5)"; break;
			case "Merced": result = "26\nGood\n(PM2.5)"; break;
			case "Madera": result = "23\nGood\n(PM2.5)"; break;
			case "Fresno": result = "52\nModerate\n(PM2.5)"; break;
			case "Kings": result = "36\nGood\n(PM2.5)"; break;
			case "Tulare": result = "19\nGood\n(PM2.5)"; break;
			case "Kern": result = "49\nGood\n(PM2.5)"; break;
		}
		break;
	case "tomorrow":
		switch (county) {
			case "San Joaquin": result = checkLater; break;
			case "Stanislaus": result = checkLater; break;
			case "Merced": result = checkLater; break;
			case "Madera": result = checkLater; break;
			case "Fresno": result = checkLater; break;
			case "Kings": result = checkLater; break;
			case "Tulare": result = checkLater; break;
			case "Kern": result = checkLater; break;
		}
		break;
}
return result;
}

function countyAqiLevel(county)
{
var result;
switch (county) {
	case "San Joaquin": result = "I"; break;
	case "Stanislaus": result = "I"; break;
	case "Merced": result = "I"; break;
	case "Madera": result = "I"; break;
	case "Fresno": result = "I"; break;
	case "Kings": result = "I"; break;
	case "Tulare": result = "I"; break;
	case "Kern": result = "I"; break;
}
return result;
}

function countyAqiQualitative(county, formatting)
{
var result;
switch (countyAqiLevel(county)) {
	case "I": result = "Good"; break;
	case "II": result = "Moderate"; break;
	case "III": result = "Unhealthy For Sensitive Groups"; break;
	case "IV": result = "Unhealthy"; break;
	case "V": result = "Very Unhealthy"; break;
	case "VI": result = "Hazardous"; break;
}
switch (formatting) {
	case "widget": result = AQIImage(result); break;
}
return result;
}

function AQIImage(inString)
{
var result;
result = "/images/widget-aqi-forecast-meter-";
result = result.concat(inString.toLowerCase(),".jpg");
result = result.replace(/ /g,"-");
return result;
}

function aqiQualitativeGivenAqiLevel(aqiLevel)
{
var result;
result = "";
switch (aqiLevel) {
	case "I":	result = "Good"; break;
	case "II":	result = "Moderate"; break;
	case "III":	result = "Unhealthy For Sensitive Groups"; break;
	case "IV":	result = "Unhealthy"; break;
	case "V":	result = "Very Unhealthy"; break;
	case "VI":	result = "Hazardous"; break;
}
return result;
}

function countyForecastAqiLevel(county, relativeDate)
{
var result;
result = "undefined";
switch (relativeDate) {
	case "today":	result = "unavailable";
		switch (county) {
			case "San Joaquin":	result = "I"; break;
			case "Stanislaus":	result = "I"; break;
			case "Merced":	result = "I"; break;
			case "Madera":	result = "I"; break;
			case "Fresno":	result = "II"; break;
			case "Kings":	result = "I"; break;
			case "Tulare":	result = "I"; break;
			case "Kern":	result = "I"; break;
		}
		break;
	case "tomorrow":	result = "unavailable";
		switch (county) {
			case "San Joaquin":	result = "unavailable"; break;
			case "Stanislaus":	result = "unavailable"; break;
			case "Merced":	result = "unavailable"; break;
			case "Madera":	result = "unavailable"; break;
			case "Fresno":	result = "unavailable"; break;
			case "Kings":	result = "unavailable"; break;
			case "Tulare":	result = "unavailable"; break;
			case "Kern":	result = "unavailable"; break;
		}
		break;
}
return result;
}

function countyForecastAqiImage(county, relativeDate, format)
{
var aqiLevel;
var aqiQualitative;
var result;
result = "undefined";
aqiLevel = countyForecastAqiLevel(county, relativeDate);
switch (format) {
	case "BJ20090722":
		switch (aqiLevel) {
			case "undefined":	result = "images/widget-aqi-forecast-meterv2-nodata.jpg"; break;
			case "unavailable":	switch (relativeDate) {
							case "today": result = "images/widget-aqi-forecast-meterv2-nodata.jpg"; break;
							case "tomorrow": result = "images/widget-aqi-forecast-meterv2-notready.jpg"; break;
						}
						break;
			case "I":
			case "II":
			case "III":
			case "IV":
			case "V":
			case "VI":	aqiQualitative = aqiQualitativeGivenAqiLevel(aqiLevel);
					aqiQualitative = aqiQualitative.toLowerCase();
					aqiQualitative = aqiQualitative.replace(/ /g,"-");
					result = "images/widget-aqi-forecast-meterv2-";
					switch (relativeDate) {
						case "tomorrow": result = result.concat("tomorrow-");
					}
					result = result.concat(aqiQualitative, ".jpg"); break;
			default: result = "images/widget-aqi-forecast-meterv2-nodata.jpg";
		}
		break;
	default: result = "undefined";
}
return result;
}

function majorCityInCounty(county)
{
var result;
switch (county) {
	case "San Joaquin": result = "Stockton"; break;
	case "Stanislaus": result = "Modesto"; break;
	case "Merced": result = "Merced"; break;
	case "Madera": result = "Madera"; break;
	case "Fresno": result = "Fresno"; break;
	case "Kings": result = "Hanford"; break;
	case "Tulare": result = "Visalia"; break;
	case "Kern": result = "Bakersfield"; break;
}
return result;
}

function weatherLink(county, href_imgsrc)
{
var result;
switch (href_imgsrc) {
	case "href": result = "http://www.wunderground.com/US/CA/";
		result = result.concat(majorCityInCounty(county),".html?bannertypeclick=infoboxtr");
		break;
	case "imgsrc": result = "http://weathersticker.wunderground.com/weathersticker/infoboxtr_both/language/www/US/CA/";
		result = result.concat(majorCityInCounty(county),".gif");
		break;
}
return result;
}

function actOnCountySelection(strVersion)
{
var county;
county = document.getElementById("lstSelectCounty").options[document.getElementById("lstSelectCounty").selectedIndex].text;
county = county.substring(0,county.indexOf(" County"));

switch (strVersion) {
	case "BJ20090722": document.getElementById("TodaysForecastMeterImage").src = countyForecastAqiImage(county, "today", "BJ20090722");
		document.getElementById("TomorrowsForecastMeterImage").src = countyForecastAqiImage(county, "tomorrow", "BJ20090722");
		break;
	default: document.getElementById("AQIMeterImage").src = countyAqiQualitative(county, "widget");
		document.getElementById("txtForecastToday").value = forecast(county, "today");
		document.getElementById("txtForecastTomorrow").value = forecast(county, "tomorrow");
}
if (document.getElementById("strWeatherLink")) {
document.getElementById("strWeatherLink").href = weatherLink(county,"href");
}
if (document.getElementById("WeatherForecastImage")) {
document.getElementById("WeatherForecastImage").src = weatherLink(county,"imgsrc");
}
}
