$(document).ready(function()
{
	
	
	/* input filters */

	/*
	$('.input_alpha_strict').alphanumeric();
	$('.input_alpha_loose').alphanumeric({allow:" -."});
	$('.input_numeric_strict').numeric();
	$('.input_numeric_loose').numeric({allow:"-.,_"});
*/				

	
	
	$('.boxtable  a.delete').click(function()
			{
				var url = $(this).attr("href");
				var id = $(this).attr("id");
				var id = id.substring(7);

			    $.ajax(
				{
			       url: url,
		           type:"POST",
		           data:"jq=true",
			       dataType: "json",
			       success: function(result)
				   {
					   if(true==result)
					   {
						   $('#box_'+id).fadeOut('slow');
					   } else {
					   	  alert('shit...');
					   }
				   }
			    });
		  		return false
			});
	
	
	$('.sm2_actions a.delete').click(function()
			{
				var url = $(this).attr("href");
				var id = $(this).attr("id");
				var id = id.substring(5);

			    $.ajax(
				{
			       url: url,
		           type:"POST",
		           data:"jq=true",
			       dataType: "json",
			       success: function(result)
				   {
					   $('.item_'+id).fadeOut('slow');
				   }
			    });
		  		return false
			});
	




		   $("#searchbutton").click(function() {

			   search_submit()

		   	// alert(link)
		   	 return false
		   });

	// alert('ui loaded');

	// menu ie hack
	$(function() {
		if ($.browser.msie && parseInt($.browser.version)< 7) {
		    $("#tabs li").hover(
	            function() {
	            	$(this).addClass("sf");
	            },
	            function() {
			$(this).removeClass("sf");
	            });
		}
	});


	
	
	// pagination shizzle
	
	/**/
	$('p.pagination a').live('click', function(event){
		var href = $(this).attr('href');
		//$('#rstage').load(href);	
		//return false;
	});
	





	$('div.toggle').click(function()
	{
		var id = $(this).find('a').attr("title");
		var inline = '/ui/wrapper/' + id + '/';

	    $.ajax(
		{
	       url: "/ui/toggle/" + id,
           type:"POST",
           data:"jq=true",
	       dataType: "json",
	       success: function(result)
		   {
			   if(true==result)
			   {
			  	  $("#" + id + '_title').addClass("toggle_active");
			   	  $("#" + id).show(200);
			   	  $("#" + id).load(inline);
			   } else {
			      $("#" + id + '_title').removeClass("toggle_active");
			   	  $("#" + id).hide(200);
			   }
		   }
	    });

  		return false // return false to prevent the link from working
	});


	$('div.toggle').hover(function()
	{
		$(this).addClass("toggle_hover");
	},
	function ()
	{
		$(this).removeClass("toggle_hover");
	});
	
	
	
	
	// screen size adaption
	
    $(window).resize(function(){
        var h = $(window).height();
        var w = $(window).width();
       // alert(w);
       if(w < 1200)
       {
    		$('div.box').each(function()
    		{
    			$(this).addClass("box_full");
    		});
       } else {
   		$('div.box').each(function()
   	    		{
   	    			$(this).removeClass("box_full");
   	    		});
       }
    });
    if($(window).width() < 1200)
    {
		$('div.box').each(function()
	    		{
	    			$(this).addClass("box_full");
	    		});	
    };
    	
	
	

	

/*
 * $('#cloud a').click(function() { var id = $(this).attr("href"); alert(id);
 * return false //return false to prevent the link from working });
 */

	$('#cloud a').livequery('click', function(event) {
        var id = $(this).attr("href");
        // alert(id);
        $.ajax(
		{
	       url: id,
           type:"POST",
           data:"jq=true",
	       dataType: "json",
	       success: function(result)
		   {
				// window.location.reload();
				$('#cloud').load('/dev/cloud2');
		   }
	    });
        return false;
    });

   var refreshId = setInterval(function()
   {
     $('#status').load('/dev/status/'+ Math.random());
   }, 20000000);




   	/**/
	$(".drag").draggable({
		helper: 'clone',
		delay: 222
		});

	/* droppable treehouse */
	$(".drop").droppable({
		accept: ".drag",
		activeClass: 'drop_active',
		hoverClass: 'drop_over',
		tolerance: 'pointer',
		drop: function(ev, ui) {
			var id = (jQuery(ui.draggable).children(".draggitem").attr('id'));
			var item_type = (jQuery(ui.draggable).children(".draggitem").attr('href'));

			if(!id)
			{
				// maybe playlist
				var id = (jQuery(ui.draggable).attr('id'));
				var item_type = "media";
			}
			
			
			
			/**/
	        $.ajax(
			{
		       url: '/treehouse/add/' + item_type + '/' + id + '/',
	           type:"POST",
	           data:"jq=true",
		       dataType: "json",
		       success: function(result)
			   {
					$('#drop').load('/ui/wrapper/drop/');
					fp_call_publish(item_type, id);
			   }
		    });
		    
		}
	});

	/* droppable playlist */
	$(".playlist").droppable({
		accept: ".drag",
		activeClass: 'drop_active',
		hoverClass: 'drop_over',
		tolerance: 'pointer',
		drop: function(ev, ui) {
		var id = (jQuery(ui.draggable).children(".draggitem").attr('id'));
		var id = (jQuery(ui.draggable).attr('id'));

		var item_type = (jQuery(ui.draggable).children(".draggitem").attr('href'));
		
		
		
		if(item_type == 'release')
		{
			var id = id.substring(4);
		} 
		else if(item_type == 'playlist') 
		{
			var id = id.substring(4);
		}
		else 
		{
			var item_type = 'media';
		}
		
		

	        $.ajax(
			{
		       url: '/playlist/add/' + id + '/',
	           type:"POST",
	           data:"jq=true&item_type="+item_type,
		       dataType: "json",
		       success: function(result)
			   {
					$('#playlistbox').load('/ui/wrapper/playlist/');

			   }
		    });

		}
	});



	/* playlist delete */
	$("#playlist_holder .track_actions span.delete a").livequery('click', function(event) {
		var url = $(this).attr('href');
		// alert (url);
		/**/
	        $.ajax(
			{
		       url: url,
	           type:"POST",
	           data:"jq=true",
		       dataType: "json",
		       success: function(result)
			   {
					$('#playlistbox').load('/ui/wrapper/playlist/');

			   }
		    });

	    return false;
	});


	
	/*
	 * playlist editor, sortable etc
	 */
	
	$(".sm2sortable").sortable({
		axis: 'y',
		ghosting: true,
		cursor: 'move',
		update: function (event, ui) {
		var order = $(this).sortable('toArray');
		var playlist_id = $("#sm2sortable_plid").val();

		url = '/playlist/sort_by_id'
        $.ajax(
        		{
        	       url: url,
                   type:"POST",
                   data:"order=" + order + "&id=" + playlist_id,
        	       dataType: "json",
        	       success: function(result)
        		   {
        				// window.location.reload();
        				// $('#item_tags').load(inline_item);
        				// $('#site_tags').load(inline_site);
        		   }
        	    });
		}
	});
	



	/* add to treehouse function + effect */
	$(".add a").click(function () {

		var id = $(this).attr('id');
		var item_type = $(this).attr('href');


		var id = id.substr(4);
		// alert(id);

      $("#box_" + id).effect("transfer", { to: "#drop_title" }, 300);


        $.ajax(
		{
	       url: '/treehouse/add/' + item_type + '/' + id + '/',
	       type:"POST",
	       data:"jq=true",
	       dataType: "json",
	       success: function(result)
		   {
				$('#drop').load('/ui/wrapper/drop/');
				fp_call_publish(item_type, id);
		   }
	    });


      return false;
	});

	
	
	/***************************************************************************
	 * add to playlist from sm2 + effect
	 * 
	 * inline version
	 **************************************************************************/
	$(".main .sm2_add a").click(function () {
		
		var id = $(this).attr('id');
		var id = id.substr(4);

	 	$("#popup_wrapper").dialog({
	   	  	title: 'Please select a Playlist to add this track to.',
	   	  	modal: true,
			overlay: {
				backgroundColor: '#ff00ff',
				opacity: 0.5
			},
			buttons: {
				'OK': function() {
				var playlist_id = $('input[name=pl_select_box]:checked').val();
				$("#sm2_" + id).effect("transfer", { to: "#playlist_title" }, 500);
				// alert (playlist_id);
		        
					$.ajax({
						url: '/playlist/add_by_id/' + playlist_id + '/' + id + '/',
						type:"POST",
						data:"jq=true",
						dataType: "json",
						success: function(result) {
							$('#playlistbox').load('/ui/wrapper/playlist/');
						}
					});
				
					$(this).dialog('destroy');
				},
				Cancel: function() {
					$(this).dialog('destroy');
				}
			},
			minWidth: 500,
			width: 500,
			minHeight: 340,
			height: 500
			});

		$("#popup_wrapper").load('/playlist/select_in_popup');

		return false;
	});

	
	/***************************************************************************
	 * send message via popup
	 **************************************************************************/
	$("#col3_content a.send_message").click(function () {
		
		var href = $(this).attr('href');

	 	$("#popup_wrapper").dialog({
	   	  	title: 'Please select a Playlist to add this track to.',
	   	  	modal: true,
			overlay: {
				backgroundColor: '#ff00ff',
				opacity: 0.5
			},
			buttons: {
				'Send': function() {
				var url = '/message/send';

				var message_to_id = $('#message_to_id').val();
				var message_from_id = $('#message_from_id').val();
				var message_subject = $('#message_subject').val();
				var message_message = $('#message_message').val();

				var dia = $(this);
				
			    $.ajax(
				{
			       url: url,
		           type:"POST",
		           data:"message_to_id=" + message_to_id + "&message_from_id=" + message_from_id + "&message_subject=" + message_subject + "&message_message=" + message_message,
			       dataType: "json",
			       success: function(result)
				   {
					   if(true==result['status'])
					   {
							// alert(result['message']);
							// history.back();
						   // dia.dialog('destroy');
					   } else {
						   alert('ERROR: ' + result['message']);
						   // dia.dialog('destroy');
					   }
				   }
			    });
			    dia.dialog('destroy');
					
				},
				Cancel: function() {
					$(this).dialog('destroy');
				}
			},
			minWidth: 700,
			width: 700,
			minHeight: 340,
			height: 500
			});

		$("#popup_wrapper").load(href);

		return false;
	});
	
	
	
	
	
	/*
	 * popup/playlist stuff etc
	 */
	$(".popup .sm2_add a").click(function () {
		
		var id = $(this).attr('id');
		var id = id.substr(4);

	 	$("#popup_wrapper").dialog({
	   	  	title: 'Please select a Playlist to add this track to.',
	   	  	modal: true,
			overlay: {
				backgroundColor: '#ff00ff',
				opacity: 0.5
			},
			buttons: {
				'OK': function() {
				var playlist_id = $('input[name=pl_select_box]:checked').val();
				$("#sm2_" + id).effect("pulsate", { times: 1 }, 500);  
				// alert (playlist_id);
		        
					$.ajax({
						url: '/playlist/add_by_id/' + playlist_id + '/' + id + '/',
						type:"POST",
						data:"jq=true",
						dataType: "json",
						success: function(result) {
							window.opener.$('#playlistbox').load('/ui/wrapper/playlist/');
						}
					});
				
					$(this).dialog('destroy');
				},
				Cancel: function() {
					$(this).dialog('destroy');
				}
			},
			minWidth: 500,
			width: 500,
			minHeight: 340,
			height: 340
			});

		$("#popup_wrapper").load('/playlist/select_in_popup');

		return false;
	});
	
	
	// popup version simple
	/*
	 * $(".popup .sm2_add a").click(function () {
	 * 
	 * var id = $(this).attr('id'); var id = id.substr(4);
	 * 
	 * $("#sm2_" + id).effect("pulsate", { times: 1 }, 500);
	 * 
	 * $.ajax({ url: '/playlist/add/' + id + '/', type:"POST", data:"jq=true",
	 * dataType: "json", success: function(result) {
	 * window.opener.$('#playlistbox').load('/ui/wrapper/playlist/'); } });
	 * 
	 * return false; });
	 */

	/* playlist - take control of shared playlist */
	$(".pl_add a").click(function () {

		var id = $(this).attr('id');
		var item_type = $(this).attr('href');


		var id = id.substr(4);
		// alert(id);

      $("#box_" + id).effect("transfer", { to: "#playlistbox" }, 300);


        $.ajax(
		{
	       url: '/playlist/join/' + id + '/',
	       type:"POST",
	       data:"jq=true",
	       dataType: "json",
	       success: function(result)
		   {
				$('#playlistbox').load('/ui/wrapper/playlist/');
		   }
	    });


      return false;
	});






	/*
	 * Item tags, add/remove functions
	 */

	$('#dynacloud a.tag').livequery('click', function(event) {
        var action = $(this).attr("id");

        action = action.split('_');
        var url = '/tag/' + action[0] + '/' + action[1] + '/' + action[2] + '/' + action[3] + '/';
        var inline_item = '/tag/' + 'itemtags' + '/' + action[1] + '/' + action[2] + '/';
        var inline_site = '/tag/' + 'itemsitetags' + '/' + action[1] + '/' + action[2] + '/';
        $.ajax(
		{
	       url: url,
           type:"POST",
           data:"jq=true",
	       dataType: "json",
	       success: function(result)
		   {
				$('#item_tags').load(inline_item);
				$('#site_tags').load(inline_site);
		   }
	    });
        return false;
    });


	$('#site_tags_title a').click(function()
	{
		var action = $(this).attr("id");

        action = action.split('_');
        var url = '/tag/' + action[0] + '/' + action[1] + '/' + action[2] + '/';
		$('#site_tags').load(url);
		return false;
	});




	$('#searchcloud a.tag').livequery('click', function(event) {
        var action = $(this).attr("id");

        action = action.split('_');
        var url = '/tag/' + action[1] + '/' + action[2] + '/';



        var inline_item = '/tag/' + 'searchtags' + '/' + action[1] + '/' + action[2] + '/';
        var inline_site = '/tag/' + 'sitetags' + '/' + action[1] + '/' + action[2] + '/';

        // alert(url)

        $.ajax(
		{
	       url: url,
           type:"POST",
           data:"jq=true",
	       dataType: "json",
	       success: function(result)
		   {
				window.location.reload();
				// $('#item_tags').load(inline_item);
				// $('#site_tags').load(inline_site);
		   }
	    });
        return false;
    });


	$('#site_tags_search a').click(function()
	{
		var action = $(this).attr("id");

        action = action.split('_');
        var url = '/tag/' + action[0] + '/' + action[1] + '/' + action[2] + '/';
		$('#site_tags').load(url);
		return false;
	});




	// history dropdown
	$('#history_menu select').change(function()
	{
		location.href = $(this).val();
		// alert($(this).val());
	});


/*
 * //$('a.popup').livequery('each', function(event, i)
 * $("a.popup").each(function (i) { $(this).click(function(event) {
 * 
 * event.preventDefault(); var params = $(this).data("popup") || {}; if
 * ($(this).attr("target")) { params.windowName = $(this).attr("target");
 * params.width = 578; params.height = 326; }
 * 
 * var windowObject = UTIL.popup.open(this.href, params);
 * $(this).data("windowObject", windowObject);
 * 
 * 
 * });
 * 
 * 
 * });
 */



	// player controls
/*
 * // popup $('a.popup').livequery('click', function(event) { var action =
 * $(this).attr("id"); //alert(action) action = action.split(':');
 * popup_player_2('/get/' + action[0] + '/xml/' + action[1] + '/');
 * 
 * setTimeout('reload_rubelbox()', 6000);
 * 
 * 
 * return false; });
 */
	$('a.popup').livequery('click', function(event)
		{
			var action = $(this).attr("id");
			// alert(action)
			
			log(action);
			
			action = action.split(':');
			

			log(action);
			
			// original
			// popup_player('/popup/player', '598', '522', '600', '150', '/get/'
			// + action[0] + '/xml/' + action[1] + '/');
			
			// resized
			// popup_player('/popup/player', '570', '450', '600', '150', '/get/'
			// + action[0] + '/xml/' + action[1] + '/');
			
			// sm2
			popup_sm2(action[0], action[1]);

			
			
	   		setTimeout('reload_rubelbox()', 5000);


			return false;
		});


	// actions
	$('.control_button a').livequery('click', function(event)
	{
		var action = $(this).attr("id");
   		popup_control(action);
   		return false;
	});


	// rubel settings

	$('.rb_preset a').click(function()
		{

		id = $(this).attr('id');

		var preset = Array;
		if(id == 'rp_preset_0')
		{
			preset['rs_media_stream'] = 0;
			preset['rs_media_stream_dist'] = 50;
			preset['rs_release_stream'] = 0;
			preset['rs_release_stream_dist'] = 50;
			preset['rs_media_download'] = 0;
			preset['rs_media_download_dist'] = 50;
			preset['rs_release_download'] = 0;
			preset['rs_release_download_dist'] = 50;
			preset['rs_playlist_stream'] = 0;
			preset['rs_playlist_stream_dist'] = 50;
			preset['rs_sosq_dist'] = 0;

			preset['rs_pre_1'] = 1;
			preset['rs_pre_2'] = 2;
			preset['rs_pre_3'] = 5;
			preset['rs_pre_4'] = 10;
			preset['rs_pre_5'] = 50;
		}
		if(id == 'rp_preset_1')
		{
			preset['rs_media_stream'] = 0;
			preset['rs_media_stream_dist'] = 50;
			preset['rs_release_stream'] = 0;
			preset['rs_release_stream_dist'] = 50;
			preset['rs_media_download'] = 10;
			preset['rs_media_download_dist'] = 50;
			preset['rs_release_download'] = 15;
			preset['rs_release_download_dist'] = 50;
			preset['rs_playlist_stream'] = 0;
			preset['rs_playlist_stream_dist'] = 50;
			preset['rs_sosq_dist'] = 10;

			preset['rs_pre_1'] = 5;
			preset['rs_pre_2'] = 10;
			preset['rs_pre_3'] = 30;
			preset['rs_pre_4'] = 50;
			preset['rs_pre_5'] = 100;
		}
		if(id == 'rp_preset_2')
		{
			preset['rs_media_stream'] = 5;
			preset['rs_media_stream_dist'] = 50;
			preset['rs_release_stream'] = 15;
			preset['rs_release_stream_dist'] = 50;
			preset['rs_media_download'] = 15;
			preset['rs_media_download_dist'] = 50;
			preset['rs_release_download'] = 30;
			preset['rs_release_download_dist'] = 50;
			preset['rs_playlist_stream'] = 10;
			preset['rs_playlist_stream_dist'] = 50;
			preset['rs_sosq_dist'] = 20;

			preset['rs_pre_1'] = 10;
			preset['rs_pre_2'] = 20;
			preset['rs_pre_3'] = 50;
			preset['rs_pre_4'] = 100;
			preset['rs_pre_5'] = 200;
		}
		if(id == 'rp_preset_3')
		{
			preset['rs_media_stream'] = 5;
			preset['rs_media_stream_dist'] = 50;
			preset['rs_release_stream'] = 25;
			preset['rs_release_stream_dist'] = 50;
			preset['rs_media_download'] = 30;
			preset['rs_media_download_dist'] = 50;
			preset['rs_release_download'] = 100;
			preset['rs_release_download_dist'] = 50;
			preset['rs_playlist_stream'] = 50;
			preset['rs_playlist_stream_dist'] = 50;
			preset['rs_sosq_dist'] = 20;

			preset['rs_pre_1'] = 10;
			preset['rs_pre_2'] = 30;
			preset['rs_pre_3'] = 100;
			preset['rs_pre_4'] = 200;
			preset['rs_pre_5'] = 500;
		}
		if(id == 'rp_preset_4')
		{
			preset['rs_media_stream'] = 10;
			preset['rs_media_stream_dist'] = 50;
			preset['rs_release_stream'] = 50;
			preset['rs_release_stream_dist'] = 50;
			preset['rs_media_download'] = 50;
			preset['rs_media_download_dist'] = 50;
			preset['rs_release_download'] = 200;
			preset['rs_release_download_dist'] = 50;
			preset['rs_playlist_stream'] = 80;
			preset['rs_playlist_stream_dist'] = 50;
			preset['rs_sosq_dist'] = 30;

			preset['rs_pre_1'] = 50;
			preset['rs_pre_2'] = 100;
			preset['rs_pre_3'] = 300;
			preset['rs_pre_4'] = 500;
			preset['rs_pre_5'] = 1000;
		}
		if(id == 'rp_preset_5')
		{
			preset['rs_media_stream'] = 20;
			preset['rs_media_stream_dist'] = 70;
			preset['rs_release_stream'] = 150;
			preset['rs_release_stream_dist'] = 70;
			preset['rs_media_download'] = 100;
			preset['rs_media_download_dist'] = 70;
			preset['rs_release_download'] = 990;
			preset['rs_release_download_dist'] = 70;
			preset['rs_playlist_stream'] = 200;
			preset['rs_playlist_stream_dist'] = 50;
			preset['rs_sosq_dist'] = 70;

			preset['rs_pre_1'] = 50;
			preset['rs_pre_2'] = 100;
			preset['rs_pre_3'] = 300;
			preset['rs_pre_4'] = 500;
			preset['rs_pre_5'] = 1000;
		}

		$('#rs_media_stream').val(preset['rs_media_stream']);
		$('#rs_media_stream_dist').val(preset['rs_media_stream_dist']);

		$('#rs_release_stream').val(preset['rs_release_stream']);
		$('#rs_release_stream_dist').val(preset['rs_release_stream_dist']);

		$('#rs_media_download').val(preset['rs_media_download']);
		$('#rs_media_download_dist').val(preset['rs_media_download_dist']);

		$('#rs_release_download').val(preset['rs_release_download']);
		$('#rs_release_download_dist').val(preset['rs_release_download_dist']);

		$('#rs_playlist_stream').val(preset['rs_playlist_stream']);
		$('#rs_playlist_stream_dist').val(preset['rs_playlist_stream_dist']);

		$('#rs_playlist_stream').val(preset['rs_playlist_stream']);


		$('#rs_pre_1').val(preset['rs_pre_1']);
		$('#rs_pre_2').val(preset['rs_pre_2']);
		$('#rs_pre_3').val(preset['rs_pre_3']);
		$('#rs_pre_4').val(preset['rs_pre_4']);
		$('#rs_pre_5').val(preset['rs_pre_5']);



		return false;


		});


		// rubel claim
		$('a.rubel_claim').livequery('click', function(event) {
        var ids = $(this).attr("id");

		var url = '/rubel/claim';

    	ids = ids.split('.');

    	var item_type = ids[0];
    	var item_id = ids[1];

        // alert(id);
        $.ajax(
		{
	       url: url,
           type:"POST",
           data:"item_type=" + item_type + "&item_id=" + item_id + "&",
	       dataType: "json",
	       success: function(result)
		   {
			   $('#rubel_amount_' + item_type + item_id).html('0&nbsp;&nbsp;');
			   reload_rubelbox();
		   }
	    });
        return false;
    });





    $('a.playcontrol').livequery('click', function(event)
    // $('a.playcontrol').click(function()
    {

    	// popup.alert('other from popup');

    	var player = popup.document.getElementById('playlist');
    	player.sendEvent("PLAY","true");


    	alert(player);
    });





	// playlist dropdown
	$('#playlistbox select').livequery('change', function(event)
	// $('#playlistbox select').change(function()
	{
		// location.href = $(this).val();
		// alert($(this).val());
		$("#playlistbox").load('/ui/wrapper/playlist/' + $(this).val());

	});


	// playlist sortabl





	// playlist edit popup
	$('#playlist_edit').livequery('click', function(event){
		$('#popup_wrapper').load('/playlist/edit_in_popup');
	 	$("#popup_wrapper").dialog({
		   	  	title: 'Edit Playlist',
		   	  	modal: true,
				overlay: {
					backgroundColor: '#ff00ff',
					opacity: 0.5
				},
				buttons: {
					'Save': function() {
					var name = $('#playlist_name').val();
					var description = $('#playlist_description').val();
					var status = $('#playlist_shared').val();


					var url = '/playlist/update';

			        $.ajax(
			        		{
			        	       url: url,
			                   type:"POST",
			                   data:"name=" + name + "&description=" + description + "&status=" + status,
			        	       dataType: "json",
			        	       success: function(result)
			        		   {
			        				$('#playlistbox').load('/ui/wrapper/playlist/');
			        		   }
			        	    });


						$(this).dialog('destroy');
					},
					Cancel: function() {
						$(this).dialog('destroy');
					}
				},
				minWidth: 500,
				width: 500,
				minHeight: 280
				});
		return false;
	});


	// playlist add popup
	$('#playlist_add').livequery('click', function(event){
		$('#popup_wrapper').load('/playlist/add_in_popup');
	 	$("#popup_wrapper").dialog({
		   	  	title: 'Add Playlist',
		   	  	modal: true,
				overlay: {
					backgroundColor: '#ff00ff',
					opacity: 0.5
				},
				buttons: {
					'Save': function() {
					var name = $('#playlist_name').val();
					var description = $('#playlist_description').val();
					var status = $('#playlist_shared').val();


					var url = '/playlist/add_from_popup';

			        $.ajax(
			        		{
			        	       url: url,
			                   type:"POST",
			                   data:"name=" + name + "&description=" + description + "&status=" + status,
			        	       dataType: "json",
						       success: function(result)
							   {
								   if(true==result['status'])
								   {
									   $('#playlistbox').load('/ui/wrapper/playlist/');
								   } else {
									   alert(result['message']);
								   }
							   }
			        		
			        	    });


						$(this).dialog('destroy');
					},
					Cancel: function() {
						$(this).dialog('destroy');
					}
				},
				minWidth: 500,
				width: 500,
				minHeight: 280
				});
		return false;
	});
	
	
	
	
	
	
	
	


	// Setup the ajax indicator
	$("body").append('<div id="ajaxBusy"><p><img src="/media/img/icons/status/active.gif"></p></div>');
	$('#ajaxBusy').css({
		display:"none",
		margin:"0px",
		paddingLeft:"0px",
		paddingRight:"0px",
		paddingTop:"0px",
		paddingBottom:"0px",
		position:"absolute",
		left:"3px",
		top:"76px",
		width:"auto"
	});

	// Ajax activity indicator bound
	// to ajax start/stop document events
	$(document).ajaxStart(function(){
		$('#ajaxBusy').show();
	}).ajaxStop(function(){
		$('#ajaxBusy').hide();
	});



	// text with dynamically rendered image

	// h1
	$("h1").each(function(){
		// $(this).replaceWith('<h1><img src="/render/h1/' + $(this).text() +
		// '"></img></h1>');
	});

	// top menu - dropdowns
	$("#nav_main span").each(function(){
		// $(this).replaceWith('<img src="/render/nav_main/' + $(this).text() +
		// '"></img>');
	});






	/*
	 * edit pimpups
	 */



	// datepicker
	$("#releasedate").datepicker({
		showOn: 'button',
		buttonImage: '/media/img/icons/icn.calendar.png',
		buttonImageOnly: true,
		dateFormat: 'yy-mm-dd',
		showButtonPanel: true,
		changeMonth: true,
		changeYear: true
		});

	
	
	try {
			MSDropDown.init('#labeltype, #releasetype, #licensetype, .licenserights, #ccversion, #ccjurisdiction, #country');
	  	} catch(err) {
	  		// be quiet
	  	}
	  	
	

	// license fields


	// first hide extra-fields
	license_extrafields_update();


	// submit actions

	$('#actoin_submit').click(function()
			{
				var release_id = $('#release_id').val();
				edit_tracklist_save(release_id, true);
				return false;
			});









	// dynamic autocomplete
	$(".tl_edit_artist").livequery(function()
	{
		$(this).autocomplete("/ajax/autocomplete/artist/");
	});

	$(".tl_edit_release").livequery(function()
	{
		$(this).autocomplete("/ajax/autocomplete/release/");
	});

	
	
	
	/***************************************************************************
	 * super tagger
	 **************************************************************************/
	function findValueCallback(event, data, formatted) {
		$("<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result");
	}
	
	function formatItem(row) {
		// return row[0] + " (<strong>id: " + row[1] + "</strong>)";
		return row[0];
	}
	function formatResult(row) {
		return row[0].replace(/(<.+?>)/gi, '');
	}

	
	if($("#tagger_input_field").length > 0)
	{
	$("#tagger_input_field").autocomplete('/ajax/autocomplete/ac_tagger/', {
		width: 400,
		minChars: 3,
		multiple: true,
		matchContains: true,
		formatItem: formatItem,
		formatResult: formatResult
	});
	};

	if($("#tagger_input_field").length > 0)
	{
	$("#tagger_input_field").result(function(event, data, formatted) {
		var hidden = $(this).parent().next().find(">:input");
		hidden.val( (hidden.val() ? hidden.val() + ";" : hidden.val()) + data[1]);
	});
	};
	
	
	
	
	
	$('#tagger_save_tags').live('click', function(event){
		var tags = $("#tagger_input_field").val();
		var args = $("#tagger_args_field").val();

		
		$.ajax({
			url: '/ajax/tagger/',
			type:"POST",
			data:"tags=" + tags + '&args=' + args ,
			dataType: "json",
			success: function(result)
			{
				$('#tagger_wrapper').load('/ui/wrapper/tagger/' + args);
			}
		});
		
		return false;
	});

	$('#tagger_edit_tags').live('click', function(event){
		$("#tagger_display").css({'display' : 'none'});
		$("#tagger_input").css({'display' : 'block'});
		return false;
	});

	
	
	
	
	

	// hint



	// sortable
	$('.tracklist_edit').livequery(function()
	{
		// $(this).sortable();
    });

	// selector
	$('div.tracklist_edit').livequery('click', function(event) {
		$(this).toggleClass('selected');
		// $(this).find('.cb').attr('checked','checked');

    });
	$('.tracklist_edit input').livequery('click', function(event) {
		// $(this).toggleClass('selected');
		return false;
	});
	$('.tracklist_edit select').livequery('click', function(event) {
		// $(this).toggleClass('selected');
		return false;
	});
    /*
	 * $('div.tracklist_edit').livequery('mouseover', function(event) {
	 * $(this).addClass('selected'); });
	 * $('div.tracklist_edit').livequery('mouseout', function(event) {
	 * $(this).removeClass('selected'); });
	 */



	// dummy actions
	$("#dummy_action_01").click(function()
	{
		// var id = $(this).attr("href");
		// load_tracklist_edit(id);
		return false;
	});

	$("#dummy_action_02").click(function()
	{
		var id = $(this).attr("href");
		console.log('submit this shitty form!!');
		$("#editreleaseform").submit();
	});


	$("#dummy_action_03").click(function()
	{
		var id = $(this).attr("href");
		edit_tracklist_save(id, false);
		return false;
	});



	// messages

	$('#inline_messages .message td.button a').livequery('click', function(event) {

		var id = $(this).attr('id');
		var id = id.substring(5);
		ct = $('#inline_messages').children().size();
		if(ct > 1)
		{
			$('#message_' + id).remove();
		}
		else
		{
			$('#inline_messages').remove();
		}

		$.ajax({
			url : '/message/seen/' + id,
			success : function (result) {
				// window.location.reload();
			}
		});

		return false;
	});


	// just temporary

	if($('#release_id').val())
	{
	load_tracklist_edit($('#release_id').val());
	}

	// filter

	$('.filter.select a').livequery('click', function(event) {

		var filter = $(this).attr('id');
		$.ajax({
			url : '/ui/selector/' + filter,
			success : function (result) {
				window.location.reload();
			}
		});
		return false;
	});

	$("#searchstring").bind("keypress", function(e) {
		 if (e.keyCode == 13)
			 {
			 	search_submit();
			 	return false;
			 }
		});


	$('#tag_toggle').livequery('click', function(event) {

		$.ajax({
			url : '/ui/toggle/' + 'use_tags',
			success : function (result) {
				window.location.reload();
			}
		});
		return false;
	});

	// viewport
	$('#maximise_view').livequery('click', function(event) {
		layout_maximise();
		return false;
	});



	// playlist sortable

		$('#playlist_holder').sortable(
			{
			axis: 'y',
			containment: 'parent',
			ghosting: true,
			cursor: 'move',
			update: function(event, ui)
			{
				var order = $(this).sortable('toArray');

				url = '/playlist/sort'
		        $.ajax(
		        		{
		        	       url: url,
		                   type:"POST",
		                   data:"order=" + order,
		        	       dataType: "json",
		        	       success: function(result)
		        		   {
		        				// window.location.reload();
		        				// $('#item_tags').load(inline_item);
		        				// $('#site_tags').load(inline_site);
		        		   }
		        	    });

			}
		});



	// invitation stuff
		
		// SEND invitation
		$('#invite_send').livequery('click', function(event) {

			var url = '/invitation/send/';

			var invite_to = $('#invite_to').val();
			var invite_from_email = $('#invite_from_email').val();
			var invite_from_name = $('#invite_from_name').val();
			var invite_subject = $('#invite_subject').val();
			var invite_message = $('#invite_message').val();

		    $.ajax(
			{
		       url: url,
	           type:"POST",
	           data:"invite_to=" + invite_to + "&invite_from_email=" + invite_from_email + "&invite_from_name=" + invite_from_name + "&invite_subject=" + invite_subject + "&invite_message=" + invite_message,
		       dataType: "json",
		       success: function(result)
			   {
				   if(true==result['status'])
				   {
						alert(result['message']);
						history.back();
				   } else {
					   alert('ERROR: ' + result['message']);
				   }
			   }
		    });
			return false;
		});
		
		
		// SAVE invitation (label invite)
		$('#invite_save').livequery('click', function(event) {

			var url = '/invitation/save/';

			var invite_to = $('#invite_to').val();
			var invite_from_email = $('#invite_from_email').val();
			var invite_from_name = $('#invite_from_name').val();
			var invite_subject = $('#invite_subject').val();
			var invite_label = $('#invite_label').val();
			var invite_message = $('#invite_message').val();

		    $.ajax(
			{
		       url: url,
	           type:"POST",
	           data:"invite_to=" + invite_to + "&invite_from_email=" + invite_from_email + "&invite_from_name=" + invite_from_name + "&invite_subject=" + invite_subject + "&invite_label=" + invite_label + "&invite_message=" + invite_message,
		       dataType: "json",
		       success: function(result)
			   {
				   if(true==result['status'])
				   {
						alert(result['message']);
						// history.back();
				   } else {
					   alert('ERROR: ' + result['message']);
				   }
			   }
		    });
			return false;
		});


		// labelmessage send
		$('#label_message_send').livequery('click', function(event) {

			var url = '/admin/label_message_send/';

			var message_to = $('#message_to').val();
			var message_from_email = $('#message_from_email').val();
			var message_from_name = $('#message_from_name').val();
			var message_subject = $('#message_subject').val();
			var message_message = $('#message_message').val();

		    $.ajax(
			{
		       url: url,
	           type:"POST",
	           data:"message_to=" + message_to + "&message_from_email=" + message_from_email + "&message_from_name=" + message_from_name + "&message_subject=" + message_subject + "&message_message=" + message_message,
		       dataType: "json",
		       success: function(result)
			   {
				   if(true==result['status'])
				   {
						alert(result['message']);
						history.back();
				   } else {
					   alert('ERROR: ' + result['message']);
				   }
			   }
		    });
			return false;
		});


		// usermessage send
		$('#user_message_send').live('click', function(event) {

			var url = '/message/send';

			var message_to_id = $('#message_to_id').val();
			var message_from_id = $('#message_from_id').val();
			var message_subject = $('#message_subject').val();
			var message_message = $('#message_message').val();

		    $.ajax(
			{
		       url: url,
	           type:"POST",
	           data:"message_to_id=" + message_to_id + "&message_from_id=" + message_from_id + "&message_subject=" + message_subject + "&message_message=" + message_message,
		       dataType: "json",
		       success: function(result)
			   {
				   if(true==result['status'])
				   {
						alert(result['message']);
						// history.back();
				   } else {
					   alert('ERROR: ' + result['message']);
				   }
			   }
		    });
			return false;
		});



	// dubplate layout + co

	/* droppable playlist */
	$(".dubplate_layout").droppable({
		accept: ".drag",
		activeClass: 'drop_active',
		hoverClass: 'drop_over',
		tolerance: 'pointer',
		drop: function(ev, ui) {
		var id = (jQuery(ui.draggable).children(".draggitem").attr('id'));
		var href = (jQuery(ui.draggable).children(".draggitem").attr('href'));

			alert(href);

			$(this).append(jQuery(ui.draggable).children(".draggitem").find('#element'));
			$('#' + id).remove();
			$('#' + id).remove();

			/*
			 * $.ajax( { url: '/playlist/add/' + id + '/', type:"POST",
			 * data:"jq=true", dataType: "json", success: function(result) {
			 * $('#playlistbox').load('/ui/wrapper/playlist/');
			 *  } });
			 */
		}
	});
	
	
	/*
	 * sm2 functions
	 */
	
	

	
	
	$('#sm2_inline a').click(function()
	{
		var url = $(this).attr("href");
		// alert(url);
		top.redirect_top(url);
		return false;
	});
	
	
	$('body#pp_inline #message_dialog a').live('click', function(event)
	{
		alert('click');	
	});
	
	
	
	$('.sm2playlist a.sm2_inline_media').mouseover(function()
	{
		$(this).html('Click to play/pause');
	});
	
	$('.sm2playlist a.sm2_inline_media').mouseout(function()
	{
		$(this).html($(this).attr('title'));
	});
	
	$('.sm2playlist a.sm2_inline_title').mouseover(function()
	{
		$(this).html('Click to visit artist infos');
	});
	
	$('.sm2playlist a.sm2_inline_title').mouseout(function()
	{
		$(this).html($(this).attr('title'));
	});
	
	/*
	$('table.stats').visualize({
		type: 'line',
		width: '800',
		height: '100'
	});
*/
	
	
	
	/* ui refinments */
	



	
	
	
	/* asset stuff */
	$('div.asset_row_admin #asset_add').live('click', function(event)
	{
		var asset_id = $("#asset_select").val();
		var url = $(this).attr('href') + asset_id;
		
		//alert(url);	
		
		if(asset_id > 0)
		{
			$('div#asset_list').load(url);
		}
		return false;
	});	
	
	$('div.asset_row_admin a.asset_unassign').live('click', function(event)
	{
		var url = $(this).attr('href');
		$('div#asset_list').load(url);
		return false;
	});	
	
	$('div.asset_row_admin a.asset_edit_inline').live('click', function(event)
	{
		
		$('div.inline_wrapper').html('');
		
		var id = $(this).attr('id');
		
		var url = '/ajax/asset_edit/' + id.substring(6);
		$('div#' + id + '_row div.inline_wrapper').load(url);
		return false;
	});
	
	
	/* asset stuff */
	$('div.asset_row_admin a.asset_info_update').live('click', function(event)
	{
		var asset_id = $(this).attr('href').substr(6);

		
		//alert(asset_id);

		var name = $('#name_' + asset_id).val();
		var profile = $('#profile_' + asset_id).val();
		
		var url = '/ajax/asset_update/' + asset_id;
		
		if(asset_id > 0)
		{
		    $.ajax(
					{
				       url: url,
			           type:"POST",
			           data:"name=" + name + "&profile=" + profile + "&",
				       dataType: "json",
				       success: function(result)
					   {
						   if(true==result['status'])
						   {
								//alert(result['message']);
								// history.back();
						   } else {
							   alert('ERROR: ' + result['message']);
						   }
					   }
				    });
		}
		
		$('div.inline_wrapper').html('');
		
		return false;
	});	
	
	
	
	
	/* asset display */
	$('div.content_section div.asset_box').hover(function()
	{
		$(this).addClass("box_hover");
	},
	function ()
	{
		$(this).removeClass("box_hover");
	});
	$('div.content_section div.asset_box').live('click', function(event)
	{
		var id = $(this).attr('id').substring(6);
		var url = '/asset/get/' + id;
		window.location.replace(url);
		return false;
	});
	
	

});



































