﻿var flowerMenu;
var flowerLeft;
var flowerRight;
var flowerTop;
var flowerBottom;
var flowerHeight = 155;
var flowerWidth = 155;
var flowerType;
var BindRecentPlaylist = true;
var IsCenteredPlayList = false;
//var lnkCurrentlyPlayingSong = null;
//var lnkCurrentlyPlayingSong_Prev = null;
var lnkPlay = null;
var IstaggedPlaylist = false;
var ShowEdit = false;
var editMediaCurrentLink = null;
var volume = 60;
var isPlayPlaylist = false;
var loginfor = '';
var CenterPlaylistID = '';
function showFlower(e, type) {
    
    IstaggedPlaylist = false;
    if (type != 'song') {
        if (type == 'TaggedPlaylist') {
            IstaggedPlaylist = true;
            type = 'playlist';
        }
    }    
    e = e ? e : window.event;
    if (e != null) {
        //view/hide remove link as per selected item
        eventTarget = e.target ? e.target : e.srcElement;
        var templink = eventTarget
        
        while (templink != null && templink.tagName!=null && templink.tagName.toLowerCase() != 'a') {
            templink = templink.parentNode;
        }
       
        if (templink != null && templink.name != 'Currentlyplaying1_lblTitleofSong')
            lnkCurrentlyPlayingSong = templink;
        while (eventTarget != null
                && eventTarget.id != 'divrepeater'
                && eventTarget.id != 'Playlist1_UpdatePanel1'){                               
            eventTarget = eventTarget.parentNode;
        }
           
        if (eventTarget != null && (eventTarget.id != 'divrepeater' || eventTarget.id != 'Playlist1_UpdatePanel1')) {
            //alert(IstaggedPlaylist + '.....' + document.getElementById("divEditPlaylist").style.display)
            if (!IstaggedPlaylist && document.getElementById("divEditPlaylist").style.display != 'none') {
                HideRemovelink('', type);
            }
            else {
                HideRemovelink('none', type);
            }
            IsCenteredPlayList = true;
        } else {
            HideRemovelink('none', type);
            IsCenteredPlayList = false;
        }

        //show edit section for selected media
        if (type == 'song' && GetCurrentUserType() >= 1) {
            ShowEdit = true;
            editMediaCurrentLink = lnkCurrentlyPlayingSong;           
        }
        else {
            ShowEdit = false;
            editMediaCurrentLink = null;
        }
        
        //load shoutbox
        var mediaID = '';
        var playlistID = '';
        if (type == 'song') {
            mediaID = document.getElementById(returnallid()[3]).value;
            if (eventTarget==null || eventTarget.id == 'divrepeater') {                
                playlistID = CenterPlaylistID;                
            }
            else {
                playlistID = '';                
            }
            $("#lnkRatingComment").show();
        }
        else if (type == 'playlist') {
            mediaID = '';
            playlistID = document.getElementById(gethfid()).value;
            $("#lnkRatingComment").hide();
        }
//        if (!isPlayPlaylist && type == 'song'){// && (mediaID != CurrentPlayingMedia || playlistID != CurrentPlayingPlaylist)) {            
//            LoadShoutBox(playlistID, mediaID);
//        }

        flowerMenu = document.getElementById('flowerContainer');

        if (flowerMenu.style.display == '')
            return;        
        
        flowerType = type;

        var pos = getCursorPosition(e);

        flowerLeft = (pos.x - (flowerWidth / 2));
        flowerRight = (flowerLeft + flowerWidth);
        flowerTop = (pos.y - (flowerHeight / 2));
        flowerBottom = (flowerTop + flowerHeight);

        flowerMenu.style.left = flowerLeft + 'px';
        flowerMenu.style.top = flowerTop + 'px';
        flowerMenu.style.display = '';

//        if (document.attachEvent) { //IE5+
//            if (CURRENT_USERID != '') { 
//            document.attachEvent("onmousedown", flowerMouseDown); }
//            document.attachEvent("onmousemove", flowerMouseMove);
//        }
//        else{ //NS6/Firefox
//            if (CURRENT_USERID != '') {
//             document.addEventListener("mousedown", flowerMouseDown, false); }
//            document.addEventListener("mousemove", flowerMouseMove, false);
        //        }
        if (document.attachEvent) { //IE5+
              document.attachEvent("onmousedown", flowerMouseDown);
              document.attachEvent("onmousemove", flowerMouseMove);
        }
        else { //NS6/Firefox
            document.addEventListener("mousedown", flowerMouseDown, false);
            document.addEventListener("mousemove", flowerMouseMove, false);
        }
    }
    
}

function hideFlower(e) {
    e = e ? e : window.event;
    flowerMenu = document.getElementById('flowerContainer');
    $("#flowerPlaylistPanel").hide();
    $("#flowerSharePanel").hide();
    $("#flowerRatePanel").hide();
    $("#flowerPlayPanel").hide();
    if (flowerMenu.style.display == 'none')
        return;
    if (document.attachEvent) { //IE5+       
        document.detachEvent("onmousedown", flowerMouseDown);
        document.detachEvent("onmousemove", flowerMouseMove);
    }
    else{ //NS6/Firefox    
        document.removeEventListener("mousedown", flowerMouseDown, false);
        document.removeEventListener("mousemove", flowerMouseMove, false);
    }
    flowerMenu.style.display = 'none';
    BindRecentPlaylist = true;
}
function flowerMouseDown(e) {
    e = e ? e : window.event;
    flowerMenu = document.getElementById('flowerContainer');
    eventTarget = e.target ? e.target : e.srcElement;
    do {
        if (eventTarget == flowerMenu)
            return;
        else if (eventTarget.id == 'lnkRemove' || eventTarget.id == 'lnkCreatenewPlaylist' ||
            eventTarget.id == 'lnkAddNewPlaylist' || eventTarget.id == 'lnkTagAddNew' ||
            eventTarget.id == 'lnkTagforFriend' || eventTarget.id == 'lnkRateYes' ||
            eventTarget.id == 'lnkRateNo' || eventTarget.id == 'lnkRatingComment' ||
            eventTarget.id == 'lnkEditMedia' || eventTarget.id == 'lnkShareTwitter' ||
            eventTarget.id == 'lnkShareFacebook' || eventTarget.id == 'lnkShareLink') {
            Flower_MouseDownEvent(eventTarget.id, eventTarget);
            break;
        }
        else if (eventTarget.name == 'lnkRecentPlaylist' || eventTarget.name == 'lnkRecentlyTagged') {
            Flower_MouseDownEvent(eventTarget.name, eventTarget);
            break;
        }
        eventTarget = eventTarget.parentNode;
    } while (eventTarget != null);

    hideFlower(e);
    return false;
}

function Flower_MouseDownEvent(controlName, eventTarget) {
    try {
        //ShowNotification("<u>" + "Media added to database." + "</u>");
        if (flowerType == 'song' && jQuery.trim(document.getElementById(returnallid()[3]).value) == '') {
            AddMediatoDB(function() {
                if (OnGetMessageSuccess(arguments[0], null, null)) {
                    callEvent(controlName, eventTarget);
                }
            });
        } else {
            callEvent(controlName, eventTarget);
        }
    }
    catch (ex) { }    
}
function callEvent(controlName, eventTarget) {
   //alert(controlName)
    switch (controlName) {
        case "lnkRemove":
            RemoveClick();
            break;
        case "lnkCreatenewPlaylist":
            ShowAddNewplaylistDialog();
            break;
        case "lnkAddNewPlaylist":
            ViewAddNewPlaylist();
            break;
        case "lnkRecentPlaylist":
            AddtoPlaylist(eventTarget.id);
            break;
        case "lnkRecentlyTagged":
            TagMediaForUserClick(eventTarget.id, eventTarget.innerHTML);
            break;
        case "lnkTagAddNew":
            ViewTagPopup();
            break;
        case "lnkTagforFriend":
            ViewTagPopup();
            break;
        case "lnkRateYes":
            RateClick(1, null, GetCurrentMediaIDByFlowerType());
            break;
        case "lnkRateNo":
            RateClick(-1, null, GetCurrentMediaIDByFlowerType());
            break;
        case "lnkRatingComment":
            ShowRatingCommentPopup();
            break;
        case "lnkEditMedia":
            ShowEditMedia();
            break;
        case "lnkShareTwitter":
            ShowTwitterDialog();
            break;
        case "lnkShareFacebook":
            PostFacebook();
            break;
        case "lnkShareLink":
            LinktoSong();
            break;
        case "Play":
            showplayer();
            break;
    }
}
function PostFacebook() {
    CURRENT_USERID = getCurrentUserID();
    if (CURRENT_USERID != '') {
        $('#divFacebookLogin').dialog('close'); 
        var URL = document.getElementById(returnallid()[9]).value;
        PublishtoFacebook(URL, GetCurrent_MediaTitle(), getMediaTypefromURL(URL), document.getElementById(returnallid()[1]).value);
    }
    else {
        ACTION = "postFaceBook";
        $('#divFacebookLogin').dialog('open');
        $("#spanloginAction").html('to post to facebook.');
    }
}

