jmaki.namespace("jmaki.widgets.moa.moaHomesitePlaylist");jmaki.widgets.moa.moaHomesitePlaylist.Widget=function(wargs){var _widget=this;var uuid="#"+wargs.uuid;var publish="/moa/moaHomesitePlaylist";var subscribe=["/moa/moaHomesitePlaylist"];var tasks=["/loadTracks","/stateUpdate"];var _minSearchChars=3;var _pids=new Array();var _tracks=new Array();var _playlists=new Array();var _eventAlreadyBound=false;var _gbl_srch="global_search";var _aggregate_srch="aggregate_search";var tpl_track='<div class="playlist_row_container"><div class="album_cover"><img class="album_cover_img" id="idIcnAlbumCover"/></div><div class="track_details"><div class="ClsBodyTextPlaylistHeader"><div id="idTrackType" class="track_ico"></div><span id="idTrackName"></span></div><div class="ClsBodyTextGreyItalic" id="idArtistName"></div><div class="ClsBodyTextGrey">Album:<span id="idAlbumName"></span></div></div><div id="shareLinks"><div class="facebook_s"><a id="fb_share" name="fb_share" type="icon_link_none" title="Click to share this Track on Facebook"></a></div><div class="twitter_s"><a id="twitter_share" title="Click to share this Track on Twitter"></a></div></div><div id="play_btn" class="play_btn"></div><div class="buy_btn"></div></div>';var scrollWidgets=new Array("#homelyrics","#hometracknotes","#homeplaylistnotes");if(wargs.publish){publish=wargs.publish;}if(wargs.subscribe){if(typeof wargs.subscribe=="string"){subscribe=[];subscribe.push(wargs.subscribe);}else{subscribe=wargs.subscribe;}}var initSubscribe=function(){_widget.subs=[];doSubscribe(subscribe+tasks[0],_widget.loadTracks);doSubscribe(subscribe+tasks[1],_widget.stateUpdate);};var doSubscribe=function(topic,handler){var i=jmaki.subscribe(topic,handler);_widget.subs.push(i);};var init=function(){initSubscribe();};this.postLoad=function(){init();initSearch();_widget.doLoad("",default_load_agrregate,"");};var initSearch=function(){_widget.setDefaults();_widget.initTooltip();$(uuid+"_trackSearch").bind("keyup",function(e){if(e.keyCode==13){fireEvent(_gbl_srch);}});$(uuid+"_gsearchIcn").bind("click",function(e){if($(uuid+"_trackSearch").val()=="Search..."){$(uuid+"_trackSearch").val("");}fireEvent(_gbl_srch);});};var fireEvent=function(_srchType){if($(uuid+"_trackSearch").val().length>=_minSearchChars){evtSearch(_srchType);}else{_widget.showMsg("Must be at least "+(_minSearchChars)+" characters!");}};var evtSearch=function(_srchType){if(_srchType==_gbl_srch){doSearch($(uuid+"_trackSearch").val(),"","",null);}else{doSearch($(uuid+"_trackSearch").val(),default_load_agrregate,"",null);}};this.initTooltip=function(){$(uuid+"_gsearchContainer").tooltip({position:"bottom left",offset:[-5,10],effect:"fade",opacity:0.7,tip:uuid+"_dflmsg",event:{def:"mouseout"},delay:4,onBeforeShow:function(cl){if($(uuid+"_dflmsg").text()==""||$(uuid+"_dflmsg").text().length==0){return false;}return true;},onHide:function(cl){_widget.clearMsg();return true;}});};this.showMsg=function(_msg){$(uuid+"_dflmsg").text(_msg);$(uuid+"_gsearchContainer").tooltip().show();_widget.startCloseTimer();};this.hideMsg=function(){$(uuid+"_gsearchContainer").tooltip().hide();};this.clearMsg=function(){$(uuid+"_dflmsg").text("");};this.startCloseTimer=function(){setTimeout(function(){_widget.hideMsg();},2500);};this.setDefaults=function(){$("#openslider").bind("click",function(){$("#sldr").animate({left:"-=400px"},"slow");$("#openslider").css("display","none");$("#closeslider").css("display","block");});$("#closeslider").bind("click",function(){$("#sldr").animate({left:"+=400px"},"slow");$("#openslider").css("display","block");$("#closeslider").css("display","none");});applyWaterMark(uuid+"_trackSearch","Search...");$(uuid+"_playall").bind("click",function(){if(_pids!=null&&_pids.length>0){var _value=_pids.concat(",");var _trackVal=_tracks.concat(",");var _playlistsVal=_playlists.concat(",");jmaki.publish("/moa/playlistOnHomesite/playVideo",{value:_value,trackId:_trackVal,playlistId:_playlistsVal});}});$(uuid+"_showComponents").bind("click",function(){if(!$(".components_header").find(".component_icn").hasClass("close_component")){$(".components_content").slideDown("slow");$(".components_header").find(".component_icn").addClass("close_component");try{for(var n=0;n<scrollWidgets.length;n++){$("#"+getParentContainerID(scrollWidgets[n])+"_external_content_Container").jScrollPaneRemove();$("#"+getParentContainerID(scrollWidgets[n])+"_external_content_Container").jScrollPane({maintainPosition:true,reinitialiseOnImageLoad:true});}}catch(error){}}});$(uuid+"_hideComponents").bind("click",function(){if($(".components_header").find(".component_icn").hasClass("close_component")){$(".components_content").slideUp("slow");$(".components_header").find(".component_icn").removeClass("close_component");}});};this.loadTracks=function(e,c){var _criteria="";var _aggregate="";var _playlist="";if(e&&e.criteria){_criteria=e.criteria;}if(e&&e.aggregate){_aggregate=e.aggregate;}if(e&&e.playlist){_playlist=e.playlist;}_widget.doLoad(_criteria,_aggregate,_playlist);};this.stateUpdate=function(e,c){var _currentTrack="";var _albumId="";var _playlistId="";var _trackId="";if(e&&e.objectPid){_currentTrack=e.objectPid;}if(e&&e.albumId){_albumId=e.albumId;}if(e&&e.playlistId){_playlistId=e.playlistId;}if(e&&e.trackId){_trackId=e.trackId;}jmaki.publish("/moa/moaflashplayer/loadHomesiteImage",{albumId:_albumId,playlistId:_playlistId,trackId:_trackId});$(".playingTrack").removeClass("playingTrack");if(_currentTrack!=null&&_currentTrack.length>0){$("#"+clean(_currentTrack)).addClass("playingTrack");}};var clean=function(_str){_str=_str.replace(/\:/gi,"");_str=_str.replace(/\+/gi,"");_str=_str.replace(/\./gi,"");return _str;};this.doLoad=function(_criteria,_aggregate,_playlist){if(_aggregate!=null&&_aggregate.length>0){homesiteplaylist.getPlaylistForAggregate(_aggregate,loadPlaylist);}};this.renderTracks=function(_resultItems){if(_resultItems!=null&&_resultItems.length>0){_pids=new Array();_tracks=new Array();_playlists=new Array();$(uuid+"_playlist_container").html("");for(var _itemIndex=0;_itemIndex<_resultItems.length;_itemIndex++){var _item=_resultItems[_itemIndex];if(_item!=null){var _clone=$(tpl_track).clone();_clone.attr("id",clean(_item.itemMedia));_widget.setAlbumCoverControl(_clone,_item.itemAlbumMedia,_item.itemAlbumURL);_widget.setAlbumControl(_clone,_item.itemAlbumName,_item.itemAlbumURL,_item.itemAlbumId);_widget.setTrackControl(_clone,_item.itemTitle,_item.itemMedia,_item.itemPlaylistId,_item.itemTrackId,_item.itemAlbumId,_item.itemTrackType);_widget.setArtistControl(_clone,_item.itemAuthor,_item.itemAuthorId,_item.itemMedia);_widget.setLinkControl(_clone,_item);_pids.push(_item.itemMedia);_tracks.push(_item.itemTrackId);_playlists.push(_item.itemPlaylistId);jmaki.attributes.put("playlists_loaded",_playlists);jmaki.attributes.put("tracks_loaded",_tracks);$(uuid+"_playlist_container").append(_clone);}}$(uuid+"_playlist_container").jScrollPaneRemove();$(uuid+"_playlist_container").jScrollPane();}else{_widget.showMsg("No results found !");}};this.setAlbumCoverControl=function(_clone,_val,_url){_clone.find("#idIcnAlbumCover").attr("src",_val);_clone.find("#idIcnAlbumCover").css({cursor:"pointer"});_clone.find("#idIcnAlbumCover").bind("click",function(){window.open(_url);});};this.setAlbumControl=function(_clone,_albumName,_url,_albumId){_clone.find("#idAlbumName").html(_albumName);_clone.find("#idAlbumName").css({cursor:"pointer"});_clone.find("#idAlbumCart").bind("click",function(){addtoshoppingcartHome(COMPONENT_TYPE_ALBUM,_albumId,0,0);});_clone.find("#idAlbumName").bind("click",function(){window.open(_url);});};this.setTrackControl=function(_clone,_val,_mediaPid,_playlistId,_trackId,_albumId,_trackType){_clone.find("#idTrackName").html(_val);_clone.find("#idTrackCart").bind("click",function(){addtoshoppingcartHome(COMPONENT_TYPE_TRACK,_albumId,_playlistId,_trackId);});_clone.find("#idTrackType").addClass("clsTrackType-"+_trackType);_clone.find("#play_btn").bind("click",function(){jmaki.publish("/moa/playlistOnHomesite/playVideo",{value:_mediaPid,trackId:_trackId,playlistId:_playlistId});jmaki.publish("/moa/playlist/playVideo",{value:_mediaPid,trackId:_trackId,playlistId:_playlistId});$(".playingTrack").removeClass("playingTrack");_clone.addClass("playingTrack");});if(!_eventAlreadyBound){_widget.doHandleComponents();_eventAlreadyBound=true;}};this.doHandleComponents=function(){for(var _wid=scrollWidgets.length-1;_wid>=0;_wid--){$("#"+getParentContainerID(scrollWidgets[_wid])+"_external_content_Container").live("loadComplete",function(){var _closedWidgets=jmaki.attributes.get("closedWidgets");var _checkString="_container";if(_closedWidgets){var _widgetsClosed=0;for(var m=0;m<_closedWidgets.length;m++){try{var widgetContName=""+_closedWidgets[m];if(widgetContName.indexOf(_checkString)>-1){_widgetsClosed=_widgetsClosed+1;}}catch(Error){}}if(_widgetsClosed>=scrollWidgets.length){if($(".components_header").find(".component_icn").hasClass("close_component")){$(".components_content").slideUp("slow");$(".components_header").find(".component_icn").removeClass("close_component");}}}});}};this.setArtistControl=function(_clone,_artistName,_artistId){_clone.find("#idArtistName").html(_artistName);_clone.find("#idArtistName").bind("click",function(){$("#openslider").click();});};this.setLinkControl=function(_clone,_item){_clone.find("#fb_share").attr("share_title",_item.itemAuthor+" - "+_item.itemAlbumName+" - "+_item.itemTitle);var hrefPath=window.location.href;var serverpath=hrefPath.split(".moa")[0];_clone.find("#fb_share").attr("share_url",serverpath+".moa?a="+_item.itemAlbumId+"&p="+_item.itemPlaylistId+"&t="+_item.itemTrackId);_clone.find("#fb_share").click(function(){if(_item.itemTrackId>0){window.open("http://www.facebook.com/sharer.php?u="+serverpath+".moa%3Fa%3D"+_item.itemAlbumId+"%26p%3D"+_item.itemPlaylistId+"%26t%3D"+_item.itemTrackId+"&t="+_item.itemAuthor+" - "+_item.itemAlbumName+" - "+_item.itemTitle+"&src=sp","ShareOnFacebook","left=50,top=50,width=565,height=400,location=0,status=0,menubar=0,toolbar=0,resizable=1");}else{window.open("http://www.facebook.com/sharer.php?u="+serverpath+".moa%3Fa%3D"+_item.itemAlbumId+"%26p%3D"+_item.itemPlaylistId+"&t="+_item.itemAuthor+" - "+_item.itemAlbumName+"&src=sp","ShareOnFacebook","left=50,top=50,width=565,height=400,location=0,status=0,menubar=0,toolbar=0,resizable=1");}});_clone.find("#twitter_share").click(function(){if(_item.itemTrackId>0){playlistinfo.createShortUrlForWidget(_item.itemTrackId,_item.itemPlaylistId,_item.itemAlbumId,serverpath+".moa",function(reply){if(reply!=null&&reply.length>0){window.open("http://twitter.com/home?status="+_item.itemAuthor+" - "+_item.itemAlbumName+" - "+_item.itemTitle+". Site Url "+reply,"ShareOnTwitter","left=50,top=50,width=565,height=400,location=0,status=0,menubar=0,toolbar=0,resizable=1");}});}else{playlistinfo.createShortUrlForWidget(0,_item.itemPlaylistId,_item.itemAlbumId,serverpath+".moa",function(reply2){if(reply2!=null&&reply2.length>0){window.open("http://twitter.com/home?status="+_item.itemAuthor+" - "+_item.itemAlbumName+". Site Url "+reply2,"ShareOnTwitter","left=50,top=50,width=565,height=400,location=0,status=0,menubar=0,toolbar=0,resizable=1");}});}});};var loadPlaylist=function(playlists){var optionsEle;var optionsText;var indentEle=getImageEle();indentEle.attr("src",contextRoot+"images/tab-edge-arrow.gif");MoaSliderDivMenu($("#homesitePlaylist_dropdownlink"),"homesitePlaylist_dropdownlink");$("#homesitePlaylist_dropdownlink_dropdownlink").append(getlinkelements());if(playlists!=null){var _isDefaultLoaded=false;for(var l=0;l<playlists.length;l++){if(playlists[l].parentId==null||playlists[l].parentId<1){$("#homesitePlaylist_dropdownlink_dropdownmenu").append(getMenuItem(playlists[l].mainTitle,playlists[l].playlistId,false));}else{$("#homesitePlaylist_dropdownlink_dropdownmenu").append(getMenuItem(playlists[l].mainTitle,playlists[l].playlistId,true));}if(l==0){}if(playlists[l].isDefault==1&&!_isDefaultLoaded){$("#PlaylistTitle").html("");$("#PlaylistTitle").append('<p id="marq" >'+playlists[l].mainTitle+"</p>");setMarqueeOnPlaylistTitle("marq");_isDefaultLoaded=true;doSearch("",default_load_agrregate,playlists[l].playlistId,null);}}}$("#homesitePlaylist_dropdownEle").append(optionsEle);};var setMarqueeOnPlaylistTitle=function(playlistTitleId){$("#"+playlistTitleId).marquee({direction:"left"}).trigger("stop").mouseover(function(){$(this).trigger("start");}).mouseout(function(){$(this).trigger("stop");}).mousemove(function(event){if($(this).data("drag")==true){this.scrollLeft=$(this).data("scrollX")+($(this).data("x")-event.clientX);}}).mousedown(function(event){$(this).data("drag",true).data("x",event.clientX).data("scrollX",this.scrollLeft);}).mouseup(function(){$(this).data("drag",false);});$("#PlaylistTitle").attr("style","_width:150px");$("#PlaylistTitle>*").attr("style","overflow: hidden;");$("#PlaylistTitle>div>*").attr("style","float: left; white-space: nowrap;margin-left:2px;");};var doSearch=function(_srchCriteria,_aggregate,_playlistId,_fields){search.doSearchAllTracks(_srchCriteria,_aggregate,_playlistId,_fields,_widget.renderTracks);};var getMenuItem=function(_name,_id,_isChild){var indentImage=getDivEle();indentImage.attr("class","menu_indent_image");var item=getDivEle();item.html(_name);item.attr("class","playlist_item_select");if(_isChild){item.attr("style","padding-left:25px;");}item.bind("click",function(){$("#PlaylistTitle").html("");$("#PlaylistTitle").fadeIn("fast").append('<p id="marq" > '+_name+" </p>");setMarqueeOnPlaylistTitle("marq");doSearch("",default_load_agrregate,_id,null);});return item;};this.togglePlaylistHideShowComponents=function(e,c){$(uuid+"_showComponents").toggle();$(uuid+"_hideComponents").toggle();jmaki.publish("/jscroll/apply",{message:"all"});};var getDivEle=function(){return $("<div></div>").clone();};var getImageEle=function(){return $("<img></img>").clone();};var getAnchorEle=function(){return $("<a></a>").clone();};var getlinkelements=function(){var anchorItem=getAnchorEle();anchorItem.attr("id","PlaylistTitle");return anchorItem;};};
