/**
		* 取得outerHTML
		* @return {string} outerHTML
		* @example $("#a").outer();
		*/
jQuery.fn.outer = function() {
        return $($('<div></div>').html(this.clone())).html();
};
    jQuery.extend({

		/**********************************************************
		* ZLL utility
		***********************************************************/

		/**
		* 上一页面
		* @param {null}
		* @return {null}
		* @example $.goBack();
		*/
		goBack:function(){
			window.history.go(-1);
		},

		/**
		* 刷新页面
		* @example $.reload();
		*/
		reload:function(){
			window.location.reload();
		},

		/**
		* 去掉空格回车
		* @param {string} _str
		* @return {string} new string without space
		* @example $.trim(" aaa ");
		*/
		trim:function(_str)
		{
			//去掉字符串前导和后缀的空格(包括全角)、回车


			return _str.replace(/^[\s\n　]+|[\s\n　]+$/g, "");
		},

		/**
		* 计算字符串长度，一个双字节字符长度计2，ASCII字符计1
		* @param {string} _str
		* @return {string} length of input string
		* @example $.lengthw("dsfsdf");
		*/
		lengthw: function(_str){
			return _str.replace(/[^\x00-\xff]/g, "rr").length;
		},

		/************************************************
		* ZLL validation
		*************************************************/

		/**
		* 是否为空字符串


		* @param {string} _str
		* @return {bool} is the input string not empty
		* @example
		* isNotEmpty("aaa");
		*/
		isNotEmpty: function(_str){
			var tmp_str = jQuery.trim(_str);
			return tmp_str.length > 0;
		},

		/**
		* 密码强度（1，2，3等级）


		* @param {string} pwd
		* @return {int} the strength level of password
		*/
		pwdStrength: function(pwd){
			var strengthValue = 0;
			if(pwd.length>=6){
				Regex = [/[a-zA-Z]/g,/\d/g,/(.[^a-z0-9])/ig];
				for(var i = 0 ; i < Regex.length;i++)
				{
					var chars = pwd.match(Regex[i]);
					if(chars != null)
					{
						strengthValue ++;
					}
				}
			}
 			if(pwd.length<6) strengthValue--;
				return strengthValue<0?0:strengthValue;
		},

		/**
		* 是否为正确的QQ或者UC号码
		* @param {string} _str
		* @return {bool} is that string correct QQ or UC number
		*/
		isQQ_or_UC: function(_str){
			return /^[^0]\d{4,9}$/.test(_str);
		},

		/**
		* 是否为中文


		* @param {string} _str
		* @return {bool} is that string chinese characters
		*/
		isChinese: function(_str){
			return /^[\u4E00-\u9FA5]{0,25}$/.test(_str);
		},

        /**
         * 是否符合好友分组的命名要求 不超过4个汉字


         * @param {string} _str
         * @return {bool} is that string according to the name rule of friend group
         */
        isFriGroup: function(_str) {
            //最多不超过4个字
            return (/^[\u4E00-\u9FA50-9a-zA-Z０-９ａ-ｚ]{1,4}$/.test($.trim(_str)));
        },

        /**
		* 是否是中英文字符
		* @param {string} _str
		* @return {bool} is that string Chinese or English characters
		*/
		isCN_EN: function(_str){
			_str=$.trim($.trim(_str));
			return (/^[\u4E00-\u9FA50-9a-zA-Z]+$/.test(_str));
		},

		/**
		* 是否是数字


		* @param {string} _str
		* @return {bool} is that string numberic
		*/
		isNumber: function(_str){
			return /^[0-9]*$/.test(_str);
		},

		/**
		* 是否合法密码
		* @param {string} _str
		* @return {string&bool} is that string correct password
		*/
		isPassword: function(_str){
			 for(var i=0 ; i<_str.length; i++){
				 var code=_str.charCodeAt(i);
				 if (code>=33&&code<=126) {
				 }else{
					 return "你输入的密码包含非法字符，请重新输入";
				 }
			 }
			 if(jQuery.trim(_str).length<6||jQuery.trim(_str).length>16)return "密码长度不正确，6-16位。";
			 return true;
		},

		/**
		* 是否为合法电子邮件地址
		* @param {string} _str
		* @return {string&bool} is that string correct email address
		*/
		isEmail: function(_str){
			if(jQuery.trim(_str).length<8||jQuery.trim(_str).length>60)return "请输入8-60位字符的有效Email";
			//if(/^\w+((\w)|([.\-]))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(_str))\
			if(/^^\w+((\w)|([.\-]))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.(com|net|cn|org)$/.test(_str))
			
			{
				return true;
			}
			else {
				return "请填写有效Email地址！";
			}
		},

		/**
		* 是否为合法电子邮件地址
		* @param {string} _str
		* @return {bool} is that string correct email address
		*/
		isTrueEmail: function(_str){
			return /^([_a-z0-9]+([\._a-z0-9-]+)*)@[a-z0-9-]{2,}(\.[a-z0-9-]{2,})*(\.)(com|net|cn|org)$/.test(_str);
			//return /^\w+((\w)|([.\-]))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(_str);
		},

		/**
		* 是否合法url地址
		* @param {string} _str
		* @return {bool} is that string correct url
		*/
		isURL: function(_str){
			//var regTextUrl = /^(file|http|https|ftp|mms|telnet|news|wais|mailto):\/\/(.+)$/;
			//var regTextUrl =/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
			var regTextUrl =/^(http:\/\/)?([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/;
			return regTextUrl.test(_str);
		},

		/**
		* 是否合法url地址 协议随意 目前已沒用


		* @param {string} _str
		* @return {bool} is that string correct url
		*/
		isURLshort: function(_str){
			var regTextUrl = /^(file|http|https|ftp|mms|telnet|news|wais|mailto):\/\/(.+)$/;
			return regTextUrl.test(_str);
		},

		/**
		* 是否邮政编码(中国)
		* @param {string} _str
		* @return {bool} is that string Chinese post code
		*/
		isPostalCode: function(_str){
			var regTextPost = /^(\d){6}$/;
			return regTextPost.test(_str);
		},

		/**
		* 是否有效的电话号码(中国)/^([0-9]{3,4}[-]+)?[0-9]{3,8}([-]+[0-9]{0,4})?$/
		* @param {string} _str
		* @return {bool} is that string Chinese telephone number
		*/
		isPhoneCall: function(_str){
			return /^([0-9]{3,4}[-]+)?[0-9]{3,8}([-]+[0-9]{0,4})?$/.test(_str);
		},

		/**
		* 是否有效的手机号码(最新的手机号码段可以是15开头的
		* @param {string} _str
		* @return {bool} is that string Chinese telephone number
		*/
		isMobile: function(_str){
            return /^0{0,1}1(3|5|8)[0-9]{9}$/.test(_str);
		}
	});
/**
 * 浏览器类型判断,扩展chrome和safari的判断


* @return {bool}
 */
$.extend($.browser, {
    chrome:/chrome/i.test(navigator.userAgent),
    safari:!/chrome/i.test(navigator.userAgent) && /safari/i.test(navigator.userAgent)
});
    // 统一命名空间
   var SII = SII||{};
/**************************************************
* 全局定义 -初始化


*************************************************/
	//当前用户ID
	SII.NowUserID = SII.NowUserID || 0;
	//禁止出错
	function killErrors() {return true;}window.onerror =killErrors;
/**
 * @method    SII.merMention 提示浮层 （左右侧显示方式）


 * @param className 父容器Class
 * @param classl           隐藏浮层居左样式
 * @param classr           隐藏浮层居右样式
 */
SII.merMention = function(className, classl, classr) {
    $("." + className).each(function() {
        var self = $(this);
        //宠物被封印时的特殊处理

        var jqPetload = self.find(".petload");
        (jqPetload.length == 0 ? self.find("img") : jqPetload).mouseover(function() {
            self.find(".for_mall_po").addClass("mall_po");
			self.find(".petload").addClass("for_petload");
            self.addClass("NopositionLi");//bug 3155 ie 6遮挡
            self.find("." + classr + ",." + classl).show();
        });
    });
    $("." + className).mouseout(function() {
        $(this).find(".for_mall_po").removeClass("mall_po");
		$(this).find(".petload").removeClass("for_petload");
        $(this).removeClass("NopositionLi");//bug 3155 ie 6遮挡
        $(this).find("." + classr + ",." + classl).hide();
    });
};
/**
 * @object  SII.SinglePager  简单分页组件


 * @param  options
 * @demo:
 * 所有el都为Jquery对象
	var ops={
			   data:数据,
			   container:容器el,
			   template:模板,
			   controls:[上一页el,下一页el]
			};
    var pager=new SII.SinglePager(ops);
 */
    SII.SinglePager=function(options){
		if(!options||!options.data||!options.container||!options.template||!options.controls||options.controls.length!=2){
    		//alert("initialization err!");
			return;
		}
		this.onPage=null;
		this.nowindex=0;
		var self=this;
		options.controls[0].click(function(){
			self.nowindex--;
			if(self.onPage){self.onPage(self.nowindex,options.data.length)};
			var temp=options.template;
			for(var item in options.data[self.nowindex]){
				temp=temp.replace("{"+item+"}",options.data[self.nowindex][item]);
			}
			if(self.nowindex==0){$(this).css("visibility",'hidden');}
			options.controls[1].css("visibility",'visible');
			options.container.html(temp);
		});
		options.controls[1].click(function(){
			self.nowindex++;
			if(self.onPage){self.onPage(self.nowindex,options.data.length)};
			var temp=options.template;
			for(var item in options.data[self.nowindex]){
                temp=temp.replace("{"+item+"}",options.data[self.nowindex][item]);
			}
            if(self.nowindex==options.data.length-1){$(this).css("visibility",'hidden');}
			options.controls[0].css("visibility",'visible');
			options.container.html(temp);
		});
		var _first=options.template;
		for(var item in options.data[self.nowindex]){
			_first=_first.replace("{"+item+"}",options.data[self.nowindex][item]);
		}
		options.container.html(_first);
		options.controls[0].css("visibility",'hidden');
		if(options.data.length==1)
		{
			options.controls[1].css("visibility",'hidden');
		}
	};
/**
 * @method  SII.setCookie 设置Cookie
 * @param c_name     存储到cookie中的名称
 * @param value         存储到cookie中的值


 * @param expiredays   过期天数
 */
    SII.setCookie = function(c_name,value,expiredays){
        var exdate=new Date();
        exdate.setUTCDate(exdate.getUTCDate()+expiredays);
        document.cookie = c_name+ "=" +escape(value)+((expiredays==null)?"":";expires="+exdate.toUTCString());
    };

/**
 * @method  SII.getCookie 获取Cookie
 * @param c_name   存储到cookie中的名称
 */
    SII.getCookie = function(c_name){
        if (document.cookie.length>0){
            c_start=document.cookie.indexOf(c_name + "=");
            if (c_start!=-1){
                c_start=c_start+c_name.length+1;
                c_end=document.cookie.indexOf(";",c_start);
                if (c_end==-1){c_end=document.cookie.length;}
                return unescape(document.cookie.substring(c_start,c_end))
            }
        }
        return "";
    };

/**
 * @method  SII.missionLayer   任务浮层
 * @param url  需要显示得页面地址
 * @param fix  修复居中的样式名
 * @notice 注意，在页面内的关闭按钮加上class="jqmClose"的空样式才能使关闭生效


 */
	SII.missionLayer=function(url,fix){
		var _style="fix-908";
		if(fix)_style=fix;
		if($('#missionlayer').length>0)
		{
			$('#missionlayer').jqm({ajax:url}).jqmShow();
		}
		else {
			$("<div/>").prependTo($("body")).attr("id","missionlayer").addClass("jqmWindow "+_style);
			$('#missionlayer').jqm({ajax:url}).jqmShow();
		}
    };
/**
 * @method  SII.missionLayerClose    关闭任务浮层
 */
    SII.missionLayerClose=function(){
	  if($('#missionlayer').length>0){
		$('#missionlayer').jqmHide();
	  }
    };
/**
 * 通用浮层
 * @param options {Object/String(deprecated)} 配置参数：


 * {
 *      layerName:{String} 必须是id，包住浮层内容的div的id名称,
 *      url:{String} If passed, dialog contents will be loaded remotely via ajax,
 *      fixClass:{String} fix样式类名,
 *      jqmWindowClass:{String} jqmWindow的样式类名,
 *      dynPos:{Boolean} 相对固定于页面,
 *      removeFlashOnClose:{Boolean} 是否在关闭时移除flash对象,默认移除flash对象
 * }
 * @param url {String} If passed, dialog contents will be loaded remotely via ajax
 * @param fixClass {String} fix样式类名
 * @param jqmWindowClass {String} jqmWindow的样式类名


 * @param dynPos {Boolean} 相对固定于页面


 */
SII.commLayer = function(options, url, fixClass, jqmWindowClass, dynPos) {
    var layerName = options;
    if (options.layerName) {
        //向前下兼容


        layerName = options.layerName;
        url = options.url;
        fixClass = options.fixClass;
        jqmWindowClass = options.jqmWindowClass;
        dynPos = options.dynPos;
    }
    var dynTop = (dynPos) ? (document.documentElement.scrollTop || document.body.scrollTop) : 20;
    var _style = fixClass || "fix-908";
    jqmWindowClass = jqmWindowClass || "jqmWindow";
    var fOnHide;
    if (options.removeFlashOnClose !== false) {
        //Called when a dialog is to be hidden
        fOnHide = function(h) {
            //移除flash对象
            h.w.hide().find("object").remove();
            if (h.o)h.o.remove();
        };
    }
    if ($('#' + layerName).length > 0)
    {
        if (dynPos) {
            $('#' + layerName).jqm({ajax:url,
                onHide:fOnHide
            }).jqmShow().css({'top':dynTop + 20});
        } else {
            $('#' + layerName).jqm({ajax:url,
                onHide:fOnHide}).jqmShow();
        }
    }
    else {
        if (dynPos) {
            $("<div/>").prependTo($("body")).attr("id", layerName).addClass(jqmWindowClass + " " + _style).css({'top':dynTop + 20});
        } else {
            $("<div/>").prependTo($("body")).attr("id", layerName).addClass(jqmWindowClass + " " + _style);
        }
        $('#' + layerName).jqm({ajax:url,
            onHide:fOnHide}).jqmShow();
    }
};
/**
 * @method    SII.commLayerClose 关闭通用浮层
 * @param layerName    必须是id，包住浮层内容的div的id名称
 */
    SII.commLayerClose=function(layerName){
	  if($('#'+layerName).length>0){
		$('#'+layerName).jqmHide();
	  }
    };
/**
 * 消息提示
 * @param options {Object} 配置参数：
 * {
 *      html:{String} 显示的内容字符串,
 *      handleok:{Function} 点确定执行的方法,
 *      toreload:{Boolean} 是否刷新页面,
 *      title:{String} 标题,
 * 		controlText:{String} 按钮文本,
 *      controlColor:{String} 按钮的颜色
 * }
 */
SII.Msg = function(options, handleok, toreload) {
    var html = options;
    //向前兼容
    if (options.html) {
        handleok = options.handleok;
        toreload = options.toreload;
        html = options.html;
    }
	return SII.Box({
		title:options.title || "提示",
		content:html,
		reload:toreload,
		control:[
			{color:options.controlColor || "green",text:options.controlText || "确定",handle:function() {
				if (typeof(handleok) == "function") {
					handleok();
				}
				if (toreload === true)
				{
					$.reload();
				}
			}}
		]
	});
};
/**
 * 错误提示
 * @param html {Object/String} 配置参数：

 * {
 *      html:{String} 显示的内容,
 *      fn:{Function} 点击确定按钮的回调函数[可选],
 *      reload:{Boolean} 是否刷新页面,
 *      onHide:{Function} 提示浮层隐藏后的回调函数（点击确定、关闭按钮）
 * }
 * @param fn {Function} 点击确定按钮的回调函数[可选]
 * @param reload {Boolean} 是否刷新页面
 * @param onHide {Function} 提示浮层隐藏后的回调函数（点击确定、关闭按钮）
 */
SII.Err = function(html, fn, reload, onHide) {
    if (!html.html) {
        //向前兼容
        html = {
            html:html,
            fn:fn,
            reload:reload,
            onHide:onHide
        };
    }
    SII.Box({
        title:"提示",
        reload:html.reload,
        content:html.html.toString(),
        control:[
            {
                color:"green",
                text:"确定",
                handle:html.fn
            }
        ],
        onHide:html.onHide
    });
    return false;
    return;
};
/**
 * @method  SII.Succ   操作成功提示(无参，自动消失)
 * @param toReload    [可选]是否刷新（默认不刷新）


 * @param handle        [可选]回调函数
 */
SII.Succ = function(toReload, handle) {
    if (SII.Succ.using)return;
    var template = '<div class="fix-loading"><div id="SII_SuccContainer"></div></div>';
    if ($('#SII_Succ').length == 0)
    {
        $(template).prependTo($("body")).attr("id", "SII_Succ");
        if (swfobject)
			swfobject.embedSWF(SII.Static_url+"images/html/action_success.swf", "SII_SuccContainer", "200", "60", "9.0.0", "", null, {wmode:'transparent',allowscriptaccess:'always'});
 		}
    clearTimeout(SII.Succ.timeID);
    $("#SII_Succ").show();
    SII.Succ.timeID = setTimeout(function() {
        $("#SII_Succ").hide();
        /*Dang Jiankai  6635 changed 20090816 begin*/
        //保证using状态的重置
        SII.Succ.using = false;

        /*Dang Jiankai  6635 changed 20090816 end*/
        if (handle != undefined)handle();
		//向下兼容(12980之前版本)，刷新


        if (toReload) {
            window.location.reload();
        }
    }, 1000);
};
SII.Succ.timeID = 0;
SII.Succ.using = false;
    /**
 * @method  SII.SuccBuy   操作成功提示(无参，自动消失)
 */
SII.SuccBuy = function() {
    if (SII.SuccBuy.using)return;
    var template = '<div class="fix-loading"><div id="SII_SuccBuyContainer"></div></div>';
    if ($('#SII_SuccBuy').length == 0)
    {
        $(template).prependTo($("body")).attr("id", "SII_SuccBuy");
        if (swfobject)
			swfobject.embedSWF(SII.Static_url+"images/html/action_SuccBuyess.swf", "SII_SuccBuyContainer", "200", "60", "9.0.0", "", null, {wmode:'transparent',allowscriptaccess:'always'});
 		}
    clearTimeout(SII.SuccBuy.timeID);
    $("#SII_SuccBuy").show();
    SII.SuccBuy.timeID = setTimeout(function() {
        $("#SII_SuccBuy").hide();
        /*Dang Jiankai  6635 changed 20090816 begin*/
        //保证using状态的重置
        SII.SuccBuy.using = false;
        Shop.Head.setFigureChanged(false);
        top.location.href = "/shop?type=mybox";
    }, 1000);
};
SII.SuccBuy.timeID = 0;
SII.SuccBuy.using = false;
/**
 * @method SII.Loading   显示loading
 */
SII.Loading = function() {
    var template = '<div class="fix-loading"><div id="SII_LoadingContainer"></div></div>';
    if ($('#SII_Loading').length == 0)
    {
        $(template).prependTo($("body")).attr("id", "SII_Loading");
        if (swfobject)
            swfobject.embedSWF(SII.Static_url + "flash/avatar/comp/loading.swf", "SII_LoadingContainer", "200", "50", "9.0.0", "", null, {wmode:'transparent',allowscriptaccess:'always'});
    }
    $('#SII_Loading').show().jqm({modal:true}).jqmShow();
};
    /**
 * @method SII.Loading.hide   隐藏loading
 */
	SII.Loading.hide=function(){
		$('#SII_Loading').hide().jqmHide();
		//$('#SII_Loading').hide().jqm().jqmHide();
	};
/**
 * 确认提示
 * @param options {Object/String} 配置参数/显示的内容（过时的），配置参数的结构为：
 * {
 *      html:{String} 显示的内容,
 *      handleok:{Function} [可选]点确定执行的方法,
 *      handlecancel:{Function} [可选]点取消执行的方法,
 *      toTop:{Boolean} [可选]窗口是否显示在最顶端,
 *      onHide:{Function} Called when a dialog is to be hidden,
 *      title:{String} 标题,
 *      okText:{String} 确定按钮文本,
 *      cancelText:{String} 取消按钮文本,
 *      okColor:{String} 确定按钮的颜色,
 *      cancelColor:{String} 取消按钮的颜色,
 * 		onShow:{Function} Called when a dialog is to be shown.
 * }
 * @param handleok {Function} [可选]点确定执行的方法
 * @param handlecancel {Function} [可选]点取消执行的方法
 * @param toTop {Boolean} [可选]窗口是否显示在最顶端
 */
SII.Confirm = function(options, handleok, handlecancel, toTop) {
    var html = options;
    if (options.html) {
        //向前兼容
        html = options.html;
        handleok = options.handleok;
        handlecancel = options.handlecancel;
        toTop = options.toTop;
    }
    return SII.Box({
        title:options.title || "确定",
        content:typeof(html) == "string" ? html : html.join("<br/>"),
        control:[
            {
                text:options.okText || "确定",
                color:options.okColor || "green",
                handle:handleok
            },
            {
                text:options.cancelText || "取消",
                color:options.cancelColor || "white",
                handle:handlecancel
            }
        ],
        toTop:toTop,
		onHide:options.onHide,
		onShow:options.onShow
    });
};
/**
 * @method SII.AddFri 添加好友
 * @param oConfig {Object} 配置参数，其结构为：
 * {
 *      fuid:{Number} 需要加为好友的用户ID,
 *      succHandler:{Function} 请求发送成功后的处理函数,
 *      toreload:{Boolean} 是否重载当前页面
 * }
 */
SII.AddFri = function(oConfig) {
    var nFuid = oConfig.fuid;
    //向下兼容
    var fuid = nFuid ? nFuid : oConfig;
    SII.Ajax("/friend/info?fuid=" + fuid, function(data) {
        var box = SII.Box({
            title:"加为好友",
            content:data.html.body,
            control:[
                {
                    text:"发出请求",
                    color:"green",
                    handle:function() {
                        var url = "/friend/add";
                        //过滤空格（包括全角）、回车


                        SII.Ajax(url, {fuid:fuid,comment:$.trim($("#comment_AddFri").val())}, function(data) {
                            if (!!data)
                            {
                                if (data['flag'] == "succ")
                                {
                                      SII.Msg("好友请求已发送", oConfig.succHandler, oConfig.toreload);
                                }
                                else {
                                    SII.Err(data['reason']);
                                }
                            }
                        },"post");
                    }
                },
                {
                    text:"取消",
                    color:"white"
                }
            ]
        });
        //字数限制
        SII.limitTAInput({
            textContainer:"#comment_AddFri",
            max:50,
            callback:function(iLeftChar) {
                if (iLeftChar == 0) {
                    $("#addFriCharLeft").text("已经不能再输入了").css("color", "red");
                    return;
                }
                $("#addFriCharLeft").text("还可以输入" + iLeftChar + "个字").css("color", "");
            }
        });
        //默认定位鼠标焦点
        $("#comment_AddFri").blur().focus();
		$(".forstip").sTip();
    },'',true);
};
    // 从页面中获取flash对象
    SII.getFlashMovieObject = function(movieName)
	{
  		if (window.document[movieName])
  		{
      		return window.document[movieName];
  		}
  		if (navigator.appName.indexOf("Microsoft Internet")==-1)
  		{
    		if (document.embeds && document.embeds[movieName])
      		return document.embeds[movieName];
  		}
  		else
  		{
    		return document.getElementById(movieName);
  		}
	}


    //我的道具滚动
	/*function MyPropscrollPanel(j_el,scrollnum,csss){
		j_el.css("margin-left","20px");
		if(j_el.find("li").length<4)
		{

			$(".scrollr").hide();
			$(".scrolll").hide();
			return;
		}
		var lcss="mallpopmenu3",rcss="mallpopmenu3_r";
		if(csss)
		{
			lcss=csss[0];
			rcss=csss[1];
		}
		j_el.jCarouselLite({
        btnNext: ".scrollr",
        btnPrev: ".scrolll",
		mouseWheel: true,
		visible:4 ,
		circular:false,
		scroll :scrollnum,
		afterEnd: function(items){
			$(items).find("div."+rcss).removeClass(rcss).addClass(lcss);
			$(items[3]).find("div."+lcss).removeClass(lcss).addClass(rcss);
			//alert(issss.length)
		},
		speed:800});
		$(j_el.find("li")[3]).find("div."+lcss).removeClass(lcss).addClass(rcss);
	}*/
	//剪切板函数



	//el:jquery对象--需要复制的文本框



	//strTip:成功后的提示[可选]
	SII.copyToClipBoard=function (el,strTip)
	{
		  var t= el[0];
		  t.select();
		  //IE
		  if(window.clipboardData)
		  {
			window.clipboardData.clearData();
			window.clipboardData.setData("Text", t.value);
		  }
		  //FireFox
		  else if (window.netscape)
		  {
			  try
			  {
				  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			  }
			  catch (e)
			  {
				  alert("你的firefox安全限制限制你进行剪贴板操作，请打开'about:config'将 signed.applets.codebase_principal_support'设置为true'之后重试");
				  return false;
			  }
			  var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
			  if (!clip)
				  return;
			  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
			  if (!trans)
				  return;
			  trans.addDataFlavor('text/unicode');
			  var str = new Object();
			  var len = new Object();
			  var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
			  var copytext = t.value;
			  str.data = copytext;
			  trans.setTransferData("text/unicode",str,copytext.length*2);
			  var clipid = Components.interfaces.nsIClipboard;
			  if (!clip)
			  return false;
			  clip.setData(trans,null,clipid.kGlobalClipboard);
		  }
		  if(!strTip){
			alert("内容复制成功!");
		  }else{
			alert(strTip);
		  }
	  }

	//剪切板函数



	//txt:需要复制的文本值



	//strTip:成功后的提示[可选]
	  SII.copyText=function (txt,strTip)
	{
		  //IE
		  if(window.clipboardData)
		  {
			window.clipboardData.clearData();
			window.clipboardData.setData("Text", txt);
		  }
		  //FireFox
		  else if (window.netscape)
		  {
			  try
			  {
				  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			  }
			  catch (e)
			  {
				  alert("你的firefox安全限制限制你进行剪贴板操作，请打开'about:config'将 signed.applets.codebase_principal_support'设置为true'之后重试");
				  return false;
			  }
			  var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
			  if (!clip)
				  return;
			  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
			  if (!trans)
				  return;
			  trans.addDataFlavor('text/unicode');
			  var str = new Object();
			  var len = new Object();
			  var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
			  var copytext =txt;
			  str.data = copytext;
			  trans.setTransferData("text/unicode",str,copytext.length*2);
			  var clipid = Components.interfaces.nsIClipboard;
			  if (!clip)
			  return false;
			  clip.setData(trans,null,clipid.kGlobalClipboard);
		  }
		  if(!strTip){
			alert("内容复制成功!");
		  }else{
			alert(strTip);
		  }
	  }

        /*
        *  登录关于验证码的初始化



        */
        //  记录登录错误的次数，用以判断是否显示验证码表单


	/* 注销 移动到Login.js

        SII.launchInit = function()
        {
		if($('#need_captcha').val()==0){
			$('#validateTr').css('display','none');
		}else{
			if($('#captcha_code').val()=='0000'){$('#captcha_code').val('');}
		}
		if($('#stay_check').val()==1){
			$('#remember_me').attr('checked',true);
		}else{
			$('#remember_me').removeAttr('checked');
		}
        }*/

        // 切换验证码


	/* for login & forget password */
	/* WuKan 6544 changed 20100517 */
        SII.changeCode = function(){
	        var rand = Math.random();
		$("#validateimg").attr("src","/captcha?rand="+rand);
		return false;
        };
		//画像结束是flash的回调



		SII.drawOver = function(b){
			if(b){
				parent.SII.Succ();
				setTimeout(function(){window.top.location.href="/shop?slidetop=1"},1000);
				/*
				parent.SII.Msg("成功！",function(){
					window.top.location.href="/home/";
				});
				*/
			}else {
				parent.SII.Msg("失败！请重新点击提交按钮提交");
			}
		}

		//npc客人uid
		var EXTR = new Array();
		EXTR[0] = "99999998";
		EXTR[1] = "99999999";

SII.FriendExtr=EXTR;
// 详细简要切换显示



function hot_list(id) {
	var nodes = $("#"+id+">li").not(".imout");
	var lastTag=$(nodes[0]);
    nodes.mouseover(function(){
			if(!!lastTag){lastTag.removeClass('actived');}
			lastTag=$(this).addClass('actived');
	});
	if(nodes.length>0)
	$(nodes[0]).addClass("actived");
}


//下拉列表样式
   function BarSelect(a,index){
    var title = document.getElementById(a).innerHTML;
	document.getElementById("fldselectdis"+ index).innerHTML = title;

	BarSelectClose(index);
};

function BarSelectClose(index){
    if (document.getElementById("fldselectop"+ index)) {
	    document.getElementById("fldselectop"+ index).style.display = "none";
    }

};
function clickBarSelect(index){
    var oFldselectdis = document.getElementById("fldselectdis" + index);
    clearTimeout(oFldselectdis.nTimeOut);
    var moveToUL = false;
    if (document.getElementById("fldselectdis" + index)) {
        document.getElementById("fldselectdis"+ index).onmouseout = function() {
            if (moveToUL == false) {
                BarSelectClose(index);
            }
        }
    }

    if (document.getElementById("fldselectop" + index)) {

        document.getElementById("fldselectop"+ index).onmouseout = function() {
            BarSelectClose(index);
        }
 	    if(document.getElementById("fldselectop"+ index).style.display == "block"){
		    BarSelectClose(index);
	    }else{
		    document.getElementById("fldselectop"+ index).style.display = "block";
		    document.getElementById("fldselectop"+ index).onmouseover = function () {
                clearTimeout(oFldselectdis.nTimeOut);
		        document.getElementById("fldselectop"+ index).style.display = "block";
		        moveToUL = true;
		    }
		    document.getElementById("fldselectop"+ index).onmouseout = function () {
		        //alert("out");
                oFldselectdis.nTimeOut = setTimeout(function() {
                    BarSelectClose(index);
                }, 100)
		    }
	    }
    }

};
//文章滚动插件
SII.Scroll = function(option) {
		this.oNote = $("#"+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();
	};
SII.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();
				}
			}
		}
	};

	SII.getURL=function(url){
		window.location.href=url;
	}

