/* +--------------------------------------------------------------+
 * | This file is part of the web application framework "ISTANTE" |
 * | Copyright (c) 2005 Claudio Cicali <claudio@cicali.org>       |
 * |                and Renomo s.r.l <info@renomo.com>            |
 * | All rights reserved                                          |
 * +--------------------------------------------------------------+
 * | Author: Claudio Cicali claudio@cicali.org                    |
 * +--------------------------------------------------------------+
 */
function empty_form(form_id, do_submit)
{
  var form = form_id;
  
  for (var i=0; i < form.elements.length; i++)  
  {
    var elem = form.elements[i];
    switch (elem.type)
    {
      case "hidden":
        if (elem.name=="filter_sem")
          elem.value="1";
        break;
      case "select-one":
        elem.selectedIndex=0;
        break;
      case "select-multiple":
        elem.selectedIndex=0;
        break;
      case "text":
      case "textarea":
        elem.value="";
        break;
      case "submit":
        break;
      case "checkbox":
        elem.checked=false;
        break;
      default:
        //alert(elem.type);
        break;
    }
  }
  if (do_submit == 1)
  {
    form.submit();
    return true;
  }
  else 
    return false;
}

function confirm_delete(model, key)
{
  if (confirm("Confermi la richiesta di cancellazione del " + model + " con chiave " + key + "?"))
    redirect_to(model + "/delete/" + key);

  return false;
}

function check_me(cb)
{
  cb.checked = !cb.checked;
}

function check_the_box(row, item)
{
  if (document.getElementById("checkme_" + item).checked)
  {
    row.className = "";    
    document.getElementById("checkme_" + item).checked = false;
  }
  else
  {
    row.className ="selected";
    document.getElementById("checkme_" + item).checked = true;
  }
}

function redirect_to(addr)
{
  //document.location.href = application_base + addr;
  document.location.href = addr;
}

/* 
This could be a prototype of the standard Array object. I don't know
why, but this itself become an *element* of the array 
*/
function array_find(a, k)
{
  for (i in a)
    if (a[i] == k)
      return true;
  return false;
}

function getFormElementByName(form, name)
{
  for (var e=0; e < form.elements.length; e++)
    if (form.elements[e].name == name)
      return form.elements[e];
  return null;
}

function add_event(obj, evType, fn)
{
  if (!obj)
    return false;
  if (obj.addEventListener)
  {
    obj.addEventListener(evType, fn, true);
    return true;
  } 
  else 
  if (obj.attachEvent)
  {
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } 
  else 
	return false;
}

