
//
(function($) {
	$.asset={
		Err:"服务器繁忙！"
	};
	function bindmodel(){
		$().keypress(modelstate).keyup(modelstate).mousedown( modelstate);
	}

	function unbindmodel(){
		$().unbind("keypress",modelstate).unbind("keyup",modelstate).unbind("mousedown",modelstate);
	}

	function modelstate(e){
		var _r=!$(e.target).parents('#popup_container')[0];
		if(_r)
		{
			setTimeout(function(){try{$("#popup_container input").eq(0).focus();}catch(_){};},10);
		}
	};
	$.alerts = {
		
		// These properties can be read/written by accessing $.alerts.propertyName from your scripts at any time
		
		verticalOffset: -75,                // vertical offset of the dialog from center screen, in pixels
		horizontalOffset: 0,                // horizontal offset of the dialog from center screen, in pixels/
		repositionOnResize: true,           // re-centers the dialog on window resize
		overlayOpacity: .1,                // transparency level of overlay
		overlayColor: '#000000',               // base color of overlay
		draggable: false,                    // make the dialogs draggable (requires UI Draggables plugin)
		okButton: '&nbsp;\u786e\u5b9a&nbsp;',         // text for the OK button
		cancelButton: '&nbsp;\u53d6\u6d88&nbsp;', // text for the Cancel button
		dialogClass: null,                  // if specified, this class will be applied to all dialogs
		modal: true,
		
		// Public methods
		
		alert: function(message, title, callback) {
			if( title == null ) title = '提示';
			return $.alerts._show(title, message, null, 'alert', function(result) {
				if( callback ) {
					var _ret=callback(result);
					if(_ret===true||typeof(_ret)=="undefined"){$.alerts._hide();}
					else{
						$.alerts._errtip(_ret);
					}
				}
				else{
					$.alerts._hide();
				}
				//if( callback ) return callback(result);
			});
		},
		
		confirm: function(message,callback, title) {
			if( title == null ) title = '确定';
			return  $.alerts._show(title, message, null, 'confirm', function(result) {
				if( callback ) {
					var _ret=callback(result);
					if(_ret===true||typeof(_ret)=="undefined"){$.alerts._hide();}
					else{
						$.alerts._errtip(_ret);
					}
				}
				else{
					$.alerts._hide();
				}
			});
		},
			
		prompt: function(message,callback, value, title) {
			if( title == null ) title = '输入';
			return $.alerts._show(title, message, value, 'prompt', function(result) {
				if( callback ) {
					var _ret=callback(result);
					if(_ret===true||typeof(_ret)=="undefined"){$.alerts._hide();}
					else{
						$.alerts._errtip(_ret);
					}
				}
				else{
					$.alerts._hide();
				}
				//if( callback ) return callback(result);
			});
		},
		
		// Private methods
		
		_show: function(title, msg, value, type, callback) {
			
			$.alerts._hide();
			$.alerts._overlay('show');
			
			$("BODY").append(
			  '<div id="popup_container" class="dialog">'
				+'<div class="dDc"><span class="tl"/><span class="tr"/><span class="br"/><span class="bl"/></div>'
					+'<div class="dCt" id="popup_content">'
						+'<div class="dHd"><h4 id="popup_title"></h4>'
							+'<div class="option">'
								+'<a id="popup_close" class="icon i-close" href="javascript:void(0)">'
									+'<img height="15" border="0" width="15" title="Close" src="http://file1.mafengwo.cn/images/home/tweet/btn_close.gif"/>'
								+'</a>'
							+'</div>'
						+'</div>'
						+''
						+'<div class="dBd"><div id="popup_errortip" class="tips_yellow hide"></div><div id="popup_message"></div></div>'
						+'<div id="popup_panel" class="dFt"></div>'
					+'</div>'
			+'</div>');
			
			if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass);
			
			$("#popup_title").text(title);
			$("#popup_content").addClass(type);
			//$("#popup_message").html( msg.replace(/\n/g, '<br />') );
			$("#popup_message").html( msg.replace(/\n/g, '') );
			
			
			$("#popup_close").click( function() {
						$.alerts._hide();
						//setTimeout(function(){if( callback ) callback(false);},10);
			});
			
			switch( type ) {
				case 'alert':
					$("#popup_panel").html('<input type="button" value="' + $.alerts.okButton + '" id="popup_ok" />');
					$("#popup_ok").click( function() {
						setTimeout(function(){
							callback(true);
						},10);
					});
					$("#popup_ok").focus().keypress( function(e) {
						if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click');
					});
					if($.alerts.modal)bindmodel();
				break;
				case 'confirm':
					$("#popup_panel").html('<input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" />');
					$("#popup_ok").click( function(e) {
						setTimeout(function(){callback(true);},10);
					});
					$("#popup_cancel").click( function() {
						setTimeout(function(){callback(false);},10);
					});
					$("#popup_ok").focus();
					$("#popup_ok").keypress( function(e) {
						//alert(!!$(e.target).parents('#popup_panel')[0]);
						if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
					});
					$("#popup_cancel").keypress( function(e) {
						if( e.keyCode == 13 )  $("#popup_cancel").trigger('click');
					});
					if($.alerts.modal)bindmodel();
				break;
				case 'prompt':
					$("#popup_message").append('<input type="text" size="30" id="popup_prompt" />');
					$("#popup_panel").html('<input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" />');
					$("#popup_prompt").width( "90%" );
					$("#popup_ok").click( function() {
						
						var val = $("#popup_prompt").val();
						setTimeout(function(){ callback(val);},10);
					});
					$("#popup_cancel").click( function() {
						$.alerts._hide();
						setTimeout(function(){if( callback ) callback(null);},10);
					});
					$("#popup_prompt, #popup_ok").keypress( function(e) {
						
						if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
						if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
					});
					$("#popup_cancel").keypress( function(e) {
						
						if( e.keyCode == 13 ) $("#popup_cancel").trigger('click');
						if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
					});
					if( value ) $("#popup_prompt").val(value);
					if($.alerts.modal)bindmodel();
					$("#popup_prompt").focus().select();
					
				break;
			}
			
			
			// Make draggable
			if( $.alerts.draggable ) {
				try {
					$("#popup_container").draggable({ handle: $("#popup_title") });
					$("#popup_title").css({ cursor: 'move' });
				} catch(e) { /* requires jQuery UI draggables */ }
			}
			return $("#popup_container");
		},
		_hide: function() {
			$("#popup_container").remove();
			if($.alerts.modal)unbindmodel();
			$.alerts._overlay('hide');
			//$.alerts._maintainPosition(false);
		},
		_errtip: function(msg) {
			$("#popup_errortip").html(msg).show();//.fadeOut(5000);
			//$.alerts._maintainPosition(false);
		},
		
		_overlay: function(status) {
			switch( status ) {
				case 'show':
					$.alerts._overlay('hide');
					
					var o=$('<div id="popup_overlay"></div>').css({
						position: 'fixed',
						zIndex: 999,
						top: 0,
						left: 0,
						width: '100%',
						height: '100%',
						background: $.alerts.overlayColor,
						opacity: $.alerts.overlayOpacity
					}).appendTo($("BODY"));					
					var ifra=$('<iframe src="javascript:false;document.write(\'\');" class="popup_overlayiframe"></iframe>').css({opacity:0});

					//var ie6=$.browser.msie&&($.browser.version == "6.0");
					var ie6=$.browser.msie&&($.browser.version == "6.0")&&!$.support.style;

					if(ie6){
						o.html('<p style="width:100%;height:100%"/>').css("height",$(window).height()).css("width",$(window).width()).prepend(ifra);
						o=o.css({position:'absolute'})[0];
						try
						{
							for(var y in {Top:1,Left:1})
							o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");
						}
						catch (e)
						{
							;
						}
						
				    }	
				break;
				case 'hide':
					$("#popup_overlay").remove();
				break;
			}
		},
		
		//tiny alert
		_timeid:0,
		_overShow: function(msg, timespan) {
            timespan = timespan||3000;
			$("#over_container").remove();
            $("body").append('<div id="over_container" style="display:none"><div id="over_message"></div></div>');
            $("#over_message").text(msg).html($("#over_message").text().replace(/\n/g, "<br />"));
            $("#over_container").show();
			clearTimeout(this._timeid);
            this._timeid=setTimeout(function() {
                $("#over_container").hide("fast",function(){$(this).remove();});
            },timespan);
			return $("#over_container");
        },
		overAlert: function(msg, time) {
            return $.alerts._overShow(msg, time);
        },
		//end tiny alert
		
		_reposition: function() {
			var top = (($(window).height() / 2) - ($("#popup_container").outerHeight() / 2)) + $.alerts.verticalOffset;
			var left = (($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset;
			if( top < 0 ) top = 0;
			if( left < 0 ) left = 0;
			
			// IE6 fix
			if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop();
			
			$("#popup_container").css({
				top: top + 'px',
				left: left + 'px'
			});
			$("#popup_overlay").height( $(document).height() );
		},
		
		_maintainPosition: function(status) {
			if( $.alerts.repositionOnResize ) {
				switch(status) {
					case true:
						$(window).bind('resize', $.alerts._reposition);
					break;
					case false:
						$(window).unbind('resize', $.alerts._reposition);
					break;
				}
			}
		}
		
	}
	
	$.fn.mTipHide=function(){
		if($(this).data("mtip")){
			$(this).data("mtip").css("right",null);
			$(this).data("mtip").css("left","-1000px");
		}
	};
	$.fn.mTip=function(msg,content,position){
		var content=content||"";
		var _template='<div class="eject_container"><div class="eject">'
			  +'<p class="eject_position"></p>'
			  +'<div class="eject_close btn_eject_close"><img title="关闭" src="http://file1.mafengwo.cn/images/wengweng/btn_close.gif" /></div>'
			  +'<div>'
			  +'<div class="eject_tit">'+msg+'</div>'
			  +'<div class="eject_ts">'+content+'</div>'
			  +'</div>'
			  +'<div class="m_t_10">'
			  //+'<input class="btn_orange" type="button" value="确定" onmouseover="" onmouseout="" />'
			  //+'<input class="btn_gray m_l_5" type="button" value="取消" onmouseover="" onmouseout="" />'
			  +'</div>'
			+'</div></div>';

		return this.each(function(){
			var _p=$(this).offset();
			var _el=$(_template);
			if($(this).data("mtip"))
			{
				if(position=="left")
				{
					$(this).data("mtip").css("left",null);
					$(this).data("mtip").css("right",$(this).data("pos")+ 'px');
				}
				else
				{
					$(this).data("mtip").css("left",$(this).data("pos")+ 'px');
				}
				if(msg!="")
				{
					$(this).data("mtip").find("div.eject_tit").html(msg);
				}
				if(content!="")
				{
					$(this).data("mtip").find("div.eject_ts").html(content);
				}
				return;
			}
			$("BODY").append(_el);
			_el.hide().fadeIn("slow");
			_el.find(".btn_eject_close").click(function(){
				_el.css("right",null);
				_el.css("left","-1000px");
			});
			
			if(position=="left")
			{
				var _r=($(window).width()-_p.left)+10;
				_el.find(".eject_position").addClass("eject_r");
				_el.css({
					top: _p.top + 'px',
					right:_r + 'px'
				});
				$(this).data("pos",_r);
			}else if(position=="bottom"){
				_el.find(".eject_position").addClass("eject_t");
				_el.css({
					top: (_p.top+$(this).outerHeight())+10 + 'px',
					left: _p.left + 'px'
				});
				$(this).data("pos",_p.left);
			}else if(position=="top"){
				_el.find(".eject_position").addClass("eject_b");
				_el.css({
					top: (_p.top-_el.outerHeight())-10 + 'px',
					left: _p.left + 'px'
				});
				$(this).data("pos",_p.left);
			}
			else{
				_el.find(".eject_position").addClass("eject_t");
				_el.css({
					top: (_p.top+$(this).outerHeight())+10 + 'px',
					left: _p.left + 'px'
				});
				$(this).data("pos",_p.left);
			}
			/*
			if($(window).scrollTop()>(_p.top-_el.outerHeight()))
			{
				_el.find(".eject_position").addClass("eject_t");
				_el.css({
					top: (_p.top+$(this).outerHeight())+10 + 'px',
					left: _p.left + 'px'
				});
			}
			else
			{
				_el.find(".eject_position").addClass("eject_b");
				_el.css({
					top: (_p.top-_el.outerHeight())-10 + 'px',
					left: _p.left + 'px'
				});
			}
			*/
			$(this).data("mtip",_el);
			
		});
	}
	// Shortuct 浮层 functions 
	mAlert = function(message, title, callback) {
		return $.alerts.alert(message, title, callback);
	}
	
	mConfirm = function(message,  callback,title) {
		return $.alerts.confirm(message, callback,title);
	};
		
	mPrompt = function(message,callback, value, title) {
		return $.alerts.prompt(message,callback, value, title);
	};

	mTinyAlert = function(message, time) {
        return $.alerts.overAlert(message, time)
    }

	mFloatPanel = function(html,position) {
		position=position||"top";
        return $("<div/>").appendTo($("body")).addClass("floatpanel").html(html).addClass("floatpanel"+position);//.hide().slideDown("slow");
    }

	//ajax替换
	mAjaxReplace=function(obj,url,target){
		if($(obj).hasClass("moving"))return false;
		//$(obj).removeAttr("onclick");
		var target=target||"";
		if(target=="parent")
		{
			$(obj).parent().hide();
		}
		else
		{
			$(obj).hide();
		}
		$.getJSON(url,function(data){
			if(data.ret==1)
			{
				if(target=="parent")
				{
					$(obj).parent().replaceWith($(data.html).hide().fadeIn(1500));
				}
				else
				{
					$(obj).replaceWith($(data.html).hide().fadeIn(1500,function(){$(this).removeClass("moving");}).addClass("moving"));//.fadeIn("slow");
				}
			}
			else
			{
				majaxerr(data);
			}
		});
	};

	/**
     * 输入框中默认显示灰色文本
     * @param oConfig {Object} 配置参数，其结构为：
     * {
     *      text:{String} 默认文字,
     *      ziClass:{String} 文本默认显示的样式，默认为"gray"
     * }
     * @type jQuery
     * @example
     * 好友搜索输入框中默认灰色文本:"我要去看谁？"
     * $(".fc_input").inputDefault({
     *      text:_."我要去看谁？"
     * });
     */
	$.fn.inputDefault = function(oConfig) {
        var ziClass = oConfig.ziClass || "gray";
		if($(this).val().length==0)
        return this.focus(function() {
            if ($(this).hasClass(ziClass))$(this).val("").removeClass(ziClass);
        }).blur(function() {
            if ($.trim($(this).val()).length == 0)$(this).val(oConfig.text).addClass(ziClass);
        }).val(oConfig.text).addClass(ziClass);
    };
	/**
     * 背景切换
     * @param oConfig {Object} 配置参数，其结构为：
     * {
     *      url:{String} 要切换的图片
     * }
     * @type jQuery
     * @example
     * $(".img").img2Bg({
     *      url:"xxxx"
     * });
     */
	$.fn.img2Bg = function(oConfig) {
		var oConfig=oConfig||{};
        return this.each(function(){
			var _url=$(this).attr("img2")||oConfig.url||"";
			if(_url.length>0){
				$(this).data("ourl",$(this).attr("src"));
				$(this).mouseover(function() {
					$(this).attr("src",_url);
				}).mouseout(function() {
					$(this).attr("src",$(this).data("ourl"));
				}).parent().focus(function(){$(this).trigger("blur")});
			}
			
		});
    };

	$.fn.selectInput = function(oConfig) {
			var ret={};
			this.each(function(){
			var oConfig=oConfig||{};
			var def_val = oConfig.def || "0";
			var _sel=$(this);
			var _ipt=$(this);
			$(this).change(function(){
				if($(this).val()==def_val)
				{
					_ipt=$('<input type="text" />').attr("name",$(this).attr("name")+"_i").attr("id",$(this).attr("id")+"_i")
					.insertAfter($(this)).dblclick(function(){
						_sel.show().children(':first-child').attr("selected","selected");
						$(this).hide();
					});
					$(this).hide();
				}
			});
			
			ret.val=function(){
				if(_sel.is(':visible'))
				{
					return _sel.val();
				}
				else
				{
					return _ipt.val();
				}
			};
			
			
		});
		return ret;
    };
	
})(jQuery);

//分歧终端机挑战
var _vs_fans_times=-999;
function PK_n(times,defaultval,back){
	var t='<div class="vs_fans"><div class="oneline"><div class="p_tit">下注彩金：</div><div class="p_rcon"><span class="h2"><select id="select_tipmoney"name="select2"size="1"class="input"><option>1000</option><option>2000</option><option>5000</option><option>8000</option><option>10000</option><option value="0">自定义</option></select></span><span class="ts" id="vs_fans_times">今日还可免费发起<span class="coin_t">0</span>次</span></div></div><div class="oneline"><div class="p_tit">选择粉丝：</div><div class="p_rcon"><input type="text"name="textfield"class="to_suggest"/></div></div><div class="oneline"><div class="p_tit">选择出拳：</div><div class="p_rcon"><a id="btn_1"href="javascript:void(0)"><img val="2" img2="http://file1.mafengwo.cn/images/game/handwar/man_s1_on.gif"src="http://file1.mafengwo.cn/images/game/handwar/man_s1.gif"width="120"height="120"border="0"title="剪子"/></a><a id="btn_2"href="javascript:void(0)"><img val="5" img2="http://file1.mafengwo.cn/images/game/handwar/man_s2_on.gif"src="http://file1.mafengwo.cn/images/game/handwar/man_s2.gif"width="120"height="120"border="0"title="包袱"/></a><a id="btn_3"href="javascript:void(0)"><img val="0" src="http://file1.mafengwo.cn/images/game/handwar/man_s3.gif"img2="http://file1.mafengwo.cn/images/game/handwar/man_s3_on.gif"width="120"height="120"border="0"title="锤"/></a></div></div><div class="oneline"><div class="p_tit">附言：</div><div class="p_rcon"><textarea name="textfield2"class="textfield_tosay"style="width:360px;"></textarea></div></div></div><div class="clr3"></div>';
	
	var defaultval=defaultval||false;
	var picselected=false;
	var busy=false;
	var _touid=0;

	if(_vs_fans_times==-999)_vs_fans_times=parseInt(times);
	if(parseInt(_vs_fans_times)<=-50)
	{
		mAlert("今天你不能挑战了，明天再来吧~~");
		return;
	}

	var obj=mAlert(t,"挑战我的粉丝",function(){
		var money=parseInt(sipt.val());
		if(isNaN(money)||money<1000||money>10000)
		{
			return "请输入1000-10000的整数";
		}
		if(!picselected)
		{
			return "请选择出拳";
		}
		if(!defaultval&&obj.find("input.input_viled").length==0)
		{
			return "请选择粉丝";
		}
		if(!busy)
		{
			busy=true;
			var _wagerid=lastimg.val;
			var _uid=0
			if(defaultval){
				_uid=defaultval;
			}
			else
			{
				_uid=obj.find(".to_suggest").data("val");
			}
			
			var _msg=obj.find("textarea").val();
			//if(_msg=="就想和你赌一把！"){_msg=""};
			jQuery.getJSON("/ajax/ajax_wagerother.php",{touid:_uid,wagerid:_wagerid,challengeflg:"challenge",cash:money,msg:_msg},function(dat){
				if(dat.ret==1)
				{
					mTinyAlert(dat.msg||"操作成功！");
					if(typeof(back)=="function")back(dat.usercash);
				}
				else
				{
					mAlert(dat.msg||"操作失败！");
				}
				_vs_fans_times=parseInt(dat.leavenum);
				busy=false;
			});
		}
		return true;
	}).css({width:"500px",marginLeft:"-250px"})
	.find("textarea").inputDefault({text:"就想和你赌一把！"}).end();
	if(defaultval)
	{
		obj.find(".to_suggest").parent().parent().remove();
	}
	else
	{	
		obj.find(".to_suggest").suggest("/ajax/ajax_suggest.php?type=fans");
	}
	var sipt=obj.find("#select_tipmoney").selectInput();
	var lastimg={};
	obj.find("img").click(function(){
		picselected=true;
		if(lastimg.url){
			lastimg.obj.attr("src",lastimg.url);
		}
		lastimg.obj=jQuery(this);
		lastimg.url=jQuery(this).attr("src");
		lastimg.val=jQuery(this).attr("val");
		jQuery(this).attr("src",jQuery(this).attr("img2"));
		
	}).parent().focus(function(){jQuery(this).trigger("blur")});

	if(_vs_fans_times>0)
	{
		jQuery("#vs_fans_times").html('今日还可免费发起<span class="coin_t">'+_vs_fans_times+'</span>次');
	}
	else if(_vs_fans_times>-50)
	{ 
		jQuery("#vs_fans_times").html('每交1000金币挑战1次，今日还可发起<span class="coin_t">'+(_vs_fans_times+50)+'</span>次');
	}
	else
	{
		jQuery("#vs_fans_times").html('今日你不能发起挑战了');
	}
	
	
}


//suggest
(function($) {

		$.suggest = function(input, options) {
	
			var $input = $(input).attr("autocomplete", "off");
			var $results;

			var timeout = false;		// hold timeout ID for suggestion results to appear	
			var prevLength = 0;			// last recorded length of $input.val()
			var cache = [];				// cache MRU list
			var cacheSize = 0;			// size of cache in chars (bytes?)
			
			if($.trim($input.val())=='' || $.trim($input.val())=='中文/拼音') $input.val('中文/拼音').css('color','#aaa');
			if( ! options.attachObject )
				options.attachObject = $(document.createElement("ul")).appendTo('body');

			$results = $(options.attachObject);
			$("."+options.resultsClass).remove();
			$results.addClass(options.resultsClass);
			
			resetPosition();
			$(window).scroll(function(){resetPosition();});
			$(window)
				.load(resetPosition)		// just in case user is changing size of page while loading
				.resize(resetPosition);

			$input.blur(function() {
				setTimeout(function() { $results.hide(); }, 200);
			});
			
			$input.focus(function(){
				if($.trim($(this).val())=='中文/拼音'){
					$(this).val('');//.css('color','#000');
				}
				resetPosition();
			});
			$input.click(function(){
				var q=$.trim($(this).val());
				displayItems(q);
				$(this).select();
			});
						
			// help IE users if possible
			try {
				$results.bgiframe();
			} catch(e) { }

			$input.keyup(processKey);//
			
			function resetPosition() {
				// requires jquery.dimension plugin
				var offset = $input.offset();
				$results.css({
					top: (offset.top + input.offsetHeight) + 'px',
					left: offset.left + 'px'
				});
			}
			
			
			function processKey(e) {
				
				// handling up/down/escape requires results to be visible
				// handling enter/tab requires that AND a result to be selected
				
				if ((/27$|38$|40$/.test(e.keyCode) && $results.is(':visible')) ||
					(/^13$|^9$/.test(e.keyCode) && getCurrentResult())) {
		            
		            if (e.preventDefault)
		                e.preventDefault();
					if (e.stopPropagation)
		                e.stopPropagation();

	                e.cancelBubble = true;
	                e.returnValue = false;
				
					switch(e.keyCode) {
	
						case 38: // up
							prevResult();
							break;
				
						case 40: // down
							nextResult();
							break;
						case 13: // return
							selectCurrentResult();
							break;
							
						case 27: //	escape
							$results.hide();
							break;
	
					}
					
				} else if ($input.val().length != prevLength) {
					$input.css('color','#aaa').removeClass("input_viled");
					if (timeout) 
						clearTimeout(timeout);
					timeout = setTimeout(suggest, options.delay);
					prevLength = $input.val().length;
					
				}	
				else{$results.show();}
					
				
			}

			//cache
			function checkCache(q) {
				for (var i = 0; i < cache.length; i++)
					if (cache[i]['k'] == q) {
						cache.unshift(cache.splice(i, 1)[0]); // add to front to implement LRU
						return cache[0]["items"];
					}
				return false;
			}
			function addToCache(q, size,items) {
				while (cache.length && (cacheSize + size > options.maxCacheSize)) {
					var cached = cache.pop();
					cacheSize -= cached['size'];
				}
				cache.push({
					k:q,
					size:size,
					items:items
					});
				cacheSize += size;
			}
			//cache end
			function suggest() {
			
				var q = $.trim($input.val());
				displayItems(q);
			}	
			
			function handleJson(data,key){
				var html = '';
				//alert(typeof(data));
				if (data.length) {
					for(var i=0;i<data.length;i++){
						html+='<li rel="'+data[i].name+'"><img align="absmiddle" src="'+data[i].logo+'"/><span val="'+data[i].userid+'">'+data[i].name+'</span></li>';
					}
					html='<div class="gray ac_result_tip">' + key + '，按拼音排序</div><ul>'+html+'</ul>';
				}
				else {
					suggest_tip = '<div class="gray ac_result_tip">对不起，找不到：' + key + '</div>';
					html = suggest_tip + '<ul>' + html + '</ul>';
				}
				displayRet(html);
			}

			function displayItems(key) {
				if(key!="")
				{
					var _d=checkCache(key);
					if(_d)
					{
						handleJson(_d,key);
					}
					else
					{
						$.getJSON(options.source, {k: key}, function(data) {
							handleJson(data,key);
								addToCache(key, data.length,data);
						});
					}
				}
				else
				{
					displayRet('<div class="gray ac_result_tip">请输入中文/拼音或者↑↓选择</div>');
				}
				return;
			}

			function displayRet(html){
				$results.html(html).show();
					$results.children('ul').children('li:first-child').addClass(options.selectClass);
					
					$results.children('ul')
					.children('li')
					.mouseover(function() {
						$results.children('ul').children('li').removeClass(options.selectClass);
						$(this).addClass(options.selectClass);
					})
					.click(function(e) {
						e.preventDefault(); 
						e.stopPropagation();
						selectCurrentResult();
					});
			}
						
			function getCurrentResult() {
			
				if (!$results.is(':visible'))
					return false;
			
				var $currentResult = $results.children('ul').children('li.' + options.selectClass);
				if (!$currentResult.length)
					$currentResult = false;
					
				return $currentResult;

			}
			
			function selectCurrentResult() {
			
				$currentResult = getCurrentResult();
			
				if ($currentResult) {
					$input.val($currentResult.children('span').html().replace(/<span>.+?<\/span>/i,''));
					$input.data("val",$currentResult.children('span').attr("val"));
					prevLength = $input.val().length;
					$results.hide();
					$input.css('color','#000').addClass("input_viled");
					if( $(options.dataContainer) ) {
						$(options.dataContainer).val($currentResult.attr('rel'));
					}
	
					if (options.onSelect) {
						options.onSelect.apply($input[0],[$currentResult.children('span').attr("val")]);
					}
				}
			
			}
			
			function nextResult() {
			
				$currentResult = getCurrentResult();
			
				if ($currentResult&&$currentResult.next().length)
				{
					$currentResult
						.removeClass(options.selectClass)
						.next()
							.addClass(options.selectClass);
				}
				else
					$results.children('ul').children('li:last-child').removeClass(options.selectClass).end().children('li:first-child').addClass(options.selectClass);
			
			}
			
			function prevResult() {
			
				$currentResult = getCurrentResult();
			
				if ($currentResult&&$currentResult.prev().length)
					$currentResult
						.removeClass(options.selectClass)
						.prev()
							.addClass(options.selectClass);
				else
					$results.children('ul').children('li:first-child').removeClass(options.selectClass).end().children('li:last-child').addClass(options.selectClass);
			
			}
	
		}
		
		$.fn.suggest = function(source, options) {
		
			if (!source)
				return;
		
			options = options || {};
			options.source = source;
			options.hot_list=options.hot_list || [];
			options.delay = options.delay || 200;
			options.resultsClass = options.resultsClass || 'ac_results';
			options.selectClass = options.selectClass || 'ac_over';
			options.matchClass = options.matchClass || 'ac_match';
			options.minchars = options.minchars || 1;
			options.delimiter = options.delimiter || '\n';
			options.onSelect = options.onSelect || false;
			options.dataDelimiter = options.dataDelimiter || '\t';
			options.dataContainer = options.dataContainer || '#SuggestResult';
			options.attachObject = options.attachObject || null;
			options.maxCacheSize = 65536;
	
			this.each(function() {
				new $.suggest(this, options);
			});
			
			return this;
			
		};
		
	})(jQuery);

//图片上传
if(jQuery)(
	function(jQuery){
		jQuery.extend(jQuery.fn,{
			uploadify:function(options) {
				jQuery(this).each(function(){
					settings = jQuery.extend({
					id             : jQuery(this).attr('id'), // The ID of the object being Uploadified
					uploader       : 'uploadify.swf', // The path to the uploadify swf file
					script         : 'uploadify.php', // The path to the uploadify backend upload script
					expressInstall : null, // The path to the express install swf file
					folder         : '', // The path to the upload folder
					height         : 21, // The height of the flash button
					width          : 52, // The width of the flash button
					cancelImg      : 'cancel.png', // The path to the cancel image for the default file queue item container
					wmode          : 'opaque', // The wmode of the flash file
					scriptAccess   : 'sameDomain', // Set to "always" to allow script access across domains
					fileDataName   : 'Filedata', // The name of the file collection object in the backend upload script
					method         : 'POST', // The method for sending variables to the backend upload script
					queueSizeLimit : 1, // The maximum size of the file queue
					simUploadLimit : 1, // The number of simultaneous uploads allowed
					queueID        : false, // The optional ID of the queue container
					displayData    : 'percentage', // Set to "speed" to show the upload speed in the default queue item
					onInit         : function() {}, // Function to run when uploadify is initialized
					onSelect       : function() {}, // Function to run when a file is selected
					onQueueFull    : function() {}, // Function to run when the queue reaches capacity
					onCheck        : function() {}, // Function to run when script checks for duplicate files on the server
					onCancel       : function() {}, // Function to run when an item is cleared from the queue
					onError        : function() {}, // Function to run when an upload item returns an error
					onProgress     : function() {}, // Function to run each time the upload progress is updated
					onComplete     : function() {}, // Function to run when an upload is completed
					onAllComplete  : function() {}  // Functino to run when all uploads are completed
				}, options);
				var pagePath = location.pathname;
				pagePath = pagePath.split('/');
				pagePath.pop();
				pagePath = pagePath.join('/') + '/';
				var data = {};
				data.uploadifyID = settings.id;
				data.pagepath = pagePath;
				if (settings.buttonImg) data.buttonImg = escape(settings.buttonImg);
				if (settings.buttonText) data.buttonText = escape(settings.buttonText);
				if (settings.rollover) data.rollover = true;
				data.script = settings.script;
				data.folder = escape(settings.folder);
				if (settings.scriptData) {
					var scriptDataString = '';
					for (var name in settings.scriptData) {
						scriptDataString += '&' + name + '=' + settings.scriptData[name];
					}
					data.scriptData = escape(scriptDataString.substr(1));
				}
				data.width          = settings.width;
				data.height         = settings.height;
				data.wmode          = settings.wmode;
				data.method         = settings.method;
				data.queueSizeLimit = settings.queueSizeLimit;
				data.simUploadLimit = settings.simUploadLimit;
				if (settings.hideButton)   data.hideButton   = true;
				if (settings.fileDesc)     data.fileDesc     = settings.fileDesc;
				if (settings.fileExt)      data.fileExt      = settings.fileExt;
				if (settings.multi)        data.multi        = true;
				if (settings.auto)         data.auto         = true;
				if (settings.sizeLimit)    data.sizeLimit    = settings.sizeLimit;
				if (settings.checkScript)  data.checkScript  = settings.checkScript;
				if (settings.fileDataName) data.fileDataName = settings.fileDataName;
				if (settings.queueID)      data.queueID      = settings.queueID;
				if (settings.onInit() !== false) {
					jQuery(this).css('display','none');
					jQuery(this).after('<div id="' + jQuery(this).attr('id') + 'Uploader"></div>');
					swfobject.embedSWF(settings.uploader, settings.id + 'Uploader', settings.width, settings.height, '9.0.24', settings.expressInstall, data, {'quality':'high','wmode':settings.wmode,'allowScriptAccess':settings.scriptAccess});
					if (settings.queueID == false) {
						jQuery("#" + jQuery(this).attr('id') + "Uploader").after('<div id="' + jQuery(this).attr('id') + 'Queue" class="uploadifyQueue"></div>');
					}
				}
				if (typeof(settings.onOpen) == 'function') {
					jQuery(this).bind("uploadifyOpen", settings.onOpen);
				}
				jQuery(this).bind("uploadifySelect", {'action': settings.onSelect, 'queueID': settings.queueID}, function(event, ID, fileObj) {
					if (event.data.action(event, ID, fileObj) !== false) {
						var byteSize = Math.round(fileObj.size / 1024 * 100) * .01;
						var suffix = 'KB';
						if (byteSize > 1000) {
							byteSize = Math.round(byteSize *.001 * 100) * .01;
							suffix = 'MB';
						}
						var sizeParts = byteSize.toString().split('.');
						if (sizeParts.length > 1) {
							byteSize = sizeParts[0] + '.' + sizeParts[1].substr(0,2);
						} else {
							byteSize = sizeParts[0];
						}
						if (fileObj.name.length > 16) {
							fileName = fileObj.name.substr(0,15) + '...';
						} else {
							fileName = fileObj.name;
						}
						queue = '#' + jQuery(this).attr('id') + 'Queue';
						if (event.data.queueID) {
							queue = '#' + event.data.queueID;
						}
						jQuery(queue).append('<div id="' + jQuery(this).attr('id') + ID + '" class="uploadifyQueueItem">\
								<div class="cancel">\
									<!--<a href="javascript:jQuery(\'#' + jQuery(this).attr('id') + '\').uploadifyCancel(\'' + ID + '\')"><img src="' + settings.cancelImg + '" border="0" /></a>-->\
								</div>\
								<span class="fileName">' + fileName + ' (' + byteSize + suffix + ')</span><span class="percentage"></span>\
								<div class="uploadifyProgress">\
									<div id="' + jQuery(this).attr('id') + ID + 'ProgressBar" class="uploadifyProgressBar"><!--Progress Bar--></div>\
								</div>\
							</div>');
					}
				});
				if (typeof(settings.onSelectOnce) == 'function') {
					jQuery(this).bind("uploadifySelectOnce", settings.onSelectOnce);
				}
				jQuery(this).bind("uploadifyQueueFull", {'action': settings.onQueueFull}, function(event, queueSizeLimit) {
					if (event.data.action(event, queueSizeLimit) !== false) {
						alert('The queue is full.  The max size is ' + queueSizeLimit + '.');
					}
				});
				jQuery(this).bind("uploadifyCheckExist", {'action': settings.onCheck}, function(event, checkScript, fileQueueObj, folder, single) {
					var postData = new Object();
					postData = fileQueueObj;
					postData.folder = pagePath + folder;
					if (single) {
						for (var ID in fileQueueObj) {
							var singleFileID = ID;
						}
					}
					jQuery.post(checkScript, postData, function(data) {
						for(var key in data) {
							if (event.data.action(event, checkScript, fileQueueObj, folder, single) !== false) {
								var replaceFile = confirm("Do you want to replace the file " + data[key] + "?");
								if (!replaceFile) {
									document.getElementById(jQuery(event.target).attr('id') + 'Uploader').cancelFileUpload(key, true,true);
								}
							}
						}
						if (single) {
							document.getElementById(jQuery(event.target).attr('id') + 'Uploader').startFileUpload(singleFileID, true);
						} else {
							document.getElementById(jQuery(event.target).attr('id') + 'Uploader').startFileUpload(null, true);
						}
					}, "json");
				});
				jQuery(this).bind("uploadifyCancel", {'action': settings.onCancel}, function(event, ID, fileObj, data, clearFast) {
					if (event.data.action(event, ID, fileObj, data, clearFast) !== false) {
						var fadeSpeed = (clearFast == true) ? 0 : 250;
						jQuery("#" + jQuery(this).attr('id') + ID).fadeOut(fadeSpeed, function() { jQuery(this).remove() });
					}
				});
				if (typeof(settings.onClearQueue) == 'function') {
					jQuery(this).bind("uploadifyClearQueue", settings.onClearQueue);
				}
				var errorArray = [];
				jQuery(this).bind("uploadifyError", {'action': settings.onError}, function(event, ID, fileObj, errorObj) {
					if (event.data.action(event, ID, fileObj, errorObj) !== false) {
						var fileArray = new Array(ID, fileObj, errorObj);
						errorArray.push(fileArray);
						jQuery("#" + jQuery(this).attr('id') + ID + " .percentage").text(" - " + errorObj.type + " Error");
						jQuery("#" + jQuery(this).attr('id') + ID).addClass('uploadifyError');
					}
				});
				jQuery(this).bind("uploadifyProgress", {'action': settings.onProgress, 'toDisplay': settings.displayData}, function(event, ID, fileObj, data) {
					if (event.data.action(event, ID, fileObj, data) !== false) {
						jQuery("#" + jQuery(this).attr('id') + ID + "ProgressBar").css('width', data.percentage + '%');
						if (event.data.toDisplay == 'percentage') displayData = ' - ' + data.percentage + '%';
						if (event.data.toDisplay == 'speed') displayData = ' - ' + data.speed + 'KB/s';
						if (event.data.toDisplay == null) displayData = ' ';
						jQuery("#" + jQuery(this).attr('id') + ID + " .percentage").text(displayData);
					}
				});
				jQuery(this).bind("uploadifyComplete", {'action': settings.onComplete}, function(event, ID, fileObj, response, data) {
					if (event.data.action(event, ID, fileObj, unescape(response), data) !== false) {
						jQuery("#" + jQuery(this).attr('id') + ID + " .percentage").text(' - Completed');
						jQuery("#" + jQuery(this).attr('id') + ID).fadeOut(250, function() { jQuery(this).remove()});
					}
				});
				if (typeof(settings.onAllComplete) == 'function') {
					jQuery(this).bind("uploadifyAllComplete", {'action': settings.onAllComplete}, function(event, uploadObj) {
						if (event.data.action(event, uploadObj) !== false) {
							errorArray = [];
						}
					});
				}
			});
		},
		uploadifySettings:function(settingName, settingValue, resetObject) {
			var returnValue = false;
			jQuery(this).each(function() {
				if (settingName == 'scriptData' && settingValue != null) {
					if (resetObject) {
						var scriptData = settingValue;
					} else {
						var scriptData = jQuery.extend(settings.scriptData, settingValue);
					}
					var scriptDataString = '';
					for (var name in scriptData) {
						scriptDataString += '&' + name + '=' + escape(scriptData[name]);
					}
					settingValue = scriptDataString.substr(1);
				}
				returnValue = document.getElementById(jQuery(this).attr('id') + 'Uploader').updateSettings(settingName, settingValue);
			});
			if (settingValue == null) {
				if (settingName == 'scriptData') {
					var returnSplit = unescape(returnValue).split('&');
					var returnObj   = new Object();
					for (var i = 0; i < returnSplit.length; i++) {
						var iSplit = returnSplit[i].split('=');
						returnObj[iSplit[0]] = iSplit[1];
					}
					returnValue = returnObj;
				}
				return returnValue;
			}
		},
		uploadifyUpload:function(ID) {
			jQuery(this).each(function() {
				document.getElementById(jQuery(this).attr('id') + 'Uploader').startFileUpload(ID, false);
			});
		},
		uploadifyCancel:function(ID) {
			jQuery(this).each(function() {
				document.getElementById(jQuery(this).attr('id') + 'Uploader').cancelFileUpload(ID, true, false);
			});
		},
		uploadifyClearQueue:function() {
			jQuery(this).each(function() {
				document.getElementById(jQuery(this).attr('id') + 'Uploader').clearFileUploadQueue(false);
			});
		}
	})
})(jQuery);

//Select
(function($){
	$.fn.slt=function(obj,arr){
		return this.each(function(){
			var iptName;	
			var _text="";
			$(this).click(clk);
			function clk(){
				$("#liandong_select ul li").die();
				$("#liandong_select").remove();
				iptName=$(this).attr("id");
				var iptOffSet=$(this).offset();
				var iptLeft=iptOffSet.left;
				var iptTop=iptOffSet.top+20;
				var str="<div id='liandong_select'><span><a id='fh'>返回顶层列表</a><a id='gb'>[&nbsp;关闭&nbsp;]</a></span><div class='c'><ul></ul></div><div style='clear:both;'></div></div>";
				areasLen=arr.length;
				var str2="";
				for(var i=0;i<areasLen;i++){
					str2=str2+"<li title='"+arr[i][1]+"' id='p"+arr[i][0]+"'>"+arr[i][1]+"</li>";
				}
				$("body").append(str);
				$("#liandong_select ul").append(str2);
				$("#liandong_select").css({left:iptLeft+"px",top:iptTop+"px"});
				$("#liandong_select span a#fh").bind("click",function(){
					$("#liandong_select ul").empty();
					$("#liandong_select ul").append(str2);
					_text="";
				});
				$("#liandong_select span a#gb").bind("click",function(){
					$("#liandong_select").remove();
				});
				$("#liandong_select ul li").live("click",liBind);
			}
			function liBind(){
				var liId=$(this).attr("id");
				var liText=_text.length>0?_text+">"+$(this).text():$(this).text();
				_text=liText;
				var newArrVal=obj[liId];
				if(newArrVal==undefined || newArrVal==""){
					$("#"+iptName+"Val").val(liId.substr(1));
					$("#"+iptName).val(liText);
					$("#liandong_select").css("display","none");
					_text="";
				}
				else{
					listr="";
					pLen=newArrVal.length;
					for(j=0;j<pLen;j++){
						if("p"+newArrVal[j][0]==liId){
							listr=listr+"<li title='"+newArrVal[j][1]+"' id='p"+newArrVal[j][0]+"' >"+newArrVal[j][1]+"</li>";
						}
						else listr=listr+"<li title='"+newArrVal[j][1]+"' id='p"+newArrVal[j][0]+"'>"+newArrVal[j][1]+"</li>";
					}
					$("#liandong_select ul").empty();
					$("#liandong_select ul").append(listr);
				}
			}
		});
	};
})(jQuery);

//加金币效果
(function($){
	$.fn.UpNum=function(num,callback,font_size){
		return this.each(function(){
			var _p=$(this).offset();
			var _x=Math.round(_p.left)+"px";
			var _y=Math.round(_p.top)+"px";
			if(num.toString().indexOf("-")==0){
				var _y1=Math.round(_p.top)+30+"px";
			}else{
				var _y1=Math.round(_p.top)-30+"px";
			}
			var fs="20px";
			if(font_size)fs=font_size;
			var _m=num||$(this).attr("money");
			$("<div/>").appendTo($("body")).addClass("numeric").css({position:"absolute",top:_y,left:_x,color:(num.toString().indexOf("-")==0)?"#333":"red","fontFamily":"Georgia","fontSize":fs}).html(_m)
			.animate( { top: _y1 }, {duration: 1000,complete:function(){$(this).remove();if(callback){callback();}}});					 
		});
	};		  
})(jQuery);

(function($){
	//加关注
	adf=function(obj,uid,flg){
		mAjaxReplace(obj,"/ajax/addfriend.php?action=addfollow&type="+flg+"&touid="+uid);
	}
	//取消关注
	def=function(obj,uid,flg){
		mAjaxReplace(obj,"/ajax/addfriend.php?action=delfriend&touid="+uid+"&type="+flg);
	}
	//留言
	m_lmsg=function(obj,para,position)
	{
		var _p={
			url:"/ajax/ajax_send.php",
			content:""
		}
		if(!position)position="bottom";
		if(typeof(para)=="object")$.extend(_p,para);
		var _isprivate=(typeof(_p.word)!="undefined");
		var _cc='';
		if(_isprivate){
			 _cc='<textarea class="atsb_input">'+_p.word+'</textarea><div class="atsb_h35"><div class="flt1"><input type="checkbox" value=""/>&nbsp;&nbsp;悄悄话</div><div class="flt2"><input type="button" class="btn_orange" value="确定"/></div></div>';
		}
		else{
			 _cc='<textarea class="atsb_input"></textarea><input type="button" class="btn_orange" value="确定"/>';
		}

		$(obj).mTip("<div class='atsb_tit'>留言</div>",_cc,position).data("mtip").find("div.eject").css("width",270).find("input.btn_orange").click(function(){
			var _content=$.trim($(obj).data("mtip").find("textarea").val());
			var _privatestate=$(obj).data("mtip").find(":checked").length;
			if(_privatestate)
			{
				_p.type="msg";
			}
			if(_content.length>0){
				$.extend(_p,{content:_content});
				$.getJSON(_p.url,_p,function(d){
					if(d.ret==1)
					{
						$(obj).mTipHide();
						mTinyAlert("操作成功！");
					}
					else
					{
						majaxerr(d);
					}
					
				});
			}
			else{
				mAlert("你还是写俩字吧");
			}
		}).end().find(":checkbox").click(function(){
			var _v=$(obj).data("mtip").find("textarea").val().replace(_p.word,"");
			if(!$(this).is(":checked"))
			{

				$(obj).data("mtip").find("textarea").val(_p.word+_v);
			}
			else
			{
				$(obj).data("mtip").find("textarea").val(_v);
			}
		});
		setTimeout(function(){
			$(obj).data("mtip").find("textarea").trigger("focus")[0].value+="";
		},20);
	}
	//消息
	m_smsg=function(obj,para)
	{
		var _p={
			url:"/ajax/ajax_send.php"
		}
		if(typeof(para)=="object")$.extend(_p,para);
		$(obj).mTip("<div class='atsb_tit'>发送消息</div>",'<textarea class="atsb_input"></textarea><div class="atsb_h35"><input type="button" class="btn_orange" value="确定"/></div>',"bottom").data("mtip").find("div.eject").css("width",270).find("input.btn_orange").click(function(){
		var _content=$.trim($(this).parent().prev().val());
			if(_content.length>0){
				$.extend(_p,{content:_content});
				$.getJSON(_p.url,_p,function(d){
					if(d.ret==1)
					{
						$(obj).mTipHide();
						mTinyAlert("操作成功！");
					}
					else
					{
						majaxerr(d);
					}
					
				});
				
			}
			else{
				mAlert("空消息是不能发送的");
			}
		});
	}
})(jQuery);
//ajax错误处理
function majaxerr(d)
{
	if(d.ret=="-1")
	{
		window.location.href="/s/login.html";	
	}
	else
	{
		mAlert("<div class='majaxerr'>"+(d.msg||jQuery.asset.Err)+"</div>");
	}
}

//jquery动画
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

//ajax获取提示
function mGetTip(para)
{	
	var _p={url:"/recnew/ajax_addfds.php"};
	jQuery.extend(_p,para);
	jQuery.post(_p.url,_p,function(d){
		if(d.ret==1)
		{	
			mTinyAlert(d.msg);
			if(_p.reload)
			{
				setTimeout(function(){top.location.reload();},1000);
			}
		}
		else
		{
			majaxerr(d);
		}
	},"json");
}

//蚂蜂窝广告
(function($){
	mGG=function(cnt,w){
		w+=4;
		$("<div class='mfwGG'><div class='mfwGGContent'>"+ cnt +"</div><a alt='关闭' href='javascript:void(0)' class='mfwGGCloseBtn'>关闭</a></div>").appendTo($('body')).css({"width":w+"px","marginLeft":"-"+w/2+"px"}).find(".mfwGGCloseBtn").click(function(){$(this).parent().fadeOut(400,function(){$(this).remove();$.alerts._overlay('hide');})});		
		$.alerts._overlay('show');
	};

	Ding=function(iid,num,thisid,obj){
		$(obj).blur();
		if(!$(obj).data("inited"))
		{
			$("#topvote"+thisid).UpNum("+1",function(){
				$("#topvote"+thisid).html(num+1);
			});
			$.post("/group/infovote.php",{iid:iid,vote:num},function(d){});
			$(obj).data("inited",true);
		}
	};

	PH=function(select){return;
		jQuery(select).hover(function(){
			
			//if(jQuery(this).data("atip")){jQuery(this).data("atip").stop().remove();}
			jQuery(this).attr({title: ''});	
			var _of=jQuery(this).offset();
			var _json=eval("("+jQuery(this).attr("tip")+")");	
			var _sextxt="神秘人士";
			if(_json.city!="")_json.city+="的";
			if(_json.sex==1){_sextxt="帅哥";}
			if(_json.sex==0){_sextxt="美女";}
			var _atip=jQuery("<div class='mfwPH'><div class='mfwPHContent'><img align='middle' width='48' border='0' height='48' src='"+_json.logo+"'/></div><div class='mfwPHContentTxt'>"+_json.city+_sextxt+"</div></div>").appendTo(jQuery('body'));
			_atip.css({
				position: 'absolute',
				zIndex: '50000',
				top: (_of.top - _atip.outerHeight()) + 'px',
				left: (_of.left + jQuery(this).outerWidth()) + 'px'
			}).fadeIn(400);
			jQuery(this).data("atip",_atip);
			return;
			_atip.css({
				position: 'absolute',
				display: 'none',
				zIndex: '50000',
				top: (jQuery(this).offset().top - _atip.outerHeight()) + 'px',
				left: (jQuery(this).offset().left + _atip.outerWidth()) + 'px'
			})
			.stop().fadeIn(400);
			
			jQuery(this).data("atip",_atip);
		},
		function(){ 
			jQuery(this).data("atip").remove();
		});
	}
})(jQuery);

//分页控件
(function($) {
    var _configall = {
        "default":{
            template:{
                container:'<div align="right" class="paginator"></div>',
				loop:'<a class="ti" href="{url}" style="margin:2px;">{page}</a>',
                firstpage:'<a class="ti" href="{url}"><< First</a>',
                lastpage:'<a class="ti" href="{url}">Next >></a>',
                dot:"<a class=\"ti\" href=\"javascript:void(0)\">…</a>"
            },
            /**
             * 配置和初始化翻页控件
             * @param t {Object} 模板
             * @param j {jQuery} 翻页控件的容器对象
             * @param opt {Object} 翻页控件配置参数
             */
            handle:function(t, j, opt) {
				opt.recordcount=parseInt(opt.recordcount);
				opt.pagesize=parseInt(opt.pagesize);
				opt.nowpage=parseInt(opt.nowpage);
                var _pnum = Math.floor(opt.recordcount / opt.pagesize) + (opt.recordcount % opt.pagesize ? 1 : 0);
                if (_pnum < 2)return;
                opt.nowpage = opt.nowpage > _pnum ? _pnum : opt.nowpage;
                var _c = $(t.container);
                var _fp = $(t.firstpage.replace(/{url}/, buildUrl(opt.url, opt.pageparameter, 1)));
                var _lp = $(t.lastpage.replace(/{url}/, buildUrl(opt.url, opt.pageparameter, opt.nowpage == _pnum ? opt.nowpage : opt.nowpage + 1)));
                if (opt.nowpage > 1)
                {
                    _c.append(_fp);
                }
                var _start = 1,_end = _pnum,_ismore = false,_lmore = true,_rmore = true;
                if (_pnum > 10)
                {
                    _end = opt.nowpage + 4;
                    _start = opt.nowpage - 4;
                    if (opt.nowpage + 4 >= _pnum)
                    {
                        _end = _pnum;
                        _start = _end - 8;
                        _rmore = false;
                    }
                    if (opt.nowpage - 4 <= 1)
                    {
                        _start = 1;
                        _end = _start + 8;
                        _lmore = false;
                    }
                    _ismore = true;

                }
                for (var i = _start,loopindex = 1; i <= _end; i++,loopindex++)
                {
                    var _loop;
                    if (_ismore)
                    {
                        _loop = $(t.loop.replace(/{url}/g, buildUrl(opt.url, opt.pageparameter, i)).replace(/{page}/g, i));
                        if ($.inArray(loopindex, [1,2]) > -1)
                        {
                            _loop = $(t.loop.replace(/{url}/g, buildUrl(opt.url, opt.pageparameter, loopindex)).replace(/{page}/g, loopindex));
                        }
                        if ($.inArray(loopindex, [8,9]) > -1)
                        {
                            _loop = $(t.loop.replace(/{url}/g, buildUrl(opt.url, opt.pageparameter, _pnum + loopindex - 9)).replace(/{page}/g, _pnum + loopindex - 9));
                        }

                        if (loopindex == 3 && _lmore)
                        {
                            _c.append($(t.dot));
                        }
                        if (loopindex == 8 && _rmore)
                        {
                            _c.append($(t.dot));
                        }
                    }
                    else
                    {
                        _loop = $(t.loop.replace(/{url}/g, buildUrl(opt.url, opt.pageparameter, i)).replace(/{page}/g, i));
                    }
                    if (i == opt.nowpage)
                    {
						_loop.css({"background-color":"#946400","border":"1px solid #8B4505","color":"#FFFFFF"}).attr("href","javascript:void(0)");
                    }
                    _c.append(_loop);
                }
                if (opt.nowpage < _pnum)
                {
                    _c.append(_lp);
                }
				j.html("");
                $(_c).appendTo(j);
            }
        },
        "tiny":{
            template:{
                container:'<div align="right" class="paginator"></div>',
                firstpage:'<a class="ti" href="{url}"><<</a>',
                lastpage:'<a class="ti" href="{url}">>></a>',
				loop:'<a class="ti" href="{url}" style="margin:2px;">{page}</a>'
            },
            /**
             * 配置和初始化翻页控件
             * @param t {Object} 模板
             * @param j {jQuery} 翻页控件的容器对象
             * @param opt {Object} 翻页控件配置参数
             */
            handle:function(t, j, opt) {
				opt.recordcount=parseInt(opt.recordcount);
				opt.pagesize=parseInt(opt.pagesize);
				opt.nowpage=parseInt(opt.nowpage);
                var _pnum = Math.floor(opt.recordcount / opt.pagesize) + (opt.recordcount % opt.pagesize ? 1 : 0);
                if (_pnum < 2)return;
                opt.nowpage = opt.nowpage > _pnum ? _pnum : opt.nowpage;
                var _c = $(t.container);
                var _fp = $(t.firstpage.replace(/{url}/, buildUrl(opt.url, opt.pageparameter, 1)));
                var _lp = $(t.lastpage.replace(/{url}/, buildUrl(opt.url, opt.pageparameter, opt.nowpage == _pnum ? opt.nowpage : opt.nowpage + 1)));
                if (opt.nowpage > 1)
                {
                    _c.append(_fp);
                }
					
				var _start = 1,_end = _pnum,showmore=false;
                if (_pnum > 5)
                {
					showmore=true;
                    _end = opt.nowpage + 2;
                    _start = opt.nowpage - 2;
                    if (opt.nowpage + 2 >= _pnum)
                    {
                        _end = _pnum;
                        _start = _end - 4;
						showmore=false;
                    }
                    if (opt.nowpage - 2 <= 1)
                    {
                        _start = 1;
                        _end = _start + 4;
                    }
                }	
				for (var i = _start;i <= _end;i++)
                {
					 _loop = $(t.loop.replace(/{url}/g, buildUrl(opt.url, opt.pageparameter, i)).replace(/{page}/g, i));
					 if (i == opt.nowpage)
					 {
						_loop.css({"background-color":"#946400","border":"1px solid #8B4505","color":"#FFFFFF"}).attr("href","javascript:void(0)");
					 }
					 _c.append(_loop);
				}

				if(showmore)
				{
					var morep=opt.nowpage+5;
					if(morep>_pnum)morep=_pnum;
					 _c.append('<a class="ti" style="margin:2px;" href="'+buildUrl(opt.url, opt.pageparameter, morep)+'">...</a>');
				}
				
                if (opt.nowpage < _pnum)
                {
                    _c.append(_lp);
                }
				j.html("");
                $(_c).appendTo(j);
            }
        },
		"index":{
            template:{
                container:'<div align="right" class="paginator"></div>',
                firstpage:'<a class="ti" href="{url}"><< prev</a>',
                lastpage:'<a class="ti" href="{url}">next>></a>',
				loop:'<a class="ti" href="{url}" style="margin:2px;">{page}</a>'
            },
            /**
             * 配置和初始化翻页控件
             * @param t {Object} 模板
             * @param j {jQuery} 翻页控件的容器对象
             * @param opt {Object} 翻页控件配置参数
             */
            handle:function(t, j, opt) {
				opt.recordcount=parseInt(opt.recordcount);
				opt.pagesize=parseInt(opt.pagesize);
				opt.nowpage=parseInt(opt.nowpage);
                var _pnum = Math.floor(opt.recordcount / opt.pagesize) + (opt.recordcount % opt.pagesize ? 1 : 0);
                if (_pnum < 2)return;
                opt.nowpage = opt.nowpage > _pnum ? _pnum : opt.nowpage;
                var _c = $(t.container);
                var _fp = $(t.firstpage.replace(/{url}/, buildUrl(opt.url, opt.pageparameter, opt.nowpage - 1)));
                var _lp = $(t.lastpage.replace(/{url}/, buildUrl(opt.url, opt.pageparameter, opt.nowpage == _pnum ? opt.nowpage : opt.nowpage + 1)));
                if (opt.nowpage > 1)
                {
                    _c.append(_fp);
                }
					
				var _start = 1,_end = _pnum,showmore=false;
                if (_pnum > 9)
                {
					showmore=true;
                    _end = opt.nowpage + 4;
                    _start = opt.nowpage - 4;
                    if (opt.nowpage + 4 >= _pnum)
                    {
                        _end = _pnum;
                        _start = _end - 8;
						showmore=false;
                    }
                    if (opt.nowpage - 4 <= 1)
                    {
                        _start = 1;
                        _end = _start + 8;
                    }
                }	
				for (var i = _start;i <= _end;i++)
                {
					 _loop = $(t.loop.replace(/{url}/g, buildUrl(opt.url, opt.pageparameter, i)).replace(/{page}/g, i));
					 if (i == opt.nowpage)
					 {
						_loop.css({"background-color":"#946400","border":"1px solid #8B4505","color":"#FFFFFF"}).attr("href","javascript:void(0)");
					 }
					 _c.append(_loop);
				}

				if(showmore)
				{
					var morep=opt.nowpage+9;
					if(morep>_pnum)morep=_pnum;
					 _c.append('<a class="ti" style="margin:2px;" href="'+buildUrl(opt.url, opt.pageparameter, morep)+'">...</a>');
				}
				
                if (opt.nowpage < _pnum)
                {
                    _c.append(_lp);
                }
				j.html("");
                $(_c).appendTo(j);
            }
        }
    };
    /**
     * 构造翻页时请求的url
     * @param url {String} 翻页时需请求的url
     * @param pageparameter {String} 页码参数名称
     * @param page {Number} 页码
     * @return 翻页时请求的url，包含页码参数
     * @type String
     */
    function buildUrl(url, pageparameter, page) {
        var reg = new RegExp("([?&])" + pageparameter + "=\\d*", "g");
        url = url.replace(reg, "$1");
        return (url + (url.indexOf("?") > -1 ? "&" : "?") + pageparameter + "=" + page).replace(/&+/g, "&").replace(/\?&/g, "?");
    }

    /**
     * 翻页控件
     * @param opt {Object} 配置参数：
     * {
     *      pagesize:{Number} 每页显示记录条数(默认10),
     *      nowpage:{Number} 当前页码(默认1),
     *      recordcount:{Number} 总记录数,
     *      url:{String} 链接(默认当前请求url) ,
     *      pageparameter:{String} 页数的参数名(默认"page"),
     *      config:{String} 要读取的配置（扩展用，默认"default"）
     * }
     * @type jQuery
     * @example
     * 分享信息翻页显示
     * $("#pager_num1").Pager({recordcount: 91,pagesize: 25,nowpage: 1,url: "/mblog/share/all",pageparameter:"p"});
     * @author WangHao 分页控件V1.0 2009-7-21
     */
    $.fn.Pager = function(opt) {
        var _defaultopt = {
            pagesize:10,
            nowpage:1,
            recordcount:100,
            url:window.location.href.toString(),
            pageparameter:"page",
            config:"default"
        };
        var _opt = $.extend(_defaultopt, opt || {});
        return this.each(function() {
            var _config = _configall[_opt.config] || _configall["default"];
            _config.handle(_config.template, $(this), _opt);
        });
    };
})(jQuery);

(function($){
	MAJAXBUSY=false;
	var cfg_word={"23":"快长大吧！",
		"20":"虎年能吃能赚！",
		"26":"其实。。那个。。",
		"27":"赚钱千日供此浪漫一时！",
		"28":"赶快给换上！",
		"29":"这只是开始！",
		"30":"洗洗更健康！",
		"31":"总入不敷出也不行！",
		"32":"要有房！要有车！",
		"33":"放下武器，舍身成佛！"}
	mCsend=function(def){
		if(MAJAXBUSY)return;
		MAJAXBUSY=true;
		$.post("/goods/ajax.php",{act:"htmlsentgift",typeid:19},function(d){
			MAJAXBUSY=false;
			var obj=mAlert(d.html,"赠送礼物",function(){
				if(MAJAXBUSY)return;
				if(typeof(def)=="undefined"&&obj.find("input.input_viled").length==0)
				{
					return "请选择粉丝";
				}
				if(obj.find("li.on").length==0)
				{
					return "请选择礼物";
				}
				var _toid="";
				if(def)
				{ _toid=def;}
				else
				{ _toid=$("#ipt_fans").data("val");}
				var _gid=obj.find("li.on").attr("gid");
				var _txt=obj.find("textarea").val();
				var _anony=obj.find(":checked").length;
				MAJAXBUSY=true;
				$.post("/goods/ajax.php",{act:"sendgift","touid":_toid,"gid":_gid,msg:_txt,anony:_anony},function(d){
					MAJAXBUSY=false;
					if(d.ret==1)
					{
						mTinyAlert(d.msg);
						if(window.location.href.toString().indexOf("http://www.mafengwo.cn/u/")==0)
						{
							setTimeout(function(){window.location.reload();},1500);
						}
					}
					else
					{
						majaxerr(d);
					}
				},"json");
				return true;

			}).css({width:"500px",marginLeft:"-250px",position:"absolute",top:"17%"});
			
			obj.find("li").click(function(){
				obj.find("li.on").removeClass("on");
				$(this).addClass("on");
				var gid=$(this).attr("gid");
				if(obj.find("textarea").hasClass("gray")){
					if(cfg_word[gid])
					{
						obj.find("textarea").unbind("focus");
						obj.find("textarea").unbind("blur");
						obj.find("textarea").val(cfg_word[gid]).inputDefault({text:cfg_word[gid]});
					}
				;}
			});
			obj.find("textarea").inputDefault({text:"哥送的不是礼物，是寂寞！"});
			if(def)
			{
				$("#ipt_fans").parent().parent().hide();
			}
			else
			{
				$("#ipt_fans").suggest("/ajax/ajax_suggest.php?type=fans");
			}
		},"json");
	};
	mGetGift=function(ugid){
		if(MAJAXBUSY)return;
		MAJAXBUSY=true;
		jQuery.post("/goods/ajax.php",{act:"getgift","ugid":ugid},function(d){
					MAJAXBUSY=false;
					if(d.ret==1)
					{	
						if(d.msg=="key555")
						{
							mAlert("恭喜，从"+d.html+"里掏出了铜钥匙！");
						}else if(d.msg=="key888")
						{
							mAlert("恭喜，从"+d.html+"里掏出了金钥匙！");
						}else
						{
							mAlert("恭喜，从"+d.html+"里掏出"+d.msg+"金币！");
						}
						
					}
					else
					{
						majaxerr(d);
					}
		},"json");
	};
	mGapple=function(){
		if(MAJAXBUSY)return;
		MAJAXBUSY=true;
		jQuery.post("/goods/ajax.php",{act:"apple"},function(d){
					MAJAXBUSY=false;	
					if(d.ret==1)
					{	
						mAlert("恭喜您成功领取平安果和18888金币，在此蚂蜂窝全体圣斗士祝您平安夜快乐，圣诞快乐！","领取成功",function(){
							window.location.reload();
						});
						jQuery("#popup_close").hide();
					}
					else
					{
						majaxerr(d);
					}
		},"json");
	};
})(jQuery);
//圣诞树
jQuery(function(){
	jQuery("#pnl_xmastree").unbind("click");
	jQuery("#pnl_xmastree").click(function(){
		if(jQuery("#pnl_xmastree").data("click"))
		{
			;
		}
		else
		{
			jQuery("#pnl_xmastree").data("click",true);
			var _ugid=jQuery(this).attr("tid");
			jQuery.post("/goods/ajax.php",{act:"yao","ugid":_ugid},function(d){
						if(d.ret==1)
						{
							if(typeof(xnfeed)=="function"){xnfeed();};
							mAlert("恭喜，你摇出了"+d.msg+"金币！");
						}else if(d.ret==3){
							mConfirm("只有粉丝才能摇TA家的树，现在就成为TA的粉丝吧？",function(r){
								if(r)
								jQuery.post("/ajax/addfriend.php",{action:"addfollow",type:"attfri",touid:d.msg},function(data){
									if(data.ret==1)
									{mTinyAlert("操作成功！");}
									else{majaxerr(data);}
								},"json");
							},"成为TA的粉丝");
							
						}	
						else
						{
							majaxerr(d);
						}
						jQuery("#pnl_xmastree").data("click",false);
			},"json");
		}
		
	});
});
//文章滚动插件
Scroll = function(option) {
		this.oNote = jQuery("#"+option.elid) || null;
		this.height = option.lineHeight || 15;
		this.count = option.displayCount || 1;
		this.delay = option.delay || 5;
		this.delay = (this.delay||1) * 1000;
		this.interval = new Array();
		this.scrollNum=option.scrollNum||this.count;
		this.scrollHeight= this.height * this.scrollNum;
		this.oHeight = this.height * this.count;
		this.ctrl=option.ctrl||null;
		this.running=false;
		this.init();
	};
Scroll.prototype = {
		start: function(isdown) {
			var self = this;
			if(this.oNote.attr("scrollHeight") - this.oHeight <= this.oNote.attr("scrollTop")) {
				this.oNote.attr("scrollTop",this.oNote.attr("scrollHeight") / 2 - this.oHeight);
			}
			this.clear_interval(1);
			this.interval[1] = setInterval(function(){self.scroll_note(isdown);}, 5);
		},
		scroll_note: function(isdown) {
			if(isdown)
			{
				this.oNote[0].scrollTop++;
			}
			else {
				this.oNote[0].scrollTop--;
			}
			this.running=true;
			if(this.oNote[0].scrollTop % this.scrollHeight == 0) {
				this.clear_interval(1);
				this.running=false;

			}
		},
		set_interval: function() {
			var self = this;
			this.interval[0] = setInterval(function(){self.start(true);}, this.delay);
		},
		clear_interval: function(i) {
			clearInterval(this.interval[i]);
		},
		init: function() {
			var self = this;
			var html=this.oNote.html();
			this.oNote.html(html+html);
			this.oNote.css("height",this.oHeight);
			this.oNote.css("overflow","hidden");
			this.oNote.css("padding","0px");
			this.oNote.find("li").css("margin","0px");
			this.oNote.attr("scrollTop","0px");
			if(this.oNote.attr("scrollHeight") > this.oHeight) {
				this.oNote.mouseover(function(){self.clear_interval(0);});
				this.oNote.mouseout(function(){self.set_interval();});
				if(this.ctrl)
				{
					this.ctrl[0].mouseover(function(){self.clear_interval(0);});
					this.ctrl[0].mouseout(function(){self.set_interval();});
					this.ctrl[1].mouseover(function(){self.clear_interval(0);});
					this.ctrl[1].mouseout(function(){self.set_interval();});

					this.ctrl[0].click(function(){
						self.start(false);
					});
					this.ctrl[1].click(function(){
						self.start(true);
					});
				}
				this.set_interval();
			}
			else {
				if(this.ctrl)
				{
					this.ctrl[0].hide();
					this.ctrl[1].hide();
				}
			}
		}
	};

//消息滚动
jQuery(function(){
	if(!jQuery("#pnl_notice").is(':visible'))
	{
		jQuery("#pnl_notice").show();new Scroll({elid:"pnl_notice",lineHeight:25,scrollNum:1});
	}
});
//图片记载
(function($) {
	$.fn.LoadImage = function(settings) {
		settings = $.extend({
			loadpic:"",
			w:530,h:350
		},settings);
		return this.each(function() {
			$.fn.LoadImage.Showimg($(this), settings);
		});
	};
	$.fn.LoadImage.Showimg = function($this, settings) {
		var src = $this.attr("src");
		var img = new Image();
		img.src = src;
		$this.attr("src", "");
		var loading = $("<div><img width=\""+settings.w+"\" height=\""+settings.h+"\" src=\"" + settings.loadpic + "\" /><img src=\"http://file1.mafengwo.cn/images/plugins/loading_blue.gif\" /></div>").appendTo($("body")).css({position:"absolute",top:$this.offset().top,left:$this.offset().left});
		$this.hide();
		if(!img.complete){
			jQuery(img).bind('error load onreadystatechange', function(){
				loading.remove();
				$this.attr("src", src);
				$this.show();
			});
		} else {
			loading.remove();
			$this.attr("src", src);
			$this.show();
		}
	}
})(jQuery);

//poke
var mfw_poke=function(uid){
	var obj=mAlert('<label style="cursor:pointer" for="pokeitem_1"><input id="pokeitem_1" type="radio" checked="checked" value="对你说“很高兴认识你”" name="acttype"><img src="/images/home/poke/i1.gif">很高兴认识你</label><label style="cursor:pointer" for="pokeitem_2"><input value="向你打招呼" id="pokeitem_2" type="radio" name="acttype"><img src="/images/home/poke/i2.gif">打招呼</label><label style="cursor:pointer" for="pokeitem_3"><input  value="同你握了下手" id="pokeitem_3" type="radio" name="acttype"><img src="/images/home/poke/i3.gif">握手</label><label style="cursor:pointer" for="pokeitem_4"><input value="聊聊" id="pokeitem_4" type="radio" name="acttype"><img src="/images/home/icon_7.gif">聊聊</label><div id="pnl_pokechat" class="hide"><br>说点什么：<br><textarea style="width:200px;height:50px"></textarea></div>',"打个招呼",function(){
		var msg=jQuery.trim(obj.find(":checked").val());
		//alert(msg);
		if(msg=="聊聊"){
			var _content=jQuery.trim(jQuery("#pnl_pokechat textarea").val());
			if(_content.length>0)
				jQuery.post("/ajax/ajax_send.php",{touid:uid,type:"msg",content:_content},function(d){
					if(d.ret==1){
						mTinyAlert(d.msg);
					}else{
						majaxerr(d);
					}
				},"json");
			else
				return "说点什么吧！";
		}
		else{
			jQuery.post("/ajax/ajax_poke.php",{touid:uid,msg:msg,act:"poke"},function(d){
				if(d.ret==1){
					mTinyAlert(d.msg);
				}else{
					majaxerr(d);
				}
			},"json");
		}
	});
	obj.find(":radio").click(function(){
		if(jQuery(this).attr("id")=="pokeitem_4")
			jQuery("#pnl_pokechat").removeClass("hide");
		else
			jQuery("#pnl_pokechat").addClass("hide");
	});
}
//pop
mPop=function(content,title,ctrl,overlay){
	mPop.GUID++;
	this.content=content;
	this.title=title||"提示";
	this.ctrl=ctrl||{"确定":""};
	this.overlay=overlay||false;
	this.id="mPop"+mPop.GUID;
	this.obj=jQuery(mPop.prototype.tpl).appendTo("body").attr("id",this.id);
	this.init();
	return this;
}
mPop.prototype.tpl='<div class="p_w"><div class="p_c"><h3><span class="_t"></span></h3><div class="ct"><p class="_p"></p></div><a href="javascript:void(0)" class="c _c" title="关闭">关</a><div class="b _b"></div></div><div class="bg"></div></div>';
mPop.prototype.init=function(){
	var s=this;
	this.updateT(this.title);
	this.updateP(this.content);
	this.updateB(this.ctrl);
	this.obj.find("._c").click(function(){s.hide();});
	if(this.overlay)$.alerts._overlay('show');
	mPop.list[this.id]=this.obj;
};
mPop.prototype.close=function(){this.obj.remove();mPop.list[this.id]=null;if(this.overlay)$.alerts._overlay('hide');};
mPop.prototype.hide=function(){this.obj.hide();if(this.overlay)$.alerts._overlay('hide');};
mPop.prototype.updateP=function(p){this.obj.find("._p").html(p);};
mPop.prototype.updateT=function(t){this.obj.find("._t").html(t);};
mPop.prototype.updateB=function(b){
	this.obj.find("._b").html("");
	for(var k in b){
		var btn=jQuery('<button type="button">'+k+'</button>').appendTo(this.obj.find("._b"));
		if(typeof(b[k])=="function"){
			btn.click(function(){b[k](btn);});
		}else{
			btn.click(this.hide);
		}
	}
};
mPop.closeAll=function(){
	for(var k in mPop.list){
		mPop.list[k].remove();
		mPop.list[k]=null;
	}
}
mPop.prototype.hideC=function(){this.obj.find("._c").remove()};
mPop.GUID=0;
mPop.list={};
//新手
function newerHelp(flag){
	newerHelp.flag=flag;
	mFloatPanel('<a href="#" onclick="newerHelpShowSwf();return false;"><img border="0" src="http://www.mafengwo.cn//images/plugins/newuser.gif" /><a>',"bottom");
}
newerHelp.flag="";
function newerHelpShowSwf(){
		flag=newerHelp.flag;
		if(jQuery("#pnl_newerhelp").length==0){
			jQuery("<div id='pnl_newerhelp' class='mfwGG'><div id='swf_newerhelp'></div></div>").appendTo(jQuery('body')).css({"width":"600px","marginLeft":"-300px"});	
			swfobject.embedSWF("/swf/newerhelp.swf?v=8", "swf_newerhelp", "600", "445", "8.0.0", "expressInstall.swf",{goflag:flag},{wmode: "transparent",allowscriptaccess:"always"});
		}else{
			jQuery("#pnl_newerhelp").show();
		}
		jQuery.alerts._overlay('show');

	}
function newerHelpClose(){
	jQuery("#pnl_newerhelp").hide();
	jQuery.alerts._overlay('hide');
}