(function(){Position.includeScrollOffsets=true;CDE.GChrome={opts:{},set:function(){this.opts=Object.extend({currentSource:"album"},arguments[0]||{});},autoload:function(){Object.extend(this.opts,arguments[0]||{});if(this.opts.initSource=="album"){CDE.GChrome.Playlist.albumLoadById(parseInt(this.opts.initSRCID));}}};CDE.GChrome.Buttons={btns:[],init:function(){this.btns=[];this.trashInit();},recast:function(){var _1=["editalbum","upload","delalbum","permission"];var _2=["addalbum","feeds","tags"];var _3=CDE.GChrome.Playlist.current;this.btns.each(function(_4){var _5=_2.inArray(_4.name);if(CDE.ENV.IS_LOGGEDIN){if(_3.isAlbums){if(_1.inArray(_4.name)&&(_3.list.isOwner||_3.list.isCoAuthor)){_5=true;}}}if($(_4.elemid)){if(_5){Element.show(_4.elemid);}else{Element.hide(_4.elemid);}}});if(!CDE.ENV.IS_LOGGEDIN){if($("gc_trash")){Element.hide("gc_trash");}}},trashInit:function(){if(CDE.ENV.IS_LOGGEDIN&&CDE.ENV.BR!="msie"&&$("gc_trash")){var e=$("gc_trash");Droppables.add(e,{hoverclass:"trash_hover",onDrop:function(){CDE.GChrome.Playlist.current.audio.actionDelete();}});}},add:function(){var _7=Object.extend({init:null,name:null,elemid:null,action:null,url:null},arguments[0]||{});if(CDE.ENV.IS_LOGGEDIN&&$(_7.elemid)&&typeof this[_7.action]=="function"){$(_7.elemid).onclick=this[_7.action].bind(_7);}if(typeof _7.init==="function"){_7.init();}this.btns.push(_7);},actionAddAlbum:function(){var _8=this.url+"?itemId="+CDE.GChrome.opts.MASTER_ALBUM;CDE.Pop.open(_8,{w:210,title:"Create Album"},true);return false;},actionEditAlbum:function(){var _9=CDE.GChrome.Playlist.current;if(_9.isAlbums&&_9.list.isOwner&&!_9.list.isRoot){var _a=this.url+"?parentId="+_9.list.pid+"&itemId="+_9.list.id;CDE.Pop.open(_a,{w:210,title:"Edit Album"},true);return false;}},actionDelAlbum:function(){var _b=CDE.GChrome.Playlist.current;if(_b.isAlbums&&_b.list.isOwner&&!_b.list.isRoot){var _c=this.url+"?itemId="+_b.list.id;CDE.Pop.open(_c,{w:350,title:"Delete Album"},true);return false;}},actionPermissions:function(){var _d=CDE.GChrome.Playlist.current;if(_d.isAlbums&&_d.list.isOwner&&!_d.list.isRoot){var _e=this.url+"?itemId="+_d.list.id;CDE.Pop.open(_e,{w:380,title:"Edit Permissions"},true);return false;}},actionUpload:function(){var _f=CDE.GChrome.Playlist.current;var _10={};if(_f.isAlbums&&_f.list.id){_10={"itemId":_f.list.id,"type":_f.list.type};}var url=CDEFuncs.buildAsQuery(this.url,_10);var _12="cdegchrome"+CDEFuncs.generateRandom(10);if(typeof this.winupload==="undefined"||this.winupload.closed){this.winupload=CDEFuncs.popUp(url,760,400,{name:_12});}else{alert("Upload is still in progress");this.winupload.focus();}},actionToggleFeeds:function(){if(!$(this.tgtid)){return;}var img="";if(Element.visible(this.tgtid)){Element.hide(this.tgtid);img=CDE.ENV.CDE_STATIC+"/gallery/gchrome/enable_feeds.png";txt="Enable Feeds";}else{Element.show(this.tgtid);img=CDE.ENV.CDE_STATIC+"/gallery/gchrome/disable_feeds.png";txt="Disable Feeds";}var btn=$(this.elemid);btn.title=txt;CDEFuncs.preloadImages(img,{onComplete:function(){btn.src=img;}});CDEFuncs.XHR(this.url);},actionToggleTags:function(){if(!$(this.tgtid)){return;}var img="";if(Element.visible(this.tgtid)){Element.hide(this.tgtid);img=CDE.ENV.CDE_STATIC+"/gallery/gchrome/tags_down.png";}else{Element.show(this.tgtid);img=CDE.ENV.CDE_STATIC+"/gallery/gchrome/tags_up.png";}var btn=$(this.elemid);CDEFuncs.preloadImages(img,{onComplete:function(){btn.src=img;}});CDEFuncs.XHR(this.url);}};CDE.GChrome.Player={uid:null,fP:{},P:{},e:"gc_player",current:null,currentlist:null,isPlaying:false,init:function(){var swf={G:"/music/gchrome/JavaScriptFlashGateway.swf",P:"/music/gchrome/iphplayerNew.swf"};swf.G=(CDE.ENV.DEBUG_MODE)?CDEFuncs.addRandom2URL(swf.G):swf.G;swf.P=(CDE.ENV.DEBUG_MODE)?CDEFuncs.addRandom2URL(swf.P):swf.P;this.uid=new Date().getTime();this.fP=new FlashProxy(this.uid,swf.G);this.P=new FlashTag(swf.P,790,110);this.P.setFlashvars("lcId="+this.uid);this.P.setId("gc_player_flash");Element.update(this.e,this.P.toString());},setAsPlaying:function(){CDE.GChrome.Player.isPlaying=typeof arguments[0]=="undefined"?true:false;},load:function(mp3){if(!this.isPlaying){this.current=mp3;this.fP.call("load_music",mp3,"true");this.isPlaying=true;}},play:function(mp3){this.current=mp3;this.fP.call("load_music",mp3,"true");this.isPlaying=true;},next:function(){var c=CDE.GChrome.Player.current;var cl=CDE.GChrome.Player.currentlist;var idx=cl.audios.indexOf(cl.audios.find(function(a){return a.mp3==c;}))+1;idx=(idx>cl.audios.length-1)?0:idx;CDE.GChrome.Playlist.setActiveAudio(cl.audios[idx]);if(CDE.GChrome.Player.isPlaying){CDE.GChrome.Player.play(cl.audios[idx].mp3);}else{CDE.GChrome.Player.load(cl.audios[idx].mp3);}},prev:function(){var c=CDE.GChrome.Player.current;var cl=CDE.GChrome.Player.currentlist;var idx=cl.audios.indexOf(cl.audios.find(function(a){return a.mp3==c;}))-1;idx=(idx<0)?cl.audios.length-1:idx;CDE.GChrome.Playlist.setActiveAudio(cl.audios[idx]);if(CDE.GChrome.Player.isPlaying){CDE.GChrome.Player.play(cl.audios[idx].mp3);}else{CDE.GChrome.Player.load(cl.audios[idx].mp3);}}};CDE.GChrome.Playlist={_albums:[],_tags:[],isReady:true,tgt:{e:"gc_playlist"},current:{source:"",isTags:false,isAlbums:false,album:null,tag:null,audio:null,list:null},active:{source:"",isTags:false,isAlbums:false,album:null,tag:null,audio:null,list:null},init:function(){this._tags=[];this._albums=[];},setAsAlbums:function(){this.current.isTags=false;this.current.isAlbums=true;this.current.source="albums";this._tags.each(function(t){t.unselect();});if(this.current.list){var _23=this.current.list.name;if(!this.current.list.ispublic){_23+="<img align=\"absmiddle\" "+" style=\"padding:2px;border:0;\" "+" src=\""+CDE.ENV.CDE_STATIC+"/panel/tree/privilegeicon.png\" "+" title=\"Private Album\">";}Element.update("gc_title",_23);CDEFuncs.setCookie("albumId",this.current.list.id);CDEFuncs.setCookie("audioTag","");}},setAsTags:function(){this.current.isTags=true;this.current.isAlbums=false;this.current.source="tags";this._albums.each(function(a){a.unselect();});Element.update("gc_title","Audio tagged with: "+unescape(this.current.list.name));CDEFuncs.setCookie("albumId","");CDEFuncs.setCookie("audioTag",this.current.list.name);},tagAdd:function(t){this._tags.push(t);},tagLoad:function(tag){if(!this.isReady){return false;}this.current.list=tag;this._tags.each(function(t){t.unselect();});this.setAsTags();this.current.list.select();this.audioLoad();},tagLoadByName:function(_28){this.tagLoad(this._tags.find(function(a){return a.name==_28;})||this._tags.first());},albumAdd:function(a){this._albums.push(a);},albumLoad:function(_2b){if(!this.isReady){return false;}if(!this._albums.length>0){return false;}this.current.list=_2b;this._albums.each(function(a){a.unselect();});this.setAsAlbums();this.current.list.select();this.audioLoad();},albumLoadById:function(id){if(this._albums.length>0){this.albumLoad(this._albums.find(function(a){return a.id==id;})||this._albums.first());}},audioAdd:function(a){this.current.list.audios.push(a);},audioPreLoad:function(){var _30=DomBuilder.apply();var DIV=_30.DIV({style:"color:#000;font-size:15px;margin:10px;"},"Please wait...");if($(this.tgt.e)){$(this.tgt.e).innerHTML="";$(this.tgt.e).appendChild(DIV);}},audioLoad:function(){if(!this.isReady){return false;}this.audioPreLoad();CDE.GChrome.Buttons.recast();if(this.current.list.data){this.listPopulate();}else{this.audioJSON_fetch();}},audioJSON_fetch:function(){var url="/music/gchrome/getPlaylist.php?";this.isReady=false;if(this.current.isTags){url+="tag="+this.current.list.name;}else{if(this.current.isAlbums){url+="id="+this.current.list.id;}}new Ajax.Request(url,{method:"post",asynchronous:true,onComplete:this.audioJSON_process.bind(this)});},audioJSON_process:function(req){this.current.list.data=JSON.parse(req.responseText);this.current.list.data.each(function(a){new CDE.GChrome.Audio(a);});this.listPopulate();this.isReady=true;},listPopulate:function(){this.listInit();var _35=this;var ctr=0;var max=13;this.current.list.audios.each(function(a){if(CDE.ENV.BR=="msie"){a.activate();}ctr++;if(ctr%2){Element.addClassName(a.tgt.ROW,"alt");}_35.tgt.tbody.appendChild(a.tgt.ROW);if(CDE.ENV.IS_LOGGEDIN&&_35.current.list.isOwner){a.makeDraggable();}});var _39=DomBuilder.apply();while(max>ctr){var xTR=_39.TR(_39.TD(),_39.TD(),_39.TD(),_39.TD(),_39.TD());ctr++;if(ctr%2){Element.addClassName(xTR,"alt");}_35.tgt.tbody.appendChild(xTR);}if(CDE.GChrome.opts.initAUDID){var _3b=CDE.GChrome.opts.initAUDID;if(audio=this.current.list.audios.find(function(au){return au.mp3.audioID==_3b;})){this.setCurrentAudio(audio);CDE.GChrome.Player.play(audio.mp3);}else{audio=this.current.list.audios.first();this.setCurrentAudio(audio);CDE.GChrome.Player.load(audio.mp3);}}},listInit:function(){if(!$(this.tgt.e)){return false;}this.tgt.e=$(this.tgt.e);this.tgt.e.innerHTML="";var _3d=DomBuilder.apply();var _3e=CDE.ENV.BR=="msie"?"99.7%":"100%";this.tgt.table=_3d.TABLE({border:"0",width:_3e,cellspacing:0,cellpadding:2,"class":"table-list"});this.tgt.tbody=_3d.TBODY(_3d.TR({id:"list-head",valign:"top",height:23},_3d.TD({"class":"num",align:"center",width:30}),_3d.TD("Song/Podcast"),_3d.TD("Artist"),_3d.TD({align:"center"},"Duration"),_3d.TD("")));this.tgt.table.appendChild(this.tgt.tbody);this.tgt.e.appendChild(this.tgt.table);},setActiveAudio:function(_3f){if(this.active.audio&&this.active.audio.unselect){this.active.audio.unselect();}this.active.audio=_3f;this.active.list=this.current.list;this.active.list.audios.each(function(a){a.unselect();});this.active.audio.select();CDE.GChrome.Player.currentlist=this.current.list;},setCurrentAudio:function(_41){if(this.current.audio&&this.current.audio.unselect){this.current.audio.unselect();}this.current.audio=_41;this.current.list.audios.each(function(a){a.unselect();});this.current.audio.select();CDE.GChrome.Player.currentlist=this.current.list;}};CDE.GChrome.Album=Class.create();CDE.GChrome.Album.prototype={evt:{},initialize:function(_43,id,_45){var _46=Object.extend({name:_43,id:parseInt(id),pid:parseInt(_45),hasAudio:false,selected:false,isRoot:false,data:false,audios:[]},arguments[3]||{});Object.extend(this,_46);if($(this.e_a)){this.evt.album_select=this.actionSelect.bindAsEventListener(this);Event.observe(this.e_a,"click",this.evt.album_select);if(CDE.ENV.IS_LOGGEDIN&&CDE.ENV.BR!="msie"){Droppables.add(this.e_li,{hoverclass:"album_hover",onDrop:this.actionDrop.bind(this)});}}CDE.GChrome.Playlist.albumAdd(this);},actionDrop:function(){var GPA=CDE.GChrome.Playlist.current.audio;var _48=this;CDE.Waiter.open({content:"Moving "+GPA.info.name+" to "+this.name+" album. <br>Please wait..."});var qry={itemId:GPA.info.ID,parent:GPA.info.rootID,destId:this.id,name:GPA.info.name};var url=CDEFuncs.buildAsQuery("ajax.moveaudio.php",qry);new Ajax.Request(url,{method:"post",asynchronous:false,onComplete:function(){_48.removeData();CDE.GChrome.Playlist.current.list.removeData();CDE.GChrome.Playlist.albumLoad(_48);CDE.Waiter.close();}});},actionSelect:function(){CDE.GChrome.Playlist.albumLoadById(this.id);},select:function(){if($(this.e_li)&&$(this.e_a)){$(this.e_li).setStyle({backgroundColor:"#000"});$(this.e_a).setStyle({color:"#FFCC00"});this.selected=true;}},unselect:function(){if($(this.e_li)&&$(this.e_a)){$(this.e_li).setStyle({backgroundColor:""});$(this.e_a).setStyle({color:"#FFF"});this.selected=false;}},removeData:function(){this.data=false;this.audios=[];}};CDE.GChrome.Tags=Class.create();CDE.GChrome.Tags.prototype={initialize:function(_4b,id){var _4d=Object.extend({name:_4b,e_id:id,selected:false,data:false,audios:[]},arguments[2]||{});Object.extend(this,_4d);if($(this.e_id)){this.event_select=this.actionSelect.bindAsEventListener(this);Event.observe(this.e_id,"click",this.event_select);}CDE.GChrome.Playlist.tagAdd(this);},actionSelect:function(){CDE.GChrome.Playlist.tagLoadByName(this.name);},select:function(){if($(this.e_id)){$(this.e_id).setStyle({backgroundColor:"#000"});this.selected=true;}},unselect:function(){if($(this.e_id)){$(this.e_id).setStyle({backgroundColor:""});this.selected=false;}}};CDE.GChrome.Audio=Class.create();CDE.GChrome.Audio.prototype={initialize:function(){this.info=Object.extend({isSelected:false,isPlaying:false,isLoaded:false},arguments[0]||{});this.mp3={file:this.info.file.replace(/\s+/g,escape("+")),title:encodeURIComponent(this.info.name),tags:encodeURIComponent(this.info.tags),audioID:this.info.ID,durations:this.info.dursecs};this.tgt={};this.btn={};this.activate();CDE.GChrome.Playlist.audioAdd(this);},activate:function(){var _4e=DomBuilder.apply();var _4f=CDE.GChrome.Playlist.current.list;var _50=CDE.GChrome;this.tgt.PLAY=_4e.TD({align:"center"});this.btn.PLAY=_4e.IMG({src:CDE.ENV.CDE_STATIC+"/gallery/gchrome/track_play_button.png",style:"cursor:pointer;"});this.tgt.PLAY.appendChild(this.btn.PLAY);this.btn.PLAY.onclick=this.actionPlay.bind(this);this.tgt.HANDLE=_4e.SPAN({style:"text-decoration:none;overflow:hidden"},CDEFuncs.truncate(this.info.name,25));this.tgt.NAME=_4e.TD({style:"cursor:pointer;white-space: nowrap"},this.tgt.HANDLE);Event.observe(this.tgt.NAME,"click",this.actionSelect.bindAsEventListener(this));this.tgt.AUTHOR=_4e.TD(CDEFuncs.truncate(this.info.author,20));this.tgt.DURATION=_4e.TD({align:"center",style:"white-space:nowrap"},this.info.duration);this.tgt.ACTION=_4e.TD({align:"center"});if(CDE.ENV.IS_LOGGEDIN&&_4f.allowDload&&_50.opts.initSource=="album"){var _51=this.info.photourl;this.btn.DLOAD=_4e.A({href:_51,title:this.info.name,alt:this.info.name},_4e.IMG({src:CDE.ENV.CDE_STATIC+"/gallery/gchrome/edit_DOWNLOAD.png"}));this.tgt.ACTION.appendChild(this.btn.DLOAD);}if(CDE.ENV.IS_LOGGEDIN&&(_4f.isOwner||_4f.isCoAuthor)){this.btn.EDIT=_4e.SPAN({style:"cursor:pointer;margin-left:2px;"},_4e.IMG({src:CDE.ENV.CDE_STATIC+"/menubar/btns/edit.png"}));Event.observe(this.btn.EDIT,"click",this.actionEdit.bindAsEventListener(this));this.btn.DEL=_4e.SPAN({style:"cursor:pointer;margin-left:2px;"},_4e.IMG({src:CDE.ENV.CDE_STATIC+"/menubar/btns/close.png"}));Event.observe(this.btn.DEL,"click",this.actionDelete.bindAsEventListener(this));this.tgt.ACTION.appendChild(this.btn.EDIT);this.tgt.ACTION.appendChild(this.btn.DEL);}this.tgt.ROW=_4e.TR({style:"padding:2px;"},this.tgt.PLAY,this.tgt.NAME,this.tgt.AUTHOR,this.tgt.DURATION,this.tgt.ACTION);},makeDraggable:function(){if(CDE.ENV.BR=="msie"){return false;}this.info.isDraggable=true;this.info.isDragging=false;$(this.tgt.HANDLE).setStyle({display:"block"});this.drag={mouseOver:function(){$(this.tgt.NAME).setStyle({cursor:"move"});},mouseOut:function(){$(this.tgt.NAME).setStyle({cursor:""});},start:function(){this.actionSelect();$(this.tgt.HANDLE).addClassName("audio_drag");},end:function(){$(this.tgt.HANDLE).removeClassName("audio_drag");}};this.drag.evtmOver=this.drag.mouseOver.bindAsEventListener(this);this.drag.evtmOut=this.drag.mouseOut.bindAsEventListener(this);Event.observe(this.tgt.HANDLE,"mouseover",this.drag.evtmOver);Event.observe(this.tgt.HANDLE,"mouseout",this.drag.evtmOut);this.info.drag=new Draggable(this.tgt.HANDLE,{zindex:1000,ghosting:true,revert:true,starteffect:this.drag.start.bind(this),endeffect:this.drag.end.bind(this)});},select:function(){this.info.isSelected=true;Element.addClassName(this.tgt.ROW,"audio_select");return true;},unselect:function(){Element.removeClassName(this.tgt.ROW,"audio_select");this.info.isSelected=false;this.info.isPlaying=false;return true;},actionSelect:function(){CDE.GChrome.Playlist.setCurrentAudio(this);CDE.GChrome.Player.load(this.mp3);},actionPlay:function(){CDE.GChrome.Playlist.setActiveAudio(this);CDE.GChrome.Player.play(this.mp3);},actionEdit:function(){var _52=CDE.GChrome.Playlist.current.list;var url=CDEFuncs.buildAsQuery("/music/iph/edit_item.php",{itemId:this.info.ID,parentId:this.info.rootID,type:_52.type});CDE.Pop.open(url,{w:300,title:"Edit Info"},true);return false;},actionDelete:function(){var url;var qry={itemId:this.info.ID,parent:this.info.rootID,name:this.info.name};url=CDEFuncs.buildAsQuery("ajax.deleteaudio.php",qry);CDE.Pop.open(url,{w:300,title:"Delete Audio"},true);return false;}};})();