function flowerMouseMove(e) {
    e = e ? e : window.event;
    var eventTarget = e.target ? e.target : e.srcElement;
    while (eventTarget != null && eventTarget.id != 'flowerPlaylistPanel' &&
            eventTarget.id != 'flowerSharePanel' && eventTarget.id != 'RecentlyTaggedPanel'
            && eventTarget.id != 'flowerRatePanel' && eventTarget.id != 'flowerPlayPanel'
            && eventTarget.id != 'areaShare' && eventTarget.id != 'areaPlay'
            && eventTarget.id != 'areaRate' && eventTarget.id != 'areaPlaylist') {
        eventTarget = eventTarget.parentNode;
    }

    HidePanels(e, eventTarget);

    flowerMenu = document.getElementById('flowerContainer');
    if (flowerMenu.style.display == 'none' ||
            (eventTarget != null &&
                (eventTarget.id == 'flowerPlaylistPanel' ||
                    eventTarget.id == 'flowerSharePanel' ||
                    eventTarget.id == 'RecentlyTaggedPanel' ||
                    eventTarget.id == 'flowerRatePanel' ||
                    eventTarget.id == 'flowerPlayPanel')))
        return;

    var pos = getCursorPosition(e);
    var maxMouseDistance = 35;
    var panel = document.getElementById('flowerPlaylistPanel');
    if (panel.style.display != 'none') {
        var panelHeight = (panel.clientHeight != null ? parseInt(panel.clientHeight) : (panel.offsetHeight != null ? parseInt(panel.offsetHeight) : 250));
        flowerBottom = (flowerTop + flowerHeight + panelHeight);
    }
    else {
        flowerBottom = (flowerTop + flowerHeight);
    }
    if (pos.x < (flowerLeft - maxMouseDistance) ||
        pos.x > (flowerRight + maxMouseDistance) ||
        pos.y < (flowerTop - maxMouseDistance) ||
        pos.y > (flowerBottom + maxMouseDistance)) {
        hideFlower(e);
    }
}

function getCursorPosition(e) {
    e = e || window.event;
    var cursor = { x: 0, y: 0 };
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    }
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX +
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY +
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}
function changeFlowerImage(area) {
    CURRENT_USERID = getCurrentUserID();        
    image = document.getElementById("flowerImage");
    var flowerPlaylistPanel = document.getElementById('flowerPlaylistPanel');
    var flowerSharePanel = document.getElementById('flowerSharePanel');
    var flowerRatePanel = document.getElementById('flowerRatePanel');
    var flowerPlayPanel = document.getElementById('flowerPlayPanel');
    if (area != 'playlist') {
        flowerPlaylistPanel.style.display = 'none';       
        BindRecentPlaylist = true;
    }
    if (area != 'share') {
        flowerSharePanel.style.display = 'none';
        $("td#divRecentlyTagged").html('');       
    }
    if (area != 'rate') {
        flowerRatePanel.style.display = 'none';
    }
    if (area != 'play') {
        flowerPlayPanel.style.display = 'none';
    }
    if (area == "play") {
        image.src = Theme_Img_Folder + "flower/mo_play.png";
        if (ShowEdit) {
            flowerPlayPanel.style.left = (flowerLeft + 24) + 'px';
            flowerPlayPanel.style.top = (flowerTop - 37) + 'px';
            flowerPlayPanel.style.display = 'block';
        }
    }
    else if (area == "rate") {
        image.src = Theme_Img_Folder + "flower/mo_rate.png";
        //show rate user control
        if (flowerType == 'song' || flowerType == 'playlist') {
            flowerRatePanel.style.display = 'block';
            //if (CURRENT_USERID != '') {
                $("div#divRatenoLoginMsg").hide();
                $("div#divRateLinks").css('display', '');
                flowerRatePanel.style.height = '75px';
                flowerRatePanel.style.width = '105px';
                flowerRatePanel.style.paddingRight = '33px';
                flowerRatePanel.style.left = (flowerLeft - 116) + 'px';
                flowerRatePanel.style.top = (flowerTop + 33) + 'px';
           // }
           // else {
//                $("div#divRateLinks").hide();
//                $("div#divRatenoLoginMsg").css('display', '');
//                flowerRatePanel.style.height = '110px';
//                flowerRatePanel.style.width = '180px';
//                flowerRatePanel.style.left = (flowerLeft - 178) + 'px';
//                flowerRatePanel.style.top = (flowerTop + 20) + 'px';
//                flowerRatePanel.style.paddingRight = '20px';
           // }
        }
    }
    else if (area == "playlist") {
        image.src = Theme_Img_Folder + "flower/mo_playlist.png";
        //show playlist user control
        if (flowerType != 'album' && !IstaggedPlaylist) {
            flowerPlaylistPanel.style.top = (flowerTop + 118) + 'px';
            flowerPlaylistPanel.style.display = 'block';
            //if (CURRENT_USERID != '') {
                flowerPlaylistPanel.style.left = (flowerLeft) + 'px';
                flowerPlaylistPanel.style.width = '140px';
           // }
//            else {
//                flowerPlaylistPanel.style.left = (flowerLeft - 10) + 'px';
//                flowerPlaylistPanel.style.width = '160px';
//            }
        }
    }
    else if (area == "share") {
        image.src = Theme_Img_Folder + "flower/mo_share.png";
        //show share user control
        if (flowerType == 'song' || flowerType == 'playlist') {
            flowerSharePanel.style.left = (flowerLeft + 118) + 'px';
            flowerSharePanel.style.display = 'block';
            //if (CURRENT_USERID != '') {
                $("div#divSharenoLoginMsg").hide();
                flowerSharePanel.style.height = '110px';
                flowerSharePanel.style.top = (flowerTop + 13) + 'px';
                document.getElementById('divShareLinks').style.display = '';
//            }
//            else {
//                $("div#divShareLinks").hide();
//                flowerSharePanel.style.height = 'auto'; /*40px*/
//                document.getElementById('divSharenoLoginMsg').style.display = '';
//                flowerSharePanel.style.top = (flowerTop + 10) + 'px';
//            }
        }
    }
    else if (area == "center") {
        image.src = Theme_Img_Folder + "flower/mo_center.png";
    }
    else {
        image.src = Theme_Img_Folder + "flower/default.png";
    }
}

