		function unsub(ids, descrs, id)
		{
			$('#unsubelements')
				.empty()
			for (var i=0; i < ids.length; i++)
				$('#unsubelements')
					.append(
						$('<div></div>')
							.append(
								$('<input />')
									.attr('type','radio')
									.attr('value', ids[i])
									.attr('id', 'r'+ids[i])
									.attr('name', 'subid')
									.attr('checked', (i==0 ? 'checked' : '') )
									)
							
							.append(
								$('<label></label>')
									.attr('for', 'r'+ids[i])
									.append(descrs[i])
									)
							)
		
			$('#unsub')
				.appendTo('#act'+id)
				.show()
		
			return false
		}
		
		function submit_unsub()
		{
			if ($(this).val() == 'Cancel')
			{
				$('#unsub').hide()
				return false
			}
			return true
		}
		
		
		function showItem()
		{
			$myDiv = $(this)
				.parents('.hiddenItem')
			var nodeID = $myDiv.get(0).id.split('h')[1]
			$myDiv
				.slideUp('slow')
			$('#w'+nodeID)
				.slideDown('slow')
			$.get('/unhide/'+nodeID, function(result) {if (result) alert(result)})
			return false
		}
		
		function hideItem()
		{
			$mainDiv = $(this)
				.parents('.walldiv')
			var nodeID = $mainDiv.get(0).id.split('w')[1]
			$mainDiv
				.slideUp('slow')
			$('#h'+nodeID)
				.slideDown('slow')
			$.get('/hide/'+nodeID, function(result) {if (result) alert(result)})	// asynchronous call, ignore result
			return false
		}
		
		$( function() {
			$('.walldiv .actionButtons a:contains("Hide")')
				.click(hideItem)
			$('a.unhide')
				.click(showItem)
			$('#unsub input')
				.click(submit_unsub)
			} )

