/******************************************************************/
/****  common js function library  ********************************/
/******************************************************************/

/******************************************************************/
/*****  multiple window.onload events  ****************************/
/******************************************************************/
// allows for multiple window.onload events, so call flib script LAST, otherwise menu function wipes out sponsorlogo function, etc.  
// taken from peachpit vqs javascript & ajax, 6th ed. 

addOnload(preloadSponsorLogos);		// from sponsorlogos script below
addOnload(chooseLogo);		// from sponsorlogos script below
//addOnload(init3);
//addOnload(init4);

function addOnload(newFunction) {
	var oldOnload = window.onload;
	if (typeof oldOnload == "function") {
		window.onload = function() {
			if (oldOnload) {
				oldOnload();
			}
			newFunction();
		}
	}
	else {
		window.onload = newFunction;
	}
}


/******************************************************************/
/*****  open new window function  *********************************/
/******************************************************************/
var newWindow = null;
function openWindow(contentURL) {
	newWindow = window.open(contentURL);
	newWindow.focus();
}


/******************************************************************************/
/****  TOGGLE DISPLAY FOR MENU POPUP  *****************************************/
/******************************************************************************/
// adapted from javascript-array.com example
var dropMenu = null;
var delay = (3.5 * 1000); // delay
var closeMenuDelay = null;

function showMenu(theMenu) {
	delayedCloseMenuCancel(); // cancel closing of menu after delay
	closeMenu(); // close any open menu
	dropMenu = document.getElementById(theMenu);
	dropMenu.style.display = "block"; // show it
	delayedCloseMenu(); // close menu soon function
}

function closeMenu() {
	if (dropMenu) dropMenu.style.display = "none";
}

function delayedCloseMenu() {
	closeMenuDelay = window.setTimeout('closeMenu()', delay);
}

function delayedCloseMenuCancel() { // cancel close timer
	if(closeMenuDelay) {
		window.clearTimeout(closeMenuDelay);
		closeMenuDelay = null;
	}
}


/******************************************************************/
/****  go to top anchor if not  ***********************************/
/******************************************************************/
// not working yet
function goTop() {
	var theURL = window.location;
	var theChar = "";
	var isAnchor = false;
	for (var i=0; i<theURL; i++) {
		theChar = theURL[i];
		if (theChar == "#") {
			isAnchor = true;
		}
	}
	
	if (isAnchor == true) {
		theURL = theURL + "#top";
	}
	
	window.location = theURL;
}


/******************************************************************/
/****  Spry updateContent function used in archive section  *******/
/******************************************************************/
//  includes fade-out, fade-in
function updateContent(ele,url) {
	Spry.Effect.DoFade(ele,{ duration: 500, from: 100, to: 0, finish: function() {
		Spry.Utils.updateContent(ele, url, function() {
			Spry.Effect.DoFade(ele,{ duration: 500, from: 0, to: 100 });
			});
		}
	});
}


/******************************************************************/
/****  PRESSROOM STILLS SHOW LONGER CAPTION UNDER MORE LINK  ******/
/******************************************************************/
// not working
/*function updateCaption(ele,caption) {
	Spry.Utils.updateContent(ele, caption);
 }*/
 
 function updateCaption(thisCaption,caption_text) {
	 document.getElementById(thisCaption).innerHTML = caption_text;
 }


