var host = "" + location.host;
if( typeof G_Class != "undefined" && typeof G_Class.init.autoload != "undefined" ){
	G_Class.init.autoload({"self":'' + self.location.host});
}
else{
	alert("Google mapの読み込みが出来ません。");
}
G_Class.init.zoomlevel = 13;

/* Googlemap Route 検索  */
var rmf = {
	load:function( o ){
		if(GBrowserIsCompatible()){
			var gl = [];
			var dl = [];
			var contents = [];
			// typeの追加 0422
			for(var i=0;i<o.length;i++){
				
				var wp = [];
				contents[i]={};
				contents[i].elem = [];
				contents[i].info = [];
				var idm = document.getElementById(o[i].mid);
				var idr = document.getElementById(o[i].rid);
				idr.style.display = "none";
				if( typeof o[i].width != "undefined" && typeof o[i].height != "undefined" ){
					idm.style.cssText = "width:" + o[i].width + "px;height:" + o[i].height + "px;";
				}
				for(var k=0;k<o[i].info.length;k++){
					wp.push( o[i].info[k].wp );
					var divL = document.createElement("div");
					divL.className="divL";
					var divR = document.createElement("div");
					divR.className="divR";
					var dle = document.createElement("dl");
					var dataBasic = document.createElement("div");
					dataBasic.className = "dataBasic";
					var h3 = document.createElement("h3");
					var a = document.createElement("a");
					a.appendChild( document.createTextNode( o[i].info[k].name ) );
					a.href = "javascript:void(0);";
					if(o[i].info[k].url!=""){
						a.href = o[i].info[k].url;
					}
					h3.appendChild(a);
					dataBasic.appendChild( h3 );
					if( o[i].info[k].zip ){
						// 郵便番号
						var dt = document.createElement("dt");
						dt.appendChild(document.createTextNode("郵便番号"));
						dle.appendChild(dt);
						var dd = document.createElement("dd");
						dd.appendChild( document.createTextNode( o[i].info[k].zip ) );
						dle.appendChild(dd);
					}
					
					// 所在地
					
					if( typeof contents[i].info[k] == "undefined" ){
						contents[i].info[k] = {};
					}
					contents[i].info[k].address = o[i].info[k].address;
					if( o[i].info[k].address ){
						var dt = document.createElement("dt");
						dt.appendChild(document.createTextNode("所在地"));
						dle.appendChild(dt);
						var dd = document.createElement("dd");
						//dd.id = "address"+k;
						dd.appendChild( document.createTextNode( o[i].info[k].address ) );
						dle.appendChild(dd);
					}
					else{
						// dd.appendChild( document.createTextNode( "*" ) );
					}
					
					if( o[i].info[k].tel ){
						// Tel
						var dt = document.createElement("dt");
						dt.appendChild(document.createTextNode("Tel"));
						dle.appendChild(dt);
						var dd = document.createElement("dd");
						dd.appendChild( document.createTextNode( o[i].info[k].tel ) );
						dle.appendChild(dd);
					}
					if( o[i].info[k].sam ){
						// 概要
						var dt = document.createElement("dt");
						dt.appendChild(document.createTextNode("概要"));
						dle.appendChild(dt);
						var dd = document.createElement("dd");
						dd.appendChild( document.createTextNode( o[i].info[k].sam ) );
						dle.appendChild(dd);
					}
					dataBasic.appendChild(dle);
					if( o[i].info[k].thumb ){
						// サムネイル
						var lb = document.createElement("a");
						// lb.href = o[i].info[k].thumb;
						lb.href = "javascript:void(0);";
						lb.className = "lightbox";
						if( typeof o[i].info[k].name != "undefined" ) lb.title = o[i].info[k].name;
						lb.setAttribute("onclick","$('a.lightbox').colorbox({href:'" + o[i].info[k].thumb + "'});return false;");
						var img = document.createElement("img");
						img.src = o[i].info[k].thumb;
						img.alt = o[i].info[k].name;
						lb.appendChild( img );
						divL.appendChild( lb );
					}
					divR.appendChild(dataBasic);
					contents[i].elem[k] = {};
					contents[i].elem[k].num = k;
					contents[i].elem[k].left = divL;
					contents[i].elem[k].right = divR;
					contents[i].elem[k].geo = o[i].info[k].geo;
					contents[i].elem[k].address = o[i].info[k].address;
				}
				contents[i].num = i;
				contents[i].wp = wp;
				var c = contents[i];
				if( c.wp.length > 1 ){
					if( idr ){
						
						var a = document.createElement("a");
						a.href = "javascript:void(0);";
						a.rel = o[i].rid;
						a.onclick = function(){
							var r = document.getElementById(this.rel);
							if(typeof $ != "undefined"){
								if(r){
									if(r.style.display == "none" || r.style.display == ""){
										$(r).slideDown('slow');
										$(this).addClass('close');
									}
									else{
										$(r).slideUp();
										$(this).removeClass();
									}
								}
							}
						}
						if(o[i].mtype == "map_r"){
							var btn = document.createElement("div");
							btn.className = "gOpenBtn";
							btn.appendChild(a);
							idr.parentNode.insertBefore(btn, idr);
						}
						gl[gl.length] = new GMap2( idm );
						gl[gl.length-1].id = o[i].mid;
						G_Class.init.zoomlevel = 13;
						G_Class.G_Controls({"map":gl[gl.length-1], "slide":true, "type":true});
						gl[gl.length-1].disableDoubleClickZoom();
						
						// 切り替え - PIN
						dl[dl.length] = new GDirections( gl[gl.length-1], idr );
						//G_TRAVEL_MODE_DRIVING - Drive
						var mode = G_TRAVEL_MODE_WALKING;
						if(o[i].ttype == "t_car"){
							mode = G_TRAVEL_MODE_DRIVING;
						}
						dl[dl.length-1].loadFromWaypoints( c.wp, {locale: "ja_JP", travelMode: mode} );
						dl[dl.length-1].contents = c;
						dl[dl.length-1].gmap = gl[gl.length-1];
						if(o[i].mtype == "map_r"){
							dl[dl.length-1].mtype = o[i].mtype;
							GEvent.addListener(gl[gl.length-1], "zoomend", function (oLevel, nLevel){
								if(nLevel < G_Class.init.zoomlevel){
									// alert(gl[gl.length-1].hv.Point.coordinates[0]);
									// gl[gl.length-1].setCenter(new GLatLng(gl[gl.length-1].hv.Point.coordinates[0], gl[gl.length-1].hv.Point.coordinates[1]), G_Class.init.zoomlevel);
								}
							});
						}
						else if(o[i].mtype == "map_p"){
							
							gl[gl.length-1].coder = [];
							if(typeof dl[dl.length-1].elements == "undefined"){
								dl[dl.length-1].elements = [];
							}
							if(typeof dl[dl.length-1].geoCode == "undefined"){
								dl[dl.length-1].geoCode = [];
							}
							for( var k=0; k < c.info.length; k++ ){
								dl[dl.length-1].elements.push( c.elem[k] );
							}
							dl[dl.length-1].mtype = o[i].mtype;
						}
					}
				}
				if(c.wp.length == 1){
					// console.log(wp);
					gl[gl.length] = new GMap2( idm );
					gl[gl.length-1].id = o[i].mid;
					G_Class.init.zoomlevel = 13;
					G_Class.G_Controls({"map":gl[gl.length-1], "slide":true, "type":true});
					gl[gl.length-1].disableDoubleClickZoom();
					var div = document.createElement("div");
					div.appendChild(c.elem[0].left);
					div.appendChild(c.elem[0].right);
					div.innerHTML += "<br clear='all' />";
					G_Class.init.zoomlevel = 15;
					if(typeof o[i].zoom != "undefined" && typeof o[i].zoom != ""){
						G_Class.init.zoomlevel = Number( o[i].zoom );
					}
					G_Class.load({id:idm.id, address:wp[0], elem:div.innerHTML, slide:true, point:wp[0]});
					//console.log();
					/*var s = c.wp[0].split(",");
					var point = new GLatLng( Number(s[0]), Number(s[1]));
					var MapMarker = new GMarker( point );
					gl[gl.length-1].setCenter(point, zoom);
					gl[gl.length-1].addOverlay( MapMarker );*/
					
				}
				
				// End ///////
			}
			// PIN
			GEvent.addListener(dl[dl.length-1], "addoverlay", function( overlay ){
				// Geocode & Marker Search
				for(var k=0;k<dl.length;k++){
					if(typeof dl[k].mtype!="undefined" && dl[k].mtype == "map_p"){						
						var mk = [];
						var line = dl[k].getPolyline();
						if(typeof line != "undefined" && !line.isHidden()){
							line.hide();
						}
						if(dl[k].getNumGeocodes() > 0){
							for(var j=0;j<dl[k].getNumGeocodes();j++){
								var geo = dl[k].getGeocode( j ); // 地点取得
								if(typeof geo != "undefined"){
									var marker = dl[k].getMarker( j );// マーカーの取得
									if(typeof marker !="undefined" && !marker.isHidden()){
										marker.hide();
									}
									var div = document.createElement("div");
									var MapMarker = {};
									div.appendChild( dl[k].elements[j].left );
									div.appendChild( dl[k].elements[j].right );
									div.innerHTML += "<br clear='all' />";
									if( !dl[k].elements[j].geo ){
										MapMarker = new GMarker( new GLatLng( geo.Point.coordinates[1], geo.Point.coordinates[0] ) );
									}
									else{
										var s = dl[k].elements[j].geo.split(",");
										var point = new GLatLng( s[0], s[1]);
										MapMarker = new GMarker( point );
									}
									MapMarker.bindInfoWindow( div );
									dl[k].gmap.addOverlay( MapMarker );
								}
							}
						}
					}
					else{
						var dlcont = dl[k].contents;
						// alert( dl[k].getNumGeocodes() );
						var mk = [];
						var geo = [];
						for(var i=0;i<dl[k].getNumGeocodes();i++){
							geo[geo.length] = dl[k].getGeocode( i );// 地点取得
							if(typeof geo[geo.length-1] != "undefined"){
								mk[mk.length] = dl[k].getMarker( i );// マーカーの取得
								if(dlcont.info[i].address == ""){
									dlcont.info[i].address = geo[geo.length-1].address;
								}
								if( mk[mk.length-1] instanceof GMarker ){									
									var div = document.createElement("div");
									div.appendChild( dlcont.elem[i].left );
									div.appendChild( dlcont.elem[i].right );
									div.innerHTML += "<br clear='all' />";
									mk[mk.length-1].bindInfoWindow( div );
									var d = document.getElementById("address"+i);
									// alert(d);											
									if( d ){
										// getLntLng
										// d.innerHTML = dlcont.info[i].address;
									}
								}
							}
						}
					}
				}
			});
			// o loop end
		}
	},
	a:function(a){
		alert(a.parentNode.getElementsByTagName("div")[0].id);
		
	}
};
/* flv player */
var fl = {
	load:function( o ){
		if(typeof SWFObject == "undefined"){
			// alert( "SWFObjectが見つかりません。" );
		}
		if(!o.controler.background) o.controler.background = "#fff";
		if(!o.controler.version) o.controler.version = "8.0.0";
		for(var i=0;i<o.source.length;i++){
			var	so = new SWFObject(o.controler.src, o.controler.name, o.controler.width, o.controler.height, o.controler.version, o.controler.background);
			so.addParam("allowScriptAccess", "always");// サーバーにあげたら"sameDomain"に書き直す
			so.addVariable("skin", o.controler.skin);// skinファイル
			var d = document.getElementById( o.source[i].id );
			if(d){
				so.addVariable(o.source[i].name, o.source[i].value);
				so.write( o.source[i].id );
			}
		}
	}
};
var addListener = (function() {
    if ( window.addEventListener ) {
        // DOM Events 実装ブラウザ用
        return function(target, type, func) {
            target.addEventListener(type, func, false);
            return true;
        };
    } else if( window.attachEvent ) {
        // IE 用
        return function(target, type, func) {
            // ----- 局所変数の宣言 -----
            var i = 0;
            var hasBeenAdded = false;
            // ----- 処理 -----
            // target のプロパティに管理用配列を追加
            if( ! target._vividcode_el ) {
                target._vividcode_el = new Array(0);
                // unload 時に解体
                window.attachEvent("onunload", function myself(evt) {
                    // 配列の中身を null に
                    for( i = 0; i < target._vividcode_el.length; i++ ) {
                        target._vividcode_el[i][0] = null;
                        target._vividcode_el[i][1] = null;
                        target._vividcode_el[i] = null;
                    }
                    // 配列への参照をなくす
                    target._vividcode_el = null;
                    // 自分自身を detachEvent
                    window.detachEvent("onunload", myself);
                });
            }
            // 既に登録済みかどうかチェックする
            hasBeenAdded = false;
            for( i = 0; i < target._vividcode_el.length; i++ ) {
                if( target._vividcode_el[i][0] === func ) {
                    hasBeenAdded = true;
                    break;
                }
            }
            // 未登録の場合, 登録する
            if( ! hasBeenAdded ) {
                i = target._vividcode_el.length;
                target._vividcode_el[i] = new Array(func, function(evt) {
                        // evt.currentTarget を指定
                        evt.currentTarget = target;
                        // EventListener 起動
                        func(evt);
                    });
            }
            // addEventListener の方では, 同じ関数を二重に登録しようとすると 2 個目は破棄される. 
            // attachEvent の方だと 2 個目は破棄されない. 同一の動作になるよう, まず detachEvent する. 
            target.detachEvent("on"+type, target._vividcode_el[i][1]);
            target.attachEvent("on"+type, target._vividcode_el[i][1]);
            // unload 時に detachEvent しなければメモリリークを起こすとどこかで読んだので念のため. 
            // 必要以上に detachEvent する場合もあるが実害はないと思う 
            // (さすがに動作時間はそんなに変わらないでしょう) ので気にしないことにする.
            window.attachEvent("onunload", (function () {
                // target._vividcode_el も onunload イベントで解体するので, 
                // 下手すると参照前に解体されている可能性もある. 
                // よって, あらかじめ局所変数に読み込んでおく.
                var func = target._vividcode_el[i][1];
                return function myself(evt) {
                    target.detachEvent("on"+type, func);
                    window.detachEvent("onunload", myself);
                };
            })() );
            return true;
        };
    } else {
        // addEventListener も attachEvent も持ってないブラウザ用
        return function(target, type, func) {
            return false;
        };
    }
})();
// google.load("jquery","1");
// google.load("jqueryui","1");
var geo = [];

