/*
// The KEAL Show multi-monthly event schedule ticker JavaScript
// Created by T.R.Keal January 11th 2010
// Released under the Gnu Public License 2.0
//
// http://thekealshow.com/
//
// Please review the Gnu Public License, Thank you. 
// The GPL can be located online at http://www.gnu.org/copyleft/gpl.html
*/
var event=
[
	[
		-25200000,
		'Every 1st Sunday<br>"Supervillain Sunday"',
		'<a href="http://rev-radio.com/">Revolutions Radio</a>',
		1,
		0,
		79200000,
		14400000		
	],
	[
		-25200000,
		'Every 2nd Sunday<br>"Supervillain Sunday"',
		'<a href="http://rev-radio.com/">Revolutions Radio</a>',
		2,
		0,
		79200000,
		14400000		
	],
	[
		-25200000,
		'Every 3rd Sunday<br>"Supervillain Sunday"',
		'<a href="http://rev-radio.com/">Revolutions Radio</a>',
		3,
		0,
		79200000,
		14400000		
	],
	[
		-25200000,
		'Every 4th Sunday<br>"Supervillain Sunday"',
		'<a href="http://rev-radio.com/">Revolutions Radio</a>',
		4,
		0,
		79200000,
		14400000		
	],
	[
		-25200000,
		'Every 5th Sunday<br>"Supervillain Sunday"',
		'<a href="http://rev-radio.com/">Revolutions Radio</a>',
		5,
		0,
		79200000,
		14400000		
	],
	[
		-25200000,
		'Every 2nd Thursday @ 7pm<br>"<a href="http://heatsynclabs.org/">HeatSyncLabs</a>" Hackerspace Meet-Up',
		'<a href="http://gangplankhq.com/">Gangplank</a>',
		2,
		4,
		68400000,
		18000000		
	],
	[
		-25200000,
		'Every 4th Thursday @ 7pm<br>"<a href="http://heatsynclabs.org/">HeatSyncLabs</a>" Hackerspace Meet-Up',
		'<a href="http://gangplankhq.com/">Gangplank</a>',
		4,
		4,
		68400000,
		18000000		
	],
	[
		-25200000,
		'Every 1st Friday @ 6pm<br>"<a href="http://phx2600.org/">Phoenix 2600</a>" Hacker&#39;s Quarterly Meet-Up',
		'<a href="http://www.unlimitedcoffee.com/">Unlimited Coffee</a>',
		1,
		5,
		64800000,
		21600000
	]
];
function getUTCWeek(UTC)
{
	var tmp=new Date(UTC);
	var tmp2=new Date(UTC-((tmp.getUTCDate()-1)*86400000));
	if(tmp.getUTCDay()<tmp2.getUTCDay())
	{
		return Math.floor((tmp.getUTCDate()-1)/7)+1;
	}
	else
	{
		return Math.floor((tmp.getUTCDate()-1)/7);
	}
}
function renderticker(spanUTC,skew,unit)
{
	var tmp=Math.floor(spanUTC/skew)%unit;
	switch(tmp)
	{
	case 0:
		return '<tr style="none;"><td style="none;"><table style="none;" width=100%><tbody style="none;"><tr style="none;"><td style="background: #000000;" height="4"></td></body></table></td></tr>';
		break;
	default:
		return '<tr style="none;"><td style="none;"><table style="none;" width=100%><tbody style="none;"><tr style="none;"><td style="background: #FFFFFF;" width="'+(100*tmp/unit)+'%" height="4"></td><td style="background: #000000;"></td></body></table></td></tr>';
	}
}
function spanticker(spanUTC)
{
	var ret='';
	ret=ret+renderticker(spanUTC,1382400000,12);
	ret=ret+renderticker(spanUTC,345600000,4);
	ret=ret+renderticker(spanUTC,86400000,7);
	ret=ret+renderticker(spanUTC,600000,24);
	ret=ret+renderticker(spanUTC,60000,60);
	ret=ret+renderticker(spanUTC,1000,60);
	ret='<table style="none;" cellspacing="0" cellpadding="0" border="0" width="256"><tbody style="none;">'+ret+'</tbody></table>';
	return ret;
}
function ticker(i)
{
	var date=new Date();
	var now=date.getTime();
	now+=event[i][0];
	var start=(now-(now%86400000)-32*6400000)+event[i][5];
	for(var start2=new Date(start);start2.getUTCDay()!=event[i][4];start2=new Date(start)) start-=86400000;
	var end=start+event[i][6];
	while((getUTCWeek(start)!=event[i][3])||((now>end))){start+=7*86400000;end+=7*86400000;}
	var span=Math.abs(start-now);
	if((now>=start)&&(now<=end))
	{
		return '<font color="#ffffff">In Progress:</font><br>'+event[i][1]+'<br>@ '+event[i][2]+'<br>'+spanticker(span);
	}
	else if(now<start)
	{
		return '<font color="#ffffff">Upcoming:</font><br>'+event[i][1]+'<br>@ '+event[i][2]+'<br>'+spanticker(span);
	}
	else
	{
		return 'This event progress ticker has failed. (Unknown scripting error)';
	}
}
function dispticker()
{
	var ret='';
	for(var i=0;i<event.length;i++)
	{
		ret=ret+'<tr style="none;"><td style="none;" align="center" valign="top"><b>'+ticker(i)+'</b></td></tr><tr style="none;"><td style="none;" align="center" valign="top">&nbsp;</td></tr>';
	}
	document.getElementById('ticker').innerHTML='<table style="none;" cellspacing="0" cellpadding="0" border="0"><tbody style="none;">'+ret+'</tbody></table>';
	setTimeout('dispticker()',990);
}
dispticker();