//document.domain = 'megalyrics.ru';

function plt_to() {
    plt_vis = false;
    $("#pl_tooltip").hide()
    var sid = $("#pl_tooltip").attr('sid')
    $('#content_col_left_inner a[sid='+sid+']').css({'z-index':''});
    $('#content_col_left_inner tr.t_songlist').css({'z-index':''});
}

function playlist_panel(el){
    var sid1 = $("#pl_tooltip").attr('sid');
    $('#content_col_left_inner a[sid='+sid1+']').css({'z-index':''});
    $('#content_col_left_inner tr.t_songlist').css({'z-index':''});
    
    var sid = el.attr('sid');
    if (sid == sid1 && plt_vis) {
        return plt_to()
    }
    plt_vis = true;
    el.parent().children('a').css({'z-index':'10000'});
    el.parent().parent().parent().css({'z-index':'10000'});
    
    var plt = $("#pl_tooltip");
    plt.attr('sid', sid);
    plt.detach().appendTo(el.parent()).show();
    plt_vis = true;
}

function setposs(el, p1, p2) {
    el.parent().children('a.play').css({'background-position': p1});
    el.parent().children('a.pl_pan').css({'background-position': p2});
}

function rebind_tabs(){

    $('#content_col_left_inner a.spt_a').unbind().bind('click', function(e){
        var li = $(this).parent();
        var el = li.parent().parent().children('.st_' + li.attr('rel'));
        li.siblings().removeClass('active')
        li.addClass('active')
        el.siblings('div').hide();
        el.show();
        return false;
    });
/*
    $('#content_col_left_inner a.spt_a u').unbind().bind('click', function(e){
        var li = $(this).parent().parent().parent();
        var el = li.parent().parent().children('.st_' + li.attr('rel'));
        li.siblings().removeClass('active')
        li.addClass('active')
        el.siblings('div').hide();
        el.show();
        return false;
    });
*/
}

function open_panel(el) {
    is_open = $("#songpanel").attr('sid')
    close_panel()
    var sid = el.attr('sid');
    if (sid == is_open) {
        return false;
    }
    $('#content_col_left_inner a.op_panel[sid='+sid+']').addClass('open');
    var el = el.parent().parent()
    var tn = el[0].tagName;

    if (tn == 'TD') {
        el = el.parent();
        var cs = el.children('td').length

        el.after('<tr id="songpanel"><td colspan="'+cs+'" id="songpanel_i">Loading Song Info</td></tr>')
        $("#songpanel_i").load('/ajax.php', {song_id:sid, what: 'panel'}, function(){
            // $("#songpanel_i .sp_tabs").tabs();
            rebind_tabs()
        })
    }
    if (tn == 'LI') {
        el.append('<div id="songpanel"><div id="songpanel_i">Loading Song Info</div></div>')
        $("#songpanel_i").load('/ajax.php', {song_id:sid, what: 'panel'}, function(){
            // $("#songpanel_i .sp_tabs").tabs();
            rebind_tabs()
        })
    }
}

function close_panel(){
    $("#songpanel").remove();
    $('#content_col_left_inner .op_panel').removeClass('open');
}

var vol;

function vol(v){
    if (v == undefined){
        return get_option('vol', 50);
    }else{
        return set_option('vol', v);
    }
}



function refresh_scrolls(){
    $('#ui_playlist').sortable({appendTo: 'body', helper: 'clone'});
    if (0 && !$.browser.msie) {
        if (!$.browser.opera) {
            $('#ui_playlist:visible').jScrollPane({scrollbarWidth: 6, showArrows: true, dragMaxHeight: 18, dragMinHeight: 18}).bind('scroll', function(e) {
                $('#ui_playlist', this).sortable('refreshPositions');
            });
        } else {
            $('#ui_playlist').jScrollPane({scrollbarWidth: 6, showArrows: true, dragMaxHeight: 18, dragMinHeight: 18}).bind('scroll', function(e) {
                $('#ui_playlist', this).sortable('refreshPositions');
            });
        }
    } else {
        $('#ui_pl_scroll').css({'overflow-y' : 'auto', 'overflow-x' : 'hidden'})
    }
}

function reload_playlists(){
    $("#ui_pl_gr").replaceWith('<div class="pl_holder"></div>');
    $("#ui_list, #ui_play_gr").remove();
    $.post('/ajax.php', {what:'util_playlists'}, function(data){
        $('.pl_holder').replaceWith(data);
        $.jGrowl(_("Playlists reloaded."),{
                theme: 	'success',
                header: 'OK',
                sticky: false
        });
    });
}

