// Globals
var gAnmCyc = 0;

// Function to clear all hover areas on "whylaunch" ad animation
function clearLaunchHovers()
{
	$("#lftpneimg").attr("src","/a/i/lau_lftpnl_off.png");
	$("#toplftimg").attr("src","/a/i/lau_toplft_off.png");
	$("#toprgtimg").attr("src","/a/i/lau_toprgt_off.png");
	$("#rgtpneimg").attr("src","/a/i/lau_rgtpnl_off.png");
	$("#btmrgtimg").attr("src","/a/i/lau_btmrgt_off.png");
	$("#btmlftimg").attr("src","/a/i/lau_btmlft_off.png");

	$("#lftpnetxt").css("display","none");
	$("#toplfttxt").css("display","none");
	$("#toprgttxt").css("display","none");
	$("#rgtpnetxt").css("display","none");
	$("#btmrgttxt").css("display","none");
	$("#btmlfttxt").css("display","none");
}

function clearAttendHovers()
{
	$("#toplftimg").attr("src","/a/i/att_toplft_off.png"); 
	$("#toprgtimg").attr("src","/a/i/att_toprgt_off.png"); 
	$("#btmrgtimg").attr("src","/a/i/att_btmrgt_off.png"); 
	$("#bottomimg").attr("src","/a/i/att_bottom_off.png"); 
	$("#btmlftimg").attr("src","/a/i/att_btmlft_off.png"); 

	$("#toplfttxt").css("display","none");
	$("#toprgttxt").css("display","none");
	$("#btmrgttxt").css("display","none");
	$("#bottomtxt").css("display","none");
	$("#btmlfttxt").css("display","none");
}

function assignSelectedTab()
{
	var sUrl = new String(window.location);

	// Set default to add events popup...
	bDoPop = true;

	if (sUrl.indexOf("/launch/") > -1)
	{
		$("#launch_nav").addClass("launch_on").removeClass("launch_off");
		$("#launch_subnav").attr("style","display:block");

		if (sUrl.indexOf("whylaunch.html") > -1)
			$("#launch_whylaunch").addClass("active");
		else if (sUrl.indexOf("eligibility.html") > -1)
			$("#launch_eligibility").addClass("active");
		else if (sUrl.indexOf("providers.html") > -1)
			$("#launch_providers").addClass("active");
		else if (sUrl.indexOf("applylaunch.html") > -1)
			$("#launch_apply").addClass("active");
	}
	else if (sUrl.indexOf("/attend/") > -1)
	{
		$("#attend_nav").addClass("attend_on").removeClass("attend_off");
		$("#attend_subnav").attr("style","display:block");

		if (sUrl.indexOf("whyattend.html") > -1)
			$("#attend_whyattend").addClass("active");
		else if (sUrl.indexOf("whoattends.html") > -1)
			$("#attend_whoattends").addClass("active");
		else if (sUrl.indexOf("press.html") > -1)
			$("#attend_media").addClass("active");
	}
	else if (sUrl.indexOf("/pitch/") > -1)
	{
		$("#pitch_nav").addClass("pitch_on").removeClass("pitch_off");
		$("#pitch_subnav").attr("style","display:block");

		if (sUrl.indexOf("alphapitch.html") > -1)
			$("#pitch_alphapitch").addClass("active");
		else if (sUrl.indexOf("applypitch.html") > -1)
			$("#pitch_applypitch").addClass("active");
	}
	else if (sUrl.indexOf("/alumni/") > -1)
	{
		$("#alumni_nav").addClass("alumni_on").removeClass("alumni_off");
		$("#alumni_subnav").attr("style","display:block");
		$("#subnavcnt").removeClass("topcrvbth").addClass("topcrvlft");

		if (sUrl.indexOf("profiles.html") > -1)
			$("#alumni_profiles").addClass("active");
		else if (sUrl.indexOf("videolibrary.html") > -1)
			$("#alumni_video").addClass("active");
		else if (sUrl.indexOf("demogods.html") > -1)
			$("#alumni_demogods").addClass("active");
		else if (sUrl.indexOf("podcasts.html") > -1)
			$("#alumni_podcasts").addClass("active");
		else if (sUrl.indexOf("photos.html") > -1)
			$("#alumni_photos").addClass("active");
	}
	else if (sUrl.indexOf("/event/") > -1)
	{
		$("#logo_nav").addClass("logo_on").removeClass("logo_off");
		$("#event_subnav").attr("style","display:block");
		$("#subnavcnt").removeClass("topcrvbth").addClass("topcrvrgt");

		// Disable events popup
		bDoPop = false;

		if (sUrl.indexOf("location.html") > -1)
			$("#event_location").addClass("active");
		else if (sUrl.indexOf("agenda.html") > -1)
			$("#event_agenda").addClass("active");
		else if (sUrl.indexOf("awards.html") > -1)
		{
			$("#event_awards").addClass("active");
			$("#tabs").tabs();	// IMM 090109 Added
		}
		else if (sUrl.indexOf("speakers.html") > -1)
			$("#event_speakers").addClass("active");
		else if (sUrl.indexOf("producer.html") > -1)
			$("#event_producers").addClass("active");
		else if (sUrl.indexOf("advisors.html") > -1)
			$("#event_advisors").addClass("active");
		else if (sUrl.indexOf("providers.html") > -1)
			$("#event_providers").addClass("active");
		else if (sUrl.indexOf("sponsors.html") > -1)
			$("#event_sponsors").addClass("active");
		else if (sUrl.indexOf("viplist.html") > -1)
			$("#event_vips").addClass("active");
	}
	else
	{
		$("#logo_nav").addClass("logo_on").removeClass("logo_off");

		if ((sUrl.indexOf("about.html") > -1) || 
			(sUrl.indexOf("contactus.html") > -1) ||
			(sUrl.indexOf("sponsordemo.html") > -1) ||
			(sUrl.indexOf("sitemap.html") > -1) ||
			(sUrl.indexOf("community") > -1) ||
			(sUrl.indexOf("successstories.html") > -1) ||
			(sUrl.indexOf("party.html") > -1) ||
			(sUrl.indexOf("subscribe.html") > -1) ||
			(sUrl.indexOf("preferences.html") > -1) ||
			(sUrl.indexOf("tos.html") > -1) ||
			(sUrl.indexOf("results.html") > -1) ||
			(sUrl.indexOf("thankyou.html") > -1) ||
			(sUrl.indexOf("/press/") > -1) ||
			(sUrl.indexOf("pr082409.html") > -1) ||
			(sUrl.indexOf("pr090209.html") > -1) ||
			(sUrl.indexOf("pr111909.html") > -1) ||
			(sUrl.indexOf("pr011310.html") > -1) || 
			(sUrl.indexOf("pr032210.html") > -1) ||
			(sUrl.indexOf("pr032310.html") > -1) ||
			(sUrl.indexOf("peoplesay.html") > -1))
		{
			$("#subnavcnt").removeClass("topcrvbth").addClass("hmecrvrgt");
			$("#allsub").addClass("hidden");
		}
	}

	// If we are to do events popup, bind it here
	if (bDoPop)	$("#evtnav").bind("mouseover",onEventHover);

	// IMM 06.09.09 Handle processing of company profile listings into columns
	if ((sUrl.indexOf("profiles.html") > -1) || (sUrl.indexOf("directory.html") > -1))
	{
		$(".TabCont .TabPanel .PnlCnt").each( function(index, domEle)
		{
			oColTwo = $(domEle).children("ul.coltwo");
			oColThr = $(domEle).children("ul.colthr");

			if (sUrl.indexOf("http://www.demo.com") > -1)
				iOffset = 34;
			else if (sUrl.indexOf("http://demo.com") > -1)
				iOffset = 30;

			$(this).children("ul.colone").each(function()
			{
				// First, update all links to work off of a relative "redesign" path
				// IMM 04.05.10: This is no longer needed, hardcoded 'alumni'
				/*
				$(this).children().each( function()
				{
					sOrgLnk = new String(this.childNodes[0].href);
					this.childNodes[0].href = "http://www.demo.com/alumni/" + sOrgLnk.substr(iOffset,sOrgLnk.length-iOffset);
				});
				*/

				iTotRow = $(this).children().size();

				iColRow = Math.ceil(iTotRow / 3);
				iColOne = iColTwo = iColRow;
				iColThr = iTotRow - (iColOne + iColTwo);

				iMveRow = 0;
				for ( iCurRow = iTotRow; ((iMveRow < iColThr) && (iCurRow > 0)); iCurRow-- )
				{
					iMveRow++;
					$(this).children("li:eq(" + iCurRow + ")").prependTo(oColThr);
					$(this).children("li:eq(" + iCurRow + ")").remove();
				}

				iMveRow = 0;
				for ( iCurRow = iCurRow; ((iMveRow < iColTwo) && (iCurRow > 0)); iCurRow-- )
				{
					iMveRow++;
					$(this).children("li:eq(" + iCurRow + ")").prependTo(oColTwo);
					$(this).children("li:eq(" + iCurRow + ")").remove();
				}
			});
		});
	}
}

