function xmlrpc_search_process(page_nr,field_id,direction) 
{
    /*$("#preloader").center();*/
    /* $("#preloader").show();*/
    /*$("#preloader_bg").show();*/
    var form_data = $('#search_frm').serialize();
    var container = $('#search_frm').attr('results_cont_id');
    form_data +="&isAjax=1&method=xmlrpc_search_process&page="+page_nr+"&field_id="+field_id+"&direction="+direction+'&mode='+container;
 
    $.ajax({
        url: 'xmlrpcserv.php',
        type : 'POST',
        success : function(html){
	  			
            //$("#"+container).html(html);
            $.Ajaxor.replacePage(html);
            if ($('#playlist_content').length)
            {
                //$('#scroll_playlist_content').jScrollPane({scrollbarWidth:20, scrollbarMargin:10});
												
                dragndrop_init();
            }
        //$("#search_results").html(html);
        /*$("#preloader").hide();*/
        /*$("#preloader_bg").hide();*/
        },
        data : form_data
    });

}

/*
function xmlrpc_search_song(page_nr,field_id,direction) //depricated
{ 	
	var form_data = $('#search_frm').serialize();
	form_data +="&method=xmlrpc_search_process&page="+page_nr+"&field_id="+field_id+"&direction="+direction+"&mode=compact";
	
	$.ajax({
		url: 'xmlrpcserv.php',  
		type : 'POST', 
		success : function(html){
		$("#playlist_content").html(html);
		}, 
		data : form_data
	});
	
}
*/

//function xmlrpc_search_song2(page_nr,field_id,direction) // depricated
//{
//    var form_data = $('#search_frm').serialize();
//    form_data +="&isAjax=1&method=xmlrpc_search_song&page="+page_nr+"&field_id="+field_id+"&direction="+direction;
//
//    $.ajax({
//        url: 'xmlrpcserv.php',
//        type : 'POST',
//        success : function(html){
//            $("#playlist_content").html(html);
//        /*$("#preloader").hide();*/
//        /*$("#preloader_bg").hide();*/
//        },
//        data : form_data
//    });
//
//}


/**
 *
 * @param obj
 * @param mp3_id
 * @param switch_mode
 * @param cont_id
 * @param integer choseType 0 - song, 1 - album, 2 - artist
 */
function xmlrpc_choose_playlist(obj, mp3_id, switch_mode, cont_id, choseType) 
{
    if ($(".move_hint").length && switch_mode > 0)
    {
        $(".move_hint").remove();
        if($("#playlist_content .search_sortable").length)
        {
            $("#playlist_content .search_sortable").sortable('enable');
        }
		
        $(document).unbind('click');
    }
    else
    {
        if (!choseType){
            var requestData = {
                method: 'xmlrpc_choose_playlist',
                mp3_id:mp3_id,
                isAjax: 1
            };
        }else if (1 == choseType){
            var requestData = {
                method: 'xmlrpc_choose_playlist',
                album_id:mp3_id,
                isAjax: 1
            };
        }else if (2 == choseType){
            var requestData = {
                method: 'xmlrpc_choose_playlist',
                artist_id:mp3_id,
                isAjax: 1
            };
        }

        //ClassLoader.ShowBigLoader(); - ���������� ��� ���������� � ��������� �� +
        $.ajax({
            url: 'xmlrpcserv.php',
            type : 'GET',
            complete: function(){
                ClassLoader.HideBigLoader();
            },
            success : function(html){

                $(".move_hint").remove();
                //parent_el = $(obj).parents('li:eq(0)');
                parent_el = $('#'+cont_id+'_'+mp3_id+'_row');
                parent_el.append(html);
                $('#add_song_hint_box').jScrollPane({
                    showArrows:true,
                    scrollbarWidth: 16
                });
                $(".result_list .move_hint").fadeIn();

                if($("#playlist_title").length)
                {
                    $("#playlist_title").keypress(function (e) {
                        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {

                            xmlrpc_new_playlist(obj, mp3_id, null, choseType);

                        } else {
                            return true;
                        }
                    });
                }

                if($("#playlist_content .search_sortable").length)
                {
                    $("#playlist_content .search_sortable").sortable('disable');
                }

                $(document).bind('click', function(e){
                    if (e.target && e.target.id != 'add_to_playlist_hint' && $(e.target).attr('class') != 'jScrollPaneTrack' && e.target.id!='playlist_title')
                    {
                        xmlrpc_choose_playlist(obj,mp3_id,switch_mode,cont_id);
                    }
                });
            },
            data : requestData
        });
    }
}





