function event_init()
{
	eids = new Array(); 
	event_ids = new Array();
	event_list = new Array();
	rsvp_counts = new Array();
	show_publish_on_confirm = true;
	show_publish_on_maybe = false;
	sl_location = false;
	sl_events = false;
	site_url = '';
	rsvped_shown = false;
	pandora_user = '';
	page_load = false;
	if (typeof (fb_friends) == 'undefined') { fb_friends = false; }
	if (typeof (rsvp_ok) == 'undefined') { rsvp_ok = false; }
	if (typeof (people) == 'undefined') { people = new Array(); }
	if (typeof (seen_uid) == 'undefined') { seen_uid = new Array(); }
	if (typeof (refreshing_icons) == 'undefined') { refreshing_icons = new Array(); }
}

function fb_pandora_init()
{
	Control.Modal.close();	
	FB.Connect.forceSessionRefresh();
	if (typeof (rsvped_shown) == 'undefined') { rsvped_shown = false; }
	if (typeof (people) == 'undefined') { people = new Array(); }
	if (typeof (seen_uid) == 'undefined') { seen_uid = new Array(); }
	refreshing_icons = new Array();
	fb_friends = false;
	rsvp_ok = false;
	asked_rsvp_once = false;	
	logged_in_uid = false; 
	rsvp_shown = false;
	rsvp_try = 0;
	draw_icon = false;
}

function load_events (event)
{
	updated_events = new Array();
	if (!event)
	{
		event = sl_events;
	}
	else
	{
		sl_events = event;
	}
	if (!event || event == null || event.error)
	{
	
		var default_error = '<p class="title">Sorry, no shows found near ' + sl_location + '</p>'+
		'<p class="subtitle_no_logo">Sorry, we could not find any upcoming concerts for any of your Pandora artists.<br/>' +
		'Please create more stations on Pandora or bookmark more artists.</p>';
	
	
		if (!event || event == null)
		{
//			var error = default_error;
		}
		else if (event.error && (event.error == 'no_events' || event.error == 'few_artists'))
		{
			var error = '<p class="title">Sorry, no shows found near ' + sl_location + '</p>'+
						'<p class="subtitle_no_logo">You can create more Pandora stations or bookmark more artists to find more shows.</p>';			

			update_show_status(error);
		}
		else
		{
//			var error = default_error;
		}
	
		clear_show_listing();
	}
	else
	{
	
		var show_status = '<p class="title">Your shows near ' + sl_location +'</p>'+
				'<p class="subtitle">Local shows by artists from your bookmarks, thumbs up and your station seeds.<br/>Provided by '+
				'<a href="' + site_url + '"><img src="/pandora/sonicliving_logo.jpg" width="91" height="27" border="0"></a></p>';
	

		var popular_show_list = '';
		var pandora_show_list = '';
		
		var event_count = 0;
		var user_notification = '';
		
		// event[0] contains meta info.	
		if (event[0])
		{
			if (event[0]['privacy_error'] && event[0]['privacy_error'] == true)
			{
				user_notification = '<br/><br/>Your Pandora Account is set to Private!  For a personalized event list, you\'ll need to reset your Privacy Settings.';
			}
			if (event[0]['no_profile'] && event[0]['no_profile'] == true)
			{
				user_notification = '<br/><br/>Invalid Pandora User!  For a personalized event list, you\'ll need to use a valid Pandora Login.';
			}
		}
		event = event[1]; 
		// build eids array first	
		for (i=0; i < event.length; i++)
		{	
			obj = event[i];
			for (j=0; j < obj.length; j++)
			{
				if (obj[j].eid)
				{
					eids.push(obj[j].eid);
					event_ids[obj[j].eid] = obj[j].event_id;
					event_list[obj[j].eid] = obj[j];
				}
			}
		}

		for (i=0; i < event.length; i++)
		{	
			if (event[i][0] == false)
			{
				// no event here ...
				continue;
			}
			obj = event[i];

			for (j=0; j < obj.length; j++)
			{
				rsvp_counts[obj[j].eid] = obj[j].rsvp;
				event_count++;
				
				var fb_user_block = get_fb_event_block(obj[j].eid, obj[j].event_id);
				// var ticket_url = 'event_title=' + escape(obj[j].event_title);
				var ticket_url = 'none';
				
				// build ticket url here
				if (obj[j].links.length > 0)
				{
					links = obj[j].links;
					for (k=0; k < links.length; k++)
					{
						// ticket_url += '&' + escape('links[' + k + '][' + links[k].link_title +']') + '=' + escape(links[k].link_url);
						ticket_url = links[k].link_url;						
					}
				}

				if (ticket_url == 'none' || ticket_url == '')
				{
					var has_ticket = false;
					var ticket_link = '&nbsp;';
				}
				else
				{
					var has_ticket = true;

					var ticket_link = '<a href="javascript:fb_ticket(\''+obj[j].eid+'\',\''+ ticket_url +'\');"><img src="http://www.pandora.com/static/sonic_living/images/ticket_info_button.gif" width="98" height="26" border="0" onMouseOver="this.src=\'http://www.pandora.com/static/sonic_living/images/ticket_info_button_hover.gif\';" onMouseOut="this.src=\'http://www.pandora.com/static/sonic_living/images/ticket_info_button.gif\';"></a>';																

				}
		
				if (obj[j].event_time)
				{
					//var time = obj[j].event_time;
					var time = '&nbsp;';				
				}
				else
				{
					var time = '&nbsp;';				
				}
	
				var event_type = obj[j].event_type;
			
		
			var event_block =	'<div class="date_box" >'+
								'	<div class="date">'+
								'		<p>' + obj[j].event_date + '</p>'+
								'	</div>';
					
					
				event_block +=	'	<div class="show">' +
								'		<div class="show_detail">' +
								'			<!-- SHOW NAME -->'+
								'			<p><span class="show_name">' + obj[j].event_title + '</span></p>' + 
								'			<!-- SHOW DESCRIPTION -->'+ 
								'			<div class="venue_detail">'+
								'				<!-- VENUE NAME -->'+
								'				<p><span class="venue_name">' + obj[j].venue_name + '</span><br />'+
								'				<!-- VENUE CITY AND STATE -->'+
								'				' + obj[j].venue_city + ', ' + obj[j].venue_state + '</p>' +
								'			</div>';
								
							if (has_ticket == true)
							{
				event_block +=	'			<div class="ticket_info">'+
								'				<!-- LINK FOR TICKET INFO -->'+
								'				<p>' + ticket_link + '</p>'+
								'			</div>';
							}
								
				event_block +=	'		</div>';
								
				event_block +=	'		<div style="float:left; width:291px;">';	
				
				if (obj[j].eid)
				{
				
				 event_block +=	'			<img src="/pandora/pandora_fb_icon_small.png" class="pandora_fb_event_icon" />';
				 event_block +=	'			<div class="pandora_fb_links">' +
				 				'				<a class="pandora_fb_link" onclick="pandora_info(\'view_event\',\'' + obj[j].eid + '\');" href="http://facebook.com/event.php?eid='+obj[j].eid+'">View this event on Facebook</a><br />'+  // logging not ideal here
					 							get_share_link(obj[j]) + 						 				
				 				'			</div>'+
											fb_user_block;
				}
																	
				event_block +=	'		</div>'+								
								'		<div style="clear:both;"></div>'+
								'	</div>';		
				
				
				event_block +=	'	<div class="date_bottom">'+
								'		&nbsp;'+
								'	</div>'+
								'</div>';

				if (event_type &&  event_type == 'pandora_event')
				{									
					pandora_show_list += event_block;											
				}
				else
				{
					popular_show_list += event_block;
				}
				
				var fb_people = '';
				var num_friends = 0;
				var num_strangers = 0;
				var max_icons = 5;
				if (obj[j].eid)
				{
					var el = document.getElementById('icons_'+obj[j].eid);
					if (el)
					{	
						if (obj[j]['friends'])
						{
							for (var k=0; k < obj[j]['friends'].length; k++)
							{
								if (max_icons > 0)
								{
									fb_people += get_user_icon(obj[j]['friends'][k], true);
								}
								max_icons--;
								num_friends++;
							}
						}

						if (num_friends == 0)
						{
							var friends_text = '<span style="color:#b5b5b5;">0 Friends</span>';
						}
						else if (num_friends == 1)
						{
							var friends_text = '1 Friend';
						}
						else
						{
							var friends_text = num_friends + ' Friends';
						}
													
						if (obj[j]['strangers'])
						{
							for (var k=0; k < obj[j]['strangers'].length; k++)
							{
								if (max_icons > 0)
								{
									fb_people += get_user_icon(obj[j]['strangers'][k], true);
								}
								max_icons--;
								num_strangers++;
							}
						}
						
						if (num_strangers == 0)
						{
							var strangers_text = '<span style="color:#b5b5b5;">0 Strangers</span>';
						}
						else if (num_strangers == 1)
						{
							var strangers_text = '1 Stranger';
						}
						else
						{
							var strangers_text = num_strangers + ' Strangers';
						}
						
						if (fb_people != '')
						{

							fb_people_block = '<span style="font-size:10px;">' + friends_text +' <span style="padding-left:6px;">' + strangers_text + '</span></span>' + fb_people;
							el.innerHTML = fb_people_block;
							el.style.display = 'block';
						}
					}
				}
			}
		}

		
		if (popular_show_list == '' && pandora_show_list.length > 0)
		{
			update_show_listing(pandora_show_list,show_status, event_count);				
		}
		
		else if (pandora_show_list == '' && popular_show_list.length > 0)
		{
			var popular_show_status = '<p class="title">Popular shows near ' + sl_location +'</p>'+
					'<p class="subtitle">Find more shows by bookmarking, thumbing up and creating more stations.'+
					user_notification+'<br/>Provided by '+
					'<a href="' + site_url + '"><img src="/pandora/sonicliving_logo.jpg" width="91" height="27" border="0"></a></p>';	

			update_show_listing(popular_show_list, event_count, popular_show_status);
		}
		
		else if (pandora_show_list.length > 0 && popular_show_list.length > 0)
		{

			var popular_show_status = '<p class="title">Popular shows near ' + sl_location +'</p>'+
					'<p class="subtitle">Find more shows by bookmarking, thumbing up and creating more stations.</p>';

			update_both_show_listings(pandora_show_list, popular_show_list, event_count, show_status, popular_show_status)
		}
		
		
	}		
	update_fb_show_list();
} // end function load_events()