/*ajax错误统一处理*/
SII.AjaxErr=function(resp){
	var _cfg=SII.AjaxErr.Config;
	if(_cfg["Code"][resp.flag]&&typeof(resp)=="object")
	{
		var _opt=$.extend(_cfg["Code"][resp.flag], resp || {});
		_cfg["Handle"][_opt["handle"]]?_cfg["Handle"][_opt["handle"]](_opt):_cfg["Handle"]["default"]();
	}
	else
	{
		_cfg["Handle"]["default"]();
	}

}
SII.AjaxErr.Config={
	Code:{
			"101":{msg:"你还未登录，请你先登录",go:"/login",handle:"showAndRedirect"},
			"104":{msg:"你无权操作！",handle:"show"},
			"105":{msg:"你还未选择性别，请你先选择性别",go:"/register/setgender",handle:"showAndRedirect"},
			"106":{msg:"购买失败，购物车已满！",handle:"show"},
			"107":{msg:"数据库操作失败！",handle:"show"},
			"108":{msg:"你已经屏蔽该好友,不可重复屏蔽！",handle:"show"},
			"109":{msg:"不可以自己屏蔽自己！",handle:"show"},
			"110":{msg:"不可以转贴自己文章！",handle:"show"},
			"111":{msg:"不能重复导入！",handle:"show"},
			"112":{msg:"不能转帖陌生人的帖子，你可以先加他/她为好友！",handle:"show"},
			"302":{handle:"redirectNow"},
			"303":{handle:"showRedirectUrl"},
			"306":{handle:"showReload"},
			"500":{handle:"show"}
	},
	Handle:{
		show:function(data){
			$.jqm.closeAll();SII.Err(data.msg);
		},
		redirectNow:function(data){
			window.onbeforeunload=null;
			top.location.href=data.go;
		},
		showAndRedirect:function(data){
			$.jqm.closeAll();SII.Err(data.msg,function(){top.location.href=data.go;},true);
		},
		showRedirectUrl:function(data){
			$.jqm.closeAll();
			SII.Box({
				title:"发生错误",
				reload:true,
				content:"<a target=\"_top\" href=\""+data.go+"\">"+data.msg+"</a>",
				control:[{color:"green",text:data.go_link||"确定",handle:function(){
					top.location.href=data.go;
				}}]
			});
		},
		showReload:function(data){
			$.jqm.closeAll();
			SII.Err(data.msg,'',true,'');
		},
		"default":function(){
			$.jqm.closeAll();
			//SII.Err("未知错误！");
		}
	}
};
/*统一ajax接口*/
SII.Ajax=function($url,$para,$callback,$method,$hideloading){
	$hideloading = ($hideloading == false)?false:true;
	var _haserrorhandle=false;
	if(typeof($para)=="function")
	{
		$method=$callback;
		$callback=$para;
		$para={};
	}
	$.extend($para,{uid_checked:SII.NowUserID});
	if(typeof($callback)=="object")
	{
		if($callback.length!=2)
		{
			alert("handle error!");
			return;
		}
		_haserrorhandle=true;
	}
	function callback(resp){
		if (!$hideloading) {
			top.SII.Loading.hide();
		}
		try{
			resp=eval("("+resp+")");
		}
		catch(err)
		{
			SII.AjaxErr(999);
			return;
		}
		if(SII.DebugState&&resp.debuginfo)
		{
			SII.logForAjax(resp.debuginfo,$url);
		}
		if (resp.flag == 200)
		{
			if (_haserrorhandle)
			{
				$callback[0](resp.data);
				return;
			}
			if ($.isFunction($callback)) {
				$callback(resp.data);
			}
			return;
		}
        if (_haserrorhandle)
        {
            $callback[1](resp);
            return;
        }
        SII.AjaxErr(resp);
	}
	if(!$hideloading)top.SII.Loading();
	if($method=="post")
	{
		$.post($url,$para,callback);
	}
	else  if($method=="json")
	{
		$.getJSON($url,$para,callback);
	}
    else
    {
        $.get($url,$para,callback);
    }
};