function ShowRatingCommentPopup() {
    CURRENT_USERID = getCurrentUserID();
    if (CURRENT_USERID != '') {
        $("#txtRatingComment").val('');
        $('#divRatingComment').dialog('open');
        $('#divRatingComment').dialog('option', 'height', 215);
        document.getElementById('txtRatingComment').focus();    
        GetCurrentMediaTitle(35, 'spanCommentMedia', 265,null,false);
    }
    else {
        ACTION = "commentFlower";
        $('#divFacebookLogin').dialog('open');
        $("#spanloginAction").html('to make a comment on this song.');

    }
}
function HidePanels(e, eventTargetArea) {
    var pos = getCursorPosition(e);    
    hidePanel(pos, document.getElementById('flowerSharePanel'), 'areaShare', eventTargetArea);
    hidePanel(pos, document.getElementById('flowerPlaylistPanel'), 'areaPlaylist', eventTargetArea);
    hidePanel(pos, document.getElementById('flowerRatePanel'), 'areaRate', eventTargetArea);
    hidePanel(pos, document.getElementById('flowerPlayPanel'), 'areaPlay', eventTargetArea);   
}
function hidePanel(pos,panel, areaID, eventTargetArea) {
    if (panel!=null && panel.style.display.toLowerCase() != 'none') {
        var height = parseInt(panel.clientHeight != null ? parseInt(panel.clientHeight) : (panel.offsetHeight != null ? parseInt(panel.offsetHeight) : 250));
        var width = parseInt(panel.clientWidth != null ? parseInt(panel.clientWidth) : (panel.offsetWidth != null ? parseInt(panel.offsetWidth) : 120));
        var minX = parseInt(panel.style.left);
        var maxX = minX + width;
        var minY = parseInt(panel.style.top);
        var maxy = minY + height;
        if (!((pos.x >= minX && pos.x <= maxX && pos.y >= minY && pos.y <= maxy)
             || (eventTargetArea != null && eventTargetArea.id == areaID))) {
            changeFlowerImage(null);
        }
    }
}
function facebook_publish_feed_story(form_bundle_id, PreviewImageURL, url, title, type, albumArtUrl) {
    var user_message_prompt = "What's on your mind?";
    var user_message = { value: "" };
    var template_data;
    var permalink = '';
    var ID = GetCurrentMediaIDByFlowerType();
    PageMethods.GetPermalink(ID, flowerType, function() {
        permalink = arguments[0];
        if (ShowErrorMessage(permalink) && jQuery.trim(permalink) != '') {
            if (flowerType == 'song' && (type == 'audio' || type == 'video')) {
                if (jQuery.trim(albumArtUrl) == '') { albumArtUrl = 'http://www.meuzer.com/img/album/album_3.png'; }
                if (type == 'audio') {
                    template_data = { title_verb: "is listening to", media: "<a href='" + permalink + "'>" + title + "</a>",
                        flash: { swfsrc: url + "/aus=true/", imgsrc: albumArtUrl, height: 100, width: 100, expanded_width: 300, expanded_height: 110,
                            flashvars: "backColor=32597a&primaryColor=A4A9AD&secondaryColor=193C58&linkColor=A4A9AD&r=http://www.imeem.com"
                        }
                    };
                }
                else {
                    template_data = { title_verb: "is listening to", media: "<a href='" + permalink + "'>" + title + "</a>",
                        flash: { swfsrc: url, imgsrc: albumArtUrl, height: 100, width: 100, expanded_width: 300, expanded_height: 300 }
                    };
                }
            }
            else if (flowerType == 'playlist') {
                template_data = { media: "<a href='" + permalink + "'>" + title + "</a>" };
            }
            FB.ensureInit(function() {
                FB.Connect.requireSession(function() {
                    FB.Connect.showFeedDialog(form_bundle_id, template_data, [], null, 2, null, function(f) {
                        PageMethods.logFacebookPost(flowerType,ID, null, null);
                        ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/facebook.png' alt='' style='margin-left: 5px;'/></div> <div> Posted " + flowerType + "<br>to Facebook </div></div>");
                    }, user_message_prompt, user_message);
                })
            });
        }
    }, function() {
       // alert(arguments[0]); 
    }); 
}
/*added linkmouseover and linkmouseout functions to remove IE error where mouseover effect was not removing even after click on link*/
function linkmouseover(link) {
    if (theme == 'black') { link.style.color = '#666666';}
    else { link.style.color = '#193C58'; }
}
function linkmouseout(link) {
    if (theme == 'black') { link.style.color = '#cccccc'; }
    else { link.style.color = '#ffffff'; }    
}
/*Currently Playing - start*/
var CurrentTime = 0;
var TotalDuration = 0;
var iplayer = null;
var ytplayer = null;
var imeemUpdateInterval;
function showplayer() {
    //alert('showplayer()')
    var pheight = 240;
    var pwidth = 265;
    $("#spanPlayProgress").css('width', '0px');
    $("#spanLoadProgress").css('width', '0px');
    if ($("#linkBrowseOff").hasClass("selectedItem")) {
        pheight = 365;
        pwidth = 365;
    }

    var type = document.getElementById('typeofsong').innerHTML;
    var url = document.getElementById(returnallid()[9]).value;
    var ID = jQuery.trim(document.getElementById(returnallid()[3]).value);
    document.getElementById('Urlforsong').innerHTML = url;
    document.getElementById('Titleforsong').innerHTML = document.getElementById(returnallid()[8]).value;
    if (jQuery.trim(type) == '') {
        type = getMediaTypefromURL(url);
    }
    $("#hdnCurrentPlayingType").val(type);
    $("#hdnCurrentPlayingAlbumArtURL").val(document.getElementById(returnallid()[1]).value);
    $("#hdnCurrentPlayingID").val(ID);

    if (url.indexOf('www.youtube.com') > -1) {
        clearInterval(imeemUpdateInterval);
        imeemPause();
        $("#imeemPlayer").hide();
        $("#player1 img").hide();
        if (ytplayer != null) {
            //alert('Play')
            $("#youtubePlayer").attr({ width: pwidth, height: pheight }).css('display', '');
            $('#rightSide').css('margin-top', '10px');
            $('#player1').show().css('margin-top', '15px');
            PlayYouTubeVideo();
         }
        else {
            var params = { allowScriptAccess: "always",
                bgcolor: "#cccccc",
                wmode: "transparent",
                allowfullscreen: 'true',
                autostart: 'true',
                volume: volume,
                displayclick: 'fullscreen',
                bufferlength: '3'
                
            };
            var atts = { id: "youtubePlayer", name: "youtubePlayer" };
            swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=youtubePlayer",
                         "youtubePlayer", pwidth, 1, "9", null, null, params, atts);
            youtubePlayer = document.getElementById('youtubePlayer');
            if (youtubePlayer && pwidth == 365) { youtubePlayer.style.marginLeft = '5px'; }
            $('#player1').show();
        }
        //if (ytplayer) { ytplayer.pauseVideo(); }
    }
    else {                
        clearVideo();  
        YoutubePause();
        $("#youtubePlayer").hide();      
        if (iplayer != null) {
            $("#imeemPlayer").attr({ width: pwidth, height: 110 }).css('display', '');
            LoadImeemPlayer();
        }
        else {
            var flashVARS;
            if (theme == 'black') { flashVARS = { backColor: "3a383b", primaryColor: "cccccc", secondaryColor: "666666", linkColor: "cccccc", r: "http://www.imeem.com" }; }
            else { flashVARS = { backColor: "32597a", primaryColor: "A4A9AD", secondaryColor: "193C58", linkColor: "A4A9AD", r: "http://www.imeem.com" }; };
            
            var params = { menu : "false",
                wmode : "transparent",
                bgcolor : "#000000",
                swliveconnect : "true",
                allowscriptaccess : "always"
            };
            var atts = { id: "imeemPlayer", name: "imeemPlayer" };            
            swfobject.embedSWF(url + '/aus=true/', "imeemPlayer", pwidth, "1", "9", "", flashVARS, params, atts)
            imeemPlayer = document.getElementById('imeemPlayer');
            if (imeemPlayer && pwidth == 365) {
                imeemPlayer.style.marginLeft = '5px';
                $("#player1 img").css({display:'',position:'',right:''});
             }
            else { $("#player1 img").css('display', ''); }
        }
        $('#rightSide').css('margin-top', '10px');
        $('#player1').show().css('margin-top', '15px');
        //imeemPause();
    }    
    $('#CurrentlyPlayingWidget').show();
    $('#currentPlaying').css('display', '');    
    CurrentPlayingMedia = document.getElementById(returnallid()[3]).value;
    HighlightCurrentPlaying();
    CurrentTime = 0;
    TotalDuration = 0;
    $("#spanElapsed").html("00:00");
    $("#spanTotalDuration").html("00:00");
    //when user click play on playlist at that time first song already get logged from server side no need to resend log request
    if (!isPlayPlaylist) {
        LogMediaPlay(ID);        
    }
    document.title = document.getElementById(returnallid()[8]).value;
    //toggleplaypause('pause');
    //imeemPause();
    //YoutubePause();
}
function intialPlayerPause() {
    //alert('intialPlayerPause')
    toggleplaypause('pause');
    

}
function HighlightCurrentPlaying() {
    if (lnkPlay != null) {
        $(lnkPlay).removeClass('currentPlayingMedia');
    }
    lnkPlay = lnkCurrentlyPlayingSong;
    $(lnkPlay).addClass('currentPlayingMedia');
    
}
/*youtybe - start*/
function onYouTubePlayerReady(playerId) {
    try {
        ytplayer = document.getElementById("youtubePlayer");
        setInterval(updateytplayerInfo, 250);
        updateytplayerInfo();
        ytplayer.addEventListener("onStateChange", "onYouTubeplayerStateChange");
        ytplayer.addEventListener("onError", "onYouTubePlayerError");
        PlayYouTubeVideo();
        var pheight = 240;
        if ($("#linkBrowseOff").hasClass("selectedItem")) { pheight = 365; }
        $("#youtubePlayer").attr({ height: pheight });
    } catch (ex) { }
    $('#rightSide').css('margin-top', '10px');
    $('#player1').show().css('margin-top', '15px');
    
}
function PlayYouTubeVideo() {
    try {
        var VidoeID = GetCurrentMediaID();
        if (ytplayer) {
            Toggle_Play_Pause('none', '');
            ytplayer.loadVideoById(VidoeID, 0);
            //ytplayer.playVideo();
            ytplayer.setVolume(volume);
        }
    }catch (ex) { }
}
function onYouTubeplayerStateChange(newState) {
    setYouTubeplayerState(newState);
}
function setYouTubeplayerState(newState) {
    try {
           // alert(newState);
        switch (parseInt(newState)) {
            case 3:
                Toggle_Play_Pause('none', '');
                updateytplayerInfo();
                break;
            case 1:
                Toggle_Play_Pause('none', '');
                updateytplayerInfo();
                break;
            case 2:
                Toggle_Play_Pause('', 'none');
                updateytplayerInfo();
                break;
            case 0:
                if ($("#spanElapsed").html() == $("#spanTotalDuration").html()) {
                    Toggle_Play_Pause('', 'none');
                    PlayNextSong();
                }
                break;
        }
    }
    catch (ex) { }
}
function onYouTubePlayerError(errorCode) {
    //alert("An error occured: " + errorCode);
    //if (errorCode == 100) {
        ShowNotification('Song has been removed<br>from Youtube');
   // }
}
function updateytplayerInfo() {
    try {
        if (ytplayer && isYoutube()) {
            var player = getCurrentSWF();
            CurrentTime = player.getCurrentTime();
            TotalDuration = player.getDuration();
            ShowProgress();
            var bl = player.getVideoBytesLoaded(); ;
            var bt = player.getVideoBytesTotal();
            if (bt == -1 || bl == -1) {
                $("#spanLoadProgress").css('width', '0px');
            }
            else {
                //var percent = (bl / bt);  //Math.round(bl * 100 / bt) * 4;
                var percent = Math.floor(((bl / bt) / 1) * 100);
                $("#spanLoadProgress").css('width', (percent*2) + 'px'); //(percent > 200 ? 200 : percent) + 'px').html(bl+'/'+bt);
            }
        }
    } catch (ex) { }
}
function YoutubePlay() {
    try {
        if (ytplayer) {ytplayer.playVideo();}
    } catch (ex) { }
}
function YoutubePause() {
    try {
        if (ytplayer) {ytplayer.pauseVideo();}
    } catch (ex) { }
}
function YoutubeSeekTo(seconds) {
    try {
        if (ytplayer) {ytplayer.seekTo(seconds, true);}
    } catch (ex) { }
}
function YoutubeSetVolume(newVolume) {
    try {
        if (ytplayer) {ytplayer.setVolume(newVolume);}
    } catch (ex) { }
}
function clearVideo() {
    try {
        if (ytplayer) {
            //ytplayer.destroy(); 
            ytplayer.clearVideo();
            //ytplayer.unloadMovie();
            //ytplayer.removeMovieClip(); 
        }
    } catch (ex) {  }
}
/*youtybe - end*/
/*imeem - start*/
function LoadImeemPlayer() {
    try {
        getCurrentSWF().load(GetCurrentMediaID()); ;

    } catch (ex) {
        //sometimes in Firefox when player is not visible error ocurrs when try to load new media
        setTimeout("LoadImeemPlayer();", 500);
    }
}
function imeem_onPlayClick() {//state - 1    
    Toggle_Play_Pause('none', '');
}
function imeem_onPauseClick() {//state -2    
    Toggle_Play_Pause('', 'none');
}
function imeem_onPlayerReady() {
    imeemLoad();
    $("#player1 img").remove();
    $("#imeemPlayer").attr({height: 110 });  
         
}
function imeemLoad() {
    try {
        iplayer = getCurrentSWF();
        if (iplayer) {iplayer.setVolume(volume);}
    } catch (ex) { }
}
function imeem_onMediaStart() {//state - 1
    try {
        Toggle_Play_Pause('none', '');
        imeemLoad();
        imeemUpdateInterval = setInterval(updateImeemPlayerInfo, 100);
    } catch (ex) { }
}
function imeem_onMediaEnd() {
    try {
        clearInterval(imeemUpdateInterval);
        PlayNextSong();
    } catch (ex) { }
}
function imeemPause() {
    try {
        if (iplayer) { iplayer.pauseTrack(); }
    } catch (ex) { }
}
function imeemPlay() {
    try {
        if (iplayer) { iplayer.resumeTrack(); }
    } catch (ex) { }
}
function imeemSeekTo(seconds) {
    try {
        if (iplayer) { iplayer.seek(seconds); }
    } catch (ex) { }
}
function imeemSetVolume(newVolume) {
    try {
        if (iplayer) { iplayer.setVolume(newVolume);}
    } catch (ex) { }
}
function updateImeemPlayerInfo() {
    try {
        if (iplayer && !isYoutube()) {
            CurrentTime = iplayer.getTrackPosition();
            TotalDuration = iplayer.getTrackLength();
            ShowProgress();
            volume = iplayer.getVolume();
            if (volume < 20) { volume = 0; }
            else if (volume < 40) { volume = 20; }
            else if (volume < 60) { volume = 40; }
            else if (volume < 80) { volume = 60; }
            else if (volume < 100) { volume = 80; }
            else { volume = 100; }
            setVolumeControlImages(volume);
            $("#spanLoadProgress").css('width', '200px');
        }
    } catch (ex) { }
}
//function imeem_onMediaBuffering() { }
//function imeem_onMediaDoneBuffering() { }
/*imeem - end*/
function ConverttoTimestring(time) {
    var sec = Math.round(time % 60);
    if (sec < 10) {
        sec = "0" + sec
    } min = Math.floor(time / 60);
    return (min.toString().length < 2 ? "0" + min : min) + ":" + (sec.toString().length < 2 ? "0" + sec : sec)
}
function ProgressClick(e) {
    e = e ? e : window.event;
    var seek = -1;
    if (e.offsetX) {
        seek = e.offsetX;
    }
    else {
        var offset = GetOffetLeft(document.getElementById("divPlayProgress"));
        seek = e.clientX - offset;
    }
    if (seek > -1) {
        seek = (seek * TotalDuration) / 200;
        CurrentTime = seek;
        if (isYoutube()) {
            YoutubeSeekTo(seek);
        }
        else {
            imeemSeekTo(seek);
        }
        ShowProgress();
    }
}
function SetVolumeImages(img1, img2, img3, img4, img5) {
    document.getElementById('imgVolact1').src = Theme_Img_Folder + 'currentlyplaying/01' + img1 + '.jpg';
    document.getElementById('imgVolact2').src = Theme_Img_Folder + 'currentlyplaying/02' + img2 + '.jpg';
    document.getElementById('imgVolact3').src = Theme_Img_Folder + 'currentlyplaying/03' + img3 + '.jpg';
    document.getElementById('imgVolact4').src = Theme_Img_Folder + 'currentlyplaying/04' + img4 + '.jpg';
    document.getElementById('imgVolact5').src = Theme_Img_Folder + 'currentlyplaying/05' + img5 + '.jpg';
}

