// Select Utilities
//---------------------------------------------------------------
function clearSelect(sel)
{
  var counter,opts;

  if(sel!=null)
  {
    if(sel.options!=null)
    {
      opts=sel.options
      for(counter=opts.length-1;counter>-1;counter--)
      {
        //opts[counter].text='';
        //opts[counter].value='';
        opts[counter]=null;
      }
    }
  }
}

function loadSelect(sel,arrayStructure,includeSelectMessage,extraText,extraValue)
{
  var initIdx=0,counter,opts;
  
  clearSelect(sel);

  opts=sel.options

  if(includeSelectMessage)
  {
    opts[initIdx]=new Option('-- Select One --','-1');
    //opts[initIdx].text="-- Select One --";
    //opts[initIdx].value='-1';
    initIdx++;
  }
  
  if(extraText!=null && extraValue!=null)
  {
    opts[initIdx]=new Option(extraText,extraValue);
    //opts[initIdx].text="-- Select One --";
    //opts[initIdx].value='-1';
    initIdx++;
  }
  
  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
  {
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
      opts[initIdx]=new Option(arrayStructure.texts[counter],arrayStructure.values[counter]);
      //opts[counter+initIdx].text=arrayStructure.texts[counter];
      //opts[counter+initIdx].value=arrayStructure.values[counter];
      initIdx++;
    }
    //else
    //  initIdx--;
  }
}
function loadSelectSearch(sel, arrayStructure, extraText)
{
  var initIdx=0, counter, opts;

  clearSelect(sel);

  opts = sel.options;
  //initIdx++;

  if(extraText!=null)
  {
    opts[initIdx]=new Option(extraText,-1);
    initIdx++;
  }

  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
      opts[initIdx]=new Option(arrayStructure.texts[counter],arrayStructure.values[counter]);
      initIdx++;
    }
}


function loadSelectSearchSelected(sel, arrayStructure, extraText, value)
{
  var initIdx=0, counter, opts;

  clearSelect(sel);

  opts = sel.options;
  //initIdx++;

  if(extraText!=null)
  {
    opts[initIdx]=new Option(extraText,-1);
    initIdx++;
  }

  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
      opts[initIdx]=new Option(arrayStructure.texts[counter],arrayStructure.values[counter]);
      if (arrayStructure.values[counter] == value) opts[initIdx].selected = true;
      initIdx++;
    }
}

function loadSelectJob(sel, arrayStructure, arrayStructure2, extraText)
{
  var initIdx=0, counter, opts;

  clearSelect(sel);

  opts = sel.options;
  //initIdx++;

  if(extraText!=null)
  {
    opts[initIdx]=new Option(extraText,-1);
    initIdx++;
  }

  var oGroup = null;
  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
      if (arrayStructure2.texts[counter] == '0') {
        if (oGroup != null)
            sel.appendChild(oGroup);
        oGroup = document.createElement('optgroup');
        oGroup.label = arrayStructure.texts[counter];
      }
      else {
        var oOption = document.createElement('option');
        var value = "";
        for (i = 0; i < arrayStructure.values[counter].toString().length; i++)
            if (arrayStructure.values[counter][i] >= '0' && arrayStructure.values[counter][i] <= '9')
               value += arrayStructure.values[counter][i];
        oOption.value = arrayStructure.values[counter];
        oOption.innerHTML = arrayStructure.texts[counter];

        if (oGroup == null)
           sel.appendChild(oOption);
        else {
           oGroup.appendChild(oOption);
        }

      }
      initIdx++;
    }
  if (oGroup != null)
      sel.appendChild(oGroup);
}


function loadSelectSearchCountry(sel,arrayStructure, extraText,extraValue)
{
  var initIdx=0,counter,opts;

  clearSelect(sel);

  opts=sel.options

  if(extraText!=null && extraValue!=null)
  {
    opts[initIdx]=new Option(extraText,extraValue);
    //opts[initIdx].text="-- Select One --";
    //opts[initIdx].value='-1';
    initIdx++;
  }

  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
  {
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
      opts[initIdx]=new Option(arrayStructure.texts[counter],arrayStructure.values[counter]);
      opts[initIdx].selected = true;
      //opts[counter+initIdx].text=arrayStructure.texts[counter];
      //opts[counter+initIdx].value=arrayStructure.values[counter];
      initIdx++;
    }
    //else
    //  initIdx--;
  }
}

function loadSelectSearchCountryWithAll(sel,arrayStructure)
{
  var initIdx=0,counter,opts;

  clearSelect(sel);

  opts=sel.options

  opts[initIdx]=new Option("all","-1");
  initIdx++;

  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
  {
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
      opts[initIdx]=new Option(arrayStructure.texts[counter],arrayStructure.values[counter]);
      opts[initIdx].selected = true;
      //opts[counter+initIdx].text=arrayStructure.texts[counter];
      //opts[counter+initIdx].value=arrayStructure.values[counter];
      initIdx++;
    }
    //else
    //  initIdx--;
  }
}


function loadSelectSearchState(sel,arrayStructure, extraValue)
{
  var initIdx=0,counter,opts;

  clearSelect(sel);

  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
  {
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
        var val = "";
        for (i = 0; i < arrayStructure.values[counter].length; i++) {
            if (arrayStructure.values[counter].charAt(i) >= '0' && arrayStructure.values[counter].charAt(i) <= '9') {
               val += arrayStructure.values[counter].charAt(i);
            }
        }
      var oOption = document.createElement('option');
        oOption.value = val;
        if (val == extraValue) oOption.selected = true;
        oOption.innerHTML = arrayStructure.texts[counter];
        sel.appendChild(oOption);
    }
    //else
    //  initIdx--;
  }
}

//---------------------------------------------------------------
// Select Utilities

function loadSelectSearchStateWithAll(sel,arrayStructure)
{
   loadSelectSearchStateWithAllEx("all", sel,arrayStructure)
}

function loadSelectSearchStateWithAllEx(allLable, sel,arrayStructure)
{
  var initIdx=0,counter,opts;

  clearSelect(sel);

      var oOption = document.createElement('option');
        oOption.value = "-1";
        oOption.innerHTML = allLable;
        sel.appendChild(oOption);

  for(counter=0;counter<arrayStructure.arrayLengths;counter++)
  {
    if(arrayStructure.texts[counter]!='Undefined' &&  arrayStructure.texts[counter]!='undefined' && arrayStructure.texts[counter]!=null)
    {
        var val = "";
        for (i = 0; i < arrayStructure.values[counter].length; i++) {
            if (arrayStructure.values[counter].charAt(i) >= '0' && arrayStructure.values[counter].charAt(i) <= '9') {
               val += arrayStructure.values[counter].charAt(i);
            }
        }
      var oOption = document.createElement('option');
        oOption.value = val;
        oOption.innerHTML = arrayStructure.texts[counter];
        sel.appendChild(oOption);
    }
    //else
    //  initIdx--;
  }
}