/***************************************
	Written By Fujimoto

				2011.05

	The copyright is not abandoned. 
****************************************/
var opaspe = 10;	//インターバル
var opaval = 70;	//透過値

var opa_obj	= new Array();	//インターバル要素
var opa_val = new Array();	//インターバル値

var img_path = "kensaku_image/";	//イメージフォルダ

var scr = null;						//スクロール量

var cls = {wid:50, hit:15	}		//閉じるボタン幅･高さ
var map = {wid:1000, hit:833	}	//地図幅･高さ
var btn = {wid:137, hit:37	}		//地域ボタン幅･高さ


var area = new Array(				//エリア基本座標
	{x:396,	y:235, name:"area_0", town:"鷹匠町・唐人町・与力町・堺町・本町・升形・追手筋・丸ノ内・永国寺町・廿代町・はりまや町・南はりまや町・九反田・帯屋町・" +		//中心部
		"唐人町・宝永町・中宝永町・南宝永町・城見町・桜井町・駅前町・菜園場町・相生町・北本町 ・江陽町・比島町・栄田町・新本町・昭和町・塩田町・和泉町・愛宕町・" +
		"寿町・桜馬場・大川筋・入明町・小津町・洞ケ島町・中水道・宝町・幸町・相模町・伊勢崎町・吉田町・中の島・若松町・二葉町・稲荷町・青柳町・知寄町・日の出町・" +
		"弥生町・高埇・東雲町・丸池町・小倉町・南金田・北金田・札場・海老ノ丸・南御座・北御座・杉井流・北川添・南川添・南久保・北久保・弘化台・上町・玉水町・通町・" +
		"水通町・本丁筋・大膳町・越前町・繩手町・鏡川町・下島町・旭町・旭上町・旭駅前町・水源町・元町・南元町・赤石町・西町・中須賀町・旭天神町・北端町・山手町・" +
		"平和町・山ノ端町・新屋敷・八反町・北八反町・城北町・三ノ丸・宮前町・井口町・南万々"},
	{x:391,	y:44, name:"area_1", town:"上本宮町・本宮町・長尾山町・大谷・岩ケ淵・鳥越・佐々木町・塚ノ原・西塚ノ原・横内・尾立・福井東町・福井扇町・福井町・万々・" +	//北部
		"中久万・南久万・西久万・みづき・口細山・一ツ橋町・愛宕町・愛宕山南町・愛宕山・三園町・東久万・西秦泉寺・中秦泉寺・北秦泉寺・東秦泉寺・加賀野井・前里・" +
		"秦南町・薊野西町・薊野北町・薊野中町・薊野東町・薊野南町・一宮しなね・一宮東町・一宮中町・一宮南町・一宮西町・一宮徳谷・布師田"},
	{x:261,	y:551, name:"area_2", town:"梅ノ辻・土居町・天神町・筆山町・役知町・桟橋通・仲田町・塩屋崎町・百石町・新田町・北新田町・南新田町・潮新町・萩町・" + 		//南部
		"北高見町・高見町・竹島町・北竹島町・南竹島町・南ノ丸町・北中山・南中山・六泉寺町・深谷町・孕西町・孕東町・横浜・横浜新町・横浜東町・横浜西町・横浜南町・" + 
		"長浜蒔絵台・瀬戸・長浜・瀬戸東町・瀬戸西町・瀬戸南町・長浜宮田・御畳瀬・瀬戸・浦戸"},
	{x:96,	y:266, name:"area_3", town:"大原町・小石木町・幸崎・東石立町・石立町・河ノ瀬町・南河ノ瀬町・神田・東城山町・城山町・鴨部高町・鴨部上町・鴨部・" +			//西部
		"朝倉・曙町・朝倉本町・朝倉東町・朝倉横町・朝倉南町・若草町・若草南町・鵜来巣・横山町・朝倉西町・針木北・針木本町・針木南・針木東町・大谷公園町・鏡岩"},
	{x:604,	y:399, name:"area_4", town:"砂地・葛島・高須西町・高須絶海・吸江・高須・高須新町・高須大谷・高須大島・尾頭・高須本町・高須新木・大津・介良・潮見台・" +		//東部
		"五台山・十津・仁井田・池・種崎"},
	{x:21,	y:399, name:"area_5", town:""},																																//県西部
	{x:858,	y:439, name:"area_6", town:"岡豊町中島・岡豊町常通寺島・岡豊町江村・岡豊町吉田・岡豊町小籠・篠原・小籠・伊達野・稲生・大埇・下末松・上末松・東崎・" +		//県東部
		"上野田・下野田・元町 ・幸町・東山町・日吉町・駅前町・後免町・西野田町・三和琴平・前浜"}
);	

