﻿var blank = "";

/******** Array Prototype Routines ********/

if (!Array.indexOf) {
    Array.prototype.indexOf = function (obj) {
        for (var i = 0; i < this.length; i++) {
            if (((this [i].equals) && (this [i].equals (obj))) || (this [i] == obj)) {
                return i;
            }// if;
        }// for;
        return -1;
    }// indexOf;
}// if;

/********/

if (!Array.value) {
	Array.prototype.value = function (name) {
		for (var i = 0; i < this.length; i++) {
			if (this [i].name.equals (name)) return this [i].value;
		}// for;
		return blank;
	}// Array.value;
}// if;

/******** String Prototype Routines **********/

if (!String.trim) {
	String.prototype.trim = function () {
		if (this == null) return this;
		return this.replace(/^\s+|\s+$/g, '');
	}// trim;
}// String.trim;

/********/

if (!String.equals) {
	String.prototype.equals = function (value) {
		return (this.trim ().toLowerCase () == value.trim ().toLowerCase ());
	}// equals;
}// if;

/******** Integer Prototype Routines ********/

if (!Number.equals) {
	Number.prototype.equals = function (value) {
		return (this == value);
	}// equals;
}// if;

/******** Common Functions ********/

function change_page (target, parameters) {
	var transfer_form = document.createElement ("form");
	document.body.appendChild (transfer_form);
	transfer_form.action = target;
	transfer_form.method = "post";
	if (parameters != undefined) {
		for (var i = 0; i < parameters.length; i++) {
			var hidden_parameter = document.createElement("input");
			hidden_parameter.type = "hidden";
			hidden_parameter.id = parameters[i].name;
			hidden_parameter.value = parameters[i].value;
			hidden_parameter.name = hidden_parameter.id;
			transfer_form.appendChild(hidden_parameter);
		} // for;
	}// if;
	transfer_form.submit ();
	return false;
}// change_page;

/********/

function get_field_value (element) {
	if (!element.type) return null;
	switch (element.type.toLowerCase ()) {
		case "text": return element.value;
		case "password": return element.value;
		case "textarea": return element.innerText;
		case "hidden": return element.value;
		case "checkbox": return element.checked;
		case "radio": return get_radio_value (element);
		case "select-one": return element.value;
		// put other form types in here
	}// switch;
	return blank;
}// get_field_value;

/********/

function lowercase (string) {
	try {
		return string.toLowerCase ();
	} catch (exception) {
		return string;
	}// try;
}// lowercase;

/********/

