// JavaScript Document
var alt = ["新宿さぼてん","デリカ新宿さぼてん",["西安餃子","西安餃子 小桃の里","謝龍"],"恵比寿 かつ彩","粥餐庁",["ピアットジョルノ","タントチッタ"],"福豊","串処 蔵","大江戸とんかつ かつ匠","点心市場 テンパオ",["謝朋殿","謝朋殿點心樓","謝朋殿魚翅酒家","謝朋殿炎菜房"],"ＵＤＯＮ つるこし"];
var pasImg = "../map/images/";
var obj = {};
obj.his = {};

function ini(shop){
	obj.sid = shop;
	obj.typ = {};
	obj.tit = document.getElementById("tit");
	obj.rap = document.getElementById("rap");
	obj.map = document.getElementById("map");
	obj.sel = document.getElementById("sel");
	obj.bt0 = document.getElementById("bt0");
	obj.bt1 = document.getElementById("bt1");
	obj.bt2 = document.getElementById("bt2");
	obj.bt3 = document.getElementById("bt3");
	obj.itm = document.getElementById("itm");
	obj.rtn = document.getElementById("rtn");
	obj.inf = document.getElementById("inf");
	obj.swc = document.getElementById("swc");
	obj.mrk = document.getElementById("mrk");
	obj.nam = document.getElementById("nam");
	obj.tel = document.getElementById("tel");
	obj.adr = document.getElementById("adr");
	obj.opn = document.getElementById("opn");
	obj.eki = document.getElementById("eki");
	obj.tpx = document.getElementById("tpx");
	obj.pnt = document.getElementById("pnt");
	
	obj.typ = getTypeArray(obj.sid,obj.tit,obj.swc);
	reg.ini(def,obj.typ);
	iniMap();	
	iniHis();
}
	
function getTypeArray(shop,tit,swc){
	var dst;
	var stt = "";
	var stw = "";
	var alt = [];
	tit.style.display = "none";
	swc.style.display = "none";
	switch(shop){
		case(0):
			dst = {"s0":[],"s2":[],"s3":[],"s4":[],"s5":[],"s6":[],"s7":[],"s10":[],"s11":[]};
			stt = "<img src="+'"'+pasImg+"tit_rest.gif"+'"'+" />";
			stw = "<img id='swi' src="+'"'+pasImg+"swcd0.gif"+'"'+" onmousedown='ini(1)' onmouseover='onOverSwi()' onmouseout='onOutSwi()' />";
			alt.push("レストラン店舗検索");
			alt.push("デリカ店舗を探す");
			break;
		case(1):
			dst = {"s1":[],"s8":[],"s9":[]};
			stt = "<img src="+'"'+pasImg+"tit_deli.gif"+'"'+" />";
			stw = "<img id='swi' src="+'"'+pasImg+"swcr0.gif"+'"'+" onmousedown='ini(0)' onmouseover='onOverSwi()' onmouseout='onOutSwi()' />";
			alt.push("デリカ店舗検索");
			alt.push("レストランを探す");
			break;
	}
	tit.innerHTML = stt;
	swc.innerHTML = stw;
	tit.style.display = "block";
	swc.style.display = "block";
	tit.style.background = "none";
	swc.style.background = "none";
	obj.swi = document.getElementById("swi");
	tit.setAttribute("alt",alt[0]);
	obj.swi.setAttribute("alt",alt[1]);
	return dst;
}

function onOverSwi(){
	var src = obj.swi.getAttribute("src");
	obj.swi.setAttribute("src",src.substring(0,src.length-5)+"1.gif");
}

function onOutSwi(){
	var src = obj.swi.getAttribute("src");
	obj.swi.setAttribute("src",src.substring(0,src.length-5)+"0.gif");
}

function iniHis(){
	obj.his = reg.iniHis(obj.his);
	var i = 0;
	for(prop in obj.his) i++;
	if(i==0){
		iniJpn();
	} else {
		iniBt0();
		iniRtn();
		setSel();
	}
}
	
function iniJpn(){
	obj.his = {};
	clrSelBtns();
	iniBt0();
	iniRtn();
	iniAll(reg.sum);
}
	
