/*---------------------------------+

すきなばしょ
design by Isao Watanabe 
up date:2010/01/07
Copyright (c) 2010 Sukina Basho. All Rights Reserved.

+----------------------------------*/
var gmap;
var mapOption;
var gMaker;
var sukinabashoIcon = '/wp-content/themes/sukinabasho/images/common/arw.png';
var twitterIcon = '/wp-content/themes/sukinabasho/images/common/arw03.png';


var zoomMode;

var tilelayer;
var defLatlng = new google.maps.LatLng(35.658704, 139.745408);
var defZoom = 17;

function setGmap(){
	jQuery('<div/>').attr('id','bgMap').appendTo('body');
	jQuery('<div/>').attr('id','mapMsg').appendTo('body');
	mapOption = {
		zoom : defZoom,
		center : defLatlng,
		navigationControl : false,
		mapTypeControl : false,
		scaleControl: true,
		mapTypeId : google.maps.MapTypeId.SATELLITE
	}
	
	gmap = new google.maps.Map(jQuery('div#bgMap').get(0), mapOption);
}

setGmap.prototype = {
	init : function(){
		mapOption = {
			zoom : defZoom,
			center : defLatlng,
			navigationControl : false,
			mapTypeControl : false,
			//scaleControl: false or true,
			mapTypeId : google.maps.MapTypeId.TERRAIN
		}
		var mode = jQuery('body').attr('id');
		if(mode == 'top'){
		
		}else{
			this.loadedMap();
		}
		
		this.setGmapUI();
	},
	setGmapUI : function(){
		//put UI
		jQuery('<div/>').attr('id','gmapNav').appendTo('body');
		jQuery('<ul/>').attr('id','gmapNav').appendTo('div#gmapNav');
		jQuery('<li/>').attr('id','btnMap').append(jQuery('<a/>').attr('href','#').text('Map')).appendTo('div#gmapNav ul');
		jQuery('<li/>').attr('id','btnSatellite').append(jQuery('<a/>').attr('href','#').addClass('on').text('Satellite')).appendTo('div#gmapNav ul');
		jQuery('<li/>').attr('id','btnPhysical').append(jQuery('<a/>').attr('href','#').text('Physical')).appendTo('div#gmapNav ul');
		jQuery('<li/>').attr('id','btnMapPrint').append(jQuery('<a/>').attr('href','#').text('print')).appendTo('div#gmapNav ul');
		this.gmapBtnAction();
		jQuery('div#gmapNav ul li a').bind('click',function(){
			jQuery('div#gmapNav ul li a').removeClass('on');
			var getMapType = jQuery(this).parent().attr('id');
			
			if(getMapType == 'btnMap'){
				gmap.setMapTypeId(google.maps.MapTypeId.ROADMAP);
				jQuery(this).addClass('on');
			}
			
			if(getMapType == 'btnSatellite'){
				gmap.setMapTypeId(google.maps.MapTypeId.SATELLITE);
				jQuery(this).addClass('on');
			}
			
			if(getMapType == 'btnPhysical'){
				gmap.setMapTypeId(google.maps.MapTypeId.TERRAIN);
				jQuery(this).addClass('on');
			}
		});
	},
	gmapBtnAction : function(){
		
		jQuery('li#btnMap').bind('mouseover',function(){
			jQuery(this).css('background-position','-67px 0');
		}).bind('mouseout',function(){
			jQuery(this).css('background-position','0 0');
		});
		
		jQuery('li#btnSatellite').bind('mouseover',function(){
			jQuery(this).css('background-position','-67px -19px');
		}).bind('mouseout',function(){
			jQuery(this).css('background-position','0 -19px');
		});
		
		jQuery('li#btnPhysical').bind('mouseover',function(){
			jQuery(this).css('background-position','-67px -36px');
		}).bind('mouseout',function(){
			jQuery(this).css('background-position','0 -36px');
		});
		
	},
	ChengeMap : function(tgr){
		var i = jQuery(tgr).find('p.gLatLng').text().split(',');
		var a = jQuery(tgr).find('p.address').text();
		var z = jQuery(tgr).find('p.zoomMode').text();
		
		if(z == ''){zoomMode = defZoom;}else{zoomMode = 13;}
		if(a == ''){
			var point = new google.maps.LatLng(i[0], i[1]);
			gmap.setCenter(point);
		}else{
			var geo = new google.maps.Geocoder();
			geo.geocode({'address':a}, function(response,status){
				if(status == google.maps.GeocoderStatus.OK){
					var point = response[0].geometry.location;
					gmap.setCenter(point);
				}
			});
		}
		gmap.setZoom(zoomMode);
	},
	loadedMap : function(){
		var m = jQuery('div#contentsWrapper div#contents').find('p.gLatLng').text().split(',');
		var z = jQuery('div#contentsWrapper div#contents').find('p.zoomMode').text();
		jQuery('div#innerWrapper div.hide').after('<p class="right radm"><a href="' + path + '/map.html?=latlng&' + m[0] + '&' + m[1] +'" class="popup">この場所へ行ってみる。(プリント用ページ)</a></p>');
		jQuery('a.popup').popupwindow(profiles);
		if(z == ''){zoomMode = defZoom;}else{zoomMode = 13;}
		
		var point = new google.maps.LatLng(m[0], m[1]);
		gMaker = new google.maps.Marker({
			position: point,
			map: gmap,
			icon: sukinabashoIcon
		});
		
		gmap.setCenter(point);
		gmap.setZoom(zoomMode);
		this.twitterLoadedMap();
	},
	/*
	twitterLoadedMap : function(){
		jQuery('<ul/>').appendTo('div.outputTwitterList');
		
		jQuery('ul#twitterList li').each(function(){
			var data = jQuery(this).text().split(',');
			var point = data[5].split(' ');
			var pic = data[5].split(' ');
			jQuery('<li/>').html('<a href="#' + point[5] +'">' + data[5] + '</a>').appendTo('div.outputTwitterList ul');
			var markerPoint = new google.maps.LatLng(point[0], point[1]);
			var tMarker = new google.maps.Marker({
				position: markerPoint,
				map: gmap,
				icon: twitterIcon
			});
			var infoWin = new google.maps.InfoWindow({
				content: '<p class="infoWindowMsg"><img src="' + data[3] + '" alt="" class="imgFloatLeft" />' + data[4] + '<br /><br /><a href="http://twitter.com/home?status=@' + data[2] + '"><span class="btnTweet">つぶやきに返信する</span></p>',
			});
			google.maps.event.addListener(tMarker, 'click', function(){
				infoWin.open(gmap, tMarker);
			});

			jQuery('div.outputTwitterList ul li').bind('click', function(){
				var mark = jQuery(this).find('a').attr('href');
				var h = mark.replace('#', '');
				var mk = h.split(',');
				var mkp = new google.maps.LatLng(mk[0], mk[1]);
				gmap.setCenter(mkp);
			});
		});
	}
	*/
	twitterLoadedMap : function(){
		var data;
		jQuery('<ul/>').appendTo('div.outputTwitterList');
		jQuery('ul#twitterList li').each(function(){
			var d = jQuery(this).text();
			data = d.split(',');
			jQuery('<li/>').html('<a href="#' + data[3] +'">' + data[4] + ' ' + data[0] + '</a>').appendTo('div.outputTwitterList ul');
		});
		
		jQuery('div.outputTwitterList ul li').bind('click', function(){
			var mark = jQuery(this).find('a').attr('href');
			var h = mark.replace('#', '');
			var geo = new google.maps.Geocoder();
			//alert(data[5]);
			geo.geocode({'address':h}, function(response,status){
				if(status == google.maps.GeocoderStatus.OK){
					var point = response[0].geometry.location;
					var tMarker = new google.maps.Marker({
						position: point,
						map: gmap,
						icon: twitterIcon
					});
					gmap.setCenter(point);
					var infoWin = new google.maps.InfoWindow({
						content: '<div class="infoWinMsg">' + '<div class="imgArea"><a href="' + data[5] + '" target="_blank"><img src="' + data[1] + '" alt="" /></a><p><a href="' + data[5] + '"  target="_blank">' + data[0] + '</a></p></div>' + '<div class="textArea"><p>' + data[4] + '</p></div>' + '<div class="clear"></div></div>'
					});
					google.maps.event.addListener(tMarker, 'click', function(){
						infoWin.open(gmap, tMarker);
					});
				}
			});
			
		});
		
	}
			
			
			/*
			var geo = new google.maps.Geocoder();
			geo.geocode({'address':place[0]}, function(response,status){
				if(status == google.maps.GeocoderStatus.OK){
					var point = response[0].geometry.location;
					var tMarker = new google.maps.Marker({
						position: point,
						map: gmap
					});
					var infoWin = new google.maps.InfoWindow({
						//09content: place[1];
					});
					google.maps.event.addListener(tMarker, 'click', function(){
						infoWin.open(gmap, tMarker);
					});
				}
			});
			*/
}

