//FormObject.js: v1.0.4.@20040305
var bln_FormObject_Proto_Called = false;

/*Class FormObject Extends CBObject*/
FormObject.prototype=new CBObject();
function FormObject(objForm,strTask,strAction,strMethod,strTarget) {
	
	if(!bln_FormObject_Proto_Called) {

		bln_FormObject_Proto_Called = true;
		var _this = FormObject.prototype;

		_this.setFieldValue = function(strField,strValue) {
			var obj = null;
			if(!(obj=this.getObject())) { return; }
			var objField = eval("obj."+strField);
			if(!objField) { return; }
			objField.value = strValue;
		};
		
		_this.getFieldValue=function(strField) {
			var obj = null;
			if(!(obj=this.getObject())) { return null; }
			var objField = eval("obj."+strField);
			if(!objField) { return null; }
			return objField.value;
		};

		_this.setTask = function(strTask) {
			var obj = null;
			if(!(obj=this.getObject())) { return; }
			this._strTask = strTask;
			this.setFieldValue("strTask", strTask);
		};

		_this.setTarget = function(strTarget) {
			var obj = null;
			if(!(obj=this.getObject())) { return; }
			this._strTarget = strTarget;
			obj.target = strTarget;
		};
		
		_this.setAnchor=function(strAnchor) {
			var obj = null;
			if(!(obj=this.getObject())) { return; }
			obj.action += "#"+strAnchor;
			this._strAction = obj.action;
		};

		_this.setAction = function(strAction) {
			var obj = null;
			if(!(obj=this.getObject())) { return; }
			this._strAction = strAction;
			obj.action = strAction;
		};
		
		_this.setMethod=function(strMethod) {
			var obj = null;
			if(!(obj=this.getObject())) { return; }
			this._strMethod = strMethod;
			obj.method = strMethod;
		};
		
		_this._getTask = function() { return this._strTask; }

		_this._getAction = function() { return this._strAction; }
		
		_this._getMethod = function() { return this._strMethod; }
		
		_this._getTarget = function() { return this._strTarget; }

		_this.getField = function(strField) {
			var obj=null;
			
			if(!(obj=this.getObject())) return null;
			
			var objField = eval("obj."+strField);
			
			if(!objField) { return null; }
			else { return objField; }
		};
		
		_this.post = function(){
			var obj = null;
			
			if(!(obj=this.getObject())) { return; }
			
			if(this._strTask) { obj.strTask.value=this._strTask; }
			if(this._strAction) { obj.action=this._strAction; }
			if(this._strMethod) { obj.method=this._strMethod; }
			if(this._strTarget) { obj.target=this._strTarget; }
			
			obj.submit();
		};
		
		_this.setFocus = function(strFieldName) {
			var obj = null;
			
			if(!(obj=this.getObject())) { return; }
			
			var objField = eval("obj."+strFieldName);
			
			if(objField) { objField.focus(); }
		};
		
		_this.trimFieldValue = function(strFieldName,strOption,strRegEx) {
			var obj = null;
			
			if(!(obj=this.getObject())) { return; }
			
			var objField = eval("obj."+strFieldName);
			
			if(strRegEx) {
				objField.value=objField.value.remove(strRegEx);	
			}
			else if(strOption) {
				strOption=strOption.toLowerCase();
				if(strOption=="numeric") { objField.value=objField.value.remove("[^0-9\\.,-]");	}
				if(strOption=="integer") { objField.value=objField.value.remove("[^0-9-]"); }
				if(strOption=="mobile") { objField.value = objField.value.remove("[^0-9]"); }
				if(strOption=="email") { objField.value=objField.value.remove("[^A-Za-z0-9_\\.-@]").toLowerCase(); }
			}
			
			return objField.value=objField.value.trim();
		};
		
	}/*end if*/
	
	/**/
	this._obj=objForm;

	this._strTask=strTask;
	this._strAction=strAction;
	this._strMethod=strMethod;
	this._strTarget=strTarget;
	
}

