var gWayPoints_markers = [];

var gWayPoints_MarkerPointer = {
	oldMarkerPointer:null,
	tmpMarkerPointer:null,
	flag:false
};

var gWayPointIcon = null;
var gWayPointHighlightedIcon = null;
var gPhotoT="/PhotoT/";
var gPhotoM="/PhotoM/";
var gSymJtoE = [];
var gSymEtoJ = [];
var gSubWinHdl;
var gSubWinAutoPhotoHdl;

var gOffsetTime = 0;


//-------------------------------------------------
//  Set radio button (New)
//-------------------------------------------------
function setRadioButtonNew() {
	document.getElementsByName("RadioButtonWayOfAttaching")[0].checked = true;
	document.getElementsByName("RadioButtonWayOfAttaching")[1].checked = false;
	document.getElementsByName("RadioButtonWayOfAttaching")[2].checked = false;
}


//-------------------------------------------------
//  Set radio button (Remove)
//-------------------------------------------------
function setRadioButtonRemove() {
	document.getElementsByName("RadioButtonWayOfAttaching")[0].checked = false;
	document.getElementsByName("RadioButtonWayOfAttaching")[1].checked = true;
	document.getElementsByName("RadioButtonWayOfAttaching")[2].checked = false;
}


//-------------------------------------------------
//  Set radio button (Remain)
//-------------------------------------------------
function setRadioButtonRemain() {
	document.getElementsByName("RadioButtonWayOfAttaching")[0].checked = false;
	document.getElementsByName("RadioButtonWayOfAttaching")[1].checked = false;
	document.getElementsByName("RadioButtonWayOfAttaching")[2].checked = true;
}


//-------------------------------------------------
//  Create the Waypoints(Symbol)
//-------------------------------------------------
function createWaypointSymbols() {
	
	gSymJtoE["旗"] 					= "Flag";
	gSymEtoJ["Flag"]				= "旗";
	
	gSymJtoE["青の旗"] 				= "Flag, Blue";
	gSymEtoJ["Flag, Blue"] 			= "青の旗";
	
	gSymJtoE["緑の旗"] 				= "Flag, Green";
	gSymEtoJ["Flag, Green"] 		= "緑の旗";
	
	gSymJtoE["赤の旗"] 				= "Flag, Red";
	gSymEtoJ["Flag, Red"] 			= "赤の旗";
	
	gSymJtoE["ウェイポイント"]		= "Waypoint";
	gSymEtoJ["Waypoint"]			= "ウェイポイント";
	
	gSymJtoE["情報"] 				= "Information";
	gSymEtoJ["Information"] 		= "情報";
	
	gSymJtoE["トイレ"]				= "Restroom";
	gSymEtoJ["Restroom"]			= "トイレ";
	
	gSymJtoE["飲料水"]				= "Drinking Water";
	gSymEtoJ["Drinking Water"]		= "飲料水";
	
	gSymJtoE["売店・コンビニ"]		= "Convenience Store";
	gSymEtoJ["Convenience Store"]	= "売店・コンビニ";
	
	gSymJtoE["キャンプ場"]			= "Campground";
	gSymEtoJ["Campground"]			= "キャンプ場";
	
	gSymJtoE["橋"]					= "Bridge";
	gSymEtoJ["Bridge"]				= "橋";
	
	gSymJtoE["駐車場"]				= "Parking Area";
	gSymEtoJ["Parking Area"]		= "駐車場";
	
	gSymJtoE["森"]					= "Forest";
	gSymEtoJ["Forest"]				= "森";
	
	gSymJtoE["頂上"]				= "Summit";
	gSymEtoJ["Summit"]				= "頂上";
	
	gSymJtoE["交差点・分岐"]		= "Intersection";
	gSymEtoJ["Intersection"]		= "交差点・分岐";
	
	gSymJtoE["土手・堤防"]			= "levee";
	gSymEtoJ["levee"]				= "土手・堤防";
	
	gSymJtoE["崖・急斜面"]			= "Dropoff";
	gSymEtoJ["Dropoff"]				= "崖・急斜面";
	
	gSymJtoE["危険地帯"]			= "Danger Area";
	gSymEtoJ["Danger Area"]			= "危険地帯";
	
	gSymJtoE["ダム"]				= "Dam";
	gSymEtoJ["Dam"]					= "ダム";
	
	gSymJtoE["トンネル"]			= "Tunnel";
	gSymEtoJ["Tunnel"]				= "トンネル";
	
	gSymJtoE["自転車道"]			= "Bike Trail";
	gSymEtoJ["Bike Trail"]			= "自転車道";
	
	gSymJtoE["出口"]				= "Exit";
	gSymEtoJ["Exit"]				= "出口";
	
	gSymJtoE["ロッジ"]				= "Lodging";
	gSymEtoJ["Lodging"]				= "ロッジ";
	
	gSymJtoE["建物"]				= "Building";
	gSymEtoJ["Building"]			= "建物";
	
	gSymJtoE["ファーストフード"]	= "First Food";
	gSymEtoJ["First Food"]			= "ファーストフード";
	
	gSymJtoE["釣り場"]				= "Fishing Area";
	gSymEtoJ["Fishing Area"]		= "釣り場";
	
	gSymJtoE["ガソリンスタンド"]	= "Gas Station";
	gSymEtoJ["Gas Station"]			= "ガソリンスタンド";
	
	gSymJtoE["ホテル"]				= "Hotel";
	gSymEtoJ["Hotel"]				= "ホテル";
	
	gSymJtoE["家"]					= "House";
	gSymEtoJ["House"]				= "家";
	
	gSymJtoE["公園"]				= "Park";
	gSymEtoJ["Park"]				= "公園";
	
	gSymJtoE["学校"]				= "School";
	gSymEtoJ["School"]				= "学校";
	
	gSymJtoE["レストラン"]			= "Restaurant";
	gSymEtoJ["Restaurant"]			= "レストラン";
	
	gSymJtoE["動物園"]				= "Zoo";
	gSymEtoJ["Zoo"]					= "動物園";
}

