{"gsgAlert":[{"type":"info","static":1,"id":"announcement","content":"<p><strong>The Sacramento County, California, online Tax-Defaulted Property Sale is OVER.</strong></p>\r\n\r\n<p>Winning bidders <strong>must</strong> complete payment and vesting information after logging in and selecting the auction.</p>\r\n\r\n<p><strong>The payment deadline is (5) business days after the auction date.</strong> Payments will be marked as Pending until about two weeks from the payment deadline, at which point all received payments will be marked <strong>Valid</strong>.</p>\r\n\r\nGrant Street Group will issue refunds of the bid deposit to unsuccessful bidders within ten (10) business days of the auction closing. You will receive an email when your refund has been issued. Partially used deposits will be refunded by the county."},{"content":"<strong style=\"color: #cc0000;\">Please Note: </strong><strong>This site will be down for scheduled maintenance from 9:00pm - 11:00pm ET on Thursday, June11th, 2026. We apologize for any inconvenience.</strong>","id":"broadcast","static":1,"type":"info"}],"tab_content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<!-- Need to manually include the JavaScript files for DataTables -->\n<script src=\"/javascript/datatables.min.js\" type=\"text/javascript\"></script>\n<script src=\"/javascript/gsg_datatables.js\" type=\"text/javascript\"></script>\n<script src=\"/javascript/renderers.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n\n  // Render a link in this row.\n  $.fn.dataTable.render.build_link = function( object, type, row ) {\n      if ( object.href === undefined )\n        return '';\n\n      let link = $( '<a>' ).attr( 'href', object.href ).html(\n        jQuery.fn.dataTable.render.escapeHtml( object.text )\n      );\n      if ( object.popoverlay )\n        link.addClass( 'ajax popoverlay_link' );\n\n      return link[0].outerHTML;\n  };\n\n  // Render a font-awesome icon in this row, potentially with some text.\n  $.fn.dataTable.render.fa_icon = function( object, type, row ) {\n\n    // In case there is no icon, just render a blank row.\n    if ( object === undefined || object === null || object === '' )\n      return '';\n\n    // The fa_icon might be a string or an object. In the case that\n    // it is an object, then the icon should be in the \"icon_class\"\n    // property.\n    let icon_class = object;\n    let icon_text  = '';\n    if ( typeof icon_class === 'object' )\n    {\n      icon_class = object.icon_class;\n      if ( object.icon_text !== '' && object.icon_text !== undefined )\n        icon_text  = ' ' + jQuery.fn.dataTable.render.escapeHtml( object.icon_text );\n    }\n    let icon      = $( '<i>' ).addClass( 'fa ' + icon_class ).attr( 'aria-hidden', 'true' );\n    let icon_html = icon[0].outerHTML + icon_text;\n\n    // Set a link on the icon if one was passed along.\n    if ( typeof object === 'object' && object.icon_href )\n    {\n      let link  = $( '<a>' ).attr( 'href', object.icon_href ).html( icon_html );\n      icon_html = link[0].outerHTML;\n    }\n    // Add icon link after text if one was passed along.\n    if (typeof object === 'object' && object.post_href && object.post_icon)\n    {\n      let post_icon      = $( '<i>' ).addClass( 'fa ' + object.post_icon ).attr( 'aria-hidden', 'true' );\n      let post_icon_html = post_icon[0].outerHTML;\n\n      let link = $( '<a>' ).attr( 'href', object.post_href );\n      $.each( object.post_html_extras, ( key, value ) => {\n        link.attr( key, value );\n      } );\n      link.html( post_icon_html );\n      icon_html += ' ' + link[0].outerHTML;\n    }\n    return icon_html;\n  };\n\n</script>\n\n<!-- DataTables styling to match the old styling of tables in DeedAuction -->\n<style>\n  table.dataTable th {\n    padding: 1px 4px;\n  }\n  table.dataTable th.sorting,\n  table.dataTable th.sorting_asc,\n  table.dataTable th.sorting_desc {\n      text-align: center;\n      cursor: pointer;\n  }\n  table.dataTable th.sorting_asc:after {\n      margin: 0 3px;\n      content: url( '/images/asc.gif' );\n  }\n  table.dataTable th.sorting_desc:after {\n      margin: 0 3px;\n      content: url( '/images/desc.gif' );\n  }\n  div.dataTables_info {\n    display: block;\n    float: left;\n    padding: 5px;\n  }\n  div.dataTables_paginate {\n    display: block;\n    float: right;\n  }\n\n  div.dataTables_paginate a.paginate_button {\n    display: inline-block;\n    padding: 5px;\n    font-weight: bold;\n    cursor: pointer;\n  }\n\n  div.dataTables_paginate a.current {\n    color: black;\n    text-decoration: none;\n    cursor: default;\n  }\n\n\n  div.dataTables_wrapper {\n      margin-bottom: 35px;\n    }\n  div.dataTables_wrapper td.dataTables_empty {\n    padding: 5px;\n  }\n\n  div.dataTables_wrapper i.fa-times-circle {\n      color: red;\n      font-size: 125%;\n  }\n  div.dataTables_wrapper i.fa-check-circle {\n      color: green;\n      font-size: 125%;\n  }\n  div.dataTables_wrapper i.fa-exclamation-circle {\n      color: orange;\n      font-size: 125%;\n  }\n</style>\n\n\n\n\n\n\n\n\n\n\n\n\n  <script>\n    \n  $( '#upcoming_auctions' ).on( 'init.dt', function () {\n    $( this ).addClass( 'basic' );\n\n    // Add the custom header for the table.\n    $( this ).prepend( `<caption class=\"title\">\n        Upcoming Auctions\n    </caption>` );\n\n    // Add the custom footer for the table with links.\n    \n  });\n\n  </script>\n\n\n<table id=\"upcoming_auctions\" name=\"upcoming_auctions\" class=\"table table-striped table-condensed\"></table>\n\n<script>\n/*\n  In the case that several AJAX data-tables exist in the same page, then\n  attempt to individualize each one's configuration and initialization.\n*/\n\nvar data_table_js_upcoming_auctions = function() {\n    /* Set base table config */\n    var table_config = {\"ajax\":{\"type\":\"POST\",\"url\":\"/auctions/upcoming\"},\"autoWidth\":false,\"buttons\":[],\"columnDefs\":[{\"orderable\":false,\"targets\":1},{\"orderable\":false,\"targets\":2},{\"orderable\":false,\"targets\":3}],\"columns\":[{\"className\":\"batch_closing_end\",\"data\":\"batch_closing_end\",\"title\":\"Description\"},{\"className\":\"item_count\",\"data\":\"item_count\",\"title\":\"# of Items\"},{\"className\":\"auction_status\",\"data\":\"auction_status\",\"title\":\"Status\"},{\"className\":\"deposit_status\",\"data\":\"deposit_status\",\"title\":\"Deposit\"}],\"dom\":\"<\\\"table-responsive-lg\\\"t>ip\",\"language\":{\"emptyTable\":\"No upcoming auctions\"},\"searching\":false,\"serverSide\":true};\n\n    /* Add column renderers */\n    \n    \n      \n          table_config.columns[ 0 ].render = jQuery.fn.dataTable.render.build_link;\n      \n      \n    \n      \n          table_config.columns[ 1 ].render = jQuery.fn.dataTable.render.escapeHtml;\n      \n      \n    \n      \n          table_config.columns[ 2 ].render = jQuery.fn.dataTable.render.escapeHtml;\n      \n      \n    \n      \n          table_config.columns[ 3 ].render = jQuery.fn.dataTable.render.fa_icon;\n      \n      \n    \n\n    if (table_config.ajax) {\n        table_config.ajax.data = build_datatables_ajax_data;\n    }\n\n    /* Any extra table config from the including template */\n    \n  table_config.pageLength = 10;\n  table_config.pagingType = 'full_numbers';\n  table_config.language   = {\n    \n      emptyTable: \"No upcoming auctions\",\n    \n    paginate: {\n      first:    '&laquo;',\n      previous: '&lsaquo;',\n      next:     '&rsaquo;',\n      last:     '&raquo;',\n    },\n    aria: {\n      paginate: {\n        first:    'First page',\n        previous: 'Previous page',\n        next:     'Next page',\n        last:     'Last page',\n      }\n    }\n  };\n  \n  \n    table_config.paging = false;\n  \n  table_config.order = [[ 0, 'asc' ]]; // batch_closing_end\n  \n\n\n\n    /* Instantiate table */\n    jQuery('#upcoming_auctions').DataTable( table_config );\n};\n\n\n  jQuery(document).ready( function() { data_table_js_upcoming_auctions(); } );\n\n\n</script>\n\n\n\n\n\n\n\n\n\n  <script>\n    \n  $( '#past_auctions' ).on( 'init.dt', function () {\n    $( this ).addClass( 'basic' );\n\n    // Add the custom header for the table.\n    $( this ).prepend( `<caption class=\"title\">\n        Past Auctions\n    </caption>` );\n\n    // Add the custom footer for the table with links.\n    \n  });\n\n  </script>\n\n\n<table id=\"past_auctions\" name=\"past_auctions\" class=\"table table-striped table-condensed\"></table>\n\n<script>\n/*\n  In the case that several AJAX data-tables exist in the same page, then\n  attempt to individualize each one's configuration and initialization.\n*/\n\nvar data_table_js_past_auctions = function() {\n    /* Set base table config */\n    var table_config = {\"ajax\":{\"type\":\"POST\",\"url\":\"/auctions/past\"},\"autoWidth\":false,\"buttons\":[],\"columnDefs\":[{\"orderable\":false,\"targets\":1},{\"orderable\":false,\"targets\":2}],\"columns\":[{\"className\":\"batch_closing_end\",\"data\":\"batch_closing_end\",\"title\":\"Description\"},{\"className\":\"item_count\",\"data\":\"item_count\",\"title\":\"# of Items\"},{\"className\":\"auction_status\",\"data\":\"auction_status\",\"title\":\"Status\"}],\"dom\":\"<\\\"table-responsive-lg\\\"t>ip\",\"language\":{\"emptyTable\":\"No past auctions\"},\"searching\":false,\"serverSide\":true};\n\n    /* Add column renderers */\n    \n    \n      \n          table_config.columns[ 0 ].render = jQuery.fn.dataTable.render.build_link;\n      \n      \n    \n      \n          table_config.columns[ 1 ].render = jQuery.fn.dataTable.render.escapeHtml;\n      \n      \n    \n      \n          table_config.columns[ 2 ].render = jQuery.fn.dataTable.render.escapeHtml;\n      \n      \n    \n\n    if (table_config.ajax) {\n        table_config.ajax.data = build_datatables_ajax_data;\n    }\n\n    /* Any extra table config from the including template */\n    \n  table_config.pageLength = 5;\n  table_config.pagingType = 'full_numbers';\n  table_config.language   = {\n    \n      emptyTable: \"No past auctions\",\n    \n    paginate: {\n      first:    '&laquo;',\n      previous: '&lsaquo;',\n      next:     '&rsaquo;',\n      last:     '&raquo;',\n    },\n    aria: {\n      paginate: {\n        first:    'First page',\n        previous: 'Previous page',\n        next:     'Next page',\n        last:     'Last page',\n      }\n    }\n  };\n  \n  \n  table_config.order = [[ 0, 'asc' ]]; // batch_closing_end\n  \n    table_config.order = [[0, 'desc' ]];\n  \n\n\n\n    /* Instantiate table */\n    jQuery('#past_auctions').DataTable( table_config );\n};\n\n\n  jQuery(document).ready( function() { data_table_js_past_auctions(); } );\n\n\n</script>\n\n\n\n\n"}