// functions and params to deal with feature presentation (Hall for Cornwall)
var featureOp = 1;
var featureFadeDir = 0;
var featureSemaphore = 0;

var isIE = navigator.appName.indexOf("Microsoft")!=-1;

function showFeature(ofs,sem)
{
	//sanity check
	if(sem && sem!=featureSemaphore) return;
	featureSemaphore++;
	featurePos+=ofs;
	if(featurePos<0) featurePos=featureArr.length-1;
	else if(featurePos>=featureArr.length) featurePos=0;
	// if IE, swutch image
	if( isIE )
	{
		showFeatureInt();
		return false;
	}

	// start fade-out if FF
	featureFadeDir = 0;
	featureOp = 10;
	setTimeout("fadeFeature();",50);
	return false;
}

function fadeFeature()
{
	var i=document.getElementById('presentationimg');
	// fade out
	if(!featureFadeDir)
	{
		featureOp--;
		if (featureOp>=1)
		{
			i.style.opacity=0.1*featureOp;
		} else {
			featureFadeDir=1;
			showFeatureInt();
		}
		setTimeout("fadeFeature();",50);
		return;
	}
	// fade in
	featureOp++;
	i.style.opacity=0.1*featureOp;
	if(featureOp<10)
		setTimeout("fadeFeature();",50);
}

function showFeatureInt()
{
	var h=document.getElementById('presentationtxt');
	if(h)h.innerHTML=featureArr[featurePos].heading;
	var i=document.getElementById('presentationimg');
	if(i)i.style.background='#000 url(' +featureArr[featurePos].img +') center center no-repeat';
	var l=document.getElementById('presentationlink');
	if(l)l.href='index.cfm?articleid=' +featureArr[featurePos].ind;
	l=document.getElementById('presentationimglink');
	if(l)l.href='index.cfm?articleid=' +featureArr[featurePos].ind;		
	setTimeout("showFeature(1,"+featureSemaphore+");",10000);
}

// function to repopulate a table of dates for a given month-year (Hall for Cornwall)
function updateCalendar(my_select,articleid,tableid)
{
	var today = new Date();
	var monthyear = my_select.selectedIndex;
	if(monthyear==-1) return;
	monthyear = my_select.options[monthyear].value;
	var month_part = (monthyear % 12);
	var year_part = (monthyear -month_part) / 12;
	var startDate = new Date(); startDate.setFullYear(year_part); startDate.setMonth(month_part); startDate.setDate(1);
	var skipBefore = startDate.getDay()-1;
	if( skipBefore ==-1 ) skipBefore = 6;
	var html = "";
	var dow = 0;
	var inMonth = true;
	while( inMonth || dow )
	{
		if(dow==0) html += "<tr>";
		var atag=' href="index.cfm?articleid=' +articleid +'&amp;date=' +monthyear +':' +startDate.getDate() +'" title="find shows on this day"';
		if(skipBefore>0)
		{
			skipBefore--;
			html+='<td class="rhs_altmonth"></td>';
		} else {
			if( startDate==today )
			{
				html+='<td class="rhs_caltoday"><a' +atag +'>' +startDate.getDate() +'</a></td>';
			} else if( startDate<today )
			{
				html+='<td class="rhs_calday">' +startDate.getDate() +'</td>';
			} else {
				html+='<td class="rhs_calday"><a' +atag +'>' +startDate.getDate() +'</a></td>';
			}
			startDate.setDate( startDate.getDate()+1 );
			if( inMonth && startDate.getMonth() != month_part)
			{
				inMonth = false;
				skipBefore=6;
			}
		}
		dow++;
		if(dow==7) { html += "</tr>"; dow=0; }
	}
	html = '<table class="calendar" border="0" cellpadding="0" cellspacing="3" summary="calendar"><tbody class="rhscal">'
		+'<tr class="rhs_calhead"><td>M</td><td>T</td><td>W</td><td>Th</td><td>F</td><td>Sa</td><td>Su</td></tr>' +html +'</tbody></table>';
	var cal=document.getElementById(tableid);
	cal.innerHTML = html;
}

// for the benefit of CYPP mouse-over effects
function switchClass(objid, newClass)
{
	var obj = document.getElementById( objid );
	if( !obj && !newClass ) return;
	obj.className = newClass;
}

// for the benefit of CYPP lhs navigation
function goto(url)
{
	// test for article id
	if( parseInt(url) )
		window.location = 'index.cfm?articleid='+url;
}