//function xmlrpc_make_playlist(cont_id)
//{
//    playlist_title = $("#"+cont_id).val();
//    playlist_def_title = $('#'+cont_id).attr('defaultValue');
//    if (playlist_title!="" && playlist_title!=playlist_def_title)
//    {
//        $.ajax({
//            url: 'xmlrpcserv.php',
//            type : 'POST',
//            success : function(html){
//                $("#"+cont_id).val(playlist_def_title);
//                xmlrpc_playlist_list_reload(parseInt(html),0,0);
//                refreshPlaylistList();
//            },
//            data : {
//                method: 'xmlrpc_create_playlist',
//                playlist_title:playlist_title,
//                isAjax: 1
//            }
//        });
//    }
//}

function xmlrpc_delete_playlist(playlist_id, msg) 
{	
    if (confirm(msg))
    {
        $.ajax({
            url: 'xmlrpcserv.php',
            type : 'GET',
            success : function(html){
                var first_playlist_id = parseInt(html);
                xmlrpc_playlist_reload(first_playlist_id);
                xmlrpc_playlist_list_reload(first_playlist_id,0,0);
                refreshPlaylist();
                refreshPlaylistList();
            },
            data : {
                method: 'xmlrpc_delete_playlist',
                playlist_id:playlist_id,
                isAjax: 1
            }
        });
    }
}

function xmlrpc_load_search_hint()
{
    $.ajax({
        url: 'xmlrpcserv.php',  
        type : 'POST',
        success : function(html){
            $(".search_result").html(html);
        },
        data : {
            method: 'xmlrpc_load_search_hint',
            text:$("#search_field").val(),
            isAjax: 1
            }
    });

}

function xmlrpc_playlist_move_song(playlist_id,mp3_id, direction) 
{	
    $.ajax({
        url: 'xmlrpcserv.php',
        type : 'GET',
        success : function(html){
            xmlrpc_playlist_reload(playlist_id);
            xmlrpc_playlist_list_reload(playlist_id,0,0);
            refreshPlaylist();
            refreshPlaylistList();
        },
        data : {
            method: 'xmlrpc_playlist_move_song',
            playlist_id:playlist_id,
            mp3_id:mp3_id,
            direction:direction,
            isAjax: 1
        }
    });
}

function xmlrpc_playlist_reload(playlist_id) 
{	
    $.ajax({
        url: 'xmlrpcserv.php',
        type : 'GET',
        success : function(html){
            $("#playlist_content").html(html);
            $('#scroll_playlist_content').jScrollPane({
                showArrows:true,
                scrollbarWidth: 16
            });
            dragndrop_init();
        },
        data : {
            method: 'xmlrpc_playlist_reload',
            playlist_id:playlist_id,
            isAjax: 1
        }
    });
}

function xmlrpc_playlist_select(playlist_id, editable) 
{	
    $('#playlist_list').attr('sel_playlist_id',playlist_id);
    xmlrpc_playlist_reload(playlist_id);
    if (editable && $('#playlist_'+playlist_id+'_cont').length) editable=0;
    xmlrpc_playlist_list_reload(playlist_id, 1, editable);
}

function xmlrpc_playlist_select_static(obj,playlist_id) 
{	
    $('#playlist_list').attr('sel_playlist_id',playlist_id);
    xmlrpc_playlist_reload(playlist_id);
    $('#playlist_list .playlist').removeClass('selected');
    $(obj).addClass('selected');
}

function xmlrpc_playlist_del_song(playlist_id,mp3_id) 
{	
    $.ajax({
        url: 'xmlrpcserv.php',
        type : 'GET',
        success : function(html){
            xmlrpc_playlist_reload(playlist_id);
            xmlrpc_playlist_list_reload(playlist_id,0,0);
            refreshPlaylist();
            refreshPlaylistList();
        },
        data : {
            method: 'xmlrpc_playlist_del_song',
            playlist_id:playlist_id,
            mp3_id:mp3_id,
            isAjax: 1
        }
    });
}


function xmlrpc_song_move(playlist_id,new_playlist_id,mp3_id) 
{	
    $.ajax({
        url: 'xmlrpcserv.php',
        type : 'GET',
        success : function(html){
            xmlrpc_playlist_reload(playlist_id);
            xmlrpc_playlist_list_reload(playlist_id,0,0);
            refreshPlaylist();
            refreshPlaylistList();
        },
        data : {
            method: 'xmlrpc_song_move',
            playlist_id:playlist_id,
            new_playlist_id:new_playlist_id,
            mp3_id:mp3_id,
            isAjax: 1
        }
    });
}

