function Playlist(){this.unhilightColor="transparent";this.hilightColor="#f9f9f9";this.playedColor="#eaeaea";this.hilightPlayedColor="#e4e4e4";this.playlistId="playlist";this.mediaPlayerId="MediaPlayer";var c="bottom_DD_dummy";var d=25;var f="...";var l=20;var i=10;this.playItem=function(o){if(sucesfulPlayResting!=true){var m=this.selectById(o);playerFailures=0;curentlySendedId=m.id;var n=$(m).data("playlistItem");playMediaFromPlaylist(n.flashXmlUrl+"&noImage=1",this.mediaPlayerId,m.id);window.currentlyPlayed=m.id;this.hilightPlayed(o);this.scrollToPlayed();document.DD.draged_object=null;document.DD.underlyingObject=null;document.DD.restoreContainer();document.playingItemDesc.data=n;document.playingItemDesc.renderPlaylistItemDesc();document.playingItemDesc.modifyPlayingItemDesc();document.playingItemDesc.renderAudioLinks();document.playingItemDesc.renderLivetrack();fixOperaRedraw("#f4f4f4")}};this.scrollToPlayed=function(){if(document.getElementById(this.playlistId)==null){return}var o=0;var m=0;var n=window.currentlyPlayed;$("#"+this.playlistId).children().each(function(p){if($(this).attr("id")==n){m=o}o+=$(this).outerHeight()});document.getElementById(this.playlistId).scrollTop=m};this.playFirstItem=function(){var m=$("#"+this.playlistId).children()[0].id;this.playItem(m)};this.playNextItem=function(n){var m;if(n==null){if(!window.currentlyPlayed||window.currentlyPlayed==""){this.playFirstItem();return}else{m=window.currentlyPlayed}}else{m=n}lastPlayedPos=this.getItemPosition(m);maxPos=($("#"+this.playlistId).children().length)-2;if(lastPlayedPos<maxPos){nextItem=$("#"+this.playlistId).children()[lastPlayedPos+1];this.playItem(nextItem.id)}};this.playItemOnClick=function(m){var n=$(m.currentTarget).parent().parent();this.playItem(n.attr("id"))};this.selectById=function(n){var m=null;$("#"+this.playlistId).children().each(function(o){var p=this;if(p.id==n){m=p}});return m};this.sendOrderToServer=function(q,n){var p=q.attr("id");var o=e(p);var m=[];$("#"+this.playlistId).children().each(function(r){if(this.id!=c){m.push(e(this.id))}});www.rferl.org.Services.PlaylistService.SetItemsOrder(m,function(r){if(r!=true){alert(Localizations.Multimedia.Playlist.OrderingError);document.DD.dropToList(q,n,false)}})};var e=function(o){var m=0;s=o.split("_");for(var n=0;n<s.length;n++){if(parseInt(s[n])>0){m=parseInt(s[n]);return m}}return m};this.getItemPosition=function(o){var n=0;var m=null;$("#"+this.playlistId).children().each(function(p){if(this.id==o){m=n}n++});return m};this.removeItem=function(m){var o=$(m.currentTarget).parent().parent();var n=o.attr("id");$("#"+this.playlistId).children().each(function(p){var q=this;var r=e(q.id);if(q.id==n){b(q.id);$("#"+q.id).children().children().each(function(t){$(this).unbind()});www.rferl.org.Services.PlaylistService.RemoveFromPlaylist(r,function(){$("#"+n).remove();fixOperaRedraw("#f4f4f4")},g);return}})};this.clearAll=function(m){var o=confirm(m);var n=this.playlistId;$(".playlist_item_remove").unbind();k();if(o){www.rferl.org.Services.PlaylistService.ClearPlaylist(function(){$("#"+n).children().each(function(p){if(this.id!=c){$("#"+this.id).remove()}});fixOperaRedraw("#f4f4f4")},g)}};var g=function(m){unbindItemEvents();bindItemEvents();j()};this.cutLongTitles=function(){$("#"+this.playlistId).children().each(function(o){var m=$("#"+$(this).attr("id")).data("playlistItem");var n=$(this).children("ul").children(".playlist_item_name");var p=$(n).children()[0];if(m!=null&&($(n).width()<$(p).width())){a(m,n,p,5,0)}})};var a=function(p,n,r,v,o){var t=p.name.length-v;if(t<1){t=1}var u=h(p,t);var q=u.strippedTitle+f;var m=u.wordEndFound;$(r).html(q);o++;if(m==false){return}if($(n).width()<$(r).width()){if(o<=l){setTimeout(function(){try{a(p,n,r,v+3,o)}catch(w){o=0}},i)}else{u=h(p,d);q=u.strippedTitle+f;$(r).html(q);o=0}}else{o=0}};var h=function(m,o){var n=[];var t=m.name.substring(0,o);var q=t.charAt(t.length-1);if(q==" "||q=="-"){n.strippedTitle=t;n.wordEndFound=true;return n}else{var r=false;for(var p=t.length-1;p>=0;--p){if(t.charAt(p)==" "||t.charAt(p)=="-"){t=t.substring(0,p);r=true;break}}if(r==false){t=m.name}}n.strippedTitle=t;n.wordEndFound=r;return n};this.moveItemUp=function(n){var o=$(n.currentTarget).parent().parent().parent();pos=this.getItemPosition(o.attr("id"));if(pos>0){var m=$("#"+this.playlistId).children()[pos-1];document.DD.dropToList(o,m,true)}this.unhilightUpItem();fixOperaRedraw("#f4f4f4")};this.moveItemDown=function(n){var o=$(n.currentTarget).parent().parent().parent();pos=this.getItemPosition(o.attr("id"));ln=($("#"+this.playlistId).children().length)-2;if(pos<ln){var m=$("#"+this.playlistId).children()[pos+2];document.DD.dropToList(o,m,true)}this.unhilightDownItem();fixOperaRedraw("#f4f4f4")};this.hilightItem=function(m){var n=$(m.currentTarget).parent().parent();if(window.currentlyPlayed!=null&&window.currentlyPlayed==n.attr("id")){n.css("background-color",this.hilightPlayedColor)}else{n.css("background-color",this.hilightColor)}};this.unhilightItem=function(m){var n=$(m.currentTarget).parent().parent();if(window.currentlyPlayed!=null&&window.currentlyPlayed==n.attr("id")){n.css("background-color",this.playedColor)}else{n.css("background-color",this.unhilightColor)}};this.hilightPlayItem=function(m){$(m.currentTarget).addClass("playlist_item_play_hover")};this.unhilightPlayItem=function(){$(".playlist_item_play").removeClass("playlist_item_play_hover")};this.hilightUpItem=function(m){$(m.currentTarget).addClass("playlist_item_up_hover")};this.unhilightUpItem=function(){$(".playlist_item_up").removeClass("playlist_item_up_hover")};this.hilightDownItem=function(m){$(m.currentTarget).addClass("playlist_item_down_hover")};this.unhilightDownItem=function(){$(".playlist_item_down").removeClass("playlist_item_down_hover")};this.hilightPlayed=function(m){$(".playlist_item").css("background-color",this.unhilightColor);$("#"+m).css("background-color",this.playedColor)};var b=function(m){if(m!=window.currentlyPlayed){$("#"+m).css("background-color","#ffffff")}$("#"+m).css("opacity","0.5")};var k=function(){$(".playlist_item").css("background-color","#ffffff");$(".playlist_item").css("opacity","0.5")};var j=function(){$(".playlist_item").css("opacity","1")}}function PlaylistItemDD(){this.rel_offset_x;this.rel_offset_y;this.max_from_left;this.max_from_top;this.current_left_position=0;this.current_top_position=0;this.draged_object=null;this.container=null;this.dropTargets=[];this.underlyingObject=null;this.scrollHotSpotTop=null;this.scrollHotSpotBottom=null;this.scrollingNow=false;this.scrollStarted=false;this.dragCursorOffsetRight=0;this.dragCursorOffsetBottom=0;this.DDPlayArea="dd_play_area";this.mouseStartDragCoordx=null;this.mouseStartDragCoordy=null;this.drag=function(a){this.mouseMovedAfterDown=false;if(this.container!=null){var g=$(a.currentTarget).parent().parent();var b=Array();b[0]=Math.round(this.current_left_position);b[1]=Math.round(this.current_top_position);this.draged_object=$(g);this.container.html(this.draged_object.html());var f=this.mouseX(a);var d=this.mouseY(a);this.dragCursorOffsetRight=a.pageX-g.offset().left;this.dragCursorOffsetBottom=a.pageY-g.offset().top;try{this.mouseStartDragCoordx=window.curMousePosx;this.mouseStartDragCoordy=window.curMousePosy}catch(c){}return b}};this.move=function(a){window.curMousePosx=a.pageX;window.curMousePosy=a.pageY;if(this.draged_object!=null&&this.container!=null&&(window.curMousePosx!=this.mouseStartDragCoordx||window.curMousePosy!=this.mouseStartDragCoordy)){var d=(this.mouseX(a)-this.dragCursorOffsetRight);var c=(this.mouseY(a)-this.dragCursorOffsetBottom);if(d<0){d=0}else{if(d>this.max_from_left){d=this.max_from_left}}if(c<0){c=0}this.moveContainer(d,c);var b=this.calculateDrop(a);this.clearDragBorders();this.scrollingNow=false;if(b!=null){if(b.id=="scroll_hotspot_top"){this.scrollingNow=true;this.startScroll("top")}else{if(b.id=="scroll_hotspot_bottom"){this.scrollingNow=true;this.startScroll("bottom")}else{this.underlyingObject=b}}}if(this.underlyingObject!=null&&this.underlyingObject.id!=this.DDPlayArea){this.showDragBorder(this.underlyingObject.id)}if(this.scrollingNow==false){this.stopScroll()}this.current_left_position=d;this.current_top_position=c}};this.drop=function(a){if(this.draged_object!=null){var b;if(this.underlyingObject!=null){b=this.underlyingObject}else{b=this.calculateDrop(a)}if(b!=null){if(b.id==this.DDPlayArea){document.playlist.playItem(this.draged_object.attr("id"))}else{if(this.draged_object.attr("id")!=b.id){this.dropToList(this.draged_object,b,true)}}}this.draged_object=null;this.underlyingObject=null;this.restoreContainer();this.clearDragBorders()}};this.dropToList=function(g,e,d){var f=$(g);var b=g.data("playlistItem");itemPos=document.playlist.getItemPosition(g.attr("id"));var a=$("#playlist").children()[itemPos+1];$(g).remove();f.data("playlistItem",b);$("#"+e.id).before(f);unbindItemEvents();bindItemEvents();if(d!=false){document.playlist.sendOrderToServer(g,a)}};this.startScroll=function(c){if(this.scrollingNow==true&&this.scrollStarted==false){var b=0;var a=0;$("#playlist").children().each(function(d){a+=$(this).outerHeight()});if(c=="top"){$("#playlist").animate({scrollTop:b+"px"},a+200)}if(c=="bottom"){$("#playlist").animate({scrollTop:a+"px"},a+1000)}this.scrollStarted=true}};this.stopScroll=function(){this.scrollStarted=false;$("#playlist").stop()};this.calculateDrop=function(a){var g=(this.mouseX(a));var f=(this.mouseY(a));var e=this.scrollHotSpotTop;e=this.locateCurTarget(e,g,f);if(e!=null){return e}var c=this.scrollHotSpotBottom;c=this.locateCurTarget(c,g,f);if(c!=null){return c}for(var b=0;b<this.dropTargets.length;b++){var d=this.dropTargets[b];d=this.locateCurTarget(d,g,f);if(d!=null){return d}}return null};this.locateCurTarget=function(b,f,d){try{var g=$("#"+b.id).position();var a=parseInt(b.offsetWidth);var h=parseInt(b.offsetHeight);if((f>g.left)&&(f<(g.left+a))&&(d>g.top)&&(d<(g.top+h))){return b}return null}catch(c){return null}};this.setDropTargets=function(b){var a=[];$("#"+b).children().each(function(c){a.push(this)});this.dropTargets=a};this.addDropTarget=function(a){this.dropTargets.push(a)};this.mouseX=function(a){if(!a){a=window.event}if(a.pageX){return a.pageX}else{if(a.clientX){return a.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft)}else{return 0}}};this.mouseY=function(a){if(!a){a=window.event}if(a.pageY){return a.pageY}else{if(a.clientY){return a.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)}else{return 0}}};this.moveContainer=function(b,a){this.container.css("position","absolute");this.container.css("display","block");this.container.css("left",b+"px");this.container.css("top",a+"px");this.container.css("opacity","0.5")};this.restoreContainer=function(){$(this.container).html("");this.container.css("position","relative");this.container.css("display","none");this.container.css("left","0px");this.container.css("top","0px")};this.showDragBorder=function(a){$("#"+a).css("border-top","2px solid #fd9e3b");$("#"+a).css("padding-top","0")};this.clearDragBorders=function(){$(".playlist_item").css("border-top","none");$(".playlist_item").css("padding-top","0");$("#bottom_DD_dummy").css("border-top","none")}}function PlayingItemDescription(){this.titleSelector="[id$=h4ItemTitle]";this.imageSelector="[id$=imgProgram]";this.textSelector="[id$=pItemDesc]";this.descLinksSelector="#addToPlaylistLink";this.htmlDecodeHelperSelector="#playlist_html_decode_helper";this.mediaLivetrackControlSelector="[id$=ltcLivetrack]";this.mediaLivetrackControlId="ltcLivetrack";this.audioLinksSelector="#flash_audio";this.data=null;var a=navigator.userAgent.toLowerCase().indexOf("safari")!=-1&&navigator.userAgent.toLowerCase().indexOf("chrome")==-1;this.renderPlaylistItemDesc=function(){if(this.data==null){return false}var e=this.data;var d=$(this.titleSelector);var c=$(this.htmlDecodeHelperSelector).html(e.name).val();d.text(c);d.css("display",(e.name==null||e.name=="")?"none":"inline");$(this.imageSelector).attr("alt",e.name);$(this.imageSelector).attr("title",e.name);$(this.imageSelector).attr("src",e.imageUrl);$(this.textSelector).html(e.description);$(this.descLinksSelector).html(e.descLinksHtml)};this.renderLivetrack=function(){if(this.data==null){return false}var d=this.data;if($(this.mediaLivetrackControlSelector).length>0&&d.livetrackUrl!=""){$(this.mediaLivetrackControlSelector).attr("src",d.livetrackUrl)}if($(this.mediaLivetrackControlSelector).length==0&&d.livetrackUrl!=""){var c='<img height="1" width="1" style="border: medium none;" id="'+this.mediaLivetrackControlId+'" alt="" src="'+d.livetrackUrl+'">';$("#liveaudio_help").after(c)}};this.renderAudioLinks=function(){if(this.data==null){return false}var c=this.data;$(this.audioLinksSelector).html(c.linksHtml)};this.modifyPlayingItemDesc=function(){this.hideEmptyImages(this.imageSelector);this.modifyTextLinks(this.textSelector);this.modifyDescPlaylistLink()};this.hideEmptyImages=function(d){for(var e=0,c=$(d).length;e<c;++e){var f=$(d)[e];if(!$(f).attr("src")){$(f).css("display","none")}else{$(f).css("display","inline")}}};this.modifyTextLinks=function(d){var e=$(d).find("a");for(var f=0,c=e.length;f<c;++f){if($(e[f]).attr("target")!="_blank"){if(a){$(e[f]).attr("target","_blank")}else{$(e[f]).bind("click",{oldHref:$(e[f]).attr("href")},b);$(e[f]).attr("href","#")}}}};var b=function(c){if(window.opener&&!window.opener.closed){window.opener.location.href=c.data.oldHref;winFocus(window.opener)}else{if(window.newOpenerByDescLink&&!window.newOpenerByDescLink.closed){window.newOpenerByDescLink.location.href=c.data.oldHref;winFocus(window.newOpenerByDescLink)}else{var d=window.open(c.data.oldHref,"_blank");winFocus(d);window.newOpenerByDescLink=d}}return false};this.modifyDescPlaylistLink=function(){var c=$("#addToPlaylistLink a")}}var playerFailures=0;var curentlySendedId=null;var sucesfulPlayResting=false;function playMediaFromPlaylist(b,a,d){flashobj=thisMovie(a);if(curentlySendedId!=d){return}try{if(sucesfulPlayResting==false){flashobj.playMedia(b);sucesfulPlayResting=true}setTimeout(function(){sucesfulPlayResting=false},900);playerFailures=0;curentlySendedId=null;return}catch(c){playerFailures++;setTimeout(function(){playMediaFromPlaylist(b,a,d)},1000)}}function disableSelection(a){if(typeof a.onselectstart!="undefined"){a.onselectstart=function(){return false}}else{if(typeof a.style.MozUserSelect!="undefined"){a.style.MozUserSelect="none"}else{a.onmousedown=function(){return false}}}a.style.cursor="default"}function playByIdNow(a){document.playlist.playItem("playlist_item_"+a)}function playNextItem(a){document.playlist.playNextItem(a)}function playFirstItem(){try{document.playlist.playFirstItem()}catch(a){}}function saveHandle(){try{if(window.opener&&!window.opener.closed){if(!window.opener.__playerWindow){window.opener.__playerWindow=this}}else{if(window.newOpenerByDescLink&&!window.newOpenerByDescLink.closed){if(!window.newOpenerByDescLink.__playerWindow){window.newOpenerByDescLink.__playerWindow=this}}}}catch(a){}setTimeout("saveHandle()",500)}function loadPlaylist(){var c=null;var b=null;var d=false;try{if(window.itemType){c=window.itemType}if(window.itemId){b=window.itemId}if(window.playNow){d=window.playNow}}catch(a){}try{if(c==null&&window.opener.__itemType){c=window.opener.__itemType}if(b==null&&window.opener.__itemId){b=window.opener.__itemId}if(d==false&&window.opener.__playNow){d=window.opener.__playNow}}catch(a){}try{window.opener.__itemType=null;window.opener.__itemId=null;window.opener.__playNow=null}catch(a){}try{if(c==null&&nowPlaying.type){c=nowPlaying.type}if(b==null&&nowPlaying.contentId){b=nowPlaying.contentId;d=true}}catch(a){}if(c!=null&&b!=null){try{www.rferl.org.Services.PlaylistService.AddToPlaylistWithBody(c,b,d,function(e){if(d==true){nowPlayingId=e.nowPlayingId}else{nowPlayingId=false}setPlaylistContent(e.html,nowPlayingId)})}catch(a){}}else{www.rferl.org.Services.PlaylistService.GetPlaylistBody$2(nowPlaying===null?null:nowPlaying.type,nowPlaying===null?null:nowPlaying.contentId,function(e){setPlaylistContent(e.html,e.nowPlayingId)})}}function addToPlaylist(b,a,c){www.rferl.org.Services.PlaylistService.AddToPlaylistWithBody(b,a,c,function(f){if(!f.isError){setPlaylistContent(f.html,false);if(c==true){try{document.playlist.playFirstItem()}catch(d){}}}else{if(c==true){try{document.playlist.playItem("playlist_item_"+f.nowPlayingId)}catch(d){}}}})}function playItem(b,a){www.rferl.org.Services.PlaylistService.AddToPlaylistWithBody(b,a,true,function(d){if(!d.isError){setPlaylistContent(d.html,d.nowPlayingId);document.playlist.playItem("playlist_item_"+d.nowPlayingId)}else{try{window.__playerWindow.playByIdNow(d.nowPlayingId)}catch(c){}}})}function setPlaylistContent(b,c){var a=$("#bottom_DD_dummy");$("#playlist").html(b);$("#playlist").append(a);document.playlist=new Playlist();document.DD=new PlaylistItemDD();document.DD.container=$("#playlist_item_drag_container");document.DD.setDropTargets("playlist");document.DD.addDropTarget(document.getElementById("dd_play_area"));document.DD.scrollHotSpotTop=document.getElementById("scroll_hotspot_top");document.DD.scrollHotSpotBottom=document.getElementById("scroll_hotspot_bottom");unbindEvents();$(document).bind("mousemove",function(d){document.DD.move(d)});$(document).bind("mouseup",function(d){document.DD.drop(d)});bindItemEvents();if(c!=false){window.currentlyPlayed="playlist_item_"+c}if(window.currentlyPlayed&&window.currentlyPlayed!=null){document.playlist.hilightPlayed(window.currentlyPlayed)}document.playlist.cutLongTitles()}function unbindEvents(){$(document).unbind("mousemove");$(document).unbind("mouseup")}function unbindItemEvents(){$(".playlist_item_drag").unbind("click");$(".playlist_item_drag").unbind("mousedown");$(".playlist_item_play").unbind("mouseenter");$(".playlist_item_play").unbind("mouseleave");$(".playlist_item_highlight").unbind("mouseenter");$(".playlist_item_highlight").unbind("mouseleave");$(".playlist_item_up").unbind("mouseenter");$(".playlist_item_up").unbind("mouseleave");$(".playlist_item_up").unbind("click");$(".playlist_item_down").unbind("mouseenter");$(".playlist_item_down").unbind("mouseleave");$(".playlist_item_down").unbind("click");$(".playlist_item_remove").unbind("click")}function bindItemEvents(){$(".playlist_item_drag").bind("click",function(a){document.playlist.playItemOnClick(a)});$(".playlist_item_drag").bind("mousedown",function(a){document.DD.drag(a)});$(".playlist_item_play").bind("mouseenter",function(a){document.playlist.hilightPlayItem(a)});$(".playlist_item_play").bind("mouseleave",function(a){document.playlist.unhilightPlayItem()});$(".playlist_item_highlight").bind("mouseenter",function(a){document.playlist.hilightItem(a)});$(".playlist_item_highlight").bind("mouseleave",function(a){document.playlist.unhilightItem(a)});$(".playlist_item_up").bind("mouseenter",function(a){document.playlist.hilightUpItem(a)});$(".playlist_item_up").bind("mouseleave",function(a){document.playlist.unhilightUpItem()});$(".playlist_item_up").bind("click",function(a){document.playlist.moveItemUp(a)});$(".playlist_item_down").bind("mouseenter",function(a){document.playlist.hilightDownItem(a)});$(".playlist_item_down").bind("mouseleave",function(a){document.playlist.unhilightDownItem()});$(".playlist_item_down").bind("click",function(a){document.playlist.moveItemDown(a)});$(".playlist_item_remove").bind("click",function(a){document.playlist.removeItem(a)})}$(document).ready(function(){disableSelection(document.body);loadPlaylist();saveHandle();document.playingItemDesc=new PlayingItemDescription();document.playingItemDesc.modifyPlayingItemDesc()});