with(jzGMap){//Add to jzGMap name space

$.initTable = function(rootElem) { // Initialize the Map
	tableDiv=rootElem
	var id=tableDiv.id
	var mode=tableDiv.getAttribute('jz:InputMode') 

	var name=id.slice(0,-7) //remove ._table
	tableDiv.inputMode=mode

	var elem
	// retreve infoview html
	if (elem=document.getElementById(name+'._rowtemplate')) tableDiv.rowTemplate=elem.parentNode.removeChild(elem)
	else tableDiv.rowTemplate=false

	var data
	if (elem=document.getElementById(name+'._data')) {
		data=eval(elem.value)
		tableDiv._data=elem
		//if (jz.IE) elem.value = undefined
		//else delete elem.value
		}

	var points=new Array() //IE bug avec [] pas sure
	//points.maxSegSize=32
	//points.updateAdded=updatePtAdd
	//points.updateRemoved=updatePtRemove
	//points.updateSegment=updateSegment
	append(points, mapf(data, function(pt,id){ 
		var gpoint=newLatLng(pt[0],pt[1])
		gpoint.id=id
		if (pt[2]) gpoint.txt=pt[2]
		if (pt[3]) gpoint.type=pt[3]
		return gpoint
		}))
	tableDiv.points=points
	var tbody=tableDiv.getElementsByTagName("TBODY")[0]
	var dtotal=0, span=0, km=0, message="", lastId=false, wayPtNum=0, wName="", row
	dof(tableDiv.points, function(pt,idx){
		if (idx==0){
			wName=_('ipw-Départ')
			if (pt.type) message+=_('ipw-Départ sur chaussée')+' '+typeTitre(pt)
			if (message && pt.txt) message+="\n"
			if (pt.txt) message+=pt.txt
			return
			}
		var dd=mCalcDistance(tableDiv.points[idx-1],pt)
		dtotal+=dd
		span+=dd
		if (!(pt.txt||pt.type)) return
		//flush last line 

		row=tableDiv.rowTemplate.cloneNode(true)
		row.id="" 
		jz.setChildContent(row,'wName',wName)
		jz.setChildContent(row,'km',km.toFixed(1))
		jz.setChildContent(row,'distance',span.toFixed(1))
		jz.setChildContent(row,'message',message,true)
		row.className="" //remove hidden
		tbody.appendChild(row)
		// prepare next row
		km=dtotal
		span=0
		message=""
		wayPtNum++
		wName='#'+wayPtNum
		if (pt.type) message+=_('ipw-Changement de chaussée pour')+' '+typeTitre(pt)
		if (message && pt.txt) message+="\n"
		if (pt.txt) message+=pt.txt
		})		
	if (span>0) {
		row=tableDiv.rowTemplate.cloneNode(true)
		jz.setChildContent(row,'wName',wName)
		jz.setChildContent(row,'km',km.toFixed(1))
		jz.setChildContent(row,'distance',span.toFixed(1))
		jz.setChildContent(row,'message',message,true)
		row.className="" //remove hidden
		tbody.appendChild(row)
		span=0
		}
	row=tableDiv.rowTemplate.cloneNode(true)
	jz.setChildContent(row,'wName',_('ipw-Arrivée'))
	jz.setChildContent(row,'km',dtotal.toFixed(1))
	jz.setChildContent(row,'distance',span.toFixed(1))
	jz.setChildContent(row,'message','')
	row.className="" //remove hidden
	tbody.appendChild(row)

	
	//if (mapDiv.inputMode) jz.addListener(jz.getParentByTagName(mapDiv,'FORM'),'submit',doPathPrepareData)
	}
jz.DomClasses['InsTable']=initTable
}//End jzGMap name space

