//動作設定類**********************************************
//透明度の最終値（0～1）。1の場合は完全に不透明となる。
//ターゲットの中身全てが半透明化するのであまり小さいと読みにくい。
var maxOpacity=0.95;

//不透明度変更関数呼び出し速度（1～1,000の整数。＝ミリ秒）
var fps=10;

//不透明化の速度（少数）
var delta=0.05;

//窓サイズの初期値（0～100％）
//幅
var startWidth=60;
//高さ
var startHeight=60;

//開くべきサブ窓のＩＤの設定
var subWindows = new Array();
subWindows[0] = "box";
subWindows[1] = "box1";
subWindows[2] = "box2";
subWindows[3] = "box3";
subWindows[4] = "box4";
subWindows[5] = "box5";
subWindows[6] = "box6";
subWindows[7] = "box7";
subWindows[8] = "box8";
subWindows[9] = "box9";
//********************************************************


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(target,w,h) {
getWindowSize();
var id=subWindows[target];
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(target) {
var id=subWindows[target];
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);
}
}