// log function

function log(obj)
{
	
	if(typeof(console) != "undefined")
	{
		console.log(obj);
	} else {
		// alert('no console');
		return true;
	}
}







// non ready functions...

function import_dir(NODE, TREE_OBJ)
{
	// alert(NODE.attr("source_dir"));
	var import_dir = UTIL.filesystem.import_dir(NODE, TREE_OBJ);

}

function edit_tracklist_change_name()
{
	var name = $('#tl_edit_artist').attr('value');


	$("div.tracklist_edit.selected").each(function(){
		var id = $(this).attr('id');

		// alert(id);
		// alert($('#' + id + ' input.tl_edit_artist').attr('value'));

		// alert($(this).attr('id'));

		$('#' + id + ' input.tl_edit_artist').val(name);
	});

	// load_tracklist_edit(291);

}


// save active tracklist to db
function edit_tracklist_save(release_id, submit_parent)
{
	var arr = new Array();
	$(".tracklist_edit").each(function(){
		var id = $(this).attr('id');

		if(id.length > 0)
		{
		var tracknumber = $(this).find('#tracknumber').attr('value');
		var name = $(this).find('.tl_edit_media').attr('value');
		var artist = $(this).find('.tl_edit_artist').attr('value');
		
		var video_service = $(this).find('.tl_video_service').val();
		var video_id = $(this).find('.tl_video_id').attr('value');


		var string = id + ':.:' + tracknumber + ':.:' + urlencode(name) + ':.:' + urlencode(artist) + ':.:' + urlencode(video_service) + ':.:' + urlencode(video_id);

		arr.push(string);
		}
	});

	var string = arr.join(';;;;;');

	if(arr.length > 0)
	{

 $.ajax(
 		{
 	       url: '/ajax/edit_tracklist_save',
 	       type:"POST",
 	       data:"string=" + string + '&release_id=' + release_id,
 	       dataType: "json",
 	       success: function(result)
 		   {
  		   		load_tracklist_edit($('#release_id').val());
					if (submit_parent == true)
					{
						$("#editreleaseform").submit();
					}
 		   }
 	    });
	}
	else
	{
		if (submit_parent == true)
		{
			$("#editreleaseform").submit();
		}
	}



}