function ui_set_state(state){
    if (state == 'none') {
        return;
    }
    $('#ui_play_buttons').removeClass('paused').removeClass('playing');
    if (state == 'paused') {
        $('#ui_play_buttons').addClass('paused');
    } else if (state == 'playing') {
        $('#ui_play_buttons').addClass('playing');
    }
    parent.player.state = state;
}


function save_pl(pl_id, pl_name){
    data = {}
    data.what = 'savePlaylist';
    data.pl_id = pl_id;
    data.pl_name = pl_name;
    sids = []
    $("#ui_playlist .song").each(function(){
        sids.push($(this).attr("sid"));
    });
    data.sids = $.toJSON(sids);
    parent.player.loadJSON(data,function(){
        reload_playlists()
        $.jGrowl(_("Playlist saved."),{
            theme: 	'success',
            header: 'OK',
            sticky: false
        });
    });
}

function save_new_pl(){
    var b = Object();
    b[_('Save Playlist')] = function () {
        var pl_name = $("#pl_name").val();
        $(this).dialog('close');
        save_pl(0,pl_name);
    }
    $('<div id="tdialog" title="Save Playlist">'+_('Please enter playlist name:')+'<br/><br/><form id="savepl_f"><input id="pl_name" name="name" value="" /></div>').dialog({modal: true, buttons: b})
    
    $('#savepl_f').submit(function () {
        var pl_name = $("#pl_name").val();
        save_pl(0,pl_name);
        $('#tdialog').dialog('close');
        return false;
    });
}

var to;
var plt_vis = false;

function rebind_uvp() {

    $("a.p_report").unbind().click(function(){
        var iid = $(this).parent().attr('iid');
        var mode = $(this).parent().attr('mode');
        parent.player.loadJSON({iid:iid, mode:mode, what: 'reportForm'}, function(data){
            var b = Object();
            b[_('Cancel')] = function () {
                $(this).dialog('close');
            }
            b[_('Report')] = function () {
                $('#reportForm').ajaxSubmit({success: function(){
                    $.jGrowl(_("Bad content reported."),{
                        theme: 	'success',
                        header: 'OK',
                        sticky: false
                    });
                    $('#reportForm').dialog('close');
                }})
            }
            $(data.response).dialog({modal: true, buttons: b, width: 400})

        })
        return false;
    });
    
    $("a.p_vote").unbind().click(function(){
        var dir;
        
        var pr = $(this).parent().children('.p_rating')
        var prv = pr.html()/1
        if ($(this).hasClass('plus')) {
            dir = 'up';
            prv++
        } else {
            dir = 'dn';
            prv--
        }
        var iid = $(this).parent().attr('iid');
        var mode = $(this).parent().attr('mode');
        parent.player.loadJSON({iid:iid, mode:mode, dir: dir, what: 'vote'}, function(data){
            pr.html(prv)
            if (prv > 0) {
                pr.removeClass('minus').addClass('plus')
            } else {
                pr.removeClass('plus').addClass('minus')
            }
            $.jGrowl(_("Vote added."),{
                theme: 	'success',
                header: 'OK',
                sticky: false
            });
        })
        return false;
    })
}

