var fb_photos_loaded = false;
var $fb_panza; var $fb_container;var $fb_import; var fb_curr_opt;
jQuery.fn.fb_photos = function(opt){
$(this).after('<fb:login-button></fb:login-button>');
var $self = $(this);
var $fb_login = $(this).next();
var apiClient;
var clickEvent = function(){
	
	if(fb_photos_loaded == true)
	{
	
		fb_curr_opt = opt;
		
		$fb_panza.show();
		$fb_container.show();
		$("#rm_upload_status").hide();
		refresh_multimedia(trid);
		return;
	}
	//alert('11');
	FB.Facebook.apiClient.users_hasAppPermission("user_photos", function(o) { // is permission granted?
			if (o != "1") { // user does not have permission, render dialog 
	            FB.Connect.showPermissionDialog("user_photos",function(perms) {})
	 				}
	})
// 	
// 	
// 	,
	opt.facebook_loader.show();
	var albums=null;
	//alert(FB.Facebook.apiClient.get_apiKey());
	try{
	FB.ensureInit(function () {
	apiClient.photos_getAlbums(apiClient._session.uid,null,function(albums){
		var albums_left = albums.length;
		$(albums).each(function(key,album){
			apiClient.photos_get(null,album.aid,null,function(photos){
				album.photos = photos;
				albums_left--;
			    if(albums_left == 0)
				{
					fb_curr_opt = opt;
					generate_fb_photos(albums);
					opt.facebook_loader.hide();
				}
			});
		})
	
	});
	});
	}catch(err){alert(err.description)}
}
var userConnected = function(){
	$fb_login.hide();$self.show();
	apiClient = FB.Facebook.apiClient;
	$self.click(clickEvent);
};
var userNotConnected = function(){
	$self.hide();$fb_login.show();
};

FB_RequireFeatures(["Api"], function(){
FB.Facebook.init("bf06f52b36b9999ad472e8aa3a4e4629",opt.xd_reciever,null);
FB.Connect.ifUserConnected(userConnected,userNotConnected);
});

}

