
var marketUpdateStatus, cnnUpdateStatus, examinerUpdateStatus, cbs5UpdateStatus, sfBizUpdateStatus, 
sfgateUpdateStatus, googleusUpdateStatus, googlesciUpdateStatus, nprUpdateStatus, maxpcUpdateStatus, 
diggUpdateStatus, slashdotUpdateStatus, newsdotcomUpdateStatus, wiredUpdateStatus, ktvuUpdateStatus;

marketUpdateStatus = cnnUpdateStatus = examinerUpdateStatus = cbs5UpdateStatus = sfBizUpdateStatus = 
sfgateUpdateStatus = googleusUpdateStatus = googlesciUpdateStatus = nprUpdateStatus = maxpcUpdateStatus = 
diggUpdateStatus = slashdotUpdateStatus = newsdotcomUpdateStatus = wiredUpdateStatus = ktvuUpdateStatus = false;

function toggleUpdateStatus(state)
{
	var update = $('updateNotification');
	if( (state == "off") && (!marketUpdateStatus) && (!cnnUpdateStatus) && (!examinerUpdateStatus) && (!cbs5UpdateStatus) && (!sfBizUpdateStatus) &&
		(!sfgateUpdateStatus) && (!googleusUpdateStatus) && (!googlesciUpdateStatus) && (!nprUpdateStatus) && (!maxpcUpdateStatus) &&
		(!diggUpdateStatus) && (!slashdotUpdateStatus) && (!newsdotcomUpdateStatus) && (!wiredUpdateStatus) && (!ktvuUpdateStatus)  )
	{
		update.style.display='none';
		if(getQueryVariable('debug')){
			setTall_debug('nprContent','pcWorldContent');
			setTall_debug('diggContent','slashDotContent');
			setTall_debug('wiredContent','newsDotComContent');
			setTall_debug('examinerHeads', 'sfGateHeads');
			setTall_debug('cbsHeads', 'sfBizHeads');
			setTall_debug('contentContent','sideBarContent');		
		}
		else{	
			setTall('nprContent','pcWorldContent');
			setTall('diggContent','slashDotContent');
			setTall('wiredContent','newsDotComContent');
			setTall('examinerHeads', 'sfGateHeads');
			setTall('cbsHeads', 'sfBizHeads');
			setTall('contentContent','sideBarContent');
		}
	}
	else if( state == "on" )
		update.style.display='block';
		
		
}

