// PAGE SETTINGS
var SS_sizeOfGMD=1;
var SS_allowChangeSize=0;
var SS_initial=1;

var SS_scrollChg=30;
var SS_speed=150;
var SS_animateBusSelect=1;
var SS_centerAfterZoom=1;

var SS_maxZoom=5;
var SS_minZoom=0;

var SS_areaHeight;
var SS_areaWidth;
var SS_areaRatioY;
var SS_areaRatioX;

// SCROLL 
var SS_recentLevelChange=0
var SS_tmr1;

var SS_lastCoords;
var SS_lastCurrentLevel=-5;
var SS_lastZoomLevel=-5;
var SS_lastOriginalCoords;

var SS_originalcoords;
var SS_scrollingOn=0;
var SS_dragX=0;
var SS_dragY=0;

SS_currentLevel=1;

SS_numHotspots=0;
SS_numDirItems=0;
SS_numLegends=0;
SS_currentCategory=-3;

var SS_movement=0;

function SS_SyncInfo()
{
   for (j=0;j<SS_numDirItems;j++)
   {
      if (SS_dirHotspotLink[j]==-1)
      {
         for (k=0;k<SS_numHotspots;k++)
         {
            m = SS_businessid[k]+" "+SS_hotspotsX1[k]+" "+SS_hotspotsY1[k]+" "+SS_hotspotsX2[k]+" "+SS_hotspotsY2[k];
            if (m==SS_dirMatch[j])
            {
               SS_dirHotspotLink[j]=k;
               break;
            }
         }
      }
   }
}


function SS_SetInfo(SS_x1,SS_y1,SS_x2,SS_y2,SS_cat,SS_bid,SS_levels,SS_name,SS_icons)
{
   SS_hotspotsX1[SS_numHotspots]=SS_x1;
   SS_hotspotsY1[SS_numHotspots]=SS_y1;
   SS_hotspotsY2[SS_numHotspots]=SS_y2;
   SS_hotspotsX2[SS_numHotspots]=SS_x2;
   SS_level[SS_numHotspots]=SS_levels;
   SS_busname[SS_numHotspots]=SS_name;
   SS_icon[SS_numHotspots]=SS_icons;
   SS_category[SS_numHotspots]=SS_cat;
   SS_businessid[SS_numHotspots]=SS_bid;

   SS_dirHotspotLink[SS_numDirItems]=SS_numHotspots;
   SS_dirCategory[SS_numDirItems]=SS_cat;
   SS_numDirItems++;
   SS_numHotspots++; 
      
}

function SS_SetInfo2(SS_x1,SS_y1,SS_x2,SS_y2,SS_cat,SS_bid,SS_level,SS_name,SS_icon)
{
   SS_dirMatch[SS_numDirItems]=SS_bid+" "+SS_x1+" "+SS_y1+" "+SS_x2+" "+SS_y2;
   SS_dirHotspotLink[SS_numDirItems]=-1;
   SS_dirCategory[SS_numDirItems]=SS_cat;
   SS_numDirItems++;
}

function SS_repositionLegend()
{
   if (SS_numHotspots>100)
      return;

   SS_lastOriginalCoords=SS_originalcoords;
   SS_originalcoords = SS_getImageCoords(document.getElementById("SS_spanid"));
   var SS_coords  = SS_getImageCoords(document.getElementById("SS_mall"));

   for (j=0;j<SS_numHotspots;j++)
   {  
      if (document.getElementById("SS_I"+j)==null)
         continue;
      if (SS_busFilter[j]!=1) continue;

      if (SS_level[j]==SS_currentLevel && SS_icon[j]==1)
      {
         SS_x1=(SS_hotspotsX1[j]*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]))+SS_coords.x;
         SS_y1=(SS_hotspotsY1[j]*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]))+SS_coords.y;
         SS_x2=(SS_hotspotsX2[j]*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]))+SS_coords.x;
         SS_y2=(SS_hotspotsY2[j]*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]))+SS_coords.y;
         SS_hotspotWidth=SS_x2-SS_x1;
         SS_hotspotHeight=SS_y2-SS_y1;
         SS_width=35*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]);
         SS_height=35*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]); 
         SS_overlibx1=SS_x1+(SS_hotspotWidth/2)-(SS_width/2);
         SS_overliby1=SS_y1+(SS_hotspotHeight/2)-(SS_height/2);
      
		 // match
         if (SS_overlibx1<SS_originalcoords.x+SS_areaWidth &&
            SS_overlibx1+SS_width>SS_originalcoords.x &&
            SS_overliby1<SS_originalcoords.y+SS_areaHeight &&
            SS_overliby1+SS_height>SS_originalcoords.y)
         {
            if (SS_overlibx1<SS_originalcoords.x)
            {
               SS_width-=(SS_originalcoords.x-SS_overlibx1);
               SS_overlibx1=SS_originalcoords.x;
            }
            if (SS_overliby1<SS_originalcoords.y)
            {
               SS_height-=(SS_originalcoords.y-SS_overliby1);
               SS_overliby1=SS_originalcoords.y;
            }
            if (SS_width+SS_overlibx1>SS_originalcoords.x+SS_areaWidth)
               SS_width=(SS_originalcoords.x+SS_areaWidth-SS_overlibx1);
            if (SS_height+SS_overliby1>SS_originalcoords.y+SS_areaHeight)
               SS_height=(SS_originalcoords.y+SS_areaHeight-SS_overliby1);  
   
            document.getElementById("SS_I"+j).style.left=SS_overlibx1+"px";
            document.getElementById("SS_I"+j).style.top=SS_overliby1+"px";
            document.getElementById("SS_I"+j).style.width=SS_width+"px";
            document.getElementById("SS_I"+j).style.height=SS_height+"px"; 
         }
         else
         {
            document.getElementById("SS_I"+j).style.width=0+"px";
            document.getElementById("SS_I"+j).style.height=0+"px";
         } 
      }
      else
      {
         document.getElementById("SS_I"+j).style.width=0+"px";
         document.getElementById("SS_I"+j).style.height=0+"px";
      }
   } 
}

