	
		// glue code
		
		init = function() 
		{
			var params = Semafox.Parameters(document.location.search.substr(1));
			document.getElementById('ztitle').value = params.title;
			document.getElementById('zurl').value = params.url;				
			if(params.hide) hide(); else show();
			return params;
		}

		repaint = function(params, urlChanged)
		{
			var title, url;
			if(params)
			{
				if(params.title)
					title = params.title;
				if(params.url)
					url = params.url;
			}
			else 
			{
				title = document.getElementById('ztitle').value;
				url = document.getElementById('zurl').value;	
			}

			repaint_title(title, url);
			if(urlChanged)
				repaint_url(title, url, 'css');
		}

		repaint_url = function(ztitle, zurl, zstyle)
		{
                        semacode = { title:ztitle, url:zurl, size:16, style:zstyle, use_images:1 };
			Semafox.Format.Dom(semacode);
			repaint_link(title, url);			
		}

		repaint_title = function(title, url)
		{
			document.title = title;
			document.getElementById('semacode.title').innerHTML = title;
			repaint_link(title, url);
		}		

		repaint_link = function(title, url)
		{
			var nurl = document.location.protocol + '\/\/' 
						+ document.location.host + document.location.pathname 
						+ '?title=' + title + '&amp;url=' + url; 
			document.getElementById('semacode.url').innerHTML = "\n<a href='" + 'xhtml-css?title=' + title + '&amp;url=' + url + "'>" + nurl + "<\/a>";
		}

		show = function()
		{
			document.getElementById('zpanel').style.visibility = 'visible';
			document.getElementById('semacode.url').style.visibility = 'visible';			
		}

		hide = function()
		{
			document.getElementById('zpanel').style.visibility = 'hidden';
			document.getElementById('semacode.url').style.visibility = 'hidden';
		}
		
