var strLastModified = '090908';
var iMapNum = 7;	//砦の数（同一MAPの砦は１つとカウントする。）

MAPID = new Array(
	new Array(     'temple',           'MAPを選んでください',      'temple'),
	new Array( 'schg_cas01', 'ニダヴェリール1,4,5(N1,N4,N5)', 'sch_gld_145'),
	new Array( 'schg_cas02',           'ニダヴェリール2(N2)',   'sch_gld_2'),
	new Array( 'schg_cas03',           'ニダヴェリール3(N3)',   'sch_gld_3'),
	new Array( 'arug_cas01',           'ヴァルフレイヤ1(F1)',   'aru_gld_1'),
	new Array( 'arug_cas02',           'ヴァルフレイヤ2(F2)', '  aru_gld_2'),
	new Array( 'arug_cas03', 'ヴァルフレイヤ3,4,5(F3,F4,F5)', 'aru_gld_345')
	);
aryMap = MAPID[0];	//デフォルトで表示する砦

var iDif_X,iDif_Y;       //ポインタと画像の(x,y)差分
var iImgW = 400;         //MAP画像幅
var iImgH = 400;         //MAP画像高
var iImgX_offset = 0;    //最初の画像表示位置X
var iImgY_offset = 0;    //最初に画像表示位置Y

var outframe,inframe,filter;
var IMG_MAP, IMG_MAP_F;

var fAreaClick = false;
var fBig       = false;

var barricade,sempel;

//////////////////////////////////////////////////////////////////////////////
//フィールドの砦位置情報
aryFortress = new Array(
	new Array('ニダヴェリール１(N1)', '135,157,160,182', 1),
	new Array('ニダヴェリール２(N2)',   '132,41,157,66', 2),
	new Array('ニダヴェリール３(N3)',   '31,108,56,133', 3),
	new Array('ニダヴェリール４(N4)',   '56,125,81,150', 1),
	new Array('ニダヴェリール５(N5)',      '6,23,32,48', 1),
	new Array('ヴァルフレイヤ１(F1)',   '53,239,78,264', 4),
	new Array('ヴァルフレイヤ２(F2)',   '13,364,38,389', 5),
	new Array('ヴァルフレイヤ３(F3)',   '19,323,44,348', 6),
	new Array('ヴァルフレイヤ４(F4)', '132,203,157,228', 6),
	new Array('ヴァルフレイヤ５(F5)', '118,335,143,360', 6)
);

//////////////////////////////////////////////////////////////////////////////
//各砦の旗の情報
//各砦で旗の数が異なったりなど、微妙に同じ配列にできない；；
aryFlag = new Array(iMapNum);
aryFlag['temple'] = new Array(
	new Array(      'LF-01',  'LF01',      '13,2,34,53'),
	new Array(      'LF-02',  'LF02',      '36,2,57,53'),
	new Array(      'LF-03',  'LF03',      '59,2,80,53'),
	new Array(      'LF-04',  'LF04',     '82,2,101,53'),
	new Array(      'LF-05',  'LF05',    '103,2,124,53'),
	new Array(      'LF-06',  'LF06',    '126,2,147,53')
);
aryFlag['schg_cas01'] = new Array(
	new Array(      'LF-01',  'LF01',     '25,16,44,68'),
	new Array(      'LF-02',  'LF02',     '45,16,62,68'),
	new Array(      'LF-03',  'LF03',     '63,16,80,68'),
	new Array(      'LF-04',  'LF04',     '81,16,98,68'),
	new Array(      'LF-05',  'LF05',    '99,16,116,68'),
	new Array(      'LF-06',  'LF06',   '117,16,134,68'),
	new Array(      'LF-07',  'LF07',   '135,16,152,68'),
	new Array(      'LF-08',  'LF08',   '153,16,170,68'),
	new Array(      'LF-09',  'LF09',   '171,16,188,68'),
	new Array(      'LF-10',  'LF10',   '189,16,206,68'),
	new Array( '専用部屋WP',    'GM', '272,155,279,162'),
	new Array(    '第1拠点', 'SEMP1',   '13,368,23,378'),
	new Array(    '第2拠点', 'SEMP2', '214,304,224,314'),
	new Array('防衛地域1-1',   '1-1',   '86,352,96,362'),
	new Array('防衛地域1-2',   '1-2', '136,349,146,359'),
	new Array('防衛地域1-3',   '1-3', '131,342,141,352'),
	new Array('防衛地域1-4',   '1-4',  '97,342,107,352'),
	new Array('防衛地域2-1',   '2-1',  '90,248,100,258'),
	new Array('防衛地域2-2',   '2-2', '158,255,168,265'),
	new Array('防衛地域2-3',   '2-3',   '82,178,92,188'),
	new Array('防衛地域2-4',   '2-4', '147,175,157,185'),
	new Array('防衛地域3-1',   '3-1',  '95,153,105,163'),
	new Array('防衛地域3-2',   '3-2', '130,151,140,161'),
	new Array(  '中央1区域', 'cntr1', '115,223,125,233'),
	new Array(  '中央2区域', 'cntr2', '114,182,124,192')
);