/******************************************************************/
/****  sponsor logo image preload script  *******************************/
/******************************************************************/
// code a la http://elouai.com/javascript-preload-images.php
function preloadSponsorLogos() {
if (document.images && document.getElementById('sponsorswap')) {
	var preload_image_object = new Image();
	var sponsorLogoUrls = new Array();

// 2011-7 event as of 4/22/2011 per jeremy email
	sponsorLogoUrls[0] = 'media/sponsorlogos-swap/McRoskey.gif';
	sponsorLogoUrls[1] = 'media/sponsorlogos-swap/National-Endowment-for-the-Arts.gif';
	sponsorLogoUrls[2] = 'media/sponsorlogos-swap/Grants-for-the-Arts.gif';
	sponsorLogoUrls[3] = 'media/sponsorlogos-swap/Barbro-Osher-Pro-Suecia-Foundation.gif';
	sponsorLogoUrls[4] = 'media/sponsorlogos-swap/Epic-Wines.gif';
	sponsorLogoUrls[5] = 'media/sponsorlogos-swap/Books-Inc.gif';
	sponsorLogoUrls[6] = 'media/sponsorlogos-swap/Poesia.gif';
	sponsorLogoUrls[7] = 'media/sponsorlogos-swap/San-Francisco-Arts-Commission.gif';
	sponsorLogoUrls[8] = 'media/sponsorlogos-swap/Film-Noir-Foundation.gif';
	sponsorLogoUrls[9] = 'media/sponsorlogos-swap/Video-Transfer-Center.gif';
	sponsorLogoUrls[10] = 'media/sponsorlogos-swap/Queen-Anne-Hotel.gif';
	sponsorLogoUrls[11] = 'media/sponsorlogos-swap/Haghefilm.gif';

	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Academy-of-Motion-Picture-Arts-and-Sciences.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Packard-Humanities-Institute.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Wells-Fargo.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Meet-the-Composer.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Consulate-General-of-Sweden-SF.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Consulate-General-of-France-SF.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Istituto-Italiano-di-Cultura.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Galleria-Park-Hotel.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Hotel-Drisco.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Joie-de-Vivre-Hotels.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/yelp.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Silent-Era.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/KQED.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Anchor-Steam.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/San-Francisco-Bay-Guardian.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/Kathryn-Kennedy-Winery.gif';
	//sponsorLogoUrls[] = 'media/sponsorlogos-swap/City-Car-Share.gif';

// 2010-7 event revamped 6/23
/*		sponsorLogoUrls[0] = 'media/sponsorlogos-swap/McRoskey.gif';
		sponsorLogoUrls[1] = 'media/sponsorlogos-swap/Academy-of-Motion-Picture-Arts-and-Sciences.gif';
		sponsorLogoUrls[2] = 'media/sponsorlogos-swap/San-Francisco-Arts-Commission.gif';
		sponsorLogoUrls[3] = 'media/sponsorlogos-swap/Barbro-Osher-Pro-Suecia-Foundation.gif';
		sponsorLogoUrls[4] = 'media/sponsorlogos-swap/National-Endowment-for-the-Arts.gif';
		sponsorLogoUrls[5] = 'media/sponsorlogos-swap/Grants-for-the-Arts.gif';
		sponsorLogoUrls[6] = 'media/sponsorlogos-swap/Packard-Humanities-Institute.gif';
		sponsorLogoUrls[7] = 'media/sponsorlogos-swap/Wells-Fargo.gif';
		sponsorLogoUrls[8] = 'media/sponsorlogos-swap/Meet-the-Composer.gif';
		sponsorLogoUrls[9] = 'media/sponsorlogos-swap/Consulate-General-of-Sweden-SF.gif';
		sponsorLogoUrls[10] = 'media/sponsorlogos-swap/Consulate-General-of-France-SF.gif';
		sponsorLogoUrls[11] = 'media/sponsorlogos-swap/Istituto-Italiano-di-Cultura.gif';
		sponsorLogoUrls[12] = 'media/sponsorlogos-swap/Poesia.gif';
		sponsorLogoUrls[13] = 'media/sponsorlogos-swap/Galleria-Park-Hotel.gif';
		sponsorLogoUrls[14] = 'media/sponsorlogos-swap/Queen-Anne-Hotel.gif';
		sponsorLogoUrls[15] = 'media/sponsorlogos-swap/Hotel-Drisco.gif';
		sponsorLogoUrls[16] = 'media/sponsorlogos-swap/Joie-de-Vivre-Hotels.gif';
		sponsorLogoUrls[17] = 'media/sponsorlogos-swap/Books-Inc.gif';
		sponsorLogoUrls[18] = 'media/sponsorlogos-swap/yelp.gif';
		sponsorLogoUrls[19] = 'media/sponsorlogos-swap/Film-Noir-Foundation.gif';
		sponsorLogoUrls[20] = 'media/sponsorlogos-swap/Silent-Era.gif';
		sponsorLogoUrls[21] = 'media/sponsorlogos-swap/KQED.gif';
		sponsorLogoUrls[22] = 'media/sponsorlogos-swap/Anchor-Steam.gif';
		sponsorLogoUrls[23] = 'media/sponsorlogos-swap/Epic-Wines.gif';
		sponsorLogoUrls[24] = 'media/sponsorlogos-swap/Video-Transfer-Center.gif';
		sponsorLogoUrls[25] = 'media/sponsorlogos-swap/San-Francisco-Bay-Guardian.gif';
		sponsorLogoUrls[26] = 'media/sponsorlogos-swap/Kathryn-Kennedy-Winery.gif';
		sponsorLogoUrls[27] = 'media/sponsorlogos-swap/City-Car-Share.gif';
*/

// 2010-7 event
		//sponsorLogoUrls[0] = 'media/sponsorlogos-swap/mcroskey.gif';
		//sponsorLogoUrls[1] = 'media/sponsorlogos-swap/wellsfargo.gif';
		//sponsorLogoUrls[2] = 'media/sponsorlogos-swap/istitutoitalianodicultura.gif';
		//sponsorLogoUrls[3] = 'media/sponsorlogos-swap/galleriaparkhotel.gif';
		//sponsorLogoUrls[4] = 'media/sponsorlogos-swap/queenannehotel.gif';
		//sponsorLogoUrls[5] = 'media/sponsorlogos-swap/poesia.gif';
		//sponsorLogoUrls[6] = 'media/sponsorlogos-swap/anchorbrewing.gif';
		//sponsorLogoUrls[7] = 'media/sponsorlogos-swap/epicwines.gif';
		//sponsorLogoUrls[8] = 'media/sponsorlogos-swap/kathrynkennedy.gif';
		//sponsorLogoUrls[9] = 'media/sponsorlogos-swap/republiquefrancaise.gif';
		//sponsorLogoUrls[10] = 'media/sponsorlogos-swap/yelp.gif';
		//sponsorLogoUrls[11] = 'media/sponsorlogos-swap/booksinc.gif';
		//sponsorLogoUrls[12] = 'media/sponsorlogos-swap/videotransfercenter.gif';
		//sponsorLogoUrls[13] = 'media/sponsorlogos-swap/citycarshare.gif';

		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/kdfc.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/highway12.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/bayguardian.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/miette.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/cafedivine.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/midi.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/vinodelsol.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/kqed.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/americaniahotel.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/carriageinn.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/goodhotel.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/joiedevivre.gif';

/*		// 2009-12 event
		sponsorLogoUrls[0] = 'media/sponsorlogos-swap/grantsforthearts.gif';
		sponsorLogoUrls[1] = 'media/sponsorlogos-swap/poesia.gif';
		sponsorLogoUrls[2] = 'media/sponsorlogos-swap/queenannehotel.gif';
		sponsorLogoUrls[3] = 'media/sponsorlogos-swap/kqed.gif';
		sponsorLogoUrls[4] = 'media/sponsorlogos-swap/yelp.gif';
		sponsorLogoUrls[5] = 'media/sponsorlogos-swap/mcroskey.gif';
		sponsorLogoUrls[6] = 'media/sponsorlogos-swap/bayguardian.gif';
		sponsorLogoUrls[7] = 'media/sponsorlogos-swap/republiquefrancaise.gif';
		sponsorLogoUrls[8] = 'media/sponsorlogos-swap/booksinc.gif';
		sponsorLogoUrls[9] = 'media/sponsorlogos-swap/anchorbrewing.gif';
		sponsorLogoUrls[10] = 'media/sponsorlogos-swap/videotransfercenter.gif';
		sponsorLogoUrls[11] = 'media/sponsorlogos-swap/citycarshare.gif';
*/
/* // 2009-7 event
		sponsorLogoUrls[0] = 'media/sponsorlogos-swap/wellsfargo.gif';
		sponsorLogoUrls[1] = 'media/sponsorlogos-swap/kqed.gif';
		sponsorLogoUrls[2] = 'media/sponsorlogos-swap/queenannehotel.gif';
		sponsorLogoUrls[3] = 'media/sponsorlogos-swap/yelp.gif';
		sponsorLogoUrls[4] = 'media/sponsorlogos-swap/poesia.gif';
		sponsorLogoUrls[5] = 'media/sponsorlogos-swap/kdfc.gif';
		sponsorLogoUrls[6] = 'media/sponsorlogos-swap/republiquefrancaise.gif';
		sponsorLogoUrls[7] = 'media/sponsorlogos-swap/anchorbrewing.gif';
		sponsorLogoUrls[8] = 'media/sponsorlogos-swap/epicwines.gif';
		sponsorLogoUrls[9] = 'media/sponsorlogos-swap/booksinc.gif';
		sponsorLogoUrls[10] = 'media/sponsorlogos-swap/videotransfercenter.gif';
		sponsorLogoUrls[11] = 'media/sponsorlogos-swap/highway12.gif';
		sponsorLogoUrls[12] = 'media/sponsorlogos-swap/bayguardian.gif';
		sponsorLogoUrls[13] = 'media/sponsorlogos-swap/miette.gif';
		sponsorLogoUrls[14] = 'media/sponsorlogos-swap/kathrynkennedy.gif';
		sponsorLogoUrls[15] = 'media/sponsorlogos-swap/cafedivine.gif';
		sponsorLogoUrls[16] = 'media/sponsorlogos-swap/midi.gif';
		sponsorLogoUrls[17] = 'media/sponsorlogos-swap/vinodelsol.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/galleriaparkhotel.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/americaniahotel.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/carriageinn.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/goodhotel.gif';
		//sponsorLogoUrls[] = 'media/sponsorlogos-swap/joiedevivre.gif';
*/

       var i=0;
       for(i=0; i<=sponsorLogoUrls.length; i++) 
         preload_image_object.src = sponsorLogoUrls[i];
    }
}

