/*
--------------------------------------------------
	Functions for CrossBrowser
-------------------------------------------------- */

/*	DOM: 1=NN4, 2=IE4, 3=IE5+, 4=NN6+, 0=Others
-------------------------------------------------- */
DOM = document.all?(document.getElementById?3:2)
			:(document.getElementById?4
			:(document.layers?1:0));

function getDivFromName(idName){
	if(DOM>=3) return document.getElementById(idName);
	if(DOM==2) return document.all(idName);
	if(DOM==1){
		var s = '';
		for(var i=1; i<arguments.length; i++)
		s += 'document.layers.'+arguments[i]+'.';
		return eval(s+'document.layers.'+idName);
	}
	return null;
}
function getDivLeft(div){
	if(DOM>=3) return div.offsetLeft;
	if(DOM==2) return div.style.pixelLeft;
	if(DOM==1) return div.left;
	return 0;
}
function getDivTop(div){
	if(DOM>=3) return div.offsetTop;
	if(DOM==2) return div.style.pixelTop;
	if(DOM==1) return div.top;
	return 0;
}
function getPageX(e){
	if(window.opera) return e.clientX;
	if(DOM==4) return e.clientX+window.scrollX;
	if(DOM==3 || DOM==2) return document.body.scrollLeft+window.event.clientX;
	if(DOM==1) return e.pageX;
	return 0;
}
function getPageY(e){
	if(window.opera) return e.clientY;
	if(DOM==4) return e.clientY+window.scrollY;
	if(DOM==3 || DOM==2) return document.body.scrollTop+window.event.clientY;
	if(DOM==1) return e.pageY;
	return 0;
}

/*	Main Script
-------------------------------------------------- */
var selected = null;
var offsetX = 0;
var offsetY = 0;

function pickup(layerID,e){
	selected = getDivFromName(layerID);
	offsetX = getPageX(e) - getDivLeft(selected);
	offsetY = getPageY(e) - getDivTop(selected);
	if(DOM==4) document.onmousemove = dragMZ;
	if(DOM==3 || DOM==2) document.onmousemove = dragIE;
	if(DOM==1) document.onmousemove = dragNN;
	if(window.opera) document.onmousemove = dragOP;
}
function dragMZ(e){ // for Mozilla,NN6,etc
	var movetoX = e.clientX+window.scrollX-offsetX;
	var movetoY = e.clientY+window.scrollY-offsetY;
	selected.style.left = movetoX +'px';
	selected.style.top  = movetoY +'px';
	return false;
}
function dragIE(){ // for IE4+
	var movetoX = event.clientX+document.body.scrollLeft-offsetX;
	var movetoY = event.clientY+document.body.scrollTop -offsetY;
	selected.style.pixelLeft = movetoX;
	selected.style.pixelTop  = movetoY;
	return false;
}
function dragOP(e){ // for Opera
	var movetoX = e.clientX-offsetX;
	var movetoY = e.clientY-offsetY;
	selected.style.left = movetoX +'px';
	selected.style.top  = movetoY +'px';
	return false;
}
function dragNN(e){ // for NN4
	var movetoX = e.pageX-offsetX;
	var movetoY = e.pageY-offsetY;
	selected.moveTo(movetoX, movetoY);
	return false;
}
function clearAll() {
	document.onmousemove = "";
	selected = null;
	offsetX = 0;
	offsetY = 0;
}

/*	EventCapture
-------------------------------------------------- */
if(document.layers){
	document.captureEvents(Event.MOUSEMOVE);
	document.captureEvents(Event.MOUSEUP);
}
document.onmouseup = clearAll;


/*
--------------------------------------------------
	マップ切り替え
-------------------------------------------------- */
function switchView1(){

	var accessmapfield = '';
	accessmapfield += '<div id="accessmap" style="position: absolute; top: 0px; left: -2px;">';
	accessmapfield += '<img src="http://www.grandpacific.jp/img/access/accessmap_local.jpg" onmousedown="pickup(\'accessmap\', event); return false" galleryimg="no">';
	accessmapfield += '</div>';

	// HTML書き出し
	document.getElementById("accessmapfield").innerHTML = accessmapfield;

}
function switchView2(){

	var accessmapfield = '';
	accessmapfield += '<div id="accessmap" style="position: absolute; top: 0px; left: 0px;">';
	accessmapfield += '<img src="http://www.grandpacific.jp/img/access/accessmap2_local.jpg" onmousedown="pickup(\'accessmap\', event); return false" galleryimg="no">';
	accessmapfield += '</div>';

	// HTML書き出し
	document.getElementById("accessmapfield").innerHTML = accessmapfield;

}