var typ = new Array(				//売買タイプ
	{src:"toti.html", id:"sel_toti"},
	{src:"ikkodate.html", id:"sel_ikko"},
	{src:"mansyon.html", id:"sel_mans"});

var isWin9X = (navigator.appVersion.toLowerCase().indexOf('windows 98')+1);
var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);
var isOpera = (navigator.userAgent.toLowerCase().indexOf('opera')+1?1:0);
if (isOpera) isIE = false;
var isSafari = (navigator.appVersion.toLowerCase().indexOf('safari')+1?1:0);


Event.observe(window, "load", add_evn, false);

//イベントのアタッチ
function add_evn(){
/*
	//売買検索のみ
	if (location.href.match(/baibai_kensaku/i))	{
		var menu = document.getElementById("sub_menu");
		
		//javascript無効表示を解除
		for (i=0; i<menu.childNodes.length; i++)	{
			if (menu.childNodes[i].tagName == "IMG")	{	menu.removeChild(menu.childNodes[i]);	}
		}
	
		//物件アイコンを表示
		for (i=0; i<typ.length; i++)	{ 
			var	l_div = document.createElement("div");	
			
			var	s_div = document.createElement("div");
			
			s_div.setAttribute("id", typ[i].id);
			s_div.style.marginTop = "31px";
			
			l_div.appendChild(s_div);
			menu.appendChild(l_div);
	
			Event.observe(s_div, "click", OpenMap, false);
		}
	}
*/	
	move_start();

}


//マップ表示
function OpenMap()	{
	if (isIE) {
	 	var	obj	=	window.event.srcElement;
	}	else	{
		var	obj	=	this;
	}
	
	//現在位置の初期化
	for (i=0; i<typ.length; i++)	{
		document.getElementById(typ[i].id).className = null;	
	}
	
	obj.className = "sel";
	
	Back_Lay();
	
	Canv_Lay(60, 90);

	Map_Lay();
}

//マップ表示
function Map_Lay()	{

	var canv = document.getElementById("canv");

	var pad = { wid:10, hit:10}	//キャンバスpadding

	var size = {	//キャンバスサイズ
		wid:(parseFloat(canv.style.width.replace("px","")) - (pad.wid * 2)),
		hit:parseFloat(document.getElementById("tojiru").style.top.replace("px","")) - (pad.hit * 1.5)}

	//イメージ追加	
	var	imgobj = document.createElement("img");
	
	imgobj.setAttribute("id", "map");	
	imgobj.src = img_path + "map.gif";
	imgobj.style.position = "absolute";
	imgobj.style.visibility = "hidden";

	var tmp = { wid:map.wid, hit:map.hit	}

	//実寸の退避
	var tmp_map = {wid:map.wid, hit:map.hit	}

	if (size.wid < tmp.wid)	{
		tmp.wid = size.wid;
		tmp.hit = size.wid / map.wid * tmp.hit

		map = { wid:tmp.wid, hit:tmp.hit	}
	}

	if (size.hit < tmp.hit)	{
		tmp.hit = size.hit;
		tmp.wid = size.hit / map.hit * tmp.wid;
	}

	map = {wid:tmp_map.wid,	hit:tmp_map.hit	}

	imgobj.style.width = tmp.wid + "px";
	imgobj.style.height = tmp.hit + "px";

	var pos = {top:(((size.hit - tmp.hit) / 2) + pad.hit), lft:(((size.wid - tmp.wid) / 2) + pad.wid)	}

	imgobj.style.top = pos.top + "px";
	imgobj.style.left = pos.lft + "px";

	canv.appendChild(imgobj);
	
	//クリッカブル作成
	for (i=0; i<area.length; i++)	{
		var	divobj = document.createElement("div");
	
		divobj.setAttribute("id", area[i].name);
		divobj.style.position = "absolute";
		divobj.style.zIndex = (100 + i);
		divobj.style.width = (tmp.wid / map.wid * btn.wid) + "px";
		divobj.style.height = (tmp.hit / map.hit * btn.hit) + "px";
		divobj.style.top = (pos.top + (tmp.hit / map.hit * area[i].y)) + "px";
		divobj.style.left = (pos.lft + (tmp.wid / map.wid * area[i].x)) + "px";

		Event.observe(divobj, "mouseover", RollOver, false);
		Event.observe(divobj, "mouseout", RollOut, false);
		Event.observe(divobj, "click", PageSet, false);
		
		canv.appendChild(divobj);
	}
	
	//町名追加
	var	divobj = document.createElement("span");

	divobj.setAttribute("id", "town");
	divobj.style.position = "absolute";
	divobj.style.margin = "0px";
	divobj.style.padding = (pad.wid / 2) + "px";
	divobj.style.width = (tmp.wid - (pad.wid * 2)) + "px";
	divobj.style.height = (tmp.hit / 8) + "px";
	divobj.style.left = (pos.lft + (pad.wid / 2)) + "px";
	divobj.style.top = (tmp.hit - ((tmp.hit / 8) + (pad.hit / 2))) + "px";
	divobj.style.backgroundColor = "#FFFFFF";

	if (parseFloat(canv.style.height.replace("px","")) <= 550)	{
		divobj.style.fontSize = "8px";
		divobj.style.lineHeight = "10px";
	}	else if (parseFloat(canv.style.height.replace("px","")) <= 600)	{
		divobj.style.fontSize = "10px";
		divobj.style.lineHeight = "12px";
	}	else if (parseFloat(canv.style.height.replace("px","")) <= 710)	{
		divobj.style.fontSize = "11px";
		divobj.style.lineHeight = "13px";
	}	else	{
		divobj.style.fontSize = "13px";
		divobj.style.lineHeight = "15px";
	}

	//画像の透過
	if (isIE)	{
		/*遅くなるので透過しない*/
		divobj.style.filter = "alpha( opacity=" + opaval + " )";	
	}	else	{
		divobj.style.opacity = opaval / 100;
	}
	
	divobj.style.visibility = "hidden";
	
	canv.appendChild(divobj);
}