aryFlag['schg_cas02'] = new Array(
	new Array(      'LF-01',  'LF01',   '19,217,70,238'),
	new Array(      'LF-02',  'LF02',   '19,193,70,214'),
	new Array(      'LF-03',  'LF03',   '19,169,70,190'),
	new Array(      'LF-04',  'LF04',   '66,122,87,173'),
	new Array(     'ダミー',   'dmy',  '90,122,111,173'),
	new Array(     'ダミー',   'dmy',   '285,23,306,74'),
	new Array(      'LF-05',  'LF05',   '309,23,330,74'),
	new Array(      'LF-06',  'LF06',   '326,70,377,91'),
	new Array(      'LF-07',  'LF07',  '326,94,377,115'),
	new Array(      'LF-08',  'LF08', '326,118,377,139'),
	new Array( '専用部屋WP',    'GM',   '98,93,105,100'),
	new Array(    '第1拠点', 'SEMP1', '232,352,240,360'),
	new Array(    '第2拠点', 'SEMP2', '298,162,306,170'),
	new Array('防衛地域1-1',   '1-1', '317,312,325,320'),
	new Array('防衛地域1-2',   '1-2', '354,312,362,320'),
	new Array('防衛地域2-1',   '2-1', '282,317,290,325'),
	new Array('防衛地域2-2',   '2-2', '275,272,283,280'),
	new Array('防衛地域3-1',   '3-1', '212,286,220,294'),
	new Array('防衛地域3-2',   '3-2', '252,180,260,188'),
	new Array(  '中央1区域', 'cntr1', '335,241,343,249'),
	new Array(  '中央2区域', 'cntr2', '209,169,217,177')
);

aryFlag['schg_cas03'] = new Array(
	new Array(      'LF-01',  'LF01', '320,237,371,258'),
	new Array(      'LF-02',  'LF02', '320,261,371,282'),
	new Array(      'LF-03',  'LF03', '320,285,371,306'),
	new Array(      'LF-04',  'LF04', '320,309,371,330'),
	new Array(      'LF-05',  'LF05', '320,333,371,354'),
	new Array(      'LF-06',  'LF06', '320,357,371,378'),
	new Array(      'LF-07',  'LF07', '241,237,292,258'),
	new Array(      'LF-08',  'LF08', '241,261,292,282'),
	new Array(      'LF-09',  'LF09', '241,333,292,354'),
	new Array(      'LF-10',  'LF10', '241,357,292,378'),
	new Array( '専用部屋WP',    'GM',   '54,386,61,393'),
	new Array(    '第1拠点', 'SEMP1',   '257,77,263,83'),
	new Array(    '第2拠点', 'SEMP2', '375,126,381,132'),
	new Array(  '中央1区域', 'cntr1',   '304,75,310,81'),
	new Array('防衛地域2-1',   '2-1', '307,102,313,108'),
	new Array('防衛地域2-2',   '2-2', '344,102,350,108'),
	new Array(  '中央2区域', 'cntr2', '262,132,268,138'),
	new Array('防衛地域3-1',   '3-1', '223,172,229,178'),
	new Array('防衛地域3-2',   '3-2', '182,147,188,153'),
	new Array(  '中央3区域', 'cntr3', '268,168,274,174')
);

