/*////////////////////////////////////////
※関数簡易一覧

通信開始
ajax_obj(){

レイヤの移動位置算出
setMenu(idName)

レイヤを移動する
moveLayer(idName,x,y)

AJAX開く
ajax_open()

AJAX閉じる
ajax_close()

AJAXメニューのドラッグアンドドロップ処理
dragdrop()



////////////////////////////////////////*/


/*////////////////////////////////////////
通信開始
////////////////////////////////////////*/
function ajax_obj(){

	if(window.XMLHttpRequest) {
		ajax = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}else{
		ajax = null;
	}
	return ajax;
}


/*////////////////////////////////////////
レイヤの移動位置算出
////////////////////////////////////////*/
function setMenu(idName){

	offX = 10;
	offY = 40;
	
	if(document.all){
		sx = document.body.scrollLeft;
		sy = document.body.scrollTop;
	}else{
		sx = self.pageXOffset;
		sy = self.pageYOffset;
	}
	moveLayer(idName,sx+offX,sy+offY);
}


/*////////////////////////////////////////
レイヤを移動する

////////////////////////////////////////*/
function moveLayer(idName,x,y){

	if(document.getElementById){
		document.getElementById(idName).style.left=x;
		document.getElementById(idName).style.top=y;
	}else if(document.all){
		document.all(idName).style.pixelLeft=x;
		document.all(idName).style.pixelTop=y;
	}else if(document.layers){
		document.layers[idName].moveTo(x,y);
	}
}


/*////////////////////////////////////////
AJAX開く

////////////////////////////////////////*/
function ajax_open(FileVal , DivId , FileName, top, left ){
	
	var param = FileVal+"&style_id=" + DivId;
	setMenu(DivId);
	
/* 縦・横を画面に合わせる */
if(navigator.userAgent.indexOf("MSIE 6.0;") != -1){
	T = document.documentElement.scrollTop + 80;
	L = "100";
	st = document.documentElement.scrollTop;
	sl = document.documentElement.scrollLeft;
	if(top != undefined) {
		T = (parseInt(st) + parseInt(top))+'px';
	}
	if(left != undefined) {
		L = (parseInt(sl) + parseInt(left))+'px';
	}
	document.getElementById(DivId).style.position = "absolute";
	document.getElementById(DivId).style.top = T;
	document.getElementById(DivId).style.left = L;

/*	一時的にセレクトボックスを無くす。*/
	var elems = document.getElementsByTagName("select");
	for (i = 0; i < elems.length; i++) {
		elems[i].style.display = "none";
	}


}else if(navigator.userAgent.indexOf("MSIE 7.0;") != -1){
	T = "50px";		// 縦の絶対値
	L = "100px";	// 横の絶対値
	st = document.documentElement.scrollTop;
	sl = document.documentElement.scrollLeft;
	if(top != undefined) {
		T = (parseInt(st) + parseInt(top))+'px';
	}
	if(left != undefined) {
		L = (parseInt(sl) + parseInt(left))+'px';
	}
	document.getElementById(DivId).style.position = "absolute";
	document.getElementById(DivId).style.top = T;
	document.getElementById(DivId).style.left = L;
	document.getElementById(DivId).style.zIndex = "100";
}else if(navigator.userAgent.indexOf("Firefox") != -1){
	T = "50px";		// 縦の絶対値
	L = "100px";	// 横の絶対値
	st = document.documentElement.scrollTop;
	sl = document.documentElement.scrollLeft;
	if(top != undefined) {
		T = (parseInt(st) + parseInt(top))+'px';
	}
	if(left != undefined) {
		L = (parseInt(sl) + parseInt(left))+'px';
	}
	
	document.getElementById(DivId).style.position = "absolute";
	document.getElementById(DivId).style.top = T;
	document.getElementById(DivId).style.left = L;
	document.getElementById(DivId).style.zIndex = "100";
}else if(navigator.userAgent.indexOf("Chrome") != -1){
	T = "50px";		// 縦の絶対値
	L = "100px";	// 横の絶対値
	st = document.body.scrollTop;
	sl = document.body.scrollLeft;
	if(top != undefined) {
		T = (parseInt(st) + parseInt(top))+'px';
	}
	if(left != undefined) {
		L = (parseInt(sl) + parseInt(left))+'px';
	}
	
	document.getElementById(DivId).style.position = "absolute";
	document.getElementById(DivId).style.top = T;
	document.getElementById(DivId).style.left = L;
	document.getElementById(DivId).style.zIndex = "100";
}else{
	T = "50px";		// 縦の絶対値
	L = "100px";	// 横の絶対値
	st = document.documentElement.scrollTop;
	sl = document.documentElement.scrollLeft;
	if(top != undefined) {
		T = (parseInt(st) + parseInt(top))+'px';
	}
	if(left != undefined) {
		L = (parseInt(sl) + parseInt(left))+'px';
	}
	document.getElementById(DivId).style.position = "absolute";
	document.getElementById(DivId).style.top = T;
	document.getElementById(DivId).style.left = L;
	document.getElementById(DivId).style.zIndex = "100";	
}
	document.getElementById(DivId).style.overflow = "hidden";
	document.getElementById(DivId).style.backgroundColor = "#ffffff";
	document.getElementById(DivId).style.visibility = "visible";
/*
	document.getElementById(DivId).style.height = H;
	document.getElementById(DivId).style.width = W;
	document.getElementById(DivId).style.border = "1px solid #0066cc";
	document.getElementById(DivId).innerHTML = "<div align=\"center\">\n<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"200\" height=\"150\" id=\"loading\" align=\"middle\">\n<param name=\"allowScriptAccess\" value=\"sameDomain\" />\n<param name=\"movie\" value=\"loading.swf\" />\n<param name=\"quality\" value=\"high\" />\n<param name=\"bgcolor\" value=\"#ffffff\" />\n<embed src=\"loading.swf\" quality=\"high\" bgcolor=\"#ffffff\" width=\"200\" height=\"150\" name=\"loading\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />\n</object>\n</div>\n";
*/
	
	ajax.open("POST", FileName, true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=EUC-JP');

	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4 && ajax.status == 200) {
			var obj = document.getElementById(DivId);
			obj.innerHTML = ajax.responseText;
		}
	}
	ajax.send(param);
}