function SS_repositionGraphics()
{
   SS_originalcoords = SS_getImageCoords(document.getElementById("SS_spanid"));
   var SS_coords  = SS_getImageCoords(document.getElementById("SS_mall"));
   var somethingChanged=0;

   // Check to see if anything has changed.  If not, just enable the selected items and get out.
   if (SS_originalcoords.x!=SS_lastOriginalCoords.x || 
       SS_originalcoords.y!=SS_lastOriginalCoords.y ||
       SS_currentLevel!=SS_lastCurrentLevel ||
       SS_lastZoomLevel!=SS_zoomLevel[SS_currentLevel-1] ||
       SS_coords.x!=SS_lastCoords.x ||
       SS_coords.y!=SS_lastCoords.y)
   {
      SS_lastCoords=SS_coords;
      SS_lastCurrentLevel=SS_currentLevel;
      SS_lastOriginalCoords=SS_originalcoords;
      SS_lastZoomLevel=SS_zoomLevel[SS_currentLevel-1];
      somethingChanged=1;
   }

   if (somethingChanged==0)
   {
      for (j=0;j<SS_numHotspots;j++)
      {  
         if (SS_selected[j]==1)
            document.getElementById("SS_H"+j).style.display="block";
      }
      return;
   }
   
   SS_repositionLegend();


   for (j=0;j<SS_numHotspots;j++)
   {  
      if (document.getElementById("SS_O"+j)==null)
         continue;
         
      if (SS_busFilter[j]!=1) continue;

      if (SS_level[j]==SS_currentLevel)
      {
         SS_x1=(SS_hotspotsX1[j]*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]))+SS_coords.x;
         SS_y1=(SS_hotspotsY1[j]*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]))+SS_coords.y;
         SS_x2=(SS_hotspotsX2[j]*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]))+SS_coords.x;
         SS_y2=(SS_hotspotsY2[j]*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]))+SS_coords.y;
         SS_hotspotWidth=SS_x2-SS_x1;
         SS_hotspotHeight=SS_y2-SS_y1;
         SS_width=20;
         SS_height=20; 
         SS_overlibx1=SS_x1+(SS_hotspotWidth/2)-(SS_width/2);
         SS_overliby1=SS_y1+(SS_hotspotHeight/2)-(SS_height/2);

		 //overlib      
         if (SS_x1<SS_originalcoords.x+SS_areaWidth &&
            SS_x1+SS_hotspotWidth>SS_originalcoords.x &&
            SS_y1<SS_originalcoords.y+SS_areaHeight &&
            SS_y1+SS_hotspotHeight>SS_originalcoords.y)
         {
            if (SS_x1<SS_originalcoords.x)
            {
               SS_hotspotWidth-=(SS_originalcoords.x-SS_x1);
               SS_x1=SS_originalcoords.x;
            }
            if (SS_y1<SS_originalcoords.y)
            {
               SS_hotspotHeight-=(SS_originalcoords.y-SS_y1);
               SS_y1=SS_originalcoords.y;
            }
            if (SS_hotspotWidth+SS_x1>SS_originalcoords.x+SS_areaWidth)
            SS_hotspotWidth=(SS_originalcoords.x+SS_areaWidth-SS_x1);
            if (SS_hotspotHeight+SS_y1>SS_originalcoords.y+SS_areaHeight)
              SS_hotspotHeight=(SS_originalcoords.y+SS_areaHeight-SS_y1);  
   
            document.getElementById("SS_O"+j).style.left=SS_x1+"px";
            document.getElementById("SS_O"+j).style.top=SS_y1+"px";
            document.getElementById("SS_O"+j).style.width=SS_hotspotWidth+"px";
            document.getElementById("SS_O"+j).style.height=SS_hotspotHeight+"px";
            if (SS_selected[j]==1)
               document.getElementById("SS_H"+j).style.display="block";
         }
         else
         {
            document.getElementById("SS_O"+j).style.width=0+"px";
            document.getElementById("SS_O"+j).style.height=0+"px";
         }
       
		 // match
/*         if (SS_overlibx1<SS_originalcoords.x+SS_areaWidth &&
            SS_overlibx1+SS_width>SS_originalcoords.x &&
            SS_overliby1<SS_originalcoords.y+SS_areaHeight &&
            SS_overliby1+SS_height>SS_originalcoords.y)
         {
            if (SS_overlibx1<SS_originalcoords.x)
            {
               SS_width-=(SS_originalcoords.x-SS_overlibx1);
               SS_overlibx1=SS_originalcoords.x;
            }
            if (SS_overliby1<SS_originalcoords.y)
            {
               SS_height-=(SS_originalcoords.y-SS_overliby1);
               SS_overliby1=SS_originalcoords.y;
            }
            if (SS_width+SS_overlibx1>SS_originalcoords.x+SS_areaWidth)
               SS_width=(SS_originalcoords.x+SS_areaWidth-SS_overlibx1);
            if (SS_height+SS_overliby1>SS_originalcoords.y+SS_areaHeight)
               SS_height=(SS_originalcoords.y+SS_areaHeight-SS_overliby1);  
   
            if (SS_busFilter[j]==1){
            document.getElementById("SS_H"+j).style.left=SS_overlibx1+"px";
            document.getElementById("SS_H"+j).style.top=SS_overliby1+"px";
            document.getElementById("SS_H"+j).style.width=SS_width+"px";
            document.getElementById("SS_H"+j).style.height=SS_height+"px";
            } 
         }
         else
         {
         
            document.getElementById("SS_H"+j).style.width=0+"px";
            document.getElementById("SS_H"+j).style.height=0+"px";
         } */
      }
      else
      {
/*         document.getElementById("SS_H"+j).style.width=0+"px";
         document.getElementById("SS_H"+j).style.height=0+"px"; */
         
		 document.getElementById("SS_O"+j).style.width=0+"px";
         document.getElementById("SS_O"+j).style.height=0+"px";
      }
   }
}

function SS_getImageCoords (SS_img) 
{
  var SS_x = 0;
  var SS_y = 0;
  var SS_el = SS_img;
  do 
  {
    SS_x += SS_el.offsetLeft;
    SS_y += SS_el.offsetTop;
  }
  while ((SS_el = SS_el.offsetParent));
  
  borderWidth = parseInt(document.getElementById("SS_spanid").style.borderWidth.replace('px',''));
  
  return {x: (SS_x+borderWidth), y: (SS_y+borderWidth)};

}

function SS_getScrollXY() {
  var SS_scrOfX = 0, SS_scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    SS_scrOfY = window.pageYOffset;
    SS_scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    SS_scrOfY = document.body.scrollTop;
    SS_scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    SS_scrOfY = document.documentElement.scrollTop;    SS_scrOfX = document.documentElement.scrollLeft;
  }
  return {x: SS_scrOfX, y: SS_scrOfY};
}

