// Copyright 2007 Holodyn Corporation

// Get Selected Value
// ----------------------------------------------------
function select_value( myID, selVal ){
  var mObj=document.getElementById(myID);
  if(!mObj)return;
  if(selVal){
    for(var i=0;i<mObj.options.length;i++){
      mObj.options[i].selected=false;
      if (mObj.options[i].value==selVal){
        mObj.options[i].selected=true;
        return true;
      }
    }
  } else {
    var mVal = mObj.options[mObj.selectedIndex].value;
    if( mVal ) return mVal;
    return mObj.options[mObj.selectedIndex].innerHTML;
  }
}

// Get Selected Value
// ----------------------------------------------------
function get_selected( myObj, getInner ){
  if(typeof myObj == 'string')
    myObj = document.getElementById(myObj);
  if(typeof myObj != 'object')
    return;
  if( getInner )
    return myObj.options[ myObj.selectedIndex ].innerHTML;
  else
    return myObj.options[ myObj.selectedIndex ].value;
}

// Get Selected Value List
// ----------------------------------------------------
function select_value_list( myID ){
  var mObj = document.getElementById( myID );
  var mVal; var found;
  for( var i=0; i < mObj.options.length; i++ )
    if( mObj.options[i].selected ){
      if( found ) mVal += ',';
      mVal += mObj.value;
      found++;
    }
}

// Delete Item(s) from Select List
// ----------------------------------------------------
function select_del( myID ){
  var mObj = document.getElementById( myID );
  for( var i=0; i < mObj.options.length; i++ )
    if( mObj.options[i].selected ){
      mObj.remove( i );
      i--;
    }
}

// Copy Selected Items to Select List
// ----------------------------------------------------
function select_add( fromID, destID ){
  var fObj = document.getElementById( fromID );
  var dObj = document.getElementById( destID );
  for( var i=0; i < fObj.options.length; i++ )
    if( fObj.options[i].selected && (fObj.options[i].value != '') )
      dObj.options[dObj.options.length] = new Option(fObj.options[i].text,fObj.options[i].value);
  select_sort( destID );
}

// Sort Items in Select List - Remove Duplicates
// ----------------------------------------------------
function select_sort( myID ){
  var list = Array();
  var mObj = document.getElementById( myID );
  for( var i=0; i < mObj.options.length; i++ )
    list[i] = mObj.options[i].text + ':|:' + mObj.options[i].value;
  for( var i=0; i < list.length; i++ )
    mObj.remove(0);
  list.sort();
  var last, count = 0;
  for( var i=0; i < list.length; i++ ){
    if( (list[i] != '') && (list[i] != last) ){
      text = list[i].replace( /\:\|\:.*$/, '' );
      value = list[i].replace( /^.*\:\|\:/, '' );
      mObj.options[count++] = new Option(text,value);
    }
    last = list[i];
  }
}