aryFlag['arug_cas01'] = new Array(
	new Array(      'LF-01',  'LF01',    '14,75,33,126'),
	new Array(      'LF-02',  'LF02',    '34,75,51,126'),
	new Array(      'LF-03',  'LF03',    '52,75,69,126'),
	new Array(      'LF-04',  'LF04',    '60,75,87,126'),
	new Array(      'LF-05',  'LF05',   '88,75,105,126'),
	new Array(      'LF-06',  'LF06',  '106,75,123,126'),
	new Array(      'LF-07',  'LF07',  '124,75,141,126'),
	new Array(      'LF-08',  'LF08',  '142,75,159,126'),
	new Array(      'LF-09',  'LF09',  '160,75,177,126'),
	new Array(      'LF-10',  'LF10',  '178,75,197,126'),
	new Array( '専用部屋WP',    'GM',   '124,38,131,45'),
	new Array(    '第1拠点', 'SEMP1', '157,159,163,165'),
	new Array(    '第2拠点', 'SEMP2', '295,147,301,153'),
	new Array('防衛地域1-1',   '1-1', '194,252,200,258'),
	new Array('防衛地域1-2',   '1-2', '242,293,248,299'),
	new Array('防衛地域2-1',   '2-1', '252,361,258,367'),
	new Array('防衛地域2-2',   '2-2', '183,370,189,376'),
	new Array('防衛地域2-3',   '2-3', '143,331,149,337'),
	new Array('防衛地域2-4',   '2-4', '173,285,179,291'),
	new Array('防衛地域3-1',   '3-1',   '91,270,97,276'),
	new Array('防衛地域3-2',   '3-2', '123,270,129,276'),
	new Array('防衛地域3-3',   '3-3',   '65,225,71,231'),
	new Array('防衛地域3-4',   '3-4', '102,214,108,220'),
	new Array( '拠点への道','toSEMP', '229,266,235,272')
);

aryFlag['arug_cas02'] = new Array(
	new Array(      'LF-01',  'LF01',   '215,11,266,32'),
	new Array(      'LF-02',  'LF02',   '215,33,266,54'),
	new Array(      'LF-03',  'LF03',   '215,55,266,76'),
	new Array(      'LF-04',  'LF04',   '215,77,266,98'),
	new Array(      'LF-05',  'LF05', '215,106,266,127'),
	new Array(      'LF-06',  'LF06', '215,128,266,149'),
	new Array(      'LF-07',  'LF07', '215,150,266,171'),
	new Array(      'LF-08',  'LF08', '215,172,266,193'),
	new Array( '専用部屋WP',    'GM',   '388,72,395,79'),
	new Array(    '第1拠点', 'SEMP1',    '6,210,12,216'),
	new Array(    '第2拠点', 'SEMP2', '267,209,273,215'),
	new Array('防衛地域1-1',   '1-1',   '61,365,67,371'),
	new Array('防衛地域1-2',   '1-2', '212,365,218,371'),
	new Array('防衛地域1-3',   '1-3',   '89,277,95,283'),
	new Array('防衛地域1-4',   '1-4', '184,277,190,283'),
	new Array('防衛地域2-1',   '2-1', '115,215,121,221'),
	new Array('防衛地域2-2',   '2-2', '158,215,164,221'),
	new Array('防衛地域2-3',   '2-3',   '154,70,160,76'),
	new Array('防衛地域2-4',   '2-4',   '171,23,177,29'),
	new Array('防衛地域3-1',   '3-1',     '25,71,31,77'),
	new Array('防衛地域3-2',   '3-2',     '56,71,62,77'),
	new Array(  '中央2区域', 'cntr2', '153,134,159,140'),
	new Array(  '中央3区域', 'cntr3',     '41,42,47,48')
);