function SS_resetTopLeft()
{
   if (SS_leftPos[SS_currentLevel-1]>0)
	  SS_leftPos[SS_currentLevel-1]=0;         
         
   var SS_max = (SS_areaWidth-(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]))
   
   if (SS_leftPos[SS_currentLevel-1]<SS_max)
      SS_leftPos[SS_currentLevel-1]=SS_max;
         
   if (SS_topPos[SS_currentLevel-1]>0)
      SS_topPos[SS_currentLevel-1]=0
         
   SS_max = (SS_areaHeight-(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]))
      
   if (SS_topPos[SS_currentLevel-1]<SS_max)
     SS_topPos[SS_currentLevel-1]=SS_max
}

function SS_repositionMap()
{
   document.getElementById("SS_mall").style.width=(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom])+"px";
   document.getElementById("SS_mall").style.height=(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom])+"px";
   
   document.getElementById("SS_mall").style.left=SS_leftPos[SS_currentLevel-1]+"px";
   document.getElementById("SS_mall").style.top=SS_topPos[SS_currentLevel-1]+"px";   
}

function SS_zoomOut()
{
   if (SS_zoomLevel[SS_currentLevel-1]>0)
   {
      SS_zoomLevel[SS_currentLevel-1]--;

      if (SS_zoomLevel[SS_currentLevel-1]<0)
         SS_zoomLevel[SS_currentLevel-1]=0;

      SS_zoom(SS_zoomLevel[SS_currentLevel-1]);
   }
}


function SS_zoomIn()
{
   if (SS_zoomLevel[SS_currentLevel-1]<5)
   {
      SS_zoomLevel[SS_currentLevel-1]++;
   
      if (SS_zoomLevel[SS_currentLevel-1]>5)
         SS_zoomLevel[SS_currentLevel-1]=5;
         
      SS_zoom(SS_zoomLevel[SS_currentLevel-1]);
   }
}



function SS_partialzoom()
{
   if (document.getElementById("SS_zoom"+SS_lastZoom[SS_currentLevel-1])!=null)
      document.getElementById("SS_zoom"+SS_lastZoom[SS_currentLevel-1]).src="http://www.sidestreet.com/images/graphics/zoom-beta.gif";
   if (document.getElementById("SS_zoom"+SS_zoomLevel[SS_currentLevel-1])!=null)
      document.getElementById("SS_zoom"+SS_zoomLevel[SS_currentLevel-1]).src="http://www.sidestreet.com/images/graphics/zoomon-beta.gif";
   SS_lastZoom[SS_currentLevel-1]=SS_zoomLevel[SS_currentLevel-1];

   document.getElementById("SS_mall").src=SS_levels[SS_currentLevel-1][SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]

   SS_resetTopLeft();
   SS_repositionMap();   
}


function SS_zoom(SS_level_item)
{
   SS_movement=1;
   
   SS_zoomLevel[SS_currentLevel-1]=SS_level_item;
   
   if (document.getElementById("SS_zoomlevel")!=null)
      document.getElementById("SS_zoomlevel").src="http://www.sidestreet.com/images/graphics/zoom_0"+(SS_level_item+1)+".gif";

   if (SS_lastZoom[SS_currentLevel-1]!=SS_zoomLevel[SS_currentLevel-1] ||
       SS_recentLevelChange==1)
   {
	if (SS_recentLevelChange==1)
	{
	   for (j=0;j<=5;j++)
	  {
	    if (document.getElementById("SS_zoom"+j)!=null)
   	       document.getElementById("SS_zoom"+j).src="http://www.sidestreet.com/images/graphics/zoom-beta.gif";
	  }
 	}
	else
	{
	    if (document.getElementById("SS_zoom"+(SS_lastZoom[SS_currentLevel-1]))!=null)
	       document.getElementById("SS_zoom"+(SS_lastZoom[SS_currentLevel-1])).src="http://www.sidestreet.com/images/graphics/zoom-beta.gif";
	}
	
	if (document.getElementById("SS_zoom"+(SS_zoomLevel[SS_currentLevel-1]))!=null)
       document.getElementById("SS_zoom"+(SS_zoomLevel[SS_currentLevel-1])).src="http://www.sidestreet.com/images/graphics/zoomon-beta.gif";

    SS_recentLevelChange=0;
    if (SS_zoomLevel[SS_currentLevel-1]==0)
    {
       SS_centerAfterZoom=1;
    }
   document.getElementById("SS_mall").src=SS_levels[SS_currentLevel-1][SS_zoomLevel[SS_currentLevel-1]+SS_minZoom];
   
      SS_topPos[SS_currentLevel-1]+=(((SS_zoomLevelsY[SS_lastZoom[SS_currentLevel-1]+SS_minZoom])-(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]))/2)
      SS_leftPos[SS_currentLevel-1]+=(((SS_zoomLevelsX[SS_lastZoom[SS_currentLevel-1]+SS_minZoom])-(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]))/2)

      SS_CenterAroundSelectedBusinesses();

      SS_resetTopLeft();
         
      SS_repositionMap();   

      SS_repositionGraphics(); 

      SS_lastZoom[SS_currentLevel-1]=SS_zoomLevel[SS_currentLevel-1];
   }
}

function SS_SelectYouAreHere(SS_selected)
{
   SS_youAreHereChecked=SS_selected;
   
   if (SS_selected==true && SS_initialX!=-1)
   {
      for (j=0;j<SS_numLevels;j++)      
         SS_zoomLevel[j]=5;
      SS_zoom(SS_zoomLevel[SS_currentLevel-1]);
      SS_YouAreHere();
   }
   else
   {
      document.getElementById("SS_YRH").style.display="none";
   }

}

function SS_YouAreHere()
{
   var SS_minX=SS_initialX;
   var SS_minY=SS_initialY;
   var SS_maxX=SS_initialX;
   var SS_maxY=SS_initialY;
   var SS_newLeftPos;
   var SS_newTopPos;
   var SS_difX;
   var SS_difY;

   // calculate the midpoint of all matching graphics.  This will be where we try and recenter the page to.
   var SS_midX = SS_initialX*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]);
   var SS_midY = SS_initialY*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]);

   // reposition map coordinates.  (Based on current zoom, assuming all points fit on map)
   SS_newLeftPos=(SS_areaWidth/2)-SS_midX;
   SS_newTopPos=(SS_areaHeight/2)-SS_midY;
   // reset the new top and left position to make sure you don't go off the map.
   if (SS_newLeftPos>0)
	  SS_newLeftPos=0;         
   var SS_max = (SS_areaWidth-(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]))
   if (SS_newLeftPos<SS_max)
      SS_newLeftPos=SS_max;
   if (SS_newTopPos>0)
      SS_newTopPos=0
   SS_max = (SS_areaHeight-(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]))
   if (SS_newTopPos<SS_max)
     SS_newTopPos=SS_max
 //  repositionGraphics();
   SS_youAreHere=1;
   SS_animateMove(SS_newLeftPos,SS_newTopPos); 