// move active tracks
function edit_tracklist_move()
{

	var release = $('#tl_edit_release').attr('value');
	var arr = new Array();
	$("div.tracklist_edit.selected").each(function(){
		var id = $(this).attr('id');
		if(id.length > 0)
		{
			arr.push(id);
		}
	});


	if(arr.length > 0 && release.length > 0)
	{

	var string = arr.join(';;;;;');
	/**/
 	$.ajax(
 		{
 	       url: '/ajax/edit_tracklist_move',
 	       type:"POST",
 	       data:"string=" + string + '&release_name=' + release,
 	       dataType: "json",
 	       success: function(result)
 		   {
  		   		load_tracklist_edit($('#release_id').val());

  		   		var html = '';
				html += 'The selected tracks have been moved to "' + result['new_release_name'] + '".<br />';
				html += '<a href="/release/edit/' + result['new_release_id'] + '/" >Click here</a> to edit your newly created release';


				$('#tracklist_actions td.response').html(html);

/*
 * if (submit_parent == true) { //$("#editreleaseform").submit(); }
 */
 		   }


 	    });

	}
}

function load_tracklist_edit(id)
{
	$("#tracklist_listing").load('/ui/wrapper/tracklist_edit/' + id);
}




//license fields
function license_extrafields_update()
{
	// first hide extra-fields
	$("div.rights_extension").each(function()
	{
		$(this).hide();
	});

	var licensetype = $("#licensetype").val();

	$('#rights_' + licensetype).show();
}