function load(user,zip,loc,sl_url,page_version,events)
{
	site_url = sl_url;
	sl_events = events;	
	sl_location = loc;
	pandora_user = user;
	(function(){subtitle_update('Gathering artists from your thumbed up songs.'); }).delay(3000);
	(function(){subtitle_update('Looking for local shows with your artists.'); }).delay(6000);
	if (sl_location == '')
	{
		// invalid loocation
		var error = '<p class="title">No events found near ' + zip +'</p>'+
					'<p class="subtitle_no_logo">If you like, you can update your location on <a href="http://pandora.com">Pandora</a> by clicking on the "account" button in the upper right.</p>';
						
		update_show_status(error);
		clear_show_listing();
	}
	else
	{
			

		if (!events)
		{	
			var pars = '&version=' + page_version + '&user=' + user + '&zip='+ zip + '&combined=combined';
			// we'll retry the ajax call once.  this 2nd call has no onFailure handler
			var ajaxurl = "/pandora/pandora_ajax.php?" + pars;
			var retry_ajax = function()
			{
			       var jsonRequest = new Ajax.Request(ajaxurl, { parameters: pars, method:'post', onSuccess: function(x) { load_events(x.responseText.evalJSON()); }});
			}
			
		       var jsonRequest = new Ajax.Request(ajaxurl, { parameters: pars, method:'post', onSuccess: function(x) { load_events(x.responseText.evalJSON()); }, onFailure: function (x) { retry_ajax(); }});
			
			if (!jsonRequest)
			{
		       var jsonRequest = new Ajax.Request(ajaxurl, { parameters: pars, method:'post', onSuccess: function(x) { load_events(x.responseText.evalJSON()); }, onFailure: function (x) { retry_ajax(); }});
			}
		}
	}		

}

function update_fb_show_list()
{
	logged_in_uid = FB.Connect.get_loggedInUser();
	if (!sl_events)
	{
		return;
	}
//	if (!logged_in_uid) // TODO: put this back when facebook fixes event query bug
//	{
		get_rsvped_people();
//	}
	if (logged_in_uid && !draw_icon)
	{
		fb_show_logout_items();
/*		draw_icon = true;
		$('fb_current_user').innerHTML = get_user_icon(logged_in_uid, false);

		$('fb_connect_button_in').style.display = 'none';
		$('fb_connect_button_out').style.display = 'block';

		fb_refresh_id('fb_connect_button_out'); 

		$('fb_current_user').style.display = 'block';		*/
	}
	else if (!logged_in_uid)
	{
		fb_show_login_items();
/*
		document.getElementById('fb_connect_button_out').style.display='none';
		document.getElementById('fb_connect_button_in').style.display='block';
		document.getElementById('fb_current_user').style.display='none';
		fb_friends.length=0;
		rsvp_ok=false;
		return;
*/
	}
	//FB.XFBML.Host.parseDomElement(document.getElementById('fb_connect_button')); 
	var rsvp = Array();
	var bs = new FB.BatchSequencer();
	var friends = false;
	var bs_max = 20;
	if (!fb_friends)
	{
		friends = FB.Facebook.apiClient.friends_get(null, bs);
		bs_max--;
	}
	var fb_perms = false;

	if (!rsvp_ok) // if we already got the value by prompting, we dont need to requery
	{	
		var fb_perms = FB.Facebook.apiClient.users_hasAppPermission('rsvp_event', bs);
		bs_max--;
	}
	for (var i = 0;  i < bs_max; i++)
	{
		var eid = eids.pop();
		if (eid)
		{
			rsvp[eid] = (FB.Facebook.apiClient.events_getMembers(eid, bs));
			rsvp_shown = true;
		}
	}
	bs.execute (function () { 
		update_show_list(rsvp, friends, fb_perms); 
	});
	if (!rsvp_shown && rsvp_try < 5)
	{
		rsvp_try++;
		(function(){ 
			update_fb_show_list();
		}).delay(2000);
	}
}