//    SS_tmr1 = setTimeout("SS_animateMove("+newLeftPos+","+newTopPos+")", 2000);
}
 
function SS_CenterAroundSelectedBusinesses()
{
   var SS_minX=-1;
   var SS_minY=-1;
   var SS_maxX=-1;
   var SS_maxY=-1;
   var SS_newLeftPos;
   var SS_newTopPos;
   var SS_difX;
   var SS_difY;

   // now get the min, max coordinates of all selected hotspots
   for (j=0;j<SS_numHotspots &&  SS_centerAfterZoom==1;j++)
   {
      if (document.getElementById("SS_H"+j)==null)
         continue;
      if (SS_busFilter[j]!=1) continue;

      if (document.getElementById("SS_H"+j).style.display=="block")
      {
         if (SS_minX==-1 || SS_hotspotsX1[j]<SS_minX)
            SS_minX=SS_hotspotsX1[j];
         if (SS_minY==-1 || SS_hotspotsY1[j]<SS_minY)
           SS_minY=SS_hotspotsY1[j];
        if (SS_maxX==-1 || SS_hotspotsX2[j]>SS_maxX)
           SS_maxX=SS_hotspotsX2[j];
        if (SS_maxY==-1 || SS_hotspotsY2[j]>SS_maxY)
           SS_maxY=SS_hotspotsY2[j];
      }
   }

   if (SS_minX!=-1)
   {
         // calculate the midpoint of all matching graphics.  This will be where we try and recenter the page to.
         SS_difX=(SS_maxX-SS_minX)*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]);
         SS_difY=(SS_maxY-SS_minY)*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]);
         var SS_midX = SS_difX/2+(SS_minX*(SS_zoomLevelsX[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsX[5]));
         var SS_midY = SS_difY/2+(SS_minY*(SS_zoomLevelsY[SS_zoomLevel[SS_currentLevel-1]+SS_minZoom]/SS_zoomLevelsY[5]));

         // reposition map coordinates.  (Based on current zoom, assuming all points fit on map)
         SS_leftPos[SS_currentLevel-1]=(SS_areaWidth/2)-SS_midX;
         SS_topPos[SS_currentLevel-1]=(SS_areaHeight/2)-SS_midY;
   } 
}

function SS_timeroff()
{
   if (document.getElementById("SS_scrolling")!=null)
      document.getElementById("SS_scrolling").src="http://www.sidestreet.com/images/graphics/scrollingTool_Home.gif";

   clearTimeout(SS_tmr1);

   SS_scrollingOn=0;
   SS_repositionGraphics(); 
}

function SS_clearGraphics()
{
   if (SS_scrollingOn==0)
   {
      for (j=0;j<SS_numHotspots;j++)
      {  
         if (document.getElementById("SS_H"+j)==null)
            continue;
         if (SS_busFilter[j]!=1) continue;
	
	     document.getElementById("SS_H"+j).style.display="none";

/*         document.getElementById("SS_H"+j).style.width=0+"px";
         document.getElementById("SS_H"+j).style.height=0+"px";
         document.getElementById("SS_I"+j).style.width=0+"px";
         document.getElementById("SS_I"+j).style.height=0+"px"; */
         
         // BRI-TODO: Find a way to make them dissapear and then reappear when scrolling is done
      }
   
      SS_scrollingOn=1;
   }
}


function SS_LockPosition2()
{
   if (SS_scrollingOn==1)
   {
      SS_ReleaseLock2();
      return;
   }

   SS_dragX=event.clientX;
   SS_dragY=event.clientY;
   SS_clearGraphics();
   SS_scrollingOn=1;
   document.getElementById("SS_mall").style.cursor="hand";
   document.onmousemove=SS_MoveObject2;
}

function SS_ReleaseLock2()
{
   if (SS_scrollingOn==1)
   {
	  document.getElementById("SS_mall").style.cursor="default";
      document.onmousemove=null;
      SS_scrollingOn=0;
      SS_repositionGraphics();
   }
}


function SS_MoveObject2()
{
   SS_originalcoords = SS_getImageCoords(document.getElementById("SS_spanid"));

   if (SS_initial==1)
   {
      SS_repositionGraphics();
      SS_initial=0;
   }

   SS_xy = SS_getScrollXY();

   if ((event.clientX<SS_originalcoords.x ||
       event.clientX>SS_originalcoords.x+SS_areaWidth ||
       (event.clientY+SS_xy.y)<SS_originalcoords.y ||
       (event.clientY+SS_xy.y)>SS_originalcoords.y+SS_areaHeight) &&
       SS_scrollingOn==1)
   {
      SS_ReleaseLock2();
   } 

   if (SS_scrollingOn==1)
   {
      SS_centerAfterZoom=0;
      SS_xPos=event.clientX-SS_dragX; 
      SS_yPos=event.clientY-SS_dragY;
      
//      if (xPos>100 || yPos>100)
//      {
//         ReleaseLock();
//      }
//      else
      {
//         clearGraphics(); 
         SS_leftPos[SS_currentLevel-1]+=SS_xPos;
         SS_topPos[SS_currentLevel-1]+=SS_yPos;
         SS_dragX=event.clientX;
         SS_dragY=event.clientY;
      
		 document.getElementById("SS_mall").style.left=SS_leftPos[SS_currentLevel-1]+"px";
		 document.getElementById("SS_mall").style.top=SS_topPos[SS_currentLevel-1]+"px";   
         SS_resetTopLeft();
         SS_repositionMap();
 		 SS_repositionLegend();
      }   
   }
}



function SS_LockPosition()
{
   SS_dragX=event.clientX;
   SS_dragY=event.clientY;
   SS_clearGraphics();
   SS_scrollingOn=1;
}

function SS_ReleaseLock()
{
   if (SS_scrollingOn==1)
   {
      SS_scrollingOn=0;
      SS_repositionGraphics();
   }
}


