function addEvent(obj, event, fct) { if (obj.attachEvent)  { obj.attachEvent("on"  +  event, fct); } else { obj.addEventListener(event, fct, true); } }


// onScroll 2.0

var onScrolling_enable = false;
var arr_onScroll = new Array();
	arr_onScroll['scroller'] = new Array();
	arr_onScroll['mask'] = new Array();
	arr_onScroll['list'] = new Array();
	arr_onScroll['state'] = new Array();
	arr_onScroll['decal'] = new Array();

function onScroll(scrollerId,scrollerDecal){
	var scroller = document.getElementById(scrollerId);
	arr_onScroll['scroller'].push(scroller);
	arr_onScroll['decal'].push(scrollerDecal);
	var scroller_divs = scroller.getElementsByTagName('div');
	for(i = 0; i < scroller_divs.length; i++){
		if(scroller_divs[i].parentNode == scroller){
			var scroller_mask = scroller_divs[i];
			arr_onScroll['mask'].push(scroller_mask);
			scroller_mask.onmouseover = function(){onScrollState(this.parentNode, 0);}
			scroller_mask.onmouseout = function(){onScrollState(this.parentNode, 1);}
		}
	}
	var scroller_lists = scroller_mask.getElementsByTagName('ul');
	for(i = 0; i < scroller_lists.length; i++){
		if(scroller_lists[i].parentNode == scroller_mask){
			var scroller_list = scroller_lists[i];
			arr_onScroll['list'].push(scroller_list);
			scroller_list.style.width = 0 + 'px';
		}
	}
	var scroller_cases = scroller_list.getElementsByTagName('li');
	for(i = 0; i < scroller_cases.length; i++){
		var scroller_case = scroller_cases[i];
		scroller_case.style.left = i * scroller_case.clientWidth + 'px';
		scroller_list.style.width = i * scroller_case.clientWidth + scroller_case.clientWidth + 'px';
		if(parseInt(scroller_case.style.left) >= scroller_mask.clientWidth){scroller_case.style.visibility = 'hidden';}
	}
	if(scroller_list.clientWidth > scroller_mask.clientWidth){
		arr_onScroll['state'].push(1);
		if(!onScrolling_enable){onScrolling();}
	}
	else{arr_onScroll['state'].push(0);}
}

function onScrollState(scrollerToState, scrollingStatus){for(j = 0; j < arr_onScroll['scroller'].length; j++){if(arr_onScroll['scroller'][j] == scrollerToState){arr_onScroll['state'][j] = scrollingStatus;}}}

function onScrolling(){
	onScrolling_enable = true;
	for(k = 0; k < arr_onScroll['scroller'].length; k++){
		if(document.getElementById(arr_onScroll['scroller'][k].id)){
			if(arr_onScroll['state'][k] == 1){
				var currentList = arr_onScroll['list'][k];
				var currentCases = currentList.getElementsByTagName('li');
				for(l = 0; l < currentCases.length; l++){
					if(currentCases[l].parentNode == currentList){
						var currentCase = currentCases[l];
						var currentCasePos = parseInt(currentCase.style.left);
						var currentCasePosNext = currentCasePos - arr_onScroll['decal'][k];
						currentCase.style.left = currentCasePosNext + 'px';
						if(currentCasePosNext < (0 - currentCase.clientWidth)){
							currentCase.style.visibility = 'hidden';
							currentList.appendChild(currentCase);
							currentCase.style.left = currentList.clientWidth - currentCase.clientWidth + 'px';
						}
						else{if(currentCasePosNext < arr_onScroll['mask'][k].clientWidth){currentCase.style.visibility = 'visible';}}
					}
				}
			}
		}
		else{
			arr_onScroll['scroller'].splice(k,1);
			arr_onScroll['mask'].splice(k,1);
			arr_onScroll['list'].splice(k,1);
			arr_onScroll['state'].splice(k,1);
			arr_onScroll['decal'].splice(k,1);
		}
	}
	var back_onScrolling = function(){onScrolling();}
	timer_onScrolling = setTimeout(back_onScrolling, 10);
}
