function show_share(url, type) {
	var width = 0, height = 0;
	if (type == 'facebook' || type == 'single_facebook') {
		if (type != 'single_facebook' && facebook_share()) {
			return;
		}
		width = 800;
		height = 365;
	} else if (type == 'twitter') {
		width = 800;
		height = 420;
	} else if (type == 'classic_facebook') {
		width = 800;
		height = 365;
		type = 'facebook';
	} else if (type == 'classic_email') {
		width = 400;
		height = 320;
		type = 'email';
	} else { //width = 335; height = 275;
		$.colorbox({width:430, height:375, opacity:.85, iframe:true, href:url, open:true});
		return;
	}
	
	// open share url in popup
	if (isMobileApp()) alert('This featured is not supported in the Kaptur App.');
	else window.open(url, type+'_share', 'width='+width+',height='+height+'top=0,left=0,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no');
}

function facebook_share() {
	var segment_id = segmentData?segmentData.id:'';
	try { segment_id = memoryCreationWizard.sid; } catch(err) {}
	if (segment_id) {
		// count number of photos
		var num_photos = 0;
		for (var i in fbPhotoPointIds) num_photos++;
		for (var i in flickrPhotoPointIds) num_photos++;
		if (num_photos == 1) return false;
		
		var segment_title = segmentData? segmentData.title : '';
		var segment_thumb = segmentData.cover?segmentData.cover.thumb:'';
		try { segment_thumb = memoryCreationWizard.thumb } catch(err) {}
		if (!segment_thumb || num_photos < 2) segment_thumb = DOMAIN_URL+TEMPLATE_VIEW_PATH+'images/fb_thumb.jpg';
		
		var args = {}; // message: segment_title
		args['picture'] = segment_thumb;
		if (num_photos > 1) args['source'] = DOMAIN_URL+TEMPLATE_RESOURCES_PATH+'slickboard/slideshow.swf?xml_source='+escape(DOMAIN_URL+'?p=slickboard_xml&sid='+segment_id); // &gli=H.MLNSYY8QDKF.X1T6BMQE8MH6715B
		
		// special url handling for IE
		var url_params = '?p=nw&sid='+segment_id+'&ref=facebook';
		if (segmentFlags.weddingAlbum || in_array(memoryCreationWizard.app_id, [10, 11])) {
			url_params += '&aff=weddingalbum';
		} if (editNight) url_params += '&friend='+loggedInUser;
		
		if (memoryCreationWizard.app_id == 20 && (loggedInUser != memoryCreationWizard.fb_owner)) {
			url_params += '&friend_share='+loggedInUser
		}
		
		if (navigator.userAgent.indexOf("MSIE") != -1) url_params = escape(url_params);
		args['link'] = DOMAIN_URL+url_params;
		
		/*FB.api('/me/feed', 'post', args, function(response) {
		  if (!response || response.error) {
			alert('Error occured');
		  } else {
			alert('Post ID: ' + response.id);
		  }
		});*/
		
		args['method'] = 'feed'; // name, caption, description
		args['actions'] = [{name: 'View on Kaptur', link: args['link']}];
		//args['target'] = '100000010461573'
		FB.ui(args);
		
		return true;
	}return false;
}

function updateEmbed() {
	var embed = $('#memoryEmbedCode'),
		embedText = '',
		embedPhotos = $('#memoryEmbedPhotosCheckbox').attr('checked'),
		embedVideos = $('#memoryEmbedVideosCheckbox').attr('checked'),
		embedStatuses = $('#memoryEmbedStatusesCheckbox').attr('checked'),
		embedHeight = parseInt($('#memoryEmbedHeight input').val(), 10),
		embedWidth = parseInt($('#memoryEmbedWidth input').val(), 10);

	if (!embedHeight) {
		embedHeight = 320;
		$('#memoryEmbedHeight input').val(embedHeight);
	}
	
	if (!embedWidth) {
		embedWidth = 480;
		$('#memoryEmbedWidth input').val(embedWidth);
	}
	var segment_id = segmentData.id;
	try { segment_id = memoryCreationWizard.sid; } catch(err) {}
	embedText = '<iframe src="http://'+location.host+'/?p=slideshow&sid='+
		segment_id+'&width='+embedWidth+'&height='+embedHeight+'&displayphotos='+
		embedPhotos+'&displayvideos='+embedVideos+'&displaystatuses='+embedStatuses+
		'" width="'+embedWidth+'" height="'+embedHeight+'" frameborder="0" scrolling="no"></iframe>';

	embed.val(embedText);
}

