/*
 * Copyright (C) 2004-2009 Giant Interective Group, Inc. All rights reserved.
 * 版权所有 2004-2009 上海巨人网络
 *
 * release 2.0.7.beta, 2009-11-16 20:58:13 by Fuchun
 * Depend on jQuery 1.3.x
 * Depend on giant ui 2.0.x
 */
(function(d){giant.extend(giant.ui,{popupTemplates:{confirm:"ui-confirm",msgbox:"ui-msgbox",dialog:"ui-dialog",prompt:"ui-prompt"},getPopupTemplate:function(m){var j=new StringBuilder();j.append('<div id="').append(m.id).append('" class="ui-popup-warpper" ');j.append('style="width:').append(m.width).append('px;display:none;">\n');j.append('<table cellpadding="0" border="0" class="wp100">');j.append("<tbody>\n<tr>\n");j.append('  <td class="top-left"></td><td class="top"></td><td class="top-right"></td>');j.append("</tr>\n");j.append('<tr>\n<td class="middle-left"></td>\n');j.append('  <td class="middle">\n');j.append('    <div class="ui-popup-title"><h2>').append(m.title).append("</h2>");j.append('      <a class="ui-popup-close" href="javascript:void(0)" onclick="return false" ');j.append('id="').append(m.btnCloseId).append('"></a>\n');j.append("    </div>");j.append('    <div class="ui-popup-content" id="').append(m.contentId).append('">\n');j.append(getPopupContentTemplate(m.contentTemp,m.content));j.append("    </div>\n");var l=m.confirm,k=m.cancel;switch(m.template){case"confirm":j.append('    <div class="ui-popup-ext">\n');j.append('      <input type="button" id="').append(m.btnConfirmId).append('" value="');j.append(l.text).append('" class="').append(l.cssClass).append('" />&nbsp;&nbsp;\n');j.append('      <input type="button" id="').append(m.btnCancelId).append('" value="');j.append(k.text).append('" class="').append(k.cssClass).append('" />');j.append("    </div>\n");break;case"msgbox":j.append('    <div class="ui-popup-ext">\n');j.append('      <input type="button" id="').append(l.id).append('" value="');j.append(l.text).append('" class="').append(l.cssClass).append('" />&nbsp;&nbsp;\n');j.append("    </div>\n");break}j.append("  </td>\n");j.append('  <td class="middle-right"></td>');j.append("</tr>\n<tr>\n");j.append('<td class="bottom-left"></td><td class="bottom"></td><td class="bottom-right"></td>');j.append("</tr>\n</tbody>\n</table>\n");j.append("</div>\n");return j.toString()}});window.getPopupContentTemplate=function(j,k){switch(j){case"confirm":case"msgbox":return'<div class="msg-box"><div class="ico-b-caution">'+(k||"")+"</div></div>";default:return(k||"")}};giant.ui.JControl=function(){this.getId=function(){return this._id||(this._id="ui_ctrl_"+(++gui.AUTO_START_ID))}};giant.ui.JInput=function(j){j=Object.extend({wrap:"",name:"",value:"",type:"button",cssClass:"ui-input",original:true},j,true);this._init(j)};giant.ui.JInput.prototype=new giant.ui.JControl();Object.extend(giant.ui.JInput.prototype,{_init:function(k){var l=this;this._jinput=d(gui.parseId(k.id));if(this._jinput.size()>0){if(k.name&&k.name.trim()!=""){this._jinput.attr("name",k.name)}if(k.cssClass&&k.cssClass.trim()!=""){this._jinput.attr("class",k.cssClass)}if(typeof k.value==="string"){this._jinput.val(k.value)}}else{var j=d(gui.parseId(k.wrap));if(j.size()==0){throw new Error("The control id property not found or undefined.")}if(k.original){j.append(gui.buildInput({id:l.getId(),type:k.type,value:k.value,name:k.name,cssClass:k.cssClass}));this._jinput=d(gui.parseId(l.getId()))}}this._bindEvents(k)},_bindEvents:function(j){var k=this;d.each(gui.events,function(m,n){var l=j[n+"_data"];if(d.isFunction(j[n])){if(l){k._jinput.unbind(n).bind(n,l,j[n])}else{k._jinput.unbind(n).bind(n,j[n])}}})},bind:function(j,l,k){if(this._jinput.size()>0){if(j!=""){if(d.isFunction(l)){k=l;l={}}if(d.isFunction(k)){l=l||{}}this._jinput.unbind(j).bind(j,l,k)}}return this},unbind:function(j){if(this._jinput.size()>0){if(arguments.length==0){this._jinput.unbind()}else{if(j&&j!=""){this._jinput.unbind(j)}else{if(d.isArray(j)){d.each(j,function(l,k){this._jinput.unbind(k)})}}}}return this},getValue:function(){return this._jinput.val()},setValue:function(j){this._jinput.val(j)},setAttr:function(k,j){this._jinput.attr(k,j)},getAttr:function(j){return this._jinput.attr(j)},setCssClass:function(j){this._jinput.attr("class",j)},getCssClass:function(){return this._jinput.attr("class")},getJInput:function(){return this._jinput}},true);giant.ui.ComboBox=function(j){this._init(j)};giant.ui.ComboBox.prototype={_init:function(k){var m=giant.extend({container:"",id:"#cmb_select",name:"selectProperty",cssClass:""},k,true);this._jcmb=d(gui.parseId(m.id));if(this._jcmb.length===0){if(m.container===""){throw new Error("new giant.ui.ComboBox is not direct container. "+m.id+" is not found.")}else{this._jcmb=d('<select id="'+m.id+'" name="'+m.name+'"></select>');this._jcmb.appendTo(m.container)}if(m.cssClass!==""){this._jcmb.addClass(m.cssClass)}}this.cmb=this._jcmb[0];for(var l=0,j=this.cmb.length;l<j;l++){if(d.isFunction(m[gui.events[l]])){this.addEvent(gui.events[l],m[gui.events[l]])}}return this},value:function(){if(this._jcmb!=null&&this._jcmb.length>0){return this._jcmb.val()}return""},addGroup:function(l){if(this.cmb!=null){if(this.cmb.tagName&&this.cmb.tagName.toLowerCase()=="select"){var k=this;var j=d("<optgroup></optgroup>");j.attr("label",l.label);if(l.id){j.attr("id",l.id)}j.appendTo(this._jcmb);return j[0]}}return false},addItem:function(m,l,n){if(d.isFunction(l)){n=l;l=null}var k;var j=new StringBuilder();if(d.isArray(m)){for(k in m){if(giant.isString(m[k])){j.append('<option value="').append(m[k]).append('">');j.append(m[k]).append("</option>")}else{if(m[k].text&&!m[k].text.isEmpty()&&m[k].value){j.append('<option value="').append(m[k].value).append('">');j.append(m[k].text).append("</option>")}}}}else{if(m.text&&!m.text.isEmpty()&&m.value){j.append('<option value="').append(m.value).append('">');j.append(m.text).append("</option>")}else{if(giant.isString(m)){j.append('<option value="').append(m).append('">');j.append(m).append("</option>")}}}if(l==null){this._jcmb.append(j.toString());if(d.isFunction(n)){n.call(this._jcmb[0])}}else{l.append(j.toString());if(d.isFunction(n)){n.call(l[0])}}},remove:function(l,m){if(d.isFunction(l)){m=l;l=null}var j=this._jcmb[0].length,k;if(l==null){this._jcmb[0].length=0}else{if(giant.isString(l)){for(k=0;k<j;k++){if(this.cmb.options[k].text===l||this.cmb.options[k].value===l){this.cmb.remove(k)}}}else{if(giant.isNumber(l)){if(l>=0&&l<j){this.cmb.remove(l)}}else{if(l.text&&!l.value){for(k=0;k<j;k++){if(this.cmb.options[k].text==l.text){this.cmb.remove(k)}}}else{if(l.value&&!l.text){for(k=0;k<j;k++){if(this.cmb.options[k].value==l.value){this.cmb.remove(k)}}}else{for(k=0;k<j;k++){if(this.cmb.options[k].value==l.value&&this.cmb.options[k].text==l.text){this.cmb.remove(k)}}}}}}}if(d.isFunction(m)){m.call(this.cmb)}},select:function(q,r){var p=this;var j=this.cmb.length,n=0,l,m;var k=function(s,o){if(msie6){setTimeout(function(){s.options[o].selected=true},10)}else{s.options[o].selected=true}l=o;m={text:s.options[o].text,value:s.options[o].value}};if(giant.isString(q)||giant.isNumber(q)){for(n=j;--n>=0;){if(this.cmb.options[n].value==q||this.cmb.options[n].text==q){k(this.cmb,n);break}}}else{if(q.text&&!q.value){for(n=j;--n>=0;){if(this.cmb.options[n].text==q.text){k(this.cmb,n);break}}}else{if(!q.text&&q.value){for(n=j;--n>=0;){if(this.cmb.options[n].value==q.value){k(this.cmb,n);break}}}else{for(n=j;--n>=0;){if(this.cmb.options[n].text==q.text&&this.cmb.options[n].value==q.value){k(this.cmb,n);break}}}}}if(d.isFunction(r)){r.apply(this.cmb,[l,m])}},length:function(){return this.cmb.length?this.cmb.length:0},getJComboBox:function(){return this._jcmb},getComboBox:function(){return this.cmb},addEvent:function(j,k){this._jcmb.bind(j,k)},removeEvent:function(j){this._jcmb.unbind(j)}};var g={};d.combobox=function(j){if(giant.isUndef(g[j.id])){g[j.id]=new giant.ui.ComboBox(j)}return g[j.id]._init(j)};var h={title:"【系统确认信息】",content:"",confirm:{text:"确 定",cssClass:"btn-small btn-01",click:null,args:[]},cancel:{text:"取 消",cssClass:"btn-small btn-02",click:null,args:[]},width:300,gloomy:true,system:false};var a=null;giant.ui.Confirm=function(j){this._firstShow=true;this._init(h,j)};giant.ui.Confirm.prototype={_init:function(l,k){k=this._initParams(l,k);if(k.system){var j=confirm(k.content);if(j){if(d.isFunction(k.confirm.click)){k.confirm.click.apply(this,k.confirm.args)}}else{if(d.isFunction(configs.cancel.click)){k.cancel.click.apply(this,k.cancel.args)}}}else{if(d.isFunction(k.before)){k.before.call(this,k)}this._buildConfirm(k)}},_initParams:function(k,j){j=Object.extend(Object.extend({},k,true),j,true);if(!j.system){this.id="gui_cfm";this._btnCfmId=this._btnCfmId||"btn_cfm_"+this.id;this._btnCclId=this._btnCclId||"btn_ccl_"+this.id;this._btnClsId=this._btnClsId||"btn_cls_"+this.id;this._contentId=this._contentId||this.id+"_content";this._width=giant.isNumber(j.width)?j.width:k.width;this._jconf=null}return j},_show:function(l){if(this._jconf!=null&&this._jconf.length>0){if(l){gui.buildGloomyBackground()}var k=this,j=9000;d(".ui-popup").each(function(m){var o=d(this).css("zIndex"),n=d(this).css("display");if(n!=="none"){if(o>=j){j=o}}});this._jconf.css({zIndex:++j,display:"block"});gui.location(this._jconf[0]);this._firstShow=false}},_bindEvents:function(l){var m=this,k=l.confirm,j=l.cancel;d("#"+this._btnCfmId).unbind("click").bind("click",function(o){m._jconf.fadeOut("fast");var n=true;if(d.isFunction(k.click)){n=k.click.call(this,m);if(!giant.isBool(n)){n=true}}if(n){gui.removeGloomyBackground()}m._jconf.remove()});d("#"+this._btnCclId).unbind("click").bind("click",function(o){m._jconf.fadeOut("fast");var n=true;if(d.isFunction(j.click)){n=j.click.call(this,m);if(!giant.isBool(n)){n=true}}if(n){gui.removeGloomyBackground()}m._jconf.remove()});d("#"+this._btnClsId).unbind("click").bind("click",function(n){d("#"+m._btnCclId).click()})},_buildConfirm:function(m){var n=this;this._jconf=d("#".concat(this.id));var l=m.confirm,j=m.cancel;if(this._jconf.length===0){var k=gui.getPopupTemplate({template:"confirm",contentTemp:m.contentTemp||"confirm",id:n.id,width:n._width,title:m.title,contentId:n._contentId,content:m.content||"",btnCloseId:n._btnClsId,btnConfirmId:n._btnCfmId,btnCancelId:n._btnCclId,confirm:{text:l.text,cssClass:l.cssClass},cancel:{text:j.text,cssClass:j.cssClass}});this._jconf=d(k).appendTo("body")}else{d("#"+this._contentId).html(getPopupContentTemplate(m.contentTemp||"confirm",m.content));d("#"+this.id+" .ui-popup-title h2").text(m.title);d("#"+this.id).css("width",m.width+"px");d("#"+this._btnCfmId).attr("value",l.text).unbind("click");d("#"+this._btnCclId).attr("value",j.text).unbind("click");d("#"+this._btnClsId).unbind()}this._bindEvents(m);this._show(m.gloomy)}};d.confirm=function(j){if(a==null){a=new giant.ui.Confirm(j)}else{a._init(h,j)}return a};var i=null;var e={title:"【系统消息】",message:"",before:giant.EmptyFn,confirm:{id:"btn_msgbox_cfm",text:"确 定",cssClass:"btn-small btn-01",click:null},close:null,gloomy:true,width:300};giant.ui.MsgBox=function(j){this._init(j)};giant.ui.MsgBox.prototype={_init:function(j){j=d.extend(true,j,d.extend(true,{},e,j));this.id="gui_msgbox";this.message=j.message;j.messageId=this.id+"_message";j.btnCloseId=this.id+"_cls";this._buildMsgBox(j)},_show:function(l){if(this.jMsgBox!=null&&this.jMsgBox.length>0){if(l){gui.buildGloomyBackground()}var k=this,j=9500;d(".ui-popup").each(function(m){var o=d(this).css("zIndex"),n=d(this).css("display");if(n!=="none"){if(o>=j){j=o}}});this.jMsgBox.css({zIndex:++j,display:"block"});gui.location(this.jMsgBox)}},_bindEvents:function(j){var k=this;this._jccf.unbind("click").bind("click",function(){k.jMsgBox.fadeOut("fast");if(d.isFunction(j.confirm.click)){var l=j.confirm.click.call(this,k);l=giant.isBool(l)?l:true;if(l){gui.removeGloomyBackground()}}else{gui.removeGloomyBackground()}if(d.isFunction(j.after)){j.after.call(k)}});this._jclose.unbind("click").bind("click",function(){if(j.closeEvent||j.close){k.jMsgBox.fadeOut("fast");var l=true;if(d.isFunction(j.closeEvent)){l=j.closeEvent.call(this,k)}else{if(d.isFunction(j.close)){l=j.close.call(this,k)}}l=giant.isBool(l)?l:true;if(l){gui.removeGloomyBackground()}if(d.isFunction(j.after)){j.after.call(k)}}else{k._jccf.click()}})},_buildMsgBox:function(k){var l=this;this.jMsgBox=d("#"+this.id);if(d.isFunction(k.before)){k.before.call(l)}if(this.jMsgBox.length==0){var j=gui.getPopupTemplate({id:l.id,title:k.title,template:"msgbox",contentTemp:k.contentTemp||"msgbox",contentId:k.messageId,content:k.message,btnCloseId:k.btnCloseId,confirm:k.confirm,width:k.width});this.jMsgBox=d(j).appendTo("body")}else{d("#"+k.messageId).html(getPopupContentTemplate(k.contentTemp||"msgbox",k.message));d("#"+this.id+" .ui-popup-title h2").html(k.title);d("#"+this.id).css("width",k.width+"px")}this._jccf=d("#"+k.confirm.id);this._jclose=d("#"+k.btnCloseId);this._jccf.unbind();this._jclose.unbind();this._bindEvents(k);this._show(k.gloomy)}};d.msgbox=function(j){if(i==null){i=new giant.ui.MsgBox(j)}else{i._init(j)}return i};var b={title:"【系统对话框】",before:null,close:null,error:null,content:"",isAjax:false,isChange:false,isAutoVerification:false,isDrag:false,page:{url:"",params:{},success:null},width:300};window.GDialogs={};giant.ui.Dialog=function(j){j=d.extend(true,j,d.extend(true,{},b,j));this.id="gui_dialog_"+(j.index||"default");this._init(j)};giant.ui.Dialog.prototype={_init:function(j){j.btnCloseId=this.id+"_close";j.contentId=this.id+"_content";this.jDialog=d("#"+this.id);this._buildDialog(j);this.show()},show:function(){gui.buildGloomyBackground();this.jDialog.block();gui.location(this.jDialog)},close:function(){this._jClose.click()},remove:function(){var j=this.id.replace(/gui_dialog_/i,"");GDialogs[j]=undefined;this._jClose.unbind("click");this.jDialog.unbind().remove()},setContent:function(j){this._jCont.html(j)},_bindEvents:function(j){var k=this;this._jClose.unbind("click").bind("click",function(){k.jDialog.fadeOut("normarl");gui.removeGloomyBackground();if(d.isFunction(j.close)){j.close.call(k.jDialog,k._jCont,j)}})},_loadPage:function(k){var j=k.page||{},l=this;j.params.format="html";if(j.url&&j.url!==""){d.ajax({type:j.type||"GET",url:j.url,data:j.params,beforeSend:function(){if(d.isFunction(k.before)){k.before.call(l.jDialog,l._jCont,k)}return true},success:function(m){if(typeof m==="string"&&m.startsWith("{")){if(d.isFunction(GiantAjax_AbortExecution)){GiantAjax_AbortExecution()}return}l._jCont.html(m);if(d.isFunction(j.success)){j.success.apply(l,[l.jDialog,l._jCont,k])}},error:function(){if(d.isFunction(k.error)){k.error.call(l,k)}},dataType:j.dataType||"html"})}},_buildDialog:function(k){var l=this;if(this.jDialog.length==0){var j=gui.getPopupTemplate({id:l.id,title:k.title,template:"dialog",btnCloseId:k.btnCloseId,contentId:k.contentId,content:k.content,width:k.width});this.jDialog=d(j).appendTo("body");if(k.isDrag){this.jDialog.find(".ui-popup-title h2").addClass("drag");this.jDialog.find(".ui-popup-title .ui-popup-close").addClass("drag");this.jDialog.draggable({handle:".ui-popup-title h2"})}this._jClose=d("#"+k.btnCloseId);this._jCont=d("#"+k.contentId)}else{this.jDialog.find(".ui-popup-title h2").text(k.title);this.jDialog.css("width",k.width+"px");this._jClose=d("#"+k.btnCloseId);this._jCont=d("#"+k.contentId);this._jClose.unbind("click");this._jCont.unbind().html("")}if(k.isAjax){this._jCont.html('<div class="diaLoading"></div>');this._loadPage(k)}else{if(d.isFunction(k.before)){k.before.call(this,[this.jDialog,this._jCont,k])}this._jCont.html(k.content);this._jCont.fadeIn("fast")}this._bindEvents(k)}};d.dialog=function(k){k=giant.extend(b,k,true);var j=(k.index||"default");if(!GDialogs[j]){GDialogs[j]=new giant.ui.Dialog(k)}else{k.isChange?GDialogs[j]._init(k):GDialogs[j].show()}return GDialogs[j]};giant.ui.EmailAutocomplete=function(j){j=Object.extend({input:"#login_account",result:"#ui-emailauto-tip"},j,true);this._init(j)};giant.ui.EmailAutocomplete.prototype={_init:function(j){this._jinput=d(j.input);this._jresult=d(j.result);this._show=false;this._activeIdx=0;this._jtmpIndex=this._jresult.find("li").eq(this._activeIdx);this._bindEvents(j)},_bindEvents:function(k){var l=this;this._jinput.bind("focus",function(){d(this).addClass("focus")});this._jinput.bind("blur",function(){d(this).removeClass("focus");if(l._show){if(l._jinput.val().length>0){l.hideTipList();l._jinput.val(l._jresult.find("li.hover").text())}}});var j=d.ui.keyCode;this._jinput.bind("keyup",function(n){switch(n.keyCode){case j.TAB:case j.ENTER:if(l._show){l._jinput.val(l._jresult.find("li.hover").text());l.hideTipList();if(d.isFunction(k.callback)){k.callback.call(l,l._jinput)}}break;case j.LEFT:case j.RIGHT:break;case j.UP:if(l._show){l.reduceActiveIndex();if(l._jtmpIndex!=null){l._jtmpIndex.removeClass("hover");l._jtmpIndex=l._jresult.find("li").eq(l._activeIdx);l._jtmpIndex.addClass("hover")}}break;case j.DOWN:if(l._show){l.addActiveIndex();if(l._jtmpIndex!=null){l._jtmpIndex.removeClass("hover");l._jtmpIndex=l._jresult.find("li").eq(l._activeIdx);l._jtmpIndex.addClass("hover")}}break;default:if(this.value.indexOf("@")>-1){var m=this.value.split("@");l._jresult.find("li span").text(m[0]);if(m[1].length>0){l._jresult.find("li label").each(function(){if(d(this).text().substring(0,m[1].length)!=m[1]){d(this).parents("li").hide()}else{d(this).parents("li").show();l.showTipList()}})}else{l._jresult.find("li:hidden").show()}l._activeIdx=0;if(l._jtmpIndex!=null){l._jtmpIndex.removeClass("hover");l._jtmpIndex=l._jresult.find("li:visible").eq(l._activeIdx);l._jtmpIndex.addClass("hover")}}else{l._jresult.find("li:hidden").show();l.showTipList();l._jresult.find("li span").text(this.value)}if(l._jresult.find("li:visible").size()==0){l.hideTipList()}else{l.showTipList()}break}});this._jresult.find("li").bind("mouseenter",function(){if(l._show){if(l._jtmpIndex!=null){l._jtmpIndex.removeClass("hover")}l._jtmpIndex=d(this);l._jtmpIndex.addClass("hover")}});this._jresult.find("li").bind("click",function(){if(l._show){l._jinput.val(l._jtmpIndex.text());l.hideTipList();if(d.isFunction(k.callback)){k.callback.call(l,l._jinput)}}})},positionTipList:function(){var j=this;this._jresult.css({left:j._jinput.position().left+"px",top:(j._jinput.position().top+j._jinput.outerHeight(true))+"px"})},hideTipList:function(){if(this._show){this._jresult.hidden();this._show=false;this._activeIdx=0}},showTipList:function(){this.positionTipList();if(!this._show){this._jresult.block();this._show=true}},addActiveIndex:function(){this._activeIdx++;if(this._activeIdx>=this._jresult.find("li").size()){this._activeIdx=0}},reduceActiveIndex:function(){this._activeIdx--;if(this._activeIdx<0){this._activeIdx=this._jresult.find("li").size()-1}}};d.emailauto=function(j){return new giant.ui.EmailAutocomplete(j)};giant.ui.MouseTip=function(j){this._init(j)};giant.ui.MouseTip.prototype={_init:function(j){this.configs=Object.extend({index:"default",content:"正在加载数据...",showType:"normal",eventSource:".ui-mousetip-source",width:200},j,true);this._id="ui_mtip_"+j.index;this._o=d("#"+this._id);this.content=j.content;if(this._o.size()==0){d("body").append(this._buildTip());this._o=d("#"+this._id);this._o.css("width",(j.width!="auto"?j.width+"px":j.width));this._o.css("zIndex","99999")}this.show();this._position()},showTip:function(){this.show(this.configs)},hideTip:function(){this.hide(this.configs)},getTip:function(){return this._o},show:function(j){var k=this;j=this.configs;if(d.isFunction(j.showBeforeEvent)){j.showBeforeEvent.call(this,"#"+this._id,j.eventSource)}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=null}if(j.showType=="normal"){this.showTimeout=setTimeout(function(){k._o.block();if(d.isFunction(j.showEvent)){j.showEvent.call(k,"#"+k._id,j.eventSource)}k._position()},200)}else{this._o.stop(true,true);this._o.animate({width:"show",height:"show"},300,function(){if(d.isFunction(j.showEvent)){j.showEvent.call(k,"#"+k._id,j.eventSource)}k._position()})}},hide:function(j){var k=this;j=this.configs;if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=null}if(j.showType=="normal"){this.hideTimeout=setTimeout(function(){k._o.hidden();if(d.isFunction(j.hideEvent)){j.hideEvent.call(k,"#"+k._id,j.eventSource)}},200)}else{this._o.stop(true,true);this._o.animate({width:"hide",height:"hide"},300,function(){if(d.isFunction(j.hideEvent)){j.hideEvent.call(k,"#"+k._id,j.eventSource)}})}},setContent:function(k){var l=this;this.content=k||"正在加载数据...";var j=this._o.find(".ui-mousetip-inner");j.html(this.content);j.bind("mouseleave",function(){l.hide()});this.selfHeight=this._o.find(".top").height()},_position:function(){var j=[d(window).width(),d(window).height()];var m=[d(window).scrollLeft(),d(window).scrollTop()];var l=d(this.configs.eventSource);var o=[l.width(),l.height()];var p=l.xy();var n=[this._o.width(),this._o.height()];var k=null;if(p[0]<n+4){this._o.css("left",(p[0]+o[0]+4)+"px");if(p[1]+n[1]>(j[1]+m[1])){this._o.css("top",(p[1]-n[1]+o[1])+"px")}else{this._o.css("top",p[1]+"px")}}else{this._o.css("left",(p[0]-n[0]-4)+"px");if(p[1]+n[1]>(j[1]+m[1])){this._o.css("top",(p[1]-n[1]+o[1])+"px");this._o.find(".dot").css({top:"",bottom:"5px"})}else{this._o.css("top",p[1]+"px");this._o.find(".dot").css({top:"5px",bottom:""})}}},_buildTip:function(){var j=new StringBuilder();j.append('<div class="buoy-right" id="').append(this._id).append('">');j.append('<div class="top clearfix"><div class="ui-mousetip-inner"></div>');j.append('<div class="dot" style="top:10px"></div>');j.append('</div><div class="bottom"></div></div>');return j.toString()}};window.GMouseTips={};d.mousetip=function(j){if(GMouseTips[j.index]){GMouseTips[j.index]._init(j)}else{GMouseTips[j.index]=new giant.ui.MouseTip(j)}return GMouseTips[j.index]};GMouseTips.isShow=function(j){if(GMouseTips[j]){return GMouseTips[j].getTip().css("display")=="none"}return false};giant.ui.AutoComplete=function(k,j){this._init(k,j)};var c=null;giant.ui.AutoComplete.prototype={_init:function(k,j){this.c=Object.extend({input:"#txt_ac_input",result:"#ui_ac_result",defaultTip:"找朋友 同事 老乡",ajaxUrl:"",dataList:null},k,true);this.fn=d.isFunction(j)?j:null;this.showResult=false;this.rs=null;this.ai=-1;this.jval=d(gui.parseId(this.c.input));this.jret=d(gui.parseId(this.c.result));if(this.jval.val().length==0){this.jval.css("color","gray");this.jval.val(this.c.defaultTip)}this._bindEvents()},_position:function(){var j=this.jval.xy(),k=this;this.jret.width(this.jval.innerWidth());this.jret.css({position:"absolute",left:msie6?(this.jval.position().left-10)+"px":this.jval.position().left+"px",top:(this.jval.position().top+k.jval.outerHeight())+"px"})},_bindEvents:function(){var j=this;this.jval.unbind();this.jval.bind("focus",function(k){if(this.value==j.c.defaultTip){this.style.color="#333333";this.value=""}});this.jval.bind("blur",function(k){if(this.value.trim()==""){this.style.color="#CCCCCC";this.value=j.c.defaultTip}});this.jval.bind("keyup",function(m){var k=j.jret.find("a").size();var l=d.ui.keyCode;switch(m.keyCode){case l.ENTER:if(j.fn){j.fn(this.value.trim())}j.rs=this.value.trim();setTimeout(function(){j.setResultHide()},100);break;case l.LEFT:case l.RIGHT:break;case l.DOWN:if(j.showResult&&k>0){j.ai++;if(j.ai==k){j.ai=0}if(j.ai>=0){j.jret.find("a").removeClass("active");j.jret.find("a").eq(j.ai).addClass("active");j.rs=j.jret.find("a.active").text();j.jval.val(j.rs)}}break;case l.UP:if(j.showResult&&k>0){j.ai--;if(j.ai<0){j.ai=k-1}if(j.ai>=0){j.jret.find("a").removeClass("active");j.jret.find("a").eq(j.ai).addClass("active");j.rs=j.jret.find("a.active").text();j.jval.val(j.rs)}}break;default:j.ai=-1;if(c!=null){clearTimeout(c);c=null}if(this.value.trim()==""){j.setResultHide();return}if(j.c.ajaxUrl!=""){j._ajaxGetDataList()}else{if(d.isArray(j.c.dataList)&&j.c.dataList.length>0){j.setResultShow();j._parseDataList(j.c.dataList)}}break}})},_ajaxGetDataList:function(){var j=this;c=setTimeout(function(){GiantAjax.responseJson({crossdomain:true,url:j.c.ajaxUrl,params:{name:encodeURIComponent(j.jval.val())},success:function(k){if(!d.isArray(k)&&k.status<=-1){j.setResultHide();return}if(!j.showResult){j.setResultShow()}j._parseDataList(k)}})},200)},_parseDataList:function(k){var m=this;var j=new StringBuilder();d.each(k,function(o,p){j.append('<a href="javascript:void(0)">').append(p).append("</a>")});if(j.toString()==""){m.setResultHide()}else{m.jret.find("a").unbind();m.jret.html(j.toString())}var l=m.jret.find("a");l.bind("click",function(n){m.rs=d(this).text();m.jval.val(m.rs);setTimeout(function(){m.setResultHide()},100);if(m.fn){m.fn(m.rs)}});l.each(function(n){d(this).bind("mouseenter",function(o){m.ai=n;l.removeClass("active");l.eq(m.ai).addClass("active")})})},setResultHide:function(){this._hideResult()},setResultShow:function(){this._showResult()},_hideResult:function(){this.showResult=false;this.jret.html("");this.jret.hidden();this.ai=-1},_showResult:function(){this._position();this.showResult=true;this.jret.block()},getResult:function(){return this.rs}};var f=window.GPages={};Object.extend(f,{SHORT:0,NORMAL:1,LONG:2,caches:{},settings:{container:"#pagination",dataWrap:"#div",currPage:1,pageSize:10,rowCount:10,loadFirst:false,pageCallback:null,async:true,action:"",params:{}}},true);giant.ui.Pagination=function(k,j){this._init(k,j)};giant.ui.Pagination.build=function(k,j){if(typeof k!="number"){j=k||{};k=f.NORMAL}var l=j.container?j.container.replace(/#/,""):f.settings.container.replace(/#/,"");if(f.caches[l]){return f.caches[l]}f.caches[l]=new giant.ui.Pagination(k,j);return f.caches[l]};d.pagination=function(k,j){return giant.ui.Pagination.build(k,j)};giant.ui.Pagination.prototype={_init:function(k,j){this.type=k<f.SHORT||k>f.LONG?f.NORMAL:k;this.s=Object.extend(Object.extend({},f.settings,true),j,true);this.jc=d(this.s.container);if(this.s.currPage<1){this.s.currPage=1}if(this.s.pageSize<=0){this.s.pageSize=Gpages.settings.pageSize}this.pageCurl=false;this._calculatePageCount();if(!this.s.async){if(this.s.action==""){this.s.action=location.href.split("?")[0]}if(typeof this.s.params!=="string"){this.qs=d.param(this.s.params)}else{this.qs=this.s.params}}switch(this.type){case f.SHORT:break;case f.NORMAL:case f.LONG:this._buildPageComponent();break}this._bindEvents()},firstPage:function(){return this.s.currPage==1},lastPage:function(){return this.s.currPage==this.s.pageCount&&this.s.pageCount>0},_calculatePageCount:function(){if(this.s.rowCount<=0||(this.s.rowCount<=this.s.pageSize&&this.s.rowCount>0)){this.s.pageCount=1}else{if(this.s.rowCount%this.s.pageSize==0){this.s.pageCount=this.s.rowCount/this.s.pageSize}else{this.s.pageCount=Math.floor(this.s.rowCount/this.s.pageSize)+1}}},_buildParams:function(){var k=this.qs=="";var j=!k?this.qs.charAt(this.qs.length-1)=="&":false;this.qs=j?this.qs+="p="+this.s.currPage:this.qs+=(k?"p=":"&p=")+this.s.currPage},rebuildPage:function(k,j){this.jc.find("a").unbind();this._init(k,j)},_buildPageComponent:function(){var r=this.s.currPage,j=this.s.pageSize,s=this.s.pageCount;this.jc.html(String.Empty);if(s==1){return}var m=new StringBuilder();if(!this.firstPage()){m.append(this._buildLink("上一页","上一页","prev-page","prev"))}else{m.append(this._buildLink("上一页","没有上一页","prev-page curl","curl"))}if(s>10){var o=(this.firstPage()?"curr-page":"");m.append(this._buildLink(1,"第1页",o,(this.firstPage()?"current":"")));var l=2,p=s-1;if(r>=7){if(s-r<=4){l=s-7}else{l=r-3}p=r+3>s?s:r+3;m.append(" ... ");for(var q=l;q<=p;q++){var n=(r==q?"curr-page":"");m.append(this._buildLink(q,"第"+q+"页",n,(r==q?"current":"")))}if(s-p>=2){m.append(" ... ")}}else{p=r+3<=8?8:r+3;for(var q=l;q<=p;q++){var n=(r==q?"curr-page":"");m.append(this._buildLink(q,"第"+q+"页",n,(r==q?"current":"")))}m.append(" ... ")}if(p!=s){m.append(this._buildLink(s,"第"+s+"页",(r==s?"curr-page":""),(r==q?"current":"")))}}else{for(var q=1;q<=s;q++){m.append(this._buildLink(q,"第"+q+"页",(r==q?"curr-page":""),(r==q?"current":"")))}}if(!this.lastPage()){m.append(this._buildLink("下一页","下一页","next-page","next"))}else{m.append(this._buildLink("下一页","没有下一页","next-page curl","curl"))}if(this.type==f.LONG){var k=parseInt(Math.random()*10000000000);this.txtpageId="txt_page_"+k,this.btnpageId="btn_gopage_"+k;m.append('<span> 到第 <input type="text" class="txt w30" id="');m.append(this.txtpageId).append('" value="').append(r).append('" /> 页 </span>');m.append('<a class="goto" name="goto" id="').append(this.btnpageId).append('" href="javascript:void(0)">确定</a>')}this.jc.html(m.toString())},_pagingCurl:function(k,l,o){var n=this;if(this.pageCurl){d.msgbox({message:"正在载入数据，请稍后..."});return false}d(k).addClass("curl");this.pageCurl=true;switch(l){case"prev":this.s.currPage-=1;break;case"next":this.s.currPage+=1;break;case"goto":var m=d("#"+this.txtpageId).val();if(m.isNumber()){m=parseInt(m.toString());if(m<=1){m=1}if(m>=this.s.pageCount){m=this.s.pageCount}}else{m=1}this.s.currPage=m;break;default:this.s.currPage=parseInt(d(k).text())}if(!this.s.async){this._buildParams();location.href=this.s.action+"?"+this.qs;return false}var j=d(this.s.dataWrap);if(j.length>0){d(window).scrollTop(j.xy()[1]-100);j.html('<div class="page-loading">&nbsp;&nbsp;页面载入中，请稍后......</div>')}if(d.isFunction(o)){o.apply(this,[this.s.currPage,this.s.pageCount])}setTimeout(function(){d(k).removeClass("curl");n.pageCurl=false;n.jc.find("a").unbind();n._buildPageComponent();n._bindEvents()},180);return false},_bindEvents:function(){if(this.s.pageCount==0){return}var j=this;this.jc.find("a").each(function(){var k=d(this).attr("name");switch(k){case"current":case"curl":return;default:d(this).click(function(){return j._pagingCurl(this,k||"",j.s.pageCallback)})}})},_buildLink:function(o,n,m,l,k){k=k||"javascript:void(0)";var j=new StringBuilder();j.append('<a href="').append(k).append('" ');if(m!=""){j.append('class="').append(m).append('" ')}if(l!=""){j.append('name="').append(l).append('" ')}j.append('title="').append(n).append('">');j.append(o).append("</a>");return j.toString()}};giant.ui.DropDownList=function(j){this._init(j)};giant.ui.DropDownList.prototype={_init:function(j){this.c=Object.extend({id:"#ui_dropdown_list",width:60,data:"",change:null},j,true);this.cmb=d(gui.parseId(this.c.id));this.rs=this.cmb.find("h4");this.wrap=d(gui.parseId(this.cmb.attr("id")+"_wrap"));if(this.wrap.size()==0){this.wrap=this.cmb.find(".wrap");if(this.wrap.size()>0){this.wrap.attr("id",this.cmb.attr("id")+"_wrap")}}this.liwp=d(gui.parseId(this.cmb.attr("id")+"_list"));if(this.liwp.size()==0){this.liwp=this.cmb.find("ul");if(this.liwp.size()>0){this.liwp.attr("id",this.cmb.attr("id")+"_list")}}this._bindEvents();this._bindOptionsEvent()},_bindEvents:function(){var j=this;this.cmb.unbind("click").bind("click",function(){j.liwp.blkhide();j.wrap.removeClass("active").toggleClass("open")});this.cmb.hover(function(){j.wrap.addClass("active")},function(){j.wrap.removeClass("active")});d(document).bind("click",function(k){if(d(k.target).parents(gui.parseId(j.c.id)).size()==0){setTimeout(function(){if(d(k.target).parents(gui.parseId(j.c.id)).size()==0){j.wrap.removeClass("active").removeClass("open");j.liwp.hidden()}},100)}else{return false}})},_bindOptionsEvent:function(){var j=this;this.liwp.find("li").unbind("click").bind("click",function(){j.setValue(d(this).attr("value"),d(this).find("a").html());return false})},setValue:function(k,l){this.wrap.removeClass("open").addClass("select");var j=this.liwp.find("li[value="+k+"]");l=l||j.find("a").html();if(j.attr("value")==this.rs.attr("value")){return}this.rs.attr("value",k);this.rs.html(l);this.liwp.hidden();if(d.isFunction(this.c.change)){this.c.change.call(this,k,l)}},getValue:function(){return this.rs.attr("value")},getText:function(){return this.rs.html()},addItem:function(m,l){if(!m){return}var j=new StringBuilder();if(d.isArray(m)){for(var k in m){if(typeof m[k]==="string"){j.append('<li value="').append(m[k]).append('"><a href="javascript:void(0)">');j.append(m[k]).append("</a></li>")}else{if(m[k].text&&m[k].text!=""&&m[k].value){j.append('<li value="').append(m[k].value).append('"><a href="javascript:void(0)">');j.append(m[k].text).append("</a></li>")}}}}else{if(m.text&&m.text!=""&&m.value){j.append('<li value="').append(m.value).append('"><a href="javascript:void(0)">');j.append(m.text).append("</a></li>")}else{if(typeof m==="string"){j.append('<li value="').append(m).append('"><a href="javascript:void(0)">');j.append(m).append("</a></li>")}}}this.liwp.append(j.toString());this._bindOptionsEvent();if(d.isFunction(l)){l.call(this)}},addEvent:function(j,k){this.cmb.bind(j,k)},removeEvent:function(j){this.cmb.unbind(j)},removeItem:function(k){k=k||0;this.liwp.find("li[value="+k+"]").remove();var j=this.liwp.find("li:first");if(this.rs.attr("value")==k&&j.size()>0){this.setValue(j.attr("value"),j.text())}},removeAllItem:function(){this.liwp.html("");this.setValue("","")}}})(jQuery);