function setVolumeControlImages(value) {
    volume = value;
    switch (value) {
        case 0:
            SetVolumeImages('nrml', 'nrml', 'nrml', 'nrml', 'nrml'); //SetVolumeImages('nrml', 'actv', 'actv', 'actv', 'actv');
            break;
        case 20:
            SetVolumeImages('actv', 'nrml', 'nrml', 'nrml', 'nrml'); //SetVolumeImages('nrml', 'actv', 'actv', 'actv', 'actv');
            break;
        case 40:
            SetVolumeImages('actv', 'actv', 'nrml', 'nrml', 'nrml'); //SetVolumeImages('nrml', 'nrml', 'actv', 'actv', 'actv');
            break;
        case 60:
            SetVolumeImages('actv', 'actv', 'actv', 'nrml', 'nrml'); //SetVolumeImages('nrml', 'nrml', 'nrml', 'actv', 'actv');
            break;
        case 80:
            SetVolumeImages('actv', 'actv', 'actv', 'actv', 'nrml'); //SetVolumeImages('nrml', 'nrml', 'nrml', 'nrml', 'actv');
            break;
        case 100:
            SetVolumeImages('actv', 'actv', 'actv', 'actv', 'actv'); //SetVolumeImages('nrml', 'nrml', 'nrml', 'nrml', 'nrml');
            break;
    }
    if (isYoutube()) {
        YoutubeSetVolume(volume);
    }
    else {
        imeemSetVolume(volume);
    }
}
function toggleplaypause(state) {
    //alert(state);
    if (state == 'play') {
        if (isYoutube()) {
            YoutubePlay();
        }
        else {
            imeemPlay();
        }
        Toggle_Play_Pause('none', '');
    }
    if (state == 'pause') {
        if (isYoutube()) {
            YoutubePause();
        }
        else {
            imeemPause();
        }
        Toggle_Play_Pause('', 'none');
    }
}
function GetCurrentMediaID(){
    var VidoeID = $('#Urlforsong').html(); //document.getElementById(returnallid()[9]).value;
    return VidoeID.substr(VidoeID.lastIndexOf('/') + 1, VidoeID.length);
}
function Toggle_Play_Pause(displayPlay, displayPause) {
    document.getElementById('imgPlay').style.display = displayPlay;
    document.getElementById('imgPause').style.display = displayPause;
}
function ShowProgress() {
    CurrentTime = CurrentTime < 0 ? 0 : CurrentTime;
    TotalDuration = TotalDuration < 0 ? 0 : TotalDuration;    
    var percent = (((CurrentTime / TotalDuration) / 1) * 100);
    if (!isNaN(percent)) {
        $("#spanPlayProgress").css('width', (percent*2) + 'px'); //.html(CurrentTime+'/'+TotalDuration);        
        $("#spanElapsed").html(ConverttoTimestring(CurrentTime));
        $("#spanTotalDuration").html(ConverttoTimestring(TotalDuration));
    }
//    if(ConverttoTimestring(CurrentTime) == ConverttoTimestring(TotalDuration) && ConverttoTimestring(CurrentTime) != "00:00")
//    {PlayNextSong();}
}
function getCurrentSWF() {
    var playerid = isYoutube() == true ? 'youtubePlayer' : 'imeemPlayer';    
    if (window.document[playerid]) {
        return window.document[playerid];
    }
    else {
        if ((navigator.appName.indexOf("Microsoft Internet") == -1)
            && (window.document.embeds && window.document.embeds[playerid])) {
            return window.document.embeds[playerid];
        }
        else {
            return window.$("#" + playerid).get(0);
        }
    }    
}
function LogMediaPlay(id) {
    LoadShoutBox(id);
    PageMethods.LogPlay(id, null, null);    
    var album = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[0]).value);
    var albumArtUrl = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[1]).value);
    var artist = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[2]).value);    
    var mbid = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[4]).value);
    var song = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[5]).value);
    var source = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[6]).value);
    var sourceFkid = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[7]).value);
    var title = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[8]).value);
    var url = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[9]).value);
    var link = "<a name='Currentlyplaying1_lblTitleofSong' id='" + id + "' title='" + title + "' class='playlistContent' href='javascript:'" +
                                " onclick=\"javascript:Geturlforsong('" + url + "','" + title + "','');getaddmediaparams('" + album + "','" + albumArtUrl + "','" + artist + "','" + id + "','" + mbid + "','" + song + "','" + source + "','" + sourceFkid + "','" + title + "','" + url + "');showFlower(event, 'song');\">"
                                + "<span id='lblTitleofSong' class='text14 text16'>" + $("#lblTitleofSong").html() + "</span></a>";
    $("#divCurrentMedia").html(link);
    GetCurrentMediaTitle(30, 'lblTitleofSong', 195, title, false);
}
function isYoutube() {
    if ($("#hdnCurrentPlayingType").val() == 'video') {
        return true;
    }
    else {
        return false;
    }
}
function getMediaTypefromURL(url) {
    if (url.indexOf('youtube') > -1) {
        return 'video';
    }
    else if (url.indexOf('.mp3') > -1 || url.indexOf('imeem') > -1) {        
        return 'audio';
    }
}
function PlayNextSong() {
    if (lnkPlay != null && lnkPlay.parentNode) {
        if (lnkPlay.parentNode.tagName.toLowerCase() == 'li') {
            if (lnkPlay.parentNode.nextSibling != null) {
                var next = lnkPlay.parentNode.nextSibling;
                while (next.tagName==null || next.tagName.toLowerCase() != 'li') {
                    next = next.nextSibling
                }
                next = next.firstChild;
                while (next.tagName == null || next.tagName.toLowerCase() != 'a') {
                    next = next.nextSibling
                }
                PlayPlaylistItem(next);
            }
        }
        else if (lnkPlay.parentNode.parentNode) {
            var rowindex = lnkPlay.parentNode.parentNode.rowIndex + 1;
            var ParentTable = lnkPlay.parentNode.parentNode.parentNode;
            var parentTD;
            do{
                parentTD = $(ParentTable.rows[rowindex]).children('td');
                if (parentTD.length > 0) {
                    parentTD = parentTD[0];
                    if (parentTD.id == 'playlist') {
                        rowindex++;
                    }
                }
            }while(parentTD.id == 'playlist')
            if (ParentTable.rows.length > rowindex) {
                var templinks = $(parentTD).children('a');
                if (templinks.length > 0) {
                    PlayPlaylistItem(templinks[0]);
                }
            }
        }
    }
}
function PlayPrevSong() {
    if (lnkPlay != null && lnkPlay.parentNode) {
        if (lnkPlay.parentNode.tagName.toLowerCase() == 'li') {
            if (lnkPlay.parentNode.previousSibling != null) {
                var next = lnkPlay.parentNode.previousSibling;
                while (next.tagName == null || next.tagName.toLowerCase() != 'li') {
                    next = next.previousSibling
                }
                next = next.firstChild;
                while (next.tagName == null || next.tagName.toLowerCase() != 'a') {
                    next = next.nextSibling;
                }
                PlayPlaylistItem(next);
            }
        }
        else if (lnkPlay.parentNode.parentNode) {
            var rowindex = lnkPlay.parentNode.parentNode.rowIndex - 1;
            var ParentTable = lnkPlay.parentNode.parentNode.parentNode;
            var parentTD;
            //alert(rowindex)
            if (rowindex > -1){
                do {
                    parentTD = $(ParentTable.rows[rowindex]).children('td');
                    if (parentTD.length > 0) {
                        parentTD = parentTD[0];
                        if (parentTD.id == 'playlist') {
                            rowindex--;
                        }
                    }
                } while (parentTD.id == 'playlist')
            }
            
            if (rowindex > -1) {
                var templinks = $(parentTD).children('a');
                if (templinks.length > 0) {
                    PlayPlaylistItem(templinks[0]);
                }
            }
        }
    }
}
function ShowShareOptions(e, obj) {
    var divShareOptions = $('#divShareOptions');
    if (CURRENT_USERID == '') {
        if (document.getElementById('divShareOptionLogin') == null) {
            divShareOptions.children('div').each(function() {
                $(this).addClass('hidden');
            });
            divShareOptions.html(divShareOptions.html() + "<div class='text12 textcenter' id='divShareOptionLogin'>You must be logged in<br>to share songs</div>");
        }
    }
    else {
        $("#divShareOptionLogin").remove();
        divShareOptions.children('div').each(function() {
            $(this).removeClass('hidden');
        });
    }
    divShareOptions.removeClass('hidden');

    divShareOptions.css('left', (GetOffetLeft(obj) - 16) + 'px');
   
    if (document.attachEvent){ //IE5+
        document.attachEvent("onmousemove", ShareOptionsMouseMove);
    }
    else{ //NS6/Firefox
        document.addEventListener("mousemove", ShareOptionsMouseMove, false);
    }
}
function ShowAddToPlaylistOptions(e, obj) {
    //alert('ShowAddToPlaylistOptions')
    var divAddToPlayListOptions = $('#divAddToPlayListOptions');
    if (CURRENT_USERID == '') {
        
        if (document.getElementById('divAddToPlaylistOptionLogin') == null) {
            divAddToPlayListOptions.children('div').each(function() {
                $(this).addClass('hidden');
            });
            divAddToPlayListOptions.html(divAddToPlayListOptions.html() + "<div class='text12 textcenter' id='divAddToPlaylistOptionLogin'>You must be logged in<br>to add to playlst.</div>");
        }
    }
    else
    {
        $("#divAddToPlaylistOptionLogin").remove();
        divAddToPlayListOptions.children('div').each(function() {
            $(this).removeClass('hidden');
        });
    }
    divAddToPlayListOptions.removeClass('hidden');

    divAddToPlayListOptions.css('left', (GetOffetLeft(obj) - 16) + 'px');

    if (document.attachEvent) { //IE5+
        document.attachEvent("onmousemove", AddToPlaylistOptionsMouseMove);
    }
    else { //NS6/Firefox
        document.addEventListener("mousemove", AddToPlaylistOptionsMouseMove, false);
    }
}
function AddToPlaylistOptionsMouseMove(e) { 
    HideAddToPlaylistOptions(e); 
}
function HideAddToPlaylistOptions(e) {
    e = e ? e : window.event;
    if (e != null) {
        var eventTarget = e.target ? e.target : e.srcElement;
        var templink = eventTarget
        while (templink != null) {
            if (templink.id == 'divAddToPlaylistlnk' || templink.id == 'divRecentAddedPlaylists' || templink.id == 'tdAddToPlaylistOption' || templink.id == 'divAddToPlayListOptions') {
                break;
            }
            templink = templink.parentNode;
        }
        if (templink != null
            && (templink.id == 'divAddToPlaylistlnk' || templink.id == 'divRecentAddedPlaylists' || templink.id == 'tdAddToPlaylistOption' || templink.id == 'divAddToPlayListOptions')) {
            return;
        }
        $('#divAddToPlayListOptions').addClass('hidden');
    }
    if (document.attachEvent) { //IE5+
        document.detachEvent("onmousemove", AddToPlaylistOptionsMouseMove);
    }
    else { //NS6/Firefox
        document.removeEventListener("mousemove", AddToPlaylistOptionsMouseMove, false);
    }
}
function GetOffetLeft(obj) {
    var leftValue = 0;
    while (obj) {
        leftValue += obj.offsetLeft;        
        obj = obj.offsetParent;
    }
    return leftValue;
}
function ShareOptionsMouseMove(e) {
    HideShareOptions(e);
}
function ShareOptions(type) {
    $('#divShareOptions').addClass('hidden');
    switch (type) {
        case 1:
            PublishtoFacebook($('#Urlforsong').html(), $('#Titleforsong').html(),$("#hdnCurrentPlayingType").val(),$("#hdnCurrentPlayingAlbumArtURL").val());
            break;
        case 2:
            flowerType = 'song';
            ShowTwitterDialog($("#hdnCurrentPlayingID").val());
            break;
        case 3:            
            OpenLinktoSongDialog();
            GetLinktoSong($("#hdnCurrentPlayingID").val(), 'song')
            break;
        case 4:  
             flowerType = 'song';          
             ViewTagPopup();
        break;
    }
}
function HideShareOptions(e) {   
    e = e ? e : window.event;
    if (e != null) {
        var eventTarget = e.target ? e.target : e.srcElement;
        var templink = eventTarget
        while (templink != null) {
            if (templink.id == 'lnkShareOption1' || templink.id == 'lnkShareOption2' || templink.id == 'lnkShareOption3'  || templink.id == 'lnkShareOption4' || templink.id == 'tdShareOption') {
                break;
            }
            templink = templink.parentNode;
        }
        if (templink != null
            && (templink.id == 'lnkShareOption1' || templink.id == 'lnkShareOption2' || templink.id == 'lnkShareOption3'  || templink.id == 'lnkShareOption4' || templink.id == 'tdShareOption')) {
            return;
        }
        $('#divShareOptions').addClass('hidden');
    }
    if (document.attachEvent) { //IE5+
        document.detachEvent("onmousemove", ShareOptionsMouseMove);
    }
    else { //NS6/Firefox
        document.removeEventListener("mousemove", ShareOptionsMouseMove, false);
    }
}
/*Currently Playing - end*/
/*Flower widget - start*/
String.prototype.trim = function() {
    // skip leading and trailing whitespace and return everything in between
    var x = this;
    x = x.replace(/^\s*(.*)/, "$1");
    x = x.replace(/(.*?)\s*$/, "$1");
    return x;
}
function AddMediatoDB(callbackFunction) {
    var album = document.getElementById(returnallid()[0]).value;
    var albumArtUrl = document.getElementById(returnallid()[1]).value;
    var artist = document.getElementById(returnallid()[2]).value;
    var id = document.getElementById(returnallid()[3]).value;
    var mbid = document.getElementById(returnallid()[4]).value;
    var song = document.getElementById(returnallid()[5]).value;
    var source = document.getElementById(returnallid()[6]).value;
    var sourceFkid = document.getElementById(returnallid()[7]).value;
    var title = document.getElementById(returnallid()[8]).value;
    var url = document.getElementById(returnallid()[9]).value;
    if (callbackFunction != null) {
        if (jQuery.trim(id) == '') {
            PageMethods.Addmedia(album, albumArtUrl, artist, id, mbid, song, source, sourceFkid, title, url, callbackFunction, OnGetMessageFailure);
            //ShowNotification("<u>" + "Media added to database." + "</u>");
        }
    }
    else {
        PageMethods.Addmedia(album, albumArtUrl, artist, id, mbid, song, source, sourceFkid, title, url, OnGetMessageSuccess, OnGetMessageFailure);
        //ShowNotification("<u>" + "Media added to database." + "</u>");
    }
}
function OnGetMessageSuccess(result, userContext, methodName) {
    if (ShowErrorMessage(result)) {
        if (lnkCurrentlyPlayingSong != null && jQuery.trim($("#" + returnallid()[3]).val()) == '') {
            var mediaType = '';
            var album = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[0]).value);
            var albumArtUrl = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[1]).value);
            var artist = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[2]).value);
            var id = jQuery.trim(result);
            $("#" + returnallid()[3]).val(result);
            var mbid = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[4]).value);
            var song = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[5]).value);
            var source = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[6]).value);
            var sourceFkid = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[7]).value);
            var title = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[8]).value);
            var url = ReplaceHTMLSpecialchars(document.getElementById(returnallid()[9]).value);
            var parentTD = lnkCurrentlyPlayingSong.parentNode;
            var flag = false;
            if (lnkCurrentlyPlayingSong == lnkPlay) {
                flag = true;
            }
            var diplayTitle = title;
            while (diplayTitle.indexOf("\\'") > -1) {                
                diplayTitle= diplayTitle.replace("\\'", "'");
            }
            parentTD.innerHTML = "<a class='playlistContent' href='javascript:' id='" + id + "' onclick=\"javascript:View(event,'" + mediaType + "','" + url + "','" + title + "','" + album + "','" + albumArtUrl + "','" + artist + "','" + id + "','" + mbid + "','" + song + "','" + source + "','" + sourceFkid + "')\" >" +
                                                        "<span>" + diplayTitle + "</span></a>";
            lnkCurrentlyPlayingSong = $(parentTD).children('a')[0];
            editMediaCurrentLink = lnkCurrentlyPlayingSong;
            if (flag) {
                lnkPlay = null;
                HighlightCurrentPlaying();
            }
        }
        return true;
    }
    return false;
}
function OnGetMessageFailure(error, userContext, methodName) {
    ShowErrorMessage(error);
}
function CallbackMapEvent(eventArgument, context) {
    if (ShowErrorMessage(eventArgument)) {
        $('#divrepeater').html(eventArgument);
        SetFirstandLastElement();
    }
    else {
        $('#divrepeater').html('');
    }
}
function PlaylistPlay_Callback(eventArgument, context) {
    if (eventArgument.indexOf('##') > -1) {
        eventArgument = eventArgument.split('##');
        CallbackMapEvent(eventArgument[0], context);
        LoadShoutBox_Callback(eventArgument[1], null);
        var firstelement = $("#divrepeater a:first");
        if (firstelement != null && firstelement.length > 0) {
            PlayPlaylistItem(firstelement[0]);
        }
    } else {
        CallbackMapEvent(eventArgument, context);
    }
}
function PlayPlaylistItem(link) {
    if (typeof (link.onclick) == 'function') {
        link.onclick();
        hideFlower(null);
    }
    else if (typeof (link.click) == 'function') {
        link.click();
        hideFlower(null);
    }
    //$(link).css('color', '#193c58');
    lnkCurrentlyPlayingSong = link;
    flowerType = 'song';
    IsCenteredPlayList = true;
    //    flowerClickPlay(window.event);
    //showplayer();
    Flower_MouseDownEvent('Play', null);
    Gettitleofsong();
    //once playlist is played set flag back to false
    isPlayPlaylist = false;
}