function updateShareLinks() {
	if (segmentData.id) {
		var context = ''; // extract url context (for IE)
		//if (navigator.userAgent.indexOf("MSIE") != -1) { }
		var domain = '';
		if (location.href.match('recreatemynight.com')) {
			domain = 'recreatemynight';
		} else {
			domain = 'kaptur';
		}
		var re = new RegExp('([^/]*)' + domain + '.com');
		var url_context = re.exec(location.href); // extract video dimensions
		if (url_context) {
			context = '&context='+url_context[1];
		}

		if (domain) {
			domain = '&domain=' + domain;
		}
		
		// update share links
		var link_sid = '&sid='+segmentData.id;//+'&v=2';
		if (segmentFlags.weddingAlbum) {
			link_sid += '&aff=weddingalbum';
			if (editNight) link_sid += '&friend='+loggedInUser;
		}var fbShareLink = '?share=facebook&p=s'+link_sid;
		var twitterShareLink = '?&share=twitter&p=s'+link_sid;
		var emailShareLink = 'http://emailer.kaptur.com?share=email&p=s'+link_sid+context+domain;
		var shareLinkText = location.href.split('?')[0]+'?p=n'+link_sid+'&ref=link';
		try {
			document.getElementById('fbShareBtn').href = fbShareLink;
			document.getElementById('twitterShareBtn').href = twitterShareLink;
			document.getElementById('emailShareBtn').href = emailShareLink;
			document.getElementById('fbHelpShareBtn').href = fbShareLink;
			$('#share_link').val(shareLinkText);
			document.getElementById('twitterHelpShareBtn').href = twitterShareLink;
			document.getElementById('emailHelpShareBtn').href = emailShareLink;
			document.getElementById('new_night_create_share_link').value = shareLinkText;
			document.getElementById('downloadAllLink').href = '?p=download'+link_sid;
			updateEmbed();
			// append night owner name info to share link
			if (editNight) updateShareLinkOwnerInfo();
		} catch(err) {}
	}
}

function updateShareLinkOwnerInfo() {
	var owner_param = '&owner=';
	if (segmentData.fbOwnerName) owner_param += segmentData.fbOwnerName;
	else owner_param += 'my friend';
	var fb_share_link = document.getElementById('fbShareBtn');
	var twitter_share_link = document.getElementById('twitterShareBtn');
	var email_share_link = document.getElementById('emailShareBtn');
	if (fb_share_link) {
		fb_share_link.href = replaceUrlParam('owner', segmentData.fbOwnerName, fb_share_link.href)
		twitter_share_link.href = replaceUrlParam('owner', segmentData.fbOwnerName, twitter_share_link.href)
		email_share_link.href = replaceUrlParam('owner', segmentData.fbOwnerName, email_share_link.href);
	}
}

function updateLikeBtn() {
	var segment_id = segmentData.id;
	if (segment_id) {
		readFromDB('getFacebookUserIdByRmnId', [segmentData.owner], function(data) {
			var result = JSON.parse(data);
			var owner_fbid = result['result'];
			if (owner_fbid) {
				//var getUserFQL = FB.Data.query('select name from user where uid={0}', owner_fbid);
				//getUserFQL.wait(function(data) { var owner_name = data[0].name;
				FB.api('/'+owner_fbid, function(response) {
					var owner_name = response.name;
					var nightActionInfo = document.getElementById('nightActionInfo');
					var segment_title = owner_name+'\'s Memory ('+formatDateStr(new Date(getAdjustedTime(segmentData.start)*1000), 'day')+')';
					var domain_url = DOMAIN_URL;
					if (domain_url.match("recreatemynight.com") !== null) {
						domain_url = domain_url.replace("recreatemynight.com", "kaptur.com");
					}
					nightActionInfo.innerHTML = '<fb:like href="'+domain_url+'?p=n&sid='+segment_id+'&title='+segment_title+'" width="'+(location.href.indexOf('getmarried')==-1?300:250)+'" layout="button_count" show_faces="false" font="helvetica"></fb:like>'; // &v=2
					loadFBML(nightActionInfo);
				});
			}
		});
	}
}

