var gv_translateType = 0; var gv_translatePosition = 0; var gv_dragOn = false; var gv_offsetX; var gv_offsetY; function init() { gv_autoMove = true; if ( document.getElementById("dialog_title") ) { document.getElementById("dialog_title").onmousedown = dragStart; document.getElementById("dialog_title").onmouseup = dragEnd; window.document.onmousemove = dragProc; } } window.onresize = function() { if ( document.getElementById('dialog_bg').style.visibility == "visible" ) { var cSize = getViewPort(); document.getElementById('dialog_bg').style.width = cSize.width + "px"; document.getElementById('dialog_bg').style.height = cSize.height + "px"; } } // ドラッグ開始処理 function dragStart() { gv_dragOn = true; offsetX = mouseX - parseInt(document.getElementById("dialog_title").style.left); offsetY = mouseY - parseInt(document.getElementById("dialog_title").style.top); document.getElementById('dialog_window').style.filter = "alpha(style=0,opacity=50)"; document.getElementById('dialog_window').style.MozOpacity = "0.5"; document.getElementById('dialog_window').style.MozOpacity = "0.5"; document.getElementById('dialog_window').style.opacity = "0.5"; return false; } // ドラッグ終了処理 function dragEnd() { document.getElementById('dialog_window').style.filter = "alpha(style=0,opacity=100)"; document.getElementById('dialog_window').style.MozOpacity = "1"; document.getElementById('dialog_window').style.MozOpacity = "1"; document.getElementById('dialog_window').style.opacity = "1"; gv_dragOn = false; } // ドラッグ中の処理 function dragProc( evt ) { if (document.all) { mouseX = event.x; mouseY = event.y; } else { mouseX = evt.pageX; mouseY = evt.pageY; } if (! gv_dragOn ) return; document.getElementById("dialog_title").style.left = ( mouseX - offsetX ) + "px"; document.getElementById("dialog_title").style.top = ( mouseY - offsetY ) + "px"; document.getElementById("dialog_window").style.left = ( mouseX - offsetX ) + "px"; document.getElementById("dialog_window").style.top = ( mouseY - offsetY + 22 ) + "px"; return false; } function getBrowserType(){ //ブラウザチェック var VarUsrAgt = navigator.userAgent.toLowerCase();//小文字 isMac = (navigator.appVersion.indexOf("Mac") != -1); isWin = (navigator.appVersion.indexOf("Win") != -1); isX11 = (navigator.appVersion.indexOf("x11") != -1); isNS4 = (document.layers) ? 1 : 0; isNS6 = VarUsrAgt.indexOf("netscape6") != -1; isNS7 = VarUsrAgt.indexOf("netscape/7.") != -1; isIE5 = VarUsrAgt.indexOf("msie 5.") != -1; isIE6 = VarUsrAgt.indexOf("msie 6.") != -1; isOP6 = VarUsrAgt.indexOf("opera 6.") != -1 || VarUsrAgt.indexOf("opera/6.") != -1; isOP7 = VarUsrAgt.indexOf("opera 7.") != -1 || VarUsrAgt.indexOf("opera/7.") != -1; isMZ1 = navigator.appName.indexOf("Netscape") != -1 && navigator.appVersion.charAt(0) == 5; isFF1 = VarUsrAgt.indexOf("firefox/1") != -1;//Firefox1.0 isFF2 = VarUsrAgt.indexOf("firefox/2") != -1;//Firefox2.0 isSF2 = VarUsrAgt.indexOf("safari/4") != -1;//safari2.0 isSF3 = VarUsrAgt.indexOf("safari/5") != -1;//safari3.0 isIE7 = VarUsrAgt.indexOf("msie 7.") != -1;//winie7.0 if ( VarUsrAgt.indexOf("msie") != -1 ) return true; } var getViewPort = function() { var width, heiht; if (self.innerHeight) { // all except Explorer width = self.innerWidth; height = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode width = document.documentElement.clientWidth; height = document.documentElement.clientHeight; } else if (document.body) { // other Explorers width = document.body.clientWidth; height = document.body.clientHeight; } return {width: width, height: height}; } var setHeight = function( ) { cSize = getViewPort(); document.getElementById('main_body').style.height = ( cSize.height - 41 ) + "px"; document.getElementById('main_frame').style.height = ( cSize.height - 41 ) + "px"; } var displayMCDialog = function( setWidth, setHeight, setUrl, setTitle ) { document.getElementById('dialog_window').src = setUrl; var cSize = getViewPort(); document.getElementById('dialog_bg').style.width = cSize.width + "px"; document.getElementById('dialog_bg').style.height = cSize.height + "px"; if ( ( cSize.width - 100 ) < setWidth ) { setWidth = cSize.width - 100; setLeft = 50; } else { setLeft = Math.round( ( cSize.width - setWidth ) / 2 ); } if ( ( cSize.height - 50 ) < setHeight ) { setHeight = cSize.height - 50; setTop = 22; } else { setTop = Math.round( ( cSize.height - setHeight ) / 2 ) - 18; } if ( setWidth < 100 ) { setLeft = 0; setWidth = 100; } if ( setHeight < 100 ) { setTop = 0; setHeight = 150; } document.getElementById('dialog_title').style.left = setLeft + "px"; document.getElementById('dialog_window').style.left = setLeft + "px"; document.getElementById('dialog_title').style.top = setTop + "px"; document.getElementById('dialog_window').style.top = ( setTop + 22 ) + "px"; document.getElementById('dialog_title').style.width = ( setWidth + 2 ) + "px"; document.getElementById('dialog_window').style.width = setWidth + "px"; document.getElementById('dialog_window').style.height = setHeight + "px"; document.getElementById('dialog_window').style.height = setHeight + "px"; document.getElementById('dialog_titlename').innerHTML = setTitle; gv_translateType = 1; gv_translatePosition = 0; document.getElementById('dialog_bg').style.filter = "alpha(style=0,opacity=" + gv_translatePosition + ")"; document.getElementById('dialog_bg').style.MozOpacity = "0." + ( gv_translatePosition / 10 ); document.getElementById('dialog_bg').style.MozOpacity = "0." + ( gv_translatePosition / 10 ); document.getElementById('dialog_bg').style.opacity = "0." + ( gv_translatePosition / 10 ); document.getElementById('dialog_bg').style.visibility = "visible"; setTranslateAction(); } var hideMCDialog = function() { gv_translateType = 2; setTranslateAction(); } var setTranslateAction = function() { if ( gv_translateType == 1 || gv_translateType == 2 ) { //初期値確認 if ( gv_translatePosition > 100 ) gv_translatePosition = 100; if ( gv_translatePosition < 0 ) gv_translatePosition = 0; if ( gv_translateType == 1 ) { //現れる if ( getBrowserType() ) { gv_translatePosition += 50; } else { gv_translatePosition += 20; } } else if ( gv_translateType == 2 ) { //消える if ( getBrowserType() ) { gv_translatePosition -= 50; } else { gv_translatePosition -= 10; } } if ( gv_translatePosition == 100 ) { document.getElementById('dialog_bg').style.filter = "alpha(style=0,opacity=100)"; document.getElementById('dialog_bg').style.MozOpacity = "1"; document.getElementById('dialog_bg').style.MozOpacity = "1"; document.getElementById('dialog_bg').style.opacity = "1"; } else { document.getElementById('dialog_bg').style.filter = "alpha(style=0,opacity=" + gv_translatePosition + ")"; document.getElementById('dialog_bg').style.MozOpacity = "0." + ( gv_translatePosition / 10 ); document.getElementById('dialog_bg').style.MozOpacity = "0." + ( gv_translatePosition / 10 ); document.getElementById('dialog_bg').style.opacity = "0." + ( gv_translatePosition / 10 ); } if ( ( gv_translateType == 1 && gv_translatePosition < 100 ) || ( gv_translateType == 2 && gv_translatePosition > 0 ) ) { setTimeout( setTranslateAction, 20 ); } else { if ( gv_translateType == 2 ) { document.getElementById('dialog_window').src = "blank.html"; document.getElementById('dialog_bg').style.visibility = "hidden"; document.getElementById('dialog_title').style.width = "10px"; document.getElementById('dialog_window').style.width = "10px"; document.getElementById('dialog_window').style.height = "10px"; } gv_translateType = 0; } } else { gv_translateType = 0; gv_translatePosition = 0; } } var displayImage = function( fileName, x, y ) { var cSize = getViewPort(); if ( ( cSize.width - 100 ) < x || ( cSize.height - 50 ) < y ) { if ( ( ( cSize.width - 100 ) / x ) < ( ( cSize.height - 50 ) / y ) ) { //widthを基準 y = Math.round( y * ( ( cSize.width - 100 ) / x ) ); x = cSize.width - 100; } else { //heightを基準 x = Math.round( x * ( ( cSize.height - 50 ) / y ) ); y = ( cSize.height - 50 ); } } displayMCDialog( x, y, "image.php?fname=" + fileName + "&x=" + x + "&y=" + y, "イメージ(画像クリックで閉じます)" ); } function dum ( dum ) { // alert( dum.responseText ); }