//ロールオーバー作成
function RollOver()	{
	if (isIE) {
	 	var	obj	=	window.event.srcElement;
	}	else	{
		var	obj	=	this;
	}

	//イメージ追加	
	var	map_i = document.getElementById("map");
	var	canv = document.getElementById("canv");

	var	imgobj = document.createElement("img");

	imgobj.setAttribute("id", "map_sel");	
	imgobj.src = img_path + "map_sel.gif";
	imgobj.style.position = "absolute";
	
	imgobj.style.width = map_i.style.width;
	imgobj.style.height = map_i.style.height;

	imgobj.style.top = map_i.style.top;
	imgobj.style.left = map_i.style.left;

	var tmp = {	top:(parseFloat(obj.style.top.replace(/px/,"")) - parseFloat(map_i.style.top.replace(/px/,""))),
		left:(parseFloat(obj.style.left.replace(/px/,"")) - parseFloat(map_i.style.left.replace(/px/,""))),
		wid:parseFloat(obj.style.width.replace(/px/,"")),hit:parseFloat(obj.style.height.replace(/px/,""))}

	imgobj.style.clip = "rect(" + tmp.top + "px," + (tmp.left + tmp.wid) + "px," + (tmp.top + tmp.hit) + "px," + tmp.left + "px)";
	
	canv.appendChild(imgobj);
	
	var tmp = document.createTextNode(area[parseInt(obj.id.replace(/area_/,""))].town);
		
	document.getElementById("town").appendChild(tmp)
	
	document.getElementById("town").style.visibility = "visible";

}

//ロールオーバー削除
function RollOut()	{
	Element.remove("map_sel");
	
	//テキストの全削除
	var town = document.getElementById("town");
	
	while(town.firstChild){
   		town.removeChild(town.firstChild);
	}
	
	town.style.visibility = "hidden";

}

//指定物件・地域設定
function PageSet()	{
	Feed_White("out");

	if (isIE) {
	 	var	obj	=	window.event.srcElement;
	}	else	{
		var	obj	=	this;
	}

	//選択クラスの設定
	for (i=0; i<typ.length; i++)	{
		if (document.getElementById(typ[i].id).className == "sel")	{	break;		}
	}
	
	//子要素の全削除
	var cont = document.getElementById("content");
	
	while(cont.firstChild){
   		cont.removeChild(cont.firstChild);
	}
	
	//なぜか勝手にスクロールするのでスクロール戻し
	document.getElementById("canv").style.position = "fixed";
	scr = Get_Scr();

	//インラインフレームの追加
	var	frame = document.createElement("iframe");

	frame.src = typ[i].src + "#" + obj.id;

	cont.appendChild(frame);
}