aryFlag['arug_cas03'] = new Array(
	new Array(      'LF-01',  'LF01',     '34,13,52,64'),
	new Array(      'LF-02',  'LF02',     '53,13,70,64'),
	new Array(      'LF-03',  'LF03',     '71,13,88,64'),
	new Array(      'LF-04',  'LF04',    '89,13,106,64'),
	new Array(      'LF-05',  'LF05',   '107,13,127,64'),
	new Array(      'LF-06',  'LF06',   '156,13,174,64'),
	new Array(      'LF-07',  'LF07',   '175,13,192,64'),
	new Array(      'LF-08',  'LF08',   '193,13,210,64'),
	new Array(      'LF-09',  'LF09',   '211,13,228,64'),
	new Array(      'LF-10',  'LF10',   '229,13,249,64'),
	new Array( '専用部屋WP',    'GM', '318,342,325,349'),
	new Array(    '第1拠点', 'SEMP1',   '82,238,88,244'),
	new Array(    '第2拠点', 'SEMP2', '194,262,200,268'),
	new Array('防衛地域1-1',   '1-1',   '62,301,68,307'),
	new Array('防衛地域1-2',   '1-2', '209,297,215,303'),
	new Array('防衛地域1-3',   '1-3', '108,326,114,332'),
	new Array('防衛地域1-4',   '1-4', '169,326,175,332'),
	new Array('防衛地域2-1',   '2-1', '110,241,116,247'),
	new Array('防衛地域2-2',   '2-2', '167,241,173,247'),
	new Array('防衛地域2-3',   '2-3', '115,210,121,216'),
	new Array('防衛地域2-4',   '2-4', '162,210,168,216'),
	new Array('防衛地域3-1',   '3-1', '112,160,118,166'),
	new Array('防衛地域3-2',   '3-2', '165,160,171,166')
);

////////////////////////////////////////////////////////////////////////////
// 汎用処理
function getTargetNode(e){
	// 対象要素の参照を取得
	var target_node;
	if(e.target){ target_node = e.target;
	}else {       target_node = e.srcElement;
	}
	// Safari対策
	if (target_node.nodeType == 3){
		target_node = target_node.parentNode;
	}
	return target_node;
}
// 要素の位置を取得し、オブジェクトとして返す
function getElemPos(elem){
	var obj = new Object();
	obj.x = elem.offsetLeft;
	obj.y = elem.offsetTop;
	while(elem.offsetParent){
		elem = elem.offsetParent;
		obj.x += elem.offsetLeft;
		obj.y += elem.offsetTop;
	}
	return obj;
}
////////////////////////////////////////////////////////////////////////////
//ドラッグ移動・描き込み用
//
// バブリングとデフォルトイベントアクションの停止
function stopDefaultAndPropagation(e){
	// バブリング停止
	if(e.stopPropagation)e.stopPropagation();
	if(window.event)     window.event.cancelBubble = true;

	// デフォルトイベントアクションを停止する
	if(e.preventDefault) e.preventDefault();
	if(window.event)     window.event.returnValue = false;
}

// ドラッグ開始
function dragStart(e){
	outframe_pos = getElemPos(outframe);
	var pos = getElemPos(inframe);
	iDif_X = e.clientX - pos.x;
	iDif_Y = e.clientY - pos.y;

	//ドキュメント全体にイベントリスナーをセット
	addListener(document, 'mousemove', moveElem, false);
	addListener(document, 'mouseup', dragEnd, false);

	//バブリングとデフォルトイベントアクションの停止
	stopDefaultAndPropagation(e);

	return false;
}
// ドラッグ終了
function dragEnd(e){
	if(e.preventDefault) e.preventDefault();
	// イベントリスナー解除
	removeListener(document, 'mousemove', moveElem, false);
	removeListener(document,   'mouseup',  dragEnd, false);
	dragging = false;

	// バブリングとデフォルトイベントアクションの停止
	stopDefaultAndPropagation(e);
	return false;
}

