/*NO DOuBLE RELOAD
...has reloaded once when timeoutResize submits again--does it have to submit - can the first map be the right size??

OLD:
then
myLoad->windowResize->resizeMapComponents->nlwisResizeElement
		windowResize-timeoutResize-goServerMapRefresh-submitMapResize->
resize event-one gotevent, one myload

the rub: can't resize until elms created already
alternately--get size in login; have it make the map right in first place rather than resizing --> MapSize widget

*/

addEvent( window, 'resize', windowResize, false);

function windowResize()
//called by onload w/false (no-show) if cur size different from map: hides map on first pass
{

	var aMapWidHgt = getNewMapFrameSize("map", "sidecapright_mapsize", "foot");
	newWidth = aMapWidHgt[0];
	newHeight = aMapWidHgt[1];
//newWidth = getNewMapFrameWidth();
  // newHeight = getNewMapFrameHeight();
	applyMapSize( newWidth, newHeight);//mapsize widj: ->SET_MAP_WIDTH; submits
}

function getObjectPosX(obj)
{
    var curleft = 0;
    if (document.getElementById || document.all)
    {
        while (obj.offsetParent)
        {
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    else if (document.layers)
        curleft += obj.x;
    return curleft;
}


/* ==================================================================== */
/*  getObjectPosY(obj)                                        */
/*  returns the Y (top) position of an object                           */
/* ==================================================================== */
function getObjectPosY(obj)
{
    var curtop = 0;
    if (document.getElementById || document.all)
    {
        while (obj.offsetParent)
        {
            curtop += obj.offsetTop;
            obj = obj.offsetParent;
        }
    }
    else if (document.layers)
        curtop += obj.y;
    return curtop;
}

/////////////////////
function getNewMapFrameWidth()
{
	var mapdiv = document.getElementById("map");
	var rightdiv = document.getElementById("sidecapright_mapsize");
	if( mapdiv && rightdiv)
//		return( mapdiv.offsetWidth - rightdiv.offsetWidth);
        return( CWCDHTML_FindObjectPosX(rightdiv)-CWCDHTML_FindObjectPosX(mapdiv));
	else
		return false;

}

function getNewMapFrameHeight()
{
	var mapdiv = document.getElementById("map");
	var footdiv = document.getElementById("foot");
	if( mapdiv && footdiv)
//		return( footdiv.offsetTop- mapdiv.offsetTop);
		return( CWCDHTML_FindObjectPosY(footdiv) - CWCDHTML_FindObjectPosY(mapdiv));
	else
		return false;
}

//getNewMapFrameSize("content", "sidecapright", "foot");
function getNewMapFrameSize( mapdivid, rightdivid, footdivid)
{
	var mapdiv = document.getElementById( mapdivid);
	var rightdiv = document.getElementById( rightdivid);
   var mapwid = getObjectPosX(rightdiv)-getObjectPosX(mapdiv);//CWCDHTML_FindObjectPosX UNDEF!

	var footdiv = document.getElementById( footdivid);
	var maphgt = getObjectPosY(footdiv) - getObjectPosY(mapdiv);
//alert(wid+", "+hgt);
	return new Array(mapwid,maphgt);
}

function addEvent( elm, evType, fn, useCapture)
{
//cross-Browser event handing for IE5+, NS6+ and Mozilla/Gecko
//by Scott Andrew
//taken from DHTML Utopia - Sitepoint Books
	if (elm.addEventListener)
	{
	  elm.addEventListener(evType, fn, useCapture);
	  return true;
	}
	else if (elm.attachEvent)
	{
	  var r = elm.attachEvent('on' + evType, fn);
	  return r;
	}
	else
	{
	  elm['on' + evType] = fn;
	  return true;
	}
	return false;
}


