{"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":[{"content":"<p>The next Tax Sale has not yet been scheduled. We will send email notifications to all registered users as soon as it is posted. Registration is open year round, and is free. More information about upcoming auctions may be available from the County's  <a href=\"https://www.mytaxcollector.com/trTaxSale_TC.aspx\">website</a></p> \r\n\r\n<p>Winning bidders from the past auction: note that payments will be marked as Pending until about two weeks from the payment deadline, at which point all received payments will be marked Valid.</p>","static":1,"id":"announcement","type":"info"}]}