/* (c) Copyright 2003,2004 Meeting Maker, Inc. All Rights Reserved */

var MAXSELECT = 200;

function Bracket(i, subcmd)
{
    document.forms['theForm'].i.value = i;
    Submit(subcmd);
}

function Submit(subcmd)
{
    selectToList();

    var form = document.forms['theForm'];

    form.subcmd.value = subcmd;
    form.submit();
} 

function selectToList()
{
  var sel = document.forms['theForm'].selectedItems;

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

function selectToList2()
{
  var sel = document.forms['theForm'].selectedItems2;

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

var SOME = 0;
var ALL  = 1;

function previouslySelected(val)
{
  var sTo =  document.forms['theForm'].selectedItems.options;
  for (var i = 0; i < sTo.length; i++)
  {
    if (sTo[i].text == val)
    {
      return true;
    }
  }
  return false;
}

function selectFromList()
{
  var form  = document.forms['theForm'];
  var sFrom = form.availableItems.options;
  var sTo   = form.selectedItems .options;
  var toIndex = 0;
  for (var i=0; i<sFrom.length; i++)
  {
    if (sTo.length >= MAXSELECT)
    {
      warnMaxSelected();
      return;
    }

    if (sFrom[i].selected)
    {
      toIndex = sTo.length;
      sFrom[i].selected = false;
      if (previouslySelected(sFrom[i].text)) { continue; }
      sTo[toIndex] = new Option();
      sTo[toIndex].text  = sFrom[i].text;
      sTo[toIndex].value = sFrom[i].value;
    }
  } 
  if (sTo.length >= MAXSELECT) warnMaxSelected();
}

function deSelectToList(mode)
{
    var sTo = document.forms['theForm'].selectedItems.options;

    for (var i=(sTo.length-1); i>=0; i--)
    {
        if ((sTo[i].selected) || (mode == ALL))
        {
	    sTo[i] = null;
	}
    }
} 


function previouslySelected2(val)
{
    var sTo = document.forms['theForm'].selectedItems2.options;

    for (var i=0; i<sTo.length; i++)
    {
        if (sTo[i].value == val)
	{
	    return true;
	}
    }

    return false;
}

function selectFromList2()
{
  var sFrom = document.forms['theForm'].availableItems.options;
  var sTo =  document.forms['theForm'].selectedItems2.options;
  var toIndex = 0;
  for (var i = 0; i < sFrom.length; i++)
  {
    if (sTo.length >= MAXSELECT)
    {
      warnMaxSelected();
      return;
    }

    if (sFrom[i].selected)
    {
      toIndex = sTo.length;       
      sFrom[i].selected = false;
      if (previouslySelected(sFrom[i].value)) { continue; }
      sTo[toIndex]      = new Option();
      sTo[toIndex].text = sFrom[i].text;
      sTo[toIndex].value = sFrom[i].value;
    } 
  }
  if (sTo.length >= MAXSELECT) warnMaxSelected();
}

function deSelectToList2(mode)
{
    var sTo = document.forms['theForm'].selectedItems2.options;

    for (var i=(sTo.length-1); i>=0; i--)
    {
	if ((sTo[i].selected) || (mode == ALL))
        {
	    sTo[i] = null;
	}
    } 
} 



function warnMaxSelected()
{
  alert('The maximum number of\n items ('+MAXSELECT+') has been selected.\n');
}


function checkSelectionLimit()
{
  var form  = document.forms['theForm'];
  var sTo   = form.selectedItems .options;

  if ((sTo.options) && (sTo.options.length >= MAXSELECT)) warnMaxSelected();
}


function enterSearch(e) 
{ 
  // e is event object passed from function invocation
  var characterCode;  // literal character code will be stored in this variable

  if(e && e.which)
  { //if which property of event object is supported (NN4)
    characterCode = e.which; //character code is contained in NN4's which property
  }
  else
  {							
    characterCode = e.keyCode; //character code is contained in IE's keyCode property
  }
        	 
  if (characterCode == 13)
  { //if generated character code is equal to ascii 13 (if enter key)
    Submit("S10K_search");
  }
} 

