function loadPoints(id, num, rue, ville, pays, lat, long){
	var temp=new PointRemarquable(id, num, rue, ville, pays, lat, long);
	allPoints[id]=temp;
}

function multiSpotedPoints(request) {	
	var json = request.responseText;
	var result = eval('('+json+')');;
	
	var points = result.points;
	var level = result.level;
	var elemId = result.elemId;
	var defaultOption = result.defaultOption;
	var defaultValue = result.defaultValue;
	var functionName = result.functionName;

	var childrenId = 'level_'+level+'_kids_'+functionName;	
	if (points.length != 0) {
		var nextLevel = level;
		nextLevel++;
		var div = document.createElement("div");
		div.setAttribute('id', 'div_'+childrenId);
		div.setAttribute('class', 'input');
		div.setAttribute('style', 'padding:0pt;');
		var selectElem = document.createElement("select");
		//selectElem.setAttribute('class','select multiSpotedSelect');
		selectElem.className='select multiSpotedSelect';
		//selectElem.setAttribute('id',childrenId);
		selectElem.id=childrenId;
		//selectElem.setAttribute('level', nextLevel);
		selectElem.level = nextLevel;
		//selectElem.setAttribute('onchange', functionName + '(this.id, this.value, '+nextLevel+')');
		selectElem.onchange = function(){eval('('+functionName + '(this.id, this.value, '+nextLevel+')'+')');};
		if (defaultValue == "") {
			var option = document.createElement('option');
			option.setAttribute('value', '');
			option.innerHTML = defaultOption;
			selectElem.appendChild(option);
			if (result.mandatory == 'true') {
				eval('('+functionName+'ResetSelection(""))');
			}
		}	
		points.each(function(item){
			loadPoints(item.id, item.num, item.rue, 
					item.ville, item.pays, item.lat, item.lon);
			var option = document.createElement('option');
			option.setAttribute('value', item.id);
			option.innerHTML = item.name;
			selectElem.appendChild(option);
		});
		div.appendChild(document.createElement('label'));
		div.appendChild(selectElem);
		$(elemId).parentNode.parentNode.appendChild(div);
	}
	$(childrenId+'_spinner').parentNode.removeChild($(childrenId+'_spinner'));
}
function loadKids(elemId, id, level, spotedIdName, functionName) {
	var childrenId = 'level_'+level+'_kids_'+functionName;
	var childrenDivId = 'div_' + childrenId;
	if ($(childrenDivId)) $(childrenDivId).parentNode.removeChild($(childrenDivId));
	if (id !='') {
		$(spotedIdName).value = id;
		var defaultOption = $(elemId).options[0].innerHTML;
		var defaultValue = $(elemId).options[0].value;
		// Ajax call to get children if any
		var url = contextPath + '/getSpotedPointChildren.do';
		var options = {postBody: 'functionName='+functionName+'&elemId='+elemId+'&pointId='+id+'&level='+level+'&defaultOption='+defaultOption+'&defaultValue='+defaultValue, onComplete: multiSpotedPoints};
		// set spinner icon
		var img = document.createElement('img');
		img.setAttribute('src', contextPath+'/common/img/spinner.gif');
		img.setAttribute('id', childrenId+'_spinner');
		$(elemId).parentNode.appendChild(img);
		new ajax(url, options); 	
	} else {
		$(spotedIdName).value = "";
	}
}

function loadPointDepResetSelection(value) {
	if (value=='') {
		$('spotedPointDepart').value = '';
	}
}

function loadPointArrResetSelection(value) {
	if (value=='') {
		$('spotedPointArrivee').value = '';
	}
}