var icon = new GIcon();
icon.image = 'http://www.myhome-univ.jp/images/marker.png';
icon.shadow = '';
icon.iconSize = new GSize(38, 32);
icon.shadowSize = new GSize(0, 0);
icon.iconAnchor = new GPoint(11, 30);
icon.infoWindowAnchor = new GPoint(19, 1);

var invertIcon = new GIcon();
var marker_open = 0;
invertIcon.image = 'http://www.myhome-univ.jp/images/marker2.png';
invertIcon.shadow = '';
invertIcon.iconSize = new GSize(33, 32);
invertIcon.iconAnchor = new GPoint(10, 5);
invertIcon.infoWindowAnchor = new GPoint(24, 15);

Array.prototype.in_array = function(val) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == val) {
			return true;
		}
	}
	return false;
}

// specify id for invertIcon use cases
var invertIconUsers = new Array(
	0,			// do not remove
	2421
);

function showMap(address) {
	if (address) {
		geocoder.getLatLng('日本' + address, convertAddress);
	} else {
		map.setCenter(new GLatLng(34.68171110332857, 135.5068302154541), 17);
	}
}

function convertAddress(latlng) {
	var prefecture;
	if (document.getElementById('prefecture').type.match(/^select/)) {
		prefecture = document.getElementById('prefecture').options[document.getElementById('prefecture').selectedIndex].value;
	} else {
		prefecture = document.getElementById('prefecture').value;
	}
	var addr = document.getElementById('address').value;
	var cache = geocoder.getCache();

	map.clearOverlays();
	currentMarkers.splice(0, currentMarkers.length);

	if (cache) {
		if (latlng) {
			var zoom = (addr == '') ? 10 : 13;
			map.setCenter(latlng, zoom);

			var rect = map.getBounds();

			gxmlhttp.open('GET', '/php/getmarkers.php?sw_lat=' + encodeURI(rect.getSouthWest().lat()) + '&sw_lng=' + encodeURI(rect.getSouthWest().lng())
												+ '&ne_lat=' + encodeURI(rect.getNorthEast().lat()) + '&ne_lng=' + encodeURI(rect.getNorthEast().lng())
							);
			gxmlhttp.onreadystatechange = function() {
				if (gxmlhttp.readyState === 4) {
					var xml = GXml.parse(gxmlhttp.responseText);
					var markers = xml.documentElement.getElementsByTagName('marker');
					for (var i = 0; i < markers.length; i++) {
						var ids = markers[i].getElementsByTagName('id');
						var lats = markers[i].getElementsByTagName('lat');
						var lngs = markers[i].getElementsByTagName('lng');
						var names = markers[i].getElementsByTagName('name');
						var addresses = markers[i].getElementsByTagName('address');
						var spaces = markers[i].getElementsByTagName('space');
						var fees = markers[i].getElementsByTagName('fee');
						alert ('OK');
						var saleses = markers[i].getElementsByTagName('sales');
						alert (saleses);
						var imgs = markers[i].getElementsByTagName('img');

						var id = parseInt(GXml.value(ids[0]));
						var lat = parseFloat(GXml.value(lats[0]));
						var lng = parseFloat(GXml.value(lngs[0]));
						var name = GXml.value(names[0]);
						var img = GXml.value(imgs[0]);

						var address = GXml.value(addresses[0]);
						var space = GXml.value(spaces[0]);
						var fee = GXml.value(fees[0]);
						var sales = GXml.value(saleses[0]);

						var marker = createMarker(id, lat, lng, name, address, space, fee, sales, img);
						map.addOverlay(marker);
						currentMarkers.push(id);

					}
				}
			}

			gxmlhttp.send('');
		}
	}
}

