﻿var area;
var season;
var genre;

var keyword;

var page;

var lat;
var lon;
var zoom = 9;
var map;
var g_markers = [];


var baseIcon = new GIcon();

//
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";

// maker icon
// baseIcon.iconSize = new GSize(20, 34);
// baseIcon.iconSize = new GSize(24, 34);
baseIcon.iconSize = new GSize(28, 42);

//
// baseIcon.shadowSize = new GSize(37, 34);
baseIcon.shadowSize = new GSize(49, 42);

//
// baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.iconAnchor = new GPoint(13, 42);

//
// baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoWindowAnchor = new GPoint(13, 2);

//
// baseIcon.infoShadowAnchor = new GPoint(18, 25);
baseIcon.infoShadowAnchor = new GPoint(18, 25);



function load(a,s,g,kw,lt,ln,pg,y,m,d){
	area = a;
	season = s;
	genre = g;
	keyword = kw;
	page = pg;
	year = y;
	month = m;
	day = d;
	
	lat = lt;
	lon = ln;
	
	mapMake();
	tableMake();
	setDisplay();
}

function tableMake(){
	var parameter = $H({area:area,season:season,genre:genre,keyword:keyword,page:page,year:year,month:month,day:day}).toQueryString();
	var req = new Ajax.Request(
		'ajax/tableMakeEvent.php',
		{
			method		:	'post',
			postBody	:	parameter,
			onSuccess	:	function (http){
				$('tableHtml').innerHTML = http.responseText;
			}
		}
	);
}

function mapMake(){
	if (GBrowserIsCompatible()) {
if(typeof(LoadingWait) == 'object') { LoadingWait.show('map'); }
		g_markers = [];
		g_markers_use = [];
		g_markers_prev = [];
		g_markers_next = [];
		var wk_prev = -1;
		var wk_next = -1;
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		// map.addControl(new GOverviewMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(lat,lon), zoom);
		var parameter = $H({area:area,season:season,genre:genre,keyword:keyword,page:page,year:year,month:month,day:day}).toQueryString();
		var req = new Ajax.Request(
			'ajax/gmapMakeEvent.php',
			{
				method		:	'post',
				postBody	:	parameter,
				onSuccess	:	function (http){
					var json = eval("(" + http.responseText + ")");

					for(var i=0;i<json.informations.length;i++)
					{
						if(json.informations[i].lat=='' || json.informations[i].lot=='')
						{
							g_markers_use[i]=0;
						}
						else
						{
							g_markers_use[i]=1;
						}
					}
					for(i=0;i<json.informations.length;i++)
					{
						g_markers_prev[i]=-1;
						g_markers_next[i]=-1;

						for(var j=i-1;j>=0;j--)
						{ if(g_markers_use[j]==1) { g_markers_prev[i]=j; break; } }

						for(j=i+1;j<json.informations.length;j++)
						{ if(g_markers_use[j]==1) { g_markers_next[i]=j; break; } }
					}

					for(i=0;i<json.informations.length;i++){
						var marker = createMarker(json.informations[i],json.informations[0].idx);
						g_markers.push(marker);
						if(g_markers_use[i]==1) { map.addOverlay(marker); }
					}
					fitzoom(json);
				}
			}
		);
if(typeof(LoadingWait) == 'object') { LoadingWait.delayhide('map',3); }
	}
}

function fitzoom(info)
{
	var minlat=999;
	var minlon=999;
	var maxlat=-1;
	var maxlon=-1;
	var flag=0;
	for(var i=0;i<info.informations.length;i++)
	{
		var lat = parseFloat(info.informations[i].lat);
		var lon = parseFloat(info.informations[i].lon);
		if(minlat>lat){minlat=lat;flag=1;}
		if(maxlat<lat){maxlat=lat;flag=1;}
		if(minlon>lon){minlon=lon;flag=1;}
		if(maxlon<lon){maxlon=lon;flag=1;}
	}
	if(flag)
	{
	var setzoom = map.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(minlat,minlon),new GLatLng(maxlat,maxlon)));
	map.setCenter(new GLatLng((maxlat+minlat)/2.0,(maxlon+minlon)/2.0),setzoom);
	}
}