// Function to handle cycling of hover areas on "whylaunch" ad animation
function cycleLaunchHovers()
{
	anmSpd = 400;

	switch ( gAnmCyc )
	{
		case 0:
			$("#toplftimg").attr("src","/a/i/lau_toplft_ovr.png");
			break;

		case 1:
			$("#toplftimg").attr("src","/a/i/lau_toplft_off.png");
			$("#toprgtimg").attr("src","/a/i/lau_toprgt_ovr.png");
			break;

		case 2:
			$("#toprgtimg").attr("src","/a/i/lau_toprgt_off.png");
			$("#rgtpneimg").attr("src","/a/i/lau_rgtpnl_ovr.png");
			break;

		case 3:
			$("#rgtpneimg").attr("src","/a/i/lau_rgtpnl_off.png");
			$("#btmrgtimg").attr("src","/a/i/lau_btmrgt_ovr.png");
			break;

		case 4:
			$("#btmrgtimg").attr("src","/a/i/lau_btmrgt_off.png");
			$("#btmlftimg").attr("src","/a/i/lau_btmlft_ovr.png");
			break;

		case 5:
			$("#btmlftimg").attr("src","/a/i/lau_btmlft_off.png");
			break;

	}

	gAnmCyc++;

	if (gAnmCyc < 6)
		setTimeout(cycleLaunchHovers,anmSpd);
}

function cycleAttendHovers()
{
	anmSpd = 200;

	switch ( gAnmCyc )
	{
		case 0:
			$("#toplftimg").attr("src","/a/i/att_toplft_ovr.png");
			break;

		case 1:
			$("#toplftimg").attr("src","/a/i/att_toplft_off.png");
			$("#toprgtimg").attr("src","/a/i/att_toprgt_ovr.png");
			break;

		case 2:
			$("#toprgtimg").attr("src","/a/i/att_toprgt_off.png");
			$("#btmrgtimg").attr("src","/a/i/att_btmrgt_ovr.png");
			break;

		case 3:
			$("#btmrgtimg").attr("src","/a/i/att_btmrgt_off.png");
			$("#bottomimg").attr("src","/a/i/att_bottom_ovr.png");
			break;

		case 4:
			$("#bottomimg").attr("src","/a/i/att_bottom_off.png");
			break;
	}

	gAnmCyc++;

	if (gAnmCyc < 5)
		setTimeout(cycleAttendHovers,anmSpd);
}

