def search_save
      SavedVcontext.save(current_user, nil,
                         params[:saved_page_info_name], page_info)

      render :update do |page|
        page << "Edgarj.SearchSavePopup.close();"
        page.replace 'edgarj_load_condition_menu',
           :partial=>'edgarj/load_condition_menu'
      end
    rescue ActiveRecord::ActiveRecordError
      app_rescue
      render :update do |page|
        page.replace_html 'search_save_popup_flash_error', :text=>t('save_fail')
      end
    end
def search_save
      SavedVcontext.save(current_user, nil,
                         params[:saved_page_info_name], page_info)

      render :update do |page|
        page << "Edgarj.SearchSavePopup.close();"
        page.replace 'edgarj_load_condition_menu',
           :partial=>'edgarj/load_condition_menu'
      end
    rescue ActiveRecord::ActiveRecordError
      app_rescue
      render :update do |page|
        page.replace_html 'search_save_popup_flash_error', :text=>t('save_fail')
      end
    end
Ajax method to save search conditions

 === call flow
  Edgarj.SearchSavePopup.open() (javascript)
   (show $('search_save_popup'))
    Edgarj.SearchSavePopup.submit() (javascript)
     (copy entered name into $('saved_page_info_name') in form)
      call :action=>'search_save'

 ==== TRICKY PART
 There are two requirements:
 1. use modal-dialog to enter name to decrese busy in search form.
 1. send Search Form with name to server.

 To comply these, Edgarj.SearchSavePopup copies the entered name to
 'saved_page_info_name' hidden field and then sends the form which includes
 the copied name.

 === Permission
 ModelPermission::READ on this controller is required.