// asset selection
function asset_select_update()
{
	var asset_id = $("#asset_select").val();
	//alert(asset_id);
	return false;
}




function layout_maximise()
{
	var speed = 0;

	if (typeof ui_layout_maximised === 'undefined') {
		ui_layout_maximised = 0;
	}

	// alert(ui_layout_maximised);

	if(ui_layout_maximised == 1)
	{

		ui_layout_maximised = 0;

	    $("#header").animate({
	        height: "38px"
	      }, speed );

	    $("#col3").animate({
	        marginRight: "281px"
	      }, speed );

	    $("#col2").animate({
	        width: "260px"
	      }, speed, function (){
	    	  // $('#col2').css('display', 'none');
	          }
	      );



	} else {

		ui_layout_maximised = 1;

	$('#header').css('overflow', 'hidden');

    $("#col2").animate({
        width: "0px"
      }, speed, function (){
    	  $('#col2').css('display', 'none');
          }
      );

    $("#header").animate({
        height: "0px"
      }, speed );

    $("#col3").animate({
        marginRight: "21px"
      }, speed );
	};



	// update session
    $.ajax(
    		{
    	       url: "/ui/set/" + "viewport_maximise" + "/" + ui_layout_maximised,
               type:"POST",
               data:"jq=true",
    	       dataType: "json",
    	       success: function(result)
    		   {
    			   if(true==result)
    			   {
    			   	  // $("#" + id).load(inline);
    			   } else {

    			   }
    		   }
    	    });




}