$(document).ready( function()
{
	// Bind logo scroller for sponsor bar
	$("#sponcont").imageScroller({
		next:"arwlft",
		prev:"arwrgt",
		frame:"sponlnks",
		width:118,
		child:"a",
		speed:2000,
		delay:1500,
		direction:'right',
		auto:true
	});

	// Bind logo scroller for whobar
	$("#whocont").imageScroller({
		frame:"wholnks",
		width:118,
		child:"a",
		speed:2000,
		delay:2000,
		direction:'right',
		auto:true
	});

	// Set selected navigation tab
	assignSelectedTab();


	// Hide video player overlay on click
	if ($("#bgovrlay").length > 0)
	{
		$("#bgovrlay").click( function()
		{
			$(this).fadeOut();
		});
	}

	// Setup "Apply To Launch" panel hovers
	$("#toplftpnl").hover(function()
	{
		$("#applau").addClass("apphvr");
		$("#lautxt").addClass("lauhvr");
		$("#toplftpnl").addClass("toplftpnlhvr");
		$("#toplftpnl span.headbold").addClass("bitebold");
	},
	function()
	{
		$("#applau").removeClass("apphvr");
		$("#lautxt").removeClass("lauhvr");
		$("#toplftpnl").removeClass("toplftpnlhvr");
		$("#toplftpnl span.headbold").removeClass("bitebold");
	});

	$("#toplftpnl").click(function()
	{
		window.location = "http://www.demo.com/launch/whylaunch.html";
	});

	// Setup "Register To Attend" panel hovers
	$("#toprgtpnl").hover(function()
	{
		$("#regatt").addClass("reghvr");
		$("#atttxt").addClass("atthvr");
		$("#toprgtpnl").addClass("toprgtpnlhvr");
		$("#toprgtpnl span.headbold").addClass("bitebold");
	},
	function()
	{
		$("#regatt").removeClass("reghvr");
		$("#atttxt").removeClass("atthvr");
		$("#toprgtpnl").removeClass("toprgtpnlhvr");
		$("#toprgtpnl span.headbold").removeClass("bitebold");
	});

	$("#toprgtpnl").click(function()
	{
		window.location = "http://www.demo.com/attend/whyattend.html";
	});

	// Setup "Who Launch at DEMO" bar hover handler
	$("#whocover a").hover(function()
	{
		$("#whocover").addClass("whohover");
	},
	function()
	{
		$("#whocover").removeClass("whohover");
	});

	var sUrl = new String(window.location);

	// Handle "whylaunch" ad animation
	if (sUrl.indexOf("whylaunch.html") > -1)
	{
		// Top Left
		$("#toplftrgn").hover(function() 
		{
			sTopLftSrc = new String($("#toplftimg").attr("src"));
			if (sTopLftSrc.substr(sTopLftSrc.length - 7, 7) != "_on.png")
			{
				$("#toplftimg").attr("src","/a/i/lau_toplft_ovr.png"); 
			}
		},
		function() 
		{
			if (sTopLftSrc.substr(sTopLftSrc.length - 7,7) != "_on.png")
				$("#toplftimg").attr("src","/a/i/lau_toplft_off.png"); 
		});

		$("#toplftrgn").click(function()
		{
			// Make sure it's not already selected
			if (sTopLftSrc.substr(sTopLftSrc.length - 7, 7) != "_on.png")
			{
				clearLaunchHovers();
				sTopLftSrc = "/a/i/lau_toplft_on.png";
				$("#toplftimg").attr("src",sTopLftSrc);
				$("#toplfttxt").css("display","block");
			}

			return false;
		});

		// Top Right
		$("#toprgtrgn").hover(function() 
		{
			sTopRgtSrc = new String($("#toprgtimg").attr("src"));
			if (sTopRgtSrc.substr(sTopRgtSrc.length - 7, 7) != "_on.png")
			{
				$("#toprgtimg").attr("src","/a/i/lau_toprgt_ovr.png"); 
			}
		},
		function() 
		{
			if (sTopRgtSrc.substr(sTopRgtSrc.length - 7,7) != "_on.png")
				$("#toprgtimg").attr("src","/a/i/lau_toprgt_off.png"); 
		});

		$("#toprgtrgn").click(function()
		{
			// Make sure it's not already selected
			if (sTopRgtSrc.substr(sTopRgtSrc.length - 7, 7) != "_on.png")
			{
				clearLaunchHovers();
				sTopRgtSrc = "/a/i/lau_toprgt_on.png";
				$("#toprgtimg").attr("src",sTopRgtSrc);
				$("#toprgttxt").css("display","block");
			}

			return false;
		});

		// Right
		$("#rgtpnergn").hover(function() 
		{
			sRgtPneSrc = new String($("#rgtpneimg").attr("src"));
			if (sRgtPneSrc.substr(sRgtPneSrc.length - 7, 7) != "_on.png")
			{
				$("#rgtpneimg").attr("src","/a/i/lau_rgtpnl_ovr.png"); 
			}
		},
		function() 
		{
			if (sRgtPneSrc.substr(sRgtPneSrc.length - 7,7) != "_on.png")
				$("#rgtpneimg").attr("src","/a/i/lau_rgtpnl_off.png"); 
		});

		$("#rgtpnergn").click(function()
		{
			// Make sure it's not already selected
			if (sRgtPneSrc.substr(sRgtPneSrc.length - 7, 7) != "_on.png")
			{
				clearLaunchHovers();
				sRgtPneSrc = "/a/i/lau_rgtpnl_on.png";
				$("#rgtpneimg").attr("src",sRgtPneSrc);
				$("#rgtpnetxt").css("display","block");
			}

			return false;
		});

		// Bottom Right
		$("#btmrgtrgn").hover(function() 
		{
			sBtmRgtSrc = new String($("#btmrgtimg").attr("src"));
			if (sBtmRgtSrc.substr(sBtmRgtSrc.length - 7, 7) != "_on.png")
			{
				$("#btmrgtimg").attr("src","/a/i/lau_btmrgt_ovr.png"); 
			}
		},
		function() 
		{
			if (sBtmRgtSrc.substr(sBtmRgtSrc.length - 7,7) != "_on.png")
				$("#btmrgtimg").attr("src","/a/i/lau_btmrgt_off.png"); 
		});

		$("#btmrgtrgn").click(function()
		{
			// Make sure it's not already selected
			if (sBtmRgtSrc.substr(sBtmRgtSrc.length - 7, 7) != "_on.png")
			{
				clearLaunchHovers();
				sBtmRgtSrc = "/a/i/lau_btmrgt_on.png";
				$("#btmrgtimg").attr("src",sBtmRgtSrc);
				$("#btmrgttxt").css("display","block");
			}

			return false;
		});

		// Bottom Left
		$("#btmlftrgn").hover(function() 
		{
			sBtmLftSrc = new String($("#btmlftimg").attr("src"));
			if (sBtmLftSrc.substr(sBtmLftSrc.length - 7, 7) != "_on.png")
			{
				$("#btmlftimg").attr("src","/a/i/lau_btmlft_ovr.png"); 
			}
		},
		function() 
		{
			if (sBtmLftSrc.substr(sBtmLftSrc.length - 7,7) != "_on.png")
				$("#btmlftimg").attr("src","/a/i/lau_btmlft_off.png"); 
		});

		$("#btmlftrgn").click(function()
		{
			// Make sure it's not already selected
			if (sBtmLftSrc.substr(sBtmLftSrc.length - 7, 7) != "_on.png")
			{
				clearLaunchHovers();
				sBtmLftSrc = "/a/i/lau_btmlft_on.png";
				$("#btmlftimg").attr("src",sBtmLftSrc);
				$("#btmlfttxt").css("display","block");
			}

			return false;
		});

		// Left
		$("#lftpnergn").hover(function() 
		{
			sRgtPneSrc = new String($("#lftpneimg").attr("src"));
			if (sRgtPneSrc.substr(sRgtPneSrc.length - 7, 7) != "_on.png")
			{
				$("#lftpneimg").attr("src","/a/i/lau_lftpnl_ovr.png"); 
			}
		},
		function() 
		{
			if (sRgtPneSrc.substr(sRgtPneSrc.length - 7,7) != "_on.png")
				$("#lftpneimg").attr("src","/a/i/lau_lftpnl_off.png"); 
		});

		$("#lftpnergn").click(function()
		{
			// Make sure it's not already selected
			if (sRgtPneSrc.substr(sRgtPneSrc.length - 7, 7) != "_on.png")
			{
				clearLaunchHovers();
				sRgtPneSrc = "/a/i/lau_lftpnl_on.png";
				$("#lftpneimg").attr("src",sRgtPneSrc);
				$("#lftpnetxt").css("display","block");
			}

			return false;
		});

		// Once everything is bound up, start base animation
		cycleLaunchHovers();
	}
	else if (sUrl.indexOf("whyattend.html") > -1)
	{
		// Top Left
		$("#toplftrgn").hover(function() 
		{
			sTopLftSrc = new String($("#toplftimg").attr("src"));
			if (sTopLftSrc.substr(sTopLftSrc.length - 7, 7) != "_on.png")
			{
				$("#toplftimg").attr("src","/a/i/att_toplft_ovr.png"); 
			}
		},
		function() 
		{
			if (sTopLftSrc.substr(sTopLftSrc.length - 7,7) != "_on.png")
				$("#toplftimg").attr("src","/a/i/att_toplft_off.png"); 
		});

		$("#toplftrgn").click(function()
		{
			// Make sure it's not already selected
			if (sTopLftSrc.substr(sTopLftSrc.length - 7, 7) != "_on.png")
			{
				clearAttendHovers();
				sTopLftSrc = "/a/i/att_toplft_on.png";
				$("#toplftimg").attr("src",sTopLftSrc);
				$("#toplfttxt").css("display","block");
			}

			return false;
		});

		// Top Right
		$("#toprgtrgn").hover(function() 
		{
			sTopRgtSrc = new String($("#toprgtimg").attr("src"));
			if (sTopRgtSrc.substr(sTopRgtSrc.length - 7, 7) != "_on.png")
			{
				$("#toprgtimg").attr("src","/a/i/att_toprgt_ovr.png"); 
			}
		},
		function() 
		{
			if (sTopRgtSrc.substr(sTopRgtSrc.length - 7,7) != "_on.png")
				$("#toprgtimg").attr("src","/a/i/att_toprgt_off.png"); 
		});

		$("#toprgtrgn").click(function()
		{
			// Make sure it's not already selected
			if (sTopRgtSrc.substr(sTopRgtSrc.length - 7, 7) != "_on.png")
			{
				clearAttendHovers();
				sTopRgtSrc = "/a/i/att_toprgt_on.png";
				$("#toprgtimg").attr("src",sTopRgtSrc);
				$("#toprgttxt").css("display","block");
			}

			return false;
		});

		// Bottom Right
		$("#btmrgtrgn").hover(function() 
		{
			sBtmRgtSrc = new String($("#btmrgtimg").attr("src"));
			if (sBtmRgtSrc.substr(sBtmRgtSrc.length - 7, 7) != "_on.png")
			{
				$("#btmrgtimg").attr("src","/a/i/att_btmrgt_ovr.png"); 
			}
		},
		function() 
		{
			if (sBtmRgtSrc.substr(sBtmRgtSrc.length - 7,7) != "_on.png")
				$("#btmrgtimg").attr("src","/a/i/att_btmrgt_off.png"); 
		});

		$("#btmrgtrgn").click(function()
		{
			// Make sure it's not already selected
			if (sBtmRgtSrc.substr(sBtmRgtSrc.length - 7, 7) != "_on.png")
			{
				clearAttendHovers();
				sBtmRgtSrc = "/a/i/att_btmrgt_on.png";
				$("#btmrgtimg").attr("src",sBtmRgtSrc);
				$("#btmrgttxt").css("display","block");
			}

			return false;
		});

		// Bottom
		$("#bottomrgn").hover(function() 
		{
			sBottomSrc = new String($("#bottomimg").attr("src"));
			if (sBottomSrc.substr(sBottomSrc.length - 7, 7) != "_on.png")
			{
				$("#bottomimg").attr("src","/a/i/att_bottom_ovr.png"); 
			}
		},
		function() 
		{
			if (sBottomSrc.substr(sBottomSrc.length - 7,7) != "_on.png")
				$("#bottomimg").attr("src","/a/i/att_bottom_off.png"); 
		});

		$("#bottomrgn").click(function()
		{
			// Make sure it's not already selected
			if (sBottomSrc.substr(sBottomSrc.length - 7, 7) != "_on.png")
			{
				clearAttendHovers();
				sBottomSrc = "/a/i/att_bottom_on.png";
				$("#bottomimg").attr("src",sBottomSrc);
				$("#bottomtxt").css("display","block");
			}

			return false;
		});

		// Bottom Left
		$("#btmlftrgn").hover(function() 
		{
			sBtmLftSrc = new String($("#btmlftimg").attr("src"));
			if (sBtmLftSrc.substr(sBtmLftSrc.length - 7, 7) != "_on.png")
			{
				$("#btmlftimg").attr("src","/a/i/att_btmlft_ovr.png"); 
			}
		},
		function() 
		{
			if (sBtmLftSrc.substr(sBtmLftSrc.length - 7,7) != "_on.png")
				$("#btmlftimg").attr("src","/a/i/att_btmlft_off.png"); 
		});

		$("#btmlftrgn").click(function()
		{
			// Make sure it's not already selected
			if (sBtmLftSrc.substr(sBtmLftSrc.length - 7, 7) != "_on.png")
			{
				clearAttendHovers();
				sBtmLftSrc = "/a/i/att_btmlft_on.png";
				$("#btmlftimg").attr("src",sBtmLftSrc);
				$("#btmlfttxt").css("display","block");
			}

			return false;
		});

		cycleAttendHovers();
	}
	else if ((sUrl.indexOf("/event/demofall09/awards.html") > -1) ||	// IMM 08-11-09 Moved from jquery.popup.js
			 (sUrl.indexOf("/event/demofall09/guests.html") > -1))
	{
		$("#Lcangle").click(function()
		{
			centerPopup("Pcangle",550);
			loadPopup("Pcangle");
		});

		$("#Lsagassi").click(function()
		{
			centerPopup("Psagassi",540);
			loadPopup("Psagassi");
		});

		$("#Lmbenioff").click(function()
		{
			centerPopup("Pmbenioff",584);
			loadPopup("Pmbenioff");
		});

		$("#Lmcassidy").click(function()
		{
			centerPopup("Pmcassidy",240);
			loadPopup("Pmcassidy");
		});

		$("#Lecolligan").click(function()
		{
			centerPopup("Pecolligan",240);
			loadPopup("Pecolligan");
		});

		$("#Lsdharmaraj").click(function()
		{
			centerPopup("Psdharmaraj",520);
			loadPopup("Psdharmaraj");
		});

		$("#Lddubinsky").click(function()
		{
			centerPopup("Pddubinsky",240);
			loadPopup("Pddubinsky");
		});

		$("#Ldgreene").click(function()
		{
			centerPopup("Pdgreene",240);
			loadPopup("Pdgreene");
		});

		$("#Lhgreiner").click(function()
		{
			centerPopup("Phgreiner",440);
			loadPopup("Phgreiner");
		});

		$("#Ljhawkins").click(function()
		{
			centerPopup("Pjhawkins",250);
			loadPopup("Pjhawkins");
		});

		$("#Lsiyar").click(function()
		{
			centerPopup("Psiyar",520);
			loadPopup("Psiyar");
		});
		
		$("#Lklim").click(function()
		{
			centerPopup("Pklim",520);
			loadPopup("Pklim");
		});

		$("#Lklynch").click(function()
		{
			centerPopup("Pklynch",480);
			loadPopup("Pklynch");
		});

		$("#Ltmeng").click(function()
		{
			centerPopup("Ptmeng",380);
			loadPopup("Ptmeng");
		});

		$("#Lmpincus").click(function()
		{
			centerPopup("Pmpincus",520);
			loadPopup("Pmpincus");
		});

		$("#Larubin").click(function()
		{
			centerPopup("Parubin",260);
			loadPopup("Parubin");
		});

		$("#backgroundPopup").click(function(){
			disablePopup();
		});

		$(document).keypress(function(e)
		{
			if(e.keyCode==27 && popupStatus==1){
				disablePopup();
			}
		});
	}
	else if (sUrl.indexOf("/event/demospring2010/agenda.html") > -1)
	{
		$("#Lmbrown").click(function()
		{
			centerPopup("Pmbrown",260);
			loadPopup("Pmbrown");
		});
		$("#Lwchan").click(function()
		{
			centerPopup("Pwchan",260);
			loadPopup("Pwchan");
		});
		$("#Lcchien").click(function()
		{
			centerPopup("Pcchien",260);
			loadPopup("Pcchien");
		});
		$("#Lnkashyap").click(function()
		{
			centerPopup("Pnkashyap",260);
			loadPopup("Pnkashyap");
		});
		$("#Llwilliams").click(function()
		{
			centerPopup("Plwilliams",260);
			loadPopup("Plwilliams");
		});
		$("#Lrwong").click(function()
		{
			centerPopup("Prwong",260);
			loadPopup("Prwong");
		});
		$("#Lssternberg").click(function()
		{
			centerPopup("Pssternberg",260);
			loadPopup("Pssternberg");
		});
		$("#Lsdharmaraj").click(function()
		{
			centerPopup("Psdharmaraj",260);
			loadPopup("Psdharmaraj");
		});
		$("#Lpfenton").click(function()
		{
			centerPopup("Ppfenton",260);
			loadPopup("Ppfenton");
		});
		$("#Lrdavis").click(function()
		{
			centerPopup("Prdavis",260);
			loadPopup("Prdavis");
		});
		$("#Lklim").click(function()
		{
			centerPopup("Pklim",260);
			loadPopup("Pklim");
		});
		$("#Lgritter").click(function()
		{
			centerPopup("Pgritter",260);
			loadPopup("Pgritter");
		});
		$("#Lmsugarman").click(function()
		{
			centerPopup("Pmsugarman",260);
			loadPopup("Pmsugarman");
		});
		$("#Ljtaschek").click(function()
		{
			centerPopup("Pjtaschek",260);
			loadPopup("Pjtaschek");
		});

		$("#backgroundPopup").click(function(){
			disablePopup();
		});

		$(document).keypress(function(e)
		{
			if(e.keyCode==27 && popupStatus==1){
				disablePopup();
			}
		});
	}

	// DEMO Fall 2010 Brightcove overlay 
	/*
	if ($(".bgover").length > 0)
	{
		$(".bgover").click( function()
		{
			$(".bgover").css("display","none");
		});
	}
	*/

	// IMM 04.06.10: Added
	setupGoogleSearch();

	// Setup tooltips on sponsor logos
	if ($("#sponsor_group_container a img.tooltip[title]").length > 0)
		$("#sponsor_group_container a img.tooltip[title]").tooltip('#demotip'); 
});