function moveOrZoom() {
	var cache = geocoder.getCache();

	if (cache) {
		var rect = map.getBounds();

		gxmlhttp.open('GET', '/php/getmarkers.php?sw_lat=' + encodeURI(rect.getSouthWest().lat()) + '&sw_lng=' + encodeURI(rect.getSouthWest().lng()) + '&ne_lat=' + encodeURI(rect.getNorthEast().lat()) + '&ne_lng=' + encodeURI(rect.getNorthEast().lng()) + '&az_tsubo_min=' + document.map_search.az_tsubo_min.value +  '&az_tsubo_max=' + document.map_search.az_tsubo_max.value);

		var mapform = document.map_search;

		mapform.az_latitude_min.value = rect.getSouthWest().lat();
		mapform.az_latitude_max.value = rect.getNorthEast().lat();
		mapform.az_longitude_min.value = rect.getSouthWest().lng();
		mapform.az_longitude_max.value = rect.getNorthEast().lng();

		gxmlhttp.onreadystatechange = function() {
			if (gxmlhttp.readyState === 4) {
				var xml = GXml.parse(gxmlhttp.responseText);
				var markers = xml.documentElement.getElementsByTagName('marker');
				if (marker_open == 0) {
					map.clearOverlays();
				} else {
					marker_open = 0;
				}
				for (var i = 0; i < markers.length; i++) {
					var ids = markers[i].getElementsByTagName('id');
					var lats = markers[i].getElementsByTagName('lat');
					var lngs = markers[i].getElementsByTagName('lng');
					var names = markers[i].getElementsByTagName('name');
					var imgs = markers[i].getElementsByTagName('img');
				var addresses = markers[i].getElementsByTagName('address');
				var spaces = markers[i].getElementsByTagName('space');
				var fees = markers[i].getElementsByTagName('fee');
				var saleses = markers[i].getElementsByTagName('sales');


					var id = parseInt(GXml.value(ids[0]));
					var lat = parseFloat(GXml.value(lats[0]));
					var lng = parseFloat(GXml.value(lngs[0]));
					var name = GXml.value(names[0]);

					var address = GXml.value(addresses[0]);
					var space = GXml.value(spaces[0]);
					var fee = GXml.value(fees[0]);
					var sales = GXml.value(saleses[0]);

					var img = GXml.value(imgs[0]);

					if (!lookupMarker(id)) {
						var marker = createMarker(id, lat, lng, name, address, space, fee, sales, img);
						map.addOverlay(marker);
						currentMarkers.push(id);
					}
				}
			}
		}
		gxmlhttp.send('');
	}

}

function createMarker(id, lat, lng, name, address, space, fee, sales, img) {
	var marker = null;
	if (invertIconUsers.in_array(id)) {
		marker = new GMarker(new GLatLng(lat, lng), invertIcon);
	} else {
		marker = new GMarker(new GLatLng(lat, lng), icon);
	}
	var html = '<div style="width:280px;margin:5px;"><a href="' + document.location.protocol + '//' + document.location.hostname + '/cgi/mt/mt-fmtb-detail.cgi?BlogID=1&EntryID=26&__mode=search&bp=propno&p=' + id + '/" target="_blank"><img src="cgi/mt/mt-fmtb-image.cgi?i=' + img + '" alt="' + name + '" height="85" border="0" align="left" /></a>'
				+ '<a href="' + document.location.protocol + '//' + document.location.hostname + '/cgi/mt/mt-fmtb-detail.cgi?BlogID=1&EntryID=26&__mode=search&bp=propno&p=' + id + '" target="new" style="color:#2369ff;font-size:12px;text-decoration:none;">' + name + '</a><br />'
				+ address + '<br />';

	if (fee) {
	 html = html + fee + '円/' + space + '坪' + '<br />';
	} else {
	 html = html + space + '坪' + '<br />';
	}
	html = html + decodeURI(sales) + '<br />' 
				+ '<br clear="all" /></div>';
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
		marker_open = 1;
	});
	return marker;
}

function lookupMarker(id) {
return false;
//	for (i = 0; i < currentMarkers.length; i++) {
//		if (currentMarkers[i] == id) {
//			return true;
//		}
//	}
//	return false;
}

