var message;
var linktext;
var point;
var closeclick = false;
var tabopen = false;
var getdirectionspage = true;
var IE = document.all ? true : false;
var map;
var detailmap;
var dirObj;
var container;
var opacity = 1;
var clckTimeOut = null;
var loading = false;
var saveState = false;
var directionsInfoDiv;
var iw;
var polyline;
var pLine;
var startMarker;
var endMarker;
var dragMarker;
var pLinePoints = Array();
var midRouteMarkers = Array();
var markerDragging = false;
var typeChanging = false;
var baseIcon = new GIcon();
baseIcon.iconSize=new GSize(30,30);
baseIcon.iconAnchor=new GPoint(5,30);
baseIcon.infoWindowAnchor=new GPoint(17,17);
var mapState;
var oldStartMarker;
var oldEndMarker;
var dir_locale;
var place=[];

var yellowIcon = (new GIcon(baseIcon, "images/yellowSquare.png", null, ""));
yellowIcon.iconSize=new GSize(32,32);
yellowIcon.iconAnchor=new GPoint(16,16);

var greenIcon = (new GIcon(baseIcon, "images/greenCircle.png", null, ""));
var redIcon = (new GIcon(baseIcon, "images/redCircle.png", null, ""));
var orangeIcon = (new GIcon(baseIcon, "images/orangeCircle.png", null, ""));
var blueIcon = (new GIcon(baseIcon, "images/blueCircle.png", null, ""));
var violetIcon = (new GIcon(baseIcon, "images/violetCircle.png", null, ""));

var baseIcon2 = new GIcon();
baseIcon2.iconSize=new GSize(8,8);
baseIcon2.iconAnchor=new GPoint(4,4);
baseIcon2.infoWindowAnchor=new GPoint(4,0);
var redIcon8 = (new GIcon(baseIcon2, "images/redSquare_8.png", null, ""));

var NormalLayer = G_NORMAL_MAP.getTileLayers()[0]
var TerrainLayer = G_PHYSICAL_MAP.getTileLayers()[0]
var SatelliteLayer = G_SATELLITE_MAP.getTileLayers()[0]
var satProj = G_SATELLITE_MAP.getProjection();	
var normalProj = G_NORMAL_MAP.getProjection();	


function doLoad() {
	if (GBrowserIsCompatible()) {
		container = document.getElementById("mainmap");
		resizePage();
		

		directionsInfoDiv = document.getElementById("directions_info");
		dirObj = new GDirections();

		mapState = getMapState();
		if (typeof(mapState) != 'undefined') {
			if (mapState['lat'] && mapState['lon']) {
				centerPoint = new GLatLng(parseFloat(mapState['lat']), parseFloat(mapState['lon']));
			}	
			if (mapState['z']) {
				zoom = parseInt(mapState['z']);
			}
			if (mapState['mType']) {
				mType = parseInt(mapState['mType']);

				if (mType == 4) {
					opacity = 0.4;
				}
			}

			
			if (mapState['driveFrom']) {
				var oDriveFrom = document.getElementById('driveFrom').value = mapState['driveFrom'];
			}
			if (mapState['driveTo']) {
				var oDriveFrom = document.getElementById('driveTo').value = mapState['driveTo'];
			}
			if (mapState['driveVia']) {
				var oDriveFrom = document.getElementById('driveVia').value = mapState['driveVia'];
			}
			if (mapState['locale']) {
				var oDriveFrom = document.getElementById('locale').value = mapState['locale'];
			}
		}

		
		map.enableContinuousZoom();
		map.enableScrollWheelZoom();

		
		GEvent.addListener(map, "maptypechanged", mapTypeChenged);
		GEvent.addListener(map, 'click', mapClick);

		GEvent.addListener(dirObj, "load", onDirectionsLoad);
		GEvent.addListener(dirObj, "error", onDirectionsError);
		GEvent.addListener(map,"infowindowopen", function(){
       // alert("true");
		tabopen=true;
    }); 
		GEvent.addListener(map,"infowindowclose", function(){
        //alert("false");
		tabopen=false;
		return;
    }); 
	GEvent.addListener(map.getInfoWindow(),"closeclick", function(){
        //alert("false");
		tabopen=false;
		closeclick = true;
		return true;
    }); 
	
		//var ovcontrol = new GOverviewMapControl(new GSize(165,165));
		//map.addControl(ovcontrol);
		//var ov_map = ovcontrol.getOverviewMap();
		GEvent.addListener(map, 'maptypechanged', function(){
//			ov_map.setMapType(G_NORMAL_MAP);
		}); 

		updateLink();

		if (mapState['driveFrom'] && mapState['driveTo']) {
			getDirections();
		}

	}
	resetfields();
}