// +----------------------------------------+
// | Modified imageScroller class, included |
// | 'speed' and 'delay' parameters.        |
// +----------------------------------------+
// | IMacNeill 05.12.09 v1.0                |
// | IMacNeill 05.13.09 v1.1                |
// | > Added 'direction' parameter          |
// +----------------------------------------+
jQuery.fn.imageScroller = function(params)
{
	var p = params || 
	{
		next:"buttonNext",
		prev:"buttonPrev",
		frame:"viewerFrame",
		width:100,
		child:"a",
		speed:'fast',
		delay:2000,
		direction:'left',
		auto:true
	}; 
	
	var _btnNext = $("#"+ p.next);
	var _btnPrev = $("#"+ p.prev);
	var _imgFrame = $("#"+ p.frame);
	var _width = p.width;
	var _child = p.child;
	var _auto = p.auto;
	var _speed = p.speed;
	var _delay = p.delay;
	var _direction = p.direction;
	var _itv;
	
	var turnLeft = function()
	{
		_btnPrev.unbind("click",turnLeft);
		
		if(_auto) autoStop();
		
		_imgFrame.animate( {marginLeft:-_width}, _speed, 'swing', function()
		{
			_imgFrame.find(_child+":first").appendTo( _imgFrame );
			_imgFrame.css("marginLeft",0);
			_btnPrev.bind("click",turnLeft);
		
			if(_auto) autoPlay();
		});
	};
	
	var turnRight = function()
	{
		_btnNext.unbind("click",turnRight);
	
		if(_auto) autoStop();
		
		_imgFrame.find(_child+":last").clone().show().prependTo( _imgFrame );
		_imgFrame.css("marginLeft",-_width);
		
		_imgFrame.animate( {marginLeft:0}, _speed,'swing', function()
		{
			_imgFrame.find(_child+":last").remove();
			_btnNext.bind("click",turnRight);
			if(_auto) autoPlay(); 
		});
	};
	
	_btnNext.css("cursor","hand").click( turnRight );
	_btnPrev.css("cursor","hand").click( turnLeft );
	
	var autoPlay = function()
	{
		_itv = window.setInterval( (_direction == 'left' ? turnLeft : turnRight), _delay);
	};
	var autoStop = function()
	{
		window.clearInterval(_itv);
	};
	
	if(_auto)	
		autoPlay();
};