G_Class.gt={
	init : function(){
		var ar = arguments[0];
		var q = "";
		/*
		for(var i=0;i<ar.a.length;i++){
			if(i<10){
				if(typeof ar.a[i].bussiness != "undefined"){
				var address = decodeURIComponent(ar.a[i].bussiness.location.prefecture_name + ar.a[i].bussiness.location.county_name + ar.a[i].bussiness.location.city_name + ar.a[i].bussiness.location.address1 + ar.a[i].bussiness.location.address2 + ar.a[i].bussiness.location.address3);
				q += '&geo[]='+address;
				}
			}
		}
		*/
		var gKey = 'gkey='+G_Class.init.apikey[self.location.host];
		var geoPhp = 'http://pre.machimura.fork.co.jp/js/geo.php?';
		var geoPhp = 'geo.php?';
		geoPhp += gKey;
		// geoPhp += q;
		geoPhp += '&gUrl='+encodeURIComponent(sUrl);
		var aStr = [];
		for( var i=0;i<prefInfo.zoomLevel.division.length;i++ ){
			if(prefInfo.zoomLevel.division[i].area == object.area.name){
				aStr.push(encodeURIComponent(prefInfo.zoomLevel.division[i].name));
			}
		}
		geoPhp += '&gArea='+aStr;
		var sc = "<script src='"+geoPhp+"' type='text/javascript'></script>";
		document.write(sc);
		// alert(document.getElementsByTagname("head"));
	},
	pageSender:function(){
		var ar = arguments[0];
		var q = "";
		var sc = document.createElement("script");
		var gKey = 'gkey='+G_Class.init.apikey[self.location.host];
		var geoPhp = 'http://pre.machimura.fork.co.jp/js/geo.php?';
		geoPhp += gKey;
		geoPhp += q;
		sc.src = geoPhp;
		document.getElemntsByTagName("head")[0].appendChild(sc);
	},
	queryString:function(){
		var q = location.search.substring(1).split("&");
		var arr = [];
		for(var i=0;i<q.length;i++){
			var v = q[i].split("=");
			arr.push({name:v[0],value:v[1]});
		}
		return arr;
	},
	createMarker:function(){
		var arg = arguments[0];
		if( typeof arg.lat != "undefined" && typeof arg.lng != "undefined" ){
			var point = new GLatLng( arg.lat, arg.lng );
			var marker = new GMarker( point );
			// console.log( arg.count );
			if(marker instanceof GMarker){
				arg.gobj.addOverlay( marker );
				marker.hide();
			}
			arg.prefsObject.marker = marker;
			window.navigation[window.navigation.length-1].removeObject.push( marker );
			if( arg.count < arg.maxView ){// 初期
				var li = G_Class.gt.GmapSearchElement( arg.prefsObject );
				if(typeof li != "undefined") arg.ul.appendChild( li );
			}
			window.navigation[window.navigation.length-1].area = arg.name;
		}
	},
	GmapSearchElement:function(arg){
		if(typeof arg.dm=="undefined"){
			return window.undefined;
		}
		var dm = arg.dm;
		var gobj = arg.gobj;
		var li = document.createElement("li");
		var lat,lng;
		if( typeof dm.bussiness.location.lat != "undefined" ){
			lat = Number(dm.bussiness.location.lat);
		}
		if( typeof dm.bussiness.location.lng != "undefined" ){
			lng = Number(dm.bussiness.location.lng);
		}
		// var geo = decodeURIComponent(dm.bussiness.location.coordinates).split(",");
		// var point = new GLatLng(geo[1], geo[0]);
		var marker = arg.marker;
		/* div container */
		var divElement = [];
		var divC = document.createElement("div");// Container Div
		var divL = document.createElement("div");
		divL.className="divL";
		var divR = document.createElement("div");
		divR.className="divR";
		var dle = document.createElement("dl");
		var dataBasic = document.createElement("div");
		dataBasic.className = "dataBasic";
		var h3 = document.createElement("h3");
		var a = document.createElement("a");
		
		a.appendChild( document.createTextNode( decodeURIComponent(dm.bussiness.name.split("+").join(" ")) ) );
		a.href = "javascript:void(0);";
		if(typeof dm.bussiness.detail_url != "undefined" && dm.bussiness.detail_url != ""){
			a.href = decodeURIComponent(dm.bussiness.detail_url);
		}
		if(typeof dm.bussiness.location.zip != "undefined" && dm.bussiness.location.zip != ""){
			var dt = document.createElement("dt");
			var dd = document.createElement("dd");
			dt.appendChild(document.createTextNode("郵便番号"));
			var zip1 = dm.bussiness.location.zip.substring(0,3);
			var zip2 = dm.bussiness.location.zip.substring(3, dm.bussiness.location.zip.length);
			dd.appendChild(document.createTextNode( zip1 + "-" + zip2 ));
			dle.appendChild(dt);
			dle.appendChild(dd);
		}
		var address = decodeURIComponent( dm.bussiness.location.prefecture_name + dm.bussiness.location.county_name + dm.bussiness.location.city_name + dm.bussiness.location.address1 + dm.bussiness.location.address2 + dm.bussiness.location.address3 );
		if(typeof address != "undefined" && address != ""){
			var dt = document.createElement("dt");
			var dd = document.createElement("dd");
			dt.appendChild(document.createTextNode("所在地"));
			dd.appendChild(document.createTextNode(address));
			dle.appendChild(dt);
			dle.appendChild(dd);
		}
		if(typeof dm.bussiness.tel != "undefined" && dm.bussiness.tel != ""){
			var dt = document.createElement("dt");
			var dd = document.createElement("dd");
			dt.appendChild(document.createTextNode("Tel"));
			dd.appendChild(document.createTextNode(dm.bussiness.area_code + "-" + dm.bussiness.tel));
			dle.appendChild(dt);
			dle.appendChild(dd);
		}
		if(typeof dm.bussiness.fax != "undefined" && dm.bussiness.fax != ""){
			var dt = document.createElement("dt");
			var dd = document.createElement("dd");
			dt.appendChild(document.createTextNode("Fax"));
			dd.appendChild(document.createTextNode(dm.bussiness.area_code + "-" + dm.bussiness.fax));
			dle.appendChild(dt);
			dle.appendChild(dd);
		}
		if(typeof dm.bussiness.summary != "undefined" && dm.bussiness.summary != ""){
			var dt = document.createElement("dt");
			var dd = document.createElement("dd");
			dt.appendChild( document.createTextNode("概要") );
			dd.innerHTML = decodeURIComponent( dm.bussiness.summary ).substring(0,120) ;
			dle.appendChild( dt );
			dle.appendChild( dd );
		}
		if(typeof dm.bussiness.category != "undefined" && dm.bussiness.category != ""){
			var dt = document.createElement("dt");
			var dd = document.createElement("dd");
			dt.appendChild( document.createTextNode("カテゴリー") );
			dd.innerHTML = decodeURIComponent( dm.bussiness.category ) ;
			dle.appendChild( dt );
			dle.appendChild( dd );
		}
		h3.appendChild(a);
		dataBasic.appendChild( h3 );
		dataBasic.appendChild( dle );
		divR.appendChild(dataBasic);
		var img = document.createElement("img");
		if( typeof dm.bussiness.thumbnail != "undefined" && dm.bussiness.thumbnail != "" ){
			img.src = "http://gt.ohrai.jp" + decodeURIComponent(dm.bussiness.thumbnail);
			img.alt = decodeURIComponent(dm.bussiness.name.split("+").join(" "));
			divL.appendChild(img);
			divC.appendChild(divL);
		}
		divC.appendChild(divR);
		divElement.push(divC);
		/* div container */
		if( typeof lat != "undefined" && typeof lng != "undefined" ){
			divElement[divElement.length-1].name = decodeURIComponent(dm.bussiness.name.split("+").join(" "));
			marker.coordinates = [lat, lng, 0];
			if(marker instanceof GMarker){
				marker.show();
				divElement[divElement.length-1].marker = marker;
				marker.bindInfoWindowHtml( divC.innerHTML );
			}
			var res_title = document.createElement("div");
			res_title.className = "res_title";
			var name = document.createElement("a");
			name.href = "javascript:void(0);";
			var gk = dm;
			name.rel = '['+marker.coordinates+",'"+divElement[divElement.length-1].name+"']";
			name.title = divElement[divElement.length-1].name + divElement.length;
			name.onclick = function(){
				var r = eval(this.rel);
				for(var i=0;i<divElement.length;i++){
					if(r[3] == divElement[i].name){
						gobj.setCenter(new GLatLng(r[0], r[1]), 15);
						if(divElement[i].marker instanceof GMarker) divElement[i].marker.openInfoWindowHtml( divElement[i].innerHTML );
					}
				}
			}
			var textComp = decodeURIComponent( dm.bussiness.name.split("+").join(" ") );
			name.appendChild(document.createTextNode( textComp ));
			// name.title = decodeURIComponent( dm.bussiness.name );
			res_title.appendChild(name);
			li.appendChild(res_title);
			var res_deta = document.createElement("div");
			res_deta.className = "res_deta";
			var aa = document.createElement("a");
			aa.href = "javascript:void(0);";
			if(typeof dm.bussiness.detail_url != "undefined"){
				aa.href = decodeURIComponent(dm.bussiness.detail_url);
			}
			aa.appendChild(document.createTextNode( "詳細を見る" ));
			res_deta.appendChild(aa);
			li.appendChild(res_deta);
			var br = document.createElement("div");
			br.className = "br_clear";
			li.appendChild(br);
			return li;
		}
		else{
			return window.undefined;
		}
	},
	removeMarkers:function(){
		var ar = arguments[0];
		var geo = decodeURIComponent(ar.bussiness.location.coordinates).split(",");
		if(geo.length == 3){
			var point = new GLatLng(geo[1], geo[0]);
			return marker = new GMarker( point );
		}
		else{
			return false;
		}
	},
	createIcon:function(){
		ar = arguments[0];
		var icon = new GIcon();
		icon.image = ar.url;
		icon.iconsize = new GSize(ar.width, ar.height);
		icon.iconAnchor = new GPoint(0, 0);
		return {object:icon};
	},
	removeIcon:function(){
	
	},
	GmapSearch:function(){
		var ar = arguments[0];
		// console.log(ar);
		if(GBrowserIsCompatible()) {
			var d = document.getElementById(ar.id);
			var div = document.createElement("div");
			div.id = "accordion_wrap";
			if(d){
				if( typeof window.gtList == "undefined" ){
					window.gtList = document.getElementById("gtList");
				}
				if( typeof window.gtMap == "undefined" ){
					window.gtMap = document.getElementById("gtMap");
				}
				var gobj = new GMap2(d);
				// G_Class.G_Controls({map:gobj, slide:true, type:true});
				zoom = G_Class.init.zoomlevel;
				markers = [];
				var areaInfo = {};
				for(var i=0;i<prefInfo.zoomLevel.area.length;i++){
					if( !object.area.name ){
						if(object.area.pref.length > 1){
							areaInfo = prefInfo.zoomLevel.area[0];
						}
					}
					if(prefInfo.zoomLevel.area[i].name == object.area.name){
						areaInfo = prefInfo.zoomLevel.area[i];
					}
				}
				for(var i=0;i<prefInfo.zoomLevel.division.length;i++){
					if( !object.area.name ){
						
						if(object.area.pref.length == 1 && prefInfo.zoomLevel.division[i].name == object.area.pref[0]){
							areaInfo = prefInfo.zoomLevel.division[i];
							// console.log(areaInfo);
						}
					}
				}
				areaInfo.division = [];
				for(var i=0;i<prefInfo.zoomLevel.division.length;i++){
					if(prefInfo.zoomLevel.division[i].area == object.area.name){
						areaInfo.division.push(prefInfo.zoomLevel.division[i]);
					}
					if(!object.area.name){
						areaInfo.division.push(prefInfo.zoomLevel.division[i]);
					}
				}
				// console.log();
				var group = {};
				group.division = [];
				for( var ia=0;ia<areaInfo.division.length;ia++ ){
					group.area = areaInfo;
					group.division[ia] = areaInfo.division[ia];
				}
				var gtList = window.gtList;
				var gtMap = window.gtMap;
				// window.gtList.appendChild( document.createTextNode("list") );
				// window.gtMap.appendChild( document.createTextNode("map") );
				if( gtList && gtMap ){
					$("#gtMap").click( function(){
						$(".searchMaps").slideDown("slow");
						$(".resultList").slideUp("slow");
						$("#gtMap").addClass("selectMap");
						$("#gtList").removeClass("selectList");
					});
					$("#gtList").click( function(){
						$(".resultList").slideDown("slow");
						$(".searchMaps").slideUp("slow");
						$("#gtList").addClass("selectList");
						$("#gtMap").removeClass("selectMap");
					});
				}
				// console.log( areaInfo );
				gobj.setCenter(new GLatLng(areaInfo.x, areaInfo.y), areaInfo.zoom);
				gobj.addControl(new GLargeMapControl3D());// 3D Map Controller
				// GMapControl
				gobj.addControl(new GMapTypeControl(), new GControlPosition( G_ANCHOR_BOTTOM_RIGHT, new GSize( 5, 20 )) );
				/* icon view */
				var icon = G_Class.gt.createIcon({url:"http://www.ohrai.jp/common/js/images/area01.png", width:64, height:64});
				var iMarker = new GMarker(new GLatLng(areaInfo.x, areaInfo.y), icon.object);
				// gobj.addOverlay(iMarker);
				/* icon view */
				var accordion = document.createElement("div");
				accordion.id = "accordion";
				
				var ulD = document.createElement("ul");
				ulD.className="acc";
				
				for(var i=0;i<group.division.length;i++){
					
					var ii = 0;
					var divi = group.division[i];
						
					divi.count = 0;
					divi.machimura = [];
					divi.history = [];
					divi.page = 1;//総ページ
					divi.pageNum = 1;
					divi.maxView = 10;//1ページのあたりの表示件数
					var ul = document.createElement("ul");
					ul.className = "fxmn";
					var liD = document.createElement("li");
					var divPageSend = document.createElement("li");
					
					divPageSend.className = "pagenum";
					ul.appendChild(divPageSend);
					if( typeof window.navigation == "undefined" ){
						window["navigation"] = [];
					}
					window.navigation[window.navigation.length] = [];
					window.navigation[window.navigation.length-1].removeObject = [];
					window.navigation[window.navigation.length-1].icon = window.undefined;
					// console.log(ar.a.area);
					
					for( var k=0; k<ar.a.area.length; k++ ){
						var dm = ar.a.area[k];
						var attached = decodeURIComponent(dm.bussiness.attached_businesses).split(",");
						var tab = object.business.tab;
						var category = object.business.category;
						var fw = object.etc.fw;
						var prefsObject = {dm:dm, gobj:gobj};
						// debug
						
						if( decodeURIComponent(dm.bussiness.location.prefecture_name) == divi.name ){
							var attched = decodeURIComponent(dm.bussiness.attached_businesses).split(",");
							var lat,lng;
							if( typeof dm.bussiness.location.lat!="undefined" && dm.bussiness.location.lat != "" ){
								lat = Number( dm.bussiness.location.lat );
							}
							if( typeof dm.bussiness.location.lng!="undefined" && dm.bussiness.location.lng != "" ){
								lng = Number( dm.bussiness.location.lng );
							}
							
							if( ((tab == "" || tab == category) && category == decodeURIComponent(dm.bussiness.category)) || category == "" ){
								G_Class.gt.createMarker({
									lat:lat,
									lng:lng,
									gobj:gobj,
									prefsObject:prefsObject,
									name:divi.name,
									dm:dm,
									count:divi.count,
									maxView:divi.maxView,
									ul:ul
								});
								divi.count++;
								divi.machimura.push(dm);
							}
							else{
								var tmp = [];
								for(var at=0;at<attched.length;at++){
									if( tab == attched[at] || category == attched[at] ){
										if( typeof lat != "undefined" && typeof lng != "undefined" ){
											tmp.push(dm);
										}
									}
								}
								for(var tm=0;tm<tmp.length;tm++){
									var pre = tm -1;
									if( ( typeof tmp[pre] != "undefined" && decodeURIComponent( tmp[pre].bussiness.name ) != decodeURIComponent( tmp[tm].bussiness.name )) || ( pre == -1 ) ){
										G_Class.gt.createMarker({
											lat:lat,
											lng:lng,
											gobj:gobj,
											prefsObject:prefsObject,
											name:divi.name,
											dm:dm,
											count:divi.count,
											maxView:divi.maxView,
											ul:ul
										});
										divi.count++;
										divi.machimura.push(dm);
									}
								}
							}
						}
						
					}
					
					divi.page = Math.ceil( divi.machimura.length / divi.maxView );
					var currentPage = document.createElement("span");
					currentPage.id = "pageNumber" + i;
					currentPage.appendChild(document.createTextNode("1page"));
					var currentArticle = document.createElement("span");
					currentArticle.id = "pageArticle" + i;
					var articleAll = "全" + divi.machimura.length + "件中:";
					currentArticle.appendChild(document.createTextNode("1～10件"));
					var PageSenderContainer = document.createElement("div");
					var PageSender = document.createElement("div");
					PageSender.className = "pageSend";
					PageSenderContainer.className = "pageSendeContainer";
					var next = document.createElement("a");
					next.id = "nextView"+i;
					next.className = "next";
					var prev = document.createElement("a");
					prev.id = "prevView"+i;
					prev.style.display = "none";
					prev.className = "prev";
					// divPageSend.appendChild( prev );
					// PageSender.appendChild( document.createTextNode( articleAll ) );
					// PageSender.appendChild( currentArticle );
					PageSender.appendChild(currentPage);
					PageSender.appendChild(document.createTextNode("/"+divi.page+"page"));
					PageSenderContainer.appendChild( prev );
					PageSenderContainer.appendChild( PageSender );
					PageSenderContainer.appendChild( next );
					if(divi.page <= 1){	
						next.style.display = "none";
					}
					var clear = document.createElement("div");
					clear.className = "br_clear";
					PageSenderContainer.appendChild(clear);
					var clear = document.createElement("div");
					clear.className = "br_clear";
					divPageSend.appendChild(PageSenderContainer);
					divPageSend.appendChild(clear);
					var h3 = document.createElement("div");
					var title = document.createElement("a");
					title.href="javascript:void(0);";
					title.rel = "coord:["+group.division[i].x+","+group.division[i].y+","+group.division[i].zoom+"]";
					title.onclick = function(){
						var r = eval(this.rel);
						gobj.panTo(new GLatLng(r[0], r[1]));
						gobj.setCenter(new GLatLng(r[0], r[1]), r[2]);
						/* icon view */
						var num = 0;
						if(typeof window.navigation[num].icon != "undefined"){
							// gobj.removeOverlay(window.navigation[num].icon);
						}
						var icon = G_Class.gt.createIcon({url:"http://www.ohrai.jp/common/js/images/area02.png",width:64,height:64});
						var iMarker = new GMarker(new GLatLng(r[0], r[1]), icon.object);
						// gobj.addOverlay(iMarker);
						window.navigation[window.navigation.length-1].icon = iMarker;
						/* icon view */
					}
					title.appendChild( document.createTextNode( group.division[i].name ) );
					h3.className = "category";
					h3.appendChild(title);
					window.navigation[window.navigation.length-1].prev = prev.id;
					window.navigation[window.navigation.length-1].next = next.id;
					window.navigation[window.navigation.length-1].li = divPageSend;
					window.navigation[window.navigation.length-1].gobj = gobj;
					window.navigation[window.navigation.length-1].currentPage = currentPage.id;
					window.navigation[window.navigation.length-1].currentArticle = currentArticle.id;
					window.navigation[window.navigation.length-1].machimura = divi.machimura;
					window.navigation[window.navigation.length-1].pageNum = divi.pageNum;
					window.navigation[window.navigation.length-1].maxView = divi.maxView;
					window.navigation[window.navigation.length-1].maxPage = divi.page;
					/* prev */
					// prev.appendChild(document.createTextNode(" "));
					prev.href="javascript:void(0);";
					prev.rel = divi.pageNum;
					prev.onclick = function(){
						var num = 0;
						for(var i=0;i<window.navigation.length;i++){
							if(this.id == window.navigation[i].prev){
								num = i;
							}
						}
						var navi = window.navigation[num];
						var next = navi.next;
						var prev = navi.prev;
						var start = (new Number(this.rel)-1)*10;
						var end = (new Number(this.rel))*10;
						for(var i=0;i<navi.removeObject.length;i++){
							if( !navi.removeObject[i].isHidden() ) navi.removeObject[i].hide();
						}
						if(this.rel > 1){
							this.rel--;
						}
						var current = new Number(this.rel);
						navi.pageNum = new Number(this.rel)-1;
						if(this.rel >= 1){
							var first = navi.pageNum * navi.maxView;
							var last = current * navi.maxView;
							var ul = this.parentNode.parentNode.parentNode;
							var li = this.parentNode.parentNode;
							ul.appendChild(li);
							for(var i=0;i<ul.childNodes.length;i++){
								if(ul.childNodes[i].className != "pagenum"){
									ul.childNodes[i].style.display = "none";
								}
							}
							for(var i=first;i<last;i++){
								if(typeof navi.machimura[i] != "undefined"){
									var prefData = {dm:navi.machimura[i], gobj:navi.gobj};
									prefData.marker = navi.removeObject[i];
									var aUL = G_Class.gt.GmapSearchElement( prefData );
									if(typeof aUL != "undefined") ul.appendChild(aUL);
								}
							}
							if(this.rel == 1){
								this.style.display = "none";
							}
							var span = document.getElementById(navi.currentPage);
							if( span ){
								span.innerHTML = this.rel + "page";
							}
							var span = document.getElementById(navi.currentArticle);
							if( span ){
								span.innerHTML = first+1 + "～" + last + "件";
							}
						}
						var d = document.getElementById(next);
						if(d){
							d.rel = this.rel;
							if( this.rel < (navi.maxPage) ){
								d.style.display = "inline";
							}
						}
						
					}
					/* next */
					next.appendChild(document.createTextNode(" "));
					next.href="javascript:void(0);";
					next.rel = divi.pageNum;
					next.onclick = function(){
						var num = 0;
						for(var i=0;i<window.navigation.length;i++){
							if(this.id == window.navigation[i].next){
								num = i;
							}
						}
						var navi = window.navigation[num];
						var next = navi.next;
						var prev = navi.prev;
					
						var start = (new Number(this.rel)-1)*10;
						var end = (new Number(this.rel))*10;
						// alert(navi.removeObject.length);
						for(var i=0;i<navi.removeObject.length;i++){
							if(!navi.removeObject[i].isHidden()) navi.removeObject[i].hide();
						}
						
						var current = Number(this.rel);
						navi.pageNum = new Number(this.rel) +1;
						if( this.rel < (navi.maxPage) ){
							this.rel++;
						}
						var first = current * navi.maxView;
						var last = navi.pageNum * navi.maxView;
						var ul = this.parentNode.parentNode.parentNode;
						var li = this.parentNode.parentNode;
						ul.appendChild(li);
						for(var i=0;i<ul.childNodes.length;i++){
							if(ul.childNodes[i].className != "pagenum"){
								ul.childNodes[i].style.display = "none";
							}
						}
						for(var i=first;i<last;i++){
							if(typeof navi.machimura[i] != "undefined"){
								var prefData = {dm:navi.machimura[i], gobj:navi.gobj};
								prefData.marker = navi.removeObject[i];
								var aUL = G_Class.gt.GmapSearchElement(prefData);
								if(typeof aUL != "undefined") ul.appendChild(aUL);
							}
						}
						var span = document.getElementById(navi.currentPage);
						if( span ){
							span.innerHTML = this.rel + "page";
						}
						var span = document.getElementById(navi.currentArticle);
						if( span ){
							span.innerHTML = first+1 + "～" + last + "件";
						}
						var d = document.getElementById(prev);
						if(d){
							d.rel = this.rel;
							if(d.rel > 1){
								d.style.display = "inline";
							}
						}
						if( this.rel < (navi.maxPage-1) ){
							this.style.display = "inline";
						}
						else if(this.rel == (navi.maxPage)){
							this.style.display = "none";
						}
					}
					liD.appendChild(h3);
					liD.appendChild(ul);
					//console.log($(liD).children().children().get().length);
					if($(liD).children().children().get().length>2) ulD.appendChild(liD);
				}
				/* debug 2010.06.03 */
				var h3 = document.createElement("div");
				var title2 = document.createElement("div");
				var title = document.createElement("a");
				title.href="javascript:void(0);";
				title.rel = "coord:["+group.area.x+","+group.area.y+","+group.area.zoom+"]";
				title.onclick = function(){
					var r = eval(this.rel);
					gobj.panTo(new GLatLng(r[0], r[1]));
					gobj.setCenter(new GLatLng(r[0], r[1]), r[2]);
				}
				title.appendChild(document.createTextNode( group.area.name ));
				title2.className = "header";
				title2.appendChild(title);
				h3.className = "header";
				var title = document.createElement("a");
				title.href="javascript:void(0);";
				title.rel = "coord:["+group.area.x+","+group.area.y+","+group.area.zoom+"]";
				title.onclick = function(){
					var r = eval(this.rel);
					gobj.panTo(new GLatLng(r[0], r[1]));
					gobj.setCenter(new GLatLng(r[0], r[1]), r[2]);
				}
				title.appendChild(document.createTextNode( group.area.name ));
				h3.appendChild(title);
				accordion.appendChild(h3);
				accordion.appendChild(ulD);
				div.appendChild(title2);
				div.appendChild(accordion);
				if( gobj ){
					GEvent.addListener(gobj, "zoomend", function (oLevel, nLevel){
						// zoom level 変更
						if(nLevel < areaInfo.zoom){
							gobj.setCenter(new GLatLng(areaInfo.x, areaInfo.y), areaInfo.zoom);
						}
					});
				}
				var toggle = document.createElement("div");
				toggle.id = "toggle_tab";
				var toggleBtn = document.createElement("div");
				toggleBtn.id = "toggle_btn";
				toggle.appendChild(toggleBtn);
				div.appendChild(toggle);
				d.parentNode.appendChild(div);
				$(".searchMaps").hide();
				//$(".searchMaps").slideUp("slow");
			}
		}
	}
};
G_Class.api = {
	lib:function(){
		var sc = document.createElement("script");
		sc.src = 'http://www.google.com/jsapi';
		sc.type = 'text/javascript';
		sc.id = "jsapi";
		var head = document.getElementsByTagName("head")[0];
		head.appendChild(sc);
		head.insertBefore(sc, document.getElementsByTagName("script")[0]);
		if( typeof window.google != "undefined" ){
			for(i in google.maps){
				
			}
		}
		// window.google.load("jquery", "1", {uncompressed:true});
	}
};