function subtitle_update(text)
{
	if ($('finding_shows_subtitle'))
	{
		$('finding_shows_subtitle').innerHTML = text;
	}

}

function update_show_listing(show_list,event_count, show_status)
{
	if (show_status)
	{
		update_show_status(show_status);
	}

	var dest = document.getElementById('show_list');
	dest.innerHTML = show_list;
//	var duration = event_count * 500;
//	var mySlide = new Fx.Slide('show_list',{duration: duration,transition: Fx.Transitions.Pow.easeOut}).hide().toggle();
}

function update_both_show_listings(pandora_show_list,popular_show_listings, event_count, show_status, popular_show_status)
{
	update_show_status(show_status);
	
	var dest = document.getElementById('show_list');	
	dest.innerHTML = pandora_show_list;

	update_show_status_2(popular_show_status);

	var dest_2 = document.getElementById('show_list_2');
	dest_2.innerHTML = popular_show_listings;


//	var duration = event_count * 500;
//	var mySlide = new Fx.Slide('show_list',{duration: duration,transition: Fx.Transitions.Pow.easeOut}).hide().toggle();
}


function update_show_status(status)
{
	var dest = document.getElementById('show_status');	
	dest.innerHTML = status;
}

function update_show_status_2(status)
{
	
	var dest = document.getElementById('show_status_2');	
	dest.style.display='block';
	dest.innerHTML = status;
}

function clear_show_listing()
{
	update_show_listing('<div id="loader_container">&nbsp;</div>')
}


function get_rsvp_block(eid, event_id)
{
	
	return (
		'<span>'+
		'<label for="fb_rsvp_yes_' + eid + '">'+
		'	<input type="radio" id="fb_rsvp_yes_' + eid + '" name="fb_rsvp_'+ eid +'" class="fb_rsvp_radio fb_rsvp_yes rsvp_input"'+
		'	onclick="pandora_rsvp_clicked(\'attending\',\'confirm\',' + eid + ',' + event_id + ')" />'+
		'	Attending'+
		'</label> ' +

		'<label for="fb_rsvp_maybe_' + eid + '">'+
		'	<input type="radio" id="fb_rsvp_maybe_' + eid + '" name="fb_rsvp_'+ eid +'" class="fb_rsvp_radio fb_rsvp_yes rsvp_input"'+
		'	onclick="pandora_rsvp_clicked(\'unsure\', \'add\', ' + eid + ', ' + event_id  + ')" />'+
		'	Maybe'+
		'</label> ' +
		
		'<label for="fb_rsvp_no_' + eid + '">'+
		'	<input type="radio" id="fb_rsvp_no_' + eid + '" name="fb_rsvp_'+ eid +'" class="fb_rsvp_radio rsvp_input"'+
		'	onclick="pandora_rsvp_clicked(\'declined\',\'remove\',' + eid + ',' + event_id + ')" />'+
		'	No'+
		'</label> '+
		
		'</span>');
}


function pandora_rsvp_clicked(fb_action, sl_action, eid, event_id)
{
	show_rsvp_spinner(eid);
	clear_rsvp_text(eid);
	var cancelled = false;
	FB.Connect.requireSession(function (x) 
	{				
		if (cancelled)
		{
			return;
		}
		if (!rsvp_ok)
		{
			FB.Connect.showPermissionDialog('rsvp_event', function(x)
			{
				if (x)
				{
					rsvp_ok = true;
					send_rsvp(event_id,sl_action,eid);
				}
				else					
				{
					if (asked_rsvp_once == false)
					{
						fb_rsvp_perm_req(eid, sl_action, eid, event_id);					
					}
				}
			});
		}
		else
		{ 
			send_rsvp(event_id,sl_action,eid);
		}
	}, 
	function()
	{
		cancelled = true;
		fb_clear_rsvp_status(eid);
		hide_rsvp_spinner(eid); 
		pandora_info('rsvp_cancel',eid);
	});
}

function send_rsvp(event_id,sl_action,eid)
{
	new Ajax.Request(
		'/event/' + event_id + '/' + sl_action, { method: "post", onSuccess: function (t)
		{
			auto_publish_dialog(sl_action,eid);
			
			hide_rsvp_spinner(eid);
			update_rsvp_text(eid, sl_action);
			pandora_info('rsvp_'+sl_action,eid);
		}
	});
}

function auto_publish_dialog(sl_action,eid)
{
	if (sl_action == 'confirm' && show_publish_on_confirm == true)
	{
		publish_to_stream(eid);			
	} 
	else if (sl_action == 'add' && show_publish_on_maybe == true)
	{
		publish_to_stream(eid);			
	} 
}

function fb_rsvp_perm_req(fb_action, sl_action, eid, event_id)
{

	var dialog = new FB.UI.FBMLPopupDialog('RSVP Permission', '');

	var message =	"<div class='fb_pandora_modal' style='text-align:center; padding:15px;'>";
	message += 		"	<div style='font-size:15px; font-weight:bold; padding-bottom:10px;'>";
	message +=		"		Facebook won't let us RSVP you for this event <br/>unless you grant us permission.";
	message +=		"	</div>";
	message += 		"	<div style='font-size:11px;'>";
	message +=		"		You'll still be able to share the event on your wall and RSVP on the Facebook event page.";
	message +=		"	</div>"; 
	message += 		"	<div style='font-size:11px; padding-top:3px;'>";
	message +=		'		<a style="text-decoration:none; color:#999999" href="javascript:close_rsvp_modal(\'' + eid + '\');">No thanks</a>';
	message += 		'		<a style="text-decoration:none; padding-left:10px;" href="javascript:continue_rsvp_modal(\'' + fb_action + '\',\'' + sl_action + '\',\'' + eid + '\',\'' + event_id + '\');">Ok, sounds good</a>';
	message +=		"	</div>"; 
	message +=		"<div>";
	
	show_pandora_fb_dialog(message);

}

