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

	this.string = string;
	this.disjunctive_condition_object_array = new Array();
	
	if (string){
		this.process_string()
	}
}
new Conjunctive_Condition_Object('','');

function process_disjunctive_string () {
	var disjunctive_condition_object_array = this.retrieve_disjunctive_condition_object_array();
	this.disjunctive_condition_object_array = disjunctive_condition_object_array;
}

function retrieve_disjunctive_condition_object_array () {
	condition_string = this.string;
	form_name = this.form_name;
	
	var disjunctive_condition_object_array = new Array();
	var condition_string_array = condition_string.split(user_disjunctive_string_delimiter);
	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 disjunctive_condition_object = new Disjunctive_Condition_Object (form_name, condition_string);
		disjunctive_condition_object_array[disjunctive_condition_object_array.length] = disjunctive_condition_object;
	}

	return disjunctive_condition_object_array;
}

function get_disjunctive_query_string (debug) {
	var disjunctive_query_array = new Array();
	for (var i = 0; i < this.disjunctive_condition_object_array.length; i++){
		var disjunctive_condition_object = this.disjunctive_condition_object_array[i];
		var disjunctive_query = "";
		if (debug){
			disjunctive_query = disjunctive_condition_object.get_query(debug);
		}
		else {
			disjunctive_query = disjunctive_condition_object.logic_satisfied();
		}
		disjunctive_query_array[disjunctive_query_array.length] = disjunctive_query;
	}
	
	return "(" + disjunctive_query_array.join(") " + js_disjunctive_string_delimiter + " (") + ")";
}

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

Conjunctive_Condition_Object.prototype.process_string = process_disjunctive_string;
Conjunctive_Condition_Object.prototype.retrieve_disjunctive_condition_object_array = retrieve_disjunctive_condition_object_array;
Conjunctive_Condition_Object.prototype.get_query = get_disjunctive_query_string;
Conjunctive_Condition_Object.prototype.logic_satisfied = disjunctive_logic_satisfied;

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