//---------------------------------------------------------
//  Adjust Exif time
//---------------------------------------------------------
function adjustExifTime()
{
	var lat,lng;
	
	year 	= 2007;
	month	= 1;
	day		= 1;
	
	tmpExif = document.getElementById('ID_ExifTime').value;
	
	if (tmpExif == '') {
		return;
	}
	
	if (gPoints.length == 0) {
		return;
	}
	
	if (typeof(gPoints[0].Datetime) == 'undefined' || gPoints[0].Datetime == null) {
		return;
	}
	
	document.map.closeInfoWindow();
	
	hour	= parseInt(tmpExif.substr(0,2),10);
	min		= parseInt(tmpExif.substr(3,2),10);
	sec		= parseInt(tmpExif.substr(6,2),10);
	
	exifTime = new Date(year,month,day,hour,min,sec);
	
	
	tmpTrue = document.getElementById('ID_TrueTime').value;
	if (tmpTrue == '') {
		document.getElementById('ID_TrueTime').value = tmpExif;
		tmpTrue = tmpExif;
	}
	
	hour	= parseInt(tmpTrue.substr(0,2),10);
	min		= parseInt(tmpTrue.substr(3,2),10);
	sec		= parseInt(tmpTrue.substr(6,2),10);
	
	trueTime = new Date(year,month,day,hour,min,sec);
	
	gOffsetTime = (trueTime.getTime() - exifTime.getTime()) / 1000;		// Calculating offset time
	

	for(var i = 0; i < gWayPoints_markers.length; ++i) {
		if (gWayPoints_markers[i].exifTime != '') {
			
			hour	= parseInt(gWayPoints_markers[i].exifTime.substr(0,2),10);
			min		= parseInt(gWayPoints_markers[i].exifTime.substr(3,2),10);
			sec		= parseInt(gWayPoints_markers[i].exifTime.substr(6,2),10);
			
			exifTime = new Date(year,month,day,hour,min,sec);
			exifTime.setTime(exifTime.getTime() + gOffsetTime * 1000);
			
			pHour = (parseInt(gPoints[0].Datetime.substr(11,2),10) + 9) % 24;
			pMin  =  parseInt(gPoints[0].Datetime.substr(14,2),10);
			pSec  =  parseInt(gPoints[0].Datetime.substr(17,2),10);
			
			pointTime = new Date(year,month,day,pHour,pMin,pSec);
			
			minDiff = Math.abs(exifTime.getTime() - pointTime.getTime());
			lat = gPoints[0].Latitude;
			lng = gPoints[0].Longitude;
			
			for (var j = 0; j < gPoints.length; ++j) {
				
				pHour = (parseInt(gPoints[j].Datetime.substr(11,2),10) + 9) % 24;
				pMin  =  parseInt(gPoints[j].Datetime.substr(14,2),10);
				pSec  =  parseInt(gPoints[j].Datetime.substr(17,2),10);
				
				pointTime = new Date(year,month,day,pHour,pMin,pSec);
				
				diff = Math.abs(exifTime.getTime() - pointTime.getTime());
				if (diff < minDiff) {
					lat = gPoints[j].Latitude;
					lng = gPoints[j].Longitude;
					minDiff = diff;
				}
			}
			
			newLatLng = new GLatLng(lat,lng);
			gWayPoints_markers[i].setPoint(newLatLng);
		}
	}
	
	recoverMarker();
	deleteAllWayPoints();
	displayAllWayPoints();
}