function addCustomMapType(mName,layers,maxRes,minRes) {
	var TerrainN = new GMapType(layers, normalProj, mName, {maxResolution:maxRes, minResolution:minRes, errorMessage:'Boom!'}); 
	map.addMapType(TerrainN);
}

function mapTypeChenged() {
	if (typeChanging) {
		return;
	}
	typeChanging = true;

	var mtype = map.getCurrentMapType().getName();
	if (mtype == 'Terrain N') {
		opacity = 0.4;
	}
	else {
		opacity = 1;
	}
	var currentType = map.getCurrentMapType();
	map.setMapType(G_NORMAL_MAP);
	map.setMapType(currentType);
	typeChanging = false;

	updateLink();
}


function updateLink() {
	var center = map.getCenter();
	var zoom = map.getZoom();
	var mTypes = map.getMapTypes();
	for (var n = 0 ; n < mTypes.length ; n++ ) {
		if (mTypes[n] == map.getCurrentMapType()) {
			mType = n;
		}
	}

	var bounds = map.getBounds();
	var SW = bounds.getSouthWest();
	var NE = bounds.getNorthEast();

	

	var oDriveFrom = document.getElementById('driveFrom');
	var oDriveTo = document.getElementById('driveTo');
	var oDriveVia = document.getElementById('driveVia');
	var oLocale = document.getElementById('locale');
	
	var link = window.location.pathname + '?lat=' + center.lat() + '&lon=' + center.lng() + '&z=' + zoom + '&mType=' + mType;
	link += '&driveFrom=' + oDriveFrom.value;
	link += '&driveTo=' + oDriveTo.value;
	link += '&driveVia=' + oDriveVia.value;
	link += '&locale=' + oLocale.value;
	
	
	var oLink = document.getElementById("link");
	oLink.innerHTML = '<a href="' + link + '">'+linktext+'</a>';
}
///////////////////////////////////////////////////////////////////////////////////////////////////////

function mapClick(marker, point) {

	if(closeclick ==true){
	closeclick = false;
	return;
	}
	if (clckTimeOut) {
		window.clearTimeout(clckTimeOut);
		clckTimeOut = null;
		doubleClick(marker, point);
	}
	else {
		clckTimeOut = window.setTimeout(function(){singleClick(marker, point)},500);
	}
}

function doubleClick(marker, point) {

}

function singleClick(marker, point,lat,lon) {

	window.clearTimeout(clckTimeOut);
	clckTimeOut = null;
	
oldStartMarker=startMarker;
oldEndMarker=endMarker;

	if (point) {
	var apoint = point;
			if (!startMarker) {
			var oDriveFrom = document.getElementById('driveFrom');
			startMarker = createMarker(apoint,greenIcon);
			startMarker.formField = oDriveFrom;
			GEvent.addListener(startMarker,'drag',markerDrag);
			//GEvent.addListener(startMarker,'dragend',getDirections);
			map.addOverlay(startMarker);
			oDriveFrom.value = startMarker.getPoint().lat() + ',' + startMarker.getPoint().lng();
			return;
		}
		else if (!endMarker) {
			var oDriveTo = document.getElementById('driveTo');
			endMarker = createMarker(apoint,redIcon);
			endMarker.formField = oDriveTo;
			GEvent.addListener(endMarker,'drag',markerDrag);
			GEvent.addListener(endMarker,'dragend',getDirections);
			map.addOverlay(endMarker);
			oDriveTo.value = endMarker.getPoint().lat() + ',' + endMarker.getPoint().lng();
			getDirections();
			return;
		}
	}
	else if (point==null) {
			var apoint = new GLatLng(lat,lon); 

			if (marker==1) {
				if(oldStartMarker){
					map.removeOverlay(oldStartMarker);
					startMarker=null;
				}
			var oDriveFrom = document.getElementById('driveFrom');
			startMarker = createMarker(apoint,greenIcon);
			startMarker.formField = oDriveFrom;
			GEvent.addListener(startMarker,'drag',markerDrag);
			//GEvent.addListener(startMarker,'dragend',getDirections);
			map.addOverlay(startMarker);
			oDriveFrom.value = lat + ',' + lon;
			return;
			}
		 if (marker==2) {
			if(oldEndMarker){
			map.removeOverlay(oldEndMarker);
			endMarker=null;
			}
			var oDriveTo = document.getElementById('driveTo');
			endMarker = createMarker(apoint,redIcon);
			endMarker.formField = oDriveTo;
			GEvent.addListener(endMarker,'drag',markerDrag);
			GEvent.addListener(endMarker,'dragend',getDirections);
			map.addOverlay(endMarker);
			oDriveTo.value = lat + ',' + lon;
			if(!startMarker){alert(nostartpoint);return;}
			//getDirections();
			return;
		}
	}
	if (pLine !=null && tabopen ==false)
	{
		confirm(message,function(returnstatus){
			if (returnstatus==true )
			{
				rmOverlays();
			}
		});
		
	}
} 