SII.Box=function(opts){
	SII.setFlashVisibility('hidden');
	return top.SII._Box(opts);
};
SII.Box.hide=function(){
	$("#SII_BOX").jqmHide();
	//$(".gameflash").find("object").css('visibility','visible');
	SII.setFlashVisibility('visible');
};
SII.BoxtimeID=0;
SII._Box=function(opts){
    if (!opts.toTop) {
        $.jqm.closeAll();
    }
		var _control={
			green:'<a  href="#" class="autobtn01 SII_Box_Control_Item jqmClose"><input type=\"button\" name=\"save\" value=\"{text}\"/></a>',
			$green:'<a  href="#" class="autobtn01 SII_Box_Control_Item"><input type=\"button\" name=\"save\" value=\"{text}\"/></a>',
			white:'<a  href="#" class="autobtn03 SII_Box_Control_Item jqmClose"><input type=\"button\" name=\"save\" value=\"{text}\"/></a>',
			$white:'<a  href="#" class="autobtn03 SII_Box_Control_Item"><input type=\"button\" name=\"save\" value=\"{text}\"/></a>',
			red:'<a  href="#" class="autobtn01 SII_Box_Control_Item jqmClose"><input type=\"button\" name=\"save\" value=\"{text}\"/></a>',
			$red:'<a  href="#" class="autobtn01 SII_Box_Control_Item"><input type=\"button\" name=\"save\" value=\"{text}\"/></a>',
			yellow:'<input type="button" class="paybtn4 SII_Box_Control_Item jqmClose" name="save" value="{text}"/>',
			$yellow:'<input type="button" class="paybtn4 SII_Box_Control_Item" name="save" value="{text}"/>'
		};
		var container=[];
		container.push("<div class='jqmWindow fix-540'><table class=\"pop_dialog_table\">");
		container.push(" <tbody>");
		container.push(" <tr>");
		container.push("	 <td class=\"pop_topleft\"></td>");
		container.push("	 <td class=\"pop_border pop_top\"></td>");
		container.push("	 <td class=\"pop_topright\"></td>");
		container.push("	</tr>");
		container.push("	<tr>");
		container.push("	 <td class=\"pop_border pop_side\"></td>");
		container.push("	 <td id=\"pop_content\" class=\"pop_content\">");
		container.push("	 <div class=\"dialog_title \"><span class=\"SII_Box_Title\">{title}</span><a href=\"###\"><div class=\"dialog_close  jqmClose\"></div></a></div>");
		container.push("		<div class=\"clear\"></div>");
		container.push("		<div class=\"dialog_content\">");
		container.push("		 <div class=\"dialog_body SII_Box_Content\">");
		container.push("		{content}");
		container.push("		 </div>");
		container.push("		 <div class=\"dialog_line\"></div>");
		container.push("		 <div class=\"dialog_button SII_Box_Control\">");
		container.push("		 {control}</div>");
		container.push("		 <div class=\"errorbg2 SII_Box_ErrorTip hide\" ><span class=\"error po8\"></span>你还没有选择好友请先选择好友</div>");
		container.push("		 <div class=\"clear\"></div>");
		container.push("		</div>");
		container.push("	 </td>");
		container.push("	 <td class=\"pop_border pop_side\"></td>");
		container.push("	</tr>");
		container.push("	<tr>");
		container.push("	 <td class=\"pop_bottomleft\"></td>");
		container.push("	 <td class=\"pop_border pop_bottom\"></td>");
		container.push("	 <td class=\"pop_bottomright\"></td>");
		container.push("	</tr>");
		container.push("	</tbody>");
		container.push(" </table></div>");
    var opt = $.extend({}, SII.Box.optDefault, opts);
		var controlhtml="";

		for(var i=0;i<opt.control.length;i++)
		{
			if(typeof(opt.control[i].color)=="undefined")
			{
				opt.control[i].color="white";
			}
			try{
				controlhtml+=_control[opt.control[i].color].replace("{text}",opt.control[i].text);
			}
			catch(err)
			{
				controlhtml+=_control["green"].replace("{text}","err");
			}
		}

		var html=container.join("").replace("{title}",opt.title).replace("{content}",opt.content).replace("{control}",controlhtml);

    function createNewBox(options, html, id) {
        var jBox=$(html).prependTo($('body')).attr("id", id);
        bindContollerEvents(jBox);
        if (options.reload)
        {
            jBox.jqm({
                onHide:function() {
                    if ($.isFunction(options.onHide)) {
                        //Called when a dialog is to be hidden.
                        options.onHide(h);
                    }
                    $.reload();
                },//模态窗口


				modal:true,
				onShow:function(h) {
					if ($.isFunction(options.onShow)) {
						options.onShow(h);
					}
					h.w.show();
				}
            }).jqmShow();
        }
        else
        {
            jBox.jqm({
                //模态窗口


                modal:true,
                onHide:function(h) {
					$('#pop_content').focus();
                    h.w.hide();
                    if (h.o)h.o.remove();
                    if ($.isFunction(options.onHide)) {
                        //Called when a dialog is to be hidden.
                        options.onHide(h);
                    }
					SII.setFlashVisibility('visible');
				},
				onShow:function(h) {
					if ($.isFunction(options.onShow)) {
						options.onShow(h);
					}
					h.w.show();
				}
            }).jqmShow();
        }
    }

    var nBoxNumber = 0,sId = "SII_BOX";
    if (opts.toTop) {
        sId = "SII_BOX_" + nBoxNumber;
        createNewBox(opt, html, sId);
        nBoxNumber++;
    } else {
        if ($("#" + sId).length == 0)
        {
            createNewBox(opt, html, sId);
        }
        else
        {
            var jBox;
            if (opt.reload)
            {
                jBox = $("#" + sId).find("span.SII_Box_Title").html(opt.title).end().find("div.SII_Box_Content").html(opt.content).end().find("div.SII_Box_Control").html(controlhtml).end();
                bindContollerEvents(jBox);
				jBox.jqm({
					onHide:function() {
						$.reload();
					},
					onShow:function(h) {
						if ($.isFunction(opt.onShow)) {
							opt.onShow(h);
						}
						h.w.show();
					}
				}).jqmShow();
            }
            else
            {
				jBox = $("#" + sId).find("span.SII_Box_Title").html(opt.title).end().find("div.SII_Box_Content").html(opt.content).end().find("div.SII_Box_Control").html(controlhtml).end();
				bindContollerEvents(jBox);
				jBox.jqm({
					onHide:function(h) {
						$('#pop_content').focus();
						h.w.hide();
						if (h.o)h.o.remove();
						if ($.isFunction(opt.onHide)) {
							//Called when a dialog is to be hidden.
							opt.onHide(h);
						}
						SII.setFlashVisibility('visible');
					},
					onShow:function(h) {
						if ($.isFunction(opt.onShow)) {
							opt.onShow(h);
						}
						h.w.show();
					}
				}).jqmShow();
            }
        }
    }
    function bindContollerEvents(context) {
	
		$("body").bind('keyup',function(e) {
			if(e.keyCode==13){  
				if (typeof(opt.control[0].handle) == "function")
				{
					$('.SII_Box_Control_Item:first', context).click();
					$("body").unbind('keyup');
				}
			}     
		});
		$('.SII_Box_Control_Item', context).each(function(index) {
			$(this).click(function(e) {
				if (typeof(opt.control[index].handle) == "function")
				{
					opt.control[index].handle(e);
					$("body").unbind('keyup');
				}
				return false;
			});
		});
    }
    var retObj = $("#" + sId);
		retObj.find("div.SII_Box_ErrorTip").hide();
		retObj.updateContent=function(html){
				retObj.find("div.SII_Box_Content").html(html);
		};
		retObj.updateTitle=function(html){
				retObj.find("span.SII_Box_Title").html(html);
		};
		retObj.content=function(){
				return retObj.find("div.SII_Box_Content").html();
		};
		retObj.errorTip=function(text){
				clearTimeout(SII.BoxtimeID);
				retObj.find("div.SII_Box_ErrorTip").html("<span class=\"error po8\"></span>"+text).show();
				SII.BoxtimeID=setTimeout(function(){retObj.find("div.SII_Box_ErrorTip").hide();},5000)
		};
		retObj.updateControl=function(ctrl){
				var controlhtml="";
				for(var i=0;i<ctrl.length;i++)
				{
					if(typeof(ctrl[i].color)=="undefined")
					{
						ctrl[i].color="white";
					}
					try{
						controlhtml+=_control[ctrl[i].color].replace("{text}",ctrl[i].text);
					}
					catch(err)
					{
						controlhtml+=_control["green"].replace("{text}","err");
					}
				}
				retObj.find("div.SII_Box_Control").html(controlhtml);
			retObj.find(".SII_Box_Control_Item").each(function(index) {
					$(this).click(function(e){
						if(typeof(ctrl[index].handle)=="function")
							ctrl[index].handle(e);
							retObj.jqmHide();
						return false;
						}
					);
			});
		};
		return retObj;
};
SII.Box.optDefault={
			title:"未定义标题",
			content:"未定义内容",
			control:[{color:"green",text:"确定",handle:function(){;}}],//{color:"white",text:"取消",handle:function(){;}}
			reload:false
};
/**
 * @method SII.limitTAInput : 文本字数限制
 * @param oConfig {Object/jQuery(deprecated)} 配置参数对象/封装表单控件的jQuery对象（过时的，向下兼容）
 * 配置参数对象的结构为:{
 *      textContainer:{String/DOMElement/jQuery} 文本容器对象的选择器字符串/文本容器对象/封装文本容器对象的jQuery对象,
 *      max:{Number} 允许最大输入的字数,
 *      callback:{Function} 回调函数,
 *      allowMinusLeftChar:{Boolean} 是否允许将负值的leftChar作为参数传递给callback,
 *      listenOnInit:{Boolean} 是否在初始化事件时即刻运行计数器
 * }
 * @param max {Number} (deprecated) 允许最大输入的字数
 * @param leftCharCallback {Function} (deprecated) 回调函数
 */
    SII.limitTAInput = function(oConfig, max, leftCharCallback) {
        var oTA = oConfig;
        //向下兼容转换
        if (oConfig.textContainer) {
            oTA = $(oConfig.textContainer);
            max = oConfig.max;
            leftCharCallback = oConfig.callback;
        }
        //e为textarea的DOM对象（根据JQ对象得到DOM对象）


        var e = oTA.get(0);
        max = parseInt(max);
        max = isNaN(max) ? 0 : max;
        leftCharCallback = leftCharCallback == undefined ? null : leftCharCallback;

        if (e == null || max == 0) {
            return;
        }
        // 用计时器的话就什么浏览器都支持了.

        var _intDo = null;
        oTA.bind("focus", setListen);
        oTA.bind("blur", remListen);
        //保存计算一次剩余字数的函数
        oTA.data("calculateCharsLeft", start);
        function setListen() {
            _intDo = setInterval(start, 300);
        }

        if (oConfig.listenOnInit === true) {
            //在初始化事件时即刻运行计数器
            setListen();
        }
        function remListen() {
            clearInterval(_intDo);
        }

        // 统计函数
        var _len, _olen;
        _olen = _len = 0;
        function start() {
            /*Dang Jiankai  6635 changed 20090810 begin*/
            //空格也需要计数，不进行trim；IE回车字符为'\r\n'，但回车以1个字计数
            var sReplaced = e.value.replace(/\r\n/g, "\n");
            _len = sReplaced.length;
            if (_len == _olen) return;  // 防止用计时器监听时做无谓的牺牲...
            //若字数超出限制且不允许将负值的leftChar作为参数传递给callback，则截取文本值


            if (_len > max && !oConfig.allowMinusLeftChar) {
                //空格也需要计数，不进行trim
                var sNewValue = BindSize(sReplaced, max);
                //hack:中文输入法下,重新赋值时,输入表单的值会被清空


                $(e).blur().focus();
                e.value = sNewValue;
                // 解决FF老是跑回顶部
                if ($.browser.mozilla)
                    e.scrollTop = e.scrollHeight;
            }
            //空格也需要计数，不进行trim；IE回车字符为'\r\n'，但回车以1个字计数
            _olen = _len = e.value.replace(/\r\n/g, "\n").length;
            /*Dang Jiankai  6635 changed 20090810 end*/
            // 显示剩余可输入字数


            if (leftCharCallback)
            {
                var iLeftChar = max - _len;
                //若允许将负值的leftChar作为参数传递给callback，则将max - _len的值直接传入


                leftCharCallback.call(this, !oConfig.allowMinusLeftChar && iLeftChar < 0 ? 0 : iLeftChar);
            }
        }

        start();
        function BindSize(text, size) {
            var x = 0;
            str = text.replace(/[\s\S]/g, function(d, i)
            {
                //if(d.charCodeAt(0) > 127) x++;
                if (x + i >= size) return "";
                return d;
            });
            return str;
        }
    };