//---------------------------------------------------------
//  Add photo
//---------------------------------------------------------
function addPhoto(photoFileName,tmpExifDate,tmpExifTime){
	
	if (gSubWinAutoPhotoHdl != null) {
		gSubWinAutoPhotoHdl.close();
	}
	
	document.map.closeInfoWindow();
	
	year 	= 2007;
	month	= 1;
	day		= 1;
	
	hour 	= tmpExifTime.substr(0,2);
	min 	= tmpExifTime.substr(3,2);
	sec 	= tmpExifTime.substr(6,2);
	
	exifTime = new Date(year,month,day,hour,min,sec);
	exifTime.setTime(exifTime.getTime() + gOffsetTime * 1000);
	
	var newLatLng = document.map.getCenter();

	sym 	= '情報';
	name 	= 'Photo';
	cmt 	= tmpExifDate + ' ' + tmpExifTime;
	
	if (gPoints.length == 0) {
		lat	= (document.map.getCenter()).y;
		lng = (document.map.getCenter()).x;
	}
	else {
		
		if (typeof(gPoints[0].Datetime) == 'undefined' || gPoints[0].Datetime == null) {
			lat	= (document.map.getCenter()).y;
			lng = (document.map.getCenter()).x;
		}
		else {
			pHour = (parseInt(gPoints[0].Datetime.substr(11,2),10) + 9) % 24;
			pMin  =  parseInt(gPoints[0].Datetime.substr(14,2),10);
			pSec  =  parseInt(gPoints[0].Datetime.substr(17,2),10);
			
			pointTime = new Date(year,month,day,pHour,pMin,pSec);
			
			minDiff = Math.abs(exifTime.getTime() - pointTime.getTime());
			lat = gPoints[0].Latitude;
			lng = gPoints[0].Longitude;
			
			for (var j = 0; j < gPoints.length; ++j) {
				
				pHour = (parseInt(gPoints[j].Datetime.substr(11,2),10) + 9) % 24;
				pMin  =  parseInt(gPoints[j].Datetime.substr(14,2),10);
				pSec  =  parseInt(gPoints[j].Datetime.substr(17,2),10);
				
				pointTime = new Date(year,month,day,pHour,pMin,pSec);
				diff = Math.abs(exifTime.getTime() - pointTime.getTime());
				
				if (diff < minDiff) {
					lat = gPoints[j].Latitude;
					lng = gPoints[j].Longitude;
					minDiff = diff;
				}
			}
		}
	}
	
	addWayPoint(gWayPointIcon,lat,lng,sym,name,cmt,photoFileName,tmpExifDate,tmpExifTime);
	
	if (gMode != kEDITMARKER) {
		disableDragWayPoints();
	}
	
	recoverMarker();
	document.map.removeOverlay(gMarkerPointer);
	gMarkerPointer = null;
}