function markerDrag() {
	this.formField.value = this.getPoint().lat().toFixed(5) + ',' + this.getPoint().lng().toFixed(5);
}

function indicateLoading() {
	loading = true;
	displayLoadingMsg();
}

function displayLoadingMsg() {
	var oLMsg = document.getElementById('loadingMessage');
	oLMsg.style.display = '';
	oLMsg.style.left = container.offsetLeft + (container.clientWidth / 2) - (oLMsg.clientWidth / 2) + 'px';
	oLMsg.style.top = container.offsetTop + (container.clientHeight / 2) - (oLMsg.clientHeight / 2) + 'px';
	oLMsg.style.filter="alpha(opacity=70)";

	if (loading){
		var to = window.setTimeout('displayLoadingMsg()',100);
	}
	else {
		oLMsg.style.display = 'none';
	}
}

// Map state -------------------------------------------
function getMapState() {
	var qString = window.location.search;
	qString = qString.substring(1, qString.length);

	var cValues = new Array();
	var separator = '&';
//	return cValues;

	if (!qString) {
		qString = getCookie('map2');
		separator = ',';
	}

	if (qString) {
		var nvPairs = qString.split(separator);

		for (var n = 0 ; n < nvPairs.length ; n++ )	{
			var nvPair = nvPairs[n];
			var nv = nvPair.split('=');

			cValues[nv[0]] = unescape(nv[1]);
			
		}
	}
	return cValues;
}

function getCookie(cookieName) {
	if (document.cookie.length > 0) {
		var cIndex = document.cookie.indexOf(cookieName+"=");
		if (cIndex != -1) {
			cIndex += cookieName.length + 1;
			var cLength = document.cookie.indexOf(";", cIndex);
			if (cLength == -1) {
				cLength = document.cookie.length;
			}
			return unescape(document.cookie.substring(cIndex, cLength)); 
		}
	}
	return null;
}

function setCookie(cookieName, value, expiredays) {
	var exp = "";
	if (expiredays) {
		var ExpireDate = new Date ();
		ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
		exp = ExpireDate.toGMTString();
	}
	document.cookie = cookieName + "=" + escape(value) + "; expires=" + exp + "; path=/";
}