function iniAll(src){
	obj.itm.style.height = 400-24*1-42+"px";
	obj.itm.innerHTML = lstAll(src,divken);
	obj.map.innerHTML = mapAll(src,divken);
	iniMapBg();
}

function iniBt0(){
	setBt(obj.bt0, 0);
	obj.bt0.innerHTML     = "全国"+"（"+reg.getCnt()+"店舗）";
	obj.bt0.style.display = "block";
	obj.bt0.style.cursor  = "default";
	obj.inf.style.display = "none";
}

function iniRtn(){
	var bt = obj.rtn;
	setBt(bt, 0)
	//bt.innerHTML = "戻る";
	bt.name = "rtn";
	bt.onmouseover   = null;
	bt.onmouseout    = null;
	bt.onmousedown   = null;
	bt.onmousedown   = null;
	bt.style.color   = "#A0A0A0";
	bt.style.display = "block";
	bt.style.cursor  = "default";
}

function lstAll(src,tbl){
	var dst = ["<ul class='kenlst'>"];
	var nam = "";
	var col = "";
	var spc = "";
	var idx = 0;
	var cnt = 0;
	for(ken in tbl){
		if(ken=="cnt") continue;
		if(src.hasOwnProperty(ken)){
			nam = (ken=="北海道")?ken:ken.substring(0,ken.length-1);
			spc = "　";
			if(tbl[ken][5]!=col){
				if(col!="") dst.push("</li>");
				col = tbl[ken][5];
				dst.push("<li class='chiho' style='background:url("+'"'+pasImg+tbl[ken][7]+'"'+") top left no-repeat;'>"+tbl[ken][6]+"</li><li class='ken'>");
				spc ="";
				idx++;
				cnt = 0;
			}
			if(cnt>2){dst.push("<br />");spc ="";cnt=0;};
			dst.push(spc+"<a href='javascript:onDwnKen("+'"'+ken+'"'+");void(0);'>"+nam+"("+reg.sum[ken].cnt+")</a>");
			cnt++;
		}
	}
	dst.push("</li></ul>");
	return dst.join("");
}

function mapAll(src,tbl){
	var dst = [];
	var i = 0;
	for(ken in tbl){
		var d = tbl[ken];
		var nam = (ken=="北海道")?ken.substring(0):ken.substring(0,ken.length-1);
		var apx = (ken=="北海道")?" url("+'"'+pasImg+"hokkaido.gif"+'"'+") top right no-repeat":"";
		if(src.hasOwnProperty(ken)){
			var tmp =[];
			var id = "ken"+i;
			tmp.push("<div class='enable' id="+"'"+id+"'");
			tmp.push("onmouseover='javascript:onOvrKen("+'"'+id+'",'+'"'+ken+'"'+");'");
			tmp.push("onmouseout='javascript:onOutKen("+'"'+id+'",'+'"'+ken+'"'+");'");
			tmp.push("onmousedown='javascript:onDwnKen("+'"'+ken+'"'+");'");
			tmp.push("style='left:"+d[0]+"px;top:"+d[1]+"px;width:"+d[2]+"px;height:"+d[3]+"px;line-height:"+d[3]+"px;background:"+d[4]+apx+";'>"+nam+"</div>");
			dst.push(tmp.join(" "));
			i++;
		} else {
			dst.push("<div class='disable' style='left:"+d[0]+"px;top:"+d[1]+"px;width:"+d[2]+"px;height:"+d[3]+"px;line-height:"+d[3]+"px;background:#dedede"+apx+";'>"+nam+"</div>");
			i++;
		}
	}
	return dst.join("");
}

function onOvrKen(id,prop){
	var obj = document.getElementById(id);
	obj.style.backgroundColor = divken[prop][5];
}

function onOutKen(id,prop){
	var obj = document.getElementById(id);
	obj.style.backgroundColor = divken[prop][4];
}

function onDwnKen(prop){
	//alert("onDwnKen "+prop)
	delete obj.his.blk;
	delete obj.his.wrd;
	delete obj.his.cty;
	delete obj.his.shp;
	obj.his.ken = prop;
	setSel();
}