//---------------------------------------------------------
//  Add photos automatically
//---------------------------------------------------------
function autoPhoto(){
	
	var randomFileName = getRandomFileName();
	
	if (gSubWinAutoPhotoHdl != null) {
		gSubWinAutoPhotoHdl.close();
	}
	
	gSubWinAutoPhotoHdl = window.open("/AutoUploadWin.html", randomFileName, "width=700,height=230,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,directories=no,status=no");
	
	clearMarkerInput();
}



//---------------------------------------------------------
//  Add Marker Entry Point from HTML
//---------------------------------------------------------
function addMarkerEntry(){
	
	var randomFileName = getRandomFileName();
	
	if (!(sts = addMarker(randomFileName))) {
		return;
	}
	
	if (gSubWinHdl != null) {
		gSubWinHdl.close();
	}
	
	if (sts && (document.getElementsByName("RadioButtonWayOfAttaching")[0].checked == true)) {
		gSubWinHdl = window.open("/UploadWin.html", randomFileName, "width=500,height=230,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,directories=no,status=no");
	
	}
	
	clearMarkerInput();
}


//---------------------------------------------------------
//  Add Marker
//---------------------------------------------------------
function addMarker(photoFileName) {
	if (gMarkerPointer == null) {
		alert("ポイントを指定してください");
		return false;
	}
	
	var sym  = document.getElementById('IDMarkerSym').value;
	var name = document.getElementById('IDWaypointName').value;
	var cmt  = document.getElementById('IDMarkerCmt').value;
	
	if (sym.length == 0 || name.length == 0) {
		alert("マーカーシンボル及びマーカー名を入れてください");
		return false;
	}
	
	var lat = document.getElementById('txtLatitude').value;
	var lng = document.getElementById('txtLongitude').value;
	
	if (document.getElementsByName("RadioButtonWayOfAttaching")[1].checked) {
		photoFileName = "NotExist";
	}
	
	addWayPoint(gWayPointIcon,lat,lng,sym,name,cmt,photoFileName,'','');

	document.map.removeOverlay(gMarkerPointer);
	gMarkerPointer = null;
	
	return true;
}


//---------------------------------------------------------
//  Del Marker Entry Point from HTML
//---------------------------------------------------------
function delMarkerEntry() {
	if (!gWayPoints_MarkerPointer.flag) {
		alert("マーカーを指定してください");
		return false;
	}
	
	var deleteConfirm = confirm("マーカーを削除します。よろしいですか？");
	
	if (deleteConfirm) {
		document.map.closeInfoWindow();
		delMarker();
	}
}


//---------------------------------------------------------
//  Del Marker 
//---------------------------------------------------------
function delMarker() {
	document.map.removeOverlay(gWayPoints_MarkerPointer.tmpMarkerPointer);			// Remove overlay
	document.map.removeOverlay(gWayPoints_MarkerPointer.oldMarkerPointer);			// Remove overlay
	
	for (var i = 0; i < gWayPoints_markers.length; ++i) {
		if (gWayPoints_markers[i] == gWayPoints_MarkerPointer.oldMarkerPointer) {
			gWayPoints_markers.splice(i,1);							// Remove object from array
			break;
		}
	}
	
	clearMarkerInput();
	
	gWayPoints_MarkerPointer.flag = false;
}


