/*NO DOuBLE RELOAD
		cwc.js
			*myload-no windowResize()
		index
			setStateVar( $oApp, "fitMapWid");
			setStateVar( $oApp, "fitMapHgt");
			rid of wid/hg gabbij

			if( isset( $_POST["fitMapWid"]) && isset( $_POST["fitMapHgt"]))
				$oMap->setSize( $_POST["fitMapWid"], $_POST["fitMapHgt"]);

			add to HTml
			<script language="JavaScript" src="../IGIScommon/autoMapSize.js" type="text/javascript"></script>
			bot of myonload
				var aMapWidHgt = getNewMapFrameSize("content", "sidecapright", "foot");
				document.form_userpw.fitMapWid.value = aMapWidHgt[0];
				document.form_userpw.fitMapHgt.value = aMapWidHgt[1];
			form user_pw
			<input type=hidden name="fitMapWid" value="false">
			<input type=hidden name="fitMapHgt" value="false">

		.html
			not mapsize.js:
			<script language="JavaScript" src="../IGIScommon/autoMapSize.js" type="text/javascript"></script>

			<INPUT TYPE ="HIDDEN" NAME="fitMapWid" value="[$fitMapWid$]">
			<INPUT TYPE ="HIDDEN" NAME="fitMapHgt" value="[$fitMapHgt$]">

			<cwc2 type="MapDHTML" visible="true" width="[$fitMapWid$]" height="[$fitMapHgt$]" allowresize="true" marqueecolor="#ff3333" marqueewidth="2" />

			<iframe id="ifrCoverMap" name="ifrCoverMap" scrolling="auto" width="[$fitMapWid$]" height="[$fitMapHgt$]" frameborder="0" VSpace="0" src="../IGIScommon/printmap.php?blank=1"></iframe>
*/

addEvent( window, 'resize', windowResize, false);//triggers before applyMapSize is spewed (mapsize widj) on first load? getting "applyMapSize not defined line 43"

function windowResize()//called onresize event
//called by onload w/false (no-show) if cur size different from map: hides map on first pass
{
	if( typeof applyMapSize != "function" )//this gets called before applyMapSize on first load, or something
		return;

	var aMapWidHgt = getNewMapFrameSize("map", "sidecapright_mapsize", "foot");
	var newWidth = aMapWidHgt[0];
	var newHeight = aMapWidHgt[1];
	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;
}

//getNewMapFrameSize("content", "sidecapright", "foot");
/*function getNewMapFrameSize( mapdivid, rightdivid, footdivid)
{
	var mapdiv = document.getElementById( mapdivid);
	if(mapdiv==null) return
		new Array(-1,-1);//getting called from index via addevent...ignore...alert("getNewMapFrameSize mapdiv is null id="+mapdivid);//randomly...reload is ok wthfk

	var rightdiv = document.getElementById( rightdivid);
	if(rightdiv==null)
		return  new Array(-1,-1);// error_log("getNewMapFrameSize rightdiv is null id="+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);
}*/

//******************************************************************************************************************************************************************************************
//  BEN - David asked me to make all sites resize the map better - if this causes issues - revert to previous code commented out above and we'll try something different. - Demian 2/8/11
//******************************************************************************************************************************************************************************************
function getNewMapFrameSize(mapdivid, rightdivid,footdivid)
{
	var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
	var windowWidth = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;	
	var mapdiv = document.getElementById( mapdivid);
	/*if(mapdiv==null) return
		new Array(-1,-1);//getting called from index via addevent...ignore...alert("getNewMapFrameSize mapdiv is null id="+mapdivid);//randomly...reload is ok wthfk

	var rightdiv = document.getElementById( rightdivid);
	if(rightdiv==null)
		return  new Array(-1,-1);// error_log("getNewMapFrameSize rightdiv is null id="+rightdivid);*/

   var mapwid = windowWidth - 263 - 6;
   var maphgt = windowHeight - 128 - 32;

	//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;
}