function onDwnBlk(prop){
	//alert("onDwnBlk "+prop)
	delete obj.his.wrd;
	delete obj.his.cty;
	delete obj.his.shp;
	obj.his.blk = prop;
	setSel();
}

function onDwnCty(prop){
	//alert("onDwnCty "+prop);
	delete obj.his.shp;
	obj.his.cty = prop;
	setSel();
}

function onDwnShp(n){
	obj.his.shp = n;
	setSel();
}

function setSel(){

	var msg =[]
	var p = reg.getPas(obj.his);
	for(prop in p){obj.his[prop] = p[prop];}
	var cp = 0;
	for(prop in p){cp++;msg.push(prop);}
	
	clrMapBg();
	var cb = iniBt(p);
	//alert("sel "+cp+":"+msg.join(">"));
	
	switch(cp){
		
		case(1):
			obj.itm.style.height = 400-24*cb-42+"px";
			if(reg.sum[p.ken].cnt<50){
				obj.itm.innerHTML = iniBlkLst(reg.sum[p.ken],true);
			} else {
				obj.itm.innerHTML = iniBlkLst(reg.sum[p.ken],false);
			}
			obj.inf.style.display = "none";
			setMap(p.ken);
			break;
				
		case(2):
			obj.itm.style.height = 400-24*cb-42+"px";
			obj.itm.innerHTML = iniCtyLst(reg.sum[p.ken][p.blk]);
			obj.inf.style.display = "none";
			setMap(p.ken,p.blk);
			break;
			
		case(4):
			obj.itm.style.height = 400-24*cb-42+"px";
			obj.itm.innerHTML = iniShpLst(p.cty, reg.sum[p.ken][p.blk][p.wrd][p.cty].rec);
			obj.inf.style.display = "none";
			setMap(p.ken,p.blk,p.cty);
			break;
			
		case(5):
			obj.itm.style.height = 400-24*cb-42+"px";
			obj.itm.innerHTML = iniShpLst(p.cty, reg.sum[p.ken][p.blk][p.wrd][p.cty].rec);
			setDesc(def[p.shp]);
			break;
	}
}