//---------------------------------------------------------
//  Change Marker
//---------------------------------------------------------
function changeMarkerEntry() {
	if (!gWayPoints_MarkerPointer.flag) {
		alert("マーカーを指定してください");
		return false;
	}
	
	if (gSubWinHdl != null) {
		gSubWinHdl.close();
	}
	
	photoFileName = gWayPoints_MarkerPointer.oldMarkerPointer.photoFileName;
	
	if (document.getElementsByName("RadioButtonWayOfAttaching")[0].checked) {
		if (photoFileName.substr(0,8) == "NotExist" || photoFileName == "") {
			photoFileName	= getRandomFileName();
		}
		
		gSubWinHdl = window.open("/UploadWin.html", photoFileName, 
					"width=500,height=170,scrollbars=no,resizable=no,menubar=no,toolbar=no,location=no,directories=no,status=no");
	}
	else if (document.getElementsByName("RadioButtonWayOfAttaching")[1].checked) {
		photoFileName = "NotExist";
	}
	
	document.map.removeOverlay(gWayPoints_MarkerPointer.tmpMarkerPointer);			// Remove overlay
	
	var lat				= gWayPoints_MarkerPointer.oldMarkerPointer.getPoint().lat();
	var lng				= gWayPoints_MarkerPointer.oldMarkerPointer.getPoint().lng();
	var	exifDate		= gWayPoints_MarkerPointer.oldMarkerPointer.exifDate;
	var	exifTime		= gWayPoints_MarkerPointer.oldMarkerPointer.exifTime;
	
	var sym				= document.getElementById('IDMarkerSym').value;
	var name			= document.getElementById('IDWaypointName').value;
	var cmt				= document.getElementById('IDMarkerCmt').value;
	
	delMarker();
	addWayPoint(gWayPointIcon,lat,lng,sym,name,cmt,photoFileName,exifDate,exifTime);	// Add GMarker object
	
	clearMarkerInput();
	document.map.closeInfoWindow();
	
	gWayPoints_MarkerPointer.flag = false;
}


//------------------------------------------------------------
//  Display Exif time
//------------------------------------------------------------
function displayExifTime(obj)
{
	
	if (typeof(obj.exifDate) == 'undefined' || obj.exifDate == '' || obj.exifDate == null) {
		return;
	}
	
	year 	= obj.exifDate.substr(0,4);
	month	= obj.exifDate.substr(5,2);
	day		= obj.exifDate.substr(8,2);
	
	hour	= obj.exifTime.substr(0,2);
	min		= obj.exifTime.substr(3,2);
	sec		= obj.exifTime.substr(6,2);
	
	exifTime = new Date(year,month,day,hour,min,sec);
	trueTime = new Date(year,month,day,hour,min,sec);
	
	trueTime.setTime(exifTime.getTime() + gOffsetTime * 1000);
	
	hour = '0' + exifTime.getHours();
	hour = hour.substring(hour.length - 2,hour.length);
	
	min	 = '0' + exifTime.getMinutes();
	min	 = min.substring(min.length - 2,min.length);
	
	sec	 = '0' + exifTime.getSeconds();
	sec	 = sec.substring(sec.length - 2,sec.length);
	
	document.getElementById('ID_ExifTime').value	= hour + ':' + min + ':' + sec;


	hour = '0' + trueTime.getHours();
	hour = hour.substring(hour.length - 2,hour.length);
	
	min	 = '0' + trueTime.getMinutes();
	min	 = min.substring(min.length - 2,min.length);
	
	sec	 = '0' + trueTime.getSeconds();
	sec	 = sec.substring(sec.length - 2,sec.length);
	
	document.getElementById('ID_TrueTime').value	= hour + ':' + min + ':' + sec;
}



