/**
 * @author mtanaka
 */

// グローバル変数
var host = 'meisho-lab.net';

var gmap=null;
var manager=null;
var handler=null; 
var keywordManager=null;
var hotelManager=null; 
var restaurantManager=null;
var articleManager=null;

function load() {
	
	resize();

	if (GBrowserIsCompatible()) {
		
		
		
		
		gmap = new GMap2($('map'));
		
		var loc = google.loader.ClientLocation;
  		if (loc == null) {
			loc = {};
			loc.latitude = 135.7496;
			loc.longitude = 35.0034;
		}

		handler = new GMapHandler({
			gmap: gmap,
			lat: loc.latitude,
			lng: loc.longitude,
			zoom: 12
			}
		);
		
		manager = new GeoInfoManager( { handler: handler} );
		keywordManager = new KeywordGeoInfoManager( { handler: handler, manager: manager} );
		hotelManager = new HotelGeoInfoManager( { handler: handler, manager: manager} );
		restaurantManager = new RestaurantGeoInfoManager( { handler: handler, manager: manager} );
		articleManager = new ArticleGeoInfoManager ( { handler: handler, manager: manager} );
	}
	
	initTabs('divSearchResultTabView',Array('ランドマーク','ホテル','レストラン','記事'),0,295,'');

	var field = new TextField($('formQuery'));
	field.setPlaceholder('地図上をキーワードで検索することもできます。');

	$("formQuery").observe('keypress',function(event){
		if(event.keyCode == 13) searchForLandmarks();
	});
	
	
}

function resize() {
	var map_obj = $('map');
	var disp=getDispSize();
	
	map_obj.style.width=(disp.width-300)+"px";
	map_obj.style.height=(disp.height-90)+"px";
	
	if(gmap){
		gmap.checkResize();
	}
	
	if (keywordManager) {
		keywordManager.resize();
	}
	if (hotelManager) {
		hotelManager.resize();
	}
	if (restaurantManager) {
		restaurantManager.resize();
	}
	if (articleManager) {
		articleManager.resize();
	}
}

function searchForLandmarks() {
	keywordManager.addKeywordSearchResult($("formQuery").getValue());
}

function getDispSize(){
 if(document.all){
	 if(window.opera){
		 return {width:document.body.clientWidth,height:document.body.clientHeight};
	 }else{
		 return {width:document.documentElement.clientWidth,height:document.documentElement.clientHeight};
	 }
 }
 else if(document.layers || document.getElementById){
	 return {width:window.innerWidth,height:window.innerHeight};
 }
}
