addEvent( document, 'load', dropDownLoader );
addEvent( window, 'load', dropDownLoader );

var initDropDown = false;

function  dropDownLoader()
{

   if ( initDropDown ) { return }
   initDropDown = true;

   addEvent( document.getElementById('sectorSelector'), 'change', createSubSector );

   createSubSector( document.getElementById('sectorSelector') );

}

function createSubSector(e)
{
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    else targ = e;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;

    var change = document.getElementById('subSubSectorSelector');

    clean(change);

    // If first option selected then on any.
    // Setsub sub sector list to default
    if ( targ.selectedIndex == 0 )
    {
        change.options[0] = new Option ( 'Any','' );	
        for ( var i = 0; i < generalsubs.length; i++ )
        {
           change.options[change.length] = new Option ( generalsubs[i] );
        }
        return;
    }

    var selected = targ.options[targ.selectedIndex].value.split('--');

    // Selected 0 is the first bit, IE the sector. If not equal to coreSector (set by ssi)
    // Then change this to no Specific Skills message
    if ( ( coreSector && selected[0] != coreSector )
	 || subsubsectors[selected[0]][selected[1]].length == 1 )
    {
       change.options[0] = new Option ( 'No Specific Skills available', '');
       return;
    }

    change.options[0] = new Option ( 'Any','' );

    if ( ! subsubsectors[selected[0]][selected[1]] ) { return }
 
    var selected_value = 0;
    for ( var i = 0; i < subsubsectors[selected[0]][selected[1]].length; i++ )
    {
      if ( current_sub_sub_sector != null )
      {
  	  if ( current_sub_sub_sector == subsubsectors[selected[0]][selected[1]][i] ) { selected_value = change.length; }
	}
      change.options[change.length] = new Option ( subsubsectors[selected[0]][selected[1]][i] );
      

    }

    change.selectedIndex = selected_value;

    return;
}