/*
Copyright (c) Copyright (c) 2007, Carl S. Yestrau All rights reserved.
Code licensed under the BSD License: http://www.featureblend.com/license.txt
Version: 1.0.3
*/
var FlashDetect = new function(){
	var self = this;
	self.installed = false;
	self.raw = "";
	self.major = -1;
	self.minor = -1;
	self.revision = -1;
	self.revisionStr = "";
	var activeXDetectRules = [
		{
			"name":"ShockwaveFlash.ShockwaveFlash.7",
			"version":function(obj){
				return getActiveXVersion(obj);
			}
		},
		{
			"name":"ShockwaveFlash.ShockwaveFlash.6",
			"version":function(obj){
				var version = "6,0,21";
				try{
					obj.AllowScriptAccess = "always";
					version = getActiveXVersion(obj);
				}catch(err){}
				return version;
			}
		},
		{
			"name":"ShockwaveFlash.ShockwaveFlash",
			"version":function(obj){
				return getActiveXVersion(obj);
			}
		}
	];
	var getActiveXVersion = function(activeXObj){
		var version = -1;
		try{
			version = activeXObj.GetVariable("$version");
		}catch(err){}
		return version;
	};
	var getActiveXObject = function(name){
		var obj = -1;
		try{
			obj = new ActiveXObject(name);
		}catch(err){}
		return obj;
	};
	var parseActiveXVersion = function(str){
		var versionArray = str.split(",");//replace with regex
		return {
			"raw":str,
			"major":parseInt(versionArray[0].split(" ")[1], 10),
			"minor":parseInt(versionArray[1], 10),
			"revision":parseInt(versionArray[2], 10),
			"revisionStr":versionArray[2]
		};
	};
	var parseStandardVersion = function(str){
		var descParts = str.split(/ +/);
		var majorMinor = descParts[2].split(/\./);
		var revisionStr = descParts[3];
		return {
			"raw":str,
			"major":parseInt(majorMinor[0], 10),
			"minor":parseInt(majorMinor[1], 10), 
			"revisionStr":revisionStr,
			"revision":parseRevisionStrToInt(revisionStr)
		};
	};
	var parseRevisionStrToInt = function(str){
		return parseInt(str.replace(/[a-zA-Z]/g, ""), 10) || self.revision;
	};
	self.majorAtLeast = function(version){
		return self.major >= version;
	};
	self.FlashDetect = function(){
		if(navigator.plugins && navigator.plugins.length>0){
			var type = 'application/x-shockwave-flash';
			var mimeTypes = navigator.mimeTypes;
			if(mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description){
				var version = mimeTypes[type].enabledPlugin.description;
				var versionObj = parseStandardVersion(version);
				self.raw = versionObj.raw;
				self.major = versionObj.major;
				self.minor = versionObj.minor; 
				self.revisionStr = versionObj.revisionStr;
				self.revision = versionObj.revision;
				self.installed = true;
			}
		}else if(navigator.appVersion.indexOf("Mac")==-1 && window.execScript){
			var version = -1;
			for(var i=0; i<activeXDetectRules.length && version==-1; i++){
				var obj = getActiveXObject(activeXDetectRules[i].name);
				if(typeof obj == "object"){
					self.installed = true;
					version = activeXDetectRules[i].version(obj);
					if(version!=-1){
						var versionObj = parseActiveXVersion(version);
						self.raw = versionObj.raw;
						self.major = versionObj.major;
						self.minor = versionObj.minor; 
						self.revision = versionObj.revision;
						self.revisionStr = versionObj.revisionStr;
					}
				}
			}
		}
	}();
};
FlashDetect.release = "1.0.3";