// ドラッグ中（div移動）
function moveElem(e){
	// マウスがブラウザー表示領域から外れたら終了
	if( (navigator.appName == 'Netscape' && navigator.userAgent.indexOf("Safari") < 0 ) ||
	    (navigator.userAgent.indexOf("Opera") >= 0)
	){
		if( e.clientX >= window.innerWidth - 20 || e.clientX <= 10 ||
		    e.clientY >= window.innerHeight - 30 || e.clientY <= 10
		){
			dragEnd(e);
			return false;
		}
	}
	// 画像格納領域div要素の移動
	inframe.style.left = (e.clientX - outframe_pos.x - iDif_X) + 'px';
	inframe.style.top  = (e.clientY - outframe_pos.y - iDif_Y) + 'px';
	filter.style.left  = (e.clientX - outframe_pos.x - iDif_X) + 'px';
	filter.style.top   = (e.clientY - outframe_pos.y - iDif_Y) + 'px';

	//バブリングとデフォルトイベントアクションの停止
	stopDefaultAndPropagation(e);
	return false;
}

function dragStartFrameBarricade(e){
	var pos = getElemPos(barricade);
	iDif_X = e.clientX - pos.x;
	iDif_Y = e.clientY - pos.y;

	addListener(document, 'mousemove', moveElemFrameBarricade, false);
	addListener(document, 'mouseup',    dragEndFrame, false);
	stopDefaultAndPropagation(e);
}
function dragStartFrameSempel(e){
	var pos = getElemPos(sempel);
	iDif_X = e.clientX - pos.x;
	iDif_Y = e.clientY - pos.y;

	addListener(document, 'mousemove', moveElemFrameSempel, false);
	addListener(document, 'mouseup',    dragEndFrame, false);
	stopDefaultAndPropagation(e);
}
function dragEndFrame(e){
	removeListener(document, 'mousemove', moveElemFrameBarricade, false);
	removeListener(document, 'mousemove', moveElemFrameSempel, false);
	removeListener(document,   'mouseup',  dragEndFrame, false);
	dragging = false;
	stopDefaultAndPropagation(e);
	return false;
}
function moveElemFrameBarricade(e){
	if( (navigator.appName == 'Netscape' && navigator.userAgent.indexOf("Safari") < 0 ) ||
	    (navigator.userAgent.indexOf("Opera") >= 0)
	){
		if( e.clientX >= window.innerWidth - 20 || e.clientX <= 10 ||
		    e.clientY >= window.innerHeight - 30 || e.clientY <= 10
		){
			dragEndFrame(e);
			return false;
		}
	}
	barricade.style.left = e.clientX - iDif_X + 'px';
	barricade.style.top  = e.clientY - iDif_Y + 'px';
	stopDefaultAndPropagation(e);
	return false;
}

function moveElemFrameSempel(e){
	if( (navigator.appName == 'Netscape' && navigator.userAgent.indexOf("Safari") < 0 ) ||
	    (navigator.userAgent.indexOf("Opera") >= 0)
	){
		if( e.clientX >= window.innerWidth - 20 || e.clientX <= 10 ||
		    e.clientY >= window.innerHeight - 30 || e.clientY <= 10
		){
			dragEndFrame(e);
			return false;
		}
	}
	sempel.style.left = e.clientX - iDif_X + 'px';
	sempel.style.top  = e.clientY - iDif_Y + 'px';
	stopDefaultAndPropagation(e);
	return false;
}