/******************************************************************/
/****  rotate sponsor logos function  *****************************/
/******************************************************************/
// code adapted from peachpit vqs javascript & ajax 4.20

// sponsor logo rotation
var thisLogoNumber = 0;
var sponsorLogos = new Array();
//2010-7 event
	sponsorLogos[0] = 'McRoskey.gif';
	sponsorLogos[1] = 'National-Endowment-for-the-Arts.gif';
	sponsorLogos[2] = 'Grants-for-the-Arts.gif';
	sponsorLogos[3] = 'Barbro-Osher-Pro-Suecia-Foundation.gif';
	sponsorLogos[4] = 'Epic-Wines.gif';
	sponsorLogos[5] = 'Books-Inc.gif';
	sponsorLogos[6] = 'Poesia.gif';
	sponsorLogos[7] = 'San-Francisco-Arts-Commission.gif';
	sponsorLogos[8] = 'Film-Noir-Foundation.gif';
	sponsorLogos[9] = 'Video-Transfer-Center.gif';
	sponsorLogos[10] = 'Queen-Anne-Hotel.gif';
	sponsorLogos[11] = 'Haghefilm.gif';

//2010-7 event
/*
sponsorLogos[0] = 'McRoskey.gif';
sponsorLogos[1] = 'Academy-of-Motion-Picture-Arts-and-Sciences.gif';
sponsorLogos[2] = 'San-Francisco-Arts-Commission.gif';
sponsorLogos[3] = 'Barbro-Osher-Pro-Suecia-Foundation.gif';
sponsorLogos[4] = 'National-Endowment-for-the-Arts.gif';
sponsorLogos[5] = 'Grants-for-the-Arts.gif';
sponsorLogos[6] = 'Packard-Humanities-Institute.gif';
sponsorLogos[7] = 'Wells-Fargo.gif';
sponsorLogos[8] = 'Meet-the-Composer.gif';
sponsorLogos[9] = 'Consulate-General-of-Sweden-SF.gif';
sponsorLogos[10] = 'Consulate-General-of-France-SF.gif';
sponsorLogos[11] = 'Istituto-Italiano-di-Cultura.gif';
sponsorLogos[12] = 'Poesia.gif';
sponsorLogos[13] = 'Galleria-Park-Hotel.gif';
sponsorLogos[14] = 'Queen-Anne-Hotel.gif';
sponsorLogos[15] = 'Hotel-Drisco.gif';
sponsorLogos[16] = 'Joie-de-Vivre-Hotels.gif';
sponsorLogos[17] = 'Books-Inc.gif';
sponsorLogos[18] = 'yelp.gif';
sponsorLogos[19] = 'Film-Noir-Foundation.gif';
sponsorLogos[20] = 'Silent-Era.gif';
sponsorLogos[21] = 'KQED.gif';
sponsorLogos[22] = 'Anchor-Steam.gif';
sponsorLogos[23] = 'Epic-Wines.gif';
sponsorLogos[24] = 'Video-Transfer-Center.gif';
sponsorLogos[25] = 'San-Francisco-Bay-Guardian.gif';
sponsorLogos[26] = 'Kathryn-Kennedy-Winery.gif';
sponsorLogos[27] = 'City-Car-Share.gif';
*/