function continue_rsvp_modal(fb_action, sl_action, eid, event_id)
{
	Control.Modal.close();
	pandora_rsvp_clicked(fb_action, sl_action, eid, event_id);
}

function close_rsvp_modal(eid)
{
	Control.Modal.close();
	fb_clear_rsvp_status(eid);
	hide_rsvp_spinner(eid);
	
}

function fb_clear_rsvp_status(eid)
{
	$('fb_rsvp_yes_' + eid).checked = false;
	$('fb_rsvp_maybe_' + eid).checked = false;
	$('fb_rsvp_no_' + eid).checked = false;
}

function clear_rsvp_text(eid)
{
	$('rsvp_note_' + eid).innerHTML = '&nbsp;';
}

function update_rsvp_text(eid, sl_action)
{
	if (sl_action == 'confirm')
	{
		$('rsvp_note_' + eid).innerHTML = "Cool. Glad you're going.";		
	}
	else if (sl_action == 'add')
	{
		$('rsvp_note_' + eid).innerHTML = "Alright. Give us an update once you decide.";		
	}
	else
	{
		$('rsvp_note_' + eid).innerHTML = '&nbsp;';
	}
	
	fb_fade_text.delay(3,eid);
}

function fb_fade_text(eid)
{
	new Effect.Fade($('rsvp_note_' + eid));
}

function get_fb_event_block(eid, event_id)
{

	if (!eid)
	{
		return '';
	}

	var fb_user_block = ''+
	
	'<div style="float:left; width:290px; font-size:11px; ">'+
	'	<div style="padding:14px 0px; color: #999999;">'+
	'	<div style="position:absolute; margin-left: -25px; margin-top:14px; display:none;" id="eid_spinner_' + eid + '"><img src="/images/indicator.gif" style="padding-right:10px;"/></div>'+
	'	<div id="event_block_'+eid+'">' +
	'		<span style="color:black;">RSVP on Facebook:</span><br/>' +
	
	//		RSVP links here:
	
		'<span id="rsvp_'+eid+'">'+get_rsvp_block(eid, event_id)+ '</span>' +
		'<div class="rsvp_note"><span id="rsvp_note_' + eid + '">&nbsp;</span></div>' +
		'</div>'+ 


	'	<div id="icons_'+eid+'" style="display:none;" class="pandora_fb_user_icons"></div>';


	fb_user_block += '	</div>' + 
	'		<div style="float:right;">' +
		
	//		This link should open the FB generic invite friends dialog
//	'			<a href="javascript:show_more_users(\'invite\',\'' + eid + '\');" style="text-decoration:none; color: #999999; padding-left:10px; padding-right:3px;">Invite Friends</a>' +	

	'		</div>' +

	
	'</div>';

	
	return(fb_user_block);								

}

function get_user_icon(uid, show_name)
{
	// we need to add color coding for attending_id or something
	// also if we can get the 32x32 icons working that'd be great, but it looks like there's a 50x50 min.
	var user_icon = ''+
	'		<div style="float:left;">'+
	'		<div style="width:50px; height:50px; padding:1px; border:1px solid #b5b5b5; margin-right:4px;">'+
	'			<fb:profile-pic uid="' + uid + '" size="square" linked="true"  facebook-logo="true"></fb:profile-pic> ' +
	'		</div>';
	
	if (show_name == true)
	{
		user_icon += '<div style="text-align:center; width:54px;font-size:10px;"><fb:name uid="' + uid + '" firstnameonly="true" capitalize="true" /></div>';
	}	
	
	user_icon += '</div>';	
//	user_icon += '</div>';	
	
	return(user_icon);

}

function show_user_icons(eid)
{
	if (!isInt(eid))
	{
		return;
	}
	if (refreshing_icons[eid] == true)
	{
		return;
	}
	else
	{
		refreshing_icons[eid] = true;
	}
	var fb_people = '';
	var num_friends = 0;
	var num_strangers = 0;
	var num_people = 0;
	var max_icons = 5;
	var total_icons = max_icons;
	var el = document.getElementById('icons_'+eid);
	
	if (el)
	{	
		for (var k=0; k < people[eid]['friends'].length; k++)
		{
			if (max_icons > 0)
			{
				fb_people += get_user_icon(people[eid]['friends'][k], true);
			}
			max_icons--;
			num_friends++;
			num_people++;
		}


		for (var k=0; k < people[eid]['strangers'].length; k++)
		{
			if (max_icons > 0)
			{
				fb_people += get_user_icon(people[eid]['strangers'][k], true);
			}
			max_icons--;
			num_strangers++;
			num_people++;
		}



		if (num_people > 0)
		{

			var people_text = '<span style="font-weight:bold;">';				
			
			if (num_friends == 1)
			{
				var friend_text = '1 friend';
			}
			else if (num_friends > 1)
			{
				var friend_text = num_friends + ' friends';
			}					
			
			if (num_people == num_friends)
			{
				people_text += friend_text;
			
				people_text += '</span>';
			} 
			else
			{				
				if (num_people == 1)
				{
					people_text += '1 person';
				}
				else if (num_people > 1)
				{
					people_text += num_people + ' people';
				}

				people_text += '</span>';
				

				if (num_friends > 0)
				{
					people_text += ', including ';
				
					people_text += '<span style="font-weight:bold;">';				
					
					people_text += friend_text;

					people_text += '</span>';
				}	
			}
			
			


			
			
			if (num_people == 1)
			{
				people_text += ' is attending.';
			}
			else
			{
				people_text += ' are attending.';
			}
			
			if (num_friends == 0)
			{
				// people_text += ' <span style="color: gray;">Are any your friends?</span>';
			}
			
			
			var fb_user_block = '<div style="clear:both; padding-bottom:8px;">';
		
			fb_user_block += '<span style="font-size:10px;">' + people_text + '</span></div>';

			fb_user_block += fb_people;

			if (num_people > total_icons)
			{								
				fb_user_block += '<div style="text-align:right; clear:both; padding-top:4px;"><a style="padding-right:5px;color:#999999; text-decoration:none;" href="javascript:fb_view_more(\''+eid+'\');">See everyone</a></div>';
			}
			
			el.innerHTML = fb_user_block;
			el.style.display = 'block';
			fb_refresh_id('icons_' + eid);
		}
	}
}