SII.thanks = function(to, gid, cost) {
	SII.Confirm("需要花费" + cost + "乐豆，确定？", function() {
        SII.Ajax("/shop/action/add", {to_uid:to,gid:gid}, function(data) {
            //依据ajax统一接口交互
            if (data.result == 1)
            {
                SII.Info("common", false, null, "操作成功！");
                if (data.money && data.money > 0) {
                    SII.showReward(data.money);
                }
            }
            else
            {
                SII.Err(data.msg || "操作失败！");
            }
        });
    });
};
/**
 * @method SII.addStyle : 添加样式节点
 * @param styleid  节点ID
 * @param stylecontent   样式内容
 */
SII.addStyle=function(styleid,stylecontent)
{
    if($("#"+styleid).length>0)$("#"+styleid).remove();
    var head = document.getElementsByTagName("head")[0];
    styleEl = document.createElement("style");
    styleEl.id = styleid;
    styleEl.type = "text/css";
    head.appendChild(styleEl); // 先添加到DOM树中，都在cssText里的hack会失效


    if (styleEl.styleSheet) { // IE
        styleEl.styleSheet.cssText = stylecontent;
    } else { // W3C
        styleEl.appendChild(document.createTextNode(stylecontent));
    }
};

/**
 * @method queryURI() 取得浏览器地址栏参数


 *
 * @desc queryURI() 取得浏览器地址栏参数


 *  @key_s 参数名称
 *  @err_msg_s 错误提示(string)（可选）
 *  @decode_f 解码方法函数（可选）
 *  @path_s 手动输入链接地址（可选）
 */