// イベントリスナー解除
function removeListener(elem, eventType, func, cap){
	if(elem.removeEventListener){
		elem.removeEventListener(eventType, func, cap);
	}else if(elem.detachEvent){
		elem.detachEvent('on' + eventType, func);
	}
}
// イベントリスナー登録
function addListener(elem, eventType, func, cap){
	if(elem.addEventListener){
		elem.addEventListener(eventType, func, cap);
	}else if(elem.attachEvent){
		elem.attachEvent('on' + eventType, func);
	}else{
		alert("このブラウザは対応していません。");
		return false;
	}
}
//////////////////////////////////////////////////////////////////////////////
//
function funcShowExp(iFlag){
	if(iFlag == 0){
		if(barricade.style.display == 'none'){
			barricade.style.zIndex = 5;
			sempel.style.zIndex    = 4;
			outframe_pos  = getElemPos(baceframe);
			barricade.style.left = outframe_pos.x + 'px';
			barricade.style.top  = outframe_pos.y + 'px';
			barricade.style.display  = 'block';
		}else{
			barricade.style.display  = 'none';
		}
	}else{
		if(sempel.style.display == 'none'){
			sempel.style.zIndex    = 5;
			barricade.style.zIndex = 4;
			outframe_pos  = getElemPos(baceframe);
			sempel.style.left = outframe_pos.x + 'px';
			sempel.style.top  = outframe_pos.y + 'px';
			sempel.style.display  = 'block';
		}else{
			sempel.style.display  = 'none';
		}
	}
}
function funcHideExp(iFlag){
	if(iFlag == 0){
		barricade.style.display  = 'none';
	}else{
		sempel.style.display  = 'none';
	}
}
function funcClickExp(iFlag){
	if(iFlag == 0){
		barricade.style.zIndex = 5;
		sempel.style.zIndex    = 4;
	}else{
		sempel.style.zIndex    = 5;
		barricade.style.zIndex = 4;
	}
}
//////////////////////////////////////////////////////////////////////////////
// 初期化
addListener(window, 'load', funcInit, false);
function funcInit(){
	document.getElementById('showname').innerHTML = aryMap[1];
	document.getElementById('SelectMapImg').setAttribute(   'src', aryMap[2]+'.gif?'+strLastModified);
	document.getElementById('SelectMapImg').setAttribute('useMap', '#select_map');

	var mapf = document.getElementById('MapFrame');
	var strBuff = '';

	barricade = document.getElementById('barricade');
	sempel    = document.getElementById('sempel');
	baceframe = document.getElementById('baceframe');
	outframe  = document.getElementById('outframe');
	inframe   = document.getElementById('inframe');
	filter    = document.getElementById('filter');

	document.SelectMapForm.SelectMap.length = iMapNum;

	for(t=0; t<iMapNum; t++){
		document.SelectMapForm.SelectMap.options[t] = new Option(MAPID[t][1], MAPID[t][0]);
		strBuff += '<map name="' +MAPID[t][0]+ '_map" id="' +MAPID[t][0]+ '_map">';
		for(i=0; i<aryFlag[MAPID[t][0]].length; i++){
			strBuff += '<area shape="rect" title="' +aryFlag[MAPID[t][0]][i][0]+ '"';
			strBuff += ' coords="' +aryFlag[MAPID[t][0]][i][2]+ '"';
			strBuff += " onMouseOver=\"if(!map.lock)map.src='" +MAPID[t][0]+ '/'+MAPID[t][0]+ '_' +aryFlag[MAPID[t][0]][i][1]+ ".gif?" +strLastModified+ "'\"";
			strBuff += " onMouseOut=\"if(!map.lock)map.src='" +MAPID[t][0]+ '/'+MAPID[t][0]+ "_map.gif?" +strLastModified+ "'\"";
			strBuff += " href=\"javascript:funcMapLock()\">";
		}
		strBuff += '</map>';
	}
	strBuff += '<map name="select_map" id="select_map">'
	for(t=0; t<aryFortress.length; t++){
		//砦名の指定
		strBuff += '<area shape="rect" alt="' +aryFortress[t][0]+ '"';

		//砦の座標指定
		strBuff += ' coords="' +aryFortress[t][1]+ '"';

		//クリック指定
		strBuff += " href=\"javascript:funcChangeMapIMG('" +aryFortress[t][2]+ "')\">";
	}
	mapf.innerHTML = strBuff;

	IMG_MAP = document.createElement('img');
	IMG_MAP.width  = iImgW;
	IMG_MAP.height = iImgH;
	IMG_MAP.id     = 'map';
	IMG_MAP.src    = aryMap[0]+ '/' +aryMap[0]+ '_map.gif?'+strLastModified;
	inframe.appendChild(IMG_MAP);

	IMG_MAP_F = document.getElementById('IMG_MAP_F');
	IMG_MAP_F.useMap = '#' +aryMap[0]+ '_map';

	funcImgReset();

	outframe.style.zIndex = 1;
	inframe.style.zIndex  = 2;
	filter.style.zIndex   = 3;

	addListener( outframe, 'mousedown',               dragStart, false);

	funcInitPos();
	addListener(barricade, 'mousedown', dragStartFrameBarricade, false);
	addListener(   sempel, 'mousedown',    dragStartFrameSempel, false);
	barricade.style.zIndex= 4;
	sempel.style.zIndex   = 5;

//	alert('funcInit:END');
}

