/*
Copyright (C) kyoto computer gakuin. 2009

雪 [<a href="#" onclick="start_snow()">ON</a> / <a href="#" onclick="stop_snow()">OFF</a> ]

<a href="#" onclick="snow_sw()">雪</a>

*/

my = new Array();
all_snow = new Array();
count = 30;		

function get_screen_size()
{
	if(document.body.clientWidth) {
		w = document.body.clientWidth;
	} else {
		if(window.innerWidth)
			w = window.innerWidth;
	}

	if(document.body.clientHeight) {
		h = document.body.clientHeight;
	} else {
		if(window.innerHeight)
			h = window.innerHeight;
	}


	if(document.documentElement) {
		if(document.documentElement.clientHeight) {
			h = document.documentElement.clientHeight;
		}
	}
}

function flush_move()
{
	//get_screen_size();
	var objBody = document.getElementsByTagName("body").item(0); 
	
	if(objBody) {

		for (i=0; i<count; i++) { 
			all_snow[i] = document.createElement('div');
			//all_snow[i].id = 'ms'+i;
			all_snow[i].innerHTML = '●';
			all_snow[i].className='snowobj';
			obj = all_snow[i].style;
			obj.position = 'absolute';
			obj.zIndex = '50';
			obj.color= '#fff';
			obj.left= Math.floor(Math.random()*w)+"px";
			my[i] = Math.floor(Math.random()*h);
			s = ((Math.floor(Math.random()*4)+2)*5);
			//if(document.all) {
			//	s*=2;
			//}
			obj.fontSize=s +"pt";

			objBody.appendChild(all_snow[i]);
		 }
	} else {
			setTimeout('flush_move()',500);
	}
}
function trail(e)
{
// 	var e = e || window.event;
 
	//get_screen_size();
}
function trail2()
{
//	scr_X = document.body.scrollLeft || this.documentElement.scrollLeft;//横方向のスクロール値
	scr_Y = document.body.scrollTop || document.documentElement.scrollTop;//縦方向のスクロール値

	if(img_tag == null) {
		img_tag = document.getElementById('snowsw');
		if(img_tag != null) {
			img_tag.src = 'http://www.kcg.ac.jp/images/snow-b.png';
		}
	}


	for (i=0; i<count; i++)
	{
		my[i]+=(i%3)+1;
		obj = all_snow[i].style;
		obj.top = (my[i]+scr_Y)+"px";
		if(my[i] >= h+20)
			my[i] = 0;
	}
}
var timer_id = -1;

var img_tag = null;

function start_snow()
{
	if(timer_id == -1) {
	
		if(img_tag == null) {
			img_tag = document.getElementById('snowsw');
		}
		if(img_tag == null) {
			setTimeout('start_snow()',500);
			return;
		}
		//	alert('NULL');

		FmySetCookie('snow','1',40);
		if(img_tag != null) {
			img_tag.src = 'http://www.kcg.ac.jp/images/snow-b.png';
		}
		get_screen_size();
		flush_move();
		timer_id = setInterval('trail2()',100);
	}
}
function stop_snow()
{
	if(timer_id != -1) {
		clearInterval(timer_id);
		timer_id = -1;
		
		FmySetCookie('snow','2',40);


		if(img_tag == null) {
			img_tag = document.getElementById('snowsw');
		}
		if(img_tag != null) {
			img_tag.src = 'http://www.kcg.ac.jp/images/snow.png';
			img_tag = null;
		}

		var objBody = document.getElementsByTagName("body").item(0); 

		for(i = 0; i <count; i++) {
			objBody.removeChild(all_snow[i]);
		}
	}
}

function snow_sw()
{
	if(timer_id == -1) {

		//cfm = confirm("ページ内に雪を降らせる表示をスタートします。よろしいですか？\n[OK]でスタートします。\n（中止する場合は，雪だるまの画像をクリックしてください。）") ;    //  
	//	if (cfm == true) {
			start_snow();
	//	}
	} else {
		stop_snow();
	}
}

/*
window.onscroll = function(){
	scr_Y = document.body.scrollTop || document.documentElement.scrollTop;//縦方向のスクロール値

	for (i=0; i<count; i++)
	{
		obj = all_snow[i].style;
		obj.top = (my[i]+scr_Y)+"px";
	}
};
*/

function FmySetCookie(myCookie,myValue,myDay){

   myExp = new Date();

   myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000));

   myItem = "@" + myCookie + "=" + escape(myValue) + ";";

   myExpires = "expires="+myExp.toGMTString();

   document.cookie =  myItem + myExpires + ";path=/";

}



function FmyGetCookie(myCookie){

   myCookie = "@" + myCookie + "=";

   myValue = null;

   myStr = document.cookie + ";" ;

   myOfst = myStr.indexOf(myCookie);

   if (myOfst != -1){

      myStart = myOfst + myCookie.length;

      myEnd   = myStr.indexOf(";" , myStart);

      myValue = unescape(myStr.substring(myStart,myEnd));

   }

   return myValue;

}

//window.onload=function () {
//window.addEventListener('load', (function(){
//	if(FmyGetCookie('snow') != 2) {
//		alert(FmyGetCookie('snow'));
//
//		start_snow();
//	}
//}),false);


function addLoadEvent(func) {
 if(typeof window.addEventListener == 'function'){ // addEventListenerが使えるなら
  window.addEventListener('load', func, false);
  return true;
 } else if(typeof window.attachEvent == 'object'){ // attachEventが使えるなら(IE用)
  window.attachEvent('onload', func);
  return true;
 }

 var oldonload = window.onload; // どちらも使えないなら
 if (typeof window.onload != 'function') {
  window.onload = func;
 } else {
  window.onload = function() {
   oldonload();
   func();
  }
 }
}
//window.onload=function () {


function onload_proc()
{
//window.addEventListener('load', (function(){
        if(FmyGetCookie('snow') != 2) {
//              alert(FmyGetCookie('snow'));

                start_snow();
        }
//}),false);
}
addLoadEvent(onload_proc);

function onload_snow()
{

	if(FmyGetCookie('snow') != 2) {
		start_snow();
	}
}
/*
if(window.onload) {

*/