function iniBt(src){
	var k = (src.hasOwnProperty("ken"))?src.ken:null;
	var b = (src.hasOwnProperty("blk"))?src.blk:null;
	var w = (src.hasOwnProperty("wrd"))?src.wrd:null;
	var c = (src.hasOwnProperty("cty"))?src.cty:null;
	var s = (src.hasOwnProperty("shp"))?src.shp:null;
	
	clrSelBtns();
	
	var cb = 1;
	obj.bt0.onmousedown = function(){iniJpn()};
	obj.bt0.onmouseover = function(){setBt(this, 1)};
	obj.bt0.onmouseout  = function(){setBt(this, 0)};
	obj.bt0.style.cursor = "pointer";
	obj.rtn.onmouseover = function(){setBt(this, 1)};
	obj.rtn.onmouseout  = function(){setBt(this, 0)};
	obj.rtn.style.display = "block";
	obj.rtn.style.cursor  = "pointer";
	obj.rtn.style.color   = "#262626";
	
	var cp = 0;
	for(prop in src) cp++;
	
	var msg =[]
	for(prop in src){msg.push(prop);}
	//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">");
	
	if(cp>=1){
		cb++;
		obj.bt1.innerHTML = k+"（"+reg.getCnt(k)+"店舗）";
		if(reg.getItm(k)==1){
			obj.bt1.style.display = "block";
		} else {
			obj.bt1.onmousedown = function(){onDwnKen(k)};
			obj.bt1.onmouseover = function(){setBt(this, 1)};
			obj.bt1.onmouseout  = function(){setBt(this, 0)};
			obj.bt1.style.display = "block";
			obj.bt1.style.cursor = "pointer";
			
			obj.rtn.onmousedown = function(){onDwnKen(k)};
		}
	}
		
	if(cp>=2){
		if(reg.getItm(k)>1){
			cb++;
			obj.bt2.innerHTML   = b+"（"+reg.getCnt(k,b)+"店舗）";
			obj.bt2.onmousedown = function(){onDwnBlk(b)};
			obj.bt2.onmouseover = function(){setBt(this, 1)};
			obj.bt2.onmouseout  = function(){setBt(this, 0)};
			obj.bt2.style.display = "block";
			obj.bt2.style.cursor = "pointer";
		}
	}

	if(cp>=4){
		if(reg.getItm(k,b)>1){
			cb++;
			obj.bt3.innerHTML   = c+"（"+reg.getCnt(k,b,w,c)+"店舗）";
			if(reg.getItm(k,b,w,c)==1){
				obj.bt3.style.display = "block";
			} else {
				obj.bt3.onmousedown = function(){onDwnCty(c)};
				obj.bt3.onmouseover = function(){setBt(this, 1)};
				obj.bt3.onmouseout  = function(){setBt(this, 0)};
				obj.bt3.style.display = "block";
				obj.bt3.style.cursor = "pointer";
			}
			if(reg.getItm(k)==1){
				obj.bt1.onmousedown = function(){onDwnBlk(b)};
				obj.bt1.onmouseover = function(){setBt(this, 1)};
				obj.bt1.onmouseout  = function(){setBt(this, 0)};
				obj.bt1.style.display = "block";
				obj.bt1.style.cursor = "pointer";
			}
		}
		if(reg.getItm(k)==1){
			obj.bt1.onmousedown = function(){onDwnBlk(b)};
			obj.bt1.onmouseover = function(){setBt(this, 1)};
			obj.bt1.onmouseout  = function(){setBt(this, 0)};
			obj.bt1.style.display = "block";
			obj.bt1.style.cursor = "pointer";
		}
	}
	
	// リターンボタンのセット
	if(cp==1){
		//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  iniJpn()";
		obj.rtn.onmousedown = function(){iniJpn()};
	}

	if(cp==2){
		if(reg.getItm(k)==1){
			//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  iniJpn()";
			obj.rtn.onmousedown = function(){iniJpn()};
		} else {
			//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  onDwnKen("+k+")";
			obj.rtn.onmousedown = function(){onDwnKen(k)};
		}
	}

	if(cp==4){
		if(reg.getItm(k,b)==1){
			if(reg.getItm(k)==1){
				//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  iniJpn()";
				obj.rtn.onmousedown = function(){iniJpn()};
			} else {
				//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  onDwnKen("+k+")";
				obj.rtn.onmousedown = function(){onDwnKen(k)};
			}
		} else {
			//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  onDwnBlk("+b+")";
			obj.rtn.onmousedown = function(){onDwnBlk(b)};
		}
	}

	if(cp==5){
		if(reg.getItm(k,b,w,c)==1){
			if(reg.getItm(k,b)==1){
				if(reg.getItm(k)==1){
					//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  iniJpn()";
					obj.rtn.onmousedown = function(){iniJpn()};
				} else {
					//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  onDwnKen("+k+")";
					obj.rtn.onmousedown = function(){onDwnKen(k)};
				}
			} else {
				//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  onDwnBlk("+b+")";
				obj.rtn.onmousedown = function(){onDwnBlk(b)};
			}
		} else {
			//document.getElementById("msg").innerHTML = "sel "+cp+":"+msg.join(">")+"  onDwnCty("+c+")";
			obj.rtn.onmousedown = function(){onDwnCty(c)};
		}
	}

	return cb;
}

function clrSelBtns(){
	for(var i=1;i<=3;i++){
		bt = obj["bt"+i];
		bt.innerHTML = "";
		setBt(bt, 0);
		bt.onmousedown   = null;
		bt.onmouseover   = null;
		bt.onmouseout    = null;
		bt.style.display = "none";
		bt.style.cursor  = "default";
	}
	setBt(obj.rtn, 0);
	obj.rtn.onmousedown = null;
	obj.rtn.onmouseover = null;
	obj.rtn.onmouseout  = null;
	obj.rtn.style.display = "none";
	obj.rtn.style.cursor  = "default";
	obj.rtn.style.color   = "#A0A0A0";
}
	
