<!-- // JavaScript Document

// IE menu support code
sfHover = function() {
	var sfEls = document.getElementById("nav1").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


  // BEGIN CONFIGURABLE SECTION

  //:IMPORTANT  Do not forget to update this to match the number
  //            of images in the slide!
  var NOF_IMAGES = 2;

  var TRANS_DELAY_SECS = 5;

  var DIV_ID = 'slides';
  var IMG_PATH = 'images/';
  var IMG_NAME = 'slides.jpg';



  // MAPSEARCH

  var mapS = {   1: { addr1:  '001 Cooperstown, NY Office', addr2:  '001 Cooperstown, NY' }
              ,  2: { addr1:  '002 Cooperstown, NY Office', addr2:  '002 Cooperstown, NY' }
              ,  3: { addr1:  '003 Cooperstown, NY Office', addr2:  '003 Cooperstown, NY' }
              ,  4: { addr1:  '004 Cooperstown, NY Office', addr2:  '004 Cooperstown, NY' }
              ,  5: { addr1:  '005 Cooperstown, NY Office', addr2:  '005 Cooperstown, NY' }
              ,  6: { addr1:  '006 Cooperstown, NY Office', addr2:  '006 Cooperstown, NY' }
              ,  7: { addr1:  '007 Cooperstown, NY Office', addr2:  '007 Cooperstown, NY' }
              ,  8: { addr1:  '008 Cooperstown, NY Office', addr2:  '008 Cooperstown, NY' }
              ,  9: { addr1:  '009 Cooperstown, NY Office', addr2:  '009 Cooperstown, NY' }
              , 10: { addr1:  '010 Cooperstown, NY Office', addr2:  '010 Cooperstown, NY' }
              , 11: { addr1:  '011 Cooperstown, NY Office', addr2:  '011 Cooperstown, NY' }
              , 12: { addr1:  '012 Cooperstown, NY Office', addr2:  '012 Cooperstown, NY' }
              , 13: { addr1:  '013 Cooperstown, NY Office', addr2:  '013 Cooperstown, NY' }
              , 14: { addr1:  '014 Cooperstown, NY Office', addr2:  '014 Cooperstown, NY' }
              , 15: { addr1:  '015 Cooperstown, NY Office', addr2:  '015 Cooperstown, NY' }
              , 16: { addr1:  '016 Cooperstown, NY Office', addr2:  '016 Cooperstown, NY' }
              , 17: { addr1:  '017 Cooperstown, NY Office', addr2:  '017 Cooperstown, NY' }
              , 18: { addr1:  '018 Cooperstown, NY Office', addr2:  '018 Cooperstown, NY' }
              , 19: { addr1:  '019 Cooperstown, NY Office', addr2:  '019 Cooperstown, NY' }
              , 20: { addr1:  '020 Cooperstown, NY Office', addr2:  '020 Cooperstown, NY' }
              , 21: { addr1:  '021 Cooperstown, NY Office', addr2:  '021 Cooperstown, NY' }
              , 22: { addr1:  '022 Cooperstown, NY Office', addr2:  '022 Cooperstown, NY' }
              , 23: { addr1:  '023 Cooperstown, NY Office', addr2:  '023 Cooperstown, NY' }
              , 24: { addr1:  '024 Cooperstown, NY Office', addr2:  '024 Cooperstown, NY' }
              , 25: { addr1:  '025 Cooperstown, NY Office', addr2:  '025 Cooperstown, NY' }
              , 26: { addr1:  '026 Cooperstown, NY Office', addr2:  '026 Cooperstown, NY' }
              , 27: { addr1:  '027 Cooperstown, NY Office', addr2:  '027 Cooperstown, NY' }
              , 28: { addr1:  '028 Cooperstown, NY Office', addr2:  '028 Cooperstown, NY' }
              , 29: { addr1:  '029 Cooperstown, NY Office', addr2:  '029 Cooperstown, NY' }
              , 30: { addr1:  '030 Cooperstown, NY Office', addr2:  '030 Cooperstown, NY' }
              , 31: { addr1:  '031 Cooperstown, NY Office', addr2:  '031 Cooperstown, NY' }
              , 32: { addr1:  '032 Cooperstown, NY Office', addr2:  '032 Cooperstown, NY' }
              , 33: { addr1:  '033 Cooperstown, NY Office', addr2:  '033 Cooperstown, NY' }
              , 34: { addr1:  '034 Cooperstown, NY Office', addr2:  '034 Cooperstown, NY' }
              , 35: { addr1:  '035 Cooperstown, NY Office', addr2:  '035 Cooperstown, NY' }
              , 36: { addr1:  '036 Cooperstown, NY Office', addr2:  '036 Cooperstown, NY' }
              , 37: { addr1:  '037 Cooperstown, NY Office', addr2:  '037 Cooperstown, NY' }
              , 38: { addr1:  '038 Cooperstown, NY Office', addr2:  '038 Cooperstown, NY' }
              , 39: { addr1:  '039 Cooperstown, NY Office', addr2:  '039 Cooperstown, NY' }
              , 40: { addr1:  '040 Cooperstown, NY Office', addr2:  '040 Cooperstown, NY' }
              , 41: { addr1:  '041 Cooperstown, NY Office', addr2:  '041 Cooperstown, NY' }
              , 42: { addr1:  '042 Cooperstown, NY Office', addr2:  '042 Cooperstown, NY' }
              , 43: { addr1:  '043 Cooperstown, NY Office', addr2:  '043 Cooperstown, NY' }
              , 44: { addr1:  '044 Cooperstown, NY Office', addr2:  '044 Cooperstown, NY' }
              , 45: { addr1:  '045 Cooperstown, NY Office', addr2:  '045 Cooperstown, NY' }
              , 46: { addr1:  '046 Cooperstown, NY Office', addr2:  '046 Cooperstown, NY' }
              , 47: { addr1:  '047 Cooperstown, NY Office', addr2:  '047 Cooperstown, NY' }
              , 48: { addr1:  '048 Cooperstown, NY Office', addr2:  '048 Cooperstown, NY' }
              , 49: { addr1:  '049 Cooperstown, NY Office', addr2:  '049 Cooperstown, NY' }
              , 50: { addr1:  '050 Cooperstown, NY Office', addr2:  '050 Cooperstown, NY' }
             };


  // END CONFIGURABLE SECTION

  var LSHIFT = -1;
  var H_OFFSET = 8;
  var V_OFFSET = 6;
  var IMAGE_WIDTH = 163;

  var H_SLIDE_OFFSET = LSHIFT * IMAGE_WIDTH;
  var START_POS = H_OFFSET + IMAGE_WIDTH;

  var curPos = START_POS;
  var justOnce = 1;

  var num = 0;
  var timerID = 0;
  var tStart  = null;

  var in1;

  var INDEX_OFFSET = 0;

  function updateTimer()
  {
      if( timerID )
      {
          clearTimeout( timerID );
          clockID  = 0;
      }

      if( ! tStart )
      {
          tStart = new Date();
      }

      var tDate = new Date();
      var tDiff = tDate.getTime() - tStart.getTime();

     tDate.setTime( tDiff );

     next();

     timerID = setTimeout( "updateTimer()", TRANS_DELAY_SECS * 1000 );
  }

  function start()
  {
      tStart = new Date();

      timerID = setTimeout( "updateTimer()", TRANS_DELAY_SECS * 1000 );

      setOffset();
      qs2();
      onMouseOver();
  }

  function setOffset()
  {
      var appName = navigator.appName;

      if( appName == 'Netscape' )
      {
          INDEX_OFFSET = 1;
      }
  }


  function next()
  {
      num++;
      
      var slides = document.getElementById( DIV_ID );
      var curOffset = curPos + H_SLIDE_OFFSET;

      // To compensate for "double" first
      if( justOnce )
      {
          num++;
          justOnce = 0;
          curOffset = curOffset + H_SLIDE_OFFSET;
      }

      // Save current position
      curPos = curOffset;

      //slides.style.background = curOffset + "px " + V_OFFSET + "px";
      slides.style.background = "url( images/slides.jpg ) no-repeat " + curOffset + "px " + V_OFFSET + "px";
      
      // Reset when end reached
      if( num >= NOF_IMAGES )
      {
          num = 0;
          curPos = START_POS;
      }
  }


//========================================================================
// Quick Search
//========================================================================

  var DEBUG = 0;
  var oldVals = new Array();

  function clearme()
  {
    for( var i=0; i < oldVals.length; i++ )
    {
        var oldElem = oldVals[ i ];

        // Clear only if they have not entered anything
        if( oldElem.name == this.name && this.value == oldElem.value )
        {
            this.value = '';
            break;
        }
    }
  }

  function restoreme( elem )
  {
    if( DEBUG ) alert( elem  + ' ' + elem.name );

    for( var i=0; i < oldVals.length; i++ )
    {
        var oldElem = oldVals[ i ];

        // Restore only if they have not entered anything
        if( oldElem.name == elem.name && elem.value == '' )
        {
            if( DEBUG ) alert(oldVals[ i ].name + ' ' + oldVals[ i ].value + ' ' + elem.name + ' ' + elem.value);
            elem.value = oldVals[ i ].value;
            break;
        }
    }
  }
  
  function qs()
  {
      var qsFrm = document.qs_frm 
      var len = qsFrm.elements.length;
      var j = 0;

      for( var i=0; i < len; i++ )
      {
          var elem = qsFrm.elements[ i ];

          if( elem.nodeName == 'INPUT' )
          {
              // This does not work(!!!) because it is saved by 
              // reference and you always get the most recent 
              // content of the control
              // oldVals[ j ] = elem;

              // Make copies instead
              oldVals[ j ] = { name: elem.name, value: elem.value };

              // Register handler
              elem.onfocus = clearme;
              elem.onblur = function() { restoreme( this ); }

              j++;
          }

      }

      if( DEBUG )
      {
          alert( 'count:  ' + oldVals.length );

          for( var i=0; i < oldVals.length; i++ )
          {
              alert( oldVals[ i ].name );
          }
      }
  }

  function qs2()
  {

      var formIndex = 0 + INDEX_OFFSET;

      var qsFrm = document.getElementById( 'quicksearch' );
      var inputFlds = qsFrm.childNodes[ formIndex ].getElementsByTagName( 'input' );

      for( var i=0; i < (inputFlds.length - 1); i++ )
      {
          var elem = inputFlds[ i ];

          // Save originals
          oldVals[ i ] = { name: elem.name, value: elem.value };

          // Register handler
          elem.onfocus = clearme;
          elem.onblur = function() { restoreme( this ); }


      }
  }

//========================================================================
// Map Rollovers
//========================================================================

  function cls()
  {
      var searchmap = document.getElementById( 'searchmap' );
      var locality = document.getElementById( 'locality' );
      searchmap.style.background = "";

      locality.style.display = 'none';
  }

  function onMouseOver()
  {
      var MAP_INDEX_IE = 2;
      var mapIndex = MAP_INDEX_IE + INDEX_OFFSET;
      var searchmap = document.getElementById( 'searchmap' );

      var map = searchmap.childNodes[ mapIndex ].getElementsByTagName( 'area' );

      for( var i=0; i< map.length; i++ )
      {
        map[ i ].onmouseover = function( event ) { var event = event || window.event; onHandler( event, this ) };
        map[ i ].onmouseout = cls;
      }
  }

  function onHandler( event, obj )
  {
      var event = event || window.event;

      var id = obj.getAttribute( 'id' );

      id = id.substr( 3, 3 );

      // Otherwise, it treats it as an invalid octal
      var mapEntry = mapS[ eval( id / 1 ) ];

      hover( event, mapEntry, id );
  }

  function hover( event, mapEntry, coord )
  {
      var event = event || window.event;

      var TILE_WIDTH = 269;
      var TILE_HEIGHT = 413;

      var i = coord.substr( 0, 2 );
      var j = coord.substr( 2, 1 );
      var vOffset = i * -1 * TILE_HEIGHT;
      var hOffset = (j - 1) * -1 * TILE_WIDTH;  // need it to be zero based

      if( DEBUG )
      {
          alert( 'id = ' + id + ' i = ' + i + ' j = ' + j );
          alert( mapEntry.addr1 + ', ' + mapEntry.adddr2 );
      }

      var searchmap = document.getElementById( 'searchmap' );
      var locality = document.getElementById( 'locality' );


      searchmap.style.background = "url( images/counties.gif ) no-repeat " + hOffset + "px " + vOffset + "px";
      //searchmap.style.background = hOffset + "px " + vOffset + "px";
      
      var eventX = event.clientX;
      var eventY = event.clientY;

      //if( typeof event.pageX == Number )
      if( typeof event.layerX == Number )
      {
          eventX = event.layerX;
          eventY = event.layerY;
      }

      var popX = 80; //eventX - (eventX + 40);
      //var popY = eventY - 50; // - (eventY - 20);
      var popY = eventY - 250; // - (eventY - 20);

      // Change pop-up text
      var dt = locality.getElementsByTagName( 'dt' );
      var dd = locality.getElementsByTagName( 'dd' );

      dt[0].innerHTML = mapEntry.addr1;
      dd[0].innerHTML = mapEntry.addr2;

      // Move and display
      locality.style.top = popY + "px";
      locality.style.right = popX + "px";
      //locality.style.display = 'block';
  }

//-->