//2010-7 event old
/*
sponsorLogos[0] = 'mcroskey.gif';
sponsorLogos[1] = 'wellsfargo.gif';
sponsorLogos[2] = 'istitutoitalianodicultura.gif';
sponsorLogos[3] = 'galleriaparkhotel.gif';
sponsorLogos[4] = 'queenannehotel.gif';
sponsorLogos[5] = 'poesia.gif';
sponsorLogos[6] = 'anchorbrewing.gif';
sponsorLogos[7] = 'epicwines.gif';
sponsorLogos[8] = 'kathrynkennedy.gif';
sponsorLogos[9] = 'republiquefrancaise.gif';
sponsorLogos[10] = 'yelp.gif';
sponsorLogos[11] = 'booksinc.gif';
sponsorLogos[12] = 'videotransfercenter.gif';
sponsorLogos[13] = 'citycarshare.gif';
*/
/* // 2009-7 event
sponsorLogos[0] = 'grantsforthearts.gif';
sponsorLogos[1] = 'poesia.gif';
sponsorLogos[2] = 'queenannehotel.gif';
sponsorLogos[3] = 'kqed.gif';
sponsorLogos[4] = 'yelp.gif';
sponsorLogos[5] = 'mcroskey.gif';
sponsorLogos[6] = 'bayguardian.gif';
sponsorLogos[7] = 'republiquefrancaise.gif';
sponsorLogos[8] = 'booksinc.gif';
sponsorLogos[9] = 'anchorbrewing.gif';
sponsorLogos[10] = 'videotransfercenter.gif';
sponsorLogos[11] = 'citycarshare.gif';
*/

