jQuery.fn.showTip = function(options) {
	options = jQuery.extend({
		css : {'border':'1px solid #999', 'width':'300px'},
		top : 24,
		html : ""
	},options);
	var _self = this;
	var offset = _self.offset();
	var left = offset.left + 'px';
	var top = offset.top + options.top + 'px';
	var tipbox = jQuery('<div></div>');
	for (var i in options.css) {
		tipbox.css(i, options.css[i]);
	}
	tipbox.css('position','absolute')
		.css('left',left)
		.css('top',top)
		.html(options.html)
		.prepend('<div style="text-align: right;"><a href="javascript:;" onclick="jQuery(this).parent().parent().remove();">close</div>')
		.appendTo(jQuery('body'));
	tipbox.bgiframe();
	return _self;
};

var facejson = '';
var commentbox;
jQuery.fn.showFaceTip = function(options) {
	options = jQuery.extend({
		css : {},
		top : 16,
		tipboxId : "TQ_facebox",
		getfaceurl : makeurl('tq', 'getface', {'type':0, 'group':0, 'page':0}),
		faceroot : SITE_URL.static+"/js/tqeditor/face/",
		textId : "TQ_msgTextArea",
		html : "",
		repos : 1
	},options);
	var _self = this;
	commentbox = _self.closest('.TQ_commentbox');
	var offset = _self.offset();
	offset.left = offset.left - 6 + 'px';
	offset.top = offset.top + options.top + 'px';
	if (options.tipboxId == "") {
		var tipbox = jQuery('<div></div>');
	} else {
		var tipbox = jQuery('#'+options.tipboxId);
		if (!tipbox.attr('style')) {
			jQuery('body').append('<div id="'+options.tipboxId+'"></div>');
			tipbox = jQuery('#'+options.tipboxId);
		}
	}
	if (facejson) {
		mkfacebox(facejson, options, tipbox, offset);
	} else {
		jQuery.getJSON(options.getfaceurl, '', function(res){
			//facejson = eval('('+res+')');
			if (res['errorid']) {
				alert(res['errormessage']);
				return false;
			}
			facejson = res;
			mkfacebox(facejson, options, tipbox, offset);
		});
	}
	return _self;
};

function mkfacebox(facejson, options, tipbox, offset) {
	var facehtml = '';
	for (var i in facejson) {
		if(!isNaN(i)) {
			facehtml += '<a href="javascript:;" title="' + facejson[i]['title'] + '"><img src="' + options.faceroot +  facejson[i]['url'] + '"></a>';
		}
	}
	var closebtn = '<div class="closeouter"><a href="javascript:;" class="close"></a><div style="clear:both;"></div></div>';
	options.html = '<div class="weebg01img"></div><div class="weebg02"><div class="weebg03">'+closebtn+'<div id="TQ_faces" class="weeinner"><div>'+facehtml+'<div style="clear:both;"></div></div></div></div></div>';
	//var closebtn = '<a href="javascript:;"><img src="'+SITE_URL.static+'/images/tqeditor/close.gif" alt="" /></a>';
	//options.html = '<table cellpadding="0" cellspacing="0" border="0"><tr><td class="weebg01img"></td></tr>';
	//options.html += '<tr><td class="weebg02" align="right">'+closebtn+'</td></tr>';
	//options.html += '<tr><td class="weebg02"><div id="TQ_faces" class="weeinner"><div>'+facehtml+'<div style="clear:both;"></div></div></div></td></tr>';
	//options.html += '<tr><td class="weebg03" height="7"></td></tr></table>';
	for (var i in options.css) {
		tipbox.css(i, options.css[i]);
	}
	if (options.repos) tipbox.css('position','absolute').css('left',offset.left).css('top',offset.top).css('z-index',2099);
	tipbox.html(options.html);
	tipbox.bgiframe();
	tipbox.show();
	var jqtxtarea = jQuery('#'+options.textId);
	if (commentbox.attr('class') > '') jqtxtarea = commentbox.find('#'+options.textId);
	tipbox.find('#TQ_faces a').click(function(){
		fastInsertStr(jqtxtarea, '[' + $(this).attr('title') + '] ');
		tipbox.hide();
	});
	tipbox.find('a.close').click(function(){
		tipbox.hide();
	});
}