function setBt(bt,which){
		var bg = (bt.id=="rtn")?"../map/images/btrtn"+which+".gif":"../map/images/btsel"+which+".gif";
		bt.style.background = "url("+"'"+bg+"'"+") top left no-repeat";
}

function setMap(){
	var ken;
	var blk;
	var cty;
	var tbl;
	var cTbl;
	var axs;
	
	switch(arguments.length){
		case(1):
			ken = arguments[0];
			tbl = reg.getRec(ken);
			if(tbl.length<50){
				axs = getAxs(tbl);
				iniAMap(tbl,axs.kdo,axs.ido,axs.zom);
				//iniAMap(tbl,divken[ken][8],divken[ken][9],divken[ken][10]);
			} else {
				cTbl = reg.getCstKen(ken);
				switch(ken){
					case("東京都"):
						axs = getCAxsShuto(ken,11,cTbl);
						iniCMapPgn(axs,cTbl,"blk");
						break;
					case("神奈川県"):
						axs = getCAxsShuto(ken,11,cTbl);
						iniCMapPgn(axs,cTbl,"blk");
						break;
					default:
						axs = getCAxs(cTbl);
						iniCMap(axs,"blk");
						break;
				}
			}
			break;
			
		case(2):
			ken = arguments[0];
			blk = arguments[1];
			tbl = reg.getRec(ken,blk);
			if(tbl.length<50){
				axs = getAxs(tbl);
				iniAMap(tbl,axs.kdo,axs.ido,axs.zom);
			} else {
				cTbl = reg.getCstBlk(ken,blk);
				switch(ken){
					case("東京都"):
						axs = getCAxsShuto(ken,12,cTbl);
						iniCMapPgn(axs,cTbl,"cty");
						break;
					case("神奈川県"):
						axs = getCAxsShuto(ken,12,cTbl);
						iniCMapPgn(axs,cTbl,"cty");
						break;
					default:
						axs = getCAxs(cTbl);
						iniCMap(axs,"cty");
						break;
				}
			}
			break;
			
		case(3):
			ken = arguments[0];
			blk = arguments[1];
			cty = arguments[2];
			tbl = reg.getRec(ken,blk,cty);
			if(tbl.length<50){
				axs = getAxs(tbl);
				iniAMap(tbl,axs.kdo,axs.ido,axs.zom);
			} else {
				cTbl = reg.getCstCty(ken,blk,cty);
				axs = getCAxs(cTbl);
				iniCMap(axs,"shp");
			}
			break;
	}
}

function getAxs(src){
	var dst = {};
	var ofs = 0.00;
	var sx  = 50.0;
	var ex  = 0.0;
	var sy  = 200.0;
	var ey  = 0.0;
	for(var i=0;i<src.length;i++){
		var idx = src[i];
		if(def[idx][4]<sx) sx = def[idx][4];
		if(def[idx][4]>ex) ex = def[idx][4];
		if(def[idx][5]<sy) sy = def[idx][5];
		if(def[idx][5]>ey) ey = def[idx][5];
	}
	
	dst.kdo = 0.5*(sx+ex);
	dst.ido = 0.5*(sy+ey);
	dst.zom = getZom(sx,sy,ex,ey);
	return dst;
}

function getCAxsShuto(k,n,src){
	var dst = {};
	var ofs = 0.00;
	var sx  = 50.0;
	var ex  = 0.0;
	var sy  = 200.0;
	var ey  = 0.0;
	for(p in src){
		var tbl = divken[k][n][p]
		dst[p] = {};
		dst[p].kdo = tbl[0];
		dst[p].ido = tbl[1];
		dst[p].cnt = src[p].length;
		if(tbl[0]<sx) sx=tbl[0];
		if(tbl[0]>ex) ex=tbl[0];
		if(tbl[1]<sy) sy=tbl[1];
		if(tbl[1]>ey) ey=tbl[1];
	}
	
	dst.total = {};
	dst.total.kdo = 0.5*(sx+ex);
	dst.total.ido = 0.5*(sy+ey);
	dst.total.zom = getZom(sx,sy,ex,ey);
	return dst;
}