function update_show_list(rsvp, friends, fb_perms)
{
	var session_ok = true;
	if (friends)
	{
		if (friends.exception ) {
		if ( friends.exception.userData.error_code == 104 || friends.exception.userData.error_code == 102)
		{
			//log('bad fb friends ' + friends.exception.userData.errorCode + ' ' + eid);
		}}
	} 
	if (fb_perms && fb_perms.exception) { 
		if ( fb_perms.exception.userData.error_code == 104 || fb_perms.exception.userData.error_code == 102)
		{
			//log('bad fb perms ' + fb_perms.exception.userData.errorCode + ' ' + eid);
		}
	}
	if (friends && friends.result)
	{
		fb_friends = new Array();
		// first call to update_show_list has friends.result
		//    all successive calls have fb_friends set.
		for (i =0 ; i < friends.result.length; i++)
		{
			// build array of friend uids
			fb_friends[friends.result[i]] = true;
		}
	}
	if (fb_perms && fb_perms.result)
	{
		rsvp_ok = fb_perms.result; // set global rsvp_ok
	}
	var updated = false;
	for (var eid in rsvp)
	{
		
		if (rsvp[eid].exception)
		{
		if ( rsvp[eid].exception.userData.error_code == 104 
		|| rsvp[eid].exception.userData.error_code == 102)
		{
			eids.push(eid);
			updated = true;
			continue;
		}}
		if (updated_events[eid] == true)
		{
			continue;
		}
		if (update_people(eid,rsvp))
		{	
			updated = true;
			updated_events[eid] = true;
		}
	}
	var bs_pend = 0;
	if (eids)
	{
	while (eids.length > 0)
	{
		var bs = new FB.BatchSequencer();
		var bs_max = 20;
		rsvp.length = 0;
		for (var i = 0;  i < bs_max; i++)
		{
			var eid = eids.pop();
			if (eid)
			{
				rsvp[eid] = (FB.Facebook.apiClient.events_getMembers(eid, bs));
				bs_pend++;
			}
		}
		if (bs_pend > 0)
		{
			bs.execute (function () { 
				update_show_list(rsvp);
			});
		}
	}
	}
	for (var eid in people)
	{
		show_user_icons(eid);	
	}
	if (!updated)
	{
		var ready = FB.XFBML.Host.get_areElementsReady();
		ready.waitUntilReady(function() { 
			//log('ready'); // take it away gabe..
		});
	}
//		FB.XFBML.Host.parseDomTree(); 
	hide_spinner();
}


function show_more_users(eid)
{
	var friend_uids = new Array();
	var stranger_uids = new Array();

	var selected_style = ' background-color:#6D84B4; color:#ffffff;';

	var dialog_contents =	'<div id="attending_users_' + eid + '" style="height:330px; margin-right:2px; overflow-y:scroll; overflow-x:hidden;">';
	
	if (people[eid]['yes'].length > 0)
	{
		dialog_contents +=	get_more_users_title('Attending')+
							get_more_users_block(people[eid]['yes']);
	}
	if (people[eid]['unsure'].length > 0)
	{	
		dialog_contents +=	get_more_users_title('Maybe')+
							get_more_users_block(people[eid]['unsure']);
	}
	if (people[eid]['not_replied'].length > 0)
	{		
		dialog_contents +=	get_more_users_title('Not Replied')+
							get_more_users_block(people[eid]['not_replied']);
	}
	dialog_contents +=		'</div>';
				
	var dialog = new FB.UI.FBMLPopupDialog("View Guest List", '');
	dialog.setFBMLContent(dialog_contents);
	dialog.setContentWidth(530);
	dialog.setContentHeight(360);
	dialog.show(); 
}

function show_more_fb_users(eid, result)
{
	attending_slice=0;
	unsure_slice=0;
	not_replied_slice=0;
	icons_max=8;

	var title = 'View Guest List';
	
//	var selected_style = ' background-color:#6D84B4; color:#ffffff;';
//	var dialog = new FB.UI.FBMLPopupDialog(title, '');
	if (!result && (!rsvp_counts[eid] || rsvp_counts[eid] > 1024))
	{ 
		if (!people[eid] || ((people[eid]['yes'].length + people[eid]['unsure'].length) < 1024))
		{
			// show dialog spinner here
			var bs = new FB.BatchSequencer();
			rsvp[eid] = (FB.Facebook.apiClient.events_getMembers(eid, bs));
			bs.execute (function () { show_more_fb_users(eid, rsvp[eid]); });
			return;
		}
	}
	else if (result)
	{
		update_people(eid, result);
		// hide dialog spinner here
	}
	
	
	var message = ''+
	'	<div class="fb_show_more_users_dialog">' +
	'		<div class="fb_show_more_users_block">'+
	'			<a href="javascript:;" onclick="Control.Modal.close();" class="fb_show_more_users_close"><img border="0" src="/images/cancel.png" alt="cancel"></a>'+
	'			<div class="fb_show_more_users_dialog_title">'+
	'				View Everyone'+
//	'				<a href="javascript:filter_guest_list(\'friends\');">View Friends</a>'+
	'			</div>'+
	'		</div>'+
	'		<div id="rsvp_users_' + eid + '" class="fb_show_more_user_scroll_box">';

	if(people[eid]['yes'] && people[eid]['yes'].length > 0)
	{
		message += '<div id="attending_users_'+eid+'">'+get_attending_users(eid)+'</div>';

		if (people[eid]['yes'].length > icons_max)
		{
			message += get_more_users_control('Attending', 'attending', eid);	
		}
		
	}
	
	if(people[eid]['unsure'] && people[eid]['unsure'].length > 0)
	{
		message += '<div id="unsure_users_'+eid+'">'+get_unsure_users(eid)+'</div>';
	
		if (people[eid]['unsure'].length > icons_max)
		{	
			message += get_more_users_control('Maybe', 'unsure', eid);
		}		
	}
	
//	if(people[eid]['not_replied'] && people[eid]['not_replied'].length > 0)
//	{
//		message += '<div id="not_replied_users_'+eid+'">'+get_not_replied_users(eid)+'</div>';
//	}

//	message += ''+
//	'		<div class="fb_guests_bottom">'+
//	'			<a href="">Event Details</a>'+
//	'		</div>';


	message += '	</div>';
//	dialog.setFBMLContent(message);
//	dialog.setContentWidth(530);
//	dialog.setContentHeight(360);
//	dialog.show();

	show_pandora_fb_dialog(message);
	FB.XFBML.Host.parseDomElement(document.getElementById('rsvp_users_'+eid)); 
}

function refresh_attending_users(eid)
{
	document.getElementById('attending_users_'+eid).innerHTML = get_attending_users(eid);
	FB.XFBML.Host.parseDomElement(document.getElementById('attending_users_'+eid)); 
}

function get_attending_users(eid)
{	
	var section = get_more_users_title('Attending');
	section += get_more_users_block((people[eid]['yes']).slice(attending_slice,attending_slice+icons_max));
	
	return section;
}
function refresh_unsure_users(eid)
{
	document.getElementById('unsure_users_'+eid).innerHTML = get_unsure_users(eid);
	FB.XFBML.Host.parseDomElement(document.getElementById('unsure_users_'+eid)); 
}
function get_unsure_users(eid)
{
	var section = get_more_users_title('Maybe');
	section += get_more_users_block((people[eid]['unsure']).slice(unsure_slice,unsure_slice+icons_max));
	
	return section;
}

