Greasy Fork is available in English.

Stats Xente Script

Example of description of statsxente

Mint 2024.05.02.. Lásd a legutóbbi verzió

  1. // ==UserScript==
  2. // @name Stats Xente Script
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.69
  5. // @description Example of description of statsxente
  6. // @author xente
  7. // @match https://www.managerzone.com/*
  8. // @icon https://statsxente.com/MZ1/View/Images/etiqueta_bota.png
  9. // @grant GM_xmlhttpRequest
  10. // @grant GM_addStyle
  11. // @grant GM_getValue
  12. // @grant GM_setValue
  13. // @require https://code.jquery.com/jquery-3.7.1.js
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19.  
  20. GM_addStyle(`
  21. /* The Modal (background) test 2*/
  22. .modal {
  23. display: none;
  24. /* Hidden by default */
  25. position: fixed;
  26. /* Stay in place */
  27. z-index: 1;
  28. /* Sit on top */
  29. padding-top: 25px;
  30. /* Location of the box */
  31. left: 0;
  32. top: 0;
  33. width: 100%;
  34. /* Full width */
  35. height: 100%;
  36. /* Full height */
  37. overflow: auto;
  38. /* Enable scroll if needed */
  39. background-color: rgb(0, 0, 0);
  40. /* Fallback color */
  41. background-color: rgba(0, 0, 0, 0.75);
  42. /* Black w/ opacity */
  43. }
  44.  
  45. /* Modal Content */
  46. .modal-content {
  47. background-color: #fefefe00;
  48. margin: auto;
  49. padding: 20px;
  50. width: 95%;
  51. }
  52.  
  53. /* The Close Button */
  54. .close {
  55. color: #aaaaaa;
  56. float: right;
  57. font-size: 28px;
  58. font-weight: bold;
  59. }
  60.  
  61. .close:hover,
  62. .close:focus {
  63. color: #000;
  64. text-decoration: none;
  65. cursor: pointer;
  66. }
  67.  
  68.  
  69. /* The Modal (background) */
  70. .modal_1 {
  71. display: none;
  72. /* Hidden by default */
  73. position: fixed;
  74. /* Stay in place */
  75. z-index: 1;
  76. /* Sit on top */
  77. padding-top: 25px;
  78. /* Location of the box */
  79. left: 0;
  80. top: 0;
  81. width: 100%;
  82. /* Full width */
  83. height: 100%;
  84. /* Full height */
  85. overflow: auto;
  86. /* Enable scroll if needed */
  87. background-color: rgb(0, 0, 0);
  88. /* Fallback color */
  89. background-color: rgba(0, 0, 0, 0.75);
  90. /* Black w/ opacity */
  91. }
  92.  
  93. /* Modal Content */
  94. .modal-content_1 {
  95. background-color: #fefefe00;
  96. margin: auto;
  97. padding: 20px;
  98. width: 45%;
  99. }
  100.  
  101. /* The Close Button */
  102. .close_1 {
  103. color: #aaaaaa;
  104. float: right;
  105. font-size: 28px;
  106. font-weight: bold;
  107. }
  108.  
  109. .close_1:hover,
  110. .close_1:focus {
  111. color: #000;
  112. text-decoration: none;
  113. cursor: pointer;
  114. }
  115.  
  116. .modal_cargando {
  117. display: none;
  118. /* Hidden by default */
  119. position: fixed;
  120. /* Stay in place */
  121. z-index: 1;
  122. /* Sit on top */
  123. padding-top: 25px;
  124. /* Location of the box */
  125. left: 0;
  126. top: 0;
  127. width: 100%;
  128. /* Full width */
  129. height: 100%;
  130. /* Full height */
  131. overflow: auto;
  132. /* Enable scroll if needed */
  133. background-color: rgb(0, 0, 0);
  134. /* Fallback color */
  135. background-color: rgba(0, 0, 0, 0.75);
  136. /* Black w/ opacity */
  137. }
  138.  
  139. /* Modal Content */
  140. .modal-content_cargando {
  141. background-color: #fefefe00;
  142. padding-top: 15%;
  143. width: 95%;
  144. display: flex;
  145. justify-content: center;
  146. align-items: center;
  147. }
  148.  
  149. /* The Close Button */
  150. .close_cargando {
  151. color: #aaaaaa;
  152. float: right;
  153. font-size: 28px;
  154. font-weight: bold;
  155. }
  156.  
  157. .close_cargando:hover,
  158. .close_cargando:focus {
  159. color: #000;
  160. text-decoration: none;
  161. cursor: pointer;
  162. }
  163.  
  164.  
  165.  
  166. .mazyar-flex-container {
  167. display: flex;
  168. flex-direction: column;
  169. justify-content: center;
  170. align-items: center;
  171. flex-wrap: wrap;
  172. max-height: 100%;
  173. }
  174.  
  175. .mazyar-flex-container-row {
  176. display: flex;
  177. flex-direction: row;
  178. justify-content: center;
  179. align-items: center;
  180. flex-wrap: wrap;
  181. }
  182.  
  183. .legend {
  184. position: fixed;
  185. bottom: 57%;
  186. right: 1px;
  187. border: 1px solid #2bacf5;
  188. padding-right: 13px;
  189. padding-left: 3px;
  190. padding-top: 3px;
  191. width: 14px;
  192. font-size: 13px;
  193. border-radius: 4px;
  194. text-shadow: 1px 1px 3px #676767;
  195. background-color: #246355;
  196. color: #246355;
  197. cursor: default;
  198. }
  199.  
  200. `);
  201.  
  202.  
  203.  
  204.  
  205. var nuevoElemento = document.createElement("div");
  206. nuevoElemento.className="legend";
  207. // Agregar texto al nuevo elemento
  208. nuevoElemento.innerHTML='<div style="writing-mode: tb-rl;-webkit-writing-mode: vertical-rl;"><center><img src="https://statsxente.com/MZ1/View/Images/etiqueta_bota.png" style="width:25px;height:25px;"/></center></div>';
  209.  
  210.  
  211.  
  212. // Obtener el elemento body
  213. var body = document.body;
  214.  
  215. // Agregar el nuevo elemento al final del body
  216. body.appendChild(nuevoElemento);
  217.  
  218. console.log(document.getElementById("header-username").innerText);
  219.  
  220.  
  221. if(GM_getValue("MZCURRENCY")===undefined){
  222. GM_xmlhttpRequest({
  223. method: "GET",
  224. url: "http://www.managerzone.com/xml/team_playerlist.php?sport_id=1&team_id=771617",
  225. headers: {
  226. "Content-Type": "application/json"
  227. },
  228. onload: function(response) {
  229. console.log(response.responseText);
  230.  
  231. var parser = new DOMParser();
  232.  
  233. // Parsear el XML
  234. var xmlDoc = parser.parseFromString(response.responseText, "text/xml");
  235.  
  236. // Acceder a los elementos del XML
  237. var fruits = xmlDoc.getElementsByTagName("TeamPlayers");
  238. console.log(fruits[0].getAttribute("teamCurrency"));
  239.  
  240.  
  241. GM_setValue("MZCURRENCY",fruits[0].getAttribute("teamCurrency"))
  242.  
  243. }});
  244.  
  245. }else{
  246. console.log("aaaa")
  247. }
  248.  
  249. var cats = {};
  250. cats["senior"] = "senior";
  251. cats["world"] = "seniorw";
  252. cats["u23"] = "SUB23";
  253. cats["u21"] = "SUB21";
  254. cats["u18"] = "SUB18";
  255. cats["u23_world"] = "SUB23w";
  256. cats["u21_world"] = "SUB21w";
  257. cats["u18_world"] = "SUB18w";
  258. window.cats=cats;
  259.  
  260.  
  261. var langs = new Map();
  262. langs.set('es', 'SPANISH');
  263. langs.set('ar', 'SPANISH')
  264. langs.set('en', 'ENGLISH');
  265. langs.set('br', 'PORTUGUES');
  266. langs.set('pt', 'PORTUGUES');
  267. langs.set('pl', 'POLISH');
  268. langs.set('ro', 'ROMANIAN');
  269. langs.set('tr', 'TURKISH');
  270.  
  271. var lanCookie = getCookie("MZLANG");
  272. if(langs.has(lanCookie)){
  273. window.lang=langs.get(lanCookie);
  274. }else{
  275. window.lang="ENGLISH";
  276. }
  277.  
  278. console.log(window.lang)
  279. console.log(GM_getValue("transfer_options_hide"))
  280.  
  281. // Ejemplo de uso
  282. var sportCookie = getCookie("MZSPORT");
  283. console.log(sportCookie);
  284. var lsport="F"
  285. if(sportCookie=="hockey"){
  286. lsport="H";
  287. }
  288. window.sport=sportCookie;
  289. window.lsport=lsport;
  290.  
  291.  
  292. document.addEventListener("DOMContentLoaded", function() {
  293. var urlParams = new URLSearchParams(window.location.search);
  294. if((urlParams.has('p')) && (urlParams.get('p') === 'league')){
  295.  
  296.  
  297. leagues();
  298.  
  299. }
  300.  
  301. if((urlParams.has('p')) && (urlParams.get('p') === 'federations')&& (urlParams.get('sub') === 'clash')){
  302.  
  303.  
  304. clash();
  305.  
  306. }
  307.  
  308. if((urlParams.has('p')) && (urlParams.get('p') === 'match')&& (urlParams.get('sub') === 'result')){
  309.  
  310.  
  311. match();
  312.  
  313. }
  314.  
  315.  
  316. });
  317.  
  318. function match(){
  319.  
  320. setTimeout(function() {
  321.  
  322. var elems = document.getElementsByClassName("hitlist soccer statsLite marker tablesorter");
  323. var tabla = elems[0]
  324.  
  325. var filas = tabla.getElementsByTagName("tr");
  326. var fila = filas[1];
  327. var dato = document.createElement("td");
  328. /* dato.textContent = "";
  329. fila.appendChild(dato);
  330.  
  331. dato = document.createElement("td");
  332. dato.textContent = "";
  333. fila.appendChild(dato);
  334.  
  335. fila = filas[0];
  336. dato = document.createElement("td");
  337. dato.textContent = "";
  338. fila.appendChild(dato);*/
  339.  
  340.  
  341. var tfoot = tabla.querySelector("tfoot");
  342.  
  343. // Obtener la primera fila (<tr>) del <tfoot>
  344. var primeraFilaTfoot = tfoot.querySelector("tr");
  345.  
  346. // Obtener el primer <td> de la primera fila del <tfoot>
  347. var primerTDTfoot = primeraFilaTfoot.querySelector("td");
  348.  
  349. // Cambiar el atributo colspan del primer <td> del <tfoot> a 9
  350. primerTDTfoot.setAttribute("colspan", "9");
  351.  
  352. var elems2 = document.getElementsByClassName("listHeadColor");
  353. var lista = elems2[0]
  354.  
  355. var nuevoElementoDD = document.createElement("dd");
  356.  
  357. // Agregar contenido al nuevo elemento <dd>
  358. nuevoElementoDD.textContent = "Nuevo elemento";
  359. nuevoElementoDD.className="c6"
  360.  
  361. // Añadir el nuevo elemento <dd> al final de la lista de definición
  362. lista.appendChild(nuevoElementoDD);
  363.  
  364. var id=1516;
  365. for (var i = 2; i < filas.length-1; i++) {
  366. fila = filas[i];
  367. dato = document.createElement("td");
  368. // var iner = "<img src='https://statsxente.com/MZ1/View/Images/detail.png' width='20px' height='20px' onclick=\"openModalStatsEquiposHistoricoFiltro1("+id+",'team_"+id+"','z_hola',77,77,'soccer')\"/>";
  369. var iner = "<img src='https://statsxente.com/MZ1/View/Images/etiqueta_bota.png' width='20px' height='20px' id='but"+id+"' style='cursor:pointer;'/>";
  370. //iner += "<img src='https://statsxente.com/MZ1/View/Images/graph.png' width='20px' height='20px' id='but1"+id+"' style='cursor:pointer;'/>";
  371. //iner += "<img src='https://statsxente.com/MZ1/View/Images/report.png' width='20px' height='20px' onclick=\"openModalStatsEquiposHistoricoFiltro1("+id+",'team_"+id+"','z_hola',77,77,'soccer')\"/>";
  372. //var cat = cats[urlParams.get('type')]
  373. dato.innerHTML=iner
  374. fila.appendChild(dato);
  375. }
  376.  
  377. }, 3000);
  378.  
  379. }
  380.  
  381. function clash(){
  382.  
  383. var badges = document.getElementsByClassName("fed_badge");
  384. var regex = /fid=(\d+)/;
  385. var srcLocal = badges[0].getAttribute('src');
  386. var local_id = srcLocal.match(regex);
  387. var src_away = badges[1].getAttribute('src');
  388. var away_id = src_away.match(regex);
  389.  
  390. var names = document.getElementsByClassName("name-score name-score--desktop text-ellipsis")
  391.  
  392.  
  393.  
  394.  
  395. var elems = document.getElementsByClassName("mainContent top-pane top-pane--desktop");
  396. var tabla = elems[0]
  397.  
  398. var contenidoNuevo="</br><center><table><tr><td class='subheader clearfix'>Clash Compare</td></tr><tr><td><center><img id=clashCompare src='https://i.imgur.com/G76Jm71.png' style='width:45px; height:45px;'/></center></td></tr></table></center>";
  399. tabla.insertAdjacentHTML('beforeend', contenidoNuevo)
  400.  
  401. document.getElementById("clashCompare").addEventListener('click', function () {
  402. var link = "https://statsxente.com/MZ1/Functions/loadClashFederationData.php?tamper=yes&fid="+local_id[1]+"&fid1="+away_id[1]+"&fede="+encodeURIComponent(names[0].innerText)+"&fede1="+encodeURIComponent(names[1].innerText)+"&idioma=SPANISH&divisa=EUR&sport=soccer";
  403. openWindow(link,0.95,1.25);
  404. });
  405.  
  406. }
  407.  
  408.  
  409. var teams_data="";
  410.  
  411. function leagues(){
  412.  
  413. var initialValues = {};
  414. initialValues["senior"] = "valor";
  415. initialValues["world"] = "valor";
  416. initialValues["u23"] = "valor23";
  417. initialValues["u21"] = "valor21";
  418. initialValues["u18"] = "valor18";
  419. initialValues["u23_world"] = "valor23";
  420. initialValues["u21_world"] = "valor21";
  421. initialValues["u18_world"] = "valor18";
  422.  
  423. var nameInitialValues = {};
  424. nameInitialValues["senior"] = "Value";
  425. nameInitialValues["world"] = "Value";
  426. nameInitialValues["u23"] = "Value U23";
  427. nameInitialValues["u21"] = "Value U21";
  428. nameInitialValues["u18"] = "Value U18";
  429. nameInitialValues["u23_world"] = "Value U23";
  430. nameInitialValues["u21_world"] = "Value U21";
  431. nameInitialValues["u18_world"] = "Value U18";
  432.  
  433.  
  434.  
  435.  
  436. var linkIds=""
  437. var urlParams = new URLSearchParams(window.location.search);
  438. setTimeout(function() {
  439.  
  440. var elems = document.getElementsByClassName("nice_table");
  441. var tabla = elems[0]
  442. var thSegundo = tabla.querySelector("thead th:nth-child(2)");
  443. thSegundo.style.width = "250px";
  444.  
  445.  
  446. var values = new Map();
  447.  
  448. // Agregar elementos al mapa
  449. values.set('valor23', 'Value U23');
  450. values.set('valor21', 'Value U21');
  451. values.set('valor18', 'Value U18');
  452. values.set('valorUPSenior', 'Value LM');
  453. values.set('valorUPSUB23', 'Value LM U23');
  454. values.set('valorUPSUB21', 'Value LM U21');
  455. values.set('valorUPSUB18', 'Value LM U18');
  456. values.set('valor11', 'TOP 11');
  457. values.set('valor11_23', 'TOP 11 U23');
  458. values.set('valor11_21', 'TOP 11 U21');
  459. values.set('valor11_18', 'TOP 11 U18');
  460. values.set('elo', 'ELO Score');
  461. values.set('elo23', 'ELO Score U23');
  462. values.set('elo21', 'ELO Score U21');
  463. values.set('elo18', 'ELO Score U18');
  464.  
  465. var contenidoNuevo = '<div id=testClick><center><table><tr><td><label><input class="statsxente" type="checkbox" id="valor" value="Value">Value</label></td>';
  466. values.forEach(function(valor, clave) {
  467. /*if(clave=="valorUPSenior"){
  468. contenidoNuevo+="</tr><tr>";
  469. }*/
  470. if(clave=="valor11"){
  471. contenidoNuevo+="</tr><tr>";
  472. }
  473. /* if(clave=="elo"){
  474. contenidoNuevo+="</tr><tr>";
  475. }*/
  476. contenidoNuevo+='<td><label><input class="statsxente" type="checkbox" value="'+valor+'" id="'+clave+'">'+valor+'</label></td>';
  477.  
  478. });
  479.  
  480.  
  481.  
  482. contenidoNuevo+="</tr></table></center></div>";
  483.  
  484.  
  485. values.set('valor', 'Value');
  486.  
  487. elems = document.getElementsByClassName("nice_table");
  488. tabla = elems[0]
  489.  
  490.  
  491. tabla.insertAdjacentHTML('beforebegin', contenidoNuevo);
  492.  
  493.  
  494.  
  495. values.forEach(function(valor, clave) {
  496.  
  497. var elemento = document.getElementById(clave);
  498. elemento.addEventListener('click', handleClick);
  499.  
  500. });
  501.  
  502.  
  503.  
  504. // Añadir una nueva celda en la fila de encabezados
  505. var nuevaCeldaEncabezado = document.createElement("th");
  506. nuevaCeldaEncabezado.textContent = "Stats Xente";
  507. nuevaCeldaEncabezado.style.backgroundColor="#246355"
  508. nuevaCeldaEncabezado.style.color="white"
  509. var ser = document.getElementsByClassName("seriesHeader")
  510. document.getElementsByClassName("seriesHeader")[0].appendChild(nuevaCeldaEncabezado);
  511.  
  512.  
  513. nuevaCeldaEncabezado = document.createElement("th");
  514. nuevaCeldaEncabezado.textContent = nameInitialValues[urlParams.get('type')];
  515. nuevaCeldaEncabezado.style.backgroundColor="#246355"
  516. nuevaCeldaEncabezado.style.color="white"
  517. ser = document.getElementsByClassName("seriesHeader")
  518. document.getElementsByClassName("seriesHeader")[0].appendChild(nuevaCeldaEncabezado);
  519.  
  520. // Añadir una nueva columna al final de cada fila de datos
  521. var contIds=0
  522. var filasDatos = tabla.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
  523. for (var i = 0; i < filasDatos.length; i++) {
  524. var celda = tabla.rows[i+1].cells[1];
  525.  
  526.  
  527.  
  528.  
  529.  
  530. var equipo=celda.textContent.trim()
  531. var iniIndex = celda.innerHTML.indexOf("tid=");
  532. var lastIndex = celda.innerHTML.indexOf("\">", iniIndex+4);
  533. var data=String(celda.innerHTML)
  534. var id=data.substring(iniIndex+4,lastIndex)
  535. linkIds+="&idEquipo"+contIds+"="+id
  536. contIds++
  537. celda.innerHTML+="<input type='hidden' id='team_"+id+"' value='"+equipo+"'/>"
  538.  
  539.  
  540.  
  541.  
  542. var nuevaColumna = document.createElement("td");
  543. // var iner = "<img src='https://statsxente.com/MZ1/View/Images/detail.png' width='20px' height='20px' onclick=\"openModalStatsEquiposHistoricoFiltro1("+id+",'team_"+id+"','z_hola',77,77,'soccer')\"/>";
  544. var iner = "<img src='https://statsxente.com/MZ1/View/Images/detail.png' width='20px' height='20px' id='but"+id+"' style='cursor:pointer;'/>";
  545. iner += "<img src='https://statsxente.com/MZ1/View/Images/graph.png' width='20px' height='20px' id='but1"+id+"' style='cursor:pointer;'/>";
  546. iner += "<img src='https://statsxente.com/MZ1/View/Images/report.png' width='20px' height='20px' onclick=\"openModalStatsEquiposHistoricoFiltro1("+id+",'team_"+id+"','z_hola',77,77,'soccer')\"/>";
  547. var cat = cats[urlParams.get('type')]
  548. nuevaColumna.innerHTML=iner
  549. filasDatos[i].appendChild(nuevaColumna);
  550.  
  551. nuevaColumna = document.createElement("td");
  552.  
  553.  
  554. //var link="https://statsxente.com/MZ1/Graficos/graficoProgresoEquipo.php?idEquipo=276402&modal=yes&idioma=SPANISH&divisa=EUR&deporte=F"
  555.  
  556.  
  557.  
  558. (function (currentId,currentLSport,lang) {
  559. document.getElementById("but1" + currentId).addEventListener('click', function () {
  560. var link = "https://statsxente.com/MZ1/Graficos/graficoProgresoEquipo.php?idEquipo="+currentId+"&idioma="+lang+"&divisa=EUR&deporte="+currentLSport;
  561. openWindow(link,0.95,1.25);
  562. });
  563. })(id,window.lsport,window.lang);
  564.  
  565. (function (currentId, currentEquipo,currentCat,currentSport,lang) {
  566. document.getElementById("but" + currentId).addEventListener('click', function () {
  567. var link = "https://statsxente.com/MZ1/View/filtroStatsEquiposHistorico.php?tamper=yes&idEquipo=" + currentId + "&idioma="+lang+"&modal=yes&deporte="+currentSport+"&season=77&season_actual=77&categoria="+currentCat+"&equipo=" + currentEquipo + "&cerrar=no";
  568. openWindow(link,0.95,1.25);
  569. });
  570. })(id, equipo,cat,window.sport,window.lang);
  571.  
  572.  
  573.  
  574.  
  575. }
  576.  
  577.  
  578. console.log(linkIds)
  579. GM_xmlhttpRequest({
  580. method: "GET",
  581. url: "https://statsxente.com/MZ1/Functions/tamper_teams.php?sport="+sport+linkIds,
  582. headers: {
  583. "Content-Type": "application/json"
  584. },
  585. onload: function(response) {
  586. var jsonResponse = JSON.parse(response.responseText);
  587.  
  588. teams_data=jsonResponse;
  589. var filasDatos = tabla.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
  590. for (var i = 0; i < filasDatos.length; i++) {
  591. var celda = tabla.rows[i+1].cells[1];
  592.  
  593. var equipo=celda.textContent.trim()
  594. var iniIndex = celda.innerHTML.indexOf("tid=");
  595. var lastIndex = celda.innerHTML.indexOf("\">", iniIndex+4);
  596. var data=String(celda.innerHTML)
  597. var id=data.substring(iniIndex+4,lastIndex)
  598.  
  599.  
  600.  
  601. var nuevaColumna = document.createElement("td");
  602.  
  603.  
  604. if (jsonResponse[id] && jsonResponse[id][initialValues[urlParams.get('type')]] !== undefined) {
  605. var valor = new Intl.NumberFormat("es-ES").format(Math.round(jsonResponse[id][initialValues[urlParams.get('type')]]))
  606. }else{
  607. var valor=0;
  608. }
  609. nuevaColumna.innerHTML=valor
  610. filasDatos[i].appendChild(nuevaColumna);
  611.  
  612.  
  613.  
  614.  
  615. }
  616.  
  617.  
  618.  
  619.  
  620. var thead=document.getElementsByClassName("seriesHeader")[0]
  621. var ths = thead.querySelectorAll("th");
  622.  
  623. // Agregar event listener a cada th
  624. ths.forEach(function(th, index) {
  625. th.addEventListener("click", function() {
  626. ordenarTabla(index);
  627. });
  628. });
  629.  
  630.  
  631.  
  632. }
  633. });
  634.  
  635.  
  636.  
  637.  
  638.  
  639. }, 3000);
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646. }
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653. function openWindow(link,porAncho,porAlto){
  654. var ventanaAncho=(window.innerWidth)*porAncho
  655. var ventanaAlto= (window.innerHeight)*porAlto
  656. console.log(ventanaAlto)
  657. // Calcular las coordenadas para centrar la ventana
  658. var ventanaIzquierda = (window.innerWidth - ventanaAncho) / 2;
  659. var ventanaArriba = (window.innerHeight - ventanaAlto) / 2;
  660.  
  661. // Opciones de la ventana (puedes ajustar según tus necesidades)
  662. var opcionesVentana = "width=" + ventanaAncho +
  663. ",height=" + ventanaAlto +
  664. ",left=" + ventanaIzquierda +
  665. ",top=" + ventanaArriba;
  666. // Abrir la nueva ventana en el centro
  667. window.open(link, "_blank", opcionesVentana);
  668. }
  669.  
  670.  
  671.  
  672.  
  673. function handleClick(event) {
  674.  
  675.  
  676.  
  677. var elems = document.getElementsByClassName("nice_table");
  678. var tabla = elems[0]
  679. var filas = tabla.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
  680.  
  681. // Obtener el segundo th del thead
  682. var thSegundo = tabla.querySelector("thead th:nth-child(2)");
  683.  
  684. // Cambiar el ancho del segundo th
  685. thSegundo.style.width = "250px";
  686.  
  687. // Iterar sobre cada fila
  688. for (var i = 0; i < filas.length; i++) {
  689. // Obtener todas las celdas de la fila
  690.  
  691.  
  692.  
  693. var celda = tabla.rows[i+1].cells[1];
  694.  
  695. var equipo=celda.textContent.trim()
  696. var iniIndex = celda.innerHTML.indexOf("tid=");
  697. var lastIndex = celda.innerHTML.indexOf("\">", iniIndex+4);
  698. var data=String(celda.innerHTML)
  699. var id=data.substring(iniIndex+4,lastIndex)
  700.  
  701.  
  702. var celdas = filas[i].getElementsByTagName("td");
  703.  
  704. // Obtener la última celda de la fila
  705. var ultimaCelda = celdas[celdas.length - 1];
  706.  
  707.  
  708.  
  709. console.log(teams_data[id])
  710.  
  711. var valor= new Intl.NumberFormat("es-ES").format(Math.round(teams_data[id][event.target.id]))
  712. ultimaCelda.innerHTML = valor;
  713. }
  714. var checkboxes = document.querySelectorAll('.statsxente');
  715.  
  716.  
  717.  
  718. var ultimaFilaEncabezado = tabla.querySelector("thead tr:last-child");
  719.  
  720. // Obtener la última celda de encabezado (<th>) dentro de la última fila de encabezado
  721. var ultimaCeldaEncabezado = ultimaFilaEncabezado.querySelector("th:last-child");
  722.  
  723. // Cambiar el texto de la última celda de encabezado
  724. ultimaCeldaEncabezado.textContent = event.target.value;
  725.  
  726.  
  727. // Iterar sobre los elementos
  728. checkboxes.forEach(function(checkbox) {
  729. console.log(checkbox.id )
  730. // Verificar si el checkbox no tiene el ID "hola"
  731. if (checkbox.id !== event.target.id) {
  732. // Deseleccionar el checkbox
  733. checkbox.checked = false;
  734. }
  735. });
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743. var columna=12
  744.  
  745.  
  746.  
  747. }
  748.  
  749.  
  750. function ordenarTabla(columna){
  751.  
  752.  
  753. var elems = document.getElementsByClassName("nice_table");
  754. var tabla = elems[0]
  755.  
  756. var filas, switching, i, x, y, debeCambiar, direccion, cambioRealizado;
  757.  
  758. switching = true;
  759. // Establecer la dirección de orden inicial a ascendente
  760. direccion = "descendente";
  761. // Continuar ordenando hasta que no haya más cambios realizados
  762. while (switching) {
  763. switching = false;
  764. filas = tabla.rows;
  765. // Recorrer todas las filas excepto la primera (encabezados)
  766. for (i = 1; i < (filas.length - 1); i++) {
  767. debeCambiar = false;
  768. // Obtener los elementos a comparar, uno de la columna actual y otro de la siguiente
  769. x = filas[i].getElementsByTagName("td")[columna];
  770. y = filas[i + 1].getElementsByTagName("td")[columna];
  771. // Eliminar los separadores de miles y convertir a números
  772. var xValue = parseFloat(x.innerHTML.replace(/[^0-9.-]+/g,""));
  773. var yValue = parseFloat(y.innerHTML.replace(/[^0-9.-]+/g,""));
  774. // Comparar los elementos según la dirección de orden
  775. if (direccion == "ascendente") {
  776. if (isNaN(xValue)) {
  777. if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
  778. debeCambiar = true;
  779. break;
  780. }
  781. } else {
  782. if (xValue > yValue) {
  783. debeCambiar = true;
  784. break;
  785. }
  786. }
  787. } else if (direccion == "descendente") {
  788. if (isNaN(xValue)) {
  789. if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
  790. debeCambiar = true;
  791. break;
  792. }
  793. } else {
  794. if (xValue < yValue) {
  795. debeCambiar = true;
  796. break;
  797. }
  798. }
  799. }
  800. }
  801. if (debeCambiar) {
  802. // Si debe cambiar, marcarlo y cambiar el orden de las filas
  803. filas[i].parentNode.insertBefore(filas[i + 1], filas[i]);
  804. switching = true;
  805. // Marcar que se realizó un cambio
  806. cambioRealizado = true;
  807. } else {
  808. // Si no se realizó ningún cambio y se estaba ordenando de forma ascendente,
  809. // cambiar a orden descendente y volver a empezar
  810. if (!cambioRealizado && direccion == "descendente") {
  811. direccion = "ascendente";
  812. switching = true;
  813. }
  814. }
  815. }
  816.  
  817.  
  818.  
  819. filas = tabla.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
  820.  
  821. // Recorrer todas las filas
  822. for ( i = 0; i < filas.length; i++) {
  823. // Obtener el primer td de la fila
  824. var primerTd = filas[i].querySelector("td");
  825.  
  826. // Establecer el contenido del primer td
  827. primerTd.innerHTML = (i+1);
  828. }
  829. }
  830.  
  831.  
  832.  
  833.  
  834. function getCookie(nombre) {
  835. var regex = new RegExp("(?:(?:^|.*;\\s*)" + nombre + "\\s*\\=\\s*([^;]*).*$)|^.*$");
  836. var valorCookie = document.cookie.replace(regex, "$1");
  837. return decodeURIComponent(valorCookie);
  838. }
  839.  
  840.  
  841. // Your code here...
  842. })();