// temporary
function reload_rubelbox()
{
	$("#rubelbox").load('/ui/wrapper/rubelbox');
}




function urlencode( str ) {

    var histogram = {}, tmp_arr = [];
    var ret = (str+'').toString();

    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };

    // The histogram is identical to the one in urldecode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    histogram['\u00DC'] = '%DC';
    histogram['\u00FC'] = '%FC';
    histogram['\u00C4'] = '%D4';
    histogram['\u00E4'] = '%E4';
    histogram['\u00D6'] = '%D6';
    histogram['\u00F6'] = '%F6';
    histogram['\u00DF'] = '%DF';
    histogram['\u20AC'] = '%80';
    histogram['\u0081'] = '%81';
    histogram['\u201A'] = '%82';
    histogram['\u0192'] = '%83';
    histogram['\u201E'] = '%84';
    histogram['\u2026'] = '%85';
    histogram['\u2020'] = '%86';
    histogram['\u2021'] = '%87';
    histogram['\u02C6'] = '%88';
    histogram['\u2030'] = '%89';
    histogram['\u0160'] = '%8A';
    histogram['\u2039'] = '%8B';
    histogram['\u0152'] = '%8C';
    histogram['\u008D'] = '%8D';
    histogram['\u017D'] = '%8E';
    histogram['\u008F'] = '%8F';
    histogram['\u0090'] = '%90';
    histogram['\u2018'] = '%91';
    histogram['\u2019'] = '%92';
    histogram['\u201C'] = '%93';
    histogram['\u201D'] = '%94';
    histogram['\u2022'] = '%95';
    histogram['\u2013'] = '%96';
    histogram['\u2014'] = '%97';
    histogram['\u02DC'] = '%98';
    histogram['\u2122'] = '%99';
    histogram['\u0161'] = '%9A';
    histogram['\u203A'] = '%9B';
    histogram['\u0153'] = '%9C';
    histogram['\u009D'] = '%9D';
    histogram['\u017E'] = '%9E';
    histogram['\u0178'] = '%9F';

    // Begin with encodeURIComponent, which most resembles PHP's encoding
	// functions
    ret = encodeURIComponent(ret);

    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }

    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });

    return ret;
}



