// 
// FormUtils
//
var FormUtils = {
  addParamToForm: function(form, name, value) {
    jQuery('<input type="hidden" name="' + name + '" value="' + value + '"/>')
      .appendTo(form);
  }
};


//
// Browser
//

// from facebox
function getPageHeight() {
  var windowHeight
  if (self.innerHeight) { // all except Explorer
    windowHeight = self.innerHeight;
  } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
    windowHeight = document.documentElement.clientHeight;
  } else if (document.body) { // other Explorers
    windowHeight = document.body.clientHeight;
  } 
  return windowHeight
}


// 
// Tree
//

function toggleTreeNode(node) {
  var node = jQuery(node).closest("li");
  var className = node.attr("class");
  node.removeAttr("class");
  if (className.match("^collapsed")) {
    node.addClass(className.replace("collapsed", "expanded"));
    node.children("ul").show();
  }
  else if (className.match("^expanded")) {
    node.addClass(className.replace("expanded", "collapsed"));
    node.children("ul").hide();
  }
}


//
// Select Switch (unused)
//

function onSelectSwitchClick(button) {
  var selectedClass = "selected";
  var wrappedButton = jQuery(button);
  if (wrappedButton.hasClass(selectedClass)) {
    return false;
  }
  wrappedButton.siblings("button").removeClass(selectedClass);
  wrappedButton.addClass(selectedClass);
  return true;
}



//
// Others
//

function escapeHtml(str) {
  if (!str) return str;
  return str.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}


