function Disjunctive_Condition_Object (form_name, string){
	this.form_name = form_name;

	this.string = string;
	this.condition_object_array = new Array();
	
	if (string){
		this.process_string()
	}
}
new Disjunctive_Condition_Object('','');

function process_disjunctive_string () {
	var condition_object_array = this.retrieve_condition_object_array();
	this.condition_object_array = condition_object_array;
}

function retrieve_condition_object_array () {
	condition_string = this.string;
	form_name = this.form_name;
	
	var condition_object_array = new Array();
	var condition_string_array = new Array(condition_string);
	for (var i = 0; i < condition_string_array.length; i++){
		var condition_string = trim(condition_string_array[i]);
		condition_string = remove_parentheses(condition_string);
		var condition_object = new Condition_Object (form_name, condition_string);
		condition_object_array[condition_object_array.length] = condition_object;
	}

	return condition_object_array;
}

function get_query_string (debug) {
	var query_array = new Array();
	for (var i = 0; i < this.condition_object_array.length; i++){
		var condition_object = this.condition_object_array[i];
		var query = "";
		if (debug){
			query = condition_object.get_query(debug);
		}
		else {
			query = condition_object.logic_satisfied();
		}
		query_array[query_array.length] = query;
	}
	
	return query_array.join("");
}

function condition_logic_satisfied () {
	return eval(this.get_query());
}

Disjunctive_Condition_Object.prototype.process_string = process_disjunctive_string;
Disjunctive_Condition_Object.prototype.retrieve_condition_object_array = retrieve_condition_object_array;
Disjunctive_Condition_Object.prototype.get_query = get_query_string;
Disjunctive_Condition_Object.prototype.logic_satisfied = condition_logic_satisfied;

// ********************************

