$(function(){
jQuery.fn.editPost = function(opt){
var map;var $container; var $loading; var $saving; var $details;var $save; var $cancel;
$self = $(this); var $form; var $keep_location;
var refresh_photos = function(){
	$.post(opt.post_get_photos_url,{post: opt.post},function(resp){
		$('div.box#box_photos div#post_photos',$details).html(resp);
	});
};
var refresh_videos = function(){
	$.post(opt.post_get_videos_url,{post: opt.post},function(resp){
		$('div.box#box_videos div#post_videos',$details).html(resp);
	});
};
var setStuff = function(){
	$form = $('form', $details);
	var $point_location = $('a#toggle_map',$details);
	Calendar.setup({
		inputField : "date_"+opt.post,
		ifFormat : "%Y-%m-%d",
		daFormat : "%Y-%m-%d",
		button : "trigger_calendar_"+opt.post
	});
	// *** aici am scos partea de editor text 
	//$('textarea',$details).rte({width: 635,height: 100,controls_rte: trippy_toolbar});
	if(typeof(google) != 'undefined')
	{
		map = new GMap2($('div#map_container div#map',$details)[0]);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		map.setCenter(new GLatLng(0,0));
		google.setOnLoadCallback(function(){$('div#map div#copyright').hide()});
	}
	$('input.autocomplete',$details).autocomplete({ url: opt.city_url ,map: map,icon_path: opt.web_dir,$loc_lat: $('input#location_location_lat',$details) , $loc_lng: $('input#location_location_lng',$details),$loc_code: $('input#location_location_code',$details),$spinner: $('img.spinner',$details)});
	$keep_location = $('input#keep-location',$details);
	var div = $('div#custom_location',$details);
	$keep_location.click(function(){
		if($(this).attr('checked') == false)
			div.show();
		else
			div.hide();
	});
	if($keep_location.attr('checked') == false)
		div.show();
	else
		div.hide();
	tabs($('ul.mediatab li:first a',$details),$('div.box#box_photos',$details),$('ul.mediatab li:last a',$details),$('div.box#box_videos',$details));
	SI.Files.stylize($('div#box_videos.box form input#new_video',$details)[0]);
	refresh_photos();refresh_videos();
	var first_map_open = true;
	$point_location.click(function(){
		if(!map) return;
		var $map_container = $('div#map_container');
		if($map_container.css('display')=='none')
			{
				$map_container.show();
				if(first_map_open)
				{
					map.checkResize();
					map.setCenter(new GLatLng(0,0));
					first_map_open = false;
				}
				$(this).html('Hide map');
			}
		else
			{$map_container.hide(); $(this).html('Point the location on map');}
	});
};
var setSWFUpload = function()
{
var new_id = "SWF_button_" + Math.round(100000*Math.random());
$('div.box#box_photos a#multi-upload-photos',$details).attr('id',new_id);
new SWFUpload({
	// Backend Settings
	upload_url: opt.SWFUpload.photo_upload_success_url,
	post_params: {"post" : opt.post, "symfony" : opt.SWFUpload.session_cookie},

	// File Upload Settings
	file_size_limit : "10240",	// 10MB
	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_error_handler : uploadError,
	upload_success_handler : refresh_photos,
	upload_complete_handler : uploadComplete,

	// Button Settings
	button_image_url : opt.SWFUpload.button_img_src,
	button_placeholder_id : new_id,
	button_width: 61,
	button_height: 22,
	
	// Flash Settings
	flash_url : opt.SWFUpload.flash_swf,
	

	custom_settings : {
		progressTarget : "fsUploadProgress"+opt.post,
		cancelButtonId : "btnCancel"+opt.post
	},
	
	// Debug Settings
	debug: false
});
}
var setPicasa = function()
{
	$('a#picasa',$details).picasa({
		verify_url: opt.picasa.verify_url,
		login_url : opt.picasa.login_url,
		logout_url : opt.picasa.logout_url,
		photos_url : opt.picasa.photos_url,
		import_url : opt.picasa.import_url,
		img_dir   : opt.picasa.img_dir,
		post_get_photos_url: opt.post_get_photos_url,
		refresh_function: refresh_photos,
		post: opt.post
	});
};
var setFacebook = function()
{
	$('a#facebook',$details).fb_photos({
		xd_reciever: "http://dev.trippydoo.com/others/xd_receiver.htm",
		facebook_loader: $('img#facebook_loader',$details),
		refresh_function: refresh_photos,
		post: opt.post,
		import_url: opt.fb_photos.import_url
		});
}
var setVideoUpload = function(){
	$('div#box_videos.box form input#new_video',$details).uploadVideo({
		get_progress_url: opt.uploadVideo.get_progress_url,
		upload_over_url: opt.uploadVideo.upload_over_url,
		progressbar1: $('div#box_videos.box div#progressbar1',$details),
		progressbar2: $('div#box_videos.box div#progressbar2',$details),
		refresh_function: refresh_videos,
		post: opt.post
		})
};
var setTags = function(){
	var $tag_container = $('fieldset#tags.create div#tag_container',$details);
	var $input = $('fieldset#tags.create input',$details);
	
	$('fieldset#tags.create button.add-tag',$details).click(function(){
		if($input.val() == "") return;
		$.post(opt.tags.add_url,{post_tags: $input.val(), post: opt.post},function(response){
			$tag_container.html(response);
			$input.val('');
			set_tags();
		});
	})
	var set_tags = function(){
		$('strong a.delete_tag',$tag_container).click(function(){
			var $tag = $(this).parent();
			$.post(opt.tags.delete_url,{tag: $(this).attr('tag')},function(data){if(data.status="success") $tag.remove()},'json');
		});
	}
	set_tags();
};
$(this).click(function(){
	//setPicasa();setFacebook();//setSWFUpload();setVideoUpload();			
});
}

/* old post function
$(this).click(function(){
	opt.dom_to_hide.hide();
	opt.dom_to_hide.after('<div class="post-details" post="'+opt.post+'"><div class="loading" id="loading">Loading....<img src="'+opt.loading_src+'" /></div><div class="loading" id="saving">Saving....<img src="'+opt.loading_src+'" /></div><div class="details" id="details"></div><p class="submit"><button type="submit" id="save">Save</button><button type="submit" id="save_and"></button><button type="reset" class="cancel" id="cancel">Cancel</button><button type="reset" class="cancel" id="delete">DELETE</button></p></div>');
	$container = opt.dom_to_hide.next();
	$loading = $('div#loading',$container);
	$saving = $('div#saving',$container);
	$details = $('div#details',$container);
	$save = $('p.submit button#save', $container); $save_and = $('p.submit button#save_and', $container);
	$cancel = $('p.submit button#cancel', $container); $delete = $('p.submit button#delete', $container)
	$.post(opt.request_url,{post: opt.post},function(response){
		if(response.status == 'error')
			{$container.remove();opt.dom_to_hide.show();return}
		$loading.hide();
		$details.html(response.html);
		if(!response.published)
			$save_and.html('Save and Publish');
		else
			$save_and.html('Save and Unpublish');
		setStuff();setSWFUpload();setPicasa();setFacebook();setVideoUpload();setTags();
		$save.click(function(){
			$details.hide();
			$saving.show();
			
			//** aici am scos iar partea de iframe
			//var text = encodeURIComponent($(($('iframe',$details)[0]).contentWindow.document.body).html());
			//$.post(opt.save_url,$form.serialize()+'&post_form[post_text]='+text+'&post='+opt.post+'&publish='+response.published,
			$.post(opt.save_url,$form.serialize()+'&post='+opt.post+'&publish='+response.published,
			
			function(response){
				if((response.status == "error") && (response.error="form error"))
				{
					$details.html(response.html);
					setStuff();setPicasa();setFacebook();setSWFUpload();setVideoUpload();
					$details.show();$saving.hide();
					return;
				}
				if(response.status == "ok")
					$.post(opt.small_details_url,{post: opt.post},function(response){
						if(response.status == "ok")
						{
							setNewDetails(opt.dom_to_hide,response);
							$container.remove();
							opt.dom_to_hide.show();
							$.scrollTo(opt.dom_to_hide);
						}
						},'json')
			},'json');
		});
		$save_and.click(function(){
			$details.hide();
			$saving.show();
			
			//** aici am scos iar partea de iframe			
			//var text = encodeURIComponent($(($('iframe',$details)[0]).contentWindow.document.body).html());
			$.post(opt.save_url,$form.serialize()+'&post='+opt.post+'&publish='+!response.published,
			function(response){
				if((response.status == "error") && (response.error="form error"))
				{
					$details.html(response.html);
					setStuff();setPicasa();setFacebook();setSWFUpload();setVideoUpload();
					$details.show();$saving.hide();
					return;
				}
				if(response.status == "ok")
					$.post(opt.small_details_url,{post: opt.post},function(response){
						if(response.status == "ok")
						{
							setNewDetails(opt.dom_to_hide,response);
							$container.remove();
							opt.dom_to_hide.show();
							$.scrollTo(opt.dom_to_hide);
						}
						},'json')
			},'json');
		});
		$cancel.click(function(){
			$container.remove();
			opt.dom_to_hide.show();
			$.scrollTo(opt.dom_to_hide);
		});
		},
	'json');
		$delete.click(function(){
			if(!confirm('Delete this post?'))
				return;
			$details.hide();
			$saving.show();
			$.post(opt.delete_url,{post: opt.post},function(response){
				if((response.status == "error"))
					return;
				if(response.status == "success")
				{
					$container.remove();
					opt.dom_to_hide.remove();
				}
			},'json');
		});
});
}
*/

	function setNewDetails($dom,response)
	{
		$('em',$dom).html(response.date);
		$('h3 a#subject',$dom).html(response.subject);
		if(response.link == '')
			{$('h3 a#subject',$dom).removeAttr('href'); $dom.addClass('unpublished'); }
		else
			{$('h3 a#subject',$dom).attr('href',response.link); $dom.removeClass('unpublished'); }
		$('div.summary',$dom).html(response.description);
		$('ul.multimedia#photos',$dom).html(response.photos_html+response.videos_html);
	}
})
