var g = {
	map: null,
	lat: null,
	lon: null,
	zoom: 15,
	mapId: "map",
	bkcd: null,
	wobj: null,
	start: function(){
		g._showMap();
		g._cartStart();
	},
	oncart: function(){
		if(!cart || !g.wobj) return;
		if(g.wobj.className.match(/d_pu_on/)){
			location.href = "/car/w.php";
			return false;
		}
		if(cart.iscart(g.bkcd)) cart.del(g.bkcd);
		else if(!cart.add(g.bkcd)){
			alert("既に１０件登録済みです。\r\n(登録は最大５件までです)");
		}
		return false;
	},
	_showMap: function(){
		if(!$(g.mapId) || !$("lat") || !$("lon")) return;
		g.lat = parseFloat($("lat").value);
		g.lon = parseFloat($("lon").value);
		if(!g.lat || !g.lon){
			g._noMap();
			return;
		}
		g.map = new GMap2($(g.mapId));
		g.map.setCenter(new GLatLng(g.lat, g.lon), g.zoom);
		g.map.addControl(new GScaleControl());
		g.map.addControl(new GLargeMapControl());
		g.map.addControl(new GMapTypeControl());

		var marker = new GMarker(new GLatLng(g.lat, g.lon));
		var html =
			'<div style="margin:10px;white-space:nowrap;">' +
			'<div style="font-size:14px;">' + $("snm").value + '</div>' +
			'<div style="font-size:12px;">' + $("sad").value + '</div>' +
			'</div>';
		g.map.addOverlay(marker);
		marker.openInfoWindowHtml(html);
	    GEvent.addListener(marker, "click", function() {
	        marker.openInfoWindowHtml(html);
	    });
	},
	_noMap: function(){
		if(!$(g.mapId)) return;
		var img = document.createElement("img");
		img.src = "/images/no_map.gif";
		img.alt = "地図準備中";
		img.className = "d_errmap_toki";
		$(g.mapId).insertBefore(img, null);
	},
	_cartStart: function(){
		if(!$("bkdt") || !cart) return;
		var el = $A(document.getElementsByClassName("d_pu_off", $("bkdt")));
		if(!el[0] || !el[0].id) return;
		g.wobj = el[0];
		g.bkcd = el[0].id;
		cart.start(g._updCart);
	},
	_updCart: function(list){
		if(!cart) return;
		$("wcnt").innerHTML = cart.length();
		if(cart.iscart(g.bkcd)){
			g.wobj.className = g.wobj.className.replace(/d_pu_off/, "d_pu_on");
		}
		else {
			g.wobj.className = g.wobj.className.replace(/d_pu_on/, "d_pu_off");
		}
	}

}

window.onload = g.start;

