// JavaScript Document

var iconLabel 	= new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','v','w','u','x','y','z');

var geocoder = new google.maps.Geocoder();

function gmap(address,moreAddress){
 	/*  表示領域取得  */
	//var mapdiv = new GMap2(document.getElementById("map_canvas"));
	var mapdiv = document.getElementById('map_canvas');

	/*マップのオプションを指定*/
	var myOptions = {
		zoom: 8, //拡大、縮小
		center: new google.maps.LatLng(36.238038 ,137.972034), //緯度経度
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		scaleControl: true,
		mapTypeControl: true
	};
	
	/*  マップ生成  */
	var map = new google.maps.Map(mapdiv, myOptions);
						
	var max = moreAddress.length;
	
	var m = 0;
	/*住所の配列をループします*/
	for(var j = 0; j < max ; j++) {
		if(moreAddress[j][4] && moreAddress[j][5]){
			if(moreAddress[j][6]){
		   		var cont = '<div style=" width85px ;position:relative ; float:left; margin:5px 5px 5px 0 ;"><img src="' + moreAddress[j][6] + '" width="80"></div><div style=" width:120px ;position:relative ; float:left; text-align:left ; "><p><a href="' + moreAddress[j][7] + '">' + moreAddress[j][2] + '</a></p>' + '<p>' + moreAddress[j][1] + '</p>' + '<p>' + moreAddress[j][3] + '</p></div>';	
				
			}else{
		   		var cont = '<p><a href="' + moreAddress[j][7] + '">' + moreAddress[j][2] + '</a></p>' + '<p>' + moreAddress[j][1] + '</p>' + '<p>' + moreAddress[j][3] + '</p>';
			}
	       var marker = myMarker( moreAddress[j][4] ,moreAddress[j][5] , m, cont , map , moreAddress[j][2]);
			
			m++;
		}
	}
	
}



function myMarker(p1 ,p2 , m , cont , map , name) {
 	var addlatlng = new google.maps.LatLng( p1, p2);
	
	var image = createPintypeMarkerIcon({fillColor:"00CCFF",letter:iconLabel[m] }); 
	
	var marker = new google.maps.Marker({
		position: addlatlng,
		map: map,
		icon:image,
		title: name
	});
	
	var infoWin = new google.maps.InfoWindow({
		content: cont ,
		size:new google.maps.Size(100,50)
	});

	google.maps.event.addListener(marker, 'click', function(){
		infoWin.open(map, marker);
	});	
			
		
	return marker;
}



function createPintypeMarkerIcon(opts) {
		
	var fillColor = opts.fillColor;
	var letter = escapeUserText_(opts.letter);
	var letterColor = opts.letterColor || "000000";
	var icon = opts.icon || "";
	var pinStyle = "pin";
	var starFillColor = (opts.pinStyle==="star" && !opts.starFillColor)?"FFFF00":opts.starFillColor;
	var label = (letter||icon)?(letter||icon):"+";
	

	switch(opts.pinStyle){
		case "star": pinStyle = "pin_star"; break;
		case "left": pinStyle = "pin_sleft"; break;
		case "right": pinStyle = "pin_sright"; break;
		default: pinStyle = "pin";
	}

	var pinProgram = (icon) ? "_icon":"_letter";
	
	var baseUrl = "http://chart.apis.google.com/chart?chst=d_map_xpin"+pinProgram+"&chld=";
	
	var iconUrl = baseUrl+""+pinStyle+"|"+(label)+"|"+fillColor;
	
	
	if(label==="+"){
		iconUrl += "|";
	}else
	if(letter){ 
		iconUrl += "|"+letterColor;
	}
	
	if(opts.pinStyle==="star") iconUrl += "|"+starFillColor;
	
	
	return iconUrl;
}

	function escapeUserText_(text) {
		if (text === undefined) {
			return null;
		}
		
		text = text.replace(/@/g, "@@");
		text = text.replace(/\\/g, "@\\");
		text = text.replace(/'/g, "@'");
		text = text.replace(/\[/g, "@[");
		text = text.replace(/\]/g, "@]");
		return encodeURIComponent(text);
	};

	function isEmpty(hash) {
		for ( var i in hash ) return false;
			return true;
	};


