/* made by Steven Albert, steven (at) inspyrdesigns (dot) com */

    //======REGULAR FUNCTIONS=======//

    function getWindowHeight() {
      if (window.self && self.innerHeight) return self.innerHeight;
      if (document.documentElement && document.documentElement.clientHeight) return document.documentElement.clientHeight;
      return 0;
    }

    function getWindowWidth() {
      if (window.self && self.innerWidth) return self.innerWidth;
      if (document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;
      return 0;
    }

    function resizemapdiv(sidepanel) {
      if (document.getElementById("map")) {
        if (sidepanel && !admin) document.getElementById("map").style.width = getWindowWidth() - 210 + 'px';
        else if (!admin) document.getElementById("map").style.width = getWindowWidth() - 15 + 'px';
        if (!admin) document.getElementById("map").style.height = getWindowHeight() + 'px';
        if (admin) {
          document.getElementById("map").style.width = '400px';
          document.getElementById("map").style.height = '300px';
        }
      }
    }

    function resizesidepanel() {
      document.getElementById('sidepanel').style.width = '210px';
      document.getElementById('sidepaneltext').style.width = '210px';
      document.getElementById('sidepaneltext').style.height = getWindowHeight() + 'px';
      document.getElementById('sidepaneltext').style.maxHeight = getWindowHeight() + 'px';
      document.getElementById('sidepanel').style.height = getWindowHeight() + 'px';
    }

    function closebutton() {
      document.getElementById('listall').style.display = 'none';
      document.getElementById('restorebutton').style.display = 'block';
      document.getElementById('sidepanel').style.width = '15px';
      document.getElementById('restorebutton').style.height = getWindowHeight() + 'px';
      document.getElementById('sidepaneltext').style.width = '15px';
      resizemapdiv(false);
      sidepanelvisible = false;
    }

    function restorebutton() {
      document.getElementById('restorebutton').style.display = 'none';
      if (directionspanelpending) {
        document.getElementById('directionsall').style.display = 'block';
        directionspanelpending = false;
      }
      else document.getElementById('listall').style.display = 'block';
      resizemapdiv(true);
      resizesidepanel();
      sidepanelvisible = true;
    }

    function state(ab,full) {
      this.ab = ab;
      this.full = full;
      this.chapters = new Array();
    }

    function sortchapters(a,b) {
      var x = members[a].city.toLowerCase();
      var y = members[b].city.toLowerCase();
      return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    }

    function removedoubleslash(a) {
      return a.split('\\').join('');
    }

    function buildmemberlist(admin) {
      var html = '<div id="spcontainer">';
      var states = new Array();
      var statesbyab = new Object;
      states[states.length] = new state("AL","Alabama");
      states[states.length] = new state("AK","Alaska");
      states[states.length] = new state("AZ","Arizona");
      states[states.length] = new state("AR","Arkansas");
      states[states.length] = new state("CA","California");
      states[states.length] = new state("CO","Colorado");
      states[states.length] = new state("CT","Connecticut");
      states[states.length] = new state("DE","Delaware");
      states[states.length] = new state("DC","District of Columbia");
      states[states.length] = new state("FL","Florida");
      states[states.length] = new state("GA","Georgia");
      states[states.length] = new state("HI","Hawaii");
      states[states.length] = new state("ID","Idaho");
      states[states.length] = new state("IL","Illinois");
      states[states.length] = new state("IN","Indiana");
      states[states.length] = new state("IA","Iowa");
      states[states.length] = new state("KS","Kansas");
      states[states.length] = new state("KY","Kentucky");
      states[states.length] = new state("LA","Louisiana");
      states[states.length] = new state("ME","Maine");
      states[states.length] = new state("MD","Maryland");
      states[states.length] = new state("MA","Massachusetts");
      states[states.length] = new state("MI","Michigan");
      states[states.length] = new state("MN","Minnesota");
      states[states.length] = new state("MS","Mississippi");
      states[states.length] = new state("MO","Missouri");
      states[states.length] = new state("MT","Montana");
      states[states.length] = new state("NE","Nebraska");
      states[states.length] = new state("NV","Nevada");
      states[states.length] = new state("NH","New Hampshire");
      states[states.length] = new state("NJ","New Jersey");
      states[states.length] = new state("NM","New Mexico");
      states[states.length] = new state("NY","New York");
      states[states.length] = new state("NC","North Carolina");
      states[states.length] = new state("ND","North Dakota");
      states[states.length] = new state("OH","Ohio");
      states[states.length] = new state("OK","Oklahoma");
      states[states.length] = new state("OR","Oregon");
      states[states.length] = new state("PA","Pennsylvania");
      states[states.length] = new state("RI","Rhode Island");
      states[states.length] = new state("SC","South Carolina");
      states[states.length] = new state("SD","South Dakota");
      states[states.length] = new state("TN","Tennessee");
      states[states.length] = new state("TX","Texas");
      states[states.length] = new state("UT","Utah");
      states[states.length] = new state("VT","Vermont");
      states[states.length] = new state("VA","Virginia");
      states[states.length] = new state("WA","Washington");
      states[states.length] = new state("WV","West Virginia");
      states[states.length] = new state("WI","Wisconsin");
      states[states.length] = new state("WY","Wyoming");
      for (var i=0; i<states.length; i++) { //allowing referencing of states by their abbreviation instead of for-looping the states array
        statesbyab[states[i].ab] = states[i];
      }
      for (var i=0; i<members.length; i++) { //assign each chapter to their state in the state array, distinguishing affiliates from regular chapters
        members[i].state = members[i].state.toUpperCase();
        statesbyab[members[i].state].chapters.push(i);
      }
      for (var i=0; i<states.length; i++) { //beginning assembly of side panel html
        if (states[i].chapters.length > 0) { //if the state has chapters in it...
          html += '<div class="spstate">' + states[i].full + '</div>';
          states[i].chapters = states[i].chapters.sort(sortchapters); //alphabetizing chapters by city for this state
          while (states[i].chapters.length > 0) { //adding alphabetized chapters to side panel
            var thischapter = states[i].chapters.shift();
            //if (admin) html += '<div class="spmember"><li><a href="admin.php?action=edit&cid=' + members[thischapter].cid + '">' + removedoubleslash(members[thischapter].city) + '</a><div class="spmembercity">' + removedoubleslash(members[thischapter].chaptername) + '</div></li></div>';
            if (admin) {
              html += '<div class="spmember'
              + (html.indexOf('spcity' + members[thischapter].city + members[thischapter].state) != -1 ? ' sub' : '')
              + '">'
              + (html.indexOf('spcity' + members[thischapter].city + members[thischapter].state) != -1 ? '' : '<div id="spcity' + members[thischapter].city + members[thischapter].state + '">' + removedoubleslash(members[thischapter].city) + '</div>')
              + '<div class="spmembercity"><a href="admin.php?action=edit&cid=' + members[thischapter].cid + '"' + (members[thischapter].affiliate ? ' class="spaffiliate"' : ' class="spnonaffiliate"') + '>' + removedoubleslash(members[thischapter].chaptername) + '</a></li></div></div>';
            } else {
              html += '<div class="spmember' + (html.indexOf('spcity' + members[thischapter].city + members[thischapter].state) != -1 ? ' sub' : '') + '">' + (html.indexOf('spcity' + members[thischapter].city + members[thischapter].state) != -1 ? '' : '<div id="spcity' + members[thischapter].city + members[thischapter].state + '">' + removedoubleslash(members[thischapter].city) + '</div>') + '<div class="spmembercity"><a href="javascript:GEvent.trigger(members[' + thischapter + '].marker,\'click\');map.setCenter(new GLatLng(' + members[thischapter].lat + ',' + members[thischapter].lng + '),15);"' + (members[thischapter].affiliate ? ' class="spaffiliate"' : ' class="spnonaffiliate"') + '>' + removedoubleslash(members[thischapter].chaptername) + '</a></div></li></div>';
            }
          }
        }
      }
      html += '</div>';
      if (document.getElementById('chapterdetails')) document.getElementById('chapterdetails').innerHTML = html;
      else document.getElementById('list').innerHTML = html;
    }




    //======GCONTROLS=======//
/*
    function memberid() {}
    memberid.prototype = new GControl(false, true);
    memberid.prototype.initialize = function(map) {
        var container = document.createElement("div");
        container.id = 'memberid';
        container.style.width = '400px';
        container.style.height = '20px';
        container.style.backgroundColor = '#ffffff';
        container.style.borderWidth = '1px';
        container.style.borderStyle = 'solid';
        container.style.fontFamily = 'Arial';
        container.style.fontSize = '10pt';
        container.style.borderColor = '#000000';
        map.getContainer().appendChild(container);
        return container;
    }
    memberid.prototype.getDefaultPosition = function() {
        return new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(70,10));
    }
*/