function SS_MoveObject()
{
   if (event.button==0 && SS_scrollingOn==1)
   {
      SS_ReleaseLock();
      return;
   }
 

  SS_originalcoords = SS_getImageCoords(document.getElementById("SS_spanid"));

   if (SS_initial==1)
   {
      SS_repositionGraphics();
      SS_initial=0;
   }

   SS_xy = SS_getScrollXY();

   if ((event.clientX<SS_originalcoords.x ||
       event.clientX>SS_originalcoords.x+SS_areaWidth ||
       (event.clientY+SS_xy.y)<SS_originalcoords.y ||
       (event.clientY+SS_xy.y)>SS_originalcoords.y+SS_areaHeight) &&
       SS_scrollingOn==1)
   {
      SS_ReleaseLock();
   }

   if (SS_scrollingOn==1)
   {
      SS_centerAfterZoom=0;
      SS_xPos=event.clientX-SS_dragX; 
      SS_yPos=event.clientY-SS_dragY;
      
//      if (xPos>100 || yPos>100)
//      {
//         ReleaseLock();
//      }
//      else
      {
//         clearGraphics(); 
         SS_leftPos[SS_currentLevel-1]+=SS_xPos;
         SS_topPos[SS_currentLevel-1]+=SS_yPos;
         SS_dragX=event.clientX;
         SS_dragY=event.clientY;
      
         SS_resetTopLeft();
         SS_repositionMap();
		 SS_repositionLegend();
      }   
   }
}


function SS_moveRight()
{
   SS_movement=1;
 
  if (document.getElementById("SS_scrolling")!=null)
      document.getElementById("SS_scrolling").src=SS_arrowRight.src;
  
   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_leftPos[SS_currentLevel-1]-=SS_scrollChg;
     
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveRight()", SS_speed);
}

function SS_moveLeft()
{
   if (document.getElementById("SS_scrolling")!=null)
      document.getElementById("SS_scrolling").src=SS_arrowLeft.src;

   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_leftPos[SS_currentLevel-1]+=SS_scrollChg;
   
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveLeft()", SS_speed);
}

function SS_moveUpLeft()
{
   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_leftPos[SS_currentLevel-1]+=SS_scrollChg;
   SS_topPos[SS_currentLevel-1]+=SS_scrollChg;
   
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveUpLeft()", SS_speed);
}

function SS_moveUpRight()
{
   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_leftPos[SS_currentLevel-1]-=SS_scrollChg;
   SS_topPos[SS_currentLevel-1]+=SS_scrollChg;
   
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveUpRight()", SS_speed);
}


function SS_moveDown()
{
   if (document.getElementById("SS_scrolling")!=null)
      document.getElementById("SS_scrolling").src=SS_arrowDown.src;

   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_topPos[SS_currentLevel-1]-=SS_scrollChg;
     
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveDown()", SS_speed);
}

function SS_moveDownRight()
{
   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_leftPos[SS_currentLevel-1]-=SS_scrollChg;
   SS_topPos[SS_currentLevel-1]-=SS_scrollChg;
   
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveDownRight()", SS_speed);
}

function SS_moveDownLeft()
{
   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_leftPos[SS_currentLevel-1]+=SS_scrollChg;
   SS_topPos[SS_currentLevel-1]-=SS_scrollChg;
   
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveDownLeft()", SS_speed);
}


function SS_moveUp()
{
   if (document.getElementById("SS_scrolling")!=null)
      document.getElementById("SS_scrolling").src=SS_arrowUp.src;

   SS_centerAfterZoom=0;
   SS_clearGraphics();

   SS_topPos[SS_currentLevel-1]+=SS_scrollChg;
   
   SS_resetTopLeft();
   SS_repositionMap();   
//   repositionGraphics(); 
   SS_repositionLegend();
   
   SS_tmr1 = setTimeout("SS_moveUp()", SS_speed);
}

function SS_setGMDSize(SS_size)
{
   SS_dif = SS_size-SS_sizeOfGMD;
   SS_sizeOfGMD=SS_size;

//   createCookie("SIZEGMD",size,2);

   if (document.getElementById('SS_small1')!=null)
   {
      document.getElementById('SS_small1').style.display="inline";
      document.getElementById('SS_small2').style.display="none";
   }
   if (document.getElementById('SS_medium1')!=null)
   {
      document.getElementById('SS_medium1').style.display="inline";
      document.getElementById('SS_medium2').style.display="none";
   }
   if (document.getElementById('SS_large1')!=null)
   {
      document.getElementById('SS_large1').style.display="inline";
      document.getElementById('SS_large2').style.display="none";
   }

   if (SS_sizeOfGMD==1)
   {
      if (document.getElementById('SS_small1')!=null)
      {
         document.getElementById('SS_small1').style.display="none";
         document.getElementById('SS_small2').style.display="inline";
      }
      if (document.getElementById('SS_wrap')!=null)
         document.getElementById('SS_wrap').style.width=SS_zoomLevelsX[0]+600+"px";
      if (document.getElementById('SS_doc3')!=null)
         document.getElementById('SS_doc3').style.width=SS_zoomLevelsX[0]+600+"px";
   }
   else if (SS_sizeOfGMD==2)
   {
      if (document.getElementById('SS_medium1')!=null)
      {
         document.getElementById('SS_medium1').style.display="none";
         document.getElementById('SS_medium2').style.display="inline";
      }
      if (document.getElementById('SS_wrap')!=null)
         document.getElementById('SS_wrap').style.width=SS_zoomLevelsX[1]+600+"px";
      if (document.getElementById('SS_doc3')!=null)
         document.getElementById('SS_doc3').style.width=SS_zoomLevelsX[1]+600+"px";
   }
   else if (SS_sizeOfGMD==3)
   {
      if (document.getElementById('SS_large1')!=null)
      {
         document.getElementById('SS_large1').style.display="none";
         document.getElementById('SS_large2').style.display="inline";
      }
      if (document.getElementById('SS_wrap')!=null)
         document.getElementById('SS_wrap').style.width=SS_zoomLevelsX[2]+600+"px";
      if (document.getElementById('SS_doc3')!=null)
         document.getElementById('SS_doc3').style.width=SS_zoomLevelsX[2]+600+"px";
   }

   SS_minZoom+=SS_dif;
   SS_areaHeight=SS_zoomLevelsY[SS_sizeOfGMD-1];
   SS_areaWidth=SS_zoomLevelsX[SS_sizeOfGMD-1];
   SS_areaRatioY = SS_areaHeight/SS_zoomLevelsY[SS_sizeOfGMD+4];
   SS_areaRatioX = SS_areaWidth/SS_zoomLevelsX[SS_sizeOfGMD+4];
   
   document.getElementById("SS_mall").style.left=0+"px";
   document.getElementById("SS_mall").style.top=0+"px";
   document.getElementById("SS_mall").style.width=SS_areaWidth+"px";
   document.getElementById("SS_mall").style.height=SS_areaHeight+"px";
   document.getElementById("SS_mall").style.display="block";
   document.getElementById("SS_spanid").style.width=SS_areaWidth+"px";
   document.getElementById("SS_spanid").style.height=SS_areaHeight+"px";
   SS_originalcoords  = SS_getImageCoords(document.getElementById("SS_mall"));

}

