var args;
var obj;
var map;
var alt = ["新宿さぼてん","デリカ新宿さぼてん",["西安餃子","西安餃子 小桃の里","謝龍"],"恵比寿 かつ彩","粥餐庁",["ピアットジョルノ","タントチッタ"],"福豊","串処 蔵","大江戸とんかつ かつ匠","点心市場 テンパオ",["謝朋殿","謝朋殿點心樓","謝朋殿魚翅酒家","謝朋殿炎菜房"],"ＵＤＯＮ つるこし"];

function goMap(sid,nam) {
	var htp = "../map/shop_info.html?sid="+sid+"&nam="+encodeURIComponent(nam);
	window.open(htp,"map","width=540,height=632,scrollbars=1,resizable=1,location=1,status=1");
}

function ini(){
	args  = getArgs();
	obj   = new Object();
	iniObj();
	iniBtn();
	setDesc(selData(getDef()));
}

function iniObj() {
	obj.cls = document.getElementById("cls");
	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");
}

function isIE() {
	if(window.uniqueID){
		return true;
	} else {
		return false;
	}
}

function getArgs() {
	var dst = new Object();
	var query = location.search.substring(1);
	var src = query.split("&");
	for(var i=0;i<src.length;i++){
		var pos = src[i].indexOf("=");
		if(pos==-1) continue;
		var prop = src[i].substring(0,pos);
		var valu = src[i].substring(pos+1);
		switch(prop){
			case("sid"):
				dst[prop] = parseInt(decodeURIComponent(valu));
				break;
			case("nam"):
				dst[prop] = decodeURIComponent(valu);
				break;
		}
	}
	return dst;
}

function selData(src) {
	for(var i=0;i<src.length;i++){
		if(src[i][0]!=args.sid) continue;
		if(src[i][3]!=args.nam) continue;
		return src[i];
	}
	alert("店舗情報が見つかりませんでした。");
	return null;
}

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 img = "images/logo"+sno+ino+".gif";
	var alt = getAlt(src[0],src[1]);
	
	var pfx = (src[0]<2)?"":alt+" ";
	var bai = (src[13])?"◎"+src[13]+"あり":"";
	
	document.title = "店舗情報｜"+alt;
	obj.mrk.setAttribute("src", img);
	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]);
	
	iniMap(sno,ino,src[4],src[5],src[6]);
}

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 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+"<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 iniBtn() {
	// 閉じる
	obj.cls.style.cursor = "pointer";
	obj.cls.setAttribute("src", "images/btn_cls0.gif");
	obj.cls.onclick      = function(){window.close();};
	obj.cls.onmouseover  = function(){obj.cls.setAttribute("src", "images/btn_cls1.gif");};
	obj.cls.onmouseout   = function(){obj.cls.setAttribute("src", "images/btn_cls0.gif");};
	
	// プリント
	obj.pnt.style.cursor = "pointer";
	obj.pnt.setAttribute("src", "images/btn_pnt0.gif");
	obj.pnt.onclick      = function(){window.print();};
	obj.pnt.onmouseover  = function(){obj.pnt.setAttribute("src", "images/btn_pnt1.gif");};
	obj.pnt.onmouseout   = function(){obj.pnt.setAttribute("src", "images/btn_pnt0.gif");};
}

function copyInfo() {
	var dst = "";
	dst += "店舗名\n";
	dst += info[3];
	dst += "\n\nＴＥＬ\n";
	dst += info[6];
	dst += "\n\n住所\n";
	dst += info[8]+info[9]+"\n"+info[10];
	dst += "\n\n営業時間\n";
	dst += repCRLF(info[11]);
	dst += "\n\n最寄り駅\n";
	dst += info[13]+" ("+info[14]+")";
	dst += "\n\nお知らせ\n";
	dst += info[2];
	window.clipboardData.setData("text",dst);
}

function iniMap(sno,ino,keido,ido,zoom) {
	if(GBrowserIsCompatible()){
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(keido,ido),zoom);
		map.setMapType(G_NORMAL_MAP);
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GScaleControl());
		map.addOverlay(new GMarker(new GLatLng(keido,ido),{icon:iniIcn(sno,ino),draggable:false}));
	}
}

function iniIcn(sno,ino) {
	var icn = new GIcon();
	icn.image      = "images/icn"+sno+ino+".png";
	icn.printImage = "images/icn"+sno+ino+".gif";
	icn.iconSize   = new GSize(33,68);	// 画像の大きさ
	icn.shadow     = "images/icnsdw.png";
	icn.shadowSize = new GSize(46,68);	// 影画像の大きさ
	icn.iconAnchor = new GPoint(17,68);	// 画像の「基準点」
	return icn;
}
