var specified_staff_number = 0;
var required_staff_number = 0;
var staff_old_selected_index = 0; 
var staff_selection_row = ''
//var member_types_number_selected_value = 0
//var member_types_type_selected_value = -1

function blind_absolute_time(abso_obj,free_obj)
{
    if (!$(abso_obj).hasClassName('show'))
    {
        new Effect.BlindDown($(abso_obj));
        $(abso_obj).addClassName('show').removeClassName('hide');
         new Effect.BlindUp($(free_obj));
        $(free_obj).addClassName('hide').removeClassName('show');
        flip_ui_tips();
    }
    
   
}

function blind_freeform_time(free_obj,abso_obj)
{    if (!$(free_obj).hasClassName('show'))
    {
        new Effect.BlindDown($(free_obj));
        $(free_obj).addClassName('show').removeClassName('hide');
         new Effect.BlindUp($(abso_obj));
        $(abso_obj).addClassName('hide').removeClassName('show');
        flip_ui_tips();
    }
}

function flip_ui_tips()
{
    var right = $$('[class="arrow_right"]')[0];
    var down = $$('[class="arrow_down"]')[0];
    var tip_vis = $$('[class="inline_help visible"]')[0];
    var tip_hid = $$('[class="inline_help hidden"]')[0];
    right.removeClassName('arrow_right').addClassName('arrow_down');
    down.removeClassName('arrow_down').addClassName('arrow_right');
    tip_vis.removeClassName('visible').addClassName('hidden');
    tip_hid.removeClassName('hidden').addClassName('visible');
}

function remove_staff_member(element)
{
    $(element).up('span').remove(); 
    if(specified_staff_number-- == required_staff_number)
        $('add').show();
    return false;
}

function increase_counter()
{
    specified_staff_number++;
    //disable the add link if the number of selectboxes reaches the required staff number for this activity
    if(specified_staff_number >= required_staff_number)
        $('add').hide();
}

function save_staff_old_value(element)
{
    staff_old_selected_index = element.selectedIndex;
}

function add_remove_staff(element)
{
    if(staff_old_selected_index == 0)
    {
        if(element.selectedIndex != 0)
          specified_staff_number++;
          if(required_staff_number > specified_staff_number)
            insert_staff_selection_row();  
    }else{
         if(element.selectedIndex == 0) {
            if(required_staff_number > specified_staff_number &&  specified_staff_number > 0){
                $(element).up('span').remove(); 
                
                var selects = $('staff_bottom').up('div').select('select');
                if(selects.length == 1){
                   selects.last().up('span').replace(staff_selection_row);
                }
            }
            specified_staff_number--
         }
    }
}

function insert_staff_selection_row()
{
    //collect the members selected so far
    var selectedMembers = [] ;
    var selectBoxes = $('staff_bottom').up('div').select('select');
    for (var i = 0; i < selectBoxes.length; i++ ){  selectedMembers.push(selectBoxes[i].options[selectBoxes[i].selectedIndex].value)  }
        
    try {
      Element.insert("staff_bottom", { before: staff_selection_row});
      //remove the already selected members
      insertedSelect = $('staff_bottom').up('div').select('select').last();
      for (i =  insertedSelect.options.length - 1; i >= 0; i--){
          if(selectedMembers.indexOf(insertedSelect.options[i].value) >= 0){
              insertedSelect.remove(i);    
          }              
      }
      if(insertedSelect.options.length < 2)
        insertedSelect.up('span').remove();
      
    } catch (e) { alert(e.toString()); }
    
}


function save_member_type_old_value(element)
{
    selects = Element.up(element, 'div').select('select');
    member_types_number_selected_value = getSelectedValue(selects[0])
    member_types_type_selected_value = getSelectedValue(selects[1]) 
}

function add_remove_party_groups(element)
{

    rows_left = count_empty_party_rows();
    if(rows_left == 0){
        try {
            $('member_types_table').immediateDescendants()[0].insert(member_types_selection_row)    //tbody
           // Element.insert("member_types", { bottom: member_types_selection_row});
        } catch (e) {}
    } else if(rows_left > 1){
          $(element).up('tr').remove();
    }
 }


function change_customer_type_state(checkbox)
{
    Element.replace($('member_types_table').rows[0], checkbox.checked ? customer_included_row : customer_excluded_row);
    $('this_is_me').checked = checkbox.checked;
}

function getSelectedValue(select)
{
    try{ return parseInt(select.options[select.selectedIndex].value); } catch(e) {return 0;}
}

function party_groups_check()
{
   try{
      rows = $('member_types_table').rows;
       for(i = 0; i < rows.length; i++){
          var selects = Element.select(rows[i], 'select');
          if(selects.length == 2 && getSelectedValue(selects[0]) > 0 && getSelectedValue(selects[1]) == -1){
             alert('Please select a category for your party');
             return false;
          }
       }
   }catch(e) {}

  return true;
}

function count_empty_party_rows()
{
    var number = 0
    var rows = $('member_types_table').rows
    for(var i = 0; i < rows.length; i++){
        var selects = Element.select(rows[i], 'select');
        if(selects.length == 2 && getSelectedValue(selects[0]) == 0 || getSelectedValue(selects[1]) == -1)
            number++
    }

    return number;
}
