//動作設定類**********************************************
//透明度の最終値（0〜1）。1の場合は完全に不透明となる。
//ターゲットの中身全てが半透明化するのであまり小さいと読みにくい。
var maxOpacity=1;

//不透明度変更関数呼び出し速度（1〜1,000の整数。＝ミリ秒）
var fps=10;

//不透明化の速度（少数）
var delta=0.07;

//窓サイズの初期値（0〜100％）
//幅
var startWidth=60;
//高さ
var startHeight=60;

//********************************************************


var windowWidth=0;
var windowHeight=0;
var sw=0;
var sh=0;
var deltaw=0;
var deltah=0;
var endw=0;
var endh=0;

//ブラウザの大きさ取得
//引数なし
function getWindowSize() {
if (navigator.appName.toUpperCase().indexOf("MICROSOFT")>=0) {
windowWidth=document.documentElement.clientWidth;
windowHeight=document.documentElement.clientHeight;
if (windowWidth==0 || windowHeight==0) {
windowWidth=document.body.clientWidth;
windowHeight=document.body.clientHeight;
}
} else {
windowWidth=window.innerWidth;
windowHeight=window.innerHeight;
}
}

//ブラウザのスクロール量を返すオブジェクト
function getScroll(){
   return {
      x: document.documentElement.scrollLeft || document.body.scrollLeft,
      y: document.documentElement.scrollTop || document.body.scrollLeft
   };
}

//ボタンなどからサブ窓を開く
//引数・ターゲットＩＤ、横幅、高さ
function openSubWin(id,w,h) {
getWindowSize();
var obj=document.getElementById(id);
var imgObj=document.getElementById('pop_img');
endw=w;
endh=h;
sw=w*startWidth/100;
sh=h*startHeight/100;
deltaw=Math.max(1,Math.floor((100-startWidth)/(maxOpacity/delta)+0.5));
deltah=Math.max(1,Math.floor((100-startHeight)/(maxOpacity/delta)+0.5));
var sc= getScroll();
var x = Math.floor((windowWidth/2+sc.x)-sw/2);
var y = Math.floor((windowHeight/2+sc.y)-sh/2);
obj.style.left=x+"px";
obj.style.top=y+"px";
obj.style.width=sw+"px";
obj.style.height=sh+"px";
obj.style.display="block";
timeout=setTimeout("changeOpacity('"+id+"',0)",1);
}

//サブ窓を閉じる
//引数・ターゲットＩＤ
function closeSubWin(id) {
var obj=document.getElementById(id);
obj.style.display="none";
try {
obj.filters.alpha.opacity=0;
} catch(e) {
obj.style.opacity=0;
}
try {
clearTimeout(timeout);
} catch(e){}
}

function changeOpacity(id,i) {
i++;
clearTimeout(timeout);
var obj=document.getElementById(id);
try {
var n=Math.min(maxOpacity*100,obj.filters.alpha.opacity-0+delta*100);
obj.filters.alpha.opacity=n;
n=n/100;
} catch(e) {
var n=Math.min(maxOpacity,obj.style.opacity-0+delta);
obj.style.opacity=n;
}

var w=Math.min(endw,Math.floor(endw*(startWidth/100+deltaw/100*i)+0.5));
var h=Math.min(endh,Math.floor(endh*(startHeight/100+deltah/100*i)+0.5));
var sc= getScroll();
var x = Math.floor((windowWidth/2+sc.x)-w/2);
var y = Math.floor((windowHeight/2+sc.y)-h/2);

obj.style.left=x+"px";
obj.style.top=y+"px";
obj.style.width=w+"px";
obj.style.height=h+"px";

if (maxOpacity>n || endw>w || endh>h) {
timeout=setTimeout("changeOpacity('"+id+"',"+i+")",fps);
}
}