window.addEvent('domready', function(){
	var marketUrl = '/scripts/market_ajax.cfm';
	var cnnUrl = '/scripts/cnn_ajax.cfm';
	var examinerUrl = '/scripts/sfexaminer_ajax.cfm';
	var cbs5Url = '/scripts/cbs5_ajax.cfm';
	var sfbizUrl = '/scripts/sfbiztimes_ajax.cfm';
	var sfgateUrl = '/scripts/sfgate_ajax.cfm';
	var googleusUrl = '/scripts/googleus_ajax.cfm';
	var googlesciUrl = '/scripts/googlesci_ajax.cfm';
	var nprUrl = '/scripts/npr_ajax.cfm';
	var maxpcUrl = '/scripts/maxpc_ajax.cfm';
	var diggUrl = '/scripts/digg_ajax.cfm';
	var slashdotUrl = '/scripts/slashdot_ajax.cfm';
	var newsdotcomUrl = '/scripts/newsdotcom_ajax.cfm';
	var wiredUrl = '/scripts/wired_ajax.cfm';
	var ktvuUrl = '/scripts/ktvu_ajax.cfm';

	var marketTimer = 10;
	var rssTimer, examinerTimer, cbs5Timer, sfbizTimer, sfgateTimer, googleusTimer, googlesciTimer;
	rssTimer = examinerTimer = cbs5Timer = sfbizTimer = sfgateTimer = googleusTimer = googlesciTimer = 60;
	
	var marketPeriodical, marketDummy,
		cnnPeriodical, cnnDummy, 
		examinerPeriodical, examinerDummy,
		sfgatePeriodical, sfgateDummy,
		cbs5Periodical, cbs5Dummy,
		sfbizPeriodical, sfbizDummy,
		googleusPeriodical, googleusDummy,
		googlesciPeriodical, googlesciDummy,
		nprPeriodical, nprDummy,
		maxpcPeriodical, maxpcDummy,
		diggPeriodical, diggDummy,
		slashdotPeriodical, slashdotDummy,
		newsdotcomPeriodical, newsdotcomDummy,
		wiredPeriodical, wiredDummy,
		ktvuPeriodical, ktvuDummy; 

	var market = $('marketData');
	var cnn = $('cnnContent');
	var examiner = $('examinerData');
	var sfgate = $('sfgateData');
	var cbs5 = $('cbs5Data');
	var sfbiz = $('sfBizData');
	var googleus = $('googUSContent');
	var googlesci = $('googSciContent');
	var npr = $('nprContent');
	var maxpc = $('pcWorldContent');
	var digg = $('diggContent');
	var slashdot = $('slashDotContent');
	var newsdotcom = $('newsDotComContent');
	var wired = $('wiredContent');
	var ktvu = $('ktvuContent');

	var marketAjax = new Ajax(marketUrl, { 
		update: market,
		method: 'get',
		onComplete: function() {
			market.style.backgroundColor='#fff'; 
			marketUpdateStatus = false;
			toggleUpdateStatus("off");
		}
	});
	
	var examinerAjax = new Ajax(examinerUrl, { 
			update: examiner,
			method: 'get',
			onComplete: function() {
				$('examinerHeads').style.backgroundColor='#fff';
				examinerUpdateStatus = false;
				toggleUpdateStatus("off");
			}
	});
	
	var cbs5Ajax = new Ajax(cbs5Url, { 
				update: cbs5,
				method: 'get',
				onComplete: function() {
					$('cbsHeads').style.backgroundColor='#fff';
					cbs5UpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var sfbizAjax = new Ajax(sfbizUrl, { 
				update: sfbiz,
				method: 'get',
				onComplete: function() {
					$('sfBizHeads').style.backgroundColor='#fff';
					sfbizUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var sfgateAjax = new Ajax(sfgateUrl, { 
				update: sfgate,
				method: 'get',
				onComplete: function() {
					$('sfGateHeads').style.backgroundColor='#fff'; 
					sfgateUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var cnnAjax = new Ajax(cnnUrl, { 
				update: cnn,
				method: 'get',
				onComplete: function() {
					cnn.style.backgroundColor='#fafafa'; 
					cnnUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var googleusAjax = new Ajax(googleusUrl, { 
				update: googleus,
				method: 'get',
				onComplete: function() {
					googleus.style.backgroundColor='#fafafa'; 
					googleusUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var googlesciAjax = new Ajax(googlesciUrl, { 
				update: googlesci,
				method: 'get',
				onComplete: function() {
					googlesci.style.backgroundColor='#fafafa'; 
					googlesciUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var nprAjax = new Ajax(nprUrl, { 
				update: npr,
				method: 'get',
				onComplete: function() {
					npr.style.backgroundColor='#fff'; 
					nprUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var maxpcAjax = new Ajax(maxpcUrl, { 
				update: maxpc,
				method: 'get',
				onComplete: function() {
					maxpc.style.backgroundColor='#fff'; 
					maxpcUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var diggAjax = new Ajax(diggUrl, { 
				update: digg,
				method: 'get',
				onComplete: function() {
					digg.style.backgroundColor='#fff'; 
					diggUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var slashdotAjax = new Ajax(slashdotUrl, { 
				update: slashdot,
				method: 'get',
				onComplete: function() {
					slashdot.style.backgroundColor='#fff'; 
					slashdotUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var newsdotcomAjax = new Ajax(newsdotcomUrl, { 
				update: newsdotcom,
				method: 'get',
				onComplete: function() {
					newsdotcom.style.backgroundColor='#fff'; 
					newsdotcomUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var wiredAjax = new Ajax(wiredUrl, { 
				update: wired,
				method: 'get',
				onComplete: function() {
					wired.style.backgroundColor='#fff'; 
					wiredUpdateStatus = false;
					toggleUpdateStatus("off");
				}
	});
	
	var ktvuAjax = new Ajax(ktvuUrl, { 
					update: ktvu,
					method: 'get',
					onComplete: function() {
						ktvu.style.backgroundColor='#fafafa'; 
						ktvuUpdateStatus = false;
						toggleUpdateStatus("off");
					}
	});
	
	/* MARKET DATA */
	var marketRefresh = (function() {
		var currentDate = new Date();
		var day = currentDate.getDay();
		var hour = currentDate.getUTCHours();
		if( ( (day < 6) && (day > 0) ) && ( (hour > 13) && (hour < 20) ) ){	
			// dummy to prevent caching of cfm
			marketDummy = $time() + $random(0, 100);
			// add highlighted background to show content being updated
			market.style.backgroundColor='#ffa';
			marketUpdateStatus = true;
			toggleUpdateStatus("on");
			// requests of our cfm plus marketDummy as query
			marketAjax.request(marketDummy); 
		}
	}); 

	/* CNN DATA */
	var cnnRefresh = (function() {
		cnnDummy = $time() + $random(0, 100);
		cnn.style.backgroundColor='#ffa';
		cnnUpdateStatus = true;
		toggleUpdateStatus("on");
		cnnAjax.request(cnnDummy); 
	}); 
	
	/* EXAMINER NEWS DATA */
	var examinerRefresh = (function() {
		examinerDummy = $time() + $random(0, 100);
		$('examinerHeads').style.backgroundColor='#ffa';
		examinerUpdateStatus = true;
		toggleUpdateStatus("on");
		examinerAjax.request(examinerDummy); 
	}); 
	
	/* CBS 5 NEWS DATA */
		var cbs5Refresh = (function() {
			cbs5Dummy = $time() + $random(0, 100);
			$('cbsHeads').style.backgroundColor='#ffa';
			cbs5UpdateStatus = true;
			toggleUpdateStatus("on");
			cbs5Ajax.request(cbs5Dummy); 
	}); 
	
	/* SF BIZ TIMES NEWS DATA */
		var sfbizRefresh = (function() {
			sfbizDummy = $time() + $random(0, 100);
			$('sfBizHeads').style.backgroundColor='#ffa';
			sfbizUpdateStatus = true;
			toggleUpdateStatus("on");
			sfbizAjax.request(sfbizDummy); 
	}); 
	
	/* SF GATE DATA */
	var sfgateRefresh = (function() {
		sfgateDummy = $time() + $random(0, 100);
		$('sfGateHeads').style.backgroundColor='#ffa';
		sfgateUpdateStatus = true;
		toggleUpdateStatus("on");
		sfgateAjax.request(sfgateDummy); 
	}); 
	
	/* GOOGLE US DATA */
	var googleusRefresh = (function() {
		googleusDummy = $time() + $random(0, 100);
		googleus.style.backgroundColor='#ffa';
		googleusUpdateStatus = true;
		toggleUpdateStatus("on");
		googleusAjax.request(googleusDummy); 
	}); 
	
	/* GOOGLE SCI DATA */
	var googlesciRefresh = (function() {
		googlesciDummy = $time() + $random(0, 100);
		googlesci.style.backgroundColor='#ffa';
		googlesciUpdateStatus = true;
		toggleUpdateStatus("on");
		googlesciAjax.request(googlesciDummy); 
	}); 	

	/* NPR DATA */
	var nprRefresh = (function() {
		nprDummy = $time() + $random(0, 100);
		npr.style.backgroundColor='#ffa';
		nprUpdateStatus = true;
		toggleUpdateStatus("on");
		nprAjax.request(nprDummy); 
	}); 
	
	/* MAX PC DATA */
	var maxpcRefresh = (function() {
		maxpcDummy = $time() + $random(0, 100);
		maxpc.style.backgroundColor='#ffa';
		maxpcUpdateStatus = true;
		toggleUpdateStatus("on");
		maxpcAjax.request(maxpcDummy); 
	}); 
	
	/* DIGG DATA*/
	var diggRefresh = (function() {
		diggDummy = $time() + $random(0, 100);
		digg.style.backgroundColor='#ffa';
		diggUpdateStatus = true;
		toggleUpdateStatus("on");
		diggAjax.request(diggDummy); 
	});  
	
	/* SLASHDOT DATA */
	var slashdotRefresh = (function() {
		slashdotDummy = $time() + $random(0, 100);
		slashdot.style.backgroundColor='#ffa';
		slashdotUpdateStatus = true;
		toggleUpdateStatus("on");
		slashdotAjax.request(slashdotDummy); 
	}); 
	
	/* NEWSDOTCOM DATA */
	var newsdotcomRefresh = (function() {
		newsdotcomDummy = $time() + $random(0, 100);
		newsdotcom.style.backgroundColor='#ffa';
		newsdotcomUpdateStatus = true;
		toggleUpdateStatus("on");
		newsdotcomAjax.request(newsdotcomDummy); 
	}); 
	
	/* WIRED DATA */
	var wiredRefresh = (function() {
		wiredDummy = $time() + $random(0, 100);
		wired.style.backgroundColor='#ffa';
		wiredUpdateStatus = true;
		toggleUpdateStatus("on");
		wiredAjax.request(wiredDummy); 
	}); 
	
	/* KTVU DATA */
	var ktvuRefresh = (function() {
			ktvuDummy = $time() + $random(0, 100);
			ktvu.style.backgroundColor='#ffa';
			ktvuUpdateStatus = true;
			toggleUpdateStatus("on");
			ktvuAjax.request(ktvuDummy); 
	});
	
	// the periodical starts here, the * 1000 is because milliseconds required
	marketPeriodical = marketRefresh.periodical(marketTimer * 1000, this); 
 	cnnPeriodical = cnnRefresh.periodical(rssTimer * 1000, this);
 	examinerPeriodical = examinerRefresh.periodical(examinerTimer * 1000, this);
 	cbs5Periodical = cbs5Refresh.periodical(cbs5Timer * 1000, this);
 	sfbizPeriodical = sfbizRefresh.periodical(sfbizTimer * 1000, this);
 	sfgatePeriodical = sfgateRefresh.periodical(sfgateTimer * 1000, this);
 	googleusPeriodical = googleusRefresh.periodical(googleusTimer * 1000, this);
 	googlesciPeriodical = googlesciRefresh.periodical(googlesciTimer * 1000, this);
 	nprPeriodical = nprRefresh.periodical(rssTimer * 1000, this);
 	maxpcPeriodical = maxpcRefresh.periodical(rssTimer * 1000, this);
 	diggPeriodical = diggRefresh.periodical(rssTimer * 1000, this);
 	slashdotPeriodical = slashdotRefresh.periodical(rssTimer * 1000, this);
 	newsdotcomPeriodical = newsdotcomRefresh.periodical(rssTimer * 1000, this);
 	wiredPeriodical = wiredRefresh.periodical(rssTimer * 1000, this);
 	ktvuPeriodical = ktvuRefresh.periodical(rssTimer * 1000, this);
 
	/* this is the first request, later on will be the periodical and refresh. 
	If we dont do this way, we have to wait for Timer amount of seconds before the first request. */
	marketAjax.request($time()); 
	nprAjax.request($time());
	maxpcAjax.request($time());
	diggAjax.request($time());
	slashdotAjax.request($time());
	newsdotcomAjax.request($time());
	wiredAjax.request($time());
	ktvuAjax.request($time());
	examinerAjax.request($time());
	cbs5Ajax.request($time());
	sfbizAjax.request($time());
	sfgateAjax.request($time());
	cnnAjax.request($time());
	googleusAjax.request($time());
	googlesciAjax.request($time());
});