var message_width = 400
var message_height = 120
var Win = navigator.userAgent.indexOf('Win')!=-1
var Mac = navigator.userAgent.indexOf('Mac')!=-1
var X11 = navigator.userAgent.indexOf('X11')!=-1
var Moz = navigator.userAgent.indexOf('Gecko')!=-1
var msie = navigator.userAgent.indexOf('MSIE')!=-1
var bwlang = getBrowserLANG()
//入力後退避位置
if( Mac && msie ){ var gox=2000 ; var goy=2000 }
else { var gox=-300 ; var goy=-300 }
//n4用レイヤー出力位置
if(document.layers){var n4_left=300 ; var n4_top= 100 }
messageLay['message']=new messageLay('message',-100,-100,'')
function wrtMessageLay(e,message,execLink){
openMessage();
var def_flag = true;
set_event__wrtMessageLay() //イベントキャプチャースタート
ddata = ''
ddata = '
'
ddata += '
\n'
ddata += ' | 確認メッセージ |
'
ddata += ' '
ddata += ' 指定したデータを削除します。よろしいですか?
'
ddata += ' 削除対象データ '
ddata += ' ' + message
ddata += ' '
ddata += ' はい'
ddata += ' '
ddata += ' いいえ'
ddata += ' |
'
ddata += '
\n'
ddata += '
\n'
messageLay['message'].outputLAYOJ(getLayOj('message'),'')//一時クリア
messageLay['message'].outputLAYOJ(getLayOj('message'),ddata)
if(e!=null){
//if(navigator.userAgent.indexOf('Gecko')!=-1){ //n6,m1用
if(navigator.userAgent.indexOf('Netscape6')!=-1){ //n6,m1用
var left = e.currentTarget.offsetLeft + 50
var top = e.currentTarget.offsetTop - 100
} else if(navigator.userAgent.indexOf('Opera')!=-1){ //Opera
var left = getMouseX(e) + 50
var top = getMouseY(e) + document.body.scrollTop - 100
} else {
var left = getMouseX(e) + 50
var top = getMouseY(e) - 100
}
if (top<0){
top=0;
}
if(document.layers){ var left = n4_left ; var top = n4_top }//n4修正
messageLay['message'].moveLAYOJ(getStyleOj('message'),left,top)
} else {
if (document.layers){
top = document.body.scrollTop + (window.innerHeight / 2) - (message_height / 2);//n4
} else {
top = document.body.scrollTop + (document.body.clientHeight / 2) - (message_height / 2);
}
left = document.body.clientWidth / 2 - (message_width / 2);
if(document.layers){ var left = n4_left ; var top = n4_top }//n4修正
messageLay['message'].moveLAYOJ(getStyleOj('message'),left,top)
}
}
//--レイヤー生成
function messageLay(layName,x,y){
this.id = layName // ドラッグできるようにするレイヤー名
this.x = x // 初期left位置
this.y = y // 初期top位置
if(document.layers) //n4用
this.div='\n'
+'\n'
+ '\n'
else //n4以外用
this.div='\n'
+ '
\n'
document.write(this.div)
return
}
messageLay.prototype.moveLAYOJ = moveLAYOJ //メソッドを追加する
messageLay.prototype.outputLAYOJ = outputLAYOJ //メソッドを追加する
messageLay.prototype.zindexLAYOJ = zindexLAYOJ //メソッドを追加する
//--レイヤー移動
function moveLAYOJ(oj,x,y){
if(document.getElementById){ //e5,e6,n6,m1,o6用
oj.left = x
oj.top = y
} else if(document.all){ //e4用
oj.pixelLeft = x
oj.pixelTop = y
} else if(document.layers) //n4用
oj.moveTo(x,y)
hideOverMessageElement(x,y);
}
//--HTML出力
function outputLAYOJ(oj,html){
if(document.getElementById) oj.innerHTML=html //n6,m1,e5,e6用
else if(document.all) oj.innerHTML=html //e4用
else if(document.layers) //n4用
with(oj.document){
open()
write(html)
close()
}
}
//--奥行きZ座標set
function zindexLAYOJ(oj,zindex){
if(document.getElementById) oj.zIndex=zindex //n6,m1,e5,e6,o6用
else if(document.all) oj.zIndex=zindex //e4用
else if(document.layers) oj.zIndex=zindex //n4用
}
//--layNameで指定したオブジェクトを返す(必ずonload後に実行すること)
function getLayOj(layName){
if(document.getElementById)
return document.getElementById(layName) //e5,e6,n6,m1,o6用
else if(document.all) return document.all(layName) //e4用
else if(document.layers)return document.layers[layName] //n4用
}
function getStyleOj(clickElement){
return (!!document.layers)?getLayOj(clickElement)
:getLayOj(clickElement).style
}
//--マウスX座標get
function getMouseX(e){
if(window.opera) //o6用
return e.clientX
else if(document.all) //e4,e5,e6用
return document.body.scrollLeft+event.clientX
else if(document.layers||document.getElementById)
return e.pageX //n4,n6,m1用
}
//--マウスY座標get
function getMouseY(e){
if(window.opera) //o6用
return e.clientY
else if(document.all) //e4,e5,e6用
return document.body.scrollTop+event.clientY
else if(document.layers||document.getElementById)
return e.pageY //n4,n6,m1用
}
//--レイヤ-左辺X座標get
function getLEFT(layName){
if(document.all) //e4,e5,e6,o6用
return document.all(layName).style.pixelLeft
else if(document.getElementById) //n6,m1用
return (document.getElementById(layName).style.left!="")
?parseInt(document.getElementById(layName).style.left):""
else if(document.layers) //n4用
return document.layers[layName].left
}
//--レイヤ-上辺Y座標get
function getTOP(layName){
if(document.all) //e4,e5,e6,o6用
return document.all(layName).style.pixelTop
else if(document.getElementById) //n6,m1用
return (document.getElementById(layName).style.top!="")
?parseInt(document.getElementById(layName).style.top):""
else if(document.layers) //n4用
return document.layers[layName].top
}
//--マウスカーソルを動かした時レイヤーもmoveLAYOJで動かす
function mmove_wrtMessageLay(e) {
if(!window.clickElement) return
if (getLayOj(clickElement)) {
movetoX = getMouseX(e) - offsetX
movetoY = getMouseY(e) - offsetY
var oj=getStyleOj(clickElement)
messageLay[clickElement].moveLAYOJ(oj,movetoX,movetoY)
return false
}
}
//--マウスボタンを押し下げた時
// レイヤー内のカーソルoffset位置取得
function mdown_wrtMessageLay(e) {
if(navigator.userAgent.indexOf('Gecko')!=-1) //n6,m1用
if(e.currentTarget.className != 'dragLays') return
else clickElement = e.currentTarget.id
var selLay = getLayOj(clickElement)
if (selLay){
offsetX = getMouseX(e) - getLEFT(selLay.id)
offsetY = getMouseY(e) - getTOP(selLay.id)
if(document.layers){
offsetX = getMouseX(e)+10 ; offsetY = getMouseY(e)+10
}
}
return false
}
//--マウスボタンを上げた時ドラッグ解除
var zcount = 0
function mup_wrtMessageLay(e) {
if(!window.clickElement) return
if (getLayOj(clickElement)) {
messageLay[clickElement].zindexLAYOJ(
getStyleOj(clickElement),zcount++)
clickElement=null
}
}
//--イベントキャプチャー開始
function set_event__wrtMessageLay(){
document.onmousemove = mmove_wrtMessageLay //n4,m1,n6,e4,e5,e6,o6用
document.onmouseup = mup_wrtMessageLay //n4,m1,n6,e4,e5,e6,o6用
if(navigator.userAgent.indexOf('Gecko')!=-1) //m1,n6用
document.onmousedown = mdown_wrtMessageLay
if(document.layers){ //n4用
document.captureEvents(Event.MOUSEMOVE)
document.captureEvents(Event.MOUSEUP)
}
}
//--イベントキャプチャー停止
function stop_event__wrtMessageLay(){
document.onmousemove = null //n4,m1,n6,e4,e5,e6,o6用
document.onmouseup = null //n4,m1,n6,e4,e5,e6,o6用
if(navigator.userAgent.indexOf('Gecko')!=-1) //m1,n6用
document.onmousedown = null
if(document.layers){ //n4用
document.releaseEvents(Event.MOUSEMOVE)
document.releaseEvents(Event.MOUSEUP)
}
}
//--ブラウザの言語を取得
function getBrowserLANG(){
if(document.all)
return navigator.browserLanguage //e4,e5,e6,o6用
else if(document.layers)
return navigator.language //n4用
else if(document.getElementById)
return navigator.language.substr(0,2) //n6,n7,m1用
}
function openMessage(){
var obj=document.getElementById("message_lay_obj");
if (obj != null){
obj.style.display="block";
}
}
function closeMessage(){
var obj=document.getElementById("message_lay_obj");
obj.style.display="none";
hideOverMessageElement(2000,2000);
}
function hideOverMessageElement(x,y){
function getStyleProp(obj, style){
var value = obj.style[style];
if (!value) {
if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
value = document.defaultView.
getComputedStyle(obj, "").getPropertyValue(style);
} else if (obj.currentStyle) { // IE
value = obj.currentStyle[style];
} else {
value = obj.style[style];
}
}
return value;
};
if (msie){
var tags = new Array("applet", "iframe", "select");
var EX1 = x;//
var EX2 = message_width + EX1;
var EY1 = y;//y
var EY2 = message_height + EY1;
for (var k = tags.length; k > 0; ) {
var ar = document.getElementsByTagName(tags[--k]);
var cc = null;
for (var i = ar.length; i > 0;) {
cc = ar[--i];
var cp = getAbsolutePos(cc);
var CX1 = cp.x;
var CX2 = cc.offsetWidth + CX1;
var CY1 = cp.y;
var CY2 = cc.offsetHeight + CY1;
if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
if (!cc.__msh_save_visibility) {
cc.__msh_save_visibility = getStyleProp(cc, "visibility");
}
cc.style.visibility = cc.__msh_save_visibility;
} else {
if (!cc.__msh_save_visibility) {
cc.__msh_save_visibility = getStyleProp(cc, "visibility");
}
cc.style.visibility = "hidden";
}
}
}
}
}
function getAbsolutePos(el) {
var r = { x: el.offsetLeft, y: el.offsetTop };
if (el.offsetParent) {
var tmp = getAbsolutePos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
};