var execFlag = 0;
var Month=['January','February','March','April','May','June','July','August','September','October','November','December'];
var Weekday=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var divClock = "local_clock";
var getWxFreq = 1800;
var getWxCnt = 0;
var divWxAjax = "weather_container";
var WxAjaxPath = "ajax/weather_summary.html";
var divSky1Bkg = "weather_news_bkg";
var divSky1Ovl = "weather_news_ovl";
var divSky2Bkg = "weather_summary_bkg";
var divSky2Ovl = "weather_summary_ovl";
var txtSummary = "weather_summary_text";
var txtUpdate = "weather_update";
var sunOv = "weather_overlay_sun";
var moonOv = "weather_overlay_moon";
var bkgNite1 = "url(images/weather/news_column_nite.gif)";
var bkgSunrise1 = "url(images/weather/news_column_sunrise.gif)";
var bkgDay1 = "url(images/weather/news_column_day.gif)";
var bkgSunset1 = "url(images/weather/news_column_sunset.gif)";
var bkgNite2 = "url(images/weather/weather_bkgd_nite.jpg)";
var bkgSunrise2 = "url(images/weather/weather_bkgd_sunrise.jpg)";
var bkgDay2 = "url(images/weather/weather_bkgd_day.jpg)";
var bkgSunset2 = "url(images/weather/weather_bkgd_sunset.jpg)";
var twilAM = 0;
var divFerry = "ferry_container";
var loadWarn = 900;
var cutOff = 300;
var nID = "";
var gID = "";
var nIDReset = "";
var gIDReset = "";
var GRN = '#e2ffd1';
var YEL = '#fffdb9';
var RED = '#f09393';
var GRY = '#8a8a8a';
var OUT = '#dddddd';
var DFT = '#333333';
var ltReset = '#dfe3ed';
var dkReset = '#cfd3dd';
var nRESET = ""; 
var gRESET = ""; 
var nCLR = GRN;
var gCLR = GRN;
var nTXT = DFT;
var gTXT = DFT;
var Nanaimo = ["0:00","5:55","7:00","8:15","9:30","10:40","12:00","13:15","14:30","15:45","17:00","18:10","19:20","20:20","21:25","22:25","23:30"];
var Gabriola = ["0:00","5:25","6:30","7:40","8:50","10:05","11:20","12:35","13:50","15:10","16:25","17:35","18:45","19:50","20:50","21:55","23:00"];
var date = new Date();
var day = date.getDate();
var month = date.getMonth(); month++;
var year = date.getFullYear();
var now = date.getTime();
var GARBAGE = ["12/27/11","1/11/12","1/25/12","2/8/12","2/22/12","3/7/12","3/21/12","4/4/12","4/19/12","5/3/12","5/17/12","6/1/12","6/15/12","6/29/12","7/16/12","7/30/12","8/14/12","8/28/12","9/12/12","9/26/12","10/11/12","10/25/12","11/8/12","11/23/12","12/7/12","12/21/12","1/9/13","1/23/13","2/6/13","2/21/13","3/7/13","3/21/13","4/5/13","4/19/13","5/3/13","5/17/13","6/3/13","6/17/13","7/2/13","7/16/13","7/30/13","8/14/13","8/28/13","9/12/13","9/26/13","10/10/13","10/25/13","11/8/13","11/25/13","12/9/13","12/23/13"];
var RECYCLE = ["1/4/12","1/18/12","2/1/12","2/15/12","2/29/12","3/14/12","3/28/12","4/12/12","4/26/12","5/10/12","5/25/12","6/8/12","6/22/12","7/9/12","7/23/12","8/7/12","8/21/12","9/5/12","9/19/12","10/3/12","10/18/12","11/1/12","11/16/12","11/30/12","12/14/12","1/2/13","1/16/13","1/30/13","2/13/13","2/28/13","3/14/13","3/28/13","4/12/13","4/26/13","5/10/13","5/27/13","6/10/13","6/24/13","7/9/13","7/23/13","8/7/13","8/21/13","9/5/13","9/19/13","10/3/13","10/18/13","11/1/13","11/18/13","12/2/13","12/16/13"];
var puTxtGAR = "";
var puTxtRCY = "";
var puAlertGAR = "";
var puAlertRCY = "";
var puSecGAR = 0;
var puSecRCY = 0;
var puCOLGAR = "#eff3fd";
var puCOLRCY = "#eff3fd";
GARBAGE.each(function(val, i) {
	var el = GARBAGE[i].split("/");
	var dateSTR = Month[el[0]-1]+" "+el[1]+", "+(parseInt(el[2])+2000);
	var sec = Date.parse(dateSTR)+(86399*1000);
	if(now <= sec && !puSecGAR) {
		var day = new Date(sec);
		puTxtGAR = "<strong>"+Weekday[day.getDay()]+"</strong><br />"+dateSTR;  
		puSecGAR = sec;
	}
});
RECYCLE.each(function(val, i) {
	var el = RECYCLE[i].split("/");
	var dateSTR = Month[el[0]-1]+" "+el[1]+", "+(parseInt(el[2])+2000);
	var sec = Date.parse(dateSTR)+(86399*1000);
	if(now <= sec && !puSecRCY) {
		var day = new Date(sec);
		puTxtRCY = "<strong>"+Weekday[day.getDay()]+"</strong><br />"+dateSTR; 
		puSecRCY = sec;
	}
});
function garbage() {
	var gb_show = Cookie.read("garbage_sched");
	if(!gb_show) { gb_show = "both"; }
	if(gb_show == "both" || gb_show == "rteGAR") {
		var gb_dur = (puSecGAR - now)/1000/86400;
		if(gb_dur <= 1 && gb_dur > 0.33) { 
			puAlertGAR = "Garbage Day is<br /><strong>TODAY!</strong>";
			puCOLGAR = RED;
		}
		else if(parseInt(gb_dur) == 0) { 
			puAlertGAR = "Garbage Day was<br /><strong>Today</strong>";
			puCOLGAR = RED;
		}
		else if(parseInt(gb_dur) == 1) { 
			puAlertGAR = "Garbage Day is<br /><strong>Tomorrow</strong>";
			puCOLGAR = YEL;
		}
		else if(gb_dur <= 3.5) {
			puAlertGAR = "Garbage Collection in<br /><strong>"+parseInt(gb_dur)+" days</strong>";
			puCOLGAR = GRN;
		}
		else {
			puAlertGAR = "Garbage Collection in<br /><strong>"+parseInt(gb_dur)+" days</strong>";
		}
	$('rteGAR').set('html', puTxtGAR);
	$('rteGARalert').set('html', puAlertGAR);
	$('rteGARalert').setStyle('background-color', puCOLGAR);
	}
	if(gb_show == "both" || gb_show == "rteRCY") {
		var gb_dur = (puSecRCY - now)/1000/86400;
		if(gb_dur <= 1 && gb_dur > 0.33) {  
			puAlertRCY = "Recycling Day is<br /><strong>TODAY!</strong>";
			puCOLRCY = RED;
		}
		else if(parseInt(gb_dur) == 0) { 
			puAlertRCY = "Recycling Day was<br /><strong>Today</strong>";
			puCOLRCY = RED;
		}
		else if(parseInt(gb_dur) == 1) { 
			puAlertRCY = "Recycling Day is<br /><strong>Tomorrow</strong>";
			puCOLRCY = YEL;
		}
		else if(gb_dur <= 3.5) {
			puAlertRCY = "Recycling Collection in<br /><strong>"+parseInt(gb_dur)+" days</strong>";
			puCOLRCY = GRN;
		}
		else {
			puAlertRCY = "Recycling Collection in<br /><strong>"+parseInt(gb_dur)+" days</strong>";
		}
	$('rteRCY').set('html', puTxtRCY);
	$('rteRCYalert').set('html', puAlertRCY);
	$('rteRCYalert').setStyle('background-color', puCOLRCY);
	}
}
function gb_schedule(val) {
	var dWidth = "50%";
	if(Browser.Engine.trident4) { dWidth = "49%"; }
	var sWidth = "200px";
	Cookie.write("garbage_sched", val, {duration: 30});
	if(val == "both") {
		$('rteGAR_ctr').setStyles({
			display: 'block',
			width: dWidth,
			float: 'left'
		 });
		$('rteRCY_ctr').setStyles({
			display: 'block',
			width: dWidth,
			float: 'left'
		 });
	}
	else if(val == "rteGAR") {
		$('rteGAR_ctr').setStyles({
			display: 'block',
			width: sWidth,
			float: 'none'
		});
		$('rteRCY_ctr').setStyle('display', 'none');
	}
	else {
		$('rteRCY_ctr').setStyles({
			display: 'block',
			width: sWidth,
			float: 'none'
		});
		$('rteGAR_ctr').setStyle('display', 'none');
	}
	garbage();
}
function gabClock(delta) { 
    var sDate = new Date(new Date().getTime()-delta);
	var Mo = sDate.getMonth();
    var Dy = sDate.getDate();
    var Wd = sDate.getDay();
	var Yr = sDate.getFullYear(); 
	var HrMil = sDate.getHours();
	var Hr = HrMil;
	var AmPm = "am";
	if(Hr >= 12) { AmPm = "pm"; }
	if(Hr > 12) { Hr = Hr-12; }
	if(Hr == 0) { Hr = 12; }
    var Mn = sDate.getMinutes();
	var Min = Mn; if(Mn < 10) Min='0'+Min;
    var Sc = sDate.getSeconds();
	var Sec = Sc; if(Sc < 10) Sec='0'+Sec;
	var TS = (HrMil*60*60)+(Mn*60)+(Sc*1);
    if( $chk($(divClock)) ) {
		$(divClock).set('html', '<strong>Gabriola Island Time: </strong>'+Weekday[Wd]+', '+Month[Mo]+' '+Dy+', '+Yr+'&#160;&#160;'+Hr+':'+Min+' '+AmPm);
	}
	if(!getWxCnt) {
		$(divWxAjax).load(WxAjaxPath+'?t='+sDate);
	}
	getWxCnt++;
	if(getWxCnt >= getWxFreq) { getWxCnt = 0; }
    if(twilAM > 0 && !Browser.Engine.trident4) { weatherClock(TS); }
    if( $chk($(divFerry)) ) {
		if(!execFlag) {	divSwap(Cookie.read("ferry_order")); }
		ferryClock(TS,Wd); 
	}
	setTimeout('gabClock(' + delta + ');', 1000);
	execFlag = 1;
}
function tSec(T) {
	var Time = T;
	var hm = Time.split(":");
	return (hm[0]*3600)+(hm[1]*60);
}
function weatherClock(TS) {
	if(TS > twilPM || TS < twilAM) {
		var opBk = 1;
		var bk1 = bkgNite1; var bk2 = bkgNite2;
 		var opOv = 0;
		var ov1 = bkgNite1; var ov2 = bkgNite2;
		var opSun = 0; var opSunIE = 0;
		var opMoon = 1; var opMoonIE = 1;
		var txSumCol = "#ccc";
		var txUpdCol = "#aaa";
		divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol);
		return;
	}
	if(TS >= twilAM && TS < sunRise) {
		var lapsed = TS - twilAM;
		var duration = sunRise - twilAM;
		var opBk = 1.5 - (lapsed/duration);
		var bk1 = bkgNite1; var bk2 = bkgNite2;
		var opOv = lapsed/duration;
		var ov1 = bkgSunrise1; var ov2 = bkgSunrise2;
		var opSun = 0; var opSunIE = 0;
		var opMoon = 1 - ((lapsed/duration)*2); var opMoonIE = 1;
		var txSumCol = "#ccc";
		var txUpdCol = "#aaa";
		if(opOv > .25) { txSumCol = "#d1d1d1"; txUpdCol = "#a8a8a8"; }
		if(opOv > .3) { txSumCol = "#d6d6d6"; txUpdCol = "#bbbbbb"; }
		if(opOv > .35) { txSumCol = "#dbdbdb"; txUpdCol = "#b8b8b8"; }
		if(opOv > .4) { txSumCol = "#e0e0e0"; txUpdCol = "#cccccc"; }
		if(opOv > .45) { txSumCol = "#e5e5e5"; txUpdCol = "#c8c8c8"; }
		if(opOv > .5) { txSumCol = "#eaeaea"; txUpdCol = "#dddddd"; }
		if(opOv > .55) { txSumCol = "#efefef"; txUpdCol = "#d8d8d8"; }
		if(opOv > .6) { txSumCol = "#f4f4f4"; txUpdCol = "#eeeeee"; }
		if(opOv > .65) { txSumCol = "#f9f9f9"; txUpdCol = "#e8e8e8"; }
		if(opOv > .7) { txSumCol = "#fefefe"; txUpdCol = "#ffffff"; }
		divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol);
		return;
	}
	if(TS >= sunRise && TS < sunRise + sunDur) {
		var lapsed = TS - sunRise;
		var duration = sunDur;
		var opBk = 1.3 - (lapsed/duration);
		var bk1 = bkgSunrise1; var bk2 = bkgSunrise2;
		var opOv = lapsed/duration;
		var ov1 = bkgDay1; var ov2 = bkgDay2;
		var opSun = (lapsed/duration)*1.5; var opSunIE = 1;
		var opMoon =0; var opMoonIE = 0;
		var txSumCol = "#fff";
		var txUpdCol = "#777";
		divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol);
		return;
	}
	if(TS > sunRise + sunDur && TS < sunSet - sunDur) {
		var opBk = 1;
		var bk1 = bkgDay1; var bk2 = bkgDay2;
		var opOv = 0;
		var ov1 = bkgDay1; var ov2 = bkgDay2;
		var opSun = 1;  var opSunIE = 1;
		var opMoon =0; var opMoonIE = 0;
		var txSumCol = "#fff";
		var txUpdCol = "#777";
		divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol);
		return;
	}
	if(TS >= sunSet - sunDur && TS < sunSet) {
		var lapsed = sunSet - TS;
		var duration = sunDur;
		var opBk = 1 + (lapsed/duration);
		var bk1 = bkgSunset1; var bk2 = bkgSunset2;
		var opOv = lapsed/duration;
		var ov1 = bkgDay1; var ov2 = bkgDay2;
		var opSun = (lapsed/duration) + .3; var opSunIE = 1;
		var opMoon = 0; var opMoonIE = 0;
		var txSumCol = "#fff";
		var txUpdCol = "#777";
		divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol);
		return;
	}
	if(TS >= sunSet && TS < twilPM) {
		var lapsed = twilPM - TS;
		var duration = twilPM - sunSet;
		var opBk = 1 - (lapsed/duration);
		var bk1 = bkgNite1; var bk2 = bkgNite2;
		var opOv = lapsed/duration;
		var ov1 = bkgSunset1; var ov2 = bkgSunset2;
		if(opOv >= .7) { var opSun = ((lapsed/duration) - .7); var opSunIE = 1; var opMoon = 0; var opMoonIE = 0; }
		if(opOv > .69 && opOv < .7) { var opSun = 0; var opSunIE = 0; var opMoon = 0; var opMoonIE = 0; }
		if(opOv <= .69) { var opMoon = (.69 - (lapsed/duration)) * 1.5; var opMoonIE = 1; var opSun = 0; var opSunIE = 0; }
		var txCol = "#777";
		if(opOv < .7) { txSumCol = "#fff"; txUpdCol = "#ffffff"; }
		if(opOv < .56) { txSumCol = "#fff"; txUpdCol = "#eeeeee"; }
		if(opOv < .35) { txSumCol = "#fff"; txUpdCol = "#dddddd"; }
		if(opOv < .21) { txSumCol = "#fff"; txUpdCol = "#cccccc"; }
		if(opOv < .14) { txSumCol = "#fff"; txUpdCol = "#bbbbbb"; }
		divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol);
		return;
	}
}
function divChange(opBk,bk1,bk2,opOv,ov1,ov2,opSun,opSunIE,opMoon,opMoonIE,txSumCol,txUpdCol) {
	$(divSky1Bkg).setStyle('background-image', bk1);
	$(divSky2Bkg).setStyle('background-image', bk2);
	$(divSky1Bkg).setStyle('opacity', opBk);
	$(divSky2Bkg).setStyle('opacity', opBk);
	$(divSky1Ovl).setStyle('background-image', ov1);
	$(divSky2Ovl).setStyle('background-image', ov2);
	$(divSky1Ovl).setStyle('opacity', opOv);
	$(divSky2Ovl).setStyle('opacity', opOv);
	if(Browser.Engine.trident) {
		$(sunOv).setStyle('opacity', opSunIE);
		$(moonOv).setStyle('opacity', opMoonIE);
	} else {
		$(sunOv).setStyle('opacity', opSun);
		$(moonOv).setStyle('opacity', opMoon);
	}
	$(txtSummary).setStyle('color', txSumCol);
	$(txtUpdate).setStyle('color', txUpdCol);
}
function ferryClock(TS,Wd) {
	for(i=1; i<Nanaimo.length; i++) {
		var nPrv = tSec(Nanaimo[i-1]);
		var nNow = tSec(Nanaimo[i]);
		var gPrv = tSec(Gabriola[i-1]);
		var gNow = tSec(Gabriola[i]);
		if(TS > nPrv && TS <= nNow) {
			nID = 'n' + i;
			if(i>1) { nIDReset = 'n' + (i-1); }
			else { nIDReset = ""; }
			nRESET = dkReset;
			if(parseInt(i/2) == i/2) { nRESET = ltReset; }
			if(Wd == 3 && (i == 5 || i == 14)) { nCLR = GRY; nTXT = OUT; }
			else if(TS > nNow - loadWarn && TS <= nNow - cutOff) {nCLR = YEL; }
			else if(TS > nNow - cutOff && TS <= nNow) { nCLR = RED; }
			else { nCLR = GRN; }
		}
		if(TS > Nanaimo[Nanaimo.length+1]) {
			var i = Nanaimo.length+1;
			nID = 'n' + i;
			nTXT = DFT;
			nCLR = dkReset;
			if(parseInt(i/2) == i/2) { nCLR = ltReset; }
		}
		if(TS > gPrv && TS <= gNow) {
			gID = 'g' + i;
			if(i>1) { gIDReset = 'g' + (i-1); }
			else { gIDReset = ""; }
			gRESET = dkReset;
			if(parseInt(i/2) == i/2) { gRESET = ltReset; }
			if(TS > gNow - loadWarn && TS <= gNow - cutOff) { gCLR = YEL; }
			else if(TS > gNow - cutOff && TS <= gNow) { gCLR = RED; }
			else if(Wd == 3 && (i == 10 || i == 15)) { gCLR = GRY; gTXT = OUT; }
			else { gCLR = GRN; }
		}
		if(TS > Gabriola[Gabriola.length+1]) {
			var i = Gabriola.length+1;
			gID = 'n' + i;
			gTXT = DFT;
			gCLR = dkReset;
			if(parseInt(i/2) == i/2) { gCLR = ltReset; }
		}
	}
	if(nIDReset) {
		$(nIDReset).setStyles({
			'background-color': nRESET,
			'color': DFT,
			'font-weight': 'normal'
		 });
	}
	if(gIDReset) {
		$(gIDReset).setStyles({
			'background-color': gRESET,
			'color': DFT,
			'font-weight': 'normal'
		 });
	}
	if(nID) {
		$(nID).setStyles({
			'background-color': nCLR,
			'color': nTXT,
			'font-weight': 'bold'
		 });
	}
	if(gID) {
		$(gID).setStyles({
			'background-color': gCLR,
			'color': gTXT,
			'font-weight': 'bold'
		 });
	}
}
