﻿// JavaScript Document
_Acc_ = {
	addLoadEvent:function(func){
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		}
		else {
			window.onload = function() {
				func();
				oldonload();
			}
		}
	},
	init:function(){
		var id = "_Acc_";
		if(document.getElementById(id)){
			var li = document.getElementById(id).getElementsByTagName("li");
			var ln = li.length;
			for(i=0;i<ln;i++){
				set(i,li[i].getElementsByTagName("img")[0]);
				li[i].style.height = "27px";
			}
			
		}
		function set(num,Obj){
			Obj.onclick = function (){
				_Acc_.expand(this,num);
			}
		}
	},
	expand:function(Obj,num){
		
		var li = Obj.parentNode;
		var _li = li;
		var height = li.getElementsByTagName("p")[0].offsetHeight + 27;
		var val = height - 27;
		var move_data = 27;
		var c_val = height - 27;
		var c_move_data = height;
		var time = 40;

		if(_Acc_.current != num){
			Obj.src = _Common_.a2b(Obj.src,".","_on.");
			var o_timer = setInterval(_open,time);
			if(_Acc_.current >= 0){
				_li = document.getElementById("_Acc_").getElementsByTagName("li")[_Acc_.current];
				_li.getElementsByTagName("img")[0].src = _Common_.a2b(_li.getElementsByTagName("img")[0].src,"_on.",".");
				var c_timer = setInterval(_close,time);
			}
			_Acc_.current = num;
		}else{
			Obj.src = _Common_.a2b(Obj.src,"_on.",".");
			var c_timer = setInterval(_close,time);
			_Acc_.current = -1;
		}
		
		
		function _open(){
			val = Math.ceil(val * 0.5);
			move_data += val;
			if(move_data < height){
				li.style.height = move_data + "px";
			}else{
				clearInterval(o_timer);
				li.style.height = "100%";
			}
		}
		function _close(){
			c_val = Math.ceil(c_val * 0.5);
			c_move_data -= c_val;
			if(c_move_data > 27){
				_li.style.height = c_move_data + "px";
			}else{
				clearInterval(c_timer);
				_li.style.height = "27px";
			}
		}
		
	},
	current:-1

}

_Common_={
	a2b:function(word,a,b){//a2b
		var ext = word.substring(word.lastIndexOf(a) + a.length,word.length);
		word = word.replace(a + ext,b + ext);
		return word;
	}
}

_Acc_.addLoadEvent(_Acc_.init);