function getCAxs(src){
	var dst = {};
	var ofs = 0.00;
	var sx  = 50.0;
	var ex  = 0.0;
	var sy  = 200.0;
	var ey  = 0.0;
	var cc  = 0;
	var msg = [];
	
	for(p in src){
		var mx   = 50.0;
		var nx   = 0.0;
		var my   = 200.0;
		var ny   = 0.0;
		dst[p] = {};
		
		for(var i=0;i<src[p].length;i++){
			var idx = src[p][i];
			if(def[idx][4]<sx) sx=def[idx][4];
			if(def[idx][4]>ex) ex=def[idx][4];
			if(def[idx][5]<sy) sy=def[idx][5];
			if(def[idx][5]>ey) ey=def[idx][5];
			if(def[idx][4]<mx) mx=def[idx][4];
			if(def[idx][4]>nx) nx=def[idx][4];
			if(def[idx][5]<my) my=def[idx][5];
			if(def[idx][5]>ny) ny=def[idx][5];
		}
		dst[p].kdo  = 0.5*(mx+nx);
		dst[p].ido  = 0.5*(my+ny);
	}
	
	dst.total = {};
	dst.total.kdo = 0.5*(sx+ex);
	dst.total.ido = 0.5*(sy+ey);
	dst.total.zom = getZom(sx,sy,ex,ey);
	return dst;
}

function iniBlkLst(src,isSep){
	var dst = [];
	var cls = (isSep)?"blkS":"blk";
	dst.push("<ul>");
	for(var blk in src){
		if(blk=="cnt"||blk=="itm") continue;
		dst.push("<li class="+'"'+cls+'"'+"><a href='javascript:onDwnBlk("+'"'+blk+'"'+");void(0);'>"+blk+"（"+src[blk].cnt+"）</a></li>");
	}
	dst.push("</ul>");
	return dst.join("");
}

function xiniBlkLst(src){
	var dst = [];
	dst.push("<ul><li class='blk'>");
	for(var blk in src){
		if(blk=="cnt"||blk=="itm") continue;
		dst.push("<a href='javascript:onDwnBlk("+'"'+blk+'"'+");void(0);'>"+blk+"（"+src[blk].cnt+"）</a><br />");
	}
	dst.push("</li></ul>");
	return dst.join("");
}

function iniCtyLst(src){
	var lim = 14;
	var dst = [];
	dst.push("<table cellpadding='0' cellspacing='0' border='0'>");
	for(var wrd in src){
		if(wrd=="cnt"||wrd=="itm") continue;
		dst.push("<tr><th>"+wrd+"</th><td>");
		var cnt = 0;
		for(var cty in src[wrd]){
			if(cty=="cnt"||cty=="itm") continue;
			var leng = cty.length + 1;
			if(cnt+leng>lim){dst.push("<br />");cnt = 0;}
			dst.push("<a href='javascript:onDwnCty("+'"'+cty+'"'+");void(0);'>"+cty+"("+src[wrd][cty].cnt+")</a>　");
			cnt += leng;
		}
	lst = dst.pop()
	dst.push(lst.substring(0,lst.length-1));
	dst.push("</td></tr>");
	}
	dst.push("</table>");
	return dst.join("");
}

function iniShpLst(cty,src){
	var dst = [];
	var shp = "";
	dst.push("<ul class='shplst'>");
	for(var i=0;i<src.length;i++){
		var idx = src[i];
		shp = (def[idx][0]!=0&&def[idx][0]!=1)?"<span class='shptyp'>"+getAlt(def[idx][0],def[idx][1])+"<br /></span>"+regNamMrk(def[idx][3],def[idx][2]):regNamMrk(def[idx][3],def[idx][2]);
		var tel = def[idx][7];
		var adr = def[idx][10];
		var bld = (def[idx][11]==undefined)?"":def[idx][11];
		var inf = (obj.bt3.style.display=="none")?adr+" "+bld:(adr+" "+bld).substring(cty.length+getCtyCnt(obj.his.blk));
		//var inf = (adr+" "+bld).substring(cty.length+getCtyCnt(obj.his.blk));
		dst.push("<li class='shp' onmousedown='onDwnShp("+'"'+idx+'"'+");' onmouseover='this.style.backgroundColor="+'"'+"#E6EBF3"+'"'+";' onmouseout='this.style.backgroundColor="+'"'+"#FAFCFF"+'"'+";'>"+shp);
		dst.push("<span><br />"+inf+"</span>");
		dst.push("</li>");
	}
	dst.push("</ul>");
	return dst.join("");
}

