function Condition_Object (form_name, string){
	this.form_name = form_name;

	this.string = string;

	this.element_name = "";
	this.comparison = "";
	this.conditional_value = "";
	
	if (string){
		this.process_string();
	}
}

function process_condition_string () {
	var element_name_value_comparison_array = this.get_element_name_value_comparison_array();
	this.element_name = element_name_value_comparison_array[0];
	this.conditional_value = element_name_value_comparison_array[1];
	this.comparison = element_name_value_comparison_array[2];

	return true;
}

function get_condition_string (debug) {
	if (this.conditional_value == 'default'){
		this.conditional_value = get_default_value_for_eval(this.form_name, this.element_name);		
	}

	if (debug){
		return get_value_for_eval(this.form_name, this.element_name) + ' ' + this.comparison + ' ' + this.conditional_value;
	}
	else {
		return get_value_for_eval(this.form_name, this.element_name) + ' ' + this.comparison + ' ' + this.conditional_value;
	}
}

function get_boolean () {
	return eval(this.get_query());
}

function get_element_name_value_comparison_array () {
	var condition_string = this.string;

//	alert(condition_string);
	
	var element_name_value_comparison_array;
	var operator_array = new Array('==', '!=', '<', '>', '>=', '<=');
	for (i = 0; i < operator_array.length; i++){
		var operator = operator_array[i];
		element_name_value_comparison_array = condition_string.split(operator);
		if (element_name_value_comparison_array.length == 2){
			element_name_value_comparison_array[0] = trim(element_name_value_comparison_array[0]);
			element_name_value_comparison_array[1] = trim(element_name_value_comparison_array[1]);		
			element_name_value_comparison_array[element_name_value_comparison_array.length] = operator;
//			alert(element_name_value_comparison_array);
			break;
		}
	}
	if (element_name_value_comparison_array.length != 3){
		alert('Unknown operator: ' + condition_string);
	}
	
	return element_name_value_comparison_array;
}

Condition_Object.prototype.process_string = process_condition_string;
Condition_Object.prototype.get_element_name_value_comparison_array = get_element_name_value_comparison_array;
Condition_Object.prototype.get_query = get_condition_string;
Condition_Object.prototype.logic_satisfied = get_boolean;
Condition_Object.prototype.get_default_value = get_default_value;

new Condition_Object ('', '');