function flowerClickPlay(event) {
    isPlayPlaylist = false;
    if (flowerType == 'song') {
        //showplayer();
        Flower_MouseDownEvent('Play', null);
        Gettitleofsong();
        //AddMediatoDB();
    }
    else if (flowerType == 'album') {
        alert('Play Clicked - Album');
    }
    else if (flowerType == 'playlist') {
        isPlayPlaylist = true;
        loadplaylist(PlaylistPlay_Callback);
    }
}

function flowerClickCenter(event) {
    //alert(flowerType)
    if (flowerType == 'song') {
        //Do nothing
    }
    else if (flowerType == 'album') {
        alert('Center Clicked - Album');
    }
    else if (flowerType == 'playlist') {
        loadplaylist(null);
    }
}
//function flowerClickRate(event){}
//function flowerClickShare(event){}
function flowerClickPlaylist(event) {
    if (flowerType == 'song') { }
    else if (flowerType == 'album') { alert('Playlist Clicked - Album'); }
    else if (flowerType == 'playlist') { }
    document.getElementById('flowerPlaylistPanel').style.display = 'none';
}
function BindCurrentPlayListPanel() {
    CURRENT_USERID = getCurrentUserID();
    if (CURRENT_USERID != '') {
        RecentAddedPlaylists('', 'Loading...');
        var result = PageMethods.GetRecentUserPlaylists(CURRENT_USERID,
                                function() {
                                    var PlayList = '';
                                    if (arguments[0] != null) {
                                        for (x = 0; x < arguments[0].length; x++) {
                                            if (parseInt(arguments[0][x].id) != -1) {
                                                //var playlistname = jQuery.trim(arguments[0][x].name);
                                                var playlistname = arguments[0][x].name;
                                                if (playlistname.length > 12) { playlistname = playlistname.substring(0, 12) + "..."; }
                                                PlayList += "<div class='div'><a href='javascript:' id='" + arguments[0][x].id + "' name='lnkRecentAddedPlaylist' onclick='AddtoPlaylist(\"" + arguments[0][x].id + "\");' class='link'>" + playlistname + '</a></div>';
                                            }
                                            else {
                                                ShowNotification(jQuery.trim(arguments[0][x].name));
                                                break;
                                            }
                                        }
                                    }
                                    if (jQuery.trim(PlayList) == '') {
                                        PlayList = "<div class='div' style='margin:right:5px;'><input type='button' id='lnkCreatePlaylist' onclick='ShowAddNewplaylistDialog();' value='+ Create new playlist' class='SButton' style='font-size:10px; width:125px; height:19px;' /></div>";
                                        RecentAddedPlaylists('', PlayList);
                                        document.getElementById('divAddToPlaylistlnk').style.display = 'none';
                                    }
                                    else {
                                        RecentAddedPlaylists('', PlayList);
                                        document.getElementById('divAddToPlaylistlnk').style.display = '';
                                    }
                                    
                                },
                                function() {
                                    //alert(arguments[0]);
                                    RecentAddedPlaylists('none', '');
                                }
                            );
    
    }
 }
 function RecentAddedPlaylists(display, innertHTML) {
     var divRecentAddedPlaylists = document.getElementById('divRecentAddedPlaylists');
     if (divRecentAddedPlaylists != null) {
         divRecentAddedPlaylists.innerHTML = innertHTML;
         divRecentAddedPlaylists.style.display = display;
     }
 }

