﻿/**
 * @author kitada
 */


function getElem(id){
	return document.getElementById(id);
}

 function collapse(obj, ms){
 
	if( obj.style.display == 'none'){
		return false;
	};
	
	var iniHeight = obj.offsetHeight;
	var startTime = (new Date).getTime();
	//	obj.style.overflow ='hidden';
	try {
		clearInterval(_collapseTimer);
	} catch (e) {
		};
	_collapseTimer = setInterval(function(){
		var now = (new Date).getTime();
		obj.style.height = Math.floor((startTime + ms - now) / ms * iniHeight) + 'px';
		if (startTime + ms < now) {
			clearInterval(_collapseTimer);
			obj.style.display = "none";
			obj.style.height = iniHeight + "px";
		}
	}, 10);
}
 function collapse2(obj, ms){
 
	if( obj.style.display == 'none'){
		return false;
	};
	
	var iniHeight = obj.offsetHeight;
	var startTime = (new Date).getTime();
	//	obj.style.overflow ='hidden';
	try {
		clearInterval(_collapse2Timer);
	} catch (e) {
		};
	_collapse2Timer = setInterval(function(){
		var now = (new Date).getTime();
		obj.style.height = Math.floor((startTime + ms - now) / ms * iniHeight) + 'px';
		if (startTime + ms < now) {
			clearInterval(_collapse2Timer);
			obj.style.display = "none";
			obj.style.height = iniHeight + "px";
		}
	}, 10);
}

function expand(obj, ms){
	if( obj.style.display == 'block'){
		return false;
	};
	obj.style.display = "block";
	var iniHeight = obj.offsetHeight;
	obj.style.height = "0px";
	var startTime = (new Date).getTime();
	var _expandTimer;
	try {
		clearInterval(_expandTimer);
	} catch (e) {
		};
	_expandTimer = setInterval(function(){
		var now = (new Date).getTime();
		obj.style.height = Math.floor((now - startTime) / ms * iniHeight) + 'px';
		if (startTime + ms < now) {
			clearInterval(_expandTimer);
			obj.style.height = iniHeight + "px";
		}
	}, 10);
}

function animScroll( obj, ms){
	var start = qa.scrollTop;
	var end = qa.scrollHeight - qa.offsetHeight;
	var h = end - start;
	var startTime = (new Date).getTime();
	try {
		clearInterval(_animTimer);
	} catch (e) {
		};
	_animTimer = setInterval(function(){
		var now = (new Date).getTime();
		obj.scrollTop = Math.floor((now - startTime) / ms * h  + start);
		if (now > startTime + ms ) clearInterval(_animTimer);
	}, 10);
}


