function buildActionBar(numCols){	// "numCols" should be 1 or 2
	var svUndo=null, svRedo=null;
	if ($('divUndo'))	svUndo=$('divUndo').className;
	if ($('divRedo')) svRedo=$('divRedo').className;//alert("Undo:"+svUndo+"\n"+"Redo:"+svRedo);
	var topNode=$("actionBar");
	while (topNode.childNodes.length>0){topNode.removeChild(topNode.firstChild);}
	var nodeArray=new Array(
		 new Array("$dummy")
		,new Array("$dummy")
//		,new Array("Reload","$('ctlReloadAnkr').blur();doMapOnLoad();")
		,new Array("Reload","$('ctlReload').blur();doMapOnLoad();")
		,new Array("Undo")
		,new Array("Redo")
		,new Array("Timer","timerBtnClkd();")
		,new Array("Reverse","reverseCourse();")
//		,new Array("SidebarHide","showSidebar(false);","Sidebar")
//		,new Array("SidebarShow","showSidebar(true);","Sidebar")
		,new Array("SidebarHide","setDivWidths(false);","Sidebar")
		,new Array("SidebarShow","setDivWidths(true);","Sidebar")
		,new Array("Help","newWindow=window.open('helpVideos.htm', 'Window1', 'height=500,width=500,left=200,top=200,resizable=yes,scrollbars=yes');if (window.focus) {newWindow.focus();}")
		,new Array("ExportKml","exportKML()","Export")
		,new Array("ShowProfile","buildDrawProfile()","Profile")
		,new Array("Blank","","\u00a0\u00a0\u00a0")	// per http://www.codingforums.com/archive/index.php/t-6252.html
		,new Array("$end")
								 );
	var actionBar, actionBarCol, halfArray, i, j;
	var nodeEntryDiv, nodeEntryText, nodeEntryAnkr, nodeEntryImg, nodeEntryCaption, nodeEntryDivider;
	var nodeWkName, nodeWkText, nodeWkAction;
	actionBar=$('actionBar');
	if (numCols==1)actionBar.style.width='45px';else actionBar.style.width='90px';
	if (initLoadDone)map.checkResize();
	for (i=0; i<numCols; i++){
		actionBarCol=document.createElement('div');
		actionBarCol.setAttribute('id','actionBar'+(i+1).toString());
		if (browser.isIE) actionBarCol.style.styleFloat='left';//actionBarCol.style.cssFloat='left';
		else actionBarCol.setAttribute('style','float:left');
		actionBarCol.style.width='45px';
		actionBar.appendChild(actionBarCol);
		halfArray=Math.round(((nodeArray.length)*i)/(i+1));
		for (j=0; j<Math.round((nodeArray.length)/numCols); j++){
			nodeWkName=nodeArray[j+halfArray][0];
			if (nodeWkName.substr(0,1)=="$"){
			}else{
				nodeWkAction=nodeArray[(j+halfArray)][1];
				nodeWkText=nodeArray[(j+halfArray)][2];
				nodeEntry=document.createElement('div');
				nodeEntry.setAttribute('id','div'+nodeWkName);
				if ((nodeWkName=="Undo")  ||  (nodeWkName=="Redo")) {
					nodeEntry.setAttribute('class','ctlDisabled');
				}
				nodeEntryImg=document.createElement('img');
				nodeEntryImg.setAttribute('src','/maps/ico/icon'+nodeWkName+'.png');
				nodeEntryImg.setAttribute('title',nodeWkName);
				nodeEntryImg.setAttribute('alt',nodeWkName);
				nodeEntryImg.setAttribute('width','32');
				nodeEntryImg.setAttribute('height','32');
				nodeEntryImg.style.border='0';
				nodeEntryImg.style.textDecoration='none';
				if (nodeWkAction){
					nodeEntryAnkr=document.createElement('a');
					nodeEntryAnkr.setAttribute('id','ctl'+nodeWkName);
					nodeEntryAnkr.setAttribute('class','controlIcon');
					nodeEntryAnkr.setAttribute('href','javascript:$("ctl'+nodeWkName+'").blur();'+nodeWkAction+';');
					nodeEntryAnkr.appendChild(nodeEntryImg);
					nodeEntry.appendChild(nodeEntryAnkr);
				}
				else {
					nodeEntry.appendChild(nodeEntryImg);
				}
				if (nodeWkText) nodeEntryText=document.createTextNode(nodeWkText);
				else nodeEntryText=document.createTextNode(nodeWkName);
				nodeEntryCaption=document.createElement('div');
				nodeEntryCaption.setAttribute('class','caption');
				nodeEntryCaption.appendChild(nodeEntryText);
				nodeEntry.appendChild(nodeEntryCaption);
				actionBarCol.appendChild(nodeEntry);
				if (nodeWkName != 'SidebarHide'){
					nodeEntryDivider=document.createElement('img');
					nodeEntryDivider.setAttribute('class','hr');
					nodeEntryDivider.setAttribute('src','/maps/ico/hr2.png');
					nodeEntryDivider.setAttribute('align','center');
					nodeEntryDivider.setAttribute('height','10');
					nodeEntryDivider.setAttribute('width','40');
					actionBarCol.appendChild(nodeEntryDivider);
				}
			}
		}
	}
	if (svUndo=='ctlEnabled') enableBtn('Undo');
	if (svRedo=='ctlEnabled') enableBtn('Redo');
} 