function dom_loaded() {
    var less7 = $.browser.msie && $.browser.version.substr(0,1) != '8';
    
    window.parent.song_o.fns = []
    window.parent.song_o.subscribe(function(){
        $("#ui_song_title").html(window.parent.player.playing)
    }, 1);
    
    $('#searchf').submit(function(){
		var txt = $('#srchq').val();
        if (txt==_('Find') || txt == '') {
			$('#srchq').val('').addClass('error_hl').focus();
			return false;
		}
	});
    $('#srchq').click(function(){
        var txt = $('#srchq').val()
		if ($('#srchq').val()==_('Find')) {
			$('#srchq').val('');
		}
    });
    
    $("a.fav").click(function(){
        var iid = $(this).parent().attr('iid');
        var mode = $(this).parent().attr('mode');
        parent.player.loadJSON({iid:iid, mode:mode, what: 'addBookmark'}, function(data){
            $.jGrowl(_("Added to bookmarks."),{
                theme: 	'success',
                header: 'OK',
                sticky: false
            });
        })
        return false;
    });
    
    rebind_uvp()
    
    if ($.browser.opera) {
        $(".pink_button.corner20").css({'background':'transparent url("http://megalyrics.ru/round.php?r=10&color=7635a4")'})
        $(".round_inp").css({'background':'transparent url("http://megalyrics.ru/round.php?r=10&color=ffffff")'})
        // CSS for opera
        if ($.browser.version >= 10) {
            $("#wrapper").addClass('opera10');
        }
    }
    
    if ($.browser.msie) {
        $(".pink_button.corner20").each(function(){
            var $this = $(this);
            $this.css({'background':'transparent url("http://megalyrics.ru/round7.php?r=5&color=7635a4&w='+($this.outerWidth())+'&h='+($this.outerHeight())+'") no-repeat'})
        })
        // Force Rerender
        if ($.browser.version < 9) {
            $("#wrapper").addClass('ieSucks');
        }
    }
    
    $("#clear_pl").click(function(){
        parent.player.playlist = '';
        $("#ui_playlist").html('');
        refresh_scrolls()
        return false;
    })
    
    
    $('body').click(function() {
        $("#ui_songbar_panel").hide();
    });
    
    $("#ui_songbar").click(function (e){
        e.stopPropagation();
    })
   
   
    
    $("#save_pl").click(function(){
        var plid = $("#plid").html();
        var b = Object();
        b[_('Update')] = function() {
            $(this).dialog('close');
            save_pl(plid);
        }
        b[_('Create new')] = function() {
            $(this).dialog('close');
            save_new_pl()
        }
        if (plid != 0) {
            $('<div title="Overwrite?">'+_('Do you want to update existing playlist or to create a new one?')+'</div>').dialog({
                resizable: false,
                height:140,
                modal: true,
                buttons: b
            });

        } else {
            save_new_pl()
        }
        return false;
    });

    $('#player_show').click(function(){
        $("#page").animate({'paddingTop': '50px'})
        $("#player_ui").animate({'top': '0px'})
        $('#player_hide').show();
        $('#player_show').hide();
        set_option('pl_vis', 1);
        return false;
    });
    $('#player_hide').click(function(){
        $("#page").animate({'paddingTop': '0px'})
        $("#player_ui").animate({'top': '-50px'})
        $('#player_hide').hide();
        $('#player_show').show();
        set_option('pl_vis', 0);
        return false;
    });
    
    if (get_option('pl_vis', 1) == 0){
        $('#player_hide').hide();
        $("#player_ui").css({'top': '-50px'})
        $("#page").css({'paddingTop': '0px'});
    } else {
        $('#player_show').hide();
    }
    var a = ['auto_tick', 'ui_random', 'ui_repeat']
    for (i in a) {
        var f = a[i]
        $("#"+f).click(function(){
            f = $(this).attr('id')
            if ($(this).hasClass('checked')) {
                $(this).removeClass('checked');
                set_option(f, 0);
            } else {
                $(this).addClass('checked');
                set_option(f, 1);
            }
            return false;
        });
        if (i==0) {
            def = 1
        } else {
            def = 0
        }
        if (get_option(f, def) == 0){
            $("#"+f).removeClass('checked');
        } else {
            $("#"+f).addClass('checked');
        }
    }
    
    
    $('#panel_show').click(function(){
        $("#spacer").slideDown();
        $('#panel_hide').show();
        $('#panel_show').hide();
        set_option('pan_vis', 1);
        return false;
    });
    $('#panel_hide').click(function(){
        $("#spacer").slideUp();
        $('#panel_hide').hide();
        $('#panel_show').show();
        set_option('pan_vis', 0);
        return false;
    });
    
    if (get_option('pan_vis', 1) == 0){
        $('#panel_hide').hide();
        $("#spacer").hide();
    } else {
        $('#panel_show').hide();
    }
    
    $("#add_tag").click(function(){
        var aid = $(this).attr('aid');
        $.ajax({
            url : '/ajax.php',
            async : true,
            data : {},
            type : "GET",
            dataType : 'json',
            success : function (data){
                $.modal(data.response,{overlayClose:true});
                $("#tag_subm").click(function(){
                    $.ajax({
                        url : '/ajax.php',
                        async : true,
                        data : {},
                        type : "GET",
                        dataType : 'json',
                        success : function (data){
                            return false;
                        }
                    });
                });
            }
        });
        return false;
    })
    
    $("#show_login_panel").click(function(){
        $("#login_panel").toggle();
        return false;
    });
    $("#show_alph_panel").click(function(){
        $("#alph_panel").toggle();
        return false;
    });

    
    function set_radio_mode() {
        var ri = window.parent.player.radio_id;
        if (ri <= 0) {
            mod = 'обычный';
        } else {
            var rt = window.parent.player.radio_type;
            if (rt == 1) {
                mod = '<a href="http://megalyrics.ru/tabs/radio/">радио исполнителя</a>'; //about/?art_id='+ri+'
            }
            if (rt == 2) {
                mod = '<a href="http://megalyrics.ru/tabs/radio/'+ri+'">радио пользователя</a>';
            }
            if (rt == 3) {
                mod = '<a href="http://megalyrics.ru/tabs/radio/">радио по стилю</a>'; // tag/'+ri+'
            }
            
        }
        
        $("#ui_radio_mode").html("<b>Режим: "+mod+"</b>");
    }
    
    $("#ui_songbar_arr").click(function(){
        $("#ui_songbar_panel").toggle();
        set_radio_mode();
        refresh_scrolls();
        return false;
    });

    $("#ui_volume").slider({
        min: 0,
        max: 100,
        value: vol(),
        slide: function(event, ui) {
            // $("#amount").html(ui.value);
            try {
                parent.player.sound.setVolume(ui.value);
                vol(ui.value);
            } catch (e) {
                // pass
            }
        }
    });
    $("#amount").val($("#ui_volume").slider("value"));

    $("#ui_next").click(function(){
        parent.player.play_next(1);
        return false;
    })
    

    $("#ui_prev").click(function(){
        parent.player.play_prev();
        return false;
    })

    $("#ui_title_bar").disableTextSelect();

    $("#ui_progress_click").click(function(e){
        x = (e.pageX - $("#ui_progress_click").offset().left)/$("#ui_progress_click").width();
        pos = Math.floor(parent.player.sound.duration*x)
        parent.player.sound.setPosition(pos)
        return false;
    });
    $("#ui_pl_scroll").disableTextSelect();
    refresh_scrolls();
    
    $("#add_to_new").click(function(){
        var d = {what:'addSongToNewPl', pl_name: $("#anew_pl").val(), song_id: parent.player.sid};
        parent.player.loadJSON(d, function(data){
            if ('error' in data) {
                alert (data.error);
                return false;
            }
            $.jGrowl(_("Song added to a new playlist."),{
                    theme: 	'success',
                    header: 'OK',
                    sticky: false
            });
            reload_playlists()
            return false;
        });
    });
    
    $("#add_to_new1").click(function(){
        var song_id = $("#pl_tooltip").attr('sid');
        var d = {what:'addSongToNewPl', pl_name: $("#anew_pl1").val(), song_id: song_id};
        parent.player.loadJSON(d, function(data){
            if ('error' in data) {
                alert (data.error);
                return false;
            }
            $.jGrowl(_("Song added to a new playlist."),{
                    theme: 	'success',
                    header: 'OK',
                    sticky: false
            });
            reload_playlists()
            return false;
        });
        plt_to()
        return false;
    });
    
    
    $("#content_col_left_inner .sp_pl_pan").bind('click',function(){
        playlist_panel($(this))
        return false;
    });
   

    $('#pl_enqueue').click(function(){
        var song_id = $("#pl_tooltip").attr('sid');
        parent.player.enqueue_by_id(song_id)
        $.jGrowl(_("Song added to play queue."),{
                theme: 	'success',
                header: 'OK',
                sticky: false
        });
        plt_to()
        return false;
    })
 
    $('#ui_vol_mpanel a.pl_m_button').click(function(){
        var sid = parent.player.sid;
        var what = $(this).attr('rel');
        if (what == 'ui_embed') {
            parent.player.loadJSON({what: 'embedCode', song_id: sid}, function(data){
                $(data.response).dialog({modal: true, buttons: {Ok : function() {
                    $(this).dialog('close');
                }}, width: 500})
            });
        } else {
            window.location.replace('/ajax.php?what=goto&c=1&song_id='+sid+'&to='+what);
        }
    })

    rebind_tabs()
    window.parent.content_ready = 1;
    window.parent.o.fire();
}