// Now Loading...からMAP表示への切り替え
function funcInitPos(){
	funcBeceReset();
	outframe.style.display = 'block';
//	alert('funcInitPos:END');
}

//////////////////////////////////////////////////////////////////////////////
// 表示砦の変更
function funcChangeMapIMG(iIndex){
//	aryMap = MAPID[iIndex];
	var select = document.getElementById('SelectMap');
	select.selectedIndex = iIndex;
	funcChangeMap(select);
}
function funcChangeMap(select){
//	outframe.style.display = 'none';
	aryMap = MAPID[select.selectedIndex];

	if(!SelectMapForm.BanishFlags.checked){
		IMG_MAP.src = aryMap[0]+ '/'+aryMap[0]+'_map.gif?'+strLastModified;
		IMG_MAP_F.useMap = '#' +aryMap[0]+ '_map';
	}else{
		IMG_MAP.src = aryMap[0]+ '/'+aryMap[0]+'.gif?'+strLastModified;
		IMG_MAP_F.useMap = '#dmy';
	}
	document.getElementById('SelectMapImg').setAttribute('src',aryMap[2]+'.gif?'+strLastModified);

	map.lock = false;
	document.getElementById('showname').innerHTML = aryMap[1];
	funcImgReset();
}

//////////////////////////////////////////////////////////////////////////////
// MAP画像操作系
//
// 表示位置の調整
function funcBeceReset(){
	outframe_pos  = getElemPos(baceframe);
	outframe.style.left = (outframe_pos.x+10) + 'px';
	outframe.style.top  = (outframe_pos.y+10) + 'px';
//	alert('funcBeceReset:END');
}