function get_not_replied_users(eid)
{
	var section = get_more_users_title('Not Replied');
	section += get_more_users_block((people[eid]['not_replied']).slice(not_replied_slice,not_replied_slice+icons_max));

}				


function refresh_not_replied_users(eid)
{
	document.getElementById('not_replied_users_'+eid).innerHTML =
	get_not_replied_users(eid);
	FB.XFBML.Host.parseDomElement(document.getElementById('not_replied_users_'+eid)); 
}

function get_more_users_title(title)
{
	var title_text = '<div class="fb_more_users_title">' + title + '</div>';
	return title_text;
}

function get_more_users_control(title, rsvp, eid)
{
	var title_text = 
		'<div class="fb_more_users_pager">'+
		'	<div class="fb_users_pager_prev" id="view_more_prev_' + rsvp + '" style="display:none;">'+
		'		<a href="javascript:view_everyone_prev(\'' + rsvp + '\',\'' + eid + '\');"> << back</a>'+
		'	</div>' +
		'	<div class="fb_users_pager_next" id="view_more_next_' + rsvp + '">'+
		'		<a href="javascript:view_everyone_next(\'' + rsvp + '\',\'' + eid + '\');"> next >> </a>'+
		'	</div>'+
		'</div>';

	return title_text;
}

function view_everyone_prev(rsvp,eid)
{
	if (rsvp == 'unsure')
	{
		unsure_slice -= icons_max;
		refresh_unsure_users(eid);
		view_everyone_button_toggle(people[eid]['unsure'].length, unsure_slice,'unsure', 'prev');
	}

	
	else if (rsvp == 'attending')
	{
		attending_slice -= icons_max;
		refresh_attending_users(eid);
		view_everyone_button_toggle(people[eid]['yes'].length, attending_slice,'attending', 'prev');
	}
}


function view_everyone_next(rsvp,eid)
{
	if (rsvp == 'unsure')
	{
		unsure_slice += icons_max;
		refresh_unsure_users(eid);	
		view_everyone_button_toggle(people[eid]['unsure'].length,unsure_slice,'unsure', 'next');		
	}
	
	else if (rsvp == 'attending')
	{
		attending_slice += icons_max;
		refresh_attending_users(eid);
		view_everyone_button_toggle(people[eid]['yes'].length,attending_slice,'attending', 'next');		
	}
}


function view_everyone_button_toggle(total,slice,rsvp,direction,display)
{
	if (direction == 'prev')
	{
		if (slice == 0)
		{
			$('view_more_prev_' + rsvp).style.display='none';
		}
	
		else if (slice > 0)
		{
			$('view_more_prev_' + rsvp).style.display='block';
		}

		if (slice < total)
		{
			$('view_more_next_' + rsvp).style.display='block';
		}

	}

	else if (direction == 'next')
	{
		if (slice + icons_max >= total)
		{
			$('view_more_next_' + rsvp).style.display='none';
		}
		
		if (slice == icons_max)
		{
			$('view_more_prev_' + rsvp).style.display='block';
		}
	}
	
	
}


function get_more_users_title(title)
{
	var title_text = '<div class="pandora_fb_modal_title">' + title + '</div>';
	return title_text;
}

function get_more_users_block(uids)
{
	var users_block = '<div class="more_user_icon_row">';
	
	for (var i=0; i < uids.length; i++)
	{	
		users_block += get_user_block_more_slim(uids[i]);
	}

	users_block += '</div>';
	
	return(users_block);
}

function get_user_block_more_info(uid)
{
	var user_icon = ''+
	'		<div style="float:left; width:156px; padding:5px; height:55px;">'+
	'			<div style="float: left; width:50px; height:50px; padding:1px; border:1px solid #b5b5b5; margin-right:4px;">'+
	'				<fb:profile-pic uid="' + uid + '" size="square" linked="true"  facebook-logo="true"></fb:profile-pic> ' +
	'			</div>'+
	'			<div style="text-align:left; float:left; height:55px; width:93px;">'+
	'				<div style="height:39px;font-size:10px;"><fb:name uid="' + uid + '" capitalize="true" /></div>';
	if (uid == logged_in_uid)
	{
		// no string
	}	
	else if (fb_friends[uid] == true)
	{
		user_icon += '				<div style="color:#b5b5b5;">Friend</div>';
	}
	else
	{
//		user_icon += '				<div style="color:#b5b5b5;">Stranger</div>';
	}

	user_icon += '			</div>'+
	'		</div>';	
	
	return(user_icon);

}

function get_user_block_more_slim(uid)
{
	var user_icon = ''+
	'<div style="float:left;">'+
	'	<div class="more_user_icon">'+
	'		<fb:profile-pic uid="' + uid + '" size="square" linked="true"  facebook-logo="true"></fb:profile-pic> ' +
	'	</div>'+
	'	<div class="more_user_icon_name"><fb:name uid="' + uid + '" firstnameonly="true" capitalize="true">&nbsp;</fb:name></div>'+
	'</div>';	

	return(user_icon);

}


function show_spinner()
{
		document.getElementById('connect_spinner').style.display = 'block';
}

function hide_spinner()
{
		document.getElementById('connect_spinner').style.display = 'none';
}


function show_rsvp_spinner(eid)
{
	document.getElementById('eid_spinner_' + eid).style.display = 'block';
}

function hide_rsvp_spinner(eid)
{
	
	document.getElementById('eid_spinner_' + eid).style.display = 'none';
}
function set_station_eid(response)
{
	station_eid = response;
}
function publish_to_stream(eid)
{	
	var cancelled = false;
	FB.Connect.requireSession(function (x) 
	{				
		if (cancelled)
		{
			return;
		}
		var pars = '?get_popular_pandora_station_for_eid='+ eid;
		var jsonRequest = new Ajax.Request("/site/pandora/pandora_ajax.php" + pars, { method: "post", onSuccess: function(r) { 

		var attachment = new Array();
		var src='http://posters.sonicliving.com/event/'+event_ids[eid]+'/poster.png';
		var url='http://www.facebook.com/event.php?&eid='+eid;
		var when = event_list[eid].event_date;
		var where = event_list[eid].venue_name;
		var name = event_list[eid].event_title;

		r=r.responseText.evalJSON();
		if (!r.error || r.error == null || r.error == '')
		{
			var attachment = {'name': name,
					'href': url,
					'properties' : {
						'Where': where, 
						'When': when,
						'RSVP': { 'href': url, 'text': 'Click Here'},
						'Listen': { 'href': r.pandora_station_url, 'text': r.artist_name + ' Radio'}
						
					}, 
					'media': [{'type':'image',
		                             'src':src,
		                             'href':url}]};

		}
		else
		{
			
				var attachment = {'name': name,
						'href': url,
						'properties' : {
							'Where': where, 
							'When': when,
							'RSVP': { 'href': url, 'text': 'Click Here'}
							
						}, 
						'media': [{'type':'image',
			                             'src':src,
			                             'href':url}]};		
		}

		var action_links = [{'text':'Pandora Concerts', 'href':"http://pandora.com/concerts"}];		
		FB.Connect.streamPublish('', attachment, action_links);
		pandora_info('publish_to_stream',eid);

	}});
	}, function() { cancelled = true; pandora_info('publish_to_stream_cancel',eid); });
}

