var docpicker=Class.create();docpicker.prototype.initialize=function(a,b){this.confs={};this.scope="default";this.add_conf(this.scope,a,b);this.picker_div=$("doc_picker");this.picker_div.self=this;this.list_div=$("doc_picker_list");this.page_div=$("doc_picker_pages");this.form_div=$("doc_picker_form");this.off=0;this.embed="jpg";this.stp=30;this.kw="";this.medias={jpg:[],mp3:[],flv:[]};this.pages={jpg:{},mp3:{},flv:{}};this.docs={};this.doc=undefined;this.types=[]};docpicker.prototype.add_conf=function(b,a,c){this.confs[b]={options:a||{},listener:c||window}};docpicker.prototype.init=function(){if(this.is_ready){return}this.win=new win(this.picker_div);this.overlay=new overlay();this.is_ready=true};docpicker.prototype.open=function(b){b=b||"default";if(this.confs[b]){this.options=this.confs[b].options;this.listener=this.confs[b].listener;this.kw=""}else{return}this.init();if(this.options.types&&this.options.types.length>1){for(var a in this.medias){$("doc_picker_type_"+a).style.display=(this.options.types.indexOf(a)>=0)?"inline":"none";this.types.push(a)}$("doc_picker_types").style.display="block"}else{$("doc_picker_types").style.display="none"}this.form_div.q.value="";if(!this.is_shown){this.overlay.show();this.win.show();this.is_shown=true}this.show()};docpicker.prototype.close=function(){this.overlay.hide();this.win.hide();this.is_shown=false};docpicker.prototype.search=function(b){if(!b){b=""}b=b.trim();if(this.kw!=b){for(var a in this.medias){this.medias[a]=[];this.pages[a]=[]}this.off=0}this.kw=b;return this.show(0)};docpicker.prototype.show=function(d,e,b){if(e){this.embed=e}this.off=(d)?d:0;if(this.types.length){this.types.each(function(f){$("doc_picker_type_"+f).className=(f==this.embed)?"on":""}.bind(this))}if(b){b.blur()}$("doc_picker_search_cancel").style.display=(this.kw!="")?"inline":"none";if(!this.medias[this.embed][this.off]){modal.say(_MSG.loading,{icon:"wait"});var a=this;var c={off:this.off,embed:this.embed,stp:this.stp};if(this.kw!=""){c.kw=this.kw}IOL.API.request("doc.search",c,a)}else{this.display()
}};docpicker.prototype.doc_search_onApi=function(h,c,a,g){if(h){var b=this;this.medias[this.embed][this.off]=c.docs;this.pages[this.embed]=c.r;for(var d=0;d<c.docs.length;d++){var f=c.docs[d];var e=f.doc_id;this.docs[e]=f}this.display();this.is_ready=true;modal.shutup()}else{modal.say(_MSG.failed,{icon:"nok"},1)}};docpicker.prototype.display=function(){this.list_div.innerHTML="";var b=this.medias[this.embed][this.off];for(var e=0;e<b.length;e++){var h=b[e];var f=h.doc_id;if(this.embed=="jpg"){var c=document.createElement("div");c.className="thumb_jpg";c.id="doc_"+f+"_thumb";c.title=h.title;var d=document.createElement("img");d.src=h.doc_url+".t.jpg";d.style.width="75px";d.style.height="75px";c.appendChild(d)}else{if(this.embed=="mp3"){var c=document.createElement("div");c.className="thumb_mp3";c.id="doc_"+f+"_thumb";c.title=h.title;var d=document.createElement("img");d.src=h.doc_url+".t.jpg";d.style.width="25px";d.style.height="25px";c.appendChild(d);var g=document.createTextNode(h.title);c.appendChild(g)}else{if(this.embed=="flv"){var c=document.createElement("div");c.className="thumb_flv";c.id="doc_"+f+"_thumb";c.title=h.title;var d=document.createElement("img");d.src=h.doc_url+".t.jpg";d.style.width="50px";d.style.height="50px";c.appendChild(d);var g=document.createTextNode(h.title);c.appendChild(g)}}}Event.observe(c,"click",function(i){this.pick(Event.element(i))}.bind(this));Event.observe(c,"mouseover",function(){this.style.backgroundColor="#0087e1";this.style.color="#fff"}.bind(c));Event.observe(c,"mouseout",function(){this.style.backgroundColor="#eee";this.style.color="#000"}.bind(c));this.list_div.appendChild(c)}if(!b.length){this.list_div.innerHTML=$("doc_picker_empty").innerHTML}var a=this.pages[this.embed];if(a.max>this.stp){var j=this;pagination(this.page_div,{off:this.off,stp:this.stp,max:a.max},{max:10,callback:function(i){j.show(i)}});this.page_div.style.display="block"}else{this.page_div.style.display="none"}};docpicker.prototype.pick=function(b){while(b&&b.nodeName!="DIV"){b=b.parentNode}if(!b){return
}var a=b.id.split("_");var c=this.docs[a[1]];this.close();this.doc=c;if(this.listener){if(this.options.callback){if(this.listener[this.options.callback]){return this.listener[this.options.callback](c)}else{IOL.debug("invalid callback func "+this.options.callback,"err");return}}else{return this.listener.docpicked(c)}}};docpicker.prototype.unpick=function(){this.close();this.doc=undefined;if(this.listener){if(this.options.callback){this.listener[this.options.callback](undefined)}else{this.listener.docpicked(undefined)}}};