function getFields( list)
{
      var arr = new Array();
      var i, len=0;
      var ids = new Array();
      for( i=0, len=0; i < list.length; i++)
        if( list.options[i].selected)
        {
          id = list.options[i].value;
          arr[len++] = id;
      	}
      return arr;
}

function inArray( arr, value)
{
      for( var i=0; i < arr.length; i++)
        if( arr[ i]==value) return true;
      return false;
}

var allowAddOption = -1!=window.navigator.userAgent.indexOf( 'Opera/6') || -1!=window.navigator.userAgent.indexOf( 'Opera 6') ? false : true;

function addOption( list, indx, opt)
{
  if( list.options.add && allowAddOption) list.options.add( opt, indx);
  else
  {
    for( var i=list.options.length; i>indx; i=i-1)
    {
      if( i==list.options.length) list.options[list.options.length] = new Option();
      list.options[i].selected = list.options[i-1].selected;
      list.options[i].text = list.options[i-1].text;
      list.options[i].value = list.options[i-1].value;
    }
    list.options[ indx] = opt;
    list.options[ indx].selected = false;
  }
}

function removeOption( list, indx)
{
  if( list.options.remove) list.options.remove( indx);
  else list.options[ indx] = null;
}


function getItemTitle(id,list){
	for( i=0, j=0; i < list.length; i++){
       	if(list[i][0] == id) return list[i][1];
    }
}

function inList(list, value){
	for( i=0; i < list.length; i++)	if(list.options[i].value == value) return true;
    return false; 
}

function selectOptions( list, optionsArray)
{
	 for( i=0; i < list.length; i++)      
      {
      	list.options[i].selected = inArray(optionsArray, list.options[i].value);
      }
}

function getOptionByParent(parents, parentList){
	 p = new Array();
	 j = 0;	 
	 for(i=0; i < parentList.length; i++)
	 {
	 	for(l = 0; l< parents.length; l++)
	 	{
		 	if(parentList[i][0] == parents[l]) 
		 	{	 		
		 		for(k=0; k<parentList[i][1].length; k++)
		 		{
		 			p[j] = parentList[i][1][k];
		 			j++;
		 		}
		 	}
	 	}
	 }
	 return p;
}

function updateChildren2(list, origArray, origList){
	  var i, j;
      
      childStr = new Array();
      j = 0;
      for( i=0; i < origArray.length; i++)
      {
      		s = getItemTitle(origArray[i], origList);
      		if(!inArray( childStr, s)) 
      		{
      			childStr[j] = s;
      			j++;
      		}
      }           
      for( i=0; i < list.length; i++)
      {
        if( !inArray( childStr, list.options[i].value))
        {
          removeOption( list, i);
          i--;
        }
      }

      for( i=0, j=0; i < origList.length; i++)
      {
        if( inArray( origArray, origList[i][0]))
        {        	
        	
          if( (j==list.options.length || list.options[j].value!=origList[i][1]))
          {
          	if(!inList(list, origList[i][1])) addOption( list, j, new Option( origList[i][1], origList[i][1]));            
          	else j--;
          }
          j++;
        }
      }
}

function updateChildren(list, origArray, origList){
      var i, j;
      for( i=0; i < list.length; i++)
      {
        if( !inArray( origArray, list.options[i].value))
        {
          removeOption( list, i);
          i--;
        }
      }
      for( i=0, j=0; i < origList.length; i++)
      {
        if( inArray( origArray, origList[i][0]))
        {
          if( j==list.options.length || list.options[j].value!=origList[i][0])
          {
            addOption( list, j, new Option( origList[i][1], origList[i][0]));
          }
          j++;
        }
      }
}


function getProfBySectors(sectors){
 	return getOptionByParent(sectors, sectorList);
}

function selectProffesions( list, profs){
	selectOptions( list, profs);
}

function getProfTitle(id){
	return getItemTitle(id,profList);
}

function updateProfessions2( list, profs){
	  updateChildren2(list, profs, profList);
}

function updateProfessions( list, profs){
	  updateChildren(list, profs, profList);
}