Event.observe(window, 'load', function() { 
    Event.observe($('staff_search'), 'focus', function() {
        if ($F('staff_search') == 'search staff') {
            $('staff_search').value = '';
        }
    })
    
    new Ajax.Autocompleter('staff_search', 'staffChoices', '/about_us/staff/lookup.html', { 
        method: 'get', 
        parameters: 'fa=ajax_staff_search', 
        callback: function(editor, paramText) { 
            return paramText + '&q=' + $F('staff_search');
        },
        onShow: function(element, update){ 
          if(!update.style.position || update.style.position=='absolute') {
            update.style.position = 'absolute';
            Position.clone(element, update, {
              setHeight: false,
              setWidth: false,
              offsetTop: element.offsetHeight
            });
          }
          Effect.Appear(update,{duration:0.15});
        },
        afterUpdateElement: function(field, elt) {
            console.log("Selected: " + field.value + " ID: " + elt.id);
            if (elt) {
               m = elt.id.match(/staff_member_(\d+)/);
               if (m.length > 1) {
                   url = "/about_us/staff/" + m[1] + "/" + escape(field.value.replace(" ", "_")) + '.html';
                   window.location.href = url;
               }
            }
        }
    }); 
});

function staffPickerFocus(e) {
    var match = /staff_row_(\d+)/.exec(e.target.id);
    if (match && match[1]) {
        $$('div[id^="staff_row_"]').each(function(elt) {
            $(elt).removeClassName('profileOn');
            $(elt).addClassName('profileOff');
        });
    
        $(e.target).removeClassName('profileOff');
        $(e.target).addClassName('profileOn');
        $('staff_mugshot').src = StaffImg[match[1] - 1].src;
    }
}

function moveTo(container, element){
  Position.prepare();
  container_y = Position.cumulativeOffset($(container))[1]
  element_y = Position.cumulativeOffset($(element))[1]
  new Effect.ScrollTo(container, {x:0, y:(element_y-container_y)});
  return false;
}


function moveStaffChoiceUp() {
    var curr = $$('div[id^="staff_row_"][class="profileOn"]');
    if (curr) {
        curr = curr[0];
    }
    
    var match = /staff_row_(\d+)/.exec(curr.id);
    if (curr.id != 'staff_row_1') {
        var hidden_elt = false;
        $$('div[id^="staff_row_"]').each(function(elt) {
            if (!hidden_elt && elt.style.display=='none') {
                hidden_elt = elt;
            }
            $(elt).removeClassName('profileOn');
            $(elt).addClassName('profileOff');
        });
    
        $('staff_row_' + (parseInt(match[1]) - 1)).removeClassName('profileOff');
        $('staff_row_' + (parseInt(match[1]) - 1)).addClassName('profileOn');
        $('staff_mugshot').src = StaffImg[match[1] - 2].src;
        
        if ($('staff_row_' + (parseInt(match[1]) - 1)).style.display=='none') {
            show_id = parseInt(match[1]) - 1;
            hide_id = parseInt(match[1]) + 3;
            $('staff_row_' + hide_id).hide();
            $('staff_row_' + show_id).show();
        }
    }
}

function moveStaffChoiceDown() {
    var curr = $$('div[id^="staff_row_"][class="profileOn"]');
    if (curr) {
        curr = curr[0];
    }
    
    var match = /staff_row_(\d+)/.exec(curr.id);
    if (curr.id != 'staff_row_' + ($$('div[id^="staff_row_"]').length)) {
        $$('div[id^="staff_row_"]').each(function(elt) {
            $(elt).removeClassName('profileOn');
            $(elt).addClassName('profileOff');
        });
        
        $('staff_row_' + (parseInt(match[1]) + 1)).removeClassName('profileOff');
        $('staff_row_' + (parseInt(match[1]) + 1)).addClassName('profileOn');
        $('staff_mugshot').src = StaffImg[match[1]].src;
        
        if (match[1] >= 4) {
            hide_id = parseInt(match[1]) - 3;
            show_id = parseInt(match[1]) + 1;
            $('staff_row_' + hide_id).hide();
            $('staff_row_' + show_id).show();
        }
    }
}