var snow_num_max = 9;	// 最大画像数（同数のdivが必要）
var dx_spd = 1;	// 横に揺れる速度
var dy_spd = 3;	// 縦に落ちる速度
var dx_wide_min = 20;	// 横の揺れ最小幅
var dx_wide_max = 70;	// 横の揺れ最大幅
var dx_margin = 20;	// ウインドウに対する横端のマージン
var dt_act = 5;	// 処理速度

var scrX,scrY;
var dx = new Array();
var dy = new Array();
var sideTmg = new Array();
var sideFlag = new Array();

function Init_(){
	scrX = GetWindowSize("width");	//ウインドウサイズ横取得
	scrY = GetWindowSize("height");	//ウインドウサイズ高さ取得
	for(i = 0; i < snow_num_max; i++){
		sideTmg[i] = 0;
		sideFlag[i] = true;
		z = dx_wide_max - dx_wide_min;
		dx[i] = Math.round(Math.random() * z + 0.5) + dx_wide_min;	//乱数処理（四捨五入）
		x = Math.round(Math.random() * scrX + 0.5) - dx_margin - dx_wide_max;
		x = Math.max(x,(dx_margin + dx_wide_max));	//乱数処理（大きい方を選択）
		y = Math.round(Math.random() * scrY + 0.5) - scrY;	//乱数処理（四捨五入）
		SetLayer("iL"+i,"x",x);	//サイズ・状態設定
		SetLayer("iL"+i,"y",y);
		SetLayer("iL"+i,"v","visible");
		if(document.all){
			SetLayer("iL"+i,"v","visible");
		}else if(document.layers){
			SetLayer("iL"+i,"v","visible");
		}else if(document.getElementById){
			SetLayer("iL"+i,"v","hidden");
		}
	}
	XY_();
}

function XY_(){
	for(i = 0; i < snow_num_max; i++){
		// direction X
		if(sideFlag[i]){
			sideTmg[i] += dx_spd;
			if(sideTmg[i] >= dx[i]){
				sideFlag[i] = !sideFlag[i];
			}
		}else{
			sideTmg[i] -= dx_spd;
			if(sideTmg[i] <= -dx[i]){
				sideFlag[i] = !sideFlag[i];
			}
		}
		if(sideFlag[i]){
			x = GetLayer("iL"+i,"x") + dx_spd;
		}else{
			x = GetLayer("iL"+i,"x") - dx_spd;
		}
		SetLayer("iL"+i,"x",x);

		// direction Y
		y = GetLayer("iL"+i,"y") + Math.round(Math.random() * dy_spd + 0.5) - 1;
		if(y >= scrY){
			y = 0;
		}
		SetLayer("iL"+i,"y",y);
	}
	setTimeout("XY_()",dt_act)
}

//ウインドウサイズ取得
function GetWindowSize(type){
	switch(type){
		case "width":
			if(document.all){
				return(document.body.clientWidth);
			}else if(document.layers){
				return(innerWidth);
			}else if(document.getElementById){
				return(window.innerWidth);
			}else{
				return(-1);
			}
		break;
		case "height":
			if(document.all){
				return(document.body.clientHeight);
			}else if(document.layers){
				return(innerHeight);
			}else if(document.getElementById){
				return(window.innerHeight);
			}else{
				return(-1);
			}
		break;
		default:
			return(-1);
		break;
	}
}

// レイヤーゲット
function GetLayer(lay,dir){
	if(document.all){
		if(dir == "x"){
			return(document.all(lay).style.posLeft);
		}else if(dir == "y"){
			return(document.all(lay).style.posTop);
		}else{
			return(-1);
		}
	}else if(document.layers){
		if(dir == "x"){
			return(document.layers[lay].left);
		}else if(dir == "y"){
			return(document.layers[lay].top);
		}else{
			return(-1);
		}
	}else if(document.getElementById){
		if(dir == "x"){
			return(parseInt(document.getElementById(lay).style.posLeft));
		}else if(dir == "y"){
			return(parseInt(document.getElementById(lay).style.posTop));
		}else{
			return(-1);
		}
	}
}

// レイヤーセット
function SetLayer(lay,dir,z){
	if(document.all){
		if(dir == "x"){
			document.all(lay).style.posLeft = z;
		}else if(dir == "y"){
			document.all(lay).style.posTop = z;
		}else if(dir == "v"){
			document.all(lay).style.visibility = z;
		}
	}else if(document.layers){
		if(dir == "x"){
			document.layers[lay].left = z;
		}else if(dir == "y"){
			document.layers[lay].top = z;
		}else if(dir == "v"){
			if(z == "visible"){
				z = "show";
			}else{
				z = "hidden";
			}
			document.layers[lay].visibility = z;
		}
	}else if(document.getElementById){
		if(dir == "x"){
			document.getElementById(lay).style.posLeft = z;
		}else if(dir == "y"){
			document.getElementById(lay).style.posTop = z;
		}else if(dir == "v"){
			document.getElementById(lay).style.visibility = z;
		}
	}
}