// IMM 012008: Code to handle auto-activating Flash objects
// -  sID : id
// - sSrc : Source for Flash SWF, with arguments if any
// - iWdt : Width
// - iHgt : Height
// - sCID : classid			  (leave blank if undefined)
// - sAln : Alignment		  (leave blank if undefined)
// - sQul : Quality			  (leave blank if undefined)
// - sASA : allowScriptAccess (leave blank if undefined)
// - sWMd : wmode			  (leave blank if undefined)
// - sBGC : bgcolor			  (leave blank if undefined)
// - bAlt : Alternate mode - used for custom Flash objects (Podcasts)
//          If true, then:
//			1. Includes "data" attribute, with sSrc
//			2. does not use "embed" tag
//          3. Includes: ie_update=\"NWW_NO_IE_OBJECT_UPDATE\"
//			4. Excludes: codebase attribute
//			5. Includes: type="application/x-shockwave-flash"
// -------------------------------------------------------------------------
// IMM 071108: Optional Flash/Firefox MP3 player bug fix
// - If this argument is not an empty string, will proceed to check browser 
//   and Flash player version. If they match the version which has the bug
//   that prevents MP3 players from playing when there are too many players
//   on a page (more than 15), then it will render just a link to the argument
//   instead of the Flash player.
function autoactivateFlash( sID, sSrc, iWdt, iHgt, sCID, sAln, sQul, sASA, sWMd, sBGC, bAlt, sFLA )
{
	var bFLA = true;
	if (sFLA != undefined)
	{
		var sExt = sFLA.substr( sFLA.length - 3, 3 ).toLowerCase();

		if ((navigator.appName != "Microsoft Internet Explorer") && (sExt == "mp3"))
		{
			if ((FlashDetect.major == 9) && (FlashDetect.minor == 0) && ((FlashDetect.revision == 115) || (FlashDetect.revision == 124)))
				bFLA = false;

/*			sDBG = "Flash: " + FlashDetect.major + "." + FlashDetect.minor + "." + FlashDetect.revision + "\n";
			sDBG+= "Browser: " + navigator.appName + " - " + navigator.appVersion + "\n";
			sDBG+= "URL: " + sFLA + "\n";
			sDBG+= "Extension: " + sExt + "\n";
			sDBG+= "bFLA=[" + bFLA + "]";
			alert(sDBG);
*/		}
	}

	if (bFLA)
	{
		var sSwf = "<object " + 
				   (bAlt != true ? "codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" " : "") + 
				   (bAlt == true ? "type=\"application/x-shockwave-flash\" " : "") + 
				   (sID != "" ? "id=\"" + sID + "\" " : "") + 
				   (bAlt == true ? "data=\"" + sSrc + "\" " : "") + 
				   "width=\"" + iWdt + "\"  " + 
				   "height=\"" + iHgt + "\" " + 
				   (bAlt == true ? "ie_update=\"NWW_NO_IE_OBJECT_UPDATE\" " : "") + 
				   (sCID != "" ? "classid=\"clsid:" + sCID + "\" " : "") + 
				   (sAln != "" ? "align=\"" + sAln + "\" " : "") + 
				   ">\n" + 
				   "<param name=\"movie\" value=\"" + sSrc + "\"/>\n" +
				   (sQul != "" ? "<param name=\"quality\" value=\"" + sQul + "\"/>\n" : "") + 
				   (sASA != "" ? "<param name=\"allowScriptAccess\" value=\"" + sASA + "\"/>\n" : "") + 
				   (sWMd != "" ? "<param name=\"wmode\" value=\"" + sWMd + "\"/>\n" : "") + 
				   (sBGC != "" ? "<param name=\"bgcolor\" value=\"" + sBGC + "\"/>\n" : "");
		if (bAlt != true)
		{
			sSwf += "<embed " + 
					(sID != "" ? "name=\"" + sID + "\" " : "") + 
					"width=\"" + iWdt + "\"  " + 
					"height=\"" + iHgt + "\" " + 
					(sAln != "" ? "align=\"" + sAln + "\" " : "") + 
					"src=\"" + sSrc + "\" " + 
					(sQul != "" ? "quality=\"" + sQul + "\" " : "") + 
					(sASA != "" ? "allowscriptaccess=\"" + sASA + "\" " : "") + 
					(sWMd != "" ? "wmode=\"" + sWMd + "\" " : "") + 
					(sBGC != "" ? "bgcolor=\"" + sBGC + "\" " : "") + 
					"pluginspage=\"http://www.macromedia.com/go/getflashplayer\" " +  
					"type=\"application/x-shockwave-flash\"/></embed>\n";
		}
		sSwf += "</object>\n";
		document.write(sSwf);
	}
	else
		document.write("<a href=\"" + sFLA + "\" target=\"_blank\">Click to download this podcast</a><br/>(will open in a new browser window)");
}

// IMM 011108: Clears input field, if contents is "search" or "enter email address"
// IMM 031408: Added "search videos"
function clearText(oFld)
{
	if ((oFld.value == "Search this site") || 
		(oFld.value == "Enter Email Address") || 
		(oFld.value == "Search Videos"))
		oFld.value = "";
}

// IMM 012108: Get top offset of passed element
function getPageOffsetTop( oEle ) 
{
	var iOffTop = oEle.offsetTop;
	while((oEle = oEle.offsetParent) != null) 
	{ 
		iOffTop += oEle.offsetTop; 
	}
	return iOffTop;
}

// IMM 012108: Returns Y position of passed anchor
function getAnchorYPos(sAnchor) 
{
	var yPos = 0;
	
	// Logic to find position
 	if (document.getElementById && document.all) 
		yPos = getPageOffsetTop(document.all[sAnchor]);
	else if (document.getElementById) 
		yPos = getPageOffsetTop(document.getElementById(sAnchor));
 	else if (document.all) 
		yPos = getPageOffsetTop(document.all[sAnchor]);
	else if (document.layers) 
	{
		var bFnd = 0;
		for (var i = 0; i < document.anchors.length; i++) 
		{
			if (document.anchors[i].name == sAnchor) 
			{ 
				bFnd = 1; 
				break; 
			}
		}

		if (bFnd == 0) 
			return yPos;
		
		yPos = document.anchors[i].yPos;
	}

	return yPos;
}

function validateEmail()
{
	var oFrm = document.forms[0];
	var sMsg = "";

	// Ensure that something was entered for E-Mail field
	if ($.trim( oFrm.email.value) == "")
		sMsg += "- \"E-Mail\" is a required field.\n";
	else	// Confirm E-Mail entered is well formed
	{
		var v = new RegExp();
		v.compile("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
		if (!v.test(StripWS(oFrm.email.value)))
			sMsg += "- \"E-Mail\" address provided is not valid.\n";
	}

	if (sMsg == "")
		return true;
    else
    {
        alert("Request could not be processed due to the following problems:\n\n" + sMsg + "\nPlease resolve the above problems, then resubmit the form.");
        return false;
    }
}

function onEventHover() 
{
	$("#evtpopcont").bind("mouseleave", function() 
	{
		$("#evtpopcont").hide();
	});

	$("#evtpopcont").show();     
}

// IMM 04.07.10: Globals for Google custom search
var gQuery = "";
var searchControl;
var searchLocale;
var imageHover = "http://demo.nww.com/a/i/search_box.png";
var imageBase = "http://demo.nww.com/a/i/search_gcse.png";
var demoSiteKey = "007910216449832961915:gqwvsbh6zie";

// IMM 04.07.10: Method to retrieve URL arguments
function getUrlVars() 
{
	var vars = {};
	var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) 
	{
		vars[key] = value;
	});
	return vars;
}