function get_share_link(event_obj)
{
	if (!event_obj || !event_obj.eid)
	{
		return "";
	}
	
	
	var text = ""+
	'<a class="pandora_fb_link" href="javascript:publish_to_stream(\'' + event_obj.eid + '\');">'+
	'Post to Facebook'+
	'</a>';

	return text;
}


function get_share_button(event_obj)
{
	if (!event_obj || !event_obj.eid)
	{
		return "";
	}	
	
	var text = "<div style='font-size:11px; float:right'>"+

	'<a style="text-decoration:none;color:grey;" href="javascript:publish_to_stream(\'' + event_obj.eid + '\');">'+
			'<img border=0 style="padding-bottom:2px; vertical-align:top;" src="http://static.ak.facebook.com/images/share/facebook_share_icon.gif" /> '+
			'<span style="text-decoration:underline;">Share</span>'+
	'</a>'+
	'</div>';

	return text;
}

function pandora_fb_logout()
{
	FB.Connect.logout(function() {
//		document.getElementById('fb_connect_button_out').style.display='none';
//		document.getElementById('fb_connect_button_in').style.display='block';
//		document.getElementById('fb_current_user').style.display='none';
//		fb_friends.length=0;
//		rsvp_ok=false;
//		load_events();
	}); 
}

function fb_refresh_id(el_id)
{
//	log('refresh id ' + el_id);
	var el = (document.getElementById(el_id)); 
	if (el)
	{
		FB.XFBML.Host.parseDomElement(el);
	}
	else
	{
		log('refresh id err' + el_id);
	}
}

function fb_refresh_el(el)
{	
	FB.XFBML.Host.parseDomElement(el); 
}


function isInt(x)
{ 
	var y=parseInt(x); 
	if (isNaN(y)) return false; 
	return x==y && x.toString()==y.toString(); 
} 

function log(el)
{
	var is_console = typeof console != 'undefined';
	
	if(is_console)
	{
		console.log(el);
	}
}

function show_current_fb_user()
{
	logged_in_uid = FB.Connect.get_loggedInUser();
	fb_show_logout_items();
	if (draw_icon)
	{
//		return;
	}
	draw_icon = true;
	fb_display_current_name();
	fb_display_current_icon();
	load_events(false);
}

function fb_login_button_clicked()
{
	FB.Connect.forceSessionRefresh();

	draw_icon = false;
//	if (logged_in_uid)
//	{
		show_current_fb_user();
//	}

}
function fb_display_current_name()
{
	var current_username = fb_get_first_name(logged_in_uid);
	$$('.fb_current_username').each(function(s) {
		s.innerHTML = current_username;
		FB.XFBML.Host.parseDomElement(s); 
	});
}



function fb_show_login_items()
{
	$$('.fb_connect_button_in').each(function(s) {
		s.style.display = 'block';
	});

	$$('.fb_connect_button_out').each(function(s) {
		s.style.display = 'none';
	});
	
	$$('.fb_logged_out_only').each(function(s) {
		s.style.display = 'block';
	});

	$$('.fb_logged_in_only').each(function(s) {
		s.style.display = 'none';
	});	
}

function fb_show_logout_items()
{
	$('fb_display_name').innerHTML = 'Hi, ' + '<fb:name uid="' + logged_in_uid + '" useyou="false" firstnameonly="true" linked="false" capitalize="true" />';
	$('fb_display_name').style.display = 'block';				
	fb_refresh_id('fb_display_name');
	$$('.fb_connect_button_in').each(function(s) {
		s.style.display = 'none';
	});

	$$('.fb_connect_button_out').each(function(s) {
		s.style.display = 'block';
	});

	$$('.fb_logged_out_only').each(function(s) {
		s.style.display = 'none';
	});

	$$('.fb_logged_in_only').each(function(s) {
		s.style.display = 'block';
	});	
}

function fb_display_current_icon()
{
	var user_pic_path = get_user_icon(logged_in_uid, false);
//	$$('.fb_current_user').each(function(s) {
//		s.innerHTML = user_pic_path;
//		s.style.display = 'block';
//		FB.XFBML.Host.parseDomElement(s); 
//	});
	var s = document.getElementById('fb_current_user');
	s.innerHTML = user_pic_path;
	s.style.display = 'block';
	FB.XFBML.Host.parseDomElement(s); 
}

function fb_get_first_name(uid)
{
	return '<fb:name useyou="false" firstnameonly="true" linked="false" uid="' + uid + '" capitalize="true" />';
}

function fb_logout_button_clicked()
{
	// steve: dont stash code here.  use render_fb_login_button code
	// gabe: why?
	// steve: state changes may happen outside of these two buttons.  FB.Connect.init will handle it for us with an event listener
	

	FB.Connect.logout();
	
}

function get_rsvped_people()
{
	if (rsvped_shown == true)
	{
		return;
	}
	rsvped_shown = true;
	var pars = '?get_rsvped=true';
	for (var eid in event_ids)
	{
		if (eid.toString().search(/^[0-9]+$/) == 0) // only ints
		{
			pars += "&eids[]="+eid;
		}
	}
	var ajaxurl = '/site/influence/influence_ajax.php';
       new Ajax.Request(ajaxurl, { parameters: pars, method:'post', onComplete: function(t) {
                var rsvp = t.responseText.evalJSON();
                
		for (var eid in rsvp)
                {
                        if (!rsvp[eid].result)
                        {
                                continue;
                        }
			update_people(eid, rsvp);
			show_user_icons(eid);	
                }
                }});

}