// MAP画像の初期化
function funcImgReset(){
	fBig = false;
	IMG_MAP.width   = iImgW;
	IMG_MAP.height  = iImgH;
	IMG_MAP_F.width = iImgW;
	IMG_MAP_F.height= iImgH;
	inframe.style.left = iImgX_offset + 'px';
	inframe.style.top  = iImgY_offset + 'px';
	filter.style.left  = iImgX_offset + 'px';
	filter.style.top   = iImgY_offset + 'px';
}
// MAP拡大
function funcDblclic(){
	fBig = true;
	IMG_MAP_F.useMap = '#dmy';
	IMG_MAP_F.width  = IMG_MAP.width  +50;
	IMG_MAP_F.height = IMG_MAP.height +50;
	IMG_MAP.width    = IMG_MAP.width  +50;
	IMG_MAP.height   = IMG_MAP.height +50;
}
// 移動矢印固定表示⇔固定表示解除
function funcMapLock(){
	if(map.lock){
		IMG_MAP.src = aryMap[0]+ '/'+aryMap[0]+'_map.gif?'+strLastModified;
		IMG_MAP_F.useMap = '#' +aryMap[0]+ '_map';
		map.lock = false;
	}else{
		map.lock = true;
	}
}
// フラッグ表示消去
function funcBanishFlags(check){
	map.lock = false;
	if(check.checked){
		IMG_MAP.src = aryMap[0]+ '/'+aryMap[0]+'.gif?'+strLastModified;
		IMG_MAP_F.useMap = '#dmy';
	}else{
		IMG_MAP.src = aryMap[0]+ '/'+aryMap[0]+'_map.gif?'+strLastModified;
		if(!fBig){
			IMG_MAP_F.useMap = '#' +aryMap[0]+ '_map';
		}
	}
}
function funcShowGutter(check){
	if(check.checked){
		IMG_MAP_F.src = 'gutter.gif?'+strLastModified;
		IMG_MAP_F.style.filter = 'Alpha(opacity=40)';
	}else{
		IMG_MAP_F.src = 'filter.gif?'+strLastModified;
	}
}
//////////////////////////////////////////////////////////////////////////////
// コメント入出力用
// fMethod(true=GET/false=POST)
function funcLoadComent(fMethod){
	var httpObj;
	strRequestURL  = "../cgi-bin/gvse/coment.cgi";

	if(!fMethod && document.comentForm.comentText.value == ''){
		alert('コメントが未入力です。');
		return;
	}

	httpObj = createXMLHttpRequest();
	if( httpObj ){
		//通信の開始
		try{
			httpObj.onreadystatechange = function (){
				if(httpObj.readyState == 4){
					switch(httpObj.status){
					case 200:
						funcSetComentLog(httpObj.responseText);
						break;
					case 404:
						document.getElementById("show").innerHTML = "Err > 指定サイトがみつかりません(404)";
						break;
					default:
						document.getElementById("show").innerHTML = "Err > StatusCode："+httpObj.status;
					}
				}else{
						document.getElementById("show").innerHTML = "通信中…";
				}
			}
			if(fMethod){
				//GET
				httpObj.open('GET', strRequestURL, true);

				//If-modified-Sinceヘッダに過去の日付を指定し、キャッシュを使用しないようにする。
				httpObj.setRequestHeader('If-modified-Since','Thu, 01 Jun 1970 00:00:00 GMT');
				httpObj.send(null);
			}else{
				//POST
				httpObj.open('POST', strRequestURL, true);

				//If-modified-Sinceヘッダに過去の日付を指定し、キャッシュを使用しないようにする。
				httpObj.setRequestHeader('If-modified-Since','Thu, 01 Jun 1970 00:00:00 GMT');
				httpObj.send(
					'comentName='+document.comentForm.comentName.value +
					'&comentText='+document.comentForm.comentText.value);
				document.comentForm.comentText.value = '';
			}

		}catch(e){
			document.getElementById("show").innerHTML = 
				'<font color="#ff0000">予期せぬエラーが発生しました</font><br>';
		}
	}
}

function createXMLHttpRequest(){
	var xmlHttpRequest = null;

	if(window.XMLHttpRequest){
		xmlHttpObject = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		try{
			xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttpObject;
}
function funcSetComentLog(strComents){
	var aryComents;
	var aryA_Coment;
	var strBuff = '';
	aryComents = strComents.split("\n");
	for(var i=0; i<aryComents.length; i++){
		aryA_Coment = aryComents[i].split("\t");
		if(aryA_Coment[1] == undefined){
			break;
		}
		strBuff += '<hr>' + aryA_Coment[0]+ ' > ' +aryA_Coment[1] +aryA_Coment[2];
	}
	document.getElementById("show").innerHTML = strBuff;
}