function getCtyCnt(blk){
	switch(blk){
		case("札幌市"):return blk.length;
		case("仙台市"):return blk.length;
		case("さいたま市"):return blk.length;
		case("千葉市"):return blk.length;
		case("横浜市"):return blk.length;
		case("川崎市"):return blk.length;
		case("新潟市"):return blk.length;
		case("静岡市"):return blk.length;
		case("浜松市"):return blk.length;
		case("名古屋市"):return blk.length;
		case("京都市"):return blk.length;
		case("大阪市"):return blk.length;
		case("堺市"):return blk.length;
		case("神戸市"):return blk.length;
		case("広島市"):return blk.length;
		case("北九州市"):return blk.length;
		case("福岡市"):return blk.length;
		default: return 0;
	}
}

function setDesc(src) {
	if(!src) return;
	
	//var sno = src[0].toString();
	//var ino = src[1].toString();
	var sno = ""+src[0];
	var ino = ""+src[1];
	if(sno.length<2) sno = "0"+sno;
	var icn = "logo"+sno+ino+"_bg.gif";
	var alt = getAlt(src[0],src[1]);
	var pfx = (src[0]<2)?"":alt+" ";
	var bai = (src[13])?"◎"+src[13]+"あり":"";
	
	obj.inf.style.display = "block";
	obj.mrk.setAttribute("src", pasImg+icn);
	obj.mrk.setAttribute("alt", alt);
	obj.nam.innerHTML = regNam(pfx+src[3]);
	obj.tel.innerHTML = src[7];
	obj.adr.innerHTML = regAdr(src[8],src[9],src[10],src[11]);
	obj.opn.innerHTML = regOpn(src[12],bai);
	obj.eki.innerHTML = regEki(src[14],src[15]);
	obj.tpx.innerHTML = regTpx(src[2]);
	
	obj.pnt.onmouseover = function(){obj.pnt.setAttribute("src",pasImg+"for_pnt1.gif");};
	obj.pnt.onmouseout = function(){obj.pnt.setAttribute("src",pasImg+"for_pnt0.gif");};
	obj.pnt.onmousedown = function(){obj.pnt.setAttribute("src",pasImg+"for_pnt0.gif");opnWnd(sno,ino,alt);};
	obj.pnt.style.cursor = "pointer";
	
	// 印刷用住所の保存（施設名前に改行が入る）
	obj.jso = regAdrBr(src[8],src[9],src[10],src[11]);

	// マーカー初期位置を保存
	obj.kdo = src[4];
	obj.ido = src[5];
	
	obj.tel.style.fontSize = "14px";
	obj.tel.style.fontWeight = "bold";
	obj.map.style.backgroundImage = "none";
	obj.map.style.backgroundColor = "#FF0000";
	
	var nam = "<span>"+getAlt(src[0],src[1])+"<br /></span>"+src[3];
	iniSMap(sno,ino,src[4],src[5],src[6],nam);
}

function getInfo(src){
	for(var i=0;i<src.length;i++){
		if(src[i][0]!=args.sid) continue;
		if(src[i][3]!=args.nam) continue;
		return i;
		break;
	}
	return -1;
}

function getAlt(sno, ino){
	return (typeof alt[sno] == "string")?alt[sno]:alt[sno][ino];
}