// IMM 04.07.10: Function to url encode a string
function urlencode (str) {
    // URL-encodes string  
    // 
    // version: 910.813
    // discuss at: http://phpjs.org/functions/urlencode
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer
    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Joris
    // %          note 1: This reflects PHP 5.3/6.0+ behavior
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
    var hexStr = function (dec) {
        return '%' + (dec < 16 ? '0' : '') + dec.toString(16).toUpperCase();
    };

    var ret = '',
            unreserved = /[\w.-]/; // A-Za-z0-9_.- // Tilde is not here for historical reasons; to preserve it, use rawurlencode instead
    str = (str+'').toString();

    for (var i = 0, dl = str.length; i < dl; i++) {
        var ch = str.charAt(i);
        if (unreserved.test(ch)) {
            ret += ch;
        }
        else {
            var code = str.charCodeAt(i);
            if (0xD800 <= code && code <= 0xDBFF) { // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single characters); https://developer.mozilla.org/index.php?title=en/Core_JavaScript_1.5_Reference/Global_Objects/String/charCodeAt
                ret += ((code - 0xD800) * 0x400) + (str.charCodeAt(i+1) - 0xDC00) + 0x10000;
                i++; // skip the next one as we just retrieved it as a low surrogate
            }
            // We never come across a low surrogate because we skip them, unless invalid
            // Reserved assumed to be in UTF-8, as in PHP
            else if (code === 32) {
                ret += '+'; // %20 in rawurlencode
            }
            else if (code < 128) { // 1 byte
                ret += hexStr(code);
            }
            else if (code >= 128 && code < 2048) { // 2 bytes
                ret += hexStr((code >> 6) | 0xC0);
                ret += hexStr((code & 0x3F) | 0x80);
            }
            else if (code >= 2048) { // 3 bytes (code < 65536)
                ret += hexStr((code >> 12) | 0xE0);
                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
                ret += hexStr((code & 0x3F) | 0x80);
            }
        }
    }
    return ret;
}