function queryURI(key_s, err_msg_s, decode_f, path_s){//暂时兼容以前的queryURI()
	return SII.queryURI(key_s, err_msg_s, decode_f, path_s);
};
SII.queryURI = function(key_s, err_msg_s, decode_f, path_s){
    err_msg_s = err_msg_s || 'query_string_f(key_s, err_msg_s, decode_f, path_s): key_s is empty!';
    path_s = (path_s || location.search).replace(/^.*\?/, "");

    if (!key_s) {
        alert(err_msg_s);
        return;
    }

    var item_a = path_s.split("&");
    var result_s = "";
    var trim_r = /^\s+||\s+$/g;

    for (var i = 0, j = item_a.length; i < j; i++) {
        var part_a = item_a[i].split("=");
        if (part_a[0].replace(trim_r, '').toLowerCase() == key_s.toLowerCase()) {
            if (part_a.length == 1)
                continue;
            result_s = part_a[1];
            break;
        }
    }
    if (typeof decode_f == 'function') {
        result_s = decode_f(result_s);
    }

    return result_s.replace(trim_r, '');
};
	SII.friendSearchTextBox=function(opt)
	{	
		var _default = {
           listContainerId:"showPanel"
		};
		var temp=$.extend(_default, opt);
        $.extend(this,temp);
		var that=this;
		
		//初始化list容器
		$("#"+this.listContainerId).html("");
		//初始化userSearch对象
		this.userSearch = new this.userSearch(this.callback,this);
		var keyInput = document.getElementById(this.textBoxId);
		if(keyInput)
		{
			this.keyInput=keyInput;
		}
		this.bindkeyInputEvent();
		this.bindDocumentClick();
		this.hide();
		this.bindSelectList();
		this.init();
	
	};
	SII.friendSearchTextBox.prototype={
	init:function(){
	
	
	},
	//键盘选择搜索结果，回车选中
	bindSelectList:function(){
		var _self=this;
		$("#"+this.textBoxId).attr("autocomplete","off");
		//下
		$("#"+this.textBoxId).bind('keyup',function(event) { 
			if(event.keyCode==40){
			/////item
			
				if($("#"+_self.listContainerId).css("display")!="none"&&$("#"+_self.listContainerId).find(".item").length!=0)
				{
					var total=$("#"+_self.listContainerId).find(".item").length;
					var current=-1;
					 current++;
					
					 _self.selectItem(current,total);
				
				
				}
				
				
				return false;
			}
			
		});
		//上
		$("#"+this.textBoxId).bind('keyup',function(event) { 
			if(event.keyCode==38){
			/////item
			
				if($("#"+_self.listContainerId).css("display")!="none"&&$("#"+_self.listContainerId).find(".item").length!=0)
				{
					var total=$("#"+_self.listContainerId).find(".item").length;
					var current=-1;
					 current--;
					
					 _self.selectItem(current,total);
				}
				
				
				return false;
			}
		});
	
	},
	//选中数据项， 根据索引
	selectItem:function(idx,total){
		var _self=this;
		if(!total)
		{
			total=$("#"+_self.listContainerId).find(".item").length;
		}
		if(idx<0)
		{
			idx=total-1;
		}
		if(idx>total-1)
		{
			idx=0;
		}
		var items=$("#"+_self.listContainerId).find(".item");
		var item=$($("#"+_self.listContainerId).find(".item")[idx]);
		if(!item)
		{
			item=$("#"+_self.listContainerId).find(".item")[0];
		}
		
		
	
		for(var i=0;i<items.length;i++)
		{
			//具体要css样式removeClass([class]) 
			$(items[i]).removeClass("select");
		}
		
		item.focus();
		////具体要css样式
		item.addClass("select");
		
	}
	,
	 onKeyUp:function(){
	    var that=this;
		var str=$.trim(that.keyInput.value.toString());
		
		if(str=="")
		{
			that.hide();
			return;
		}
		
		that.userSearch.parse(str);
	 }
	 ,
	 bindkeyInputEvent:function(){
		var that=this;
		if(this.keyInput)
		{
			this.keyInput.onkeyup = function(){
				that.onKeyUp();
			}
		}
	 },
	 bindDocumentClick:function(){
		var that=this;
		$(document).click(function(e){
			
			if($(e.target).attr("class")=="friendItem")
			return
			if($(e.target).attr("id")==that.textBoxId)
			return
			that.hide();
		});
	 }
	 ,
	 bindSelectItem:function(){
	 
	 /*
	 $("#"+this.textBoxId).bind('keyup',function(event) { 
			if(event.keyCode==40){
	 
	 */
		 var that=this;
		 $(".friendItem").bind('keydown',function(event) { 
					if(event.keyCode==40){
						var idx=$(this).find(".item").attr("idx");
						idx++;
					
						that.selectItem(idx);
						
					};
					if(event.keyCode==38){
						var idx=$(this).find(".item").attr("idx");
						idx--;
					
						that.selectItem(idx);
					
					};
					if(event.keyCode==27){
						that.hide();
					};
					
					
				return false;
		 });
		
	 
	 },
	 enterItem:function(idx){
	 
		
	 
	 }
	 
	 ,
	
	 bindFriendItemClick:function(){
	     var that=this;
		 $(".friendItem").click(function(){
					
					$("#"+that.textBoxId).attr("value",$(this).attr("val"));
					that.hide();
					
				
		 });
		 $(".friendItem").bind('keyup',function(e) {
				if(e.keyCode==13){ 
				 
					$("#"+that.textBoxId).attr("value",$(this).attr("val"));
					that.hide();
					
				}
		});
	 },
	 show:function()
	 {
		$("#"+this.listContainerId).show();
	 }
	 ,
	 hide:function()
	 {
		$("#"+this.listContainerId).hide();
	 }
	 ,
	 callback:function onSearch(resArr,friendSearchTextBoxObj){
		    
		
			var info = document.getElementById(friendSearchTextBoxObj.listContainerId);
			info.innerHTML = "";
			var resStr = "";
			//wnfsellis
			
			for(var i = 0, len = resArr.length; i <len; i++){
				
				resStr += "<li class=\"friendItem\" val=\""+resArr[i].n +"\"><a class=\"item\" idx=\""+i+"\"  href=\"javascript:void(0)\" val=\""+resArr[i].n +"\">" +   resArr[i].n + "<img width=\"18\" height=\"18\" src=\""+resArr[i].logo_2+"\"/></a></li>";
			}
			if(resStr=="")
			{
			resStr ="<li class=\"friendItem\">" +   "姓名不在好友列表哦，请重新输入。" + "</li>";
			}
			
			info.innerHTML = resStr;
			friendSearchTextBoxObj.show();
			friendSearchTextBoxObj.bindFriendItemClick();
			friendSearchTextBoxObj.bindSelectItem();
			
			
		},
		
		userSearch:function(callBackFun,friendSearchTextBoxObj){
					var _source_o = {};
					var _temp_o = {};
					var _k = "";
					var _ks= "";
					var _result = [];
					var onSuccess = callBackFun;
					
					var sortOn = function (arr, key){
						var sortKey = function(a, b){
							return a[key] - b[key];
						};
						return arr.sort(sortKey);
					}
					
					var analyse = function(){
						if (_ks.length === 0 || _k === "") {
							onSuccess([],friendSearchTextBoxObj);
							return;
						}
						
						if(_temp_o[_ks]){
							onSuccess(_temp_o[_ks],friendSearchTextBoxObj);
							return;
						}
						
						var tempArr = [];
						var sArr = _ks.split("");
						
						for(var i = 0, len = _source_o[_k].length; i < len; i++){
							var path = 0;
							var joinS = _source_o[_k][i].n + _source_o[_k][i].s;
							var deleteNum = 0;
							
							for (var j = 0, lenj = sArr.length; j < lenj; j++) {
								var isWord = true;
								if (sArr[j] >= "a" && sArr[j] <= "z") {
									isWord  = false;
								}
								
								var index;
								isWord ? index = joinS.indexOf(sArr[j]) : index = joinS.indexOf(sArr[j]) - _source_o[_k][i].n.length + deleteNum;
								if (index <= -1) {
									index = -100000;
								} else {
									isWord  ? deleteNum++ : null;
									joinS = joinS.replace(sArr[j], "");
								}
								
								path += index + 1;
							}
							
							if(path <= 0) continue;
							var o = { "logo_2":_source_o[_k][i].logo_2,n:_source_o[_k][i].n, s : _source_o[_k][i].s, u : _source_o[_k][i].u, paths : path};
							tempArr.push(o);
						}
					
						tempArr = sortOn(tempArr, "paths");
						_temp_o[_ks] = tempArr;
						onSuccess(tempArr,friendSearchTextBoxObj);
						
					};
					
					var loadData = function(){
						//_k = encodeURIComponent(escape(_k));
						var url = "http://" + location.hostname + "/suggest?key=" + encodeURIComponent(_k) + "&k=" + Math.random();
						$.getJSON(url,
							function(data){
								//alert(data.d[0].n);
								_source_o[_k] = data.d;
								analyse();
							}
						);
					};
					
					//=========================================================
					
					this.parse = function(ks){
						//alert(ks);
						if(!ks) return;
						_ks = ks.toLowerCase();
						_k = _ks.slice(0, 1);
						
						if (_source_o[_k]) {
							analyse();
						} else {
							loadData();
						}
					};
					
					this.clear = function(){
						_source_o = {};
						_temp_o = {};
					};
			}
	
	
	
	};
	
