﻿var userFavoritesManager=
{        
    favoritesResultDiv : "", //the div where the user favorites list should be displayed
    favoritesCurrentPage: 1,
    favoritesSort: 'Date',
    favoritesSortDirection: 'desc',
    favoritesPageSize: 15,                                              

     //sets the result divs
         Init: function(favoritesDiv)
         {            
            userFavoritesManager.favoritesResultDiv = favoritesDiv;
         },
     
     GetFavorites: function()
     {
          SearchEngineService.GetFavorites( 
                userFavoritesManager.favoritesResultDiv,                     
                userFavoritesManager.favoritesPageSize,
                userFavoritesManager.favoritesCurrentPage,
                userFavoritesManager.favoritesSort,
                userFavoritesManager.favoritesSortDirection,
                userFavoritesManager.GetFavorites_Complete
                );
     },
     
     //the "complete" event handler for the webmethod called in GetFavorites 
    //(appends the returned html to the favorites result div
    GetFavorites_Complete: function(args)
    {
        userFavoritesManager.AppendResult(document.getElementById(args.Target), args.Result, args.Info);
    },
    
    DeleteFavoriteDocument: function(documnetId)
    {
        SearchEngineService.DeleteFavorite(documnetId,userFavoritesManager.DeleteFavoriteDocumentComplete); 
    },
    
    DeleteFavoriteDocumentComplete: function(args)
    {
         userFavoritesManager.GetFavorites();
    },
    
    //checks that data has been returned (result== true)
    //if it had been returned, puts the returned html (info) into the target's innerHtml
    //otherwise, puts a message  the target's innerHtml
    AppendResult: function(target, result, info)
    {
        if(result != null && result== true)
            target.innerHTML = info;
        else    
            target.innerHTML = '<div style="height: 150px">לא נמצאו מסמכים מתאימים</div>';
    }
//,
//      
//    ToggleFavoritesSortDirection: function()
//    {
//        userFavoritesManager.favoritesSortDirection =  userDocumentsManager.favoritesSortDirection== 'desc' ? 'asc' : 'desc';
//    },        

//    GoToPage: function(page)
//    {            
//        userFavoritesManager.favoritesCurrentPage = page;
//        userFavoritesManager.GetFavorites();                                           
//    },

//    GoToPageSizeSelect: function(select)
//    {                                                    
//        userFavoritesManager.favoritesPageSize = select.options[select.selectedIndex].value;               
//        userFavoritesManager.GetFavorites();
//    },

//    GoToSort: function(SortExpresion)
//    {                     
//        userFavoritesManager.favoritesSort = SortExpresion;
//        userFavoritesManager.ToggleFavoritesSortDirection(); 
//        userFavoritesManager.GetFavorites();               
//    }                       
} 

function ToggleFavoritesSortDirection()
{   
    userFavoritesManager.favoritesSortDirection =  userFavoritesManager.favoritesSortDirection== 'desc' ? 'asc' : 'desc';
}        

function GoToPage(page)
{            
    userFavoritesManager.favoritesCurrentPage = page;
    userFavoritesManager.GetFavorites();                                           
}

function GoToPageSizeSelect(select)
{                                                    
    userFavoritesManager.favoritesPageSize = select.options[select.selectedIndex].value;               
    userFavoritesManager.GetFavorites();
}

function GoToSort(SortExpresion)
{                     
    userFavoritesManager.favoritesSort = SortExpresion;
    ToggleFavoritesSortDirection(); 
    userFavoritesManager.GetFavorites();               
} 
                
                                                              