// IMM 04.07.10: Function to validate global search before submission
function checkSearch()
{
	query = $("#search").val();
	if (query == null || $.trim(query).length == 0 || query.indexOf("</") >= 0 || query.indexOf(";") >= 0)
	{
		alert("Please enter a valid search term.");
		return false;
	}

	var htmlRegEx = new RegExp('[\w*|\W*]*<[[\w*|\W*]*|/[\w*|\W*]]>[\w*|\W*]*');
	if(htmlRegEx.exec(query))
	{
		alert("Please enter a valid search term.  HTML, URLs, and Scripts are not allowed.");return false;
		return false;
	}

	query = query.replace(/^\s+/g, '').replace(/\s+$/g, '');
	query = urlencode(query);

	$("#frmSearch").attr("action","/results.html?s=" + query);
}

// IMM 10-14-09: Modified to now perform postback to handle search
function setupGoogleSearch()
{
	if ($("#search").val() == "")
	{
		if (!$("#search").hasClass("search_base"))
			$("#search").addClass("search_base");

		if ($("#search").hasClass("search_over"))
			$("#search").removeClass("search_over");
	}
	else
	{
		if (!$("#search").hasClass("search_over")) 
			$("#search").addClass("search_over");

		if ($("#search").hasClass("search_base"))
			$("#search").removeClass("search_base");
	}

	$("#search").focus( function()
	{
		if (!$("#search").hasClass("search_over")) 
			$("#search").addClass("search_over");

		if ($("#search").hasClass("search_base"))
			$("#search").removeClass("search_base");
	});

	$("#search").blur( function()
	{ 
		if ($("#search").val() == "")
		{
			if (!$("#search").hasClass("search_base"))
				$("#search").addClass("search_base");

			if ($("#search").hasClass("search_over"))
				$("#search").removeClass("search_over");
		}
	});

	// IMM 04.07.10: Couple the global search action handler
	$("#frmSearch").submit( function()
	{
		return checkSearch();
	});

	// IMM 04.07.10: If this is the results page, attempt to process search results
	if ($("#dynsearch").length > 0)
	{
		gQuery = getUrlVars()["s"];
		$("#dynsearch h2").html("Search Results: " + gQuery);
		google.setOnLoadCallback(doGoogleSearch);
	}
}

// IMM 04.07.10: Method to perform search results
function doGoogleSearch()
{
	searchControl = new google.search.WebSearch();
	searchControl.setSiteRestriction( demoSiteKey );
	searchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
	searchControl.setSearchCompleteCallback(this, processGoogleResults, null);
	searchControl.execute(gQuery);
}

// IMM 04.07.10: Method to handle displaying the search results
function processGoogleResults()
{
	$("div#results").html("");
	if (searchControl.results && searchControl.results.length > 0)
	{
		for ( i = 0; i < searchControl.results.length; i++ )
		{
			$("div#results").append( "<div class=\"result-title\"><a href=\"" + searchControl.results[i].url + "\">" + searchControl.results[i].title + "</a></div>" );
			$("div#results").append( "<div class=\"result-blurb\">" + searchControl.results[i].content + "</div>" );
			//$("div#results").append( searchControl.results[i].html );
			$("div#results").append( "<div class=\"search-sep\"><!-- --></div>" );
		}

		var cursor = searchControl.cursor;
		addPaginationLinks();

		// Remove extra pages from pagination
		var currentPage = $("table#paged td.page").index( $('td#ActPge')[0] );
		var removeLeft = currentPage - 5;
		$("table#paged td.page:lt(" + removeLeft + ")").remove();
		
		var currentPage = $("table#paged td.page").index( $('td#ActPge')[0] );
		var removeRight = currentPage + 5;
		$("table#paged td.page:gt(" + removeRight + ")").remove();
		
		// Now we can enable the pagination
		$("table#paged").show();
	}
	else
	{
		$("div#results").append( "<div id=\"results-count\">Your search on \"" + gQuery + "\" returned " + searchControl.results.length + " results.</div>" );
	}
	$("div.result-title a").each( function() {
		var theURL = $(this).attr("href");
		$(this).parent().next().append("<span>" + theURL + "</span>");
	});
}

function addPaginationLinks() 
{
	// The cursor object has all things to do with pagination
	var cursor = searchControl.cursor;
	var curPage = cursor.currentPageIndex; // check what page the app is on
	var pages = "<table id=\"paged\" style=\"display:table;\"><tbody><tr>";
	for (var i = 0; i < cursor.pages.length; i++) 
	{
		var page = cursor.pages[i];
		// if we are on the curPage, then don't make a link
		if (curPage == i) 
		{ 
			pages += "<td id=\"ActPge\" class=\"page\">";
			pages += "<strong>" + page.label + "</strong>";
		} 
		else 
		{
			// If we aren't on the current page, then we want a link to this page.
			// So we create a link that calls the gotoPage() method on the searcher.
			pages += "<td class=\"page\">";
			pages += "<a href=\"javascript:searchControl.gotoPage(" + i + ");\">" + page.label + "</a>";
		}
		pages += "</td>";
	}
	pages += "</tr></tbody></table>";

	$("div#results").append(pages);
}
