function drawMyMenus() {

var i,j,k;

with(milonic=new menuname("")){
	style=mainMenuStyle;
	top=155;
	left=200;
	alwaysvisible=1;
	orientation="vertical";
	position="relative";
	aI("text=Add Preserve;showmenu=A;onfunction=setM('A');status= ;");
	aI("text=Remove Preserve;showmenu=R;onfunction=setM('R');status= ;");
}

drawMenus();

}

function buildSubMenus() {

	with(milonic=new menuname("A")){
	overflow="scroll";
	style=subMenuStyle;
	aI("text=All Preserves;url=javascript:addAll();status= ;");
	for (i=0; i<aPMenu.length; i++) {
		aI("text="+aPMenu[i][0]+";showmenu=P"+i+";status= ;");
	}
}

with(milonic=new menuname("R")){
	overflow="scroll";
	style=subMenuStyle;
	aI("text=All Preserves;url=javascript:remAll();status= ;");
	for (i=0; i<aPMenu.length; i++) {
		aI("text="+aPMenu[i][0]+";showmenu=P"+i+";status= ;");
	}
}

for (i=0; i<aPMenu.length; i++) {
	with(milonic=new menuname("P"+i)){
		overflow="scroll";
		style=subMenuStyle;
		for (j=0; j<aPMenu[i][1].length; j++) {
			aI("text="+aPMenu[i][1][j][0]+";showmenu=P"+i+"_"+j+";url=javascript:arG("+i+","+j+");status= ;");
		}
	}
}

for (i=0; i<aPMenu.length; i++) {
	for (j=0; j<aPMenu[i][1].length; j++) {
		with(milonic=new menuname("P"+i+"_"+j)){
			overflow="scroll";
			style=subMenuStyle;
			for (k=0; k<aPMenu[i][1][j][1].length; k++) {
				aI("text="+aFilteredPreserveNames[searchArray(aFilteredPreserveAbbrevs, aPMenu[i][1][j][1][k])]+";url=javascript:arP("+i+","+j+","+k+");status= ;");
			}
		}
	}
}

}

function arP(i,j,k) {
(sMenuContext == "A" ? addP(i,j,k) : remP(i,j,k));
}

function arG(i,j) {
(sMenuContext == "A" ? addGroup(i,j) : remGroup(i,j));
}

function addP(i,j,k) {

var ii,jj;
var o = document.MainForm.Preserves;
var a = new Array();
var sAbbrev = aPMenu[i][1][j][1][k];
var sName = aFilteredPreserveNames[searchArray(aFilteredPreserveAbbrevs, sAbbrev)]

popdown();
for (ii=0; ii<o.length; ii++) {
	if (sName == o.options[ii].text) {
		popdown();
		return;
	}
	if (sName < o.options[ii].text) {
		for (jj=0; ii<o.length; ii++, jj++) {
			a[jj] = new Array(o.options[ii].text, o.options[ii].value);
		}
		o.length -= a.length;
		break;
	}
}
o.options[o.length] = new Option(sName, sAbbrev);
o.options[o.length - 1].selected = true;
for (ii=0; ii<a.length; ii++) {
	o.options[o.length] = new Option(a[ii][0], a[ii][1]);
	o.options[o.length - 1].selected = true;
}
gmobj("selectedPreserve").innerHTML = o.length;
}

function addGroup(i,j) {

var k;

for (k=0; k<aPMenu[i][1][j][1].length; k++) {
	addP(i,j,k);
}
}

function remP(i,j,k) {

var ii;
var o = document.MainForm.Preserves;
var sAbbrev = aPMenu[i][1][j][1][k];
var sName = aFilteredPreserveNames[searchArray(aFilteredPreserveAbbrevs, sAbbrev)]

popdown();
for (ii=0; ii<o.length; ii++) {
	if (sName == o.options[ii].text) {
		o.options[ii] = null;
		gmobj("selectedPreserve").innerHTML = o.length;
		break;
	}
	if (sName < o.options[ii].text) break;
}
if (o.length > 0) o.options[0].selected = true;
}

function remGroup(i,j) {

var k;

for (k=0; k<aPMenu[i][1][j][1].length; k++) {
	remP(i,j,k);
}
}
function addAll() {

var i, o = document.MainForm.Preserves;

popdown();
o.length = 0;
for (i=0; i<aFilteredPreserveNames.length; i++) {
	o.options[o.length] = new Option(aFilteredPreserveNames[i], aFilteredPreserveAbbrevs[i]);
	o.options[o.length - 1].selected = true;
	deleteItem(aFilteredPreserveNames[i]);
}
gmobj("selectedPreserve").innerHTML = o.length;
}

function remAll() {

var o = document.MainForm.Preserves;

popdown();
o.length = 0;
gmobj("selectedPreserve").innerHTML = o.length;
}

function deleteItem(sName) {
return;
var i, j, k, m;

for (i=0; i<aPMenu.length; i++) {
	for (j=0; j<aPMenu[i][1].length; j++) {
		m=getMenuByName("A"+i+"_"+j);
		for (k=0; k<_m[m][0].length; k++) {
			if (_mi[_m[m][0][k]][1] == sName) {
				//mm_editItem("A"+i+"_"+j, k,"offcolor=#ffffff");
			}
		}
	}
}
}

function setM(s) {
sMenuContext=s;
}