var Contact_Class = function() {
	this.init();
}

Contact_Class.prototype.init = function() {

	this._clearFields();
	
	this._setFocus();
	
	this._assignFocus();

}

Contact_Class.prototype._clearFields = function() {
	
	document.forms[0].elements[0].value = "";
	
	document.forms[0].elements[1].value = "";
	
	document.forms[0].elements[2].value = "Enter question/comment here...";
	
}

Contact_Class.prototype._setFocus = function() {
	
	document.forms[0].elements[0].focus();
		
}

Contact_Class.prototype._assignFocus = function() {

	var formElements = $("input.formInputs, textarea");
	
	formElements.bind("focus", selectContent);
	
	formElements.bind("click", selectContent);
	
	function selectContent() {
		this.select();
	}
	
}

Contact_Class.prototype.submitForm = function() {

	var fName = $("input#iptName")[0];
	var fEmail = $("input#iptEmail")[0];
	var fComment = $("textarea#iptComments")[0];
	
	var errorCount = 0;
	var rErrors = [];
	var oEl = "";
	var cssObj = {"background-color":"#FFFCCC"};
	var cssObjDefault = {"background-color":"#FFFFFF"};
	
	if (error.isEmpty(fName)) {
		errorCount++;
		oEl = oElement.create("div", {className: "offsetLeft10"}, errorCount + ". Please provide your full name.");
		rErrors.push(oEl);
		
		$(fName).css(cssObj);
	} else {
		$(fName).css(cssObjDefault);
	}
	
	if (error.isEmpty(fEmail)) {
		errorCount++;
		oEl = oElement.create("div", {className: "offsetLeft10"}, errorCount + ". Please provide your e-mail address.");
		rErrors.push(oEl);
		$(fEmail).css(cssObj);
	} else if (!error.isEmail(fEmail)) {
		errorCount++;
		oEl = oElement.create("div", {className: "offsetLeft10"}, errorCount + ". Please provide a valid e-mail address.");
		rErrors.push(oEl);
		$(fEmail).css(cssObj);
	} else {
		$(fEmail).css(cssObjDefault);
	}
	
	if (error.isEmpty(fComment) || String(fComment.value).toUpperCase() == "ENTER QUESTION/COMMENT HERE...") {
		errorCount++;
		oEl = oElement.create("div", {className: "offsetLeft10"}, errorCount + ". Please provide your question or comment.");
		rErrors.push(oEl);
		$(fComment).css(cssObj);
	} else {
		$(fComment).css(cssObjDefault);
	}
	
	if (errorCount == 0) {
		return true;
	}
	
	msgBox.display({
		title: "Error:"
		, displayTitle: true
		, content: oElement.create("div", {}, [
			oElement.create("div", {}, "The following errors have occurred and must be corrected before submitting:")
			, oElement.create("div", {}, rErrors)
		])
		, contentFunction: function() {
			window.scrollTo(0,0);	
		}
		, buttons: {
		   okay: {
		       label: "Okay"
		       , id: "okayButton"
		       , className: "buttonCancel"
		       , oData: {ref: "okayButton"}
		       , actionFunc: function() {
				msgBox.close();
		       }
		   }
		}
	});
	
	cssObj = {
		"color":"#000000"
		, "text-align":"left"
		, "top": 200
	};
	
	msgBox.cssOverride("msgBox", cssObj);
	
	cssObj = {
		"background-color": "#000066"
		, "color":"#FFFFFF"
		, "text-align":"left"
	};
	
	msgBox.cssOverride("msgBoxTitle", cssObj);
	
	return false;	
}

var contact = new Contact_Class();