/*
 * plugin:jquery.easyGmap.js
 * version:1.0(2010.05.16)
 * requires:jQuery v1.3.2 later
 * author:Manabu Kushimoto(http://web-park.org)
 */

jQuery.noConflict();

window.onload = jQuery(function($){
			
	$.fn.easyGmap = function(z,m,b,t){

		/* ブラウザがGoogleMapに適応しているか判別 */
		if(GBrowserIsCompatible()){
			var gMap = ".gMap";
			var gMapAddress = ".gMapAddress";

			/* gMapクラスの関数 */			
			$(gMap).each(function(i){
				/* Mapを表示させるための変数 */
				var map = map+i;
				var address = $(gMapAddress , this).text();
				var geocoder,marker;
	
				var dispMap = "dispMap";				
				$(this).attr("id", dispMap + i);
		
				/* gMapクラス内にdiv要素を挿入 */
				var areaMap = document.createElement("div");
				$(areaMap).attr("id","areaMap" + i);
				var shareMap = "shareMap";
				$(areaMap).addClass(shareMap);
				$(this).append(areaMap);

				/* Mapを表示させるための関数 */
				map = new GMap2(areaMap);

				geocoder = new GClientGeocoder();
				geocoder.getLatLng(address,moveArea);
				
				function moveArea(LatLng){
					if (LatLng){
						map.addControl(new GMapTypeControl());
						map.addControl(new GLargeMapControl());

						var zoomMap = { z:z? z:15 };
						map.setCenter(LatLng, zoomMap.z);

						var markerImg = { m:m? m:false };
						marker = new GMarker(LatLng,markerImg.m);

						var balloonEvent = { b:b? b:"click" };
						var openInfo = address;
						if(balloonEvent.b == "click"){
							GEvent.addListener(marker,balloonEvent.b, function(){marker.openInfoWindowHtml(openInfo);})
						} else {
							GEvent.addListener(map,balloonEvent.b, function(){marker.openInfoWindowHtml(openInfo);})							
						}
						map.addOverlay(marker);
					}else{
						var noteMap = "noteMap";
						var textMap = {t:t? t:"この住所は見つかりませんでした。"};
						$(areaMap).append("<p class="+ noteMap +">"+ textMap.t +"</p>");
					}
				}
			});
		} else {
			alert("お使いのブラウザではGoogle Maps APIはご使用いただけません。");
		}
	}
});
