/***************************************************************************
# File: lib_form_effects.js - JavaScript Form Effects
# Version: 1.2.2 dev
***************************************************************************/

/**** Form Effects ****/
function FormEffects()
{
	if(window.bjs_debugger_flag != undefined) // Ex: debugger call >> ob_for_eff.AddDebug("debug message here")
		this.debuggr = true;

	if(document.getElementById("page_form"))
	{
		this.form_name_id = document.getElementById("page_form");
		this.form_inputs = this.form_name_id.getElementsByTagName("INPUT");
		this.form_textareas = this.form_name_id.getElementsByTagName("TEXTAREA");
	}

	this.required_field_class = "field_required";
	this.copy_fields_class = "copy_field";
	this.check_fields_class = "brbn_chk_all";
	this.clear_field_class ="field_clear";
	this.clear_field_onfocus_class ="field_clear_onfocus";
	
	this.value_color = "#000000";
	this.required_color = "red";
	this.default_required_color = "#C0C0C0";
	
	this.required_fields = new Array();
	this.required_fields_special = new Array();
	this.submit_buttons = new Array();
	
	return this;
}


// Method -- Init required fields
FormEffects.prototype.RequiredFieldsInit = function()
{
	for(var i=0; i < ob_for_eff.form_inputs.length; i++)
	{
		if(ob_for_eff.form_inputs[i].className.match(ob_for_eff.required_field_class))
		{
			if(ob_for_eff.form_inputs[i].type == "text")
			{
				ob_for_eff.required_fields.push(ob_for_eff.form_inputs[i]);
			}
			else if(ob_for_eff.form_inputs[i].type == "password")
			{
				ob_for_eff.required_fields.push(ob_for_eff.form_inputs[i]);
			}
			else if(ob_for_eff.form_inputs[i].type == "file")
			{
				ob_for_eff.required_fields.push(ob_for_eff.form_inputs[i]);
			}
		}
		else if(ob_for_eff.form_inputs[i].type == "submit")
		{
			ob_for_eff.submit_buttons.push(ob_for_eff.form_inputs[i]);
		}
	}
	
	for(var i=0; i < ob_for_eff.form_textareas.length; i++)
	{
		if(ob_for_eff.form_textareas[i].className.match(ob_for_eff.required_field_class))
			ob_for_eff.required_fields.push(ob_for_eff.form_textareas[i]);
	}
}


// Method -- Init form submits for required fields
FormEffects.prototype.FormSubmitInit = function()
{
	ob_for_eff.form_name_id.onsubmit = ob_for_eff.FormSubmitValidate;
}
	// Method -- Validate form submits for required fields
	FormEffects.prototype.FormSubmitValidate = function()
	{
		var valid_form = true;
		var current_field_id;
		var focus_field;
		
		for(var i=0; i < ob_for_eff.required_fields.length; i++)
		{
			current_field_id = document.getElementById(ob_for_eff.required_fields[i].id);
			current_field_id.style.borderColor = ob_for_eff.default_required_color;
			
			current_field_id.value = current_field_id.value.replace(/^\s+|\s+$/g, '');
			
			if(current_field_id.value == "" || current_field_id.value == null)
			{
				current_field_id.style.borderColor = ob_for_eff.required_color;
				valid_form = false;
			}
		}
		
		if(valid_form === false)
			return false;
		else
			return true;
	}







