Type.registerNamespace("RFERL.js.custom");RFERL.js.custom.Playlist=function(a,b){RFERL.js.custom.Playlist.initializeBase(this);this._MediaPlayerURL=a;this.nowPlaying=b?b:new Object();this._flId="MediaPlayer";this._dragItem=new Object();this._dragActive;this._startDragPageX;this._startDragPageY;this._dragCont=new Object();this._OPlaylist=$("#playlist");this._OAudioCont=$(".flash_audio_container");this._bottomDD;this._scrollBFinished=false;this._scrollPlTopActive;this._scrollPlBottomActive;this._scrollTimer;this._winByDescA};RFERL.js.custom.Playlist.prototype={doLoadPlaylist:function(a){var b=this;this._loadPlaylistExecute(a,function(d,c,e){if(d!=null&&c!=null&&e!=true){www.rferl.org.Services.PlaylistService.AddToPlaylistWithBody(d,c,e,RFERL.js.custom.Playlist.get_campaign(),function(f){b._standardLoadPlaylistCallbackNewItem(f)},function(f){alert(f.get_message());if(f.get_exceptionType()=="www.rferl.org.Services.PlaylistService+PlaylistSizeExceededEcxeption"){b.loadPlaylist(true)}})}else{www.rferl.org.Services.PlaylistService.GetPlaylistBody$4(d,c,false,RFERL.js.custom.Playlist.get_campaign(),function(f){b._standardLoadPlaylistCallbackNoNewItem(f)})}})},_loadPlaylistExecute:function(a,b){var f=null;var d=null;var g=false;if(!a){if(window.opener){if(window.itemType){f=window.itemType}if(window.itemId){d=window.itemId}if(window.playNow){g=window.playNow}if(window.campaign){g=window.campaign}if(window.campaignFor){g=window.campaignFor}try{if(window.opener._itemType){f=window.opener._itemType}if(window.opener._itemId){d=window.opener._itemId}if(window.opener._playNow){g=window.opener._playNow}if(window.opener._campaign){g=window.opener._campaign}if(window.opener._campaignFor){g=window.opener._campaignFor}window.opener._itemType=null;window.opener._itemId=null;window.opener._playNow=null;window.opener._campaign=null;window.opener._campaignFor=null}catch(c){}}if(f==null&&this.nowPlaying.type){f=this.nowPlaying.type}if(d==null&&this.nowPlaying.contentId){d=this.nowPlaying.contentId;g=true}}b(f,d,g)},_standardLoadPlaylistCallbackNewItem:function(a){nowPlayingId=false;this._standardLoadPlaylistCallbackNoNewItem(a);this.shortTitles();this.scrollToItem($(".playlist_item",this._OPlaylist).last(),false)},_standardLoadPlaylistCallbackNoNewItem:function(b){var c=this;this.setPlaylistContent(b.html,b.nowPlayingId);if(b.message){var a=$("<span class='playlistMessage' style='clear:both'/>");a.text(b.message);$(".playlist_container:first .playlistMessage").remove();$(".playlist_container:first").append(a);window.setTimeout(function(){a.remove()},30000)}},loadPlaylistForWidgetAudio:function(a){var b=this;this._loadPlaylistExecute(false,function(d,c,e){if(d!=null&&c!=null&&e!=true){www.rferl.org.Services.PlaylistService.GetPlaylistBodyForWidget(a,d,c,RFERL.js.custom.Playlist.get_campaign(),function(f){b._standardLoadPlaylistCallbackNewItem(f)})}else{www.rferl.org.Services.PlaylistService.GetPlaylistBodyForWidget(a,d,c,RFERL.js.custom.Playlist.get_campaign(),function(f){b._standardLoadPlaylistCallbackNoNewItem(f)})}})},mergePlaylistWithWidget:function(a){var b=this;this._loadPlaylistExecute(false,function(d,c,e){if(d!=null&&c!=null&&e!=true){www.rferl.org.Services.PlaylistService.MergePlaylistWithWidget(a,d,c,RFERL.js.custom.Playlist.get_campaign(),function(f){b._standardLoadPlaylistCallbackNewItem(f)})}else{www.rferl.org.Services.PlaylistService.MergePlaylistWithWidget(a,d,c,RFERL.js.custom.Playlist.get_campaign(),function(f){b._standardLoadPlaylistCallbackNoNewItem(f)})}})},addToPlaylist:function(b,a,e,d){var c=this;www.rferl.org.Services.PlaylistService.AddToPlaylistWithBody(b,a,e,RFERL.js.custom.Playlist.get_campaign(),function(g){if(!g.isError){c.setPlaylistContent(g.html,false,false)}var f=c.selectPlItem(a);c.scrollToItem(f,true,d?d:function(){var h="playlist_item_hilight";f.addClass(h);window.setTimeout(function(){f.removeClass(h)},500)})},function(f){alert(f.get_message());if(f.get_exceptionType()=="www.rferl.org.Services.PlaylistService+PlaylistSizeExceededEcxeption"){c.doLoadPlaylist(true)}d&&d()})},getExternalItemData:function(b,a,d){var c=this;www.rferl.org.Services.PlaylistService.GetPlaylistItem(b,a,RFERL.js.custom.Playlist.get_campaign(),function(e){c._playItem(e)})},setPlaylistContent:function(a,c,b){b=b===false?false:true;this._OPlaylist.html(a);this._bottomDD=$("<div class='bottom_DD_dummy'></div>");$(".playlist_item",this._OPlaylist).last().after(this._bottomDD);this.shortTitles();if(this.nowPlaying.contentId){this.postProcess(this.selectPlItem(this.nowPlaying.contentId),b)}},clearAll:function(a){var b=this;if(confirm(a)){this.selectLoadIndicator().show();www.rferl.org.Services.PlaylistService.ClearPlaylist(function(){if(b.nowPlaying.contentId){b.selectDescPlLink().show()}b._OPlaylist.empty();b.selectLoadIndicator().hide();fixOperaRedraw("#f4f4f4")},function(){b.selectLoadIndicator().hide()})}},removeItem:function(c){var b=this;var a=$(c).parents(".playlist_item");this.selectLoadIndicator().show();www.rferl.org.Services.PlaylistService.RemoveFromPlaylist(parseInt(a.data("playlistItem").id),function(){if(a.hasClass("playlist_item_nowplaying")&&b.nowPlaying.contentId){b.selectDescPlLink().show()}a.remove();b.selectLoadIndicator().hide();fixOperaRedraw("#f4f4f4")},function(){b.selectLoadIndicator().hide()})},saveOrder:function(){var b=this;var a=[];$(".playlist_item",this._OPlaylist).each(function(c){a.push(parseInt($(this).data("playlistItem").id))});www.rferl.org.Services.PlaylistService.SetItemsOrder(a,function(c){if(c!==true){alert(Localizations.Multimedia.Playlist.OrderingError);b.doLoadPlaylist(true)}})},playNextItem:function(c){var b=$(".playlist_item_nowplaying",this._OPlaylist).next(".playlist_item");if(b.length>0){this._playItem(b.data("playlistItem"))}else{var a=$(".playlist_item",this._OPlaylist).first();if(a.length>0){this._playItem(a.data("playlistItem"))}}},playItem:function(a){this._playItem($(a).parents(".playlist_item").data("playlistItem"))},_playItem:function(c){var e=this;var b=c.id?$("#playlist_item_"+c.id+"_audio_"+c.contentId):null;var a=$(".playlist_item_play",b);var d="playlist_item_wait";$("."+d).removeClass(d);a.addClass(d);this.playItemInFlash2(c,$("#"+this._flId).get(0),function(){a.removeClass(d);e.nowPlaying.contentId=c.contentId;e.nowPlaying.type=c.contentType;e.nowPlaying.isOnAirNow=c.isOnAirNow;var k=$(".playing_item_desc");var h=$("*[id*=h4ItemTitle]",k);h.html(c.name);h.css("display",(!c.name||c.name==="")?"none":"inline");var f=$("img[id*=imgProgram]",k);f.attr("alt",c.name);f.attr("title",c.name);f.attr("src",c.imageUrl);e.showHideDescImg(f);var i=$("#pItemDesc",k);i.html(b?$(".playlist_item_description",b).html():c.description);$("a",i).click(function(l){l.preventDefault();e._winByDescA=window.open($(this).attr("href"),"winByDescA");e._winByDescA.focus()});$("*[id*=spaDate]",k).html(c.broadcastDate);$("#flash_audio").html(b?$(".playlist_item_links",b).html():c.linksHtml);document.title=c.name+" - "+window.Localizations.Common.PageTitle_Short;if(c.livetrackUrl!==""){var j=$("img[id*=ltcLivetrack]");if(j.length>0){j.attr("src",c.livetrackUrl)}else{var g=$(".flash_audio_container *:last");if(g.length>0){g.after('<img height="1" width="1" style="border: medium none;" id="ltcLivetrack" alt="" src="'+c.livetrackUrl+'">')}}}e.postProcess(b)})},postProcess:function(b,d){d=d===false?false:true;var a=this.selectDescPlLink();var c="playlist_item_nowplaying";$("."+c).removeClass(c);if(b&&b.length>0){b.addClass(c);if(d){this.scrollToItem(b,true)}a.hide()}else{a.show()}if(this.nowPlaying.isOnAirNow){a.hide()}fixOperaRedraw("#f4f4f4")},moveItemUp:function(c){var b=$(c).parents(".playlist_item");var a=b.prev(".playlist_item");if(a.length>0){b.removeClass("playlist_item_hilight");a.before(b);this.saveOrder()}},moveItemDown:function(c){var b=$(c).parents(".playlist_item");var a=b.next(".playlist_item");if(a.length>0){b.removeClass("playlist_item_hilight");a.after(b);this.saveOrder()}},scrollToItem:function(c,a,g){var a=a===false?false:true;var b=this._OPlaylist;var d=b.scrollTop()+c.position().top;var e=c.offsetParent().get(0)===b.get(0)?d:d-b.position().top;var f=b.get(0).scrollHeight-b.height();if(e>f){e=f}if(a){this.animateScroll(b,Math.ceil(((e-b.scrollTop())/250)*30),e,g)}else{b.scrollTop(e);g&&g()}},startDrag:function(b,a){this._startDragPageX=b.pageX?b.pageX:(b.clientX?b.clientX+document.body.scrollLeft+document.documentElement.scrollLeft:null);this._startDragPageY=b.pageY?b.pageY:(b.clientY?b.clientY+document.body.scrollTop+document.documentElement.scrollTop:null);this._dragItem=$(a)},stopDrag:function(c){var d=c.data._this;var b=$(".drop_target");if(b.hasClass("playlist_item")&&d._dragItem.get(0)!==b.get(0)){b.before(d._dragItem);d.saveOrder()}if(b.hasClass("bottom_DD_dummy")){var a=$(".playlist_item",d._OPlaylist).last();if(a.get(0)!==d._dragItem.get(0)){a.after(d._dragItem);d.saveOrder()}}if(b.hasClass("flash_audio_container")){d._playItem(d._dragItem.data("playlistItem"))}d._dragActive=false;d._dragItem=new Object();d._cancelScroll();b.removeClass("drop_target");$("#playlist_drag_container").hide()},dragPlItem:function(c){var g=c.data._this;if(g._dragItem.length>0&&!g._dragActive&&(Math.abs(g._startDragPageX-c.pageX)>=5||Math.abs(g._startDragPageY-c.pageY)>=5)){g._dragCont=$("#playlist_drag_container");g._dragActive=true;g._dragCont.html(g._dragItem.html());g._dragCont.show()}if(g._dragActive==true){g._dragCont.css("top",(c.pageY-g._dragCont.height()+10)+"px");g._dragCont.css("left",(c.pageX-(g._dragCont.width()/2))+"px");$(".drop_target").removeClass("drop_target");if(g._isCollision(g._OPlaylist,c)){if(g._isCollision(g._bottomDD,c)){g._bottomDD.addClass("drop_target")}else{var d=$(".playlist_item",g._OPlaylist);var a;d.each(function(h){var e=$(this);if(g._isCollision(e,c)){e.addClass("drop_target")}if(h===d.length-1){a=e.offset().top+e.outerHeight()}});if(c.pageY>a){g._bottomDD.addClass("drop_target")}}}if(g._isCollision(g._OAudioCont,c)){g._OAudioCont.addClass("drop_target")}var f=(g._isCollPlHoriz(c)&&c.pageY<g._OPlaylist.offset().top&&c.pageY>Math.max(g._OPlaylist.offset().top-50,0))?true:false;var b=(g._isCollPlHoriz(c)&&c.pageY>g._OPlaylist.offset().top+g._OPlaylist.outerHeight()&&c.pageY<g._OPlaylist.offset().top+g._OPlaylist.outerHeight()+50)?true:false;if(f){if(!g._scrollPlTopActive){g._scrollPlTopActive=true;g._animateScroll(g._OPlaylist,-7)}}else{if(g._scrollPlTopActive){g._cancelScroll()}}if(b){if(!g._scrollPlBottomActive){g._scrollPlBottomActive=true;g._animateScroll(g._OPlaylist,7,null,function(){g._scrollBFinished=true})}else{if(g._scrollBFinished){g._bottomDD.addClass("drop_target")}}}else{g._scrollBFinished=false;if(g._scrollPlBottomActive){g._cancelScroll()}}}},_isCollision:function(a,b){return(b.pageX>a.offset().left&&b.pageX<a.offset().left+a.outerWidth()&&b.pageY>a.offset().top&&b.pageY<a.offset().top+a.outerHeight())?true:false},_isCollPlHoriz:function(a){return(a.pageX>this._OPlaylist.offset().left&&a.pageX<this._OPlaylist.offset().left+this._OPlaylist.outerWidth())?true:false},animateScroll:function(d,b,a,c){this._cancelScroll();this._animateScroll(d,b,a,c)},_animateScroll:function(g,d,c,f){var e=this;this._scrollPrevVal=g.scrollTop();if(this._scrollPrevVal!=c){g.scrollTop(this._scrollPrevVal+d);var a=g.scrollTop();var b=a+d;if(c&&((d>0&&b>c)||(d<0&&b<c))){d=c-a}if(this._scrollPrevVal!=a){e._scrollTimer=window.setTimeout(function(){e._animateScroll(g,d,c,f)},30)}else{f&&f()}}else{f&&f()}},_cancelScroll:function(){this._scrollPlTopActive=false;this._scrollPlBottomActive=false;window.clearTimeout(this._scrollTimer)},shortTitles:function(){var a=this;$(".playlist_item .playlist_item_title",this._OPlaylist).each(function(){a.shortText($(this),null,25)})},keepReference:function(){var a=this;this._sendRef(window.opener);this._sendRef(this._winByDescA);window.setTimeout(function(){a.keepReference()},500)},_sendRef:function(a){try{if(a&&!a.closed){if(!a.__playerWindow){a.__playerWindow=window}}}catch(b){}},showHideDescImg:function(a){var b=a.attr("src");a.css("display",(!b||b==="")?"none":"inline")},selectDescPlLink:function(){return $(".flash_audio_container .nowplaying_to_playlist")},selectPlItem:function(a){return $(".playlist_item[id*=audio_"+a+"]",this._OPlaylist)},selectLoadIndicator:function(){return $(".playlist_lock_overlay")}};RFERL.js.custom.Playlist.get_campaign=function RFERL$js$custom$Playlist$get_campaign(){if(typeof(RFERL$Site$Utilities$ICampaignPropagator$campaign)!="undefined"&&RFERL$Site$Utilities$ICampaignPropagator$campaign){return RFERL$Site$Utilities$ICampaignPropagator$campaign}return null};RFERL.js.custom.Playlist.registerClass("RFERL.js.custom.Playlist",RFERL.js.custom.BaseListComponent);;