function bind_live() {
    $("#ui_vote_up").click(function(){
        var sid = parent.player.sid;
        parent.player.loadJSON({what:'song_like', sid: sid, dir: '+'}, function(){
            $.jGrowl(_("Saved. Playing more like this."),{
                    theme: 	'success',
                    header: 'OK',
                    sticky: false
            });
        });
        return false;
    })
    
    $("#ui_vote_dn").click(function(){
        var sid = parent.player.sid;
        parent.player.loadJSON({what:'song_like', sid: sid, dir: '-'}, function(){
            $.jGrowl(_("Saved. Play less like this."),{
                    theme: 	'success',
                    header: 'OK',
                    sticky: false
            });
            parent.player.play_next();
        });
        return false;
    })
    
    $("#pl_tooltip .ui-icon-close").click(function(){
        plt_to();
        return false;
    });

    $('.open_pl', $("#ui_container")[0]).live('click', function(){
        var pid = $(this).attr('pid')
        $("#plid").html(pid)
        return parent.player.load_playlist_ajax(pid)
    })
    
    $('.to_pl', $("#ui_container")[0]).live('click', function(){
        var pid = $(this).attr('pid')
        return parent.player.add_to_pl(pid)
    })
    
    $('#pl_tooltip .to_pl').live('click', function(){
        var pid = $(this).attr('pid')
        var sid = $(this).parent().attr('sid')
        plt_to()
        return parent.player.add_to_pl(pid, sid)
    })

    $("#ui_play", $("#ui_container")[0]).live('click', function(){
        try {
            if (parent.player.sound.playState == 1){
                if (parent.player.sound.paused == 1) {
                    parent.player.sound.resume();
                    ui_set_state('playing');
                } else {
                    parent.player.sound.pause();
                    ui_set_state('paused');
                }
            } else {
                if (parent.player.sound_is_loaded == true) {
                    if (player.sound.readyState == 0) {
                        parent.player.soundManager.play('song');
                    } else {
                        parent.player.sound.resume();
                    }
                    ui_set_state('playing');
                } else {
                    parent.player.sound_is_loaded=true;
                    parent.player.soundManager.play('song');
                    var sid = $('.current').attr('sid');
                    parent.player.stat(sid);
                    ui_set_state('playing');
                }
            }
        } catch (e) {

        }
        return false;
    });
    
    $("#ui_vol_vol").click(function(){
        $("#ui_vol_mpanel").hide();
        $("#ui_vol_panel").toggle();
        return false;
    });
    
    $("#ui_vol_more").click(function(){
        $("#ui_vol_panel").hide();
        $("#ui_vol_mpanel").toggle();
        return false;
    });
    
    $("#ui_vol_mpanel .ui-icon-close", $("#ui_container")[0]).live('click', function(){
        $("#ui_vol_mpanel").hide();
        return false;
    });
    
    $("#ui_pl_btn", $("#ui_container")[0]).live('click', function(){
        $("#ui_pl_panel").toggle();
        $("#ui_play_panel").hide();
        return false;
    })
    
    $("#ui_play_panel .ui-icon-close", $("#ui_container")[0]).live('click', function(){
        $("#ui_play_panel").hide();
        return false;
    });
    
    $("#ui_pl_panel .ui-icon-close", $("#ui_container")[0]).live('click', function(){
        $("#ui_pl_panel").hide();
        return false;
    });
    
    
    $("#ui_play_pl", $("#ui_container")[0]).live('click', function(){
        $("#ui_play_panel").toggle();
        $("#ui_pl_panel").hide();
        return false;
    });
    
    
    $("#ui_playlist a.song", $("#ui_playlist")[0]).live('click',function(){
        var sid = $(this).attr('sid');
        window.parent.player.play_by_id(sid);
        return false;
    });    
    
    $("#content_col_left_inner a.play", $("#content_col_left_inner")[0]).live('click',function(){
        open_panel($(this))
        var sid = $(this).attr('sid');
        window.parent.player.play_by_id(sid);
        return false;
    });

    $("#content_col_left_inner .pl_pan", $("#content_col_left_inner")[0]).live('click',function(){
        playlist_panel($(this))
        return false;
    });
    
    
    $('a.play', $('#content_col_left_inner')[0]).live("mouseover", function() {
        setposs($(this), '0 -57px', '-24px -57px');
    })
    $('a.play', $('#content_col_left_inner')[0]).live("mouseout", function() {
        setposs($(this), '0 -29px', '-24px  -29px');
    })
    
    $('a.pl_pan', $('#content_col_left_inner')[0]).live("mouseover", function() {
        setposs($(this), '0 -85px', '-24px -85px');
    })
    $('a.pl_pan', $('#content_col_left_inner')[0]).live("mouseout", function() {
        setposs($(this), '0 -29px', '-24px  -29px');
    })
    
    $(".embed-codes input").live('click', function(){
        this.select();
    });
    
    $('a.op_panel', $('#content_col_left_inner')[0]).live('click', function(e){
        var $this = $(this)
        if ($this.hasClass('open')) {
            close_panel()
        } else {
            open_panel($this)
        }
        return false;
    })
    
    $("#srchq").autocomplete({
        source: "/ajax.php?what=ac",
        minLength: 2,
        select: function(event, ui) {
            
        }
    });

}