//if( typeof object!="undefined" && typeof gaj != "undefined" ) G_Class.gt.init({a:gaj});

addListener(window, "load", function(){
	if(typeof rmap != "undefined"){
		rmf.load( rmap );
	}
	var id = "map_2";
	if( typeof window.machimura == "undefined" || typeof window.machimura.area == "undefined" || window.machimura.area.length == 0 ){
		var d = document.getElementById(id);
		if(d) d.style.display = "none";
		// exit;
	}
	if( typeof window.machimura != "undefined" && window.machimura.area.length > 0 ){
		G_Class.gt.GmapSearch({a:window.machimura,id:id});
		/* toggle */
		
		$(function(){
		    $(".acc").each(function(){
		        $(".category", this).each(function(index){
		            var $this = $(this);
		            var $a = $this.children("a");
		            if (index > 0){$this.next().hide();}
		            $this.click(function(){
		                var params = {
		                    height: "toggle",
		                    opacity: "toggle"
		                };
		                $(this).next().animate(params, 300).parent().siblings().children("ul:visible").animate(params, 300);
		                return false;
		            });
		            $a.click(function(){
		                var params = {
		                    height: "toggle",
		                    opacity: "toggle"
		                };
		                var ul = $(this).parent().parent().children("ul");
		                // anime
		                if($(ul).css("display") == "none") $(this).parent().next().animate(params, 300).parent().siblings().children("ul:visible").animate(params, 300);
		                return false;
		            });
		        });
		    });
		});
		
		$("#toggle_btn").toggle(function(){
		    $("#accordion").slideUp("slow");
		    
		    $(this).css("background-position", "0px -20px");
		    $(".header").css("background-position", "0px -30px");
		    
		}, function(){
		    $("#accordion").slideDown("slow");
		    
		    $(this).css("background-position", "0px 0px");
		    $(".header").css("background-position", "0px 0px");
		
		});
		/* toggle */
		var q = G_Class.gt.queryString();
		var m = window.undefined;
		for(var i=0;i<q.length;i++){
			if( q[i].name == "m"){
				m = q[i];
			}
		}
		if(typeof m != "undefined" && m.value == "1"){
			$(".searchMaps").slideDown("slow");
			$(".resultList").slideUp("slow");
			$("#gtMap").addClass("selectMap");
			$("#gtList").removeClass("selectList");
		}
		if(typeof m == "undefined" || m.value == "" || m.value == "0"){
			$("#gtList").addClass("selectList");
			$("#gtMap").removeClass("selectMap");
		}
	}
});
addListener(window, "load", function(){
	if( typeof flvply != "undefined" ) fl.load( flvply );
});
addListener(window, "unload", function(){
	GUnload();
});
