if(typeof j$ == 'undefined'){
jQuery.noConflict(); // このスクリプト行を追加します.
var j$ = jQuery; // jj$() を jQuery のショートカットにします.
}
/*-------------------------------------------------------------------------------------------------*
* レシピの選択肢を変更するクロージャー
*-------------------------------------------------------------------------------------------------*/
Sc = function(){ this.initialize.apply(this, arguments);}
j$.extend(Sc.prototype,{
version:1
,initialize: function(element,selement,options){
this.sc = {10:[{key:100,value:"ご飯もの"},{key:110,value:"うどん"},{key:120,value:"そば"},{key:130,value:"そうめん・ひやむぎ"},{key:140,value:"ラーメン"},{key:150,value:"パスタ"},{key:160,value:"パン"}],20:[{key:200,value:"牛肉"},{key:210,value:"豚肉"},{key:220,value:"鶏肉"},{key:230,value:"その他の肉"},{key:240,value:"ハム・肉加工品"}],30:[{key:300,value:"魚"},{key:310,value:"カニ・エビ"},{key:320,value:"イカ・タコ"},{key:330,value:"貝類"},{key:340,value:"練り物・加工品"}],40:[{key:400,value:"イモ類中心"},{key:410,value:"葉もの中心"},{key:420,value:"根菜類中心"},{key:430,value:"豆類中心"}],50:[{key:500,value:"卵料理"},{key:510,value:"豆腐料理"},{key:520,value:"海藻料理"},{key:530,value:"乳製品"}],60:[{key:600,value:"乳系"},{key:610,value:"卵系"},{key:620,value:"小麦粉系"},{key:630,value:"米系"},{key:640,value:"モチ系"},{key:650,value:"クリーム系"},{key:660,value:"あずき系"}],70:[{key:700,value:"アルコール"},{key:710,value:"コーヒー・ティー"},{key:720,value:"日本茶"},{key:730,value:"フルーツ系"},{key:740,value:"乳製品系"},{key:750,value:"炭酸系"},{key:760,value:"水・アミノ酸系"}]};
this.element = j$(element)
.bind("change",{tmp:this},this.onChange)
;
this.selement = j$(selement)
.bind("change",{tmp:this},this.onChangeScate)
;
this.options = options;
if(this.options){
this.selement.val(this.options.sc);
this.element.val(this.options.bc);
}
}
,onChange: function(event){
var tmp = event.data.tmp;
var index = j$(this).val();
tmp.actionScate(tmp,index);
}
,actionScate: function(tmp,index){
var a = tmp.sc[index];
var str = "";
var selected = "";
if(a){
j$.each(a,function(i,option){
if(i == 0) selected = option.key;
str += '';
});
}else{
str = '';
j$.each(tmp.sc,function(i,options){
j$.each(options,function(j,option){
str += '';
});
});
}
tmp.selement.html(str);
this.selement.val(selected);
}
,onChangeScate: function(event){
var tmp = event.data.tmp;
var v = j$(this).val();
if(v){
var index = v.substr(0,1) + '0';
tmp.element.val(index);
tmp.actionScate(tmp,index);
tmp.selement.val(v);
}
}
});
/*-------------------------------------------------------------------------------------------------*
* レシピのフォームが増えるクロージャー
*-------------------------------------------------------------------------------------------------*/
Stage = function(){ this.initialize.apply(this, arguments);}
j$.extend(Stage.prototype,{
version:1
,initialize: function(stagePanel,dummyPanel,button){
this.stagePanel = j$(stagePanel);
this.dummyPanel = j$(dummyPanel);
this.button = j$(button);
this.pkey = parseInt(this.stagePanel.find("textarea:last").attr("pkey")) + 1;
this.index = parseInt(this.stagePanel.find("textarea:last").attr("index")) + 1;
this.add();
}
,add: function(){
var tmp = this;
var nextPkey = tmp.pkey;
var nextIndex = tmp.index;
var newPanel = tmp.dummyPanel.clone();
var textarea = newPanel.find("textarea:last");
textarea.attr({pkey:nextPkey
,index:nextIndex
,name:textarea.attr("name") + nextPkey
});
var file = newPanel.find("input.file:last");
file.attr({name:file.attr("name") + nextPkey});
newPanel.show()
.removeAttr("id")
.find("span:first")
.html('作り方' + nextIndex + ':');
tmp.stagePanel.append(newPanel);
}
});