function addToAttendList(uid, remove, first_name, last_name) {
	var attendee_id = 'attendee'+uid;
	var attendee_album_id = attendee_id+"_album";
	var attendee_wrapper = document.getElementById(attendee_id);
	var attendee_album_wrapper = document.getElementById(attendee_album_id);
	var friend_wrapper = document.getElementById('f'+uid);
	var attendee_div = document.getElementById('nightFriendPicsWrapper');
	var attendee_album_div = document.getElementById('fbFriendSelectContents');
	if (attendee_div){
		if (!remove) {
			var new_attendee_div = document.createElement('div');
			new_attendee_div.id = attendee_id;
			new_attendee_div.className = "night_friend_pic_wrapper";
			var new_attendee_album_div = document.createElement('div');
			new_attendee_album_div.id = attendee_album_id;
			new_attendee_album_div.className = "profile_album_pic";
			
			// construct html
			var friend_div_content = getLinkedProfilePic(uid, first_name, last_name);
			if ((!editNight || userProfileObj.pairNewPoints) && uid != segmentData.fbOwner) friend_div_content += '<div class="small_delete_btn" onclick="addFbUserToNight(\''+uid+'\', 1)"></div>';
			new_attendee_div.innerHTML = friend_div_content;
			//new_attendee_album_div.innerHTML = '<fb:profile-pic uid="'+uid+'" size="square" linked="false" class="profile_pic" onclick="loadUserAlbums(\''+uid+'\')" />';
			var full_name = getFullName(first_name, last_name);
			new_attendee_album_div.innerHTML = '<img src="http://graph.facebook.com/'+uid+'/picture" class="profile_pic"'+(full_name?' title="'+full_name+'"':'')+' onclick="loadUserAlbums(\''+uid+'\')">';
			
			// insert and update elements
			attendee_div.appendChild(new_attendee_div);
			if (attendee_album_div && (uid != segmentData.fbOwner && uid != loggedInUser) || (uid == segmentData.fbOwner && editNight)) attendee_album_div.appendChild(new_attendee_album_div);
			//loadFBML(new_attendee_div); loadFBML(new_attendee_album_div);
			var wizardContributeCheck = !wizardMemoryData || (wizardMemoryData && segmentFlags.wizardShowContributeActive);
			if (!editNight && wizardContributeCheck) updateAutoShowRemove('night_friend_pic_wrapper');
			if (friend_wrapper) friend_wrapper.className = 'friend_wrapper_selected';
			if (uid != segmentData.fbOwner) segmentFriendFbIds[uid] = 1;
		} else {
			attendee_div.removeChild(attendee_wrapper);
			if (attendee_album_div) attendee_album_div.removeChild(attendee_album_wrapper);
			if (friend_wrapper) friend_wrapper.className = 'friend_wrapper';
			delete segmentFriendFbIds[uid];
		}
		
		updateFriendCount();
	} else {
		addToFriendTab(uid, remove, first_name, last_name);
	}
}

function updateUserName(fbid, first_name, last_name) {
	try {
		var full_name = getFullName(first_name, last_name);
		document.getElementById('attendde'+fbid).title = full_name;
		document.getElementById('attendde'+fbid+'_album').title = full_name;
	} catch (err) {}
}

function addFbUserById(fbid) {
	var owner_id = getFid;
	if (!owner_id) owner_id = loggedInUser;
	
	var error_msg = '';
	var fb_user_id_field = document.getElementById('addFbUserId');
	var fb_user_id_error = document.getElementById('addFbUserIdError');
	if (!fbid) fbid = fb_user_id_field.value;
	fbid = parseInt(fbid, 10);
	if (fbid) {
		if (fbid == owner_id) error_msg = 'Cannot add memory owner.';
		else if (document.getElementById('attendee'+fbid))
			error_msg = 'User has already been added to the memory!';
		else {
			queryFacebook('select first_name, last_name from user where uid="{0}"',
				[fbid], function(users) {
					var fb_user = users[0];
					if (fb_user) {
						var user_first_name = fb_user['first_name'];
						var user_last_name = fb_user['last_name'];
						addFbUserToNight(fbid, 0, user_first_name, user_last_name);
						fb_user_id_field.value = '';
					} else {
						queryFacebook('SELECT name FROM page WHERE page_id="{0}"',
						[fbid], function(users) {
							var fb_user = users[0];
							if (fb_user) {
								var user_name = fb_user['name'];
								addFbUserToNight(fbid, 0, '', user_name);
								fb_user_id_field.value = '';
							} else error_msg = 'Invalid Facebook Id!';
						});
					}
				});
		}
	} else error_msg = 'Invalid Facebook Id!';
	
	fb_user_id_error.innerHTML = error_msg;
	if (error_msg) fb_user_id_field.focus();
}

