// JavaScript Document

Settings = {
  submitForm : function()
  {
    Grouply.submitForm('settingsForm', true, true);
  },
  
  cancel : function()
  {
    // here we want to go back to the reference page, if we have one. 
    // if the reference page is null, then go to the settings.php page.
    try { 
      var ref_url = document.getElementById('settingsForm').ref_url.value;
      if (ref_url == "")
      {
        ref_url = "settings.php";
      }
      window.location.href = ref_url;
    }
    catch(e) {
      window.location.href = "settings.php";
    }
  },
  
  toggleDropdown : function (myid, value)
  {
    if (value && value!="" && Grouply.get(myid))
    {
      Grouply.get(myid).setDisabled(false);
    } else if (Grouply.get(myid))
    {
      Grouply.get(myid).setDisabled(true);
    }
  },
  
  toggleAllCB : function (prefix, checked, dropdown, match)
  {
  	if (!match)
  	{
			match='name';
		}
		
    checkboxes = Ext.DomQuery.select('form#settingsForm input[type=checkbox]');
    var regex = new RegExp("^"+prefix+"_cb_\\d+$");
    for(i=0;i<checkboxes.length;i++)
    {
      el = checkboxes[i];
      if (!el)
      {
				// try ext el
				
			}
      if (el && (match=='name' && (el.name.match(regex)) || (match=='id' && el.id.match(regex))))
      {
        if (checked)
        {
          el.checked="checked";
          
        } else
        {
          el.checked="";
        }
        
        if (dropdown)
        {
          Settings.toggleDropdown(prefix + "_dd_" + el.name.replace(prefix + "_cb_", ''), checked);
        }
        
      }
    }
  },
  
  toggleAllExtCB : function (prefix, checked, dropdown)
  {
		
		var regex = new RegExp("^"+prefix+"_cb_\\d+$");
    for (key in Grouply.registry)
    {
      
      if (key.match(regex))
      {
        Grouply.registry[key].setValue(checked);
      }
    }
  },
  
  setAllDropdown : function (prefix, value)
  {
    for (key in Grouply.registry)
    {
      if (eval("key.match(/^"+prefix+"_dd_\\d+$/)"))
      {
        if (!Grouply.registry[key].disabled)
        {
          Grouply.registry[key].setValue(value);
        }
      }
    }
  }
}
