

/**
 * $Id: AjaxForm.js,v 1.1.2.1 2006/04/19 21:48:07 cschmidt Exp $
 */
 
 
 function AjaxForm(objForm, axConnector) {
 		this.objForm = objForm;
 		
 		this.objForm.axConnector = axConnector;
 		this.objForm.sComponent = null;
 		this.objForm.sOkMethod = null;
 		this.objForm.sReadMethod = null;
 		
 		this.setComponent = function (sComponent) {
 			this.objForm.sComponent = sComponent;
 		}
 		
 		this.setReadMethod = function (sReadMethod) {
 			this.objForm.sReadMethod = sReadMethod;
 		}
 		
 		this.setOkMethod = function (sOkMethod) {
 			this.objForm.sOkMethod = sOkMethod;
 		}
 		this.setOkMethod = function (sOkMethod) {
 			this.objForm.sOkMethod = sOkMethod;
 		}
 		
 		/** wrapper from ajax-from */	
 		this.readData = function () {
	 		this.objForm.readData();
 		}
 		/** reading data from ajax*/
		this.objForm.readData = function () {
			// open a request
			var axRequest = new AjaxRequest();
			axRequest.setComponent(this.sComponent);
			axRequest.setMethod(this.sReadMethod);
			this.axConnector.sendRequest(this, axRequest);
		}
		
		/** write data to system */
		this.objForm.saveData = function () {
			var moxData = this.getMoxData();
			// open a request
			var axRequest = new AjaxRequest();
			axRequest.setComponent(this.sComponent);
			axRequest.setMethod(this.sOkMethod);
			this.axConnector.sendRequest(this, axRequest, moxData);
		}
 		
 		this.objForm.getMoxData = function (){
			var formAjax = this
			var moxData = new MoxData();
			for(var i=0;i<formAjax.length;i++){
				var sName = formAjax[i].name;
				var sValue = formAjax[i].value;
				moxData.setData(sName, sValue);
			}
			return moxData;
		}
		
		/** listener from AjaxConnector*/
		this.objForm.ajaxResponse = function (moxTable) {
			if(moxTable==null)
				return;
			var formAjax = this
			var moxData = moxTable.getDatas()[0];
			for(var i=0;i<formAjax.length;i++){
				var sName = formAjax[i].name;
				if(moxData.hasData(sName))
					formAjax[i].value = moxData.getData(sName);
			}
		}
 }
