/*
 * Javascript for hopper functions
 */
function hopper_action_submit()
{
    var form = document.forms['view_hopper'];
    var hopper_select = form['hopper_jump_list'];
    
    if (hopper_select && hopper_select.selectedIndex > 0)
    {
        form["hopper_id"].value = hopper_select.options[hopper_select.selectedIndex].value;
        form.submit();   
    }    
}

function hopper_edit(hopper_id)
{
    var title = document.getElementById("hopper_title_" + hopper_id);
    var description = document.getElementById("hopper_description_" + hopper_id);
    var text = title.firstChild;
    title.innerHTML = "<input type='text' class='title' name='hopper_title' value='" + text.innerHTML + "' />"
    description.innerHTML = "<textarea name='hopper_description' class='description'>" + description.innerHTML + "</textarea>";
   
    var button = document.forms["hopper_" + hopper_id].elements["edit"];
    button.value="Save";
    button.onclick = function(){document.forms['hopper_' + hopper_id].submit();};
    document.forms["hopper_" + hopper_id].elements['command'].value = "edit";
    
}

function hopper_save(hopper_id)
{
    document.forms["hopper_" + hopper_id].elements['command'].value = "edit";
    document.forms['hopper_' + hopper_id].submit();
}

function hopper_delete(hopper_id)
{
    if (confirm("Are you sure you want to delete this hopper?"))
    {
        document.forms['hopper_' + hopper_id].elements['command'].value = "delete";
        document.forms['hopper_' + hopper_id].submit();
    }        
}

function hopper_groups(hopper_id)
{
    document.forms['hopper_' + hopper_id].action = "../hopper_groups/";
    document.forms['hopper_' + hopper_id].elements['command'].value = "groups";
    document.forms['hopper_' + hopper_id].submit();
}

function hopper_groups_update()
{
    var form = document.forms["hopper_group"];
    
    form["command"].value = "update";
    form.submit();
    
    return false;
}

function hopper_allow_all()
{
   var form = document.forms["hopper_group"];
   for (i = 0; i < form.elements.length; ++i)
   {
      var element = form.elements[i];
      if (element.value == "allow")
      {
         element.checked=true;
      }
   }
   return false;
}

function hopper_deny_all()
{
   var form = document.forms["hopper_group"];
   for (i = 0; i < form.elements.length; ++i)
   {
      var element = form.elements[i];
      if (element.value == "deny")
      {
         element.checked=true;
      }
   }
   return false;
}
function hopper_show_key()
{
   document.getElementById("hopper_key_details").style.display="block";
}

function hopper_hide_key()
{
   document.getElementById("hopper_key_details").style.display="none";
}

function hopper_submit(hopper_id)
{
   return true;
}

function hopper_add_items(form_name)
{
    var form = document.forms["hopper_options"];
    var selected     = form.list_selection.options[form.list_selection.selectedIndex].value;    
    var base_url  = document.forms[form_name].elements['base_url'].value;

    document.forms[form_name].action = base_url + "/";

    list_command = "add_to_hopper";

    document.forms[form_name].elements['list_selection'].value   = selected;
    document.forms[form_name].elements['list_command'].value     = list_command;
    document.forms[form_name].elements['mode'].value             = "list";

    var hopper_list = document.getElementById("hopper_select_list");
    var hopper_id   = hopper_list.options[hopper_list.selectedIndex].value;

    if (hopper_id == "create")
    {
        
        hopper_quick_create_display(true);    
    }
    else
    {
        hopper_quick_create_display(false);
    }
    
    var hopper_title = document.getElementById("hopper_title").value;
    var creating_new = (hopper_id == "create" && hopper_title.length > 0);

    if (hopper_id && (hopper_id > 0 || creating_new))
    {
        var itemlist_form = document.forms[form_name];
        if (creating_new)
            itemlist_form["hopper_title"].value = hopper_title;
        else
            itemlist_form["hopper_title"].value = "";

        itemlist_form['hopper_id'].value = hopper_id;
        itemlist_form.submit();
    }
}

function hopper_add_item()
{
    var form = document.forms["hopper_item_form"];
    var hopper_list = document.getElementById("hopper_select_list");
    var hopper_id   = hopper_list.options[hopper_list.selectedIndex].value;

    if (hopper_id == "create")
    {
        form["command"].value="create_and_add_item";
        hopper_quick_create_display(true);    
    }
    else
    {
        hopper_quick_create_display(false);
    }
    
    var hopper_title = document.getElementById("hopper_title").value;
    var creating_new = (hopper_id == "create" && hopper_title.length > 0);
    
    if (form && hopper_id && (hopper_id > 0 || creating_new))
    {
        form["hopper_id"].value = hopper_id;
        form.submit();
    }
}

function hopper_delete_items(hopper_id, form_name, empty_hopper)
{
    if (!confirm("Are you sure you want to delete these records from this hopper?"))
    {
        return false;
    }

    var base_url  = document.forms[form_name].elements['base_url'].value;

    document.forms[form_name].action = base_url + "/";

    list_command = "remove_from_hopper";

    document.forms[form_name].elements['list_selection'].value   = "sel";
    document.forms[form_name].elements['list_command'].value     = list_command;
    document.forms[form_name].elements['mode'].value             = "list";
    document.forms[form_name].elements['hopper_id'].value        = hopper_id;
    
    if (empty_hopper)
    {
        document.forms[form_name].elements['hopper_action'].value    = "empty_hopper";
    }        

    document.forms[form_name].submit();
}


function hopper_quick_create()
{
    var hopper_list = document.getElementById("hopper_select_list");
    var hopper_id   = hopper_list.options[hopper_list.selectedIndex].value;

    if (hopper_id == "create")
    {        
        hopper_quick_create_display(true);    
    }
    else
    {
        hopper_quick_create_display(false);
    }
}

function hopper_quick_create_display(status)
{   
   var hopper_quick_create = document.getElementById("hopper_quick_create");
   
   var hopper_create = document.getElementById("hopper_quick_create");
   
   var hopper_add_button             = document.getElementById("hopper_add_button");
   var hopper_add_and_create_button  = document.getElementById("hopper_add_and_create_button");
   
   if (status == true)
   {
       hopper_quick_create.style.display="inline";   
       
       hopper_add_and_create_button.style.display="inline";

       if (hopper_add_button)
          hopper_add_button.style.display="none";
       
       
   }
   else
   {
       hopper_quick_create.style.display="none";          
       hopper_add_and_create_button.style.display="none";
       
       if (hopper_add_button)
          hopper_add_button.style.display="inline";
       
   }
}


function hopper_info_display(status)
{
   var hopper_info_area = document.getElementById("hopper_info_area");

   if (typeof(status) == "undefined")
   {
       status = false;
       if (hopper_info_area.style.display == "none")
       {
           status = true;
       }
   }
   
   if (status == true)
   {
       hopper_info_area.style.display="inline";
   }
   else
   {
       hopper_info_area.style.display="none";   
       // clear text area
       document.getElementById("hopper_info_area");
   }
}