/* // 2009-7 event
sponsorLogos[0] = 'wellsfargo.gif';
sponsorLogos[1] = 'kqed.gif';
sponsorLogos[2] = 'queenannehotel.gif';
sponsorLogos[3] = 'yelp.gif';
sponsorLogos[4] = 'poesia.gif';
sponsorLogos[5] = 'kdfc.gif';
sponsorLogos[6] = 'republiquefrancaise.gif';
sponsorLogos[7] = 'anchorbrewing.gif';
sponsorLogos[8] = 'epicwines.gif';
sponsorLogos[9] = 'booksinc.gif';
sponsorLogos[10] = 'videotransfercenter.gif';
sponsorLogos[11] = 'highway12.gif';
sponsorLogos[12] = 'bayguardian.gif';
sponsorLogos[13] = 'miette.gif';
sponsorLogos[14] = 'kathrynkennedy.gif';
sponsorLogos[15] = 'cafedivine.gif';
sponsorLogos[16] = 'midi.gif';
sponsorLogos[17] = 'vinodelsol.gif';
//sponsorLogos[] = 'americaniahotel.gif';
//sponsorLogos[] = 'carriageinn.gif';
//sponsorLogos[] = 'goodhotel.gif';
//sponsorLogos[] = 'joiedevivre.gif';
// sponsorLogos[] = 'galleriaparkhotel.gif';
*/

/*
sponsorLogos = ('wellsfargo.gif', 'kqed.gif', 'queenannehotel.gif', 'americaniahotel.gif', 'carriageinn.gif', 'goodhotel.gif', 'joiedevivre.gif', 'yelp.gif', 'poesia.gif', 'kdfc.gif', 'republiquefrancaise.gif', 'anchorbrewing.gif','epicwines.gif', 'booksinc.gif', 'videotransfercenter.gif', 'highway12.gif', 'bayguardian.gif', 'miette.gif', 'kathrynkennedy.gif', 'cafedivine.gif', 'galleriaparkhotel.gif', 'midi.gif');
*/

//IMPORTANT
// disabled, now called by the multi-init function in flib.js
//window.onload = chooseLogo;

function rotateLogo() {
	thisLogoNumber++;
	if (thisLogoNumber == sponsorLogos.length) { // reset if at end
		thisLogoNumber = 0;
	} // end if thislogo=sponslogos len
	
// testing - set opacity to 0
//	document.getElementById('sponsorswap').style.opacity = '0'; // works non IE anyway
//	document.getElementById('sponsorswap').style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(opacity=0.00)'; // doesn't work?
//	document.getElementById('sponsorswap').style.filters.alpha.opacity='0'; // unknown
	document.getElementById('sponsorswap').src = 'media/sponsorlogos-swap/' + sponsorLogos[thisLogoNumber]; // set new image source

//testing
//	var fadeIt = new Spry.Effect.Fade('sponsorswap',{duration: 750,from: 0, to: 100,toggle: false});
//	fadeIt.start();

	//setTimeout('rotateLogo()', 2 * 1000); // timing for gt 10 logos
	setTimeout('rotateLogo()', 3 * 1000); // timing for lte 10 logos
} // end func rotate

function chooseLogo() {
	//thisLogoNumber = Math.floor(Math.random() * sponsorLogos.length);
	thisLogoNumber = Math.floor(Math.random() * sponsorLogos.length);
	if (document.getElementById('sponsorswap')) { // if rotating sponsorlogo block exists
		rotateLogo();
	}
} // end func chooselogo

