| 
									
										
										
										
											2022-12-11 19:43:31 +00:00
										 |  |  | window.addEventListener('load', () => { | 
					
						
							|  |  |  |   // Reload tracker every 15 seconds
 | 
					
						
							|  |  |  |   const url = window.location; | 
					
						
							|  |  |  |   setInterval(() => { | 
					
						
							|  |  |  |     const ajax = new XMLHttpRequest(); | 
					
						
							|  |  |  |     ajax.onreadystatechange = () => { | 
					
						
							|  |  |  |       if (ajax.readyState !== 4) { return; } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // Create a fake DOM using the returned HTML
 | 
					
						
							|  |  |  |       const domParser = new DOMParser(); | 
					
						
							|  |  |  |       const fakeDOM = domParser.parseFromString(ajax.responseText, 'text/html'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // Update item tracker
 | 
					
						
							|  |  |  |       document.getElementById('inventory-table').innerHTML = fakeDOM.getElementById('inventory-table').innerHTML; | 
					
						
							|  |  |  |       // Update only counters in the location-table
 | 
					
						
							|  |  |  |       let counters = document.getElementsByClassName('counter'); | 
					
						
							|  |  |  |       const fakeCounters = fakeDOM.getElementsByClassName('counter'); | 
					
						
							|  |  |  |       for (let i = 0; i < counters.length; i++) { | 
					
						
							|  |  |  |         counters[i].innerHTML = fakeCounters[i].innerHTML; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |     ajax.open('GET', url); | 
					
						
							|  |  |  |     ajax.send(); | 
					
						
							|  |  |  |   }, 15000) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Collapsible advancement sections
 | 
					
						
							|  |  |  |   const categories = document.getElementsByClassName("location-category"); | 
					
						
							| 
									
										
										
										
											2024-03-15 17:33:03 +01:00
										 |  |  |   for (let category of categories) { | 
					
						
							|  |  |  |     let hide_id = category.id.split('_')[0]; | 
					
						
							|  |  |  |     if (hide_id === 'Total') { | 
					
						
							| 
									
										
										
										
											2022-12-11 19:43:31 +00:00
										 |  |  |       continue; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-15 17:33:03 +01:00
										 |  |  |     category.addEventListener('click', function() { | 
					
						
							| 
									
										
										
										
											2022-12-11 19:43:31 +00:00
										 |  |  |       // Toggle the advancement list
 | 
					
						
							|  |  |  |       document.getElementById(hide_id).classList.toggle("hide"); | 
					
						
							|  |  |  |       // Change text of the header
 | 
					
						
							| 
									
										
										
										
											2024-03-15 17:33:03 +01:00
										 |  |  |       const tab_header = document.getElementById(hide_id+'_header').children[0]; | 
					
						
							| 
									
										
										
										
											2022-12-11 19:43:31 +00:00
										 |  |  |       const orig_text = tab_header.innerHTML; | 
					
						
							|  |  |  |       let new_text; | 
					
						
							|  |  |  |       if (orig_text.includes("▼")) { | 
					
						
							|  |  |  |         new_text = orig_text.replace("▼", "▲"); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       else { | 
					
						
							|  |  |  |         new_text = orig_text.replace("▲", "▼"); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       tab_header.innerHTML = new_text; | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | }); |