SII.friendList = function(opt) {
    var _default = {
        url:"/friend/embed?flag=ajaxfriend",
        selector:"#zllfriend",
        position:"right",
        exclude:[99999998,99999999],
        buttontext:"选择你的好友",
        emptytext:"你暂时没有好友",
        isradio:true
    };
    this.opt = $.extend(_default, opt);
    var _html = [];
    //是否有外部的trigger
    if (!this.opt.extraTrigger) {
        _html.push("<div class=\"fldselect word4\"><span class=\"fldselectdis friend_select_btn\">" + this.opt.buttontext + "</span>");
    }
    _html.push(" <div class=\"fldselectdis_bg" + (this.opt.position == "left" ? "2" : "") + " hide\">");
    _html.push(" <div class=\"fldselectop4\">");
    _html.push(" <table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">");
    _html.push(" <tbody>");
    _html.push(" </tbody>");
    _html.push(" </table>");
    _html.push(" </div>");
    _html.push(" <div>");
    _html.push(" <div class=\"btng_r\"><a href=\"javascript:void(0);\">");
    _html.push(" <input type=\"button\" value=\"确认\" class=\"inputtwos friend_submit_btn\"/>");
    _html.push(" </a></div>");
    _html.push(" </div>");
    _html.push(" </div>");
    //是否有外部的trigger
    if (!this.opt.extraTrigger) {
        _html.push("</div>");
    }
    this.html = _html.join("");
    this._text = "";
    this._val = 0;
    this.getData();
};
SII.friendList.prototype = {
    val:function() {
        return this._val;
    },
    text:function() {
        return this._text;
    },
    txt:function() {
        return this._text;
    },
    fillData:function(data) {
        var _arr_out = [];
        var _self = this;
        _arr_out.push('<tr>');
        var template = '<td><input name="users_fri" type="' + (this.opt.isradio ? 'radio' : 'checkbox') + '" value="{i}" />{v}<img src="{img}" width=\"18\" height=\"18\"/></td>';
        var _idx = 0;
        var _betoggle = true;
        $.each(data, function(i, v) {
            if ($.inArray(i, _self.opt.exclude) == -1)
            {
                if (_idx % 3 == 0 && _idx > 0)
                {
                    if (_betoggle)
                    {
                        _arr_out.push('</tr><tr class="odd">');
                        _betoggle = false;
                    }
                    else
                    {
                        _arr_out.push('</tr><tr>');
                        _betoggle = true;
                    }
                }
                _arr_out.push(template.replace("{i}", i).replace("{img}", v["logo_2"]).replace("{v}", v["nick"]));
                _idx++;
            }
        });
        if (_idx == 0) {
            _arr_out.push('<td>' + _self.opt.emptytext + '</td>');
        }
        _arr_out.push('</tr>');
        this.bindEvt(_arr_out.join(""));
    },
    getData:function() {
        var _self = this;
        SII.Ajax(this.opt.url, function(data) {
            _self.fillData(data || {});
        });
    },
    bindEvt:function(htmldata) {
        var _self = this;
        var _j = $(this.opt.selector).html(this.html);
        var _btn = _j.find("span.friend_select_btn");
        var jqFldselectdis_bg = _j.find("div[class^=fldselectdis_bg]");
        var _sbtn = _j.find(":button");
        var jTbody = _j.find("tbody");
        jTbody.html(htmldata);
        _btn.click(function() {
            $(this).next().toggle();
        });
        //自定义触发器
        var trigger = this.opt.extraTrigger;
        if (trigger) {
            $(trigger).click(function(e) {
                jqFldselectdis_bg.show();
                e.stopPropagation();
            });
        }
        _j.click(function(evt) {
            evt.stopPropagation();
        });
        $(document).click(function() {
            jqFldselectdis_bg.hide();
        });
        if (_self.opt.isradio) {
            jTbody.click(function(e) {
                var jTarget = $(e.target);
                if (!jTarget.is("input")) {
                    //仅处理input事件
                    return;
                }
                _self._text = jTarget.parent().text();
                _self._val = jTarget.val();
                _btn.text(_self._text);
            });
        }
        _sbtn.click(function() {
            var fCallback = _self.opt.callback;
            var callbackIsFn = $.isFunction(fCallback);
            if (_self.opt.isradio) {
                jqFldselectdis_bg.hide();
                //确认按钮点击处理函数
                if (callbackIsFn) {
                    fCallback();
                }
                return;
            }
            var _arrname = [];
            var _arrval = [];
            var _ced = _j.find("input:checked");
            _ced.each(function() {
                if (_arrname.length < 3)
                {
                    _arrname.push($(this).parent().text());
                }
                _arrval.push($(this).val());
            });
            _self._val = _arrval.join(",");
            _btn.text(_arrname.join(",") + (_ced.length > 3 ? "..." : ""));
            jqFldselectdis_bg.hide();
            //确认按钮点击处理函数
            if (callbackIsFn) {
                fCallback();
            }
        });
    }
};
SII.friendListMax = function(opt) {
        var _default = {
		url:"/friend/embed/friend/embed?ver=2",
		selector:"#zllfriend",
		position:"right",
		exclude:[99999998,99999999],
		buttontext:"选择你的好友",
		emptytext:"你暂时没有好友",
		emptygroup:"你暂时没有好友分组",
		emptygroupfriends:"该分组没有好友",
		emptyabcfriends:"没有该字母开头的好友",
		isradio:true,
		isTextBox:true,
		textBoxId:null
			
        };
        this.opt = $.extend(_default, opt);
		var _html = [];
        //是否有外部的trigger
        if (!this.opt.extraTrigger) {
         _html.push('<div class="wnfinput"><div class="wnfbtn friendSelectBtn">' + this.opt.buttontext + "</div>");
         _html.push('<div class="wnfwrap hide fldselectdisBg"><div class=\"hd\"><span><select id=\"friendGroup\" class=\"friendGroup\"></select></span>请选择好友:</div><div class="bd"><ul class="friendInfoContainer"></ul></div><div class=\"ft\">');
         _html.push('<div style=\"display: inline; float: left;\"><a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">A</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">B</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">C</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">D</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">E</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">F</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">G</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">H</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">I</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">J</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">K</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">L</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">M</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">N</a>/<BR/><a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">O</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">P</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">Q</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">R</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">S</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">T</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">U</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">V</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">W</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">X</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">Y</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">Z</a></div>');
		 _html.push('<div class="ftrgt"><a style=\"float:right\" href=\"javascript:void(0);\" class=\"btn4 confirmBtn\"><span>确定</span></a></div></div></div>');
		 _html.push("</div>");
		}
		else
		{
		 _html.push('');
		 _html.push('<div class="wnfwrap hide fldselectdisBg"><div class=\"hd\"><span><select id=\"friendGroup\" class=\"friendGroup\"></select></span>请选择好友:</div><div class="bd"><ul class="friendInfoContainer"></ul></div><div class=\"ft\">');
         _html.push('<div  class=\"ftlft lk5\"><a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">A</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">B</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">C</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">D</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">E</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">F</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">G</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">H</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">I</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">J</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">K</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">L</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">M</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">N</a>/<BR/><a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">O</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">P</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">Q</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">R</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">S</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">T</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">U</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">V</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">W</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">X</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">Y</a>/<a class=\"abcIndex\" style=\"padding:0;margin:0px;\" href=\"javascript:void(0);\">Z</a></div>');
		 _html.push('<div class="ftrgt"><a  href=\"javascript:void(0);\" class=\"btn4 confirmBtn\"><span>确定</span></a></div></div></div>');
		 _html.push("");
		}
        
        this.html = _html.join("");
        this._text = "";
        this._val = 0;
		this.arrfriend=[];
		this.displayMode="all";
		this.arrGroup=[];
		this.getData();
    };
SII.friendListMax.prototype = {
        val:function() {
			if(this.opt.isradio)
			{
				if($("#"+this.opt.textBoxId).attr("uid"))
				{
					return $("#"+this.opt.textBoxId).attr("uid");
				}
			}
			var _self=this;
			var nowArr=[];
			if(this.textBox)
			{
				nowArr=this.textBox.getNowArr();
				 for(var i=0;i<this.arrfriend.length;i++)
				{  
					this.arrfriend[i].select=false;
					for(var k=0;k<nowArr.length;k++)
					{
						if(nowArr[k]==_self.arrfriend[i].nick)
						{
							_self.arrfriend[i].select=true;
						}
					}
				}
			}
			var selectedFriends=[];
			for(var i=0;i<this.arrfriend.length;i++)
			{
				if(this.arrfriend[i].select)
				{
					selectedFriends.push(this.arrfriend[i].uid);
				}
			}
			var strFriends=selectedFriends.join(",");
			if(this.opt.isradio)
			{
				return strFriends[0];
			}
            return strFriends;
        },
        text:function() {
            return this._text;
        },
        txt:function() {
            return this._text;
        },
		createTextBox:function()
		{
			//初始化输入框
		    if(this.opt.isTextBox&&this.opt.textBoxId)
			this.textBox=new SII.friendSearchTextBox({
			"hide":this.textBox_hide,
			"isradio":this.opt.isradio,
			"bindFriendItemClick":this.txtBox_bindFriendItemClick,
			"isHave":this.textBox_isHave,
			"getNowTxt":this.textBox_getNowTxt,
			"getNowArr":this.textBox_getNowArr,
			"textBoxId":this.opt.textBoxId,
			"objList":this.arrfriend,
			"init":this.textBox_init,
			"callback":this.textBox_callBack,
			"onKeyUp":this.textBox_onKeyUp,
			"objToView":this.textBox_objToView,
			"viewToObj":this.textBox_viewToObj,
			"getErrorObj":this.textBox_getErrorObj,
			"setObjList":this.textBox_setObjList});
		}
		,
		//手动设置objLIst  
		
		textBox_setObjList:function(obj)
		{
			this.objList=obj;
			
			
		},
		textBox_getNowTxt:function (){
			   var txt=$("#"+this.textBoxId).val();
				
			   if(!txt)
			   {return ""}
			   else{return txt}
		},
		textBox_getNowArr:function(){
		
			
		   var txt=$("#"+this.textBoxId).val();
		   if(!txt)
		   {
		   return ""
		   }
		   else{
			 var rea=txt.split(",");
			 if(this.isradio)
			 {
			//	rea.length=1;
			 }
			 return rea;
		   }
		}
		,
		textBox_isHave:function (key,arr){
			
				for(var i=0;i<arr.length;i++)
				{
					if(key==arr[i])
					return true;
				}
				return false;
			
		}
		,
		//根据objList对象重新生成文本框内容
		textBox_objToView:function(radio)
		{	
		//减少
			if(radio)
			{
				$("#"+this.textBoxId).val("");
			}
			else
			{
			
				var minList=[];
				var nowArr=this.getNowArr();
				
				for(var m=0;m<nowArr.length;m++)
				{
					for(var i=0;i<this.objList.length;i++)
					{   
						if(nowArr[m]==this.objList[i].nick&&!this.objList[i].select)
						{
							minList.push(nowArr[m]);
						}
					}
				
				}
				
				for(var z=0;z<minList.length;z++)
				{
					var nowTxt=this.getNowTxt();
					var idx=nowTxt.indexOf(minList[z]);
					
					if(nowTxt.charAt(idx-1)==",")
					{
						$("#"+this.textBoxId).val(nowTxt.substring(0,idx-1)+nowTxt.substring(idx+minList[z].length,nowTxt.length+1));
					}
					else if(nowTxt.charAt(idx+minList[z].length)==",")
					{
						$("#"+this.textBoxId).val(nowTxt.substring(0,idx)+nowTxt.substring(idx+minList[z].length+1,nowTxt.length+1));
					}
					else
					{
					
					$("#"+this.textBoxId).val(nowTxt.substring(0,idx)+nowTxt.substring(idx+minList[z].length,nowTxt.length+1));
					}
				}
			}
			
			
		
		
			//添加
			var addList=[];
			for(var i=0;i<this.objList.length;i++)
			{	if(!this.objList[i].select)
				continue;
				var temp_nick=this.objList[i].nick;
				if(!this.isHave(temp_nick,this.getNowArr()))
				{
					addList.push(temp_nick);
				}
			}
			var addStr=addList.join(",");
			if(addStr.length)
			{
				
				if(this.getNowTxt()=="")
				{
					$("#"+this.textBoxId).val(addStr);
				}else if(this.getNowTxt().charAt(this.getNowTxt().length-1)==",")
				{
					$("#"+this.textBoxId).val(this.getNowTxt()+addStr);
				
				}
				else
				{
					$("#"+this.textBoxId).val(this.getNowTxt()+","+addStr);
				}
			}
			
			
			
		}
		,
		//根据textbox的文本框字面量，重新生成自己的objList。
		textBox_viewToObj:function()
		{
			
		}
		,
		textBox_hide:function()
		{
		
			
			if(!this.isradio)
			{
				var trueList=[];
				var nowArr=this.getNowArr();
				
				for(var m=0;m<nowArr.length;m++)
				{	var error=true;
					for(var i=0;i<this.objList.length;i++)
					{   
						if(nowArr[m]==this.objList[i].nick)
						{	
							trueList.push(nowArr[m]);
						}
					}
				}
				
				var  rea=trueList.join(",");
			
				//if(rea)
				//$("#"+this.textBoxId).val(rea);
			}

			$("#"+this.listContainerId).hide();
			
			
		},
		//根据当前文本框中的内容获取 非法的好友字符序列
		textBox_getErrorObj:function()
		{
				var errorList=[];
				
				var nowArr=this.getNowArr();
			
				for(var m=0;m<nowArr.length;m++)
				{	var error=true;
					for(var i=0;i<this.objList.length;i++)
					{   
						if(nowArr[m]==this.objList[i].nick)
						{	
							error=false;
						
						}
					}
					if(error)
					{
						errorList.push(nowArr[m]);
					}
				
				}
				var  rea=errorList.join(",");
				 if(rea)
				 {
					return rea;
				 }
				 else
				 {
					return -1;
				 }
				
				
				
		
		}
		,
		//在textbox初始化时执行
		textBox_init:function()
		{ 
		   var _self=this;
		   var txtJ=$("#"+this.textBoxId);
		   txtJ.focus(function(){
		
			   if(!$("#"+_self.textBoxId).val())
			   {
				  var info = document.getElementById("showPanel");
				  info.innerHTML =  "<li class=\"friendItem\">" +  "请输入好友的姓名（支持拼音字母输入）。"+ "</li>";
				  $("#showPanel").removeClass("wnfsellis");
				   _self.show();
				   return;
			   }
			   _self.onKeyUp();
		   });
		}
		,
		
		//textbox 按键时的事件
		textBox_onKeyUp:function(){
			var that=this;
			//验证是否为空
			//var str=that.keyInput.value.toString().replace(/(^\s*)/g,"");
			var inputValue=that.keyInput.value.toString();
			var inputStr=$.trim(inputValue);
			var keystr=inputStr;
		
			if(keystr=="")
			{   
				$("#"+that.textBoxId).attr("uid","0");
				that.hide();
				return;
			}
			var lastIdx=inputStr.lastIndexOf(",");
			if(lastIdx==-1)
			{
				keystr=inputStr;
				
			}
			else
			{
				var keystr=inputStr.substring(lastIdx+1,inputStr.length);
			
			}
			
			if(keystr!="")
			{   
				that.userSearch.parse(keystr);
			}
		
			
		}
		,
		txtBox_bindFriendItemClick:function(){
	     var that=this;
			 $(".friendItem").click(function(){
						var inputValue=$("#"+that.textBoxId).attr("value");
						
						
						var lastIdx=inputValue.lastIndexOf(",");
						if(lastIdx==-1)
						{
							$("#"+that.textBoxId).attr("value",$(this).attr("val"));
						}
						else
						{
							$("#"+that.textBoxId).attr("value",inputValue.substring(0,lastIdx+1)+$(this).attr("val"));
						}
						if(that.isradio)
						{
						
						$("#"+that.textBoxId).attr("uid",$(this).attr("uid"));
						}
					
						
						//that.hide();
			});
			
			$(".friendItem").bind('keyup',function(e) {
				if(e.keyCode==13){ 
					var inputValue=$("#"+that.textBoxId).attr("value");
					var lastIdx=inputValue.lastIndexOf(",");
					if(lastIdx==-1)
					{
							$("#"+that.textBoxId).attr("value",$(this).attr("val"));
					}
					else
					{
						$("#"+that.textBoxId).attr("value",inputValue.substring(0,lastIdx+1)+$(this).attr("val"));
					}
					if(that.isradio)
					{
					
					$("#"+that.textBoxId).attr("uid",$(this).attr("uid"));
					}
					that.hide();
				}
			});
		}	
		
		,
		//textbox的回调函数。
		textBox_callBack:function(resArr,friendSearchTextBoxObj){
			
			
			var info = document.getElementById("showPanel");
			info.innerHTML = "";
			var resStr = "";

			
			if(resArr.length>8)
			{	
				$("#showPanel").addClass("wnfsellis");
				friendSearchTextBoxObj.isToLong=true;
			
			}
			else
			{
				$("#showPanel").removeClass("wnfsellis");
			}
			
			for(var i = 0, len = resArr.length; i <len; i++){
				
				resStr +=    "<li class=\"friendItem\" uid=\""+ resArr[i].u+"\" val=\""+resArr[i].n +"\"><a class=\"item\" idx=\""+i+"\" href=\"javascript:void(0)\" uid=\""+ resArr[i].u+"\" val=\""+resArr[i].n +"\">" +   resArr[i].n + "<img width=\"18\" height=\"18\" src=\""+resArr[i].logo_2+"\"/></a></li>";
			}
			if(resStr=="")
			{
				resStr ="<li class=\"friendItem\">" +   "姓名不在好友列表哦，请重新输入。" + "</li>";
			}
			info.innerHTML = resStr;
			friendSearchTextBoxObj.show();
			friendSearchTextBoxObj.bindFriendItemClick();
			friendSearchTextBoxObj.bindSelectItem();

		}
		,
		updateData:function(particularFriends,type){
		
			var friends=particularFriends;
			var _self = this;
			 var _arr_out = [];
			var _idx = 0;
			var template = '<input {checked} type="' + (this.opt.isradio ? 'radio' : 'checkbox') + '" value="{i}" id="{i}"  name="users_fri"/><label for="{i}">{v}</label><img src="{img}" width=\"18\" height=\"18\"/>';
			var _betoggle = true;
			$.each(friends, function(i, v) {
				if ($.inArray(i, _self.opt.exclude) == -1)
				{
					if (_idx++ % 3 == 0) {
						_betoggle = !_betoggle;
					}
					_arr_out.push(_betoggle ? '<li class="specil">' : '<li>');
					_arr_out.push(template.replace("{i}", v["uid"]).replace("{i}", v["uid"]).replace("{i}", v["uid"]).replace("{v}", v["nick"]).replace("{img}", v["logo_2"]).replace("{checked}",v["select"]?'checked=\"true\"': ' ') + "</li>");
				}
			});
			if (_idx == 0) {
				if(type=="group")
				{
					_arr_out.push(_self.opt.emptygroupfriends);
				}
				else if(type=="abc")
				{
					_arr_out.push(_self.opt.emptyabcfriends);
				}
				else
				{
					_arr_out.push(_self.opt.emptytypetext);
				}
				
			}
			this.bindUpdateEvt(_arr_out.join(""));
		
		},
        fillData:function() {
			
			var friends=this.arrfriend;
			var groups=this.arrGroup;
			
			
		
            var _arr_out = [];
			var _group_out=[];
            var _self = this;
			//初始化 好友分组
			var groupTemplate='<option value ="{groupid}">{groupname}</option>';
			if(groups.length)
			{
				_group_out.push('<option value ="all">全部好友</option>');
				$.each(groups,function(i,v){
			
					_group_out.push(groupTemplate.replace("{groupid}",v["groupid"]).replace("{groupname}",v["groupname"]));
			
				});
			}
			else
			{
				_group_out.push(_self.opt.emptygroup);
			}
			var template = '<input {checked} type="' + (this.opt.isradio ? 'radio' : 'checkbox') + '" value="{i}" id="{i}"  name="users_fri"/><label for="{i}">{v}</label><img src="{img}" width=\"18\" height=\"18\"/>';
            var _idx = 0;
            var _betoggle = true;
            $.each(friends, function(i, v) {
		
                if ($.inArray(i, _self.opt.exclude) == -1)
                {
                    if (_idx++ % 3 == 0) {
                        _betoggle = !_betoggle;
                    }
                    _arr_out.push(_betoggle ? '<li class="specil">' : '<li>');
                    _arr_out.push(template.replace("{i}", v["uid"]).replace("{i}", v["uid"]).replace("{i}", v["uid"]).replace("{v}", v["nick"]).replace("{img}", v["logo_2"]).replace("{checked}",v["select"]?'checked=\"true\"': ' ') + "</li>");
                }
            });
            if (_idx == 0) {
                _arr_out.push(_self.opt.emptytext);
            }
            this.bindEvt(_arr_out.join(""),_group_out.join(""));
        },
		setArrGroup:function(arr){
			this.arrGroup=arr;
		},
		setArrfriend:function(obj,clear)
		{
			this.arrfriend=[];
			for(var i in obj)
			{	
				if(clear)
				{
					obj[i].select=false;
				}
				this.arrfriend.push(obj[i]);
			}
			
		
		}
		,
        getData:function() {
            var _self = this;
				this.createTextBox();
            SII.Ajax(this.opt.url, function(data) {
				if(data.result==0)
				{
					SII.Err(data.msg||"系统繁忙，请刷新网页！");
				}
				_self.setArrfriend(data.friend || {},true);
			    _self.setArrGroup(data.group || {});
                _self.fillData();
            });
        },
		updateByAbc:function(abcChar){
			var _self=this;
			var thisGroupList=[];
			for(var i=0;i<_self.arrfriend.length;i++)
			{
				var nick_py=_self.arrfriend[i].nick_py.charAt(0);
				
				if(nick_py==abcChar)
				thisGroupList.push(_self.arrfriend[i]);
			}
			_self.updateData(thisGroupList,"abc");
			
		}
		,
		updateByGroup:function(groupId){
			var _self=this;
			var thisGroupList=[];
			if(groupId=="all")
			{
			thisGroupList=_self.arrfriend;
			}
			else
			{
				for(var i=0;i<_self.arrfriend.length;i++)
				{
					if(_self.arrfriend[i].gid==groupId)
					thisGroupList.push(_self.arrfriend[i]);
				}
			
			}
			
			_self.updateData(thisGroupList,"group");
			
			
			
		
		},
		onCheckboxChange:function(checkboxId,isChecked){
		var _self=this;
			for(var i=0;i<_self.arrfriend.length;i++)
				{
					if(_self.arrfriend[i].uid==checkboxId)
					_self.arrfriend[i].select=isChecked;
				}
		}
		,
		bindItemEvt:function(){
		
			var _self = this;
            var _j = $(this.opt.selector);
       
			var jInput=_j.find("input:"+(this.opt.isradio ? 'radio' : 'checkbox'));
			jInput.click(function(){
			
				var isChecked=this.checked;
				var checkboxId=$(this).attr("value");
				if(_self.opt.isradio){
					_self.onRadioChange(checkboxId,true);
				}
				else{
				
					_self.onCheckboxChange(checkboxId,isChecked);
				}
				if(_self.textBox)
				{
				
					
					_self.textBox.setObjList(_self.arrfriend);
					
					_self.textBox.objToView(_self.opt.isradio);
				}
				
			
			});
		
		}
		,
		onRadioChange:function(checkboxId,isChecked)
		{
			
			var _self=this;
		
			$("#"+_self.opt.textBoxId).attr("uid",checkboxId);
			for(var i=0;i<_self.arrfriend.length;i++)
			{
					if(_self.arrfriend[i].uid==checkboxId){
					
						_self.arrfriend[i].select=isChecked;
					
					}
					else{
					
						_self.arrfriend[i].select=!isChecked;
					
					}
			}
		
		
		}
		,
		bindUpdateEvt:function(htmldata){
	
			var _self = this;
            var _j = $(this.opt.selector);
            var _btn = _j.find(".friendSelectBtn");
            var jqFldselectdis_bg = _j.find(".fldselectdisBg");
            var _sbtn = _j.find(".confirmBtn");
            var jTbody = _j.find(".friendInfoContainer");
			var jGroup=_j.find(".friendGroup");
			jTbody.html(htmldata);
			_self.bindItemEvt();
		
		},
		updatafromTextBox:function()
		{
			var _self = this;
            var _j = $(this.opt.selector);
			var nowArr=[];
			if(this.textBox)
			{
			 nowArr=this.textBox.getNowArr();
			}

			for(var i=0;i<this.arrfriend.length;i++)
			{  
				this.arrfriend[i].select=false;
				for(var k=0;k<nowArr.length;k++)
				{
					if(nowArr[k]==_self.arrfriend[i].nick)
					{
						_self.arrfriend[i].select=true;
					}
				}
			}
			_j.find("input:checkbox").each(function(){
			
				for(var i=0;i<_self.arrfriend.length;i++)
				{
					if(_self.arrfriend[i].uid==this.value)
					{
						if(_self.arrfriend[i].select)
						{
						  this.checked=true;
						}
						else
						{
							this.checked=false;
						}
					}
				}
				
			
			});
			_j.find("input:radio").each(function(){
			
				for(var i=0;i<_self.arrfriend.length;i++)
				{
					if(_self.arrfriend[i].uid==this.value)
					{
						if(_self.arrfriend[i].select)
						{
						  this.checked=true;
						}
						else
						{
							this.checked=false;
						}
					}
				}
				
			
			});
			
			
			
		
		},
        bindEvt:function(htmldata,groupdata) {

            var _self = this;
            var _j = $(this.opt.selector).html(this.html);
            var _btn = _j.find(".friendSelectBtn");
            var jqFldselectdis_bg = _j.find(".fldselectdisBg");
            var _sbtn = _j.find(".confirmBtn");
            var jTbody = _j.find(".friendInfoContainer");
			var jGroup=_j.find(".friendGroup");
			var jAbc=_j.find(".abcIndex");
            jTbody.html(htmldata);
			jGroup.html(groupdata);
			
			_self.bindItemEvt();
			
			jAbc.click(function(){
				var abcChar=$(this).text(). toLowerCase();
			
				_self.updateByAbc(abcChar);
			
			});
			jGroup.change(function(){
			
				var groupId=this.value;
				_self.updateByGroup(groupId);
			});
			_btn.click(function() {
                $(this).next().toggle();
            });
            //自定义触发器
            var trigger = this.opt.extraTrigger;
            if (trigger) {
                $(trigger).click(function(e) {
			if(_self.textBox)
			{
				_self.updatafromTextBox();
			_self.textBox.hide();
			}
			//bindEnter
			//$(":radio").unbind('keyup');
			$(":radio").bind('keyup',function(event) {
				if(event.keyCode==13){
					var fCallback = _self.opt.callback;
					var callbackIsFn = $.isFunction(fCallback);
				   	jqFldselectdis_bg.hide();
					//确认按钮点击处理函数
					if (callbackIsFn) {
						fCallback();
					}
					/*$("body").keyup(function(){
						$('input.SII_Box_Control_Item').click();
					});*/
					return false;
					return;
				}     
			});
			jqFldselectdis_bg.show();
			e.stopPropagation();
                });						
            }
            _j.click(function(evt) {
                evt.stopPropagation();
            });
            $(document).click(function() {
                jqFldselectdis_bg.hide();
            });
            /*if (_self.opt.isradio) {
                jTbody.click(function(e) {
                    var jTarget = $(e.target);
                    if (!jTarget.is("input")) {
                        //仅处理input事件
                        return;
                    }
                    _self._text = jTarget.next().text();
                    _self._val = jTarget.val();
                    _btn.text(_self._text);
                });
            }*/
            _sbtn.click(function() {
                var fCallback = _self.opt.callback;
                var callbackIsFn = $.isFunction(fCallback);
               
                    jqFldselectdis_bg.hide();
                    //确认按钮点击处理函数
                    if (callbackIsFn) {
                        fCallback();
                    }
                    return;
                
               /* var _arrname = [];
                var _arrval = [];
                var _ced = _j.find("input:checked");
                _ced.each(function() {
                    if (_arrname.length < 3)
                    {
                        _arrname.push($(this).next().text());
                    }
                    _arrval.push($(this).val());
                });
                _self._val = _arrval.join(",");
                _btn.text(_arrname.join(",") + (_ced.length > 3 ? "..." : ""));
                jqFldselectdis_bg.hide();
                //确认按钮点击处理函数
                if (callbackIsFn) {
                    fCallback();
                }
				*/
            });
        }
    };
SII.feedBack=function(){
    SII.Ajax("/feedback/layer",function(data){
        //隐藏app iframe
        SII.toggleAppIframe("hidden");
             if(data.result==1)
             {
                 var _box=SII.Box({
                     title:"意见反馈",
                     content:data.html.body,
                     onHide:function() {
                         SII.toggleAppIframe("visible");
                     },
                     control:[{color:"$green",text:"确定",handle:function(){
                         if($.trim(_box.find("textarea").val()).length>0)
                         {
                                 var _selectval=_box.find("select").val();
                                 var _textareaval=_box.find("textarea").val();
                                 SII.Ajax("/feedback/submit",{type:_selectval,content:_textareaval},function(data){
                                       if(data.result ==1)
                                       {
                                            $.jqm.closeAll();
                                            SII.Msg("提交成功，谢谢你的帮助！");
                                       }
                                       else
                                       {
                                           SII.Err(data.msg||"操作失败！");
                                       }
                                 },"post");
                         }
                         else
                         {
                            _box.errorTip("请输入内容！");
                         }
                     }},{color:"white",text:"取消"}]
                 });
                SII.limitTAInput(_box.find("textarea").blur(), 500,function (iLeftChar) {
			if (iLeftChar > 0) {
				var showTips;
				if ($.trim(_box.find("textarea").val()).length != 0) {
					showTips = "还可以输入" + iLeftChar + "个字";
				} else {
					showTips = "还可以输入500个字";
				}
				$(".charsLeft_1").text(showTips).removeClass("special_title");
			} else {
				$(".charsLeft_1").text("你已经不能再输入了").addClass("special_title");
			}
		});
             }
            else
             {
                 SII.Err({
                     html:data.msg || "操作失败！",
                     onHide:function() {
                         SII.toggleAppIframe("visible");
                     }
                 });
             }
    });
};


/*
 * @method Shop.Api.showReward : 显示奖励乐豆效果
 *
 * @param count{String} : 图片名称
 * @return 无返回值 */
SII.showReward=function(count){
  if($("#SII_Reward").length==0)
	{
		return;
	}
  // var htmlStr='<div class="adpicrb" id="SII_Reward" ><img src=\"http:\/\/static.zhongle.com\/images\/imagesv2\/public\/deskpic_01.gif\"/></div>';
   var htmlStr="<div class=\"adpicrb\" id=\"SII_Reward\"><div id=\"rewardswfobjectcontainer\">"+
   "<a href=\"http://www.adobe.com/go/getflashplayer\">"+
	"<img src=\""+SII.Static_url+"images/html/get_flash_player.gif\" alt=\"Get Adobe Flash player\" />"+
   "</a>"+
   "</div><script>swfobject.embedSWF(\"http://static.zhongle.com/images/imagesv2/public/deskpic.swf\", \"rewardswfobjectcontainer\", \"180\", \"180\", \"9.0.0\", \"\", null, {wmode: \'transparent\',allowscriptaccess:\'always\'});</script></div>";
   var docReward=$('#SII_Reward');
/* 	if ($('#SII_Reward').length == 0) {
		$('<div style class="adpicrb" id="SII_Reward" style="background-color:red"><img src=\"http:\/\/static.zhongle.com\/images\/imagesv2\/public\/deskpic.gif\"/></div>').prependTo($("body")).jqm().jqmShow();
	} */
	//$(htmlStr).prependTo($("body")).jqm({modal:false}).jqmShow();
SII.Overlay({
					mask:false,
					type:'html',
					obj:$('#SII_Reward'),
					overlayHtml:htmlStr
				});
				
				
	function removeRewardShow(){

		if ($('#SII_Reward').length != 0) {
			//$('#SII_Reward').jqm().jqmHide();
			$('#SII_Reward').remove();
		}
	};
	setTimeout(removeRewardShow,4000);
};

/**
 * 操作提示(自动消失)
 * @param options {Object} 配置参数：

 * {
 *      infoKey:{String} 提示图片或flash key，默认为："common",
 *      toReload:{Boolean} 是否刷新（默认不刷新）,
 *      handle:{Function} 回调函数,
 *      infoMsg:{String} 提示信息，默认为："操作成功！"
 * }
 */

SII.Info = function(options, toReload, handle, infoMsg) {
    var infoKey = options;
    if (options && typeof options !== "string") {
        //向前兼容
        infoKey = options.infoKey;
        toReload = options.toReload;
        handle = options.handle;
        infoMsg = options.infoMsg;
    }
	if (SII.Info.using)return;
	if($('.fix-loading:not(:hidden)').length > 0){
		$('.fix-loading:not(:hidden)').hide();
	}
	SII.Info.using = true;
	if ($('#SII_Info').length == 0) {
		$('<div class="fix-loading" id="SII_Info"><div id="SII_InfoContainer"></div></div>').prependTo($("body"));
	}
    //获取配置信息
    var oInfo = SII.Info.infoConfig[infoKey || "common"];
    //设置样式属性

	var jSII_Info = $("#SII_Info").css({
		"margin-left": -oInfo.width / 2
	//        top:oInfo.top,
	//        left:oInfo.left
	}).addClass(oInfo.className).show();
	
	var sSrc = SII.Static_url + oInfo.src;
	if (oInfo.type == "image") {
		//图片
		jSII_Info.html("<img src='" + sSrc + "'/>");
	} else {
        //flash。添加flash容器
        jSII_Info.html("<div id='SII_InfoContainer'></div>");
        swfobject.embedSWF(sSrc, "SII_InfoContainer", oInfo.width, oInfo.height, "9.0.0", "", {infoMsg:infoMsg || "操作成功！"}, {wmode:'transparent',allowscriptaccess:'always'});
    }
	setTimeout(function() {
		jSII_Info.hide();
		//保证using状态的重置
		SII.Info.using = false;
		if ($.isFunction(handle)) {
			handle();
		}
		if (toReload) {
			location.reload();
		}
	}, oInfo.ms);
};
//提示信息图片配置
SII.Info.infoConfig = {
    //通用提示
    common:{
        src:"flash/avatar/comp/noticeMovie.swf",
        width:500,
        height:80,
        type:"flash",
        ms:2000,
        top:"25%",
        left:"50%"
    }
};
/**
 * ajax请求精简版

 * @param options {Object} 配置参数：

 * {
 *      url:{String} The URL to request,
 *      data:{Object/String} Data to be sent to the server,
 *      success:{Function} A function to be called if the request succeeds,
 *      error:{Function} A function to be called if the request fails,
 *      type:{String} The type of request to make ("POST" or "GET"), default is "GET",
 *      hideLoading:{Boolean} 是否隐藏loading提示，默认不隐藏
 * }
 */
SII.ajax_compact = function(options) {
    SII.Ajax(options.url, options.data, function(data) {
        if (data.result == 1 && options.success) {
            //操作成功
            options.success(data);
            return;
        }
        //操作失败
        SII.Err(data.msg, function() {
            if (options.error) {
                options.error(data);
            }
        });
    }, options.type, options.hideLoading);
};
/**
 * 刷新名片
 */
SII.refreshNameCard = function() {
    SII.getFlashMovieObject("logoswfobjectcontainer").refresh();
};

/**
*	SII.dyLoader 动态加载Javascript文件
* 	@param js{string} : js文件的完整路径

* 	@param id{string} : 此Javascript文件的id
* 	@param callback{function} : 此Javascript文件载入后的cb
* 	@return 无返回值 
* 	@example SII.dyLoader("http://static.zhongle.com/js/Guide.js","guide",function(){alert(Guide.AUTHOR);});
*/
		
SII.dyLoader=function(js,id,callback)
{
	var scriptId = document.getElementById(id);
	if (scriptId)
	{
		if (callback)
			callback();
	}
	else{
		var script = document.createElement("script");
		script.id = id;
		script.type = "text/javascript";
		
		script.onload = script.onreadystatechange = function()
		{
		    if (script.readyState && script.readyState != 'loaded' && script.readyState != 'complete')
		    {
			return;
		    }
		    script.onreadystatechange = script.onload = null;
		    if (callback)
			callback();
		};
		script.src = js;
		var head = document.getElementsByTagName('head').item(0);
		head.appendChild (script);
	}
};

/**
*	SII.staticLoader  动态加载Javascript文件
* 	@param js{string} : js文件的完整路径

* 	@return 无返回值 
*/
SII.staticLoader = function(js){
	//var js = SII.Static_url+'js/'+filename+'.js?published_js_ver='+SII.published_ver;
	document.writeln("<scri"+"pt src='"+js+"' type='text/javascript'></sc"+"ript>");
};
/**
 * 切换app iframe的显示状态
 * @param visibility {String} 显示状态
 */
SII.toggleAppIframe = function(visibility) {
    $("#app_show").css("visibility", visibility);
};

/**
	保证页面foot在底部
*/
SII.fixFoot =fixFoot = function(){
	//jsdebug_log('fixfoot');
	var exclude=[];
	var togoout=false;
	$.each(exclude,function(i,d){
		if(window.location.href.toString().indexOf(d)>-1)togoout=true;
	});
	if(togoout)
	{
		return;
	}
	var h_other=0;
	var h_w=$(window).height();
		
	$("body>div:not(#SII_Loading,#openImTool,#SII_Tip,#step_page,#bd,#main,#SII_BOX,#SII_Info,.clear,.jqmWindowNS,.jqmWindow,.jqmOverlay,.skipFixFoot)").each(function() {
		h_other += parseInt($(this).height());
		//jsdebug_log($(this).attr('id')+' '+$(this).attr('class')+' height==='+$(this).height());
	});
	//padding
	$("body>div:not(#SII_Loading,#openImTool,#SII_Tip,#SII_BOX,#SII_Info,.clear,.jqmWindowNS,.jqmWindow,.jqmOverlay,.skipFixFoot)").each(function() {
		h_other += parseInt($(this).css("paddingTop"));
		h_other += parseInt($(this).css("paddingBottom"));
		//jsdebug_log($(this).attr('id')+' '+$(this).attr('class')+' padding==='+($(this).css("paddingTop")+$(this).css("paddingBottom")));
	});
	/*if (!$.browser.msie || $.browser.version != "6.0")  {
		alert('plus 8');
		h_other =h_other + 8;
	}*/
	var stylestr = ".min{min-height:" + (h_w - h_other) + "px;_height:" + (h_w - h_other) + "px;}";
	SII.addStyle("test1test1",stylestr);
	$("#step_page,#bd,#main").addClass("min");
    //校准document的scrollTop属性
    SII.fixScrollTop();
};
/**
 * 校准document的scrollTop属性
 */
SII.fixScrollTop = function() {
    var nScrollTop = $(document).scrollTop();
    var nFix = nScrollTop + $(window).height() - $(document.body).height();
    if (nFix > 0) {
        $(document).scrollTop(nScrollTop - nFix);
    }
};

SII.setFlashVisibility = function(vis){
	$('object').each(function(){
		if($(this).find("param[name='wmode']").attr('value') != 'transparent'){
			$(this).css('visibility',vis);
		}
	});
};
/**
 * 初始化页脚
 */
SII.initFooter = function() {
	SII.fixFoot();
	$(window).resize(SII.fixFoot);
	SII.bnidFooterLink();
};
/**
 * 页脚链接事件
 */
SII.bnidFooterLink = function() {
	$(".footerLink").click(function() {
		top.location.href = $(this).attr("href");
		return false;
	});
};

/**
* SII.Overlay 新一代Box，基于jquery Tools Overlay
* 选择了overlay Element,即触发浮层显示事件
* 选择了Trigger Element，即绑定
* 如果为Trigger Element，需指定rel="#浮层ID"
* ToDo :mask
*/
SII.Overlay = function(opt){
	SII.dyLoader(SII.Static_url+'js/jquery.tools.overlay.mask.min.js','overlay',function(){
	//SII.dyLoader('/front_test/lib/jquery.tools.overlay.js','overlay',function(){
		var _mask = opt.mask;
		var _html = opt.overlayHtml;
		var _msg = opt.msg;
		var _obj = opt.obj;
		var _type = opt.type;
		var _closer = opt.closer;
		var _cbOnOpen = opt.callBackOnOpen;
		/*remove old overlay*/
		if($('#overlay_default').length > 0 && $('#overlay_default').css('display') == 'none'){
			$('#overlay_default').remove();
		}
		//$('#overlay_default').remove();
		/*msg*/
		if(_type == 'msg'){
			//var _id = $(_obj).attr('rel').replace('#','');
			if($('#overlay_default').length ==0)
				$("<div class='simple_overlay' id='overlay_default'>"+_msg+"</div>").prependTo($('body'));
			_obj = $('#overlay_default');
		}
		/* 自定义 */
		else{
			if($(_obj).attr('rel') && _html.length == 0){//当设定了触发器，但是没有设定box模板时,错误
				SII.Err('请为触发器设定浮层模板。SII.Overlay');
				return;
			}
			else if($(_obj).attr('rel') && _html.length == 0){//没有设定box模板，并没有触发器，使用默认浮层
				SII.Err('请设定浮层模板。SII.Overlay');
				return;
			}
			else{
				//if(_html.indexOf('simple_overlay') == -1)
				//_html = "<div class=\"simple_overlay\" id=\"overlay_default\">"+_html+"</div>";
					$(_html).prependTo($('body'));
					if(!_obj)
						_obj = $('#overlay_default');
			}
			/*if(!opt.closer){ //没有指定closer
				_closer = '#overlay_defalt .close';
				alert($(_closer).length);
			}*/	
		}
		if(opt.mask == true){
			$(_obj).overlay({// custom top position
				top:'center',
				close:_closer || '.close',
				//left:'center',
				// some mask tweaks suitable for facebox-looking dialogs
				mask: {
					// you might also consider a "transparent" color for the mask
					color: '#666',
					// load mask a little faster
					loadSpeed: 200,
					// very transparent
					opacity: 0.5
				},
				// disable this for modal dialog-type of overlays
				closeOnClick: false,
				// load it immediately after the construction
				load: true,
				onLoad : function(){
					if ($.browser.msie && $.browser.version == "6.0") {
						$('select').css('visibility','hidden');
					}
					SII.setFlashVisibility('hidden');
				},
				onClose : function(){
					if ($.browser.msie && $.browser.version == "6.0") {
						$('select').css('visibility','visible');
					}
					SII.setFlashVisibility('visible');
				}
			});
		}
		else{
			if(typeof($(_obj).overlay) == 'function')
				$(_obj).overlay({load: true});
		}
		/* call back functions */
		if(typeof(_cbOnOpen) == 'function')
			_cbOnOpen();
	});
};
SII.Overlay.close = function(){
		if($('#overlay_default').length > 0){
			$('#overlay_default').overlay().close();
			$('#overlay_default').remove();
		}
};

/**
* SII for Flash API
*/
SII.jsAPI = SII.jsAPI || {};
SII.jsAPI.Msg = function(html){
	SII.Msg(html);
	return false;
	return;
};
/**
 * 刷新头像
 */
SII.refreshLogo = function() {
	var jqUserLogo = $("#userLogo");
	jqUserLogo.attr("src", jqUserLogo.attr("src") + "&n=" + Math.random());
};
