//Javascript Document
var inloadHttp= false;
var inloadedfilename= "";
var loadedFlag= new Array();
var loadedAddOns= new Array();
var iRequestedInload= "";
var operationActivated= 0;
var requestedFunction= false;
var translatorUrl= "/bitrix/templates/protector/service/gfi/service/publicOperations.php";


var inloadMouseX= 0;
var inloadMouseY= 0;

function inload_request(filename, inId, e, func, replaceTranslator) {

	requestedFunction= func;
	
	if (operationActivated) {		alert("Сначала закончите текущую операцию!");		return;	}
	
	evt= e || window.event;
	
	var clientYOffset = document.documentElement.scrollTop || document.body.scrollTop;
	var clientXOffset = document.documentElement.scrollLeft || document.body.scrollLeft;
	
	if (evt) {
		inloadMouseX= parseFloat(clientXOffset)+parseFloat(evt.clientX);
		inloadMouseY= parseFloat(clientYOffset)+parseFloat(evt.clientY);
	}
	
	inloadedId= inId;
	iRequestedInload= inId;
	inloadedfilename= filename;
	
	if (  typeof(loadedFlag[filename]) != "undefined" && loadedFlag[filename] ) {
		initAddOns(filename);
		return;
	}
	
	var serviceCalling= ( typeof( replaceTranslator) == "undefined" || replaceTranslator == "" ) ? translatorUrl : replaceTranslator;
	
	//alert( replaceTranslator+" | "+serviceCalling );
	
	inloadHttp= new ajaxRequester(unpackInloadForm);
	if (  !inloadHttp.ajaxInit( serviceCalling )  ) return;
	
	inloadHttp.ajaxHttp.onreadystatechange= function () {
		inloadHttp.unpackRequest();
	};
	
	inloadHttp.sendParams("type=inload&action=load&filename="+filename);
}

function unpackInloadForm(obj) {
		//alert("fsdfsdfsdf"+obj.getted);
		var responseParts= obj.responseParts;
		
		responseParts.shift();
		
		var htmlPart= responseParts[0];
		
		//alert("now row: \n\n\n\n\n"+responseParts[0]);
		
		loadedFlag[inloadedfilename]= true;
		loadedAddOns[inloadedfilename]= {
			"html" : htmlPart
		};
		
		initAddOns(inloadedfilename);
}

function initAddOns(fN) {

	//alert(  requestedFunction  );
	var addInload= document.getElementById("inload_container");
	if (!addInload) return;
		
	addInload.innerHTML= loadedAddOns[ fN ]["html"];
	
	
	//Регистрируем в форме, кто именно ее инициировал
	//alert(fN+"_heInitMe");
	var obj= document.getElementById(fN+"_heInitMe");
	//alert(obj);
	if (!obj) {
		alert("Форма загружена неверно, либо ее структура повреждена!");
		return;
	}
	obj.value= iRequestedInload;
	//iRequestedInload= "";

	if (requestedFunction == "") {
		//Нужно еще подгрузить js-код
		var scriptObj= document.createElement('script');
		scriptObj.type= 'text/javascript';
		scriptObj.src= "/bitrix/templates/protector/service/gfi/inload/"+fN+".js?x="+Math.random();
		documentObj.appendChild(scriptObj);
	} else {
		requestedFunction.call();
	}

	operationActivated++;
}


/******************************************************       INLINE TEST FIELD      *********************************************/
/******************************************************       INLINE TEST FIELD      *********************************************/
/******************************************************       INLINE TEST FIELD      *********************************************/
/******************************************************       INLINE TEST FIELD      *********************************************/