function SS_changeSize(SS_size)
{
   SS_setGMDSize(SS_size);

   SS_partialzoom();
   SS_repositionGraphics();
}

function SS_LoadPage()
{
   SS_lastOriginalCoords = SS_getImageCoords(document.getElementById("SS_spanid"));
   SS_lastOriginalCoords.x=0;
   SS_lastCoords=SS_lastOriginalCoords;


   SS_arrowUp = new Image(80,80);
   SS_arrowUp.src="http://www.sidestreet.com/images/graphics/scrollingTool_UP.gif";
   SS_arrowDown = new Image(80,80);
   SS_arrowDown.src="http://www.sidestreet.com/images/graphics/scrollingTool_DOWN.gif";
   SS_arrowLeft = new Image(80,80);
   SS_arrowLeft.src="http://www.sidestreet.com/images/graphics/scrollingTool_LEFT.gif";
   SS_arrowRight = new Image(80,80);
   SS_arrowRight.src="http://www.sidestreet.com/images/graphics/scrollingTool_RIGHT.gif";

   SS_areaHeight=SS_zoomLevelsY[0];
   SS_areaWidth=SS_zoomLevelsX[0];
   SS_areaRatioY = SS_areaHeight/SS_zoomLevelsY[5];
   SS_areaRatioX = SS_areaWidth/SS_zoomLevelsX[5];

   SS_temp=SS_sizeOfGMD;
   SS_sizeOfGMD=1;
   SS_setGMDSize(SS_sizeOfGMD);
   SS_setGMDSize(SS_temp); 

   SS_FillCategories();

	if (SS_startLevel!=1)
	   SS_partialChangeLevel(SS_startLevel); 

   SS_partialzoom();
   SS_resetPage();
 
   if (SS_initialX!=-1 && SS_youAreHereChecked==true)
   {
      SS_SelectYouAreHere(true);
   } 
   else if (SS_initialbusid!=-9999)
   {
/*       if (SS_initialbusid>0)
       {
          for (j=0;j<SS_numLevels;j++)      
             zoomLevel[j]=3;
       } */
       SS_animateBusSelect=0;
       SS_buscatClick(SS_initialbusid);
       SS_animateBusSelect=1;
   }
   else 
      SS_repositionGraphics(); 

   SS_tmr2 = setTimeout("SS_resetPage2()", 3000);
   SS_tmr3 = setTimeout("SS_resetPage2()", 6000);
   SS_tmr4 = setTimeout("SS_resetPage2()", 9000);

   SS_initial=1;
 

}

function SS_resetPage2()
{
   SS_originalcoords = SS_getImageCoords(document.getElementById("SS_spanid"));

   if (SS_lastOriginalCoords.x!=SS_originalcoords.x || 
       SS_lastOriginalCoords.y!=SS_originalcoords.y)
   {
      SS_lastOriginalCoords=SS_originalcoords;
      SS_repositionGraphics(); 
   }
}

function SS_resetPage()
{
  if (SS_numHotspots>100)
      return;

  for (j=0;j<SS_numHotspots;j++)
  {
    if (document.getElementById("SS_I"+j)==null)
       continue;
    if (SS_busFilter[j]!=1) continue;

    if (SS_icon[j]==1)
    {
       document.getElementById("SS_I"+j).style.display="block";
    }
  }
}

function SS_partialChangeLevel(SS_level_item)
{
      SS_currentLevel=SS_level_item;
      if (document.getElementById("SS_levelsList")!=null)
         document.getElementById("SS_levelsList").selectedIndex=(SS_level_item-1);
      document.getElementById("SS_mall").src=SS_levels[SS_currentLevel-1][SS_zoomLevel[SS_currentLevel-1]+SS_minZoom];
      SS_recentLevelChange=1;
   
      SS_repositionGraphics();
      
      if (document.getElementById("SS_levelsList")!=null)
         document.getElementById("SS_levelsList").selectedIndex=SS_level_item-1;
}

function SS_ChangeLevel(SS_level_item)
{
   if (SS_currentLevel!=SS_level_item && SS_level_item<=SS_numLevels) 
   {
      SS_currentLevel=SS_level_item;
      if (document.getElementById("SS_levelsList")!=null)
         document.getElementById("SS_levelsList").selectedIndex=(SS_level_item-1);
      document.getElementById("SS_mall").src=SS_levels[SS_currentLevel-1][SS_zoomLevel[SS_currentLevel-1]+SS_minZoom];
      SS_recentLevelChange=1;
      SS_zoom(SS_zoomLevel[SS_currentLevel-1]);
   
      SS_repositionGraphics()
   }
}

function SS_animateMove(SS_x,SS_y)
{
   SS_clearGraphics();

   if (SS_x==SS_leftPos[SS_currentLevel-1] && SS_y==SS_topPos[SS_currentLevel-1])
   {
       SS_scrollingOn=0;
       
       SS_repositionGraphics();  

       clearTimeout(SS_tmr1);
   }
   else
   {
	  if (SS_leftPos[SS_currentLevel-1]<SS_x)
	  {
		 if (SS_x-SS_leftPos[SS_currentLevel-1]>SS_scrollChg)
		    SS_leftPos[SS_currentLevel-1]+=SS_scrollChg;
		 else
		    SS_leftPos[SS_currentLevel-1]=SS_x;
	  }
	  if (SS_leftPos[SS_currentLevel-1]>SS_x)
	  {
	     if (SS_leftPos[SS_currentLevel-1]-SS_x>SS_scrollChg)
		    SS_leftPos[SS_currentLevel-1]-=SS_scrollChg;
		 else
		    SS_leftPos[SS_currentLevel-1]=SS_x;
	  }
	  if (SS_topPos[SS_currentLevel-1]<SS_y)
	  {
	     if (SS_y-SS_topPos[SS_currentLevel-1]>SS_scrollChg)
		    SS_topPos[SS_currentLevel-1]+=SS_scrollChg;
		 else
		    SS_topPos[SS_currentLevel-1]=SS_y; 
	  }
	  if (SS_topPos[SS_currentLevel-1]>SS_y)
	  {
         if (SS_topPos[SS_currentLevel-1]-SS_y>SS_scrollChg)
		    SS_topPos[SS_currentLevel-1]-=SS_scrollChg;
		 else
		    SS_topPos[SS_currentLevel-1]=SS_y;
	  }

      SS_repositionMap();   
      SS_repositionLegend();

      SS_tmr1 = setTimeout("SS_animateMove("+SS_x+","+SS_y+")", SS_speed/2);
   }
}

