/*var reeaADTL = new ADTL();
reeaADTL.m_bDebug = false;*/

var doubleFieldsIds = new Array();

/*if (typeof showAjaxWaitGif != 'function')
{
    inc("typo3conf/ext/reea_imobiliare/js/wait.js");
}*/

function getSpecificFields(btype)
{
	btype = parseInt(btype);
	var allowCall = false;
	if (btype)
	{
		var l_aData = new Array();
		l_aData["btype"] = btype;
//		l_aData["key"] = "building_type";
//		l_aData["prefix"] = prefix;
//		l_aData["template"] = template;
//		l_aData["frmType"] = frmType;

//		l_sAjaxServerPage = "typo3conf/ext/reea_imobiliare/lib/class.tx_reeaimobiliare_ajaxlibrary.php";
//		l_sAjaxServerPage = ajaxServerPath;
/*		reeaADTL.fetchData(l_aData, l_sAjaxServerPage);
		reeaADTL.addDataListener(l_aData["key"], handleSpecificFields);*/
		allowCall = true;
		//showAjaxWaitGif();
	}
	else
	{
		document.getElementById('inf_specifice').innerHTML = '';
	}
	//reset add_type select
	var addSel = '';
	try {
		var addSel = document.getElementById(prefix + '[add_type]');
	}
	catch (e)
	{

	}

	if (addSel != undefined)
	{
		addSel.selectedIndex = 0;
	}
//	call getExtraFields with addType = 0
//will make no call
	resetDoubleFields();

	if (allowCall)
		tx_reeaimobiliare_pi1getSpecificFields(l_aData);
}


function getSearchSpecificFields(btype)
{
	btype = parseInt(btype);

	if (btype)
	{
		var l_aData = new Array();
		l_aData["btype"] = btype;
//		l_aData["key"] = "building_type";
//		l_aData["prefix"] = prefix;
//		l_aData["template"] = template;
//		l_aData["frmType"] = frmType;

		/*l_sAjaxServerPage = ajaxServerPath;
		reeaADTL.fetchData(l_aData, l_sAjaxServerPage);

		reeaADTL.addDataListener(l_aData["key"], handleExtraSpecificFields);
		showAjaxWaitGif();*/
		tx_reeaimobiliare_pi5advancedgetSearchSpecificFields(l_aData);
	}
	else
	{
		document.getElementById('inf_specifice').innerHTML = '';
	}

//	call getExtraFields with addType = 0
//will make no call
	resetDoubleFields();
}
/*
function handleSpecificFields(returnValue) {
	var myTarget = document.getElementById('inf_specifice');
	myTarget.innerHTML = returnValue['content'];
//	hideAjaxWaitGif();
}
*/
function handleExtraSpecificFields(returnValue) {
	var myTarget = document.getElementById('inf_specifice');
	myTarget.innerHTML = returnValue['content'];
	getExtraSearchFields();

//	hideAjaxWaitGif();
}

function getExtraSearchFields()
{
	var l_aData = new Array();
	var btypeId = document.getElementById(prefix + '[building_type]').value;

	btypeId 	= parseInt(btypeId);

	//remove allready added double fields ...
	//check if the required element is in DOM allready
	resetDoubleFields();

	if (btypeId)
	{
		l_aData['btype'] 		= btypeId;
		l_aData["prefix"] = prefix;
		l_aData["template"] = template;
		l_aData["key"] = "double_fields";
		l_aData["frmType"] = frmType;

		l_sAjaxServerPage = ajaxServerPath;
		reeaADTL.fetchData(l_aData, l_sAjaxServerPage);

		reeaADTL.addDataListener(l_aData["key"], handleExtraFields);
//		showAjaxWaitGif();
	}
}

function getExtraFields(addTypeId)
{
	var l_aData = new Array();
	var btypeId = document.getElementById(prefix + '[building_type]').value;

	btypeId 	= parseInt(btypeId);
	addTypeId 	= parseInt(addTypeId);

	//remove allready added double fields ...
	//check if the required element is in DOM allready
	resetDoubleFields();
	//	show/hide 'images'

	var shId = '';
	try {
		shId = document.getElementById('images');
	}
	catch (e)
	{

	}

	if (!btypeId)
	{
		var add_type = '';
		try {
			add_type = document.getElementById('tx_reeaimobiliare_pi1[add_type]');
		}
		catch(e)
		{

		}

		if (add_type != undefined)
		{
			add_type.selectedIndex = 0;
		}
	}

	if (shId != undefined) {
		if (addTypeId == cerereAddTypeId)
			shId.style.display = 'none';
	}
	if (addTypeId != cerereAddTypeId) //other type than cerere ... exit silently ...
		return;

	if (btypeId)
	{
		l_aData['btype'] 		= btypeId;

//		l_aData['addTypeId']	= addTypeId;
//		l_aData["prefix"] = prefix;
//		l_aData["template"] = template;
//		l_aData["key"] = "double_fields";

//		l_sAjaxServerPage = ajaxServerPath;
//		reeaADTL.fetchData(l_aData, l_sAjaxServerPage);
//		reeaADTL.m_aListeners["double_fields"] = new Array();
//		reeaADTL.addDataListener("double_fields", handleExtraFields);
//		showAjaxWaitGif();

		tx_reeaimobiliare_pi1getExtraFields(l_aData);
//		document.body.style.cursor = 'wait';
	}
}