//キャンバスレイヤー
function Canv_Lay(w_p, h_p)	{
	var win = Get_Win();
	var roll = Get_Scr();
	
	var back = document.getElementById("back");
	
	var	layobj = document.createElement("div");

	layobj.setAttribute("id", "canv");
	layobj.style.position = "absolute";
	layobj.style.width = (win.x * (w_p / 100)) + "px";
	layobj.style.height = (win.y * (h_p / 100)) + "px";
	layobj.style.left = (parseInt(win.x) * (100 - w_p) / 200) + "px";
	layobj.style.top = (roll.y + (parseInt(win.y) * (100 - h_p) / 200)) + "px";
	
	//閉じる画像
	var imgobj = document.createElement("img");
	
	imgobj.setAttribute("id", "tojiru");
	imgobj.src = img_path + "tojiru.jpg";
	imgobj.style.position = "absolute";
	imgobj.style.left = ((win.x * (w_p / 100)) - cls.wid - 10) + "px";
	imgobj.style.top = ((win.y * (h_p / 100)) - cls.hit - 10) + "px";
	
	layobj.appendChild(imgobj);
	
	document.body.appendChild(layobj);
	
	Event.observe(imgobj, "click", Feed_White, false);
	
	Feed_White(layobj.id);
}


//基本レイヤー
function Back_Lay()	{
	var doc = Get_Doc();
	
	//背景
	var	layobj = document.createElement("div");
	
	layobj.setAttribute("id", "back");
	layobj.style.position = "absolute";
	layobj.style.left = "0px";
	layobj.style.top = "0px";
	layobj.style.width = doc.x + "px";
	layobj.style.height = doc.y + "px";
	
	//画像の透過
	if (isIE)	{
		/*遅くなるので透過しない*/
		//layobj.style.filter = "alpha( opacity=" + opaval + " )";	
	}	else	{
		layobj.style.opacity = opaval / 100;
	}
	
	document.body.appendChild(layobj);
	
	Feed_Black(layobj);

	//フェードアウト
	var	layout = document.createElement("div");
	
	layout.setAttribute("id", "out");
	layout.style.position = "absolute";
	layout.style.left = "0px";
	layout.style.top = "0px";
	layout.style.width = doc.x + "px";
	layout.style.height = doc.y + "px";

	document.body.appendChild(layout);
	
	Event.observe(layout, "click", Feed_White, false);

}

//フェードイン 黒
function Feed_Black(obj)	{
	
	opa_val[obj.id] = 0;
	opa_obj[obj.id] = setInterval("Feed('" + obj.id + "')", opaspe);
	
}

//フェードイン 白・フェードアウト
function Feed_White(id)	{
	if (typeof(id) == "object") {	id = "out";	}
	
	var obj = document.getElementById(id);
	
	opa_val[id] = 15;
	opa_obj[id] = setInterval("Feed('" + id + "', true)", opaspe);
}

//フェード表示
function Feed(id, flg)	{
	var color = "FEDCBA9876543210";

	var obj = document.getElementById(id);
	
	var col = color.charAt(opa_val[id]);

	if ((obj == null) || (col == ""))	{	return;	}
	
	obj.style.backgroundColor = "#" + col + col + col + col + col + col;
	
	if (flg == true)	{
		opa_val[id]--;
	}	else	{
		opa_val[id]++;
	}

	if ((opa_val[id] == color.length) || (opa_val[id] < 0)) {
		clearInterval(opa_obj[id]);

		//消去
		if ((id == "out") && (flg == true))	{
			Element.remove("canv");
			Element.remove("back");
			Element.remove("out");

			window.scroll(scr.x, scr.y);
		}
		
		//キャンバス描画
		if ((opa_val[id] < 0) && (id == "canv"))	{
			var node = obj.childNodes;
			
			for (i=0; i<node.length; i++)	{
				if (node[i] != document.getElementById("town"))	{	node[i].style.visibility = "visible";	}
			}
		}
	}
}

//ウィンドウサイズ取得
function Get_Win()	{
	var obj = new Object();
	
	if (!isSafari && !isOpera) {
		obj.x = document.documentElement.clientWidth || document.body.clientWidth || document.body.scrollWidth;
		obj.y = document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight;
	} else {
		obj.x = window.innerWidth;
		obj.y = window.innerHeight;
	}
	
	return obj;
	
}
	
//スクロールサイズ取得
function Get_Scr()	{
	var obj = new Object();
	
	obj.x = document.documentElement.scrollLeft || document.body.scrollLeft;
	obj.y = document.documentElement.scrollTop || document.body.scrollTop;
	
	return obj;
	
}
	
//ドキュメントサイズ取得
function Get_Doc()	{
	var obj = new Object();
	
	obj.x = document.documentElement.scrollWidth || document.body.scrollWidth;
	obj.y = document.documentElement.scrollHeight || document.body.scrollHeight;

	return obj;
	
}

