jQuery.fn.nwtooltip = function(options) {

	settings = jQuery.extend({
		classname: 'nwtooltip',
		descriptionSuffix: 'text',
		padding: 0,
		top: undefined,
		left: undefined
	}, options);

	//content attrs
	var content = this;
	content.css('background-color', 'white');
	content.css('float', 'left');

	//hide description
	var contentDescDiv = '.' + content.attr("class") + '-' + settings.descriptionSuffix;
	jQuery(contentDescDiv).hide();

	//fancy box
	content.find("a").fancybox({
		callbackOnShow: function() {
			var descriptionDiv = jQuery(contentDescDiv).clone(false).addClass("desc").css('z-index', '110');
			jQuery("#fancy_content").prepend(descriptionDiv.show());
		}
	});

	//html boxing
	var content_height = content.height();
	var content_width = content.width();

	var parent = jQuery("<div>").addClass(settings.classname);

	if (settings.top !== undefined || settings.left !== undefined) {
		parent.css('position', 'absolute');
		parent.css('top', settings.top + 'px');
		parent.css('left', settings.left + 'px');
	}
	parent.css('width', content_width + 2*settings.padding + 20 + 19);
	parent.css('height', content_height + 2*settings.padding + 20 + 19);
	content.wrap(parent);

	content.css('padding', settings.padding + 'px');
	content.css('width', content_width + 'px');
	content.css('height', content_height + 'px');

/* top border */
	var div_frame_nw = jQuery("<div>").addClass("frame_nw");
	var div_frame_n = jQuery("<div>").addClass("frame_n").css("width", content_width + 2*settings.padding);
	var div_frame_ne = jQuery("<div>").addClass("frame_ne");

/* content wrap */
	var div_frame_w = jQuery("<div>").addClass("frame_w").css("height", content_height + 2*settings.padding);
	var div_frame_e = jQuery("<div>").addClass("frame_e").css("height", content_height + 2*settings.padding);

/* bottom border */
	var div_frame_sw = jQuery("<div>").addClass("frame_sw");
	var div_frame_s = jQuery("<div>").addClass("frame_s").css("width", content_width + 2*settings.padding);
	var div_frame_se = jQuery("<div>").addClass("frame_se");

	div_frame_w.insertBefore(content);
	div_frame_ne.insertBefore(div_frame_w);
	div_frame_n.insertBefore(div_frame_ne);
	div_frame_nw.insertBefore(div_frame_n);

	div_frame_e.insertAfter(content);
	div_frame_sw.insertAfter(div_frame_e);
	div_frame_s.insertAfter(div_frame_sw);
	div_frame_se.insertAfter(div_frame_s);	

};
