x_ifc = {
	resultField:false,
	successHandler:function(result)
	{
		//~ x_ifc.writeTrafficLine('successHandler status : ' +jx.http.status);
		x_ifc.writeTrafficLine('successHandler status : ' +result);
		document.getElementById(x_ifc.resultField).value = result;
	},
	errorHandler:function(requestObject)
	{
		alert("Something when wrong. Error : "+requestObject.status);
		x_ifc.writeTrafficLine('errorHandler ' +requestObject.status);
	},
	//
	setAdressField:function (myElem, myField)
	{
		if(myElem.selectedIndex != 0)
		{
			var xmlPath = this.getXMLServerPath() +myElem.options[myElem.selectedIndex].text;
			this.writeTrafficLine('setSelectedLoadAdress(): xmlPath ' +xmlPath);
			document.getElementById(myField).value = xmlPath;
			myElem.selectedIndex = 0;
		}
	},
	writeTrafficLine:function (myString)
	{
		document.getElementById('fldTrafficStates').value += '\n' +myString;
		document.getElementById('fldTrafficStates').scrollTop = document.getElementById('fldTrafficStates').scrollHeight;
	},
	getXMLServerPath:function ()
	{
		var path = document.getElementById('XMLServerPath').value;
		this.writeTrafficLine('getXMLServerPath(): ' +path);
		
		return path;
	},
	sendAndLoad:function (XMLLoadURL, msg)
	{
		this.writeTrafficLine('sendAndLoad(): ' +XMLLoadURL + ' msg : ' + msg);
		var myXHR = new XHR
		({
			method: 'post',
			onSuccess:this.successHandler,
			onFailure:this.errorHandler,
			headers:{'Content-Type':'text/xml'}
		}).send(XMLLoadURL, msg);
	},
	load:function (XMLLoadURL, msg)
	{
		this.writeTrafficLine('sendAndLoad(): ' +XMLLoadURL);
		var myXHR = new XHR
		({
			method: 'get',
			onSuccess:this.successHandler,
			onFailure:this.errorHandler
		}).send(XMLLoadURL, msg);
	},
	request:function (addressField, resultField, method, postField)
	{
		var XMLLoadURL = document.getElementById(addressField).value;
		this.resultField = resultField;
		//~ this.loadXML(XMLLoadURL, resultField);
		this.writeTrafficLine('request(): XMLLoadURL ' +XMLLoadURL +' resultField : ' +resultField +' method : ' +method);
		//~ this.loadBind.url = XMLLoadURL;
		//~ jx.resultField = resultField;
		//~ jx.bind(this.loadBind);
		//~ /*
		if(method == 'get')
		{
			/*
			jx.bind({
				"url":XMLLoadURL,
				"onSuccess":this.successHandler,
				"onError":this.errorHandler,
				"format":"text",
				"method":"get",
				// "loading":"loading"
			});
			*/
			this.load(XMLLoadURL, postFieldContent)
		}
		else if(method == 'post')
		{
			var postFieldContent = document.getElementById(postField).value;
			//~ var postFieldContent = 'helloworld';
			this.writeTrafficLine('request(): postFieldContent ' +postFieldContent);
			/*
			jx.bind({
				"url":XMLLoadURL +'?content=' +postFieldContent,
				//~ "onSuccess":this.successHandler,
				//~ "onError":this.errorHandler,
				"format":"text",
				"method":"post",
				"update":resultField
				// "loading":"loading"
			});
			*/
			this.sendAndLoad(XMLLoadURL, postFieldContent)
		}
	},
	//
	doStripCRLF:function (myFieldId)
	{
		this.writeTrafficLine('doStripCRLF(): ' +myFieldId);
		var myString = document.getElementById(myFieldId).value;
		this.writeTrafficLine('doStripCRLF(): ' +myString);
		document.getElementById(myFieldId).value = this.stripCRLF(myString);
	},
	doStripWhitespace:function (myFieldId)
	{
		this.writeTrafficLine('doStripWhitespace(): ' +myFieldId);
		var myString = document.getElementById(myFieldId).value;
		document.getElementById(myFieldId).value = this.stripWhiteSpace(myString);
	},
	vide:function (myFieldId)
	{
		this.writeTrafficLine('vide():');
		document.getElementById(myFieldId).value =  '';
	},
	stripCRLF:function (myString)
	{
		this.writeTrafficLine('stripCRLF():');
		var myResult = myString.replace(/>[\r\n]*</g, '>\n<'); /* all : myString.replace(/>[\s]*</g, '><');*/

		return myResult;
	},
	stripWhiteSpace:function (myString)
	{
		this.writeTrafficLine('stripWhiteSpace():');
		var myResult = myString.replace(/>[\s]*</g, '>\n<'); /* all : myString.replace(/>[\s]*</g, '><');*/
		
		return myResult;
	}
};
