var CategoryCommon=Class.create();CategoryCommon.uriDecode=function(a){return decodeURIComponent(a)};CategoryCommon.uriEncode=function(a){return encodeURIComponent(a)};CategoryCommon.stackTrace=function(a){if(IncSearch.props.stackTrace){IncSearch.debugTraceuse.push(a)}return};CategoryCommon.printStackTrace=function(){if(IncSearch.props.stackTrace){if(confirm(IncSearch.debugTraceuse.join("\n"))){}else{if(confirm("スタックトレースを消しますか？")){IncSearch.debugTraceuse.clear();if(confirm("スタックトレースを続行しますか？")==false){IncSearch.props.stackTrace=false}}}}return};CategoryCommon.printException=function(a){if(confirm("Exception を Catch しました。\n内容を表示しますか？")){if(objectdump!=null){objectdump(a)}else{alert("表示できません。\nobjectdumper が参照されていません。")}}return};CategoryCommon.sprintf=function(){var c=Array.prototype.shift.apply(arguments);var a=arguments;var b=0;return c.replace(/%s/g,function(){return a[b++]})};CategoryCommon.isBlank=function(a){if(a==undefined||a==null||a==""){return true}return false};CategoryCommon.dumper=function(a){objectdump(a,document.getElementById("_debug"));return};CategoryCommon.dumperHTML=function(){CategoryCommon.dumper(document.body.innerHTML);return};CategoryCommon.uriEncode=function(a){return encodeURIComponent(a)};CategoryCommon.uriDecode=function(a){return decodeURIComponent(a)};CategoryCommon.getMySelf=function(a){if(typeof(a.isMitecaObject)=="function"){return a}return a._this||null};var dumper=null;dumper=CategoryCommon.dumper;var dumperHTML=null;dumperHTML=CategoryCommon.dumperHTML;var isBlank=null;isBlank=CategoryCommon.isBlank;var getMySelf=null;getMySelf=CategoryCommon.getMySelf;var uriDecode=null;uriDecode=CategoryCommon.uriDecode;var sprintf=null;sprintf=CategoryCommon.sprintf;var CategoryBase=Class.create();CategoryBase.prototype={initialize:function(){},isMitecaObject:function(){return true}};var CategoryConfig=Class.create();CategoryConfig.props={};CategoryConfig.props.apiURL="/api.miteca.jp/api/json/search/category_item_view/";CategoryConfig.props.containerID="category_container";CategoryConfig.props.itemRowInnerHTML='<div id="row_image_id_%s" class="image">  <a href="%s"><img class="product_img" src="%s" %s></a></div>';CategoryConfig.props.dragDrop=true;CategoryConfig.props.itemNum=16;CategoryConfig.props.ajaxSearchMethod="search_by_cat_id";CategoryConfig.props.noItemMessage="** 現在、取り扱いがありません。**";CategoryConfig.props.itemImageNrmlzW=120;var CategoryAjaxJSON=Class.create();CategoryAjaxJSON.prototype=Object.extend(new CategoryBase(),{initialize:function(a){},ajaxRequestASyncJSONPost:function(b,a){if(a){b.setParam("cache",(new Date()).getTime())}var c=new Ajax.Request(b.getApiUrl(),{asynchronous:"true",method:"post",postBody:b.getParamStr(),onSuccess:function(f){try{var d=null;if(f.responseJSON.json_data!=null){d=f.responseJSON.json_data}else{if(f.responseJSON.jsonObject!=null){d=f.responseJSON.jsonObject}}b.setJSON(d);var g=b.getCallBack();g(b)}catch(h){dumper(h)}},onFailure:function(d){dumper(d)},onException:function(d){if(d.getStatus()!=200){objectdump("[ERROR!]検索に失敗しました。apiのurl、またはサーバの状況を確認してください。"+d.url)}}})},ajaxRequestSyncJSONPost:function(b,a){if(a){b.setParam("cache",(new Date()).getTime())}try{var d=new Ajax.Request(b.getApiUrl(),{asynchronous:false,method:"post",postBody:b.getParamStr(),onSuccess:function(e){if(e.responseJSON.jsonObject){b.setJSON(e.responseJSON.jsonObject)}else{dumper(c)}},onFailure:function(e){dumper(e)}})}catch(c){dumper(c)}}});var CategoryItemDTO=Class.create();CategoryItemDTO.prototype=Object.extend(new CategoryBase(),{resJSON:null,apiUrl:null,callBack:null,callFrom:null,rewriteDivId:null,data:new Array(),paramList:null,initialize:function(){this.paramList={}},setCallBack:function(a){this.callBack=a},getCallBack:function(){return this.callBack},setJSON:function(a){this.resJSON=a},getJSON:function(){return this.resJSON.dataList},setCallFrom:function(a){this.callFrom=a},getCallFrom:function(){return this.callFrom},setApiUrl:function(a){this.apiUrl=a},getApiUrl:function(a){return this.apiUrl},setRewriteDivId:function(a){this.rewriteDivId=a},getRewriteDivId:function(a){return this.rewriteDivId},setParam:function(a,b){if(a!=null&&b!=null){this.paramList[a]=b}return},getParamStr:function(){var b=new Array();for(var a in this.paramList){b.push(a+"="+this.paramList[a])}return b.join("&")},loadingNowOn:function(a){Element.setStyle(a,{display:"block"});return},loadingNowOff:function(a){Element.setStyle(a,{display:"none"});return},getSearchKeyFromApiURL:function(){var a=this.apiUrl.split("/");return a[a.length-2]},getNextPageFromApiURL:function(){var url_array=this.apiUrl.split("/");var fr_to=url_array[url_array.length-1].split("-");return eval(fr_to[0])+1},getPrevPageFromApiURL:function(){var url_array=this.apiUrl.split("/");var fr_to=url_array[url_array.length-1].split("-");return eval(fr_to[0])-1}});var CategoryItemViewerRack=Class.create();CategoryItemViewerRack.INSTANCE=null;CategoryItemViewerRack.newInstance=function(){try{if(CategoryItemViewerRack.INSTANCE==null){CategoryItemViewerRack.INSTANCE=new CategoryItemViewerRack()}}catch(a){dumper(a)}finally{return CategoryItemViewerRack.INSTANCE}};CategoryItemViewerRack.prototype=Object.extend(new CategoryBase(),{instanceRack:{},initialize:function(){},setCategoryViewerById:function(b,a){this.instanceRack[b]=new CategoryViewer(b,a);this.instanceRack[b].runInit();return},getCategoryViewerById:function(a){return this.instanceRack[a]}});var CategoryViewer=Class.create();CategoryViewer.prototype=Object.extend(new CategoryAjaxJSON(),{myId:"",mySelect:null,myPrev:null,myNext:null,myRow:null,myLink2SubCategory:null,nowPage:0,nowAction:0,initialize:function(h,f){if(isBlank(h)||isBlank(f)){return}this.myId=h;var b="sub_category";var c=this.myId+"_"+b;Event.observe(c,"change",this.subCatChange,false);this.mySelect=$(c);$(c)._this=this;var d=c+"_row";this.myRow=$(d);$(d)._this=this;var a=c+"_next";Event.observe(a,"click",this.nextItem,false);this.myNext=$(a);$(a)._this=this;var e=c+"_prev";Event.observe(e,"click",this.prevItem,false);this.myPrev=$(e);$(e)._this=this;var g="link2"+c;if($(g)!=null){Event.observe(g,"click",this.link2SubCategory,false);this.myLink2SubCategory=$(g);$(g)._this=this}return},runInit:function(){this.nowPage=0;this.nextItem();return},setActionNext:function(){this.nowAction=1;return},isNextAction:function(){if(this.nowAction==1){return true}return false},setActionPrev:function(){this.nowAction=0;return},isPrevAction:function(){if(this.nowAction==0){return true}return false},incNowPage:function(){this.nowPage++;return},decNowPage:function(){if(this.nowPage>1){this.nowPage--}return},subCatChange:function(){var a=getMySelf(this);a.runInit();return},getSubCutSelected:function(){return this.mySelect[this.mySelect.selectedIndex].value},prevItem:function(){var a=getMySelf(this);var b=new CategoryItemDTO();b.setApiUrl(CategoryConfig.props.apiURL+a._prevNum()+"-"+CategoryConfig.props.itemNum);b.setParam("method",CategoryConfig.props.ajaxSearchMethod);b.setParam(".where",CategoryCommon.uriEncode(a.getSubCutSelected()));b.setParam(".order",CategoryCommon.uriEncode("mtime DESC"));b.setCallBack(a.showItem);b.setCallFrom(a);a.setActionPrev();a.ajaxRequestASyncJSONPost(b);return},nextItem:function(){var a=getMySelf(this);var b=new CategoryItemDTO();b.setApiUrl(CategoryConfig.props.apiURL+a._nextNum()+"-"+CategoryConfig.props.itemNum);b.setParam("method",CategoryConfig.props.ajaxSearchMethod);b.setParam(".where",CategoryCommon.uriEncode(a.getSubCutSelected()));b.setParam(".order",CategoryCommon.uriEncode("mtime DESC"));b.setCallBack(a.showItem);b.setCallFrom(a);a.setActionNext();a.ajaxRequestASyncJSONPost(b);return},_nextNum:function(){if(this.nowPage==0){return 1}return this.nowPage+1},_prevNum:function(){if(this.nowPage==0){return 1}return this.nowPage-1},showItem:function(d){var f=this;var a=d.getCallFrom();var c=new Array();c=d.resJSON.dataList;if(a.isNextAction()){if(c.length==0){if(a.nowPage>0){a.runInit();return}else{a.dispNoneItemMessage();return}}else{a.incNowPage()}}else{if(c.length==0){a.dispNoneItemMessage();return}else{a.decNowPage()}}Element.update(a.myRow,"");for(var b=0;c.length>b;b++){var e=document.createElement("div");e.className="row tooltips_area";e.id="row_"+c[b].product_id;e.cat_name_id=uriDecode(c[b].cat_name_id);e.innerHTML=sprintf(CategoryConfig.props.itemRowInnerHTML,c[b].product_id,"/item/top/"+c[b].product_id,c[b].img_url,"",c[b].product_id,uriDecode(c[b].name)||"no title",ZetaUtil.separate3(c[b].price_sale)||"---");a.myRow.appendChild(e);if(CategoryConfig.props.dragDrop){Event.observe(e.id,"mouseover",a.draggable,false);Event.observe(e.id,"mouseover",a.toolTipOn,false);Event.observe("info_tt_order_by_"+c[b].product_id,"mouseover",a.toolTipTest,false);Event.observe(e.id,"mouseout",a.toolTipOff,false);Event.observe(e.id,"mousedown",a.dragDrop,false)}}return},link2SubCategory:function(){var a=getMySelf(this);window.location="./"+a.getSubCutSelected();return},draggable:function(){var b=this;try{b.id.match(/row_(\d*)/);var a=sprintf("#row_image_id_%s",RegExp.$1);$j(a).draggable({helper:"clone",revert:true,zIndex:100,start:function(f,d){},drag:function(f,d){DragDropObject.setProductId(DragDropObject.getProductId())},stop:function(f,d){}})}catch(c){dumper(c)}},dragDrop:function(){var a=this;try{a.id.match(/row_(\d*)/);DragDropObject.setProductId(RegExp.$1);DragDropObject.setCategory(a.cat_name_id)}catch(b){dumper(b)}return},setNormalizeBox:function(){if(isBlank(CategoryConfig.props.itemImageNrmlzW)||CategoryConfig.props.itemImageNrmlzW<0){return""}return'onload="normalizeBox(this, '+CategoryConfig.props.itemImageNrmlzW+');"'},toolTipOn:function(){var a=$j(this);var c=4;var f=a.position();var e=0;var d=parseInt(f.top);this.id.match(/row_(\d*)/);if(isBlank(RegExp.$1)){return}var b="#info_tt_order_by_"+RegExp.$1;if(c%4!=1){e=f.left+15}else{e=f.left+90;$j("div.info_tt_arraw",a).css({marginRight:120})}$j(b).css({top:d+115,left:e-87}).show();return},toolTipOff:function(){$j("div.box_info_tooltips",$j(this)).hide();return},toolTipTest:function(){$j("div.box_info_tooltips",$j(this)).hide();return},dispNoneItemMessage:function(){Element.update(this.myRow,CategoryConfig.props.noItemMessage);return}});var CategoryLoaderBase=Class.create();CategoryLoaderBase.prototype=Object.extend(new CategoryBase(),{initialize:function(){}});CategoryLoaderBase.load=function(){};var CategoryLoader=Class.create();CategoryLoader.prototype=Object.extend(new CategoryLoaderBase(),{initialize:function(){}});CategoryLoader.exec=function(){var f=[];var a=0;var b=CategoryItemViewerRack.newInstance();try{f=$(CategoryConfig.props.containerID).childNodes;for(var c=0;f.length>c;c++){if(isBlank(f[c].id)){continue}b.setCategoryViewerById(f[c].id,c+1)}}catch(d){dumper(d)}return};