﻿new function(){

var defW = 0;
var defH = 0;
var defScx = 0;
var defScy = 0;

var xfg = 0;
var yfg = 0;
var stX = 0;
var edX = 0;
var stY = 0;
var edY = 0;

var targetOBJ = null;

var intervalID = null;
var timerID = null;
var indicatorID = null;

var $initFg = false;
var $imgSize = 0;
var $imgPosition = 0;

var $imgURL = "http://bitol.net/";

function getInnerSize()
{
	var obj = self;
	if(window.opera || document.layers){	//n4 o6用
		var w = obj.innerWidth;
		var h = obj.innerHeight;
		var sl = pageXOffset;
		var st = pageYOffset;

	} else if(document.all){		//ie用
		if(is.ie7){
			var w = document.documentElement.clientWidth;
			var h = document.documentElement.clientHeight;
	      		var sl = document.documentElement.scrollLeft;
	      		var st = document.documentElement.scrollTop;
		}else{
			var w = obj.document.body.clientWidth;
			var h = obj.document.body.clientHeight;
	      		var sl = document.body.scrollLeft;
	      		var st = document.body.scrollTop;
		}

	}else if(document.getElementById){	//n6,n7,m1用
		var w = obj.innerWidth;
		var h = obj.innerHeight;
		var sl = pageXOffset;
		var st = pageYOffset;

	}
	return [w,h,sl,st];
}

function getClinetSize()
{
	var cw, hw;

	if(is.ie7){
		cw = document.documentElement.scrollWidth;
		if(document.documentElement.offsetWidth > cw){
			cw = document.documentElement.offsetWidth;
		}
		ch = document.documentElement.scrollHeight;
		if(document.documentElement.offsetHeight > ch){
			ch = document.documentElement.offsetHeight;
		}

	}else if(is.ie){
		cw = document.body.scrollWidth;
		if(document.body.clientWidth > cw){
			cw = document.body.clientWidth;
		}
		ch = document.body.scrollHeight;
		if(document.body.clientHeight > ch){
			ch = document.body.clientHeight;
		}

	}else if(is.safari || is.opera){
		cw = document.body.scrollWidth;
		ch = document.body.scrollHeight;

	}else if(is.firefox || is.ns){
		cw = document.documentElement.scrollWidth;
		ch = document.documentElement.scrollHeight;

	}
	return [cw,ch];
}

function imageLayer(c,t,l)
{
	this.id = c;
	this.title = t;
	this.link = l;
	this.fg = false;
}

function dynamicImageLayerInit()
{
	var p=0;
	var c=0;
	while(document.getElementsByTagName("A").item(p) != null){
		var relname = document.getElementsByTagName("A").item(p).rel;

		if(relname == "geobox"){
			var l = document.getElementsByTagName("A").item(p).href;
			var t = document.getElementsByTagName("A").item(p).title;
			eval("document.getElementsByTagName('A').item("+p+").onclick = function(){return loadImage("+(c+1)+");}");
			eval('$_'+relname+(c+1)+' = new imageLayer('+(c+1)+',"'+t+'","'+l+'")');
			c++;
		}else{
			if(relname == "$$_geobox1"){
				eval("document.getElementsByTagName('A').item("+p+").onmouseover = function(){onBase()}");
				eval("document.getElementsByTagName('A').item("+p+").onmouseout = function(){outBase()}");
				eval("document.getElementsByTagName('A').item("+p+").onclick = function(){hideContent()}");
				eval("document.getElementsByTagName('A').item("+p+").onfocus = function(){this.blur()}");
			}else if(relname == "$$_geobox2"){
				eval("document.getElementsByTagName('A').item("+p+").onmouseover = function(){onLeftButton()}");
				eval("document.getElementsByTagName('A').item("+p+").onmouseout = function(){outLeftButton()}");
				eval("document.getElementsByTagName('A').item("+p+").onclick = function(){prevImg()}");
			}else if(relname == "$$_geobox3"){
				eval("document.getElementsByTagName('A').item("+p+").onmouseover = function(){onRightButton()}");
				eval("document.getElementsByTagName('A').item("+p+").onmouseout = function(){outRightButton()}");
				eval("document.getElementsByTagName('A').item("+p+").onclick = function(){nextImg()}");
			}
		}
		p++;
	}
	return c;
}

function setPNG(e,path,imgname)
{
	var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
	e.css.filter = 'progid:'+f+'(src="'+path+imgname+'.png",sizingMethod="scale")';
	e.css.width = "70px";
	e.css.height = "70px";
}

function __init()
{

	dynamicLayerInit();

	$imgSize = dynamicImageLayerInit();

	targetOBJ = eval("img_content");

	checkWindowReSize();

	if(is.ie6under){
		path = $imgURL+"img/win/";
		setPNG(leftbtn,path,"lt");
		setPNG(rightbtn,path,"rt");
		leftbtn.doc['$_lt'].style.display = "none";
		leftbtn.doc['$_rt'].style.display = "none";
	}

	//photo.css.a.cursor = "wait";

	timerID = setInterval(function(){moveset()},10);

	if(is.ie && document.compatMode=="BackCompat"){
		var wt = 500;

	}else if(is.opera){
		var wt = 500;

	}else{
		var wt = 100;
	}
	intervalID = setInterval(function(){scrollEvent()},wt);

	shadow.setAlpha(30);

	$initFg = true;
}

function checkWindowReSize(scrollfg)
{
	var wi = getInnerSize();

	if(defW != wi[0] || defH != wi[1] || scrollfg){
		defW = wi[0];
		defH = wi[1];
		var cx = wi[2] + wi[0] - Math.round(wi[0]/2);
		var cy = wi[3] + wi[1] - Math.round(wi[1]/2);

		stX = targetOBJ.x + Math.round(targetOBJ.w/2);
		stY = targetOBJ.y + Math.round(targetOBJ.h/2);
		edX = cx;
		edY = cy;

		gx = cx;
		gy = cy;
	}
}

function scrollEvent()
{
	var wi = getInnerSize();
	if(wi[2] != defScx || wi[3] != defScy){
		defScx = wi[2];
		defScy = wi[3];
		checkWindowReSize(true);
	}
}

function moveset()
{
	if(zoomID != null && (is.ie || is.opera))
		return;

	if(Math.abs(stX - edX) > 0.8){
		var p = edX - stX;
		var cx = stX + p/10;
		stX = cx;
	}else{
		xfg ++;
		var cx = edX;
	}
	if(Math.abs(stY - edY) > 0.8){
		var p = edY - stY;
		var cy = stY + p/10;
		stY = cy;
	}else{
		yfg ++;
		var cy = edY;
	}
	if(xfg > 0 && yfg > 0){
		xfg = yfg = 0;
	}else{
		cx -= Math.round(targetOBJ.w/2);
		cy -= Math.round(targetOBJ.h/2);
		targetOBJ.moveTo(cx,cy);
	}
}

window.onresize = checkWindowReSize;




var nowWd = 0;
var nowHi = 0;
var zoomID = null;
var alphaID = null;
var boderSize1 = 10;
var boderSize2 = 30;

var alphaWait = 100;

function imageLoder(fname)
{
	clearTimeout(indicatorID);
	indicator.hide();
	photo.backImg(fname);

	clearInterval(alphaID);
	alphaWait = 100;
	alphaID = setInterval(function(){imgSmoothShow()},10);
}

function imgSmoothShow()
{
	alphaWait -= alphaWait / 5;

window.status = alphaWait;

	a = Math.round(alphaWait);
	if(a > 0){
		mask.setAlpha(a);
	}else{
		mask.setAlpha(0);
		mask.hide();
		clearInterval(alphaID);
		//mask.css.zIndex = 0;
	}
}

var gx = 0;
var gy = 0;

function zoomCts(tw,th,fname)
{
	var fg = 0;
	var e1 = targetOBJ;
	var e2 = base;
	var e3 = photo;
	var e4 = shadow;
	var e5 = indicator;

	var e6 = leftbtn;
	var e7 = rightbtn;

	var e8 = mask;

	if(nowWd != tw){
		var zmw = tw - nowWd;
		var dw = 0;

		if(Math.abs(zmw) < 0.5){
			dw = tw;
			nowWd = tw;
		}else{
			zmw /= 4;
			dw = Math.ceil(nowWd + zmw);
			nowWd += zmw;
		}
		e1.w = dw;
		e1.x = gx - Math.round(dw/2);

		e2.w = dw - (boderSize1*2);
		e2.x = boderSize1;

		e3.w = dw - (boderSize2*2);
		e3.x = boderSize2;

		e4.w = dw;
		e4.x = 0;

		e5.x = Math.round(e1.w / 2) - 8;

		e6.x = e3.x + 10;
		e7.x = e3.x + e3.w - e7.w - 10;

		//e6.x = Math.round(dw / 2) - e6.w - 20;
		//e7.x = Math.round(dw / 2) + 20;

		e8.w = e3.w;
		e8.x = e3.x;

	}else{
		fg ++;
	}

	if(nowHi != th){
		var zmh = th - nowHi;
		var dh = 0;
		if(Math.abs(zmh) < 0.5){
			dh = th;
			nowHi = th;
		}else{
			zmh /= 4;
			dh = Math.ceil(nowHi + zmh);
			nowHi += zmh;
		}
		e1.h = dh;
		e1.y = gy - Math.round(dh/2);

		e2.h = dh - (boderSize1*2);
		e2.y = boderSize1;

		e3.h = dh - (boderSize2*2);
		e3.y = boderSize2;

		e4.h = dh;
		e4.y = 0;

		e5.y = Math.round(e1.h / 2) - 8;

		e6.y = Math.round((e4.h - e6.h) / 2);
		e7.y = e6.y;

		e8.h = e3.h;
		e8.y = e3.y;

	}else{
		fg ++;
	}

	if(fg == 2){
		clearInterval(zoomID);
		zoomID = null;
		imageLoder(fname);

	}else{
		e1.moveTo(e1.x, e1.y);
		e1.resizeTo(e1.w, e1.h);
		e2.moveTo(e2.x, e2.y);
		e2.resizeTo(e2.w, e2.h);
		e3.moveTo(e3.x, e3.y);
		e3.resizeTo(e3.w, e3.h);
		e4.moveTo(e4.x, e4.y);
		e4.resizeTo(e4.w, e4.h);

		e5.moveTo(e5.x, e5.y);

		e6.moveTo(e6.x, e6.y);
		e7.moveTo(e7.x, e7.y);

		e8.moveTo(e8.x, e8.y);
		e8.resizeTo(e8.w, e8.h);


		if(is.ie6under){
			leftbtn2.moveTo(e6.x, e6.y);
			rightbtn2.moveTo(e7.x, e7.y);
		}

		e3.doc['$_blank'].width = e3.w;
		e3.doc['$_blank'].height = e3.h;

		e8.doc['$_blank2'].width = e3.w;
		e8.doc['$_blank2'].height = e3.h;

	}
}

function zoomStart(
	nw,	// 現在の横幅
	nh,	// 現在の縦幅
	tw,	// 目的の横幅
	th,	// 目的の縦幅
	cx,	// 中心Ｘ座標
	cy,	// 中心Ｙ座標
	fname	// 読み込む画像ファイル名
){
	nowWd = nw;
	nowHi = nh;

	tw += Math.max(boderSize1,boderSize2)*2;
	th += Math.max(boderSize1,boderSize2)*2;

	gx = cx;
	gy = cy;

	clearInterval(zoomID);
	zoomID = setInterval(function(){zoomCts(tw,th,fname)},10);
}

function hideContent()
{
	targetOBJ.hide();
	indicator.hide();
	shadow.hide();
	base.hide();
	photo.hide();

	mask.hide();
	mask.setAlpha(100);

	photo.backImg("none");

	hideCtrlPanel();
}


function showContent()
{
	targetOBJ.show();
	shadow.show();
	base.show();
	photo.show();

	mask.show();
	mask.setAlpha(100);
	//mask.css.zIndex = 41;

	indicator.hide();
}

function showCtrlPanel()
{
	leftbtn.show();
	rightbtn.show();
	if(is.ie6under){
		leftbtn2.show();
		rightbtn2.show();
	}
}

function hideCtrlPanel()
{
	leftbtn.hide();
	rightbtn.hide();
	if(is.ie6under){
		leftbtn2.hide();
		rightbtn2.hide();
	}
}

function nextImg()
{
	var p = $nowPosition+1;
	if(p > $imgSize){
		p = 1;
	}
	loadImage(p);
}

function prevImg()
{
	var p = $nowPosition-1;
	if(p < 1){
		p = $imgSize;
	}
	loadImage(p);
}


var $bitData = 0;
var time1 = null;
var time2 = null;
var time3 = null;

var timewait = 10;
var $mID = null;

function checkMouseOver()
{
	window.status = $bitData;
	if($bitData == 0){
		hideCtrlPanel();
		clearInterval($mID);
		$mID = null;
	}
}


function onBase()
{
	$bitData |= 1;
	showCtrlPanel();

	if($mID == null){
		clearInterval($mID);
		$mID = setInterval(function(){checkMouseOver()},100);
	}
}
function onLeftButton() {$bitData |= 2;}
function onRightButton(){$bitData |= 4;}

function outBase()       {$bitData ^= 1;}
function outLeftButton() {$bitData ^= 2;}
function outRightButton(){$bitData ^= 4;}





function loadImageData(obj)
{
	if(!$initFg){
		return;
	}

	var w = targetOBJ.w;
	var h = targetOBJ.h;
	var x = targetOBJ.x;
	var y = targetOBJ.y;

	showContent();

	photo.backImg("none");

	clearTimeout(indicatorID);
	indicatorID = setTimeout("indicator.show()",50);

	var pre = new Image();

	pre.onload = function()
	{
		$nowPosition = obj.id;

		var tw = pre.width;
		var th = pre.height;

		zoomStart(
			w,			// 現在の横幅
			h,			// 現在の縦幅
			tw,			// 目的の横幅
			th,			// 目的の縦幅
			x + Math.round(w/2),	// 中心Ｘ座標
			y + Math.round(h/2),	// 中心Ｙ座標
			obj.link
		);

		obj.fg = true;
	}

	pre.src = obj.link;	//画像の読込開始
}

function loadImage(p)
{
	var obj = eval('$_geobox'+p);

	loadImageData(obj);

	return false;
}

function writeDocument()
{

	document.write(
	'<div id="img_content_dyn">'+
	'<div id="shadow_dyn"></div>'+
	'<div id="base_dyn"></div>'+
	'<div id="indicator_dyn"><img src="'+$imgURL+'img/win/indicator.gif" width="16" height="16" /></div>'+
	'<div id="photo_dyn"><a href="javascript:void(0);" rel="$$_geobox1"><img name="$_blank" src="'+$imgURL+'img/win/blank.gif" width="30" height="30" /></a></div>'+
	'<div id="mask_dyn"><img name="$_blank2" src="'+$imgURL+'img/win/blank.gif" width="30" height="30" /></div>');
	if(is.ie6under){
		document.write(
		'<div id="leftbtn_dyn"><img name="$_lt" src="'+$imgURL+'img/win/lt.png" width="70" height="70" alt="" /></div>'+
		'<div id="rightbtn_dyn"><img name="$_rt" src="'+$imgURL+'img/win/rt.png" width="70" height="70" alt="" /></div>'+
		'<div id="leftbtn2_dyn"><a href="javascript:void(0);" rel="$$_geobox2"><img src="'+$imgURL+'img/win/blank.gif" width="70" height="70" alt="" /></a></div>'+
		'<div id="rightbtn2_dyn"><a href="javascript:void(0);" rel="$$_geobox3"><img src="'+$imgURL+'img/win/blank.gif" width="70" height="70" alt="" /></a></div>');
	}else{
		document.write(
		'<div id="leftbtn_dyn"><a href="javascript:void(0);" rel="$$_geobox2"><img name="$_lt" src="'+$imgURL+'img/win/lt.png" width="70" height="70" alt="" /></a></div>'+
		'<div id="rightbtn_dyn"><a href="javascript:void(0);" rel="$$_geobox3"><img name="$_rt" src="'+$imgURL+'img/win/rt.png" width="70" height="70" alt="" /></a></div>');
	}
	document.write('</div>');
}

function addLoadEvent(func)
{
	if(typeof window.addEventListener == 'function'){
		window.addEventListener('load', func, false);
		return true;

	}else if(typeof window.attachEvent == 'object'){
		window.attachEvent('onload', func);
		return true;
	}

	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	}else{
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

addLoadEvent(__init);

writeDocument();

}
