<!--
var ROOT = "http://crp2103.dyndns.org/wind/";

var FLAGS = new Object();

// function object - add function literals
var FUNCT = new Object();

// begin attachEvent functions
var EVENTS = new Object();

/*
// removed.  instead they are created dynamically as needed in the addEventToAttach function
EVENTS["click"] = new Object();
EVENTS["change"] = new Object();
EVENTS["unload"] = new Object();
EVENTS["resize"] = new Object();
EVENTS["scroll"] = new Object();
EVENTS["focus"] = new Object();
EVENTS["blur"] = new Object();
EVENTS["mouseover"] = new Object();
EVENTS["mouseout"] = new Object();
EVENTS["mousedown"] = new Object();
EVENTS["mouseup"] = new Object();
EVENTS["mousemove"] = new Object();
EVENTS["dblclick"] = new Object();
EVENTS["submit"] = new Object();
EVENTS["reset"] = new Object();
*/

var HTMLAREA_REPLACE_TEST;

var hideEl = function(){
    var el = getClassParam(this,'id');
    el = document.getElementById(el);
    removeClass(el,'show');
    addClass(el,'hide');
    return false;
};
FUNCT["hideEl"] = hideEl;

var showEl = function(){
    var el = getClassParam(this,'id');
    el = document.getElementById(el);
    removeClass(el,'hide');
    addClass(el,'show');
    return false;
};
FUNCT["showEl"] = showEl;


// pass in the className (containing _arg classes) 
// and get out a &arg=value string to be appended to a url
function parseArgs(classString) {
  var classArray = classString.split(" ");
  var args = "";
  var temp = "";
  var regexp = new RegExp(/^_arg.+~.+/);
  for(var i=0; i<classArray.length; i++) {
    if(classArray[i].match(regexp)) {
      temp = classArray[i].replace("~", "=");
      temp = temp.replace(/^_arg/, "");
      args += temp + "&";
    }
  }
  return args;
}
FUNCT["parseArgs"] = parseArgs;


// className functions
// Dean Edwards 2004.10.24
function addClass(element, className) {
  if (!hasClass(element, className)) {
    if (element.className) element.className += " " + className;
    else element.className = className;
  }
}
FUNCT["addClass"] = addClass;

function removeClass(element, className) {
  var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
  element.className = element.className.replace(regexp, "$2");
}
FUNCT["removeClass"] = removeClass;

function clearClass(element) {
  element.className = "";
}
FUNCT["clearClass"] = clearClass;

function hasClass(element, className) {
  var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
  return regexp.test(element.className);
}
FUNCT["hasClass"] = hasClass;

function getClassParam(element, paramName) {
  var regexp = new RegExp("(^|\\s)(_arg" + paramName + "~([^\\s]+))(\\s|$)");
  var matches = regexp.exec(element.className);
  try {
    if(matches[3]){
      return matches[3];
    }else{
      return false;
    }
  } catch(e){
    return false;
  }
}
FUNCT["getClassParam"] = getClassParam;

function getElementsByClass(classname) {
  var allElements = document.all ? document.all : document.getElementsByTagName("*");
  var theCollection = new Array();
  var count = 0;
  for(var i =0; i < allElements.length; i++) {
    if(allElements[i].className.match(classname)) {
	theCollection[count++] = allElements[i];
    }
  }
  return theCollection;
}
FUNCT["getElementsByClass"] = getElementsByClass;
// end className functions


// begin attachEvent functions
function addEventToAttach(handler,class_name){
  if(!EVENTS[handler]){
    EVENTS[handler] = new Object();
  }
  if(FUNCT[class_name]){
    EVENTS[handler][class_name] = FUNCT[class_name];
    // alert("added event: " + handler + "::" + class_name);
  }
}
FUNCT["addEventToAttach"] = addEventToAttach;

var attachMyEvents = function(){
  var elems = document.getElementsByTagName("*");
  var debug = 0;
  for(var i = 0; i < elems.length; i++) {
  // EVENTS[handler][class_name] = function_literal
    for(var handler in EVENTS){
      for(var class_name in EVENTS[handler]){
        if(elems[i].className){
          if(elems[i].className.match(class_name)){
            // attach the event
            elems[i]["on" + handler] = EVENTS[handler][class_name];
            // alert("added event: " + handler + "::" + class_name);
          }
        }
      }
    }
  }
  return false;
}
FUNCT["attachMyEvents"] = attachMyEvents;

// end attachEvent functions

// addBodyOnload functions
// Joshua Olson 2004.10.22
var init = new Array();
init[0] = new Function("{}");

function initBody(){
  var i;
  for (i = 0; i < init.length; i++){
    init[i]();
  }
};
FUNCT["initBody"] = initBody;

function addBodyOnload(function_literal){
  init[init.length] = function_literal;
};
FUNCT["addBodyOnload"] = addBodyOnload;

window.onload = initBody;
// adding new functions:
addBodyOnload(attachMyEvents);
// end addBodyOnload functions
//-->
