(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else{factory(jQuery)}})(function($){"use strict";var defaults={data:undefined,lang:"cn",multiple:false,pagination:true,listSize:10,multipleControlbar:true,maxSelectLimit:0,selectToCloseList:true,initRecord:undefined,dbTable:"tbl",keyField:"id",showField:"name",searchField:undefined,andOr:"AND",orderBy:undefined,pageSize:10,params:undefined,formatItem:undefined,focusDropList:true,autoSelectFirst:true,autoFillResult:true,noResultClean:true,selectOnly:false,inputDelay:.5,eSelect:undefined,eAjaxSuccess:undefined,eTagRemove:undefined,eClear:undefined};var SelectPage=function(input,option){var option=$.extend({},option,$(input).data());$.each({data:"source",keyField:"primaryKey",showField:"field",pageSize:"perPage"},function(i,j){if(typeof option[j]!=="undefined"){option[i]=option[j];delete option[j]}});this.setOption(option);this.setLanguage();this.setCssClass();this.setProp();this.setElem(input,option);this.setButtonAttrDefault();this.setInitRecord();this.eDropdownButton();this.eInput();this.eWhole()};SelectPage.version="2.7";SelectPage.dataKey="selectPageObject";SelectPage.objStatusKey="selectPage-self-mark";SelectPage.objStatusIndex="selectPage-self-index";SelectPage.prototype.setOption=function(option){option.searchField=option.searchField===undefined?option.showField:option.searchField;option.andOr=option.andOr.toUpperCase();if(option.andOr!=="AND"&&option.andOr!=="OR")option.andOr="AND";var arr=["searchField"];for(var i=0;i#item_text#×',textKey:"#item_text#",valueKey:"#item_value#"}}};SelectPage.prototype.setElem=function(combo_input,option){var elem={};var orgWidth=$(combo_input).outerWidth();elem.combo_input=$(combo_input).attr({autocomplete:"off"}).addClass(this.css_class.input).wrap("
");if(option.selectOnly)$(elem.combo_input).prop("readonly",true);elem.container=$(elem.combo_input).parent().addClass(this.css_class.container);if($(elem.combo_input).prop("disabled")){if(option.multiple)$(elem.container).addClass(this.css_class.disabled);else $(elem.combo_input).addClass(this.css_class.input_off)}elem.button=$("
").addClass(this.css_class.button);elem.dropdown=$('');elem.clear_btn=$("
").append("×").addClass(this.css_class.clear_btn).attr("title","清除内容");elem.element_box=$("
    ").addClass(this.css_class.element_box);if(option.multiple&&option.multipleControlbar)elem.control=$("
    ").addClass(this.css_class.control_box);elem.result_area=$("
    ").addClass(this.css_class.re_area);if(option.pagination)elem.navi=$("
      ").addClass(this.css_class.navi).addClass("hide");elem.results=$("
        ").addClass(this.css_class.results);var namePrefix="_text";var input_id=$(elem.combo_input).attr("id")!==undefined?$(elem.combo_input).attr("id"):$(elem.combo_input).attr("name");var input_name=$(elem.combo_input).attr("name")!==undefined?$(elem.combo_input).attr("name"):"selectPage";var hidden_name=input_name,hidden_id=input_id;if(input_name.match(/\]$/))input_name=input_name.replace(/\]?$/,namePrefix);else input_name+=namePrefix;if(input_id.match(/\]$/))input_id=input_id.replace(/\]?$/,namePrefix);else input_id+=namePrefix;elem.hidden=$('').attr({name:hidden_name,id:hidden_id}).val("");$(elem.combo_input).attr({name:input_name,id:input_id});$(elem.container).append(elem.button).append(elem.result_area).append(elem.hidden);$(elem.button).append(elem.dropdown);$(elem.result_area).append(elem.results);if(option.pagination)$(elem.result_area).append(elem.navi);if(option.multiple){if(option.multipleControlbar){$(elem.control).append('');$(elem.control).append('');$(elem.control).append('');$(elem.result_area).prepend(elem.control)}$(elem.container).addClass("sp_container_combo");$(elem.combo_input).addClass("sp_combo_input").before($(elem.element_box));var li=$("
      • ").addClass("input_box");$(li).append($(elem.combo_input));$(elem.element_box).append($(li));if($(elem.combo_input).attr("placeholder"))$(elem.combo_input).attr("placeholder_bak",$(elem.combo_input).attr("placeholder"))}this.elem=elem};SelectPage.prototype.setButtonAttrDefault=function(){$(this.elem.button).attr("title",this.message.get_all_btn);$(this.elem.button).attr("title",this.message.close_btn)};SelectPage.prototype.setInitRecord=function(refresh){var self=this;if($.type($(self.elem.combo_input).data("init"))!="undefined")self.option.initRecord=String($(self.elem.combo_input).data("init"));if(!self.option.initRecord)if($(self.elem.combo_input).val())self.option.initRecord=$(self.elem.combo_input).val();$(self.elem.combo_input).val("");if(refresh&&$(self.elem.hidden).val()||$.type(self.option.initRecord)==="string"){if(!refresh)$(self.elem.hidden).val(self.option.initRecord);if(typeof self.option.data==="object"){var data=new Array;var keyarr=refresh?$(self.elem.hidden).val().split(","):self.option.initRecord.split(",");$.each(keyarr,function(index,row){for(var i=0;i1)data=null;self.afterInit(self,data)}else{$.ajax({dataType:"json",type:"POST",url:self.option.data,data:{searchTable:self.option.dbTable,searchKey:self.option.keyField,searchValue:refresh?$(self.elem.hidden).val():self.option.initRecord,field:self.option.showField,order_by:self.option.orderBy,pkey_name:self.option.keyField,pkey_value:refresh?$(self.elem.hidden).val():self.option.initRecord},success:function(returnData){var data;if(self.option.eAjaxSuccess&&$.isFunction(self.option.eAjaxSuccess)){data=self.option.eAjaxSuccess(returnData)}else{data=returnData}self.afterInit(self,data.list)},error:function(jqXHR,textStatus,errorThrown){self.ajaxErrorNotify(self,errorThrown)}})}}};SelectPage.prototype.afterInit=function(self,data){if(!data)return;if(!$.isArray(data))data=[data];if(data.length===0)return;var getText=function(row){var text=row[self.option.showField];if(self.option.formatItem&&$.isFunction(self.option.formatItem)){try{text=self.option.formatItem(row)}catch(e){}}return text};if(self.option.multiple){self.clearAll(self);$.each(data,function(i,row){var item={text:getText(row),value:row[self.option.keyField]};if(!self.isAlreadySelected(self,item))self.addNewTag(self,item)});self.tagValuesSet(self);self.inputResize(self)}else{var row=data[0];$(self.elem.combo_input).val(getText(row));$(self.elem.hidden).val(row[self.option.keyField]);self.prop.prev_value=getText(row);self.prop.selected_text=getText(row);if(self.option.selectOnly){$(self.elem.combo_input).attr("title",self.message.select_ok).removeClass(self.css_class.select_ng).addClass(self.css_class.select_ok)}self.putClearButton()}};SelectPage.prototype.eDropdownButton=function(){var self=this;$(self.elem.button).mouseup(function(ev){ev.stopPropagation();if($(self.elem.result_area).is(":hidden")&&!$(self.elem.combo_input).prop("disabled")){$(self.elem.combo_input).focus()}else self.hideResults(self)}).mouseout()};SelectPage.prototype.eInput=function(){var self=this;var showList=function(){self.prop.page_move=false;self.suggest(self);self.setCssFocusedInput(self)};$(self.elem.combo_input).keyup(function(e){self.processKey(self,e)}).keydown(function(e){self.processControl(self,e)}).focus(function(e){if($(self.elem.result_area).is(":hidden")){e.stopPropagation();self.prop.first_show=true;showList()}});$(self.elem.container).on("click.SelectPage","div."+self.css_class.clear_btn,function(e){e.stopPropagation();self.clearAll(self);$(self.elem.clear_btn).remove();if(self.option.eClear&&$.isFunction(self.option.eClear))self.option.eClear()});if(self.option.multiple){if(self.option.multipleControlbar){$(".sp_select_all",self.elem.control).on("click.SelectPage",function(e){self.selectAllLine(self)});$(".sp_unselect_all",self.elem.control).on("click.SelectPage",function(e){self.unselectAllLine(self)});$(".sp_clear_all",self.elem.control).on("click.SelectPage",function(e){self.clearAll(self)})}$(self.elem.element_box).on("click.SelectPage",function(e){var srcEl=e.target||e.srcElement;if($(srcEl).is("ul"))$(self.elem.combo_input).focus()});$(self.elem.element_box).on("click.SelectPage","span.tag_close",function(){var li=$(this).closest("li");self.removeTag(self,li);showList();if(self.option.eTagRemove&&$.isFunction(self.option.eTagRemove))self.option.eTagRemove(1)});self.inputResize(self)}};SelectPage.prototype.eWhole=function(){var self=this;$(document).off("mousedown.selectPage").on("mousedown.selectPage",function(e){var ele=e.target||e.srcElement;var sm=$(ele).closest("div."+self.css_class.container);var cleanContent=function(obj){$(obj.elem.combo_input).val("");if(!obj.option.multiple)$(obj.elem.hidden).val("");obj.prop.selected_text=""};$("div."+self.css_class.container+"."+self.css_class.container_open).each(function(){if(this==sm[0])return;var d=$("input."+self.css_class.input,this).data(SelectPage.dataKey);if(!$(d.elem.combo_input).val()&&$(d.elem.hidden).val()&&!d.option.multiple){d.prop.current_page=1;cleanContent(d);d.hideResults(d);return true}if($("li",$(d.elem.results)).size()>0){if(d.option.autoFillResult){if($("li.sp_selected",$(d.elem.results)).size()>0){d.hideResults(d)}else if($("li.sp_over",$(d.elem.results)).size()>0){if($(d.elem.hidden).val())d.hideResults(d);else d.selectCurrentLine(d,true)}else if(d.option.autoSelectFirst){if($(d.elem.hidden).val())d.hideResults(d);else{d.nextLine(d);d.selectCurrentLine(d,true)}}else d.hideResults(d)}else d.hideResults(d)}else{if(d.option.noResultClean)cleanContent(d);else{if(!d.option.multiple)$(d.elem.hidden).val("")}d.hideResults(d)}})})};SelectPage.prototype.eResultList=function(){var self=this;$(self.elem.results).children("li").mouseenter(function(){if(self.prop.key_select){self.prop.key_select=false;return}if(!$(this).hasClass(self.css_class.selected)&&!$(this).hasClass("sp_message_box")){$(this).addClass(self.css_class.select);self.setCssFocusedResults(self)}}).mouseleave(function(){$(this).removeClass(self.css_class.select)}).click(function(e){if(self.prop.key_select){self.prop.key_select=false;return}e.preventDefault();e.stopPropagation();if(!$(this).hasClass(self.css_class.selected))self.selectCurrentLine(self,false)})};SelectPage.prototype.ehNaviPaging=function(){var self=this;if(!self.option.pagination)return;$("li.csFirstPage",$(self.elem.navi)).off("click").on("click",function(ev){ev.preventDefault();self.firstPage(self)});$("li.csPreviousPage",$(self.elem.navi)).off("click").on("click",function(ev){ev.preventDefault();self.prevPage(self)});$("li.csNextPage",$(self.elem.navi)).off("click").on("click",function(ev){ev.preventDefault();self.nextPage(self)});$("li.csLastPage",$(self.elem.navi)).off("click").on("click",function(ev){ev.preventDefault();self.lastPage(self)})};SelectPage.prototype.ajaxErrorNotify=function(self,errorThrown){self.showMessage(self.message.ajax_error)};SelectPage.prototype.showMessage=function(self,msg){if(!msg)return;var msgLi='
      • '+msg+"
      • ";$(self.elem.results).empty().append(msgLi);self.calcResultsSize(self);$(self.elem.container).addClass(self.css_class.container_open);$(self.elem.control).hide();if(self.option.pagination)$(self.elem.navi).hide()};SelectPage.prototype.scrollWindow=function(self,enforce){var current_result=self.getCurrentLine(self);var target_top=current_result&&!enforce?current_result.offset().top:$(self.elem.container).offset().top;var target_size;self.prop.size_li=$(self.elem.results).children("li:first").outerHeight();target_size=self.prop.size_li;var client_height=$(window).height();var scroll_top=$(window).scrollTop();var scroll_bottom=scroll_top+client_height-target_size;var gap;if($(current_result).length){if(target_topclient_height){gap=target_top-scroll_top}else if(target_top>scroll_bottom){gap=target_top-scroll_bottom}else return}else if(target_top-1&&$(self.elem.result_area).is(":visible")||$.inArray(e.keyCode,[13,9])>-1&&self.getCurrentLine(self)){e.preventDefault();e.stopPropagation();e.cancelBubble=true;e.returnValue=false;switch(e.keyCode){case 37:if(e.shiftKey)self.firstPage(self);else self.prevPage(self);break;case 38:self.prop.key_select=true;self.prevLine(self);break;case 39:if(e.shiftKey)self.lastPage(self);else self.nextPage(self);break;case 40:if($(self.elem.results).children("li").length){self.prop.key_select=true;self.nextLine(self)}else self.suggest(self);break;case 9:self.prop.key_paging=true;self.selectCurrentLine(self,true);break;case 13:self.selectCurrentLine(self,true);break;case 27:self.prop.key_paging=true;self.hideResults(self);break}}};SelectPage.prototype.abortAjax=function(self){if(self.prop.xhr){self.prop.xhr.abort();self.prop.xhr=false}};SelectPage.prototype.suggest=function(self){var q_word;var val=$.trim($(self.elem.combo_input).val());if(self.option.multiple)q_word=val;else{if(val&&val===self.prop.selected_text)q_word="";else q_word=val}q_word=q_word.split(/[\s ]+/);self.abortAjax(self);self.setLoading(self);var which_page_num=self.prop.current_page>0?self.prop.current_page:1;if(typeof self.option.data=="object")self.searchForJson(self,q_word,which_page_num);else self.searchForDb(self,q_word,which_page_num)};SelectPage.prototype.setLoading=function(self){if($(self.elem.results).html()===""){$(self.elem.container).addClass(self.css_class.container_open)}};SelectPage.prototype.searchForDb=function(self,q_word,which_page_num){if(!self.option.eAjaxSuccess||!$.isFunction(self.option.eAjaxSuccess))self.hideResults(self);var _paramsFunc=self.option.params;var _params={};var searchKey=self.option.searchField;if(q_word.length>0&&q_word[0]&&q_word[0]!==self.prop.prev_value)which_page_num=1;var _orgParams={q_word:q_word,pageNumber:which_page_num,pageSize:self.option.pageSize,andOr:self.option.andOr,orderBy:self.option.orderBy,searchTable:self.option.dbTable,page:which_page_num,per_page:self.option.pageSize,and_or:self.option.andOr,order_by:self.option.orderBy,field:self.option.showField,pkey_name:self.option.keyField,search_field:searchKey};_orgParams[searchKey]=q_word[0];if(_paramsFunc){var result=$.isFunction(_paramsFunc)?_paramsFunc():_paramsFunc;if(result&&$.isPlainObject(result)){_params=$.extend({},_orgParams,result)}else{_params=_orgParams}}else{_params=_orgParams}self.prop.xhr=$.ajax({dataType:"json",url:self.option.data,type:"POST",data:_params,success:function(returnData){if(!returnData||!$.isPlainObject(returnData)){self.hideResults(self);self.ajaxErrorNotify(self);return}var data;if(self.option.eAjaxSuccess&&$.isFunction(self.option.eAjaxSuccess)){data=self.option.eAjaxSuccess(returnData)}else{data=returnData}var json={};json.originalResult=data.list;json.cnt_whole=typeof data.total!=="undefined"?data.total:typeof data.totalRow!=="undefined"?data.totalRow:data.list.length;json.candidate=[];json.keyField=[];if(typeof json.originalResult!="object"){self.prop.xhr=null;self.notFoundSearch(self);return}json.cnt_page=json.originalResult.length;for(var i=0;i0&&q_word[0])is_query=true;self.displayResults(self,json,is_query)};SelectPage.prototype.setNavi=function(self,cnt_whole,cnt_page,page_num){var buildPageNav=function(self,pagebar,page_num,last_page){if($("li",$(pagebar)).size()==0){$(pagebar).empty();var btnclass="",isNewFontAwesome=true;$.each(document.styleSheets,function(i,n){if(n&&n.href&&n.href.indexOf("font-awesome-3.2.1")!=-1){isNewFontAwesome=false;return false}});var iconFist="fa fa-angle-double-left",iconPrev="fa fa-angle-left",iconNext="fa fa-angle-right",iconLast="fa fa-angle-double-right";if(!isNewFontAwesome){iconFist="icon-step-backward";iconPrev="icon-backward";iconNext="icon-forward";iconLast="icon-step-forward"}if(page_num==1)btnclass=" disabled ";$(pagebar).append('
      • ');$(pagebar).append('
      • ');var pageInfo="第 "+page_num+" 页(共"+last_page+"页)";$(pagebar).append('
      • '+pageInfo+"
      • ");if(page_num==last_page)btnclass=" disabled ";else btnclass="";$(pagebar).append('
      • ');$(pagebar).append('
      • ')}};var pagebar=$(self.elem.navi);var last_page=Math.ceil(cnt_whole/self.option.pageSize);if(last_page==0)page_num=0;else{if(last_page '+pageInfo+" ");var dClass="disabled";var first=$("li.csFirstPage",$(pagebar));var previous=$("li.csPreviousPage",$(pagebar));var next=$("li.csNextPage",$(pagebar));var last=$("li.csLastPage",$(pagebar));if(page_num===1||page_num===0){if(!$(first).hasClass(dClass))$(first).addClass(dClass);if(!$(previous).hasClass(dClass))$(previous).addClass(dClass)}else{if($(first).hasClass(dClass))$(first).removeClass(dClass);if($(previous).hasClass(dClass))$(previous).removeClass(dClass)}if(page_num==last_page||last_page==0){if(!$(next).hasClass(dClass))$(next).addClass(dClass);if(!$(last).hasClass(dClass))$(last).addClass(dClass)}else{if($(next).hasClass(dClass))$(next).removeClass(dClass);if($(last).hasClass(dClass))$(last).removeClass(dClass)}if(last_page>1)self.ehNaviPaging()};SelectPage.prototype.displayResults=function(self,json,is_query){$(self.elem.results).empty();if(self.option.multiple&&$.type(self.option.maxSelectLimit)==="number"&&self.option.maxSelectLimit>0){var selectedSize=$("li.selected_tag",self.elem.element_box).size();if(selectedSize>0&&selectedSize>=self.option.maxSelectLimit){self.showMessage(self,"最多只能选择 "+self.option.maxSelectLimit+" 个项目");return}}if(json.candidate.length>0){var arr_candidate=json.candidate;var arr_primary_key=json.keyField;var keystr=$(self.elem.hidden).val();var keyArr=keystr?keystr.split(","):new Array;for(var i=0;i").html(itemText).attr({pkey:arr_primary_key[i],title:itemText});if($.inArray(arr_primary_key[i].toString(),keyArr)!==-1){$(list).addClass(self.css_class.selected)}$(list).data("dataObj",json.originalResult[i]);$(self.elem.results).append(list)}}else{var li='
      • '+self.message.not_found+"
      • ";$(self.elem.results).append(li)}if(self.option.multiple&&self.option.multipleControlbar)$(self.elem.control).show();if(self.option.pagination)$(self.elem.navi).toggleClass("hide",json.cnt_whole<=json.cnt_page);self.calcResultsSize(self);$(self.elem.container).addClass(self.css_class.container_open);self.eResultList();if(is_query&&json.candidate.length>0&&self.option.autoSelectFirst)self.nextLine(self)};SelectPage.prototype.calcResultsSize=function(self){var rePosition=function(){if($(self.elem.container).css("position")==="static"){var offset=$(self.elem.combo_input).offset();$(self.elem.result_area).css({top:offset.top+$(self.elem.combo_input).outerHeight()+"px",left:offset.left+"px"})}else{if(!self.option.pagination){var itemHeight=$("li:first",self.elem.results).outerHeight(true);var listHeight=itemHeight*self.option.listSize;$(self.elem.results).css({"max-height":listHeight,"overflow-y":"auto"})}var docWidth=$(document).width();var docHeight=$(document).height();var viewHeight=$(window).height();var offset=$(self.elem.container).offset();var screenScrollTop=$(window).scrollTop();var listWidth=$(self.elem.result_area).outerWidth();var listHeight=$(self.elem.result_area).outerHeight();var defaultLeft=self.option.multiple?-1:0;var inputHeight=$(self.elem.container).outerHeight();var left=offset.left+listWidth>docWidth?-(listWidth-$(self.elem.container).outerWidth()):defaultLeft;var screenTop=offset.top;var top=0,dist=5;var listBottom=screenTop+inputHeight+listHeight+dist;var hasOverflow=docHeight>viewHeight;if(screenTop-screenScrollTop-dist>listHeight&&(hasOverflow&&listBottom>viewHeight+screenScrollTop)||!hasOverflow&&listBottom>viewHeight){top=-(listHeight+1)-dist;$(self.elem.result_area).removeClass("shadowUp shadowDown").addClass("shadowUp")}else{top=self.option.multiple?$(self.elem.container).innerHeight()+1:$(self.elem.container).outerHeight();$(self.elem.result_area).removeClass("shadowUp shadowDown").addClass("shadowDown");top+=dist}return{top:top+"px",left:left+"px"}}};if($(self.elem.result_area).is(":visible")){$(self.elem.result_area).css(rePosition())}else{$(self.elem.result_area).show(1,function(){$(this).css(rePosition())})}};SelectPage.prototype.hideResults=function(self){if(self.prop.key_paging){self.scrollWindow(self,true);self.prop.key_paging=false}self.setCssFocusedInput(self);if(self.option.autoFillResult){}$(self.elem.results).empty();$(self.elem.result_area).hide();$(self.elem.container).removeClass(self.css_class.container_open);self.abortAjax(self);self.setButtonAttrDefault()};SelectPage.prototype.firstPage=function(self){if(self.prop.current_page>1){self.prop.current_page=1;self.prop.page_move=true;self.suggest(self)}};SelectPage.prototype.prevPage=function(self){if(self.prop.current_page>1){self.prop.current_page--;self.prop.page_move=true;self.suggest(self)}};SelectPage.prototype.nextPage=function(self){if(self.prop.current_page0&&self.option.maxSelectLimit===$("li.selected_tag",self.elem.element_box).size()){return false}});if(self.option.eSelect&&$.isFunction(self.option.eSelect))self.option.eSelect(jsonarr);self.afterAction(self)};SelectPage.prototype.unselectAllLine=function(self){var size=$("li",self.elem.results).size();$("li",self.elem.results).each(function(i,row){var key=$(row).attr("pkey");var tag=$('li.selected_tag[itemvalue="'+key+'"]',self.elem.element_box);self.removeTag(self,tag)});self.afterAction(self);if(self.option.eTagRemove&&$.isFunction(self.option.eTagRemove))self.option.eTagRemove(size)};SelectPage.prototype.clearAll=function(self){var size=0;if(self.option.multiple){size=$("li.selected_tag",self.elem.element_box).size();$("li.selected_tag",self.elem.element_box).remove()}$(self.elem.combo_input).val("");$(self.elem.hidden).val("");self.afterAction(self);if(self.option.multiple){if(self.option.eTagRemove&&$.isFunction(self.option.eTagRemove))self.option.eTagRemove(size)}};SelectPage.prototype.getCurrentLine=function(self){if($(self.elem.result_area).is(":hidden"))return false;var obj=$("li."+self.css_class.select,self.elem.results);if($(obj).size())return obj;else return false};SelectPage.prototype.isAlreadySelected=function(self,item){var isExist=false;if(item.value){var keys=$(self.elem.hidden).val();if(keys){var karr=keys.split(",");if(karr&&karr.length>0&&$.inArray(item.value,karr)!=-1)isExist=true}}return isExist};SelectPage.prototype.addNewTag=function(self,item){if(!self.option.multiple||!item)return;var tmp=self.template.tag.content,tag;tmp=tmp.replace(self.template.tag.textKey,item.text);tmp=tmp.replace(self.template.tag.valueKey,item.value);tag=$(tmp);if($(self.elem.combo_input).prop("disabled"))$("span.tag_close",tag).hide();$(self.elem.combo_input).closest("li").before(tag)};SelectPage.prototype.removeTag=function(self,item){var key=$(item).attr("itemvalue");var keys=$(self.elem.hidden).val();if($.type(key)!="undefined"&&keys){var keyarr=keys.split(",");var index=$.inArray(key.toString(),keyarr);if(index!=-1){keyarr.splice(index,1);$(self.elem.hidden).val(keyarr.toString())}}$(item).remove();self.inputResize(self)};SelectPage.prototype.tagValuesSet=function(self){if(!self.option.multiple)return;var tags=$("li.selected_tag",$(self.elem.element_box));if(tags&&$(tags).size()>0){var result=new Array;$.each(tags,function(i,li){var v=$(li).attr("itemvalue");if($.type(v)!=="undefined")result.push(v)});if(result.length>0){$(self.elem.hidden).val(result.join(","))}}};SelectPage.prototype.inputResize=function(self){if(!self.option.multiple)return;var width="";var inputLi=self.elem.combo_input.closest("li");var setDefaultSize=function(self,inputLi){inputLi.removeClass("full_width");var minimumWidth=self.elem.combo_input.val().length+1;var width=minimumWidth*.75+"em";self.elem.combo_input.css("width",width);self.elem.combo_input.removeAttr("placeholder")};if($("li.selected_tag",$(self.elem.element_box)).size()===0){if(self.elem.combo_input.attr("placeholder_bak")){if(!inputLi.hasClass("full_width"))inputLi.addClass("full_width");self.elem.combo_input.attr("placeholder",self.elem.combo_input.attr("placeholder_bak"));self.elem.combo_input.removeAttr("style")}else setDefaultSize(self,inputLi)}else setDefaultSize(self,inputLi)};SelectPage.prototype.nextLine=function(self){var obj=self.getCurrentLine(self);var idx;if(!obj)idx=-1;else{idx=$(self.elem.results).children("li").index(obj);$(obj).removeClass(self.css_class.select)}idx++;if(idx<$(self.elem.results).children("li").length){var next=$(self.elem.results).children("li").eq(idx);$(next).addClass(self.css_class.select);self.setCssFocusedResults(self)}else self.setCssFocusedInput(self);self.scrollWindow(self,false)};SelectPage.prototype.prevLine=function(self){var obj=self.getCurrentLine(self);var idx;if(!obj)idx=$(self.elem.results).children("li").length;else{idx=$(self.elem.results).children("li").index(obj);$(obj).removeClass(self.css_class.select)}idx--;if(idx>-1){var prev=$(self.elem.results).children("li").eq(idx);$(prev).addClass(self.css_class.select);self.setCssFocusedResults(self)}else self.setCssFocusedInput(self);self.scrollWindow(self,false)};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(SelectPage.dataKey),params=$.extend({},defaults,$this.data(),data&&data.option,typeof option==="object"&&option);if(!data)$this.data(SelectPage.dataKey,data=new SelectPage(this,params))})}function getPlugin(obj){var container=$(obj).closest("div.sp_container");return $("input.sp_input",container)}function ClearSelected(){return this.each(function(){var $this=getPlugin(this),data=$this.data(SelectPage.dataKey);if(data)data.clearAll(data)})}function SelectedRefresh(){return this.each(function(){var $this=getPlugin(this),data=$this.data(SelectPage.dataKey);if(data&&data.elem.hidden.val())data.setInitRecord(true)})}function ModifyDataSource(data){return this.each(function(){if(data&&$.isArray(data)&&data.length>0){var $this=getPlugin(this),plugin=$this.data(SelectPage.dataKey);if(plugin){plugin.clearAll(plugin);plugin.option.data=data}}})}function GetInputText(){var str="";this.each(function(){var $this=getPlugin(this),data=$this.data(SelectPage.dataKey);if(data)str+=data.elem.combo_input.val()});return str}function GetInputValue(){var str="";this.each(function(){var $this=getPlugin(this),data=$this.data(SelectPage.dataKey);if(data)str+=data.elem.hidden.val()});return str}var old=$.fn.selectPage;$.fn.selectPage=Plugin;$.fn.selectPage.Constructor=SelectPage;$.fn.selectPageClear=ClearSelected;$.fn.selectPageRefresh=SelectedRefresh;$.fn.selectPageData=ModifyDataSource;$.fn.selectPageText=GetInputText;$.fn.selectPageValue=GetInputValue;$.fn.selectPage.noConflict=function(){$.fn.selectPage=old;return this}});