function resetDoubleFields()
{
	for (var field_id in doubleFieldsIds)
	{
//		console.log('Removing field ' + doubleFieldsIds[field_id]+'_maxxx');
		try
		{
			var oldElem = document.getElementById(doubleFieldsIds[field_id]+'_maxxx');
		}
		catch (e)
		{

		}

		if (oldElem != undefined) //element previously added
		{
			oldElem.parentNode.removeChild(oldElem);
		}
	}

	doubleFieldsIds = new Array();
}

function handleExtraFields(returnValue)
{
//	console.log(returnValue['content']);
	var targetElement = '';
	var dblNdx = 0;

	for (field_id in returnValue)
	{
		doubleFieldsIds[dblNdx++] = field_id;
		//alert(field_id);
		try {
				targetElement=document.getElementById(field_id);
		}
		catch (e)
		{
			//error handling here
			//targetElement=document.all.field_id;
		}
		if (targetElement == undefined)
			continue;
//		console.log(field_id + " is max ? " + field_id.substr(field_id.length-3));
		if (field_id.substr(field_id.length-3) == 'max')
		{
			try {
				var oldElem = document.getElementById(doubleFieldsIds[field_id]);
			}
			catch (e)
			{

			}

			if (oldElem != undefined) //element previously added
			{
				oldElem.parentNode.removeChild(oldElem);
			}
		}
//		console.log('handleExtraFields field ' + eval(dblNdx-1) + field_id);
//		console.log('handleExtraFields field ' + returnValue['content'][field_id]);

		var newElement = document.createElement('DIV');
		newElement.id = field_id+'_maxxx';
		newElement.innerHTML = returnValue[field_id];

		seekNext = false;
		k = 0;
		//alert(targetElement.id);
		/*for (var k=0 in targetElement.parentNode.childNodes)
		{
//		 if (seekNext && targetElement.parentNode.childNodes[k].tagName == 'DIV' && targetElement.parentNode.childNodes[k].childNodes.length)
		alert(targetElement.parentNode.childNodes[k].id);
		 if (seekNext && targetElement.parentNode.childNodes[k].childNodes.length)
		   {
//		       console.log(targetElement.parentNode.childNodes[k]);
		       break;
		   }
		 if (targetElement.parentNode.childNodes[k].id == field_id && !seekNext)
		   {
		       seekNext=true;
//		       console.log(field_id + '\t' + k + targetElement.parentNode.childNodes[k].id);
		   }
		}*/
		var index;
		for(var i=0;i<targetElement.parentNode.childNodes.length;i++)
		{
			if(targetElement.parentNode.childNodes[i].id==targetElement.id)
			{
				index=i;
				/*alert(targetElement.id);
				alert(i);*/
			}
		}
		//alert(targetElement.parentNode.childNodes[index].innerHTML);
		//alert('this is the div here'+targetElement.innerHTML);
		targetElement.parentNode.insertBefore(newElement,targetElement.parentNode.childNodes[index+1]);

	}
//	hideAjaxWaitGif();
	document.body.style.cursor = 'default';
	return;
}
/*
// Define the error handler method
reeaADTL.errorHandler = function(p_sCode, p_sMsg) {
	alert("I am sorry to report that the application " +
	      "has failed to receive a response from the " +
	      "server. The technical description of the " +
	      "error is the following:\n" +
	      p_sCode + ": " +  p_sMsg);
}*/
function buildLocalitate(judId, prefixCode)
{
	judId = parseInt(judId);

	if (judId)
	{
		//apeleaza functia de xajax pentru construire select de localitati
		tx_reeaimobiliare_pi1buildLocalitate(judId);
	}
	else
	{
		resetLocalitate();
		/*var locSel = document.getElementById(prefix+'[localitate]');
		for (var i = locSel.options.length; i > 0; i--)
		{
//			locSel.options[i] = null;
			locSel.removeChild(locSel.lastChild);
		}*/
	}
}

function resetLocalitate()
{
	var locSel = document.getElementById(prefix+'[localitate]');
	for (var i = locSel.options.length; i > 1; i--)
	{
//			locSel.options[i] = null;
		locSel.removeChild(locSel.lastChild);
	}
}

function handleAjaxLocalitate(returnValue)
{
	var locSel = document.getElementById('tx_reeaimobiliare_pi1[localitate]');

	if (locSel != undefined && locSel)
	{
		locSel.innerHTML = null;
		var i = 0;
		optObj = document.createElement("OPTION");
		optObj.value = 0;
		optObj.text = '---Selectati---';
		locSel.options[i++]=optObj;
		
		for(var pkey in returnValue['localitate'])
		{
			if (returnValue['localitate'][pkey]['text'])
			{
				optObj = document.createElement("OPTION");
				optObj.value = returnValue['localitate'][pkey]['value'];
				optObj.text = returnValue['localitate'][pkey]['text'];

				locSel.options[i++]=optObj;
			}
		}
	}
//	hideAjaxWaitGif();
}