var generate_fb_photos = function(albums){
	$(document.body).append('<div class="fb-panza"></div>');
	$fb_panza = $('div.fb-panza');
	var new_id = "SWF_button_" + Math.round(100000*Math.random());
	$(document.body).append('<div id="fb-container" class="images"><div id="fb-box"><h2>Add photos you like from '+trloc+' from Facebook albums (below), or import them from computer : <i id='+new_id+'></i><span>Facebook albums</span></h2><a class="close">Close window</a><hr /><div class="fieldset flash" id="fsUploadProgress"></div><div class="media-box" id="multimedia-box"><div style="clear:both;"></div></div><div id="rm_upload_status" style="display:none"><div style="clear: both; font-size: 1px; line-height: 0px;"> &nbsp;</div><div style="font-size:14px;font-weight:bold;padding-bottom:10px">Yay! Your photos are loaded!</div><hr/></div><h3>Select the images you wish to import into your TrippyDoo post and hit the Import button</h3><p class="crumbs" id="1"><a id="albums">Facebook Albums</a><p class="crumbs" id="2"> / Album name</p><form><ul class="photos"></ul><ul class="albums"></ul></form><hr /><a class="import">Import to TrippyDoo</a><a class="select-all">Check all</a><a class="unselect-all">Uncheck all</a><div class="importing-photos"></div><a class="logout">Logout</a></div></div>');
	$multimedia_box = $('div.media-box#multimedia-box');
	new SWFUpload({
			// Backend Settings
			upload_url: swf_upload_photo_url,
			post_params: {"trip" : trid, "symfony" :symfony_cookie} ,

			// File Upload Settings
			file_size_limit : "10240",	file_types : "*.jpg;*.jpeg;*.png",	file_types_description : "Images",	file_upload_limit : "1000",	file_queue_limit : "0",

			// Event Handler Settings (all my handlers are in the Handler.js file)
			file_dialog_start_handler : fileDialogStart, file_queued_handler : fileQueued, file_queue_error_handler : fileQueueError, 
			file_dialog_complete_handler : fileDialogComplete, upload_start_handler : uploadStart, upload_progress_handler : uploadProgress, 
			upload_success_handler : upload_success, upload_complete_handler : uploadComplete,
			button_image_url : button_image_url,
			button_placeholder_id : new_id, button_width: 62, button_height: 22,
	  
			// Flash Settings
			flash_url : flash_url,

			custom_settings : {	progressTarget : "fsUploadProgress", cancelButtonId : "btnCancel"},
	  
			// Debug Settings
			debug: false
			});
	$fb_container = $('div#fb-container.images');
	$logout = $('a.logout',$fb_container);
	$select_all = $('a.select-all',$fb_container);
	$unselect_all = $('a.unselect-all',$fb_container);
	$import = $('a.import',$fb_container);
	$importing = $('div.importing-photos',$fb_container);
	$crumbs_1 = $('p.crumbs#1',$fb_container);
	$crumbs_2 = $('p.crumbs#2',$fb_container);
	$fb_panza.click(function(){$fb_container.hide(); $(this).hide()});
	$('a.close',$fb_container).click(function(){$fb_container.hide();  $fb_panza.hide()});
	$photo_container = $('ul.photos',$fb_container);
	$album_container = $('ul.albums',$fb_container);
	w = $fb_container.width();
	h = $fb_container.height();
	$fb_container.css('margin-left',-parseInt((w)/2));
	//$fb_container.css('margin-top',-parseInt((h)/2));
	var album;
	function show_albums(){
		if(!fb_photos_loaded) return;
		$photo_container.hide();$album_container.show();$select_all.hide();$unselect_all.hide();$import.css('display','none');
		$crumbs_1.hide();$crumbs_2.html('fb Albums');$crumbs_2.show();
	}
	function show_photos(){
		if(!fb_photos_loaded) return;
		$photo_container.show();$album_container.hide();$select_all.show();$unselect_all.show();$import.css('display','block');
		$crumbs_1.show();
	}
	$(albums).each(function(album_key,album){
		$(album.photos).each(function(photo_key,photo){
			$($photo_container).append('<li album="'+album_key+'" style="display:none"><label for="'+album_key+'_'+photo_key+'"><img src="'+photo.src_big+'" /> <input type="checkbox" id="'+album_key+'_'+photo_key+'" value="'+photo.src_big+'" /> <em>Select this</em></label></li>');
		})
		$album_container.append('<li album="'+album_key+'" title="'+album.name+'"><a><img src="'+album.photos[0].src_big+'" /><strong>'+album.name+'</strong></a></li>');
	});
	$('li a',$album_container).click(function(){
		id = $(this).parent().attr('album');
		$('li[album!='+id+']',$photo_container).hide();
		$('li[album='+id+']',$photo_container).show();
		album = id;
		$crumbs_2.html(' / ' + $(this).parent().attr('title'));
		show_photos();
	});
	fb_photos_loaded = true;
	show_albums();
	var can_click = true;
	$import.click(function(){
		if(!can_click)
			return;
		can_click = false;
		post_string = '';
		$checkboxes = $(':checked',$photo_container);
		$checkboxes.each(function(key,item){
			post_string += 'src['+key+']='+$(item).val()+'&';
		});
		post_string += "trip=";
		post_string = post_string + trid//fb_curr_opt.trip;
		$importing.show();
		$.post(fb_curr_opt.import_url, post_string,
			function(data){
			   // alert(data.status)
				fb_curr_opt.refresh_function(trid);
				$checkboxes.each(function(key,item){$(item).next().html('uploaded'); $(item).remove();})
				$importing.hide(); can_click = true; 
			    $('#rm_upload_status').show(); 
			},'json');
	});
	$select_all.click(function(){
		if(!fb_photos_loaded) return;
		$('li[album='+album+'] :checkbox',$photo_container).attr('checked', true);
	})
	$unselect_all.click(function(){
		if(!fb_photos_loaded) return;
		$('li[album='+album+'] :checkbox',$photo_container).attr('checked', false);
	})
	$('a#albums',$crumbs_1).click(show_albums);
	$logout.click(function(){
		FB.Connect.logout();
		fb_photos_loaded = false;
		$fb_container.remove();
		$fb_panza.remove();
	});
}