function SS_animateZoom(SS_z)
{
   if (SS_z==SS_zoomLevel[SS_currentLevel-1])
	   clearTimeout(SS_tmr1);
   else
   {
      SS_zoom(SS_zoomLevel[SS_currentLevel-1]-1);

	  SS_tmr1 = setTimeout("SS_animateZoom("+SS_z+")", SS_speed/2);
   }
} 


function SS_buscatClick(SS_id)
{
   SS_centerAfterZoom=1;
   var SS_minX=-1;
   var SS_minY=-1;
   var SS_maxX=-1;
   var SS_maxY=-1;
   var SS_firstLevel=-1;
   var SS_newLeftPos;
   var SS_newTopPos;
   var SS_newZoom;
   var SS_difX;
   var SS_difY;


   // first determine the level.  Try current level first, otherwise select the first match
   for (j=0;j<SS_numDirItems;j++)
   {
      if (SS_dirFilter[j]==0)
        continue;
   
      if((SS_id>0 && SS_businessid[SS_dirHotspotLink[j]]==SS_id) ||
	     (SS_id<0 && SS_dirCategory[j]==(SS_id*-1)) ||
	      SS_id==-9999)
	  {
         if (SS_level[SS_dirHotspotLink[j]]==SS_currentLevel)
	        SS_firstLevel=SS_level[SS_dirHotspotLink[j]];
		 else if (SS_firstLevel==-1)
		    SS_firstLevel=SS_level[SS_dirHotspotLink[j]];
	  }
   }

   // now change the level if necessary.
   if (SS_currentLevel!=SS_firstLevel)
   {
      SS_ChangeLevel(SS_firstLevel);
   }

   for (j=0;j<SS_numHotspots;j++)
   {
      if (SS_busFilter[j]!=1) continue;

	  if (SS_selected[j]==1)
	  {
         if (document.getElementById("SS_H"+j)==null)
            continue;
         document.getElementById("SS_H"+j).style.display="none";
         SS_selected[j]=0;
      }
   }

   // now get the min, max coordinates and go ahead and set the hotspot on or off.
   // but don't make it visible quite yet as we may have to reposition the screen.
   for (j=0;j<SS_numDirItems;j++)
   {
	  if (document.getElementById("SS_H"+SS_dirHotspotLink[j])==null)
	     continue;
   
      if (SS_dirFilter[j]==0)
        continue;

//      document.getElementById("SS_H"+SS_dirHotspotLink[j]).style.width=0+"px";
//      document.getElementById("SS_H"+SS_dirHotspotLink[j]).style.height=0+"px";

      if(( (SS_id>0 && SS_businessid[SS_dirHotspotLink[j]]==SS_id) ||
	       (SS_id<0 && SS_dirCategory[j]==(SS_id*-1)) ||
	        SS_id==-9999 ) &&
		 (SS_level[SS_dirHotspotLink[j]]==SS_firstLevel))
	  {
	     if (SS_minX==-1 || SS_hotspotsX1[SS_dirHotspotLink[j]]<SS_minX)
		    SS_minX=SS_hotspotsX1[SS_dirHotspotLink[j]];
		 if (SS_minY==-1 || SS_hotspotsY1[SS_dirHotspotLink[j]]<SS_minY)
		    SS_minY=SS_hotspotsY1[SS_dirHotspotLink[j]];
		 if (SS_maxX==-1 || SS_hotspotsX2[SS_dirHotspotLink[j]]>SS_maxX)
		    SS_maxX=SS_hotspotsX2[SS_dirHotspotLink[j]];
		 if (SS_maxY==-1 || SS_hotspotsY2[SS_dirHotspotLink[j]]>SS_maxY)
		    SS_maxY=SS_hotspotsY2[SS_dirHotspotLink[j]];

		 SS_selected[SS_dirHotspotLink[j]]=1;
         document.getElementById("SS_H"+SS_dirHotspotLink[j]).style.display="block";
         document.getElementById("SS_H"+SS_dirHotspotLink[j]).src=SS_MatchGraphic;

	  }
   }

   // calculate the correct zoom level.  Start at the current and zoom out until all graphics will fit
   // on the screen.
   SS_newZoom=SS_zoomLevel[SS_currentLevel-1];
   SS_difX=(SS_maxX-SS_minX)*(SS_zoomLevelsX[SS_newZoom+SS_minZoom]/SS_zoomLevelsX[5]);
   while (SS_difX>SS_areaWidth)
   {
      SS_newZoom--;
	  SS_difX=(SS_maxX-SS_minX)*(SS_zoomLevelsX[SS_newZoom+SS_minZoom]/SS_zoomLevelsX[5]);
   }
   SS_difY=(SS_maxY-SS_minY)*(SS_zoomLevelsY[SS_newZoom+SS_minZoom]/SS_zoomLevelsY[5]);
   while (SS_difY>SS_areaHeight)
   {
      SS_newZoom--;
	  SS_difY=(SS_maxY-SS_minY)*(SS_zoomLevelsY[SS_newZoom+SS_minZoom]/SS_zoomLevelsY[5]);
   }

   // calculate the midpoint of all matching graphics.  This will be where we try and recenter the page to.
   var SS_midX = SS_difX/2+(SS_minX*(SS_zoomLevelsX[SS_newZoom+SS_minZoom]/SS_zoomLevelsX[5]));
   var SS_midY = SS_difY/2+(SS_minY*(SS_zoomLevelsY[SS_newZoom+SS_minZoom]/SS_zoomLevelsY[5]));


   // reposition map coordinates.  (Based on current zoom, assuming all points fit on map)
   SS_newLeftPos=(SS_areaWidth/2)-SS_midX;
   SS_newTopPos=(SS_areaHeight/2)-SS_midY;

   // reset the new top and left position to make sure you don't go off the map.
   if (SS_newLeftPos>0)
	  SS_newLeftPos=0;         
   var SS_max = (SS_areaWidth-(SS_zoomLevelsX[SS_newZoom+SS_minZoom]))
   if (SS_newLeftPos<SS_max)
      SS_newLeftPos=SS_max;
   if (SS_newTopPos>0)
      SS_newTopPos=0
   SS_max = (SS_areaHeight-(SS_zoomLevelsY[SS_newZoom+SS_minZoom]))
   if (SS_newTopPos<SS_max)
     SS_newTopPos=SS_max

   // now animate the changing of the zoom if necessary.  
//   animateZoom(newZoom);
   SS_zoomLevel[SS_currentLevel-1]=SS_newZoom;
   SS_zoom(SS_zoomLevel[SS_currentLevel-1]);

   // Place a animation here to get the map to the new location.
   if (SS_animateBusSelect==1)
      SS_animateMove(SS_newLeftPos,SS_newTopPos); 
   else
   {
       SS_leftPos[SS_currentLevel-1]=SS_newLeftPos;
       SS_topPos[SS_currentLevel-1]=SS_newTopPos;
       SS_resetTopLeft();
       SS_repositionMap(); 
    }

   // now time to reposition all the graphics and turn the good ones on.
   SS_repositionGraphics();  
}