function createMarker(info,start_idx){
	var latlng = new GLatLng(info.lat, info.lon);
	if (info.idx <= 100){
		var icon = new GIcon(baseIcon);
		icon.image = "/image/gmarker/marker" + info.idx + ".png";
		var marker = new GMarker(latlng,icon);
	}else{
		var marker = new GMarker(latlng);
	}
	GEvent.addListener(marker, "click", function(){
			var parameter = $H({info_key:info.key,start_idx:start_idx,info_no:(info.no+1),info_idx:info.idx,markermax:g_markers.length,marker_prev:g_markers_prev[info.no],marker_next:g_markers_next[info.no]}).toQueryString();
			var req = new Ajax.Request(
				'ajax/mapOne.php',
				{
					method		:	'post',
					postBody	:	parameter,
					onSuccess	:	function (http){
						var res = http.responseText;
						var tabHtml = res.split('**********');

						var tabList = [
							new GInfoWindowTab("観光情報",tabHtml[0]),
							new GInfoWindowTab("解説",tabHtml[1])
						];
						marker.openInfoWindowTabsHtml(tabList);
					}
				}
			);
		}
	);
	return marker;
}
function setDisplay(){
	$('area_kaga').src = "images/icon-kaga-s.gif";
	$('area_hakusan').src = "images/icon-hakusan-s.gif";
	$('area_kanazawa').src = "images/icon-kanazawa-s.gif";
	$('area_noto').src = "images/icon-noto-s.gif";
	$('area_all').src = "images/icon-all-s.gif";
	switch (area){
		case '1':
			$('area_kaga').src = "images/icon-kaga-s-on.gif";
			break;
		case '2':
			$('area_hakusan').src = "images/icon-hakusan-s-on.gif";
			break;
		case '3':
			$('area_kanazawa').src = "images/icon-kanazawa-s-on.gif";
			break;
		case '4':
			$('area_noto').src = "images/icon-noto-s-on.gif";
			break;
		default:
			$('area_all').src = "images/icon-all-s-on.gif";
	}
//	$('season_1').src = "images/icon-jan-s.gif";
//	$('season_2').src = "images/icon-feb-s.gif";
//	$('season_3').src = "images/icon-march-s.gif";
//	$('season_4').src = "images/icon-april-s.gif";
//	$('season_5').src = "images/icon-may-s.gif";
//	$('season_6').src = "images/icon-june-s.gif";
//	$('season_7').src = "images/icon-july-s.gif";
//	$('season_8').src = "images/icon-august-s.gif";
//	$('season_9').src = "images/icon-sep-s.gif";
//	$('season_10').src = "images/icon-oct-s.gif";
//	$('season_11').src = "images/icon-nov-s.gif";
//	$('season_12').src = "images/icon-dec-s.gif";
//	$('season_spring').src = "images/icon-spring-s.gif";
//	$('season_summer').src = "images/icon-summer-s.gif";
//	$('season_autumn').src = "images/icon-autumn-s.gif";
//	$('season_winter').src = "images/icon-winter-s.gif";
//	$('season_all').src = "images/icon-season-all-s.gif";
//	switch (season){
//		case '1':
//			$('season_1').src = "images/icon-jan-s-on.gif";
//			break;
//		case '2':
//			$('season_2').src = "images/icon-feb-s-on.gif";
//			break;
//		case '3':
//			$('season_3').src = "images/icon-march-s-on.gif";
//			break;
//		case '4':
//			$('season_4').src = "images/icon-april-s-on.gif";
//			break;
//		case '5':
//			$('season_5').src = "images/icon-may-s-on.gif";
//			break;
//		case '6':
//			$('season_6').src = "images/icon-june-s-on.gif";
//			break;
//		case '7':
//			$('season_7').src = "images/icon-july-s-on.gif";
//			break;
//		case '8':
//			$('season_8').src = "images/icon-august-s-on.gif";
//			break;
//		case '9':
//			$('season_9').src = "images/icon-sep-s-on.gif";
//			break;
//		case '10':
//			$('season_10').src = "images/icon-oct-s-on.gif";
//			break;
//		case '11':
//			$('season_11').src = "images/icon-nov-s-on.gif";
//			break;
//		case '12':
//			$('season_12').src = "images/icon-dec-s-on.gif";
//			break;
//		case 'spring':
//			$('season_spring').src = "images/icon-spring-s-on.gif";
//			break;
//		case 'summer':
//			$('season_summer').src = "images/icon-summer-s-on.gif";
//			break;
//		case 'autumn':
//			$('season_autumn').src = "images/icon-autumn-s-on.gif";
//			break;
//		case 'winter':
//			$('season_winter').src = "images/icon-winter-s-on.gif";
//			break;
//		default:
//			$('season_all').src = "images/icon-season-all-s-on.gif";
//	}
	$('inkeyword').value = keyword;
}
function showTabs(no){
	var marker = g_markers[no];
	GEvent.trigger(marker, 'click');
	// window.scroll(0,0);
}
function changeArea(a){
	page = 1;
	keyword = "";
	area = a;
	getMapAttr();
	mapMake();
	tableMake();
	setDisplay();
}

function changeSeason(s){
	page = 1;
	keyword = "";
	season = s;
	getMapAttr();
	mapMake();
	tableMake();
	setDisplay();
}

function changePage(p){
	page = p;
	getMapAttr();
	mapMake();
	tableMake();
	setDisplay();
}

function searchKeyWord(){
	keyword = $('inkeyword').value;
	page = 1;
//	getMapAttr();
//	mapMake();
//	tableMake();
//	setDisplay();
	var parameter = $H({area:area,season:season,keyword:keyword,page:page}).toQueryString();
	window.location.href = "event.php?" + parameter;
}

function searchKeyWord2(){
	keyword = $('inkeyword').value;
	page = 1;
//	getMapAttr();
//	mapMake();
//	tableMake();
//	setDisplay();
	var parameter = $H({area:area,year:year,month:month,day:day,keyword:keyword,page:page}).toQueryString();
	window.location.href = "event.php?" + parameter;
}

function getMapAttr(){
	lat = (map.getCenter()).lat();
	lon = (map.getCenter()).lng();
	zoom = map.getZoom();
}
function viewPrint(){
	getMapAttr();
	var parameter = $H({area:area,season:season,genre:genre,keyword:keyword,page:page,lat:lat,lon:lon,zoom:zoom}).toQueryString();
	window.open("search-print.php?" + parameter);
}

function unload(){
	GUnload();

}