function update_people(eid, rsvp)
{
	if (!isInt(eid))
	{
		return true;
	}
	if (rsvp[eid] && rsvp[eid].exception )
	{
		if (rsvp[eid].exception.userData.error_code == 104 || 
//		rsvp[eid].exception.userData.error_code == 100 ||
		rsvp[eid].exception.userData.error_code == 102)
		{
			eids.push(eid); // retry
			session_ok = false;
			return false;
		}
	}	
	if (!rsvp[eid] || !rsvp[eid].result)
	{
		return false;
	}
	var session_ok = true;
	if (typeof (people[eid]) == 'undefined') 
	{ 
		people[eid] = new Array(); 
		people[eid]['friends'] = new Array();
		people[eid]['strangers'] = new Array();
		people[eid]['yes'] = new Array();
		people[eid]['unsure'] = new Array();
		people[eid]['not_replied'] = new Array();
		seen_uid[eid] = new Array(); // handle dupe / bad results from fb
	}

	if (rsvp[eid].result['attending'] && rsvp[eid].result['attending'].length)
	{
		for (var k=0; k < rsvp[eid].result['attending'].length; k++)
		{
			if (seen_uid[eid][rsvp[eid].result['attending'][k]])
			{
				// previous result from fb.  we've got 2 different rsvp_status now, or we queried twice
				// still may need to update user rsvp status.
				if (rsvp[eid].result['attending'][k] == logged_in_uid)
				{
					// current user rsvp status
					var el = document.getElementById('fb_rsvp_yes_'+eid);
					if (el)
					{
						el.checked = true;
					}
				}
			}
			else
			{
				if (rsvp[eid].result['attending'][k] != logged_in_uid)
				{
					people[eid]['yes'].push(rsvp[eid].result['attending'][k]);
				}
				
				seen_uid[eid][rsvp[eid].result['attending'][k]] = true;
				if (rsvp[eid].result['attending'][k] == logged_in_uid)
				{
					// current user rsvp status
					var el = document.getElementById('fb_rsvp_yes_'+eid);
					if (el)
					{
						el.checked = true;
					}
				}
				else
				{
					if (fb_friends[rsvp[eid].result['attending'][k]])
					{
						// friends
						people[eid]['friends'].push(rsvp[eid].result['attending'][k])
					}
					else
					{
						// strangers
						people[eid]['strangers'].push(rsvp[eid].result['attending'][k]);
					}
				}
			}
		}
	}
	if (rsvp[eid].result['unsure'] && rsvp[eid].result['unsure'].length)
	{
		for (var k=0; k < rsvp[eid].result['unsure'].length; k++)
		{
			if (seen_uid[eid][rsvp[eid].result['unsure'][k]])
			{
				// previous result from fb.  we've got 2 different rsvp_status now, or we queried twice
				// still may need to update user rsvp status.
				if (rsvp[eid].result['unsure'][k] == logged_in_uid)
				{
					// current user rsvp status
					var el = document.getElementById('fb_rsvp_maybe_'+eid);
					if (el)
					{
						el.checked = true;
					}
				}
			}
			else
			{

				if (rsvp[eid].result['unsure'][k] != logged_in_uid)
				{
					people[eid]['unsure'].push(rsvp[eid].result['unsure'][k]);
				}
			
				seen_uid[eid][rsvp[eid].result['unsure'][k]] = true;
				if (rsvp[eid].result['unsure'][k] == logged_in_uid)
				{
					// current user rsvp status
					var el = document.getElementById('fb_rsvp_maybe_'+eid);
					if (el)
					{
						el.checked = true;
					}
				}
				else
				{
					if (fb_friends[rsvp[eid].result['unsure'][k]])
					{
						// friends
						people[eid]['friends'].push(rsvp[eid].result['unsure'][k])
					}
					else
					{
						// strangers
						people[eid]['strangers'].push(rsvp[eid].result['unsure'][k]);
					}
				}
			}
		}
	}
	if (rsvp[eid].result['not_replied'] && rsvp[eid].result['not_replied'].length)
	{
		for (var k=0; k < rsvp[eid].result['not_replied'].length; k++)
		{
			if (seen_uid[eid][rsvp[eid].result['not_replied'][k]])
			{
				// bad result from fb.  we've got 2 different rsvp_status now
			}
			else 
			{
				if (rsvp[eid].result['not_replied'][k] != logged_in_uid)
				{
					people[eid]['not_replied'].push(rsvp[eid].result['not_replied'][k]);
				}			

			}
		}
		// seen[rsvp[eid].result['not_replied'][k]] = true;
	}
	if (rsvp[eid].result['declined'] && rsvp[eid].result['declined'].length)
	{
		for (var k=0; k < rsvp[eid].result['declined'].length; k++)
		{
			// not tracking seen declined
			if (rsvp[eid].result['declined'][k] == logged_in_uid)
			{
				// current user rsvp status
				var el = document.getElementById('fb_rsvp_no_'+eid);
				if (el)
				{
					el.checked = true;
				}
			}
		}
	}
	if (!session_ok)
	{
		FB.Connect.forceSessionRefresh();
	}
	return true;
}

function friends_fans_text(num_friends,num_strangers)
{

	var whos_playing = '';
	 
	whos_playing += '<span class="whos_playing">';
	
	if (num_friends == 1)
	{
		whos_playing += '<span class="whos_playing_friend">1 Friend</span>';
	}
	else if (num_friends > 1)
	{
		whos_playing += '<span class="whos_playing_friend">' + num_friends + ' Friends</span>';	
	}

	if (num_strangers == 1)
	{
		whos_playing += ' 1 Fan';	
	}
	else if (num_strangers > 1)
	{
		whos_playing += ' ' + num_strangers + ' Fans';
	}

	whos_playing += '</span>';
	
	return whos_playing;
	
	
}

function show_pandora_fb_dialog(text)
{
	var message = '<div class="pandora_fb_dialog"><div class="pandora_fb_dialog_body">' + text + '</div><div style="clear:both;"></div></div>';
	modal_dialog = Control.Modal.open(true, { opacity: 0, overlayCloseOnClick: false, contents: message });
	modal_dialog.position();

}

function pandora_info(action,eid)
{
	if (page_load && !logged_in_uid)
	{
		return;	 // log logged out view only once per page load
	}
	page_load = true;
	
	var pars = '?uid='+logged_in_uid+'&user='+pandora_user;//+'&action='+pandora_action;
	if (action)
	{
		pars += '&a='+action;	
	}	
	if (eid)
	{
		pars += '&eid='+eid;	
	}	
	var jsonRequest = new Ajax.Request("/pandora/pandora_info_ajax.php" + pars, { method: "post", onSuccess: 
function(r)
{ 
}});
}

function fb_view_event(eid)
{
	pandora_info('view_event',eid); 
	setTimeout("window.location=('http://www.facebook.com/event.php?eid="+eid+"');",1000);
}

function fb_ticket(eid,url)
{
	pandora_info('ticket',eid); 
	setTimeout("window.location=('"+url+"');",1000);
}

function fb_view_more(eid)
{
	var c=false; 
	FB.Connect.requireSession(function(x) { if (c) { return; } ; show_more_fb_users(eid); pandora_info('show_more',eid);},function() { c=true; pandora_info('show_more_cancel',eid);});
}

