var sync_interval = 3000;
var run_interval = 100;
var GLatLng_interval = sync_interval/run_interval;

function layoutElements() {
	var flashDiv = $('flash'); 
	var map1Div = $('map1'); 
	var map2Div = $('map2'); 
	var map3Div = $('map3'); 
	var h = window.innerHeight;
	Element.setStyle(flashDiv, {'height':h/5*3+'px'});
	Element.setStyle(map1Div, {'height':h/5*2+'px'});
	Element.setStyle(map2Div, {'height':h/5+'px'});
	Element.setStyle(map3Div, {'height':h/5+'px'});
}

function setSwf() {
	var lcId = new Date().getTime();
	var flashProxy = new FlashProxy(lcId, "swf/javaScriptFlashGateway.swf");
	var fo = new FlashObject("swf/pixelRunner.swf", "fotester", "100%", "100%", "7", "#fff");
	fo.addVariable("lang", "jp");
	fo.addVariable("lcId", lcId);
	fo.addVariable("interval", sync_interval);
	fo.addParam("wmode", "opaque");
	fo.write("flash");
}

function setGoogleMap() {
	if (GBrowserIsCompatible()) {
		map1 = new GMap2($('map1'));
		map2 = new GMap2($('map2'));
		map3 = new GMap2($('map3'));
	}
}

function setStartPoint(xx, yy) {
	if(GBrowserIsCompatible()){
		actual_x = target_x = pre_x = xx;
		actual_y = target_y = pre_y = yy;

//		alert("target_x : "+target_x)

		var gpObj = new GLatLng(actual_y, actual_x);

//		map1.setCenter(gpObj, 13);
		map1.setCenter(gpObj, 13);
		map2.setCenter(gpObj, 6);
		map3.setCenter(gpObj, 2);

		marker1 = new GMarker(gpObj);
		marker2 = new GMarker(gpObj);
		marker3 = new GMarker(gpObj);
		map1.addOverlay(marker1);
		map2.addOverlay(marker2);
		map3.addOverlay(marker3);

		customMarkerObj = new GIcon();
		customMarkerObj.image = "img/cross.png";
		customMarkerObj.iconSize = new GSize(16, 16);
		customMarkerObj.iconAnchor = new GPoint(8, 8);
		marker_target = new GMarker(gpObj, customMarkerObj);
		map1.addOverlay(marker_target);
		count = 0;
		setInterval("moveGMap()", run_interval);
	}
}

function setNextPoint(xx, yy) {
//		alert("target_x2 : "+target_x)
	actual_x = pre_x = target_x;
	actual_y = pre_y = target_y;
	target_x = xx;
	target_y = yy;
	count = 0;
	var gpObj = new GLatLng(target_y, target_x);
	marker_target.setPoint(gpObj);
	//addLine();
}

function addLine() {
	var color = "#ff0000";
	var points = [new GLatLng(pre_y, pre_x), new GLatLng(target_y, target_x)];
	polyObj = new GPolyline(points, color);
	map1.addOverlay(polyObj);
}

function moveGMap() {
	actual_x += (target_x - pre_x)/GLatLng_interval;
	actual_y += (target_y - pre_y)/GLatLng_interval;
	var gpObj = new GLatLng(actual_y, actual_x);
	marker1.setPoint(gpObj);
	marker2.setPoint(gpObj);
	marker3.setPoint(gpObj);
	map1.panTo(gpObj);
	map2.panTo(gpObj);
	map3.panTo(gpObj);
	count += 1;
}

window.onresize = layoutElements;
addOnLoadListener(setSwf);
addOnLoadListener(layoutElements);
addOnLoadListener(setGoogleMap);