function delCookie (cookieName) {
	if (getCookie(cookieName)) {
		document.cookie = cookieName + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

function resizePage() {

	//var oTable = document.getElementById("outerTable");
	//var dDiv = document.getElementById("directions_info");
	
	//oTable.style.width = document.body.clientWidth  + 'px';
	//var veHeight = 230;
//	container.style.height = document.body.clientHeight - veHeight  + 'px';
	//dDiv.style.height = document.body.clientHeight - veHeight + 65 + 'px';

	if (map) {
		var center = map.getCenter();
		var zoom = map.getZoom();
		map.checkResize();
		map.setCenter(center,zoom);
	}
}

function unload() {
	doUnload(0);
}

function doUnload(mReset) {
	if (mReset) {
		delCookie('map3');
		saveState = false;
		load();
		window.location = window.location.pathname;
		resetfields();

	}

	if (saveState) {
		var cookieStr = '';
		var center = map.getCenter();

		cookieStr += 'lat=' + center.lat() + ',';
		cookieStr += 'lon=' + center.lng() + ',';
		cookieStr += 'z=' + map.getZoom() + ',';
		cookieStr += 'mType=' + mType + ',';
		cookieStr += 'mapMode=' + mapMode;
		
		setCookie('map3', cookieStr, 365);
	}
	GUnload();
}

function rmOverlays() {

	directionsInfoDiv.innerHTML = '';
	map.clearOverlays();
	resizePage();
	resetfields();
}

function getDirections() {
	var oDriveFrom = document.getElementById('driveFrom');
	var oDriveTo = document.getElementById('driveTo');
	var oDriveVia = document.getElementById('driveVia');
	var oLocale = document.getElementById('locale');

	directionsInfoDiv.style.display = '';

	var loadStr;

	if (oDriveFrom.value && oDriveTo.value) {
		loadStr = 'from:' + oDriveFrom.value;
		if (oDriveVia.value) {
			var viaValue = oDriveVia.value.replace(/[\n\r]+/,"");
			var viaSteps = viaValue.split(';');
			
			

			for (var n = 0 ; n < viaSteps.length ; n++ ) {
				//loadStr += to+'  ' + viaSteps[n];
				var viaLatLon = viaSteps[n].split(',');
				//var point1 = new GLatLng(viaLat[0],viaLat[1]);
				//alert(viaLat[0]+','+viaLat[1]);
				loadStr += ' to: ' + viaLatLon;
				//alert(loadStr);
			}
		}
		loadStr += ' to: ' + oDriveTo.value;
	}
	if (loadStr) {
		indicateLoading();
		dirObj.load(loadStr,{locale:oLocale.value,getPolyline:true,getSteps:true});
		updateLink();
	}

}

function onDirectionsLoad() {
	var html = '';
	var status = dirObj.getStatus();
	var bounds = dirObj.getBounds();


	map.clearOverlays();

	var copyrightHTML = dirObj.getCopyrightsHtml();
	var summaryHTML = dirObj.getSummaryHtml();
	var distance = dirObj.getDistance();
	var duration = dirObj.getDuration();
	var numRoutes = dirObj.getNumRoutes();
	var oDriveFrom = document.getElementById('driveFrom');
	var oDriveTo = document.getElementById('driveTo');
	var startLatLng = dirObj.getRoute(0).getStep(0).getLatLng();
	var endLatLng = dirObj.getRoute(numRoutes-1).getEndLatLng();

	polyline = dirObj.getPolyline();
	pLine = copyPolyline(polyline);
	map.addOverlay(polyline);

	var numGeoCodes = dirObj.getNumGeocodes();
	var startPoint = dirObj.getGeocode(0);
	var endPoint = dirObj.getGeocode(numGeoCodes-1);
	addDragMarker(startPoint);
	
	if (startMarker) {
		var clickStartPoint = startMarker.getPoint();
		if (clickStartPoint.distanceFrom(startLatLng) > 0) {
			html += startwarning;
		}
	}

	if (endMarker) {
		var clickEndPoint = endMarker.getPoint();
		if (clickEndPoint.distanceFrom(endLatLng) > 0) {
			html += endwarning;
		}
	}

	var realStartMarker = new GMarker(startLatLng,{icon:greenIcon,draggable:true,bouncy:false});
	realStartMarker.formField = oDriveFrom;
	GEvent.addListener(realStartMarker,'drag',markerDrag);
	GEvent.addListener(realStartMarker,'dragend',getDirections);
	map.addOverlay(realStartMarker);

	var realEndMarker = new GMarker(endLatLng,{icon:redIcon,draggable:true,bouncy:false});
	GEvent.addListener(realEndMarker,'drag',markerDrag);
	GEvent.addListener(realEndMarker,'dragend',getDirections);
	realEndMarker.formField = oDriveTo;
	map.addOverlay(realEndMarker);


	html += '<div class="globalSummaryDiv"  style="width:278px;margin:0px;padding:0px" >';
	html += '<table cellspacing="0" cellpadding="2" width="278px">';
	html += '<tr><td valign="top"> ' +from+ ' <b>'+ startPoint.address + '</b> '+to+'<b>' + endPoint.address + '</b></td></tr>';
	html += '<tr><td valign="top"> '+summaryHTML+'</td></tr>';
	html += '</table></div>';
	
	
	for (var r = 0 ; r < numRoutes ; r++ ) {
		var route = dirObj.getRoute(r);
		var startGeoCode = dirObj.getGeocode(r);//route.getStartGeocode();
		var endGeoCode = dirObj.getGeocode(r+1);//route.getEndGeocode();
		var endLatLng = route.getEndLatLng();
		var routeSummaryHTML = route.getSummaryHtml();
		var routeDistance = route.getDistance();
		var routeDuration = route.getDuration();
		html += '<div class="routeSummaryDiv" style="278p" onclick="toggleSteps('+r+')" title="'+clicktoview+'">';
		html += '<table cellspacing="0" cellpadding="2" width="100%">';
		html += '<tr>';
		
		if (numRoutes == 1) {
			html += '<td valign="top"><img src="images/greenCircle.png"><br><img src="images/redCircle.png"></td>';
		}
		else {
			if (r == 0) {
				html += '<td valign="top"><img src="images/greenCircle.png"><br><img src="images/yellowSquare.png"></td>';
				var midMarker = new GMarker(endLatLng,{icon:yellowIcon});
				map.addOverlay(midMarker);
			}
			else if (r == numRoutes - 1) {
				html += '<td valign="top"><img src="images/yellowSquare.png"><br><img src="images/redCircle.png"></td>';
			}
			else {
				html += '<td valign="top"><img src="images/yellowSquare.png"><br><img src="images/yellowSquare.png"></td>';
				var midMarker = new GMarker(endLatLng,{icon:yellowIcon});
				map.addOverlay(midMarker);
			}
		}
		
		html += '<td valign="top"><b>' + startGeoCode.address + '</b>'+to+'<br> <b>' + endGeoCode.address + '</b><br>'+routeDistance.html+ ' (' + routeDuration.html +  ')</td>';
		html += '</table></div>';

		var numSteps = route.getNumSteps();
		html += '<table cellspacing="0" cellpadding="0" id="routeTable_'+r+'" style="display:none" width="100%">';
		for (var s = 0 ; s < numSteps ; s++ ) {
			var step = route.getStep(s);
			
			var stepLatLng = step.getLatLng();
			//alert(stepLatLng+' ');
			bounds.extend(stepLatLng);
			
			var stepPolylineIndex = step.getPolylineIndex();
			var stepDescriptionHTML = step.getDescriptionHtml();
			
			var stepDistance = step.getDistance();
			var stepDuration = step.getDuration();
			html += '<tr class="stepRow" onclick="showStep('+r+','+s+')"><td>&nbsp;&nbsp;' + (s+1) + '.</td><td> ' + stepDescriptionHTML + '</td><td>' + stepDistance.html + '</td></tr>';
		}
		html += '</table>';
	}
	
	directionsInfoDiv.innerHTML = html;
	loading = false;

	map.setCenter(bounds.getCenter(map), map.getBoundsZoomLevel(bounds)); 
}

function copyPolyline(p) {
	pLinePoints = Array();
	for (var n = 0 ; n < p.getVertexCount() ; n++ ) {
		pLinePoints.push(p.getVertex(n));

	}
	var pLine = new GPolyline(pLinePoints,'#F7098A');
	return pLine;
}

function addDragMarker(placemark) {
	markerDragging = false;

	var point = new GLatLng(placemark.Point.coordinates[1],placemark.Point.coordinates[0]);

	dragMarker = new GMarker(point, {icon:redIcon8,draggable:true,bouncy:false});
	GEvent.addListener(dragMarker, 'dragend', function(){
		var oDriveVia = document.getElementById('driveVia');
		if (oDriveVia.value) {
			oDriveVia.value += ';\n';
		}
		oDriveVia.value += dragMarker.getPoint().lat().toFixed(5) + ',' + dragMarker.getPoint().lng().toFixed(5);
		if (dragMarker) {
			map.removeOverlay(dragMarker);
		}
		//getDirections();

	});

	GEvent.addListener(dragMarker, 'dragstart', function(){
		markerDragging = true;
	});

	map.addOverlay(dragMarker);
	dragMarker.hide();
}


function getNearestVertex(mouseLatLng) {
	if (markerDragging) {
		return;
	}
	if (!dragMarker) {
		return;
	}

	if (pLinePoints.length > 1){
		var bounds = map.getBounds();
		var SW = bounds.getSouthWest();
		var NE = bounds.getNorthEast();
		var diag = SW.distanceFrom(NE);
		threshold = diag / 100;
		var minDist = 9999999999;
		var intermediateIndex = Math.round(pLinePoints.length / 100);

		for (var n = 0 ; n < pLinePoints.length-intermediateIndex ; n+= intermediateIndex ) {
			if (mouseLatLng.distanceFrom(pLinePoints[n]) < minDist) {
				minDist = mouseLatLng.distanceFrom(pLinePoints[n]);
				if (minDist < threshold) {
					dragMarker.show();
					dragMarker.setLatLng(pLinePoints[n]);
				}
				else {
					dragMarker.hide();
				}
			}
		}
	}
}

function onDirectionsError() {
	loading = false;
	directionsInfoDiv.innerHTML = 'Error: ' + dirObj.getStatus().code;
}

function toggleSteps(routeNo) {
	oRouteTable = document.getElementById('routeTable_' + routeNo);
	oRouteTable.style.display = oRouteTable.style.display == 'none' ? '' : 'none';

}

function showStep(r,s) {
	map.closeInfoWindow();

	var step = dirObj.getRoute(r).getStep(s);
	var stepLatLng = step.getLatLng();
	//alert(stepLatLng);
	var mapzoom = map.getZoom();
	map.setCenter(stepLatLng,mapzoom);

	var stepDescriptionHTML = step.getDescriptionHtml();

	var stepDistance = step.getDistance();
	var stepDuration = step.getDuration();

	var infoHTML = '<div id="tab1" class="bubble">';
	infoHTML += '<table>';
	infoHTML += '<tr class="stepRow"><td>&nbsp;&nbsp;' + (s+1) + '.</td><td> ' + stepDescriptionHTML + '</td><td>' + stepDistance.html + '</td></tr>';
	//infoHTML += '<tr class="stepRow"><td>&nbsp;&nbsp;</td colspan="2"><td> ' + stepLatLng + '</td></tr>';
	infoHTML += '</table>';
	infoHTML += '</div>';



	var tab1 = new GInfoWindowTab(mapp, '<div id="detailmap"></div>');
	var tab2 = new GInfoWindowTab(infor, infoHTML);
	var infoTabs = [tab1,tab2];
	
	
	map.openInfoWindowTabsHtml(stepLatLng,infoTabs);
//	detailmap = null;
// Minimap for driving directions
	var dMapDiv = document.getElementById("detailmap");
	detailmap = new GMap2(dMapDiv);
	detailmap.setCenter(stepLatLng,15);
	detailmap.addOverlay(pLine);

	//var CopyrightDiv = dMapDiv.firstChild.nextSibling;
	//var CopyrightImg = dMapDiv.firstChild.nextSibling.nextSibling;
	//CopyrightDiv.style.display = "none"; 
	//CopyrightImg.style.display = "none"; 

	detailmap.addControl(new GSmallMapControl());
}

function createMarker(pointt,icona,lat,lon,title){
if(pointt==null){
var markerpoint = new GLatLng(lat,lon); 

var newmarker = new GMarker(markerpoint,{title:title,icon:icona,draggable:true,bouncy:false});

map.addOverlay(newmarker);
}
else {
var newmarker = new GMarker(pointt,{icon:icona,draggable:true,bouncy:false});

}
return newmarker;
}

function selectfrom(id){
xajax_loadsublocations(id,'from');
}

function selectto(id){
xajax_loadsublocations(id,'to');
}

function resetfields(){
document.getElementById('driveFrom').value = '';
document.getElementById('driveTo').value = '';
document.getElementById('driveVia').value = '';
document.getElementById('selectfromdropdown').selectedIndex = 'null';
document.getElementById('selecttodropdown').selectedIndex = 'null';
if (document.getElementById('selectsublocationfromdropwdown')!=undefined){
document.getElementById('selectsublocationfromdropwdown').selectedIndex = 'null';
}
if (document.getElementById('selectsublocationtodropwdown')!=undefined){
document.getElementById('selectsublocationtodropwdown').selectedIndex = 'null';
}
document.getElementById('viatext').value = '';

startMarker=null;
endMarker=null;
}