function updateInvitedText(owner_fbid) {
	var nightCanvasEmptyTitle = document.getElementById('nightCanvasEmptyTitle');
	if (owner_fbid != loggedInUser) {
		//var getUserFQL = FB.Data.query('select uid, name, pic_square from user where uid={0}', owner_fbid);
		//getUserFQL.wait(function(users) {
		FB.api('/'+owner_fbid, function(response) {
			var fb_user = response; // users[0];
			var user_id = fb_user['id']; // uid
			var user_name = fb_user['name'];
			var user_thumb = fb_user['picture']; // pic_square
			if (!user_thumb) user_thumb = getPartnerLink(owner_fbid, 'profile_pic');
			var invitedNightText = document.getElementById('invitedNightTextWrapper');
			var posessive = user_name+"'s";
			if (rmnAppId==4){
				// getMarried; hack
				if (invitedNightText) invitedNightText.innerHTML='<div id="invitedNightTextCenter"><div id="invitedNightText">Welcome to <a href="?p=f&fid='+user_id+'">'+user_name+'</a>\'s memory!</div></div><div class="clear"></div>';
			} else {
				if (invitedNightText) invitedNightText.innerHTML = '<div id="invitedNightTextCenter"><div id="invitedNightTextThumb"><a href="?p=f&fid='+user_id+'"><img src="'+user_thumb+'" alt="'+user_name+'" title="'+user_name+'" class="profile_pic_small" /></a></div><div id="invitedNightText">You are viewing '+posessive+' memory.<br>Click <a href="#" onclick="recreateOwnNight(); return false;">here</a> to create your own memory.</div><div class="clear"></div></div>';
			}if (nightCanvasEmptyTitle) nightCanvasEmptyTitle.innerHTML = 'Help Recreate '+posessive+' Memory!'
			if (invitedNightText) invitedNightText.style.display = 'block';
			
			// store invited user info in memory
			segmentData.fbOwner = user_id;
			segmentData.fbOwnerName = user_name;
			
			// update share links
			updateShareLinkOwnerInfo();
		});
	} else {
		var headerBarNewNightLink = document.getElementById('headerBarNewNightLink');
		if (headerBarNewNightLink) headerBarNewNightLink.style.display = 'block';
		var newNightCreateHintsLink = document.getElementById('newNightCreateHintsLink');
		if (newNightCreateHintsLink) newNightCreateHintsLink.style.display = 'inline';
		if (nightCanvasEmptyTitle) nightCanvasEmptyTitle.innerHTML = 'Recreate Your Memory!'
	}
}

function sendFbInvite(uid) {
	var post_prompt = "Invite friends to Kaptur!";
	//var post_title = "Kaptur";
	var post_title = (userProfileObj.first_name?userProfileObj.first_name+' invited you':'You were invited')+' to check out Kaptur.com!';
	var post_msg = "";//"Hey check out Kaptur.com!"; // and start recreating precious moments in your life
	var post_thumb = DOMAIN_URL+TEMPLATE_VIEW_PATH+"images/kaptur/corolla_logo.png";
	/*var night_owner = userProfileObj.name;
	var post_desc = night_owner?night_owner+" invited you to check out kaptur.com to recreate and relive your memories!":'';*/
	//var post_desc = 'Kaptur brings together everyone\'s photos, videos, and updates from your wedding or other event';
	var post_desc = 'Kaptur finds everyone\'s photos, videos, and posts from your memories in seconds.';
	var action_link_text= "Kaptur";
	var night_url = DOMAIN_URL+'?ref=fb_invite';
	var ui_args = { // show fb prompt
		method: 'stream.publish',
		message: post_msg,
		attachment: {
			name: post_title, /*caption: link_text,*/ description: post_desc,
			href: night_url,
			media: [ {
				type: "image",
				src: post_thumb, href:night_url
			} ]
		},
		action_links: [ {
			text: action_link_text,
			href: night_url
		} ],
		target_id: uid,
		user_message_prompt: post_prompt
	};
	/*var handleResponse = function(response) {
		if (response && response.post_id) alert('Post was published.');
		else alert('Post was not published.');
	}*/
	
	//try {
	//	FacebookProxy.ui(ui_args);
	//} catch (err){
		FB.ui(ui_args/*, handleResponse*/);
	//}
}

