function clearAll(fromCtrl)
{
	var i;
	var len = fromCtrl.options.length;
		for(i = 0; i < len; i++)
                fromCtrl.options[fromCtrl.options.length - 1] = null;

}

function insertItem(toCtrl,value,name)
{
	nextitem = toCtrl.options.length;
	toCtrl.options[nextitem] = new Option(name);
	toCtrl.options[nextitem].value = value;
}

function selectAll(fromCtrl)
{
	var i;

	for(i = 0; i < fromCtrl.options.length; i++)
	{
		fromCtrl.options[i].selected = true;
	}
}

function selectItem(fromCtrl, id)
{
/*	var i;
	for (i = 0; i < fromCtrl.options.length; i++) {
		if(fromCtrl.options[i].value == id) {
			fromCtrl.options[i].selected = true;
			break;
		}
	}
*/
  if (id == 2) { 
    document.forms['zoom'].zoom.options.length = 0;
    option0 = new Option("Large",3);
    option1 = new Option("Medium",2,false,true);
    option2 = new Option("Small",1);
    document.forms['zoom'].zoom.options[0] = option0;
    document.forms['zoom'].zoom.options[1] = option1;
    document.forms['zoom'].zoom.options[2] = option2;
    return;
  } else {
    option0 = new Option("Large",3);
    option1 = new Option("Medium",2);
    option2 = new Option("Small",1,false,true);
    document.forms['zoom'].zoom.options[0] = option0;
    document.forms['zoom'].zoom.options[1] = option1;
    document.forms['zoom'].zoom.options[2] = option2;
    return;    
  }
}

function selectItemExists(fromCtrl, id)
{
	var i;
	
	for (i = 0; i < fromCtrl.options.length; i++)
	{
		if(fromCtrl.options[i].value == id)
		{
			return true;
			break;
		}
	}

	return false;
}

function sortSelect(fromCtrl)
{
	var o = new Array();
	if (fromCtrl == null || fromCtrl.options == null) { return; }
	for (var i=0; i<fromCtrl.options.length; i++)
	{
		o[o.length] = new Option( fromCtrl.options[i].text, fromCtrl.options[i].value, fromCtrl.options[i].defaultSelected, fromCtrl.options[i].selected) ;
	}
	if (o.length==0) { return; }
	o = o.sort( 
		function(a,b)
		{
			if ((a.text+"") < (b.text+"")) { return -1; }
			if ((a.text+"") > (b.text+"")) { return 1; }
			return 0;
		} 
		);

	for (var i=0; i<o.length; i++)
	{
		fromCtrl.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}


function addItems(fromCtrl, toCtrl, pretag, preval, donotallow)
{

	var i;
	var j;
	var itemexists;
	var nextitem;

if(typeof(pretag) == 'undefined') pretag = '';
if(typeof(preval) == 'undefined') preval = '';

	// step through all items in fromCtrl
	for (i = 0; i < fromCtrl.options.length; i++)
	{
		if (fromCtrl.options[i].selected)
		{
			// search toCtrl to see if duplicate
			j = 0;
			itemexists = false;
			while ((j < toCtrl.options.length) && (!(itemexists)))
			{ 
				if (toCtrl.options[j].value == ((typeof(preval) != 'undefined')?(preval + fromCtrl.options[i].value):fromCtrl.options[i].value))
				{
					itemexists = true;
					//alert(fromCtrl.options[i].value + " found!");
				}
				j++;
			}
			if(typeof(donotallow) != 'undefined')
			{
			 if(typeof(donotallow) == 'object')
			 {
				var k;
				for(k=0; k < donotallow.length; k++)
				{
				 if(fromCtrl.options[i].value == donotallow[k]) itemexists = true;
				}
			 }
			 else if(fromCtrl.options[i].value == donotallow) itemexists = true;
			}

			if (!(itemexists))
			{
				// add the item
				nextitem = toCtrl.options.length;
				toCtrl.options[nextitem] = new Option(pretag + fromCtrl.options[i].text);
				toCtrl.options[nextitem].value = preval + fromCtrl.options[i].value;
			}
		}
	}

}

function removeItem(fromCtrl, id)
{
	var i = 0;
	var j;
	var k = 0;

	while (i < (fromCtrl.options.length - k))
	{
		if (fromCtrl.options[i].value == id)
		{
			// remove the item
			for (j = i; j < (fromCtrl.options.length - 1); j++)
			{
				fromCtrl.options[j].text = fromCtrl.options[j+1].text;
				fromCtrl.options[j].value = fromCtrl.options[j+1].value;
				fromCtrl.options[j].selected = fromCtrl.options[j+1].selected;
			}
			k++;
		} else {
			i++;
		}
	}

	for (i = 0; i < k; i++)
	{
		fromCtrl.options[fromCtrl.options.length - 1] = null;
	}
	
}

function removeItems(fromCtrl)
{

	var i = 0;
	var j;
	var k = 0;

	while (i < (fromCtrl.options.length - k))
	{
		if (fromCtrl.options[i].selected == true)
		{
			// remove the item
			for (j = i; j < (fromCtrl.options.length - 1); j++)
			{
				fromCtrl.options[j].text = fromCtrl.options[j+1].text;
				fromCtrl.options[j].value = fromCtrl.options[j+1].value;
				fromCtrl.options[j].selected = fromCtrl.options[j+1].selected;
			}
			k++;
		} else {
			i++;
		}
	}

	for (i = 0; i < k; i++)
	{
		fromCtrl.options[fromCtrl.options.length - 1] = null;
	}

}

