	var sharebox_url='';
	var sharebox_title='';
	var sharebox_magic='';

	function showShare(buttonID, url, title, enc_url, enc_title, magic){
		if(document.getElementById('sharebox') && document.getElementById('sharebox').style.visibility == 'hidden'){
			if(url) bookmark_url = url;
			if(title) bookmark_title = title;
			if(enc_url) sharebox_url = enc_url;
			if(enc_title) sharebox_title = enc_title;
			if(magic) sharebox_magic = magic;

			var viewPortArray=viewPortSize();

			var bottom = document.getElementById(buttonID).offsetTop + document.getElementById(buttonID).height + document.getElementById('sharebox').offsetHeight;
			document.getElementById('sharebox').style.top = Math.max(((bottom > viewPortArray[1] + getScrollHeight())?(document.getElementById(buttonID).offsetTop - document.getElementById('sharebox').offsetHeight):(document.getElementById(buttonID).offsetTop + document.getElementById(buttonID).offsetHeight)), getScrollHeight()) + 'px';
			document.getElementById('sharebox').style.left= document.getElementById(buttonID).offsetLeft + 'px';
			document.getElementById('sharebox').style.visibility = 'visible';
		}
	}

	function hideShare(){
		if(document.getElementById('sharebox')) document.getElementById('sharebox').style.visibility = 'hidden';
	}

	function sharebox_do(button){
		hideShare();	
		if(typeof(window['window_handle']) != "undefined") window_handle.close();
		var book_url='';
		var xdim = 800;
		var ydim = 500;
		switch (button){
			case 'email':
				xdim = 375;
				ydim = 685;
				book_url = "/mailthis/emailthis.php?&url=" + sharebox_url + "&title=" + sharebox_title + "&magic=" + sharebox_magic;
				break;
			case 'print':
				printpage();
				break;
			case 'delicious':
				book_url = "http://delicious.com/post?v=4&noui&jump=close&url=" + sharebox_url + "&title=" + sharebox_title;
				break;
			case 'digg':
				ydim = 530;
				book_url = "http://digg.com/remote-submit?phase=2&url=" + sharebox_url + "&title=" + sharebox_title;
				break;
			case 'google':
				book_url = "http://www.google.com/bookmarks/mark?op=add&bkmk=" + sharebox_url + "&title=" + sharebox_title;
				break;
			case 'facebook':
				book_url = "http://www.facebook.com/sharer.php?u=" + sharebox_url + "&t=" + sharebox_title;
				break;
			case 'reddit':
				book_url = "http://reddit.com/submit?url=" + sharebox_url + "&title=" + sharebox_title;
				break;
			case 'stumbleupon':
				ydim = 450;
				book_url = "http://www.stumbleupon.com/submit?url=" + sharebox_url + "&title=" + sharebox_title;
				break;
			case 'twitter':
				ydim = 470;
				book_url = "http://twitter.com/home?status=" + sharebox_url;
				break;
			case 'mixx':
				book_url = "http://www.mixx.com/submit?page_url=" + sharebox_url;
				break;
			default:
				// ????
				break;
		}

		if(book_url) open_popup(book_url, xdim, ydim); 

		var urlFeed="/log_responder.php?event_type=1&efield1="+sharebox_url+"&efield2="+sharebox_title+"&efield3="+button;
		ajaxPing(urlFeed);
	}

	function printpage(){
		window.print();
	}

	function open_popup(page, xdim, ydim) {
		var viewPortArray=viewPortSize();
		window_handle = window.open('','popupBookmark','width=100,height=100,menubar=0,status=0,location=0,scrollbars=0,toolbar=0');

		window_handle.resizeTo(xdim,ydim);

		if(window_handle.outerWidth){
			var wWidth = window_handle.outerWidth;
			var wHeight =  window_handle.outerHeight;
		}else{
			var wWidth = xdim + 15;
			var wHeight = ydim + 15; 
		}

		window_handle.resizeTo(xdim,ydim)
		var xpos = Math.max(Math.floor((screen.availWidth - wWidth) / 2), 0);
		var ypos = Math.max(Math.floor((screen.height - wHeight) / 2), 0);
		window_handle.moveTo(xpos,ypos);
		window_handle.focus();
		window_handle.location.href = page;
		return false;
	}

	document.getElementsByTagName('html')[0].onmouseover = function(e) {
		if(document.getElementById('sharebox') && document.getElementById('sharebox').style.visibility == 'visible'){
			var el;
			if(!e){
				var e = window.event;
			}
			if(e.target){
				el = e.target;
			}else if(e.srcElement){
				el = e.srcElement;
			}
			if(el.nodeType==3){ // defeat Safari bug
				el = targ.parentNode;
			}

			if (!el) return;

			if(el.id != 'sharebox' && !(inDiv(el,'sharebox')) && el.id.substr(0,10) != 'sharer_btn') hideShare();
	
		}
	}

	function inDiv(el, parentDiv){
		while (el) {
			if (el.id && el.id==parentDiv && el.tagName.toUpperCase() == 'DIV') {
				return true;
				break;
			}
			el = el.parentNode;
		}
		return false;		
	}