function xmlrpc_playlist_list_reload(sel_playlist_id,refresh_cover,editable) 
{	
    if ($("#playlist_list").length)
    {
        $.ajax({
            url: 'xmlrpcserv.php',
            type : 'GET',
            success : function(html){
                $("#playlist_list").html(html);
                $('#scroll_playlist').jScrollPane({
                    showArrows:true,
                    scrollbarWidth: 16
                });
                dragndrop_init();
                if (editable)
                {
                    $("#playlist_list").sortable('disable');
                }
                else
                {
                    $("#playlist_list").sortable('enable');
                }
            },
            data : {
                method: 'xmlrpc_playlist_list_reload',
                sel_playlist_id:sel_playlist_id,
                refresh_cover:refresh_cover,
                editable:editable,
                isAjax: 1
            }
        });
    }
}




function xmlrpc_playlist_data_save(playlist_id)
{	 
  
  
    $("#loading")
    .ajaxStart(function(){
        $(this).show();
    })
    .ajaxComplete(function(){
        $(this).hide();
    });

    $("#playlist_"+playlist_id+"_cont")
    .ajaxStart(function(){
        $(this).hide();
    })
    .ajaxComplete(function(){
        $(this).show();
    });
	
    $.ajaxFileUpload
    (
    {
        url:'xmlrpcserv.php?method=xmlrpc_playlist_data_save',
        secureuri:false,
        params: 'title='+$('#playlist_'+playlist_id+'_title').val()+'&playlist_id='+playlist_id,
        fileElementId: 'playlist_'+playlist_id+'_file',
        dataType: 'json',
        success: function (data, status)
        {
			
            if(typeof(data.error) != 'undefined')
            {
	    if (parseInt(data.msg)==1)
                {
                    xmlrpc_playlist_list_reload(playlist_id,1,0);
                    refreshPlaylistList();
                }
					  	
                else
                {
                    if(data.error.length > 0)
                    {
                        //$("#error_msg").show();
                        var error_list = '';
                        for (var eobj in data.error){
                            error_list = error_list +data.error[eobj]+'\r\n';
                        }
							  
                        alert(error_list);
							 							  
                    }
						  
						  
						  
                }
					
					
					
            }
        },
        error: function (data, status, e)
        {
        //alert(e);
        }
    }
    )
	
    return false;

}


function xmlrpc_update_song_statistic(mp3_id) 
{	
    $.ajax({
        url: '/top/_AjaxUpdateSongStatistics',
        type : 'POST',
        data : {
            mp3_id:mp3_id
        }
    });
}

function xmlrpc_sort_playlist_song(playlist_id,order)
{
    $.ajax({
        url: 'xmlrpcserv.php?&isAjax=1&method=xmlrpc_sort_playlist_song&playlist_id='+playlist_id,
        type : 'POST',
        success : function(data, status){
            xmlrpc_playlist_reload(playlist_id);
            refreshPlaylist();
        },
        data :order
    });
}
function xmlrpc_reload_top_similar(mp3_id)
{
    $.ajax({
        url: '/top/_AjaxReloadTopSimilar/',
        type : 'POST',
        success : function(html){
            if (html){


                var el = $('#top_similar').html(html);

                player.handlePlayList(el);
                player.handleAddSongToPlayList(el);
                $('a[ajaxor]', el).ajaxor({});

            }
        },
        data : {
            mp3_id: mp3_id
        }
    });
}

function xmlrpc_sort_playlist_list(order)
{
    var sel_playlist_id = $('#playlist_list').attr('sel_playlist_id');
    $.ajax({
        url: 'xmlrpcserv.php?&isAjax=1&method=xmlrpc_sort_playlist_list',
        type : 'POST',
        success : function(data, status){
            //xmlrpc_playlist_list_reload(sel_playlist_id ? sel_playlist_id : 0,0,0);
            refreshPlaylistList();
        },
        data :order
    });
}

var is_logged = false;

function xmlrpc_check_logged(onOk, onFail)
{
    $.ajax({
        url: '/profile/_AjaxCheckLogged',
        type : 'GET',
        success : function(data){
            is_logged =  parseInt(data);
            if (is_logged) {
                if ('function' == typeof onOk) {
                    onOk();
                }
            } else {
                if ('function' == typeof onFail) {
                    onFail();
                }
            }
        }
    });
	
};