function regNamMrk(src,inf){
	if(!src) return "";
	
	var nam = repAPS(repSEP(src));
	if(!inf) return nam;
	
	var typ = inf.substring(0,1);
	var yy  = inf.substring(1,3);
	var mm  = inf.substring(3,5);
	var dd  = inf.substring(5,7);
	
	switch(typ){
		case("o"):
			if(isOK(yy,mm,dd,2,6)) nam += "<font color='#FF3333'> ★OPEN</font>";
			break;
			
		case("r"):
			if(isOK(yy,mm,dd,2,6)) nam += "<font color='#009933'> ★RENEW</font>";
			break;
	}
	return nam;
}

function regNam(src){
	if(!src) bld = "";
	return repAPS(repSEP(src));
}

function regAdr(pst,ken,adr,bld){
	if(!pst) bld = "";
	if(!ken) bld = "";
	if(!adr) bld = "";
	if(!bld) bld = "";
	return repAPS(repSEP("〒"+pst+" "+ken+adr+" "+bld));
}

function regAdrBr(pst,ken,adr,bld){
	if(!pst) bld = "";
	if(!ken) bld = "";
	if(!adr) bld = "";
	if(!bld) bld = "";
	return repAPS(repSEP("〒"+pst+" "+ken+adr+"<br />"+bld));
}

function regOpn(opn,bai){
	if(!opn) bld = "";
	if(!bai) bld = "";
	return repAPS(repSEP(opn+"|"+bai));
}

function regEki(sta,lin){
	if(!sta) bld = "";
	if(!lin) bld = "";
	return sta+"（"+lin+"）";
}

function regTpx(src){
	if(!src) return "";
	var dst = "";
	var typ = src.charAt(0);
	var yy  = src.substring(1,3);
	var mm  = src.substring(3,5);
	var dd  = src.substring(5,7);
	var sfx = (src.length>7)?"\n"+(src.substring(7).split("|")).join("\n"):"";

	switch(typ){
		case("o"):
			if(isOK(yy,mm,dd,2,6)) dst = "<font color='#FF3333'>"+yy+"."+mm+"."+dd+" オープン！"+sfx+"</font>";
			break;
		case("r"):
			if(isOK(yy,mm,dd,2,6)) dst = "<font color='#009933'>"+yy+"."+mm+"."+dd+" リニューアルオープン！"+sfx+"</font>";
			break;
		case("c"):
			if(isOK(yy,mm,dd,0,1)) dst = "<font color='#006699'>"+yy+"年"+mm+"月"+dd+"日"+"をもちまして閉店いたしました。"+sfx+"</font>";
			break;
	}
	return dst;
}

function isOK(yy,mm,dd,ofsB,ofsA){
	var rslt = false;
	var d = new Date();
	var sy = parseInt(yy,10);
	var sm = parseInt(mm,10);
	var sd = parseInt(dd,10);
	var ob = ofsB%12;		// 前表示期間（単位：月）
	var oa = ofsA%12;		// 後表示期間（単位：月）
	var cy = parseInt((""+d.getFullYear()).substring(2,4),10);
	var cm = d.getMonth()+1;
	var cd = d.getDate();
	var bm = sm - ob;
	if(bm<1){
		bm=(bm+12)+1;
		by=sy-1;
	} else {
		by=sy;
	}
	var am = sm + oa;
	if(am>12){
		am=(am-12);
		ay=sy+1;
	} else {
		ay=sy;
	}
	var sNum = (sy*100+sm)*100+sd;
	var cNum = (cy*100+cm)*100+cd;
	var bNum = (by*100+bm)*100+sd;
	var aNum = (ay*100+am)*100+sd;
	if(bNum<=cNum&&cNum<=aNum) rslt = true;
	//alert(sNum+"/"+bNum+":"+cNum+":"+aNum+"/"+rslt);
	return rslt;
}

function repAPS(src){
	return (src.split("’")).join("'");
}

function repSEP(src){
	return (src.split("|")).join("<br />");
}

function repCRLF(src){
	return (src.split("|")).join("\n");
}

function iniMapBg() {
	obj.map.style.background = "url("+'"'+pasImg+"japan.gif"+'"'+") top left no-repeat";
}
	
function clrMapBg() {
	obj.map.style.background = "none";
}
	