/***************************************
	Written By Fujimoto

				2011.07

	The copyright is not abandoned. 
****************************************/
var count = 0;												//カウンタ
var max_img = 20;											//画像最大数
var sec = 1500;												//インターバル
var sec_img = 10;											//フェードインターバル
var path = "http://www.housein.jp/move_img/";		//ディレクトリ
var timer = new Array(max_img);								//フェードタイマー

for (i = 0; i < timer.length; i++) {
    timer[i] = new Array(2);
}


//画像の描画
function move_start(){
	var div = document.getElementById("move");
	
	while(div.firstChild){
		div.removeChild(div.firstChild);
	}
		
	paint();
	
//	timerID = setInterval("paint()", sec);
}

function paint()	{
	var img = new Image();
	var div = document.getElementById("move");
	var siz = {width:null, height:null};
	var ini = {width:null, height:null};
	var mrg = {width:null, height:null};

	img.src = path + count + ".jpg";

	//サイズを取得できるまで繰り返す
	while ((siz.width == null) || (siz.height == null)) {
		siz = getActualDimension(img);
	}
	
    var ret = Element.getDimensions(div);
	
	//横を領域にあわせる
	ini.width = ret.width;
	ini.height = ret.width / siz.width * siz.height;

	//縦を領域にあわせる
	if (ini.height > ret.height)	{
		ini.height = ret.height;
		ini.width = ret.height / siz.height * siz.width;
	}
	
	//マージン
	mrg.height = ((ret.height - ini.height) / 2);
	mrg.width = ((ret.width - ini.width) / 2);
	
	delete img;
	
	//それでもサイズを取れない場合は次の写真へ
	if ((siz.width != 0) && (siz.height != 0))	{	
		
		canv = document.createElement("img");
		
		canv.setAttribute("id", "canv" + count);	
		canv.style.width = ini.width + "px";
		canv.style.height = ini.height + "px";
		canv.style.position = "absolute";
		canv.style.marginTop = mrg.height + "px";
		canv.style.marginLeft = mrg.width + "px";
		canv.src = path + count + ".jpg";
		set_opa(canv, 0);
			
		div.appendChild(canv);
	
		//フェード
		timer[count][0] = setInterval("Img_Feed(" + count + ")", sec_img);	
		timer[count][1] = 0;
	}
	
	count++;
	
	if (count >= max_img)	{	count = 0;	}
	
}

function Img_Feed(index)	{
	var div = document.getElementById("move");	
	var canv = document.getElementById("canv" + index);	
	
	for (i=0; i < div.childNodes.length; i++)	{

		var index_prev = parseInt(div.childNodes[i].id.replace(/canv/, ""));
		
		if (index == index_prev)	{
			timer[index][1]++;
			
			if (timer[index][1] > 10)	{
				clearInterval(timer[index][0]);	
				return;	
			}
		
			set_opa(canv, timer[index][1]);
			
		}	else	{
		
			timer[index_prev][1]--;
			
			set_opa(div.childNodes[i], timer[index_prev][1]);
			
			if (timer[index_prev][1] <= 0)	{
				clearInterval(timer[index_prev][0]);
				Element.remove(div.childNodes[i]);
				return;
			}
		}
	}
}

function set_opa(elm, val)	{
	if (elm != null)	{
		// Internet Explorer用
		elm.style.filter = "alpha(opacity=" + (val * 10) + ")";
		
		// Firefox用
		elm.style.MozOpacity = val / 10;
		
		// Safari用
		elm.style.opacity = val / 10;
	}
}

function getActualDimension(image) {
  var run, mem, w, h, key = "actual";

  // for Firefox, Safari, Google Chrome
  if ("naturalWidth" in image) {
    return { width:  image.naturalWidth,
             height: image.naturalHeight };
  }

  if ("src" in image) { // HTMLImageElement
    if (image[key] && image[key].src === image.src) {
      return image[key];
    }
    if (document.uniqueID) { // for IE
      run = image.runtimeStyle;
      mem = { w: run.width, h: run.height }; // keep runtimeStyle
      run.width  = "auto"; // override
      run.height = "auto";
      w = image.width;
      h = image.height;
      run.width  = mem.w; // restore
      run.height = mem.h;
    } else { // for Opera and Other
      mem = { w: image.width, h: image.height }; // keep current style
      image.removeAttribute("width");
      image.removeAttribute("height");
      w = image.width;
      h = image.height;
      image.width  = mem.w; // restore
      image.height = mem.h;
    }
    return image[key] = { width: w, height: h, src: image.src }; // bond
  }
  // HTMLCanvasElement
  return { width: image.width, height: image.height };
}