//------------------------------------------------------------
//  Add Waypoint
//------------------------------------------------------------
function addWayPoint(wayPointIcon,lat,lng,sym,name,cmt,photoFileName,exifDate,exifTime)
{
	if (photoFileName == null) {
		photoFileName = '';
	}
	
	var wayPoint = new GLatLng(lat,lng);
	
  	var wayPointMarker 				= new GMarker(wayPoint,{icon:wayPointIcon			, draggable: true, 
  										title: sym + " " + name + " " + cmt });
	
	cmtCom	= cmt.replace 		(/\x0D\x0A|\x0D|\x0A/g,"<br>");
	
	cmtHTML	= cmtCom.replace	(/&lt;/g,"<");
	cmtHTML	= cmtHTML.replace	(/&gt;/g,">");
	cmtHTML	= cmtHTML.replace	(/script/g,"_script_");
	
	cmtSave = cmtCom.replace	(/&/g,"&amp;");
	cmtSave	= cmtSave.replace	(/</g,"&lt;");
	cmtSave	= cmtSave.replace	(/>/g,"&gt;");
	cmtSave	= cmtSave.replace	(/\"/g,"&quot;");
	
	wayPointMarker.sym				= sym;
	wayPointMarker.name				= name;
	wayPointMarker.cmt				= cmtSave;
	wayPointMarker.photoFileName 	= photoFileName;
	wayPointMarker.exifDate			= exifDate;
	wayPointMarker.exifTime			= exifTime;
	
	var htmlExplanation;
	
	if (photoFileName.substr(0,8) == 'NotExist' || photoFileName == '' || photoFileName == null) {
		htmlExplanation = 	'<body><div id="openInfoWin">' + sym + '<br>' + name + '<br>' + cmtHTML + '</div></body>';
		wayPointMarker.checked = false;
	}
	else {
		htmlExplanation = 	
							'<div style="width:350px;height:250px">' + sym + '<br>' + name + '<br><br>' + 
							'<center><a href="/ImageView.php?file=' + gPhotoM + photoFileName.substr(0,4) + 
							'/1_' + photoFileName + '.jpg" target="_blank"><img src="' + gPhotoT + photoFileName.substr(0,4) + 
							'/0_' + photoFileName + '.jpg" height="100" alt="Photo" border="0"></a></center><br>' + cmtHTML + 
							'</div>';
		wayPointMarker.checked = true;
	}
	
	wayPointMarker.htmlExplanation = htmlExplanation;
	
	gWayPoints_markers.push(wayPointMarker);
  document.map.addOverlay(wayPointMarker);
	
	GEvent.addListener(wayPointMarker,"click",function() {
		
		displayExifTime(this);
		
		wayPointMarker.openInfoWindowHtml(wayPointMarker.htmlExplanation);
		
		if (gMode == kVIEW) {
			
			document.getElementById('txtLatitude').value 	= this.getPoint().lat();
			document.getElementById('txtLongitude').value	= this.getPoint().lng();
			document.getElementById('txtDatetime').value	= this.exifDate + ' ' + this.exifTime;
		}
		else if (gMode == kEDITMARKER) {
		  	if (gMarkerPointer) {
  				document.map.removeOverlay(gMarkerPointer);
  				gMarkerPointer = null;
			}
			
			highlightMarker(this);
			
			document.getElementById('IDMarkerSym').value 			= this.sym;
			document.getElementById('IDWaypointName').value 		= this.name;
			
			cmt														= this.cmt;
			cmt	= cmt.replace(/&lt;/g,"<");
			cmt = cmt.replace(/&gt;/g,">");
			cmt = cmt.replace(/&quot;/g,"\"");
			cmt = cmt.replace(/&amp;/g,"&");
			cmt	= cmt.replace(/<br>/g,"\x0D");
			cmt = cmt.replace(/_script_/g,"script");
			
			document.getElementById('IDMarkerCmt').value 			= cmt;
			document.getElementById('txtLatitude').value			= this.getPoint().lat();
			document.getElementById('txtLongitude').value			= this.getPoint().lng();
			document.getElementById('txtDatetime').value			= this.exifDate + ' ' + this.exifTime;
			
			if (this.checked) {
				document.getElementsByName("RadioButtonWayOfAttaching")[2].disabled = false;
				setRadioButtonRemain();
			}
			else {
				setRadioButtonRemove();
				document.getElementsByName("RadioButtonWayOfAttaching")[2].disabled = true;
			}
		}
	});
	
	GEvent.addListener(wayPointMarker, "drag", function() {
    	document.getElementById('txtLatitude').value 	= this.getPoint().lat();
    	document.getElementById('txtLongitude').value 	= this.getPoint().lng();
	});
	
}



function highlightMarker(wayPointMarker) {
	if (gWayPoints_MarkerPointer.flag) {
		recoverMarker();
	}
	
	sym 			= wayPointMarker.sym;
	name			= wayPointMarker.name;
	cmt				= wayPointMarker.cmt;
	
  	tmpMarkerPointer 	= new GMarker(wayPointMarker,{icon:gWayPointHighlightedIcon, draggable: false, 
  								title: sym + " " + name + " " + cmt });
  								
  	tmpMarkerPointer.sym	= sym;
  	tmpMarkerPointer.name	= name;
  	tmpMarkerPointer.cmt	= cmt;
	
							
	tmpMarkerPointer.setPoint(wayPointMarker.getPoint());
	document.map.addOverlay(tmpMarkerPointer);
	
	gWayPoints_MarkerPointer.oldMarkerPointer 	= wayPointMarker;
	gWayPoints_MarkerPointer.tmpMarkerPointer 	= tmpMarkerPointer;
	gWayPoints_MarkerPointer.flag				= true;
}


function recoverMarker() {
	if (gWayPoints_MarkerPointer.flag) {
		document.map.removeOverlay(gWayPoints_MarkerPointer.tmpMarkerPointer);
		
		gWayPoints_MarkerPointer.oldMarkerPointer.setPoint(gWayPoints_MarkerPointer.tmpMarkerPointer.getPoint());
		
		gWayPoints_MarkerPointer.flag			= false;
	}
}




//------------------------------------------------------------
//  Delete all WayPoints
//------------------------------------------------------------
function displayAllWayPoints() {
	for(var i = 0; i < gWayPoints_markers.length; ++i) {
		document.map.addOverlay(gWayPoints_markers[i]);
	}
}

//------------------------------------------------------------
//  Delete all WayPoints
//------------------------------------------------------------
function deleteAllWayPoints() {
	for(var i = 0; i < gWayPoints_markers.length; ++i) {
		document.map.removeOverlay(gWayPoints_markers[i]);
	}
}



//------------------------------------------------------------
//  Disable dragging all WayPoints
//------------------------------------------------------------
function disableDragWayPoints() {
	for (var i = 0; i < gWayPoints_markers.length; ++i) {
		gWayPoints_markers[i].disableDragging();
	}
}

//------------------------------------------------------------
//  Enable dragging all WayPoints
//------------------------------------------------------------
function enableDragWayPoints() {
	for (var i = 0; i < gWayPoints_markers.length; ++i) {
		gWayPoints_markers[i].enableDragging();
	}
}

//-------------------------------------------------
//  Create Waypoints(Symbol) Icon
//-------------------------------------------------
function createWaypointIcon() {
	gWayPointIcon = new GIcon();
	gWayPointIcon.image = "/Design/WayPointFlag.png";
	gWayPointIcon.iconSize = new GSize(16,20);
	
	gWayPointIcon.shadow = "/Design/WayPointFlag40x20_shadow.png";
	gWayPointIcon.shadowSize = new GSize(40,20);
	gWayPointIcon.iconAnchor = new GPoint(0,17);
	gWayPointIcon.infoWindowAnchor = new GPoint(16,1);

	gWayPointHighlightedIcon = new GIcon();
	gWayPointHighlightedIcon.image = "/Design/WayPointRedFlag.png";
	gWayPointHighlightedIcon.iconSize = new GSize(16,20);
	
	gWayPointHighlightedIcon.shadow = "/Design/WayPointFlag40x20_shadow.png";
	gWayPointHighlightedIcon.shadowSize = new GSize(40,20);
	gWayPointHighlightedIcon.iconAnchor = new GPoint(0,17);
	gWayPointHighlightedIcon.infoWindowAnchor = new GPoint(16,1);
}


//-------------------------------------------------
//  Clear Marker Input
//-------------------------------------------------
function clearMarkerInput() {
	document.getElementById('IDWaypointName').value 	= "";
	document.getElementById('IDMarkerCmt').value 		= "";
	setRadioButtonRemove();
}