/*
 * SM2 popup stuff...
 */

var sm2       = null;
var sm2_open = false;
 
function popup_sm2(item_type, item_id)
{
	var width = 610;
	var height = 540;
	var baseurl = '/popup/sm2/';
	var url = baseurl + item_type + '/' + item_id;
	sm2 = window.open(url, 'sm2_win', 'toolbar=0, location=0, directories=0, status=1, menubar=0, scrollbars=0, resizable=0, width=' + width + ', height=' + height);
	sm2_open = true;
}





function fp_call_publish(item_type, item_id)
{
	
	action_links = [{'text':'Recaption this', 'href':'http://bit.ly/19DTbF'}]; 
	

	
	$.post("/facebook/share_data", { item_type: item_type, item_id: item_id }, function(data) {
		//alert(JSON.stringify(data));
	    
	    if(!data.status)
	    {
	        $.blockUI({ 
	        	css: { 
		            border: 'none', 
		            padding: '15px', 
		            backgroundColor: '#000', 
		            '-webkit-border-radius': '5px', 
		            '-moz-border-radius': '5px', 
		            opacity: .9, 
		            color: '#fff !important' 
	        	},
	        	message: '<p style="color: #ffffff;">' + data.message + '</p>'
	        }); 
	        setTimeout($.unblockUI, 5000); 
	    }
	    else
	    {
	    	
	    	callPublish('', data.item, data.actions, data.actor_id);
	    }
	}, "json");


}







$(window).ajaxStop(function() { 
	

	function findValueCallback(event, data, formatted) {
		$("<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result");
	}
	
	function formatItem(row) {
		// return row[0] + " (<strong>id: " + row[1] + "</strong>)";
		return row[0];
	}
	function formatResult(row) {
		return row[0].replace(/(<.+?>)/gi, '');
	}
	$("#tagger_input_field").autocomplete('/ajax/autocomplete/ac_tagger/', {
		width: 400,
		multiple: true,
		matchContains: true,
		formatItem: formatItem,
		formatResult: formatResult
	});
	

	$("#tagger_input_field").result(function(event, data, formatted) {
		var hidden = $(this).parent().next().find(">:input");
		hidden.val( (hidden.val() ? hidden.val() + ";" : hidden.val()) + data[1]);
	});
	});






log('ui ready');