function BindPlaylistPanel() {
    CURRENT_USERID = getCurrentUserID();
    $("div#divPanelLoginMsg").hide();
    if (CURRENT_USERID != '') {
        //$("div#divPanelLoginMsg").hide();
        if (flowerType == 'song') {
            if (BindRecentPlaylist) {
                document.getElementById('divAddnewPlaylistlnk').style.display = 'none';
                RecentPlaylists('', 'Loading...');
                var result = PageMethods.GetRecentUserPlaylists(CURRENT_USERID,
                                function() {
                                    var PlayList = '';
                                    if (arguments[0] != null) {
                                        for (x = 0; x < arguments[0].length; x++) {
                                            if (parseInt(arguments[0][x].id) != -1) {
                                                //var playlistname = jQuery.trim(arguments[0][x].name);
                                                var playlistname = arguments[0][x].name;
                                                if (playlistname.length > 12) { playlistname = playlistname.substring(0, 12) + "..."; }
                                                PlayList += "<div class='div'><a href='javascript:' id='" + arguments[0][x].id + "' name='lnkRecentPlaylist' class='link'>" + playlistname + '</a></div>';
                                            }
                                            else {
                                                ShowNotification(jQuery.trim(arguments[0][x].name));
                                                break;
                                            }
                                        }
                                    }
                                    if (jQuery.trim(PlayList) == '') {
                                        //PlayList = "<div class='div' style='margin:auto; margin-left:15px;'><a href='javascript:' id='lnkCreatenewPlaylist' class='link'><b>Create New Playlist</b></a></div>";
                                        PlayList = "<div class='div' style='margin:right:5px;'><input type='button' id='lnkCreatenewPlaylist' value='+ Create new playlist' class='SButton' style='font-size:10px; width:125px; height:19px;' /></div>";
                                        RecentPlaylists('', PlayList);
                                        document.getElementById('divAddnewPlaylistlnk').style.display = 'none';
                                    }
                                    else {
                                        RecentPlaylists('', PlayList);
                                        document.getElementById('divAddnewPlaylistlnk').style.display = '';
                                    }
                                    BindRecentPlaylist = false;
                                },
                                function() {
                                    //alert(arguments[0]);
                                    RecentPlaylists('none', '');
                                }
                            );
            }
        }
        else {
            RecentPlaylists('none', '');
        }
    }
    else {
        //alert('divAddnewPlaylistlnk')
        PlayList = "<div class='div' style='margin:right:5px;'><input type='button' id='lnkCreatenewPlaylist' value='+ Create new playlist' class='SButton' style='font-size:10px; width:125px; height:19px;' /></div>";
        RecentPlaylists('', PlayList);
        document.getElementById('divAddnewPlaylistlnk').style.display = 'none';
        $("div#divPanelLoginMsg").hide();
        $("div#divRecentPlaylists").show();
        
    }
}
function RecentPlaylists(display, innertHTML) {
    var RecentPlaylists = document.getElementById('RecentPlaylists');
    if (RecentPlaylists != null) {
        RecentPlaylists.innerHTML = innertHTML;
        RecentPlaylists.style.display = display;
    }
}
function HideRemovelink(display, type) {
    var divRemove1 = document.getElementById('divRemove');
    if (divRemove1 != null) {
        divRemove1.style.display = display;
    }
    
    if (type == 'song') {
        document.getElementById('divAddnewPlaylistlnk').style.display = '';
        // $("a#lnkRemove").html("Remove from Current");
        $('input#lnkRemove').attr("value", "Remove from Current"); 
        $(divRemove1).css({ 'padding-left': '0px' });
    }
    else if (type == 'playlist') {
        document.getElementById('divAddnewPlaylistlnk').style.display = 'none';
        //$("a#lnkRemove").html("Remove");
        $('input#lnkRemove').attr("value", "Remove");
        $(divRemove1).css({ 'padding-left': '40px' });
    }
}
function RemoveClick() {
    if (flowerType == 'playlist') {
        $("#divRemovePlaylistTitle").html($("#" + $("#" + gethfid()).val()).html());
        $('#btnDeletePlaylist').attr("value", 'Delete');
        $('#btnDeletePlaylist').removeAttr("disabled");
        $('#divRemovePlaylist').dialog('open');
        $('#divRemovePlaylist').dialog('option', 'height', 180);
        return;
    }
    else if (flowerType == 'song') {
        flowerRemoveClick();
    }
}
function RemoveCallbackMapEvent(eventArgument, context) {
    if (ShowErrorMessage(eventArgument)) {
        if (flowerType == 'song') {
            document.getElementById('divrepeater').innerHTML = eventArgument;
            SetFirstandLastElement();
            ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/minus.png' alt='' style='margin-left: 5px;'/></div> <div> Removed song<br>from playlist </div></div>");
        }
        else {
//            RefreshPlaylist(eventArgument);
//            if (CenterPlaylistID == $("#" + gethfid()).val()) {
//                $('#playlistcontentsdiv').hide();
//            }
//            EnableButton('btnDeletePlaylist', 'Delete');
//            $('#divRemovePlaylist').dialog("close");
//            ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/minus.png' alt='' style='margin-left: 5px;'/></div> <div> Deleted playlist<br><u>" + $("#divRemovePlaylistTitle").html() + "</u></div></div>");
        }
    }
    $('#divLoading').dialog("close");
}
function AddtoPlaylist(PlaylistID)
{
    AddSongtoPlaylist(GetCurrentMediaIDByFlowerType(), PlaylistID);
}
function AddtoPlaylistCallbackMapEvent(eventArgument,context)
{ 
    if(ShowErrorMessage(eventArgument) && eventArgument.indexOf('##')>-1){
        eventArgument=eventArgument.split('##');
        if(eventArgument.length>2 && eventArgument[0]!=''){
            CallbackMapEvent(eventArgument[0],context);
        }
//        var Songtitle=$("#"+eventArgument[2]+" span").html();
//        Songtitle = Songtitle.length>25 ? Songtitle.substring(0,25)+'...': Songtitle;    
//        var playlistTitle=$("#"+eventArgument[1]).html();
        //ShowNotification("Added song<br>to playlist");
        ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/plus.png' alt='' style='margin-left: 5px;'/></div> <div> Added song<br>to playlist </div></div>");
    }
}
function ViewAddNewPlaylistCallbackMapEvent(eventArgument, context) {
    if (ShowErrorMessage(eventArgument)) {
        $('div#playlist').html(eventArgument).show();
        $('div#divCloseAddPlaylist').show();
        $('div#divViewAddPlaylist').show();
        $('img#imgAddplaylistloader').hide();
        if (document.getElementById("txtFilter")) { document.getElementById("txtFilter").focus(); }
    }
    else {
        HideAddNewPlaylist();
    }
}
function HideAddNewPlaylist() {
    $('#divAddPlaylist').dialog("close");
}
function BindRecentlyTagged() {
    CURRENT_USERID = getCurrentUserID();
    if (CURRENT_USERID != '' && jQuery.trim($("td#divRecentlyTagged").html()) == '') {
        $("td#divRecentlyTagged").html('Loading...');
        PageMethods.GetUserRecentTags(CURRENT_USERID, GetCurrentUserFacebookID(),
                        function() {
                            var friends = '';
                            if (arguments[0] != null) {
                                for (x = 0; x < arguments[0].length; x++) {
                                    if (x > 5) {
                                        break;
                                    }
                                    if (parseInt(arguments[0][x].id) != -1) {
                                        friends += '<div class="div"><a href="javascript:" id="' + arguments[0][x].facebookId + '" name="lnkRecentlyTagged" class="link">' +
                                            arguments[0][x].firstName + ' ' + arguments[0][x].lastName +
                                            '</a></div>';
                                    }
                                    else {
                                        ShowNotification(jQuery.trim(arguments[0][x].firstName));
                                        break;
                                    }
                                }
                            }
                            $("td#divRecentlyTagged").html(friends);
                        },
                        function() {
                            ShowNotification(arguments[0]);
                            $("td#divRecentlyTagged").html('');
                        }
                    );
    }
}
function TagMediaForUserClick(FacebookID, FacebookUserName) {
    TagMediaForUser(flowerType, GetCurrentMediaIDByFlowerType(), FacebookID, FacebookUserName);
}
function TagMediaForUser_CallbackEvent(eventArgument, context) {
    if (ShowErrorMessage(eventArgument)) {
        var originalMediaTitle = GetCurrent_MediaTitle();
        originalMediaTitle = originalMediaTitle.length > 25 ? originalMediaTitle.substring(0, 25) : originalMediaTitle;
        ShowSharenotification(eventArgument, originalMediaTitle);
    }
}
function RateClick(rating, comment, id) {
    CURRENT_USERID = getCurrentUserID();
    if (CURRENT_USERID != '') {
        $("#divShoutComment").append(LoadCommentImage);
        DisableButton('btnCommentNo', 'no');
        DisableButton('btnCommentYes', 'yes');
        Rate(id, rating, comment);
    }
    else {
        if (rating > 0)
        { ACTION = "rateUp"; }
        else 
        { ACTION = "rateDown"; }
        $('#divFacebookLogin').dialog('open');
        $("#spanloginAction").html('to rate this song.');
    }
}
function Rate_CallbackEvent(eventArgument, context) {
    
    var IsdialogOpen = $('#divRatingComment').dialog('isOpen');
    if (ShowErrorMessage(eventArgument)) {
        eventArgument = eventArgument.split('##');
        //alert(eventArgument[0] + '..' + eventArgument[1] + '..' + eventArgument[2] + '..' + eventArgument[3]);
        var rating = parseInt(eventArgument[1]);
        if (rating > 0) {
            setLikedandDislikedCounts(parseInt($("span#likedcount").html()) + 1, parseInt($("span#dislikedcount").html()));
        }
        else if (rating < 0) {
            setLikedandDislikedCounts(parseInt($("span#likedcount").html()), parseInt($("span#dislikedcount").html()) + 1);
        }
        
        var title = $("#" + eventArgument[2]).html();  //GetCurrent_MediaTitle();
        //var title = $("#" + eventArgument[2]).children('span').html();
        if(title.indexOf('span')>=0)
          title = $("#" + eventArgument[2]).children('span').html();
        
        title = title.length > 23 ? title.substring(0, 23) + '...' : title;

        if (IsdialogOpen || rating == 0) {
            ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/comments.png' alt='' style='margin-left: 5px;'/></div> <div> Commented on<br><u>" + title + "</u> </div></div>");
        }
        else if (rating < 0) {
        ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/flower/thumbsdown_small.png' alt='' style='margin-left: 5px;'/></div> <div> Negative rating <br>given to<br><u>" + title + "</u> </div></div>");
        }
        else if (rating > 0)
        {
            ShowNotification("<div style='float: left; width: 100%;'><div style='float: left; text-align: center; height: 55px;'><img src='img/blue/flower/thumbsup_small.png' alt='' style='margin-left: 5px;'/></div> <div> Positive rating <br>given to<br><u>" + title + "</u> </div></div>");
        }
//        if (eventArgument[0] == "RELOAD_SHOUTBOX") {
//            ShowRecentComment(eventArgument[3]);
//        }
//        if (eventArgument[0] == "LOAD_POSITIVE_RATING") {
//            ShowPositiveRating(eventArgument[3]);
//        }
//        if (eventArgument[0] == "LOAD_NEGATIVE_RATING") {
//            ShowNegativeRating(eventArgument[3]);
//        }
        ShowRecentComment(eventArgument[0], eventArgument[3]);
    }
    if (IsdialogOpen) {
        $('#divRatingComment').dialog('close');
    }
    EnableButton('btnCommentNo', 'no');
    EnableButton('btnCommentYes', 'yes');
    $("#divShoutComment .loadingComment").remove();
}
function ValidateRatingComments(rating, textAreaID) {
    var comment = jQuery.trim($("#" + textAreaID).val())
    if (comment != '' && comment != 'write comment...') {
        if (comment.length > 100) {
            alert('Comment should not be greater than 100 characters.');
            document.getElementById(textAreaID).focus();
        }
        else {
            CURRENT_USERID = getCurrentUserID();
            if (CURRENT_USERID != '') {       
                if (textAreaID == 'ShoutBox1_txtShoutRatingComment') {
                    //$("#divShoutComment").append(LoadCommentImage);
                    RateClick(rating, comment, $("#hdnCurrentPlayingID").val());                
                }
                else {
                    //$("#divShoutComment").append(LoadCommentImage);
                    RateClick(rating, comment, GetCurrentMediaIDByFlowerType()); 
                }
                $("#" + textAreaID).val('');
            }
            else {
                ACTION = "comment";
                $('#divFacebookLogin').dialog('open');
                $("#spanloginAction").html('to make a comment on this song.');
            }
        }
    }
}
function GetCurrentMediaTitle(maxLength, titledivID, maxWidth, originalMediaTitle, isAddSpace) {
    var mediaTitle = '';
    if (originalMediaTitle == null) {
        originalMediaTitle = GetCurrent_MediaTitle();
    }
    mediaTitle = originalMediaTitle.length > maxLength ? originalMediaTitle.substring(0, maxLength) : originalMediaTitle;

    var divTitle = document.getElementById(titledivID);

    if (divTitle != null) {
        divTitle.innerHTML = mediaTitle
        var width = parseInt(divTitle.clientWidth != null ? parseInt(divTitle.clientWidth) : 0);
        if (width == 0) {
            width = (divTitle.offsetWidth != null ? parseInt(divTitle.offsetWidth) : 0);
        }
        while (width > maxWidth) {
            mediaTitle = mediaTitle.substring(0, mediaTitle.length - 1);
            divTitle.innerHTML = mediaTitle;
            width = parseInt(divTitle.clientWidth != null ? parseInt(divTitle.clientWidth) : 0);
            if (width == 0) {
                width = (divTitle.offsetWidth != null ? parseInt(divTitle.offsetWidth) : 0);
            }
        }
        if (originalMediaTitle.length > mediaTitle.length)
            mediaTitle += '...'
        if (isAddSpace == false) {
            divTitle.innerHTML = mediaTitle;
        }
        else {
            divTitle.innerHTML = "&nbsp;" + mediaTitle;
        }
    }
}
function GetCurrent_MediaTitle() {
    if (flowerType == 'song') {
        return document.getElementById(returnallid()[8]).value;
    }
    else if (flowerType == 'playlist') {
        return document.getElementById(document.getElementById(gethfid()).value).innerHTML;
    }
}
function OpenLinktoSongDialog() {
    $('#divLinktoSong').dialog("open");
    $('#spanLinktoTitle').html('Link to this ' + flowerType);
    $('#tdLinktoURL').html(LoadGrayImage);
    $('#tdLinktoURL .loading').each(function() {
        $(this).css({ 'top': '0', 'left': '0' });
    });
}
function LinktoSong() {
    OpenLinktoSongDialog();
    var mediaID = GetCurrentMediaIDByFlowerType();
    GetLinktoSong(mediaID, flowerType);
}
function GetLinktoSong(ID, Type) {
    PageMethods.GetPermalink(ID, Type, LinktoSong_successCalback, LinktoSong_errorCallback);
}
function LinktoSong_successCalback(result, userContext, methodName) {
    if (ShowErrorMessage(result) && jQuery.trim(result) != '') { $('#tdLinktoURL').html(result); }
    else { $('#divLinktoSong').dialog("close"); }
}
function LinktoSong_errorCallback(error, userContext, methodName) {
    $('#divLinktoSong').dialog("close");
    alert(error);
}
function GetCurrentMediaIDByFlowerType() {
    if (flowerType == 'song') { return document.getElementById(returnallid()[3]).value; }
    else if (flowerType == 'playlist') { return document.getElementById(gethfid()).value; }
}
/*Flower widget - end*/
