// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
//

var delay_timer = null;
var delay_elem  = null;

 /** FadeDelay {{{
  * @brief Fade out element after timeout
  * @param[in]  elem  Element
  **/

function FadeDelay(elem)
{
  delay_elem = elem;
  delay_timer = setTimeout(function() 
    {
      Effect.Fade(delay_elem, {});
      delay_timer = null;
      delay_elem  = null;
    }, 
    6000
  );
} /* }}} */

 /** MailAppend {{{
  * @brief Append data to field
  * @param[in]  elem  Element
  **/

function MailAppend(field, val)
{
  var elem = opener.document.getElementById(field);

  if("mail_to" != field)
    {
      if(elem.value == "")
        elem.value = val;
      else
        elem.value = elem.value + ", " + val;
    }
  else 
    {
      elem.value = val;
      window.close();
    }
} /* }}} */

 /** FormAppend {{{
  * @brief Append val to elem separated by sep
  * @param[in]  elem  Element
  * @param[in]  val   Value
  * @param[in]  sep   Separator
  **/

function FormAppend(elem, val, sep)
{
  sep = sep || " ";
  if("" == elem.value)
    elem.value = val;
  else
    elem.value = elem.value + sep + val;
} /* }}} */

 /** MailAppendSelected {{{
  * @brief Append data to field
  * @param[in]  form   form
  * @param[in]  field  Destination field
  **/

function MailAppendSelected(form, field)
{
  var elem = opener.document.getElementById(field);
  var inputs = form.getElementsByTagName("input");
  var l = inputs.length;
  var list = "";

  for(var i = 0; i < l; i++) 
    {
      if("checkbox" == inputs[i].type && true == inputs[i].checked)
        if("" == list)
          list = inputs[i].value
        else
          list = list + ", " + inputs[i].value
    }

  if("mail_to" != field)
    {
      if(elem.value == "")
        elem.value = list;
      else
        elem.value = elem.value + ", " + list;
    }
  else 
    {
      elem.value = list;
      window.close();
    }
} /* }}} */

 /** SelectCheckboxes {{{
  * @brief Select all checkboxes
  * @param[in]  form  Form
  **/

function SelectCheckboxes(form) 
{
  var inputs = form.getElementsByTagName("input");
  var l = inputs.length;

  if("undefined" == typeof checked)
    {
      checked = true;
    }
  else if(false == checked)
    {
      checked = true;
    }
  else if(true == checked)
    {
      checked = false;
    }

  for(var i = 0; i < l; i++) 
    {
      if("checkbox" == inputs[i].type)
        inputs[i].checked = checked;
    }
} /* }}} */
