var exCico = 0;

function clickHandler(evt) 
{
    if ( ! document.getElementById )
    {
        // an older browser. We let this fall through, which means it is treated as a normal click. 
        return true;
    }
    var infoBox = document.getElementById('popupdata');

    evt = (evt) ? evt : ((event) ? event : null );          
    if ( evt ) { 
        var elem = ( evt.target ) ? evt.target : evt.srcElement;
        if ( elem.nodeName == 'AREA' ) 
        {
            if ( infoBox  ) 
            {
                // turn on IE mouse capture
                if (infoBox.setCapture) {
                    //infoBox.setCapture();
                }
                // position menu at mouse event location
                var left, top;
                if (evt.pageX) 
                {
                    left = evt.pageX;
                    top = evt.pageY;
                } 
                else if (evt.offsetX || evt.offsetY) 
                {
                    left = evt.offsetX;
                    top = evt.offsetY;
                } 
                else if (evt.clientX) 
                {
                    left = evt.clientX;
                    top = evt.clientY;
                }
                
                if( infoBox.setCapture) 
                {
                    left = evt.clientX;
                    top  = evt.clientY; 
                }
                
                loadPopup(elem, infoBox);
                
                if ( top > 300 ) top = top - 240;
                infoBox.style.left = left + "px";
                infoBox.style.top = top + "px";
                
                infoBox.style.display = 'block';
                
                evt.returnValue = true;
                
            }
            else 
            {
                //alert('right place; wrong reference');
				evt.returnValue = true;
				return true;
            }
            // stop the default behavior 
            window.onclick = function(){ return  false };
           	return false;
        }
        else 
        {
            if ( infoBox ) 
            {
                infoBox.style.display = 'none';
            }
            
            // allow the default behavior 
            window.onclick =  function() { return true };
            evt.returnValue = true;
            return true;
        }
    }
    return true;
}

function mapPopup(evt, id )
{
    alert(evt.clientX);
}
function loadPopup(oArea, oTarget) 
{
    var url = '/cgi-bin/county/displaycounty.cgi';
    var cico = oArea.getAttribute('id');
    
    if( exCico == cico ) return true;
    
    if ( cico ) 
    {   
        AjaxRequest.post( 
            { 'url':url,
              'cico': cico,
              'onSuccess':function( req ){ oTarget.innerHTML = req.responseText } ,
              'onError':function(req){ alert('error\n' + req.statusText + '\n' + req.responseText); }
            }
	   ); 
	   // Keep track of the current cico that we are in. Keeps us from reloading a page we already have.
	   exCico = cico;
    }
    else 
    {
      oTarget.innerHTML = '<p>Not a valid ID reference ' + cico + '.</p>';
    }
    
    
    return;
}