function SS_FillCategories()
{
   if (document.SS_form1==null)
      return;
   
   var SS_cat = document.SS_form1.elements['SS_Categories'];
   
 
   SS_cat.options.length=0;

   var SS_opt = new Option("All SideTracks by category", -1);
   SS_cat.options[SS_cat.options.length] = SS_opt;
   SS_opt = new Option("All SideTracks alphabetically", -2);
   SS_cat.options[SS_cat.options.length] = SS_opt;
   
   for (j=0;j<SS_numCategories;j++)
   {
      if (SS_categoryFilter[j]==1)
      {
         var SS_opt = new Option(SS_categoryName[j], j);
         SS_cat.options[SS_cat.options.length] = SS_opt;
      }
   }
   
   SS_categoryClick(-1);
}

function SS_categoryClick(SS_category_item)
{
   SS_lastCat=-2;
   SS_lastBus=-1;

   // clear list
   if (SS_category_item!=SS_currentCategory)
   {
      SS_currentCategory=SS_category_item;
   
      var SS_bl = document.SS_form1.elements['SS_BusinessList'];
      SS_bl.options.length=0;
      
      if (SS_category_item==-2 || SS_category_item==-1)
      {
         var SS_opt = new Option("----Select all SideTracks----", -9999);
         SS_bl.options[SS_bl.options.length]=SS_opt;
      }
      
      
      for (j=0;j<SS_numDirItems;j++)
      {
         if (SS_dirFilter[j]==0)
            continue;
      
         if (SS_category_item==-2)
         {
            SS_found=false;
            for (k=j+1;k<SS_numDirItems;k++)
            {
               if (SS_businessid[SS_dirHotspotLink[j]]==SS_businessid[SS_dirHotspotLink[k]])
               {
                  SS_found=true;
                  break;
               }
            }
         
            if (!SS_found)
            {
               var SS_opt = new Option(SS_busname[SS_dirHotspotLink[j]], SS_businessid[SS_dirHotspotLink[j]]);
               SS_bl.options[SS_bl.options.length] = SS_opt;
            }
            
            SS_lastBus=SS_businessid[SS_dirHotspotLink[j]];
         }         
         else if (SS_category_item==-1 || SS_categoryID[SS_category_item]==SS_dirCategory[j])
         {
            if (SS_lastCat!=SS_dirCategory[j])
            {
               for (k=0;k<SS_numCategories;k++)
               {
                  if (SS_categoryID[k]==SS_dirCategory[j])
                  {
       	             var SS_opt = new Option("--"+SS_categoryName[k]+"--", (SS_categoryID[k]*-1));
        	         SS_bl.options[SS_bl.options.length]=SS_opt;
        	      }
        	   }
			}
                
            if (SS_lastBus!=SS_businessid[SS_dirHotspotLink[j]] || SS_lastCat!=SS_dirCategory[j])
            {
               var SS_opt = new Option(SS_busname[SS_dirHotspotLink[j]], SS_businessid[SS_dirHotspotLink[j]]);
               SS_bl.options[SS_bl.options.length] = SS_opt;
            }
            
            SS_lastCat=SS_dirCategory[j];
            SS_lastBus=SS_businessid[SS_dirHotspotLink[j]];
         }
      }
     // sort the list now.
     if (SS_category_item==-2)
     {
   for (j=0;j<SS_bl.options.length-1;j++)
      for (k=j+1;k<SS_bl.options.length;k++)
      {
	     if (SS_bl.options[j].text.toUpperCase()>SS_bl.options[k].text.toUpperCase())
	     {
	        var SS_temp=SS_bl.options[j].text;
	        var SS_temp2=SS_bl.options[j].value;
	        SS_bl.options[j].text=SS_bl.options[k].text;
	        SS_bl.options[j].value=SS_bl.options[k].value;
	        SS_bl.options[k].text=SS_temp;
	        SS_bl.options[k].value=SS_temp2;
	     }
      }
      }
   }
}


function SS_prepareNameOnly(SS_name_item)
{
   SS_str = "<table id=overlib border=0><tr><td class=overlib2 bgcolor=#141941><font color=#FFFFFF>"+SS_name_item+"</font></td></tr></table>";
   
   return SS_str;
}

function SS_prepareNamePlus(SS_name_item,SS_phone_item,SS_hours_item)
{
    SS_str = "<table id=overlib border=0><tr><td class=overlib2 bgcolor=#141941><font color=#FFFFFF>"+SS_name_item+"</font></td></tr><tr><td bgcolor=#ffffff class=overlib2><b>Phone:</b><br />"+SS_phone_item+"<br /><b>Hours:</b><br />"+SS_hours_item+"</td></tr></table>"    
    return SS_str;
}

function SS_prepareLogo(SS_logo_item)
{
    SS_str = "<table id=overlib border=0><tr><td class=overlib2 bgcolor=#141941><font color=#FFFFFF><img src="+SS_logo_item+"></font></td></tr></table>";

    return SS_str;
}

function SS_prepareThumbnail(SS_thumbnail_item)
{
    SS_str = "<table id=overlib border=0><tr><td class=overlib2 bgcolor=#141941><font color=#FFFFFF><img src="+SS_thumbnail_item+"></font></td></tr></table>";

    return SS_str;
}


