{"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\":\"tip\",\"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\":\"tip\",\"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","gsgAlert":[{"static":1,"type":"info","content":"Upcoming Auction: <br>\r\n<span class='markdown'><p><strong>The 2026 tax sale is over and the payment deadline has passed.</strong> </p>\r\n\r\nNo future auction is scheduled at this time. This message will update when next year's dates are finalized. Registration is open year round, and is free.","id":"announcement"},{"id":"broadcast","type":"info","content":"<strong style=\"color: #cc0000;\">Please Note: </strong><strong>This site will be down for scheduled maintenance from 5:00am - 8:30am ET on Wednesday, April 8, 2026. </strong>\n<br>\n<br>\n<strong style=\"color: #cc0000;\">Please Note: </strong><strong>This site will also be down for scheduled maintenance from 9:00pm - 11:00pm ET on Thursday, April 9, 2026. We apologize for any inconvenience.</strong>","static":1}]}