/*////////////////////////////////////////
AJAX閉じる
////////////////////////////////////////*/
function ajax_close(idName){

	var obj = document.getElementById(idName);
	obj.innerHTML = "";
	obj.style.visibility = "hidden";

/*	ajax_open時にセレクトフォームを消す場合は復活させる IE6 */
	if(navigator.userAgent.indexOf("MSIE 6.0;") != -1){
		var elems = document.getElementsByTagName("select");
		for (i = 0; i < elems.length; i++) {
			 elems[i].style.display = "inline";
		}
	}


}


/*////////////////////////////////////////
AJAXメニューのドラッグアンドドロップ処理 2パターン
////////////////////////////////////////*/
// スクロール情報取得
document.scroll = function(){
   return {
      x: this.body.scrollLeft || this.documentElement.scrollLeft,
      y: this.body.scrollTop  || this.documentElement.scrollTop
   };
};

function dragdrop(){

	dragObj = new Object();
	dragObj.dragFlag = false;
	dragObj.targetObj = null
	
	var div = "view";

	dragObj.dragStart = function(event){
		dragObj.dragFlag = true;
		dragObj.targetObj = $(div);
		usepoint = parseInt(dragObj.targetObj.style.top) + 25 + parseInt(document.scroll().y);
		if(usepoint > mouseY){
			dragObj.offsetX = mouseX - parseInt(dragObj.targetObj.style.left);
			dragObj.offsetY = mouseY - parseInt(dragObj.targetObj.style.top);
		}else{
			dragObj.dragFlag = false;
		}
	}

	dragObj.dragEnd = function(){
		dragObj.dragFlag = false;
	}

	dragObj.dragProc = function(event){
		mouseX = Event.pointerX(event);
		mouseY = Event.pointerY(event);
		
		if(!dragObj.dragFlag) return;

		dragObj.targetObj.style.left = mouseX - dragObj.offsetX;
		dragObj.targetObj.style.top = mouseY - dragObj.offsetY;

		return false;
	}

	window.onload = function(){
		eleName = div;
		$(eleName).onmousedown = dragObj.dragStart;
		$(eleName).onmouseup = dragObj.dragEnd;

		$(eleName).style.left = "60px";
		$(eleName).style.top = "50px";

		Event.observe(window.document, "mousemove", dragObj.dragProc,false);
	}

	return dragObj;
}



