Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- var rowHoverBG;
- var selectedGroup = null;
- var selectedMatch = null;
- var groupShow, matchShow;
- window.addEventListener("load",onLoad,true);
- function onLoad(){
- document.getElementById("groupBrowseControls").style.display = "";
- rowHoverBG = document.getElementById("groupBrowseControls").dataset.rowhovercolor;
- groupShow = document.getElementById("groupShow");
- matchShow = document.getElementById("matchShow");
- groupSel.addEventListener("change",selchange,true);
- hideAll();
- window.removeEventListener("load",onLoad,true);
- }
- function hideAll(){
- var groupDivs = document.getElementsByClassName("groupDiv");
- var groupSel = document.getElementById("groupSel");
- for(var i = 0; i<groupDivs.length; ++i){
- groupDivs[i].style.display="";
- groupSel.add(new Option("Group "+groupDivs[i].id.substr(5),groupDivs[i].id),null);
- }
- var groupTables = document.getElementsByClassName("groupTable");
- for(i = 0; i<groupTables.length; ++i){
- groupTables[i].removeEventListener("mouseover",teamMouseOver);
- groupTables[i].addEventListener("mouseover",teamMouseOver);
- }
- hideMatches();
- matchShow.style.display = "";
- groupSel.addEventListener("change",selchange,true);
- groupShow.innerHTML = "All Groups";
- groupShow.removeEventListener("click",hideAll,true);
- groupShow.addEventListener("click",showAll,true);
- }
- function showAll(){
- var groupDivs = document.getElementsByClassName("groupDiv");
- var groupSel = document.getElementById("groupSel");
- for(var i = 0; i<groupDivs.length; ++i){
- groupDivs[i].style.display="";
- }
- selectedGroup = null;
- while(groupSel.options[0])
- groupSel.remove(0);
- matchShow.style.display = "none";
- showMatches();
- groupShow.innerHTML = "Select Group";
- groupShow.removeEventListener("click",showAll,true);
- groupShow.addEventListener("click",hideAll,true);
- }
- function hideMatches(){
- var matchTables = document.getElementsByClassName("matchTable");
- var matches = document.getElementsByClassName("matchDiv");
- for(i = 0; i < matchTables.length; ++i){
- matchTables[i].removeEventListener("mouseover",matchMouseOver);
- matchTables[i].addEventListener("mouseover",matchMouseOver);
- matchTables[i].addEventListener("click",matchTableClick);
- }
- for(i = 0; i < matches.length; ++i){
- matches[i].style.display = "none";
- }
- matchShow.innerHTML = "All Matches";
- matchShow.removeEventListener("click",hideMatches,true);
- matchShow.addEventListener("click",showMatches,true);
- }
- function showMatches(){
- var matchTables = document.getElementsByClassName("matchTable");
- var matches = document.getElementsByClassName("matchDiv");
- for(i = 0; i < matchTables.length; ++i){
- matchTables[i].removeEventListener("click",matchTableClick);
- }
- for(i = 0; i < matches.length; ++i){
- matches[i].style.display = "";
- }
- selectedMatch = null;
- matchShow.innerHTML = "Select Match";
- matchShow.removeEventListener("click",showMatches,true);
- matchShow.addEventListener("click",hideMatches,true);
- }
- function teamMouseOver (event){
- rowMouseOver(event,true);
- }
- function matchMouseOver (event){
- rowMouseOver(event,false);
- }
- function rowMouseOver(event,isTeam){
- var grouprows = [], matchrows = [], allRows = [];
- var element = event.target;
- while(element.tagName != "TABLE" && element.tagName != "TR")
- element = element.parentNode;
- if(element.tagName == "TR" && element.rowIndex > 0 && !element.contains(event.relatedTarget) && element.classList[0]){
- if(isTeam){
- grouprows = [element];
- matchrows = document.querySelectorAll("div.groupDiv table.matchTable tr."+element.classList[0]);
- }else{
- matchrows = [element];
- grouprows[0] = document.querySelector("div.groupDiv table.groupTable tr."+element.classList[0]);
- grouprows[1] = document.querySelector("div.groupDiv table.groupTable tr."+element.classList[1]);
- }
- for(var i = 0;grouprows && i < grouprows.length; ++i){
- allRows.push(grouprows[i]);
- for(var j = 0; j<grouprows[i].cells.length;++j){
- grouprows[i].cells[j].dataset.Background = grouprows[i].cells[j].style.background;
- grouprows[i].cells[j].style.background = rowHoverBG;
- }
- }
- for(var i = 0;matchrows && i < matchrows.length; ++i){
- allRows.push(matchrows[i]);
- for(var j = 0; j<matchrows[i].cells.length;++j){
- matchrows[i].cells[j].dataset.Background = matchrows[i].cells[j].style.background;
- matchrows[i].cells[j].style.background = rowHoverBG;
- }
- }
- }else//end if homeRows
- return;
- element.addEventListener("mouseout",(function(){
- return function (event){
- if(element.contains(event.relatedTarget))
- return;
- rowMouseOut(allRows);
- element.removeEventListener("mouseout",arguments.callee,false);
- };
- })(),false);
- }
- function rowMouseOut (rows){
- for(var row of rows){
- for(var i = 0; i < row.cells.length; ++i){
- row.cells[i].style.background = row.cells[i].dataset.Background;
- delete row.cells[i].dataset.Background;
- }
- }
- }
- function matchTableClick(event){
- if(event.target.tagName == "TR" && event.target.rowIndex > 0){
- var match = document.getElementById(event.target.dataset.matchid);
- if(match){
- if(selectedMatch)
- selectedMatch.style.display = "none";
- selectedMatch = match;
- match.style.display = "";
- }
- }
- }
- function selchange(){
- if(selectedGroup)
- selectedGroup.style.display = "none";
- if(selectedMatch){
- selectedMatch.style.display = "none";
- selectedMatch = null;
- }
- selectedGroup = document.getElementById(this.value);
- selectedGroup.style.display = "";
- }
- </script>
- <div style="width:100%; background:#CCCCCC; max-width:800px; padding:2px; display:none;" data-rowHoverColor="#DDDDDD" id="groupBrowseControls">
- <div style="display:inline-block; padding-right:20px;"><select id="groupSel"></select></div>
- <div style="display:inline-block; padding-right:20px;" ><button id="matchShow">All Matches</button></div>
- <div style="display:inline-block;" ><button id="groupShow">All Groups</button></div></div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement