function addEvent(obj,event,fct){if(obj.attachEvent){obj.attachEvent("on"+event,fct);}else{obj.addEventListener(event,fct,true);}}


// onRotate 2.1

var or_timeout = false;
var or_array = new Array();
	or_array['list'] = new Array();
	or_array['tag'] = new Array();
	or_array['loop'] = new Array();
	or_array['state'] = new Array();
	or_array['delay'] = new Array();
	or_array['time'] = new Array();
	or_array['mode'] = new Array();

function onRotate(str_lists,int_delay,or_mode){
	var str_onRotate = str_lists.replace(/\ /g,'').split(',');
	var str_lists = '';
	var str_tag = '';
	for(i = 0; i < str_onRotate.length; i++){
		var spl_onRotate = str_onRotate[i].split(':');
		if(i > 0) {
			str_lists += ',';
			str_tag += ',';
		}
		str_lists += spl_onRotate[0];
		str_tag += spl_onRotate[1];
	}
	or_array['list'].push(str_lists);
	or_array['tag'].push(str_tag);
	date = new Date;
	time = date.getTime();
	or_array['loop'].push(0);
	or_array['state'].push(0);
	or_array['delay'].push(int_delay * 1000);
	or_array['time'].push(time);
	if(!or_mode){or_mode = 'none';}
	or_array['mode'].push(or_mode);
	if(!or_timeout){onRotation();}
}

function onRotation(){
	for(i = 0; i < or_array['list'].length; i++){
		var or_lists = or_array['list'][i].split(',');
		var or_tags = or_array['tag'][i].split(',');
		var or_itemToSel = or_array['loop'][i];
		date = new Date;
		time = date.getTime();
		var or_end = or_array['time'][i] + or_array['delay'][i];
		if(((time >= or_end) || (or_array['state'][i] == 0))){
			if(or_array['state'][i] > 0){or_array['time'][i] = or_end;}
			if(or_array['state'][i] < 2){
				or_array['state'][i] = 1;
				for(j = 0; j < or_lists.length; j++){
					var or_list = document.getElementById(or_lists[j]);
					var or_items = or_list.getElementsByTagName(or_tags[j]);
					var or_itemCurrent = 0;
					var or_loop = false;
					if(j == 0){var or_items_checked = childrenNb(or_list,or_items) -1;}
					for(k = 0; k < or_items.length; k++){
						if(or_items[k].parentNode == or_list){
							if(j == 0){
								if(or_array['mode'][i] == 'onclick'){or_items[k].onclick = function(){onRotateEvent(this);}}
								else if(or_array['mode'][i] == 'onmouseover'){or_items[k].onmouseover = function(){onRotateEvent(this);}}
							}
							or_items[k].className  = or_items[k].className.replace('sel','');
							if(or_itemCurrent == or_itemToSel){
								or_items[k].className += or_items[k].className?' sel':'sel';
								if(or_itemCurrent < or_items_checked && or_array['delay'][i] > 0){or_loop = true;}
								else{or_loop = false;}
							}
								if(or_itemCurrent < or_items_checked){or_itemCurrent++;}
								else{or_itemCurrent = 0;}
						}
					}
				}
				if(or_array['delay'][i] > 0){//or_array['state'][i] == 2;}
					if(or_loop){or_array['loop'][i] = or_itemToSel + 1;}
					else{or_array['loop'][i] = 0;}
				}
			}
		}
	}
	or_timeout = setTimeout(onRotation,250);
}

function onRotateEvent(or_elt){
	or_elt.onmouseout = function(){
		for(m = 0; m < or_array['list'].length; m++){
			var or_lists2 = or_array['list'][m].split(',');
			var or_tags2 = or_array['tag'][m].split(',');
			for(n = 0; n < or_lists2.length; n++){if(this.parentNode == document.getElementById(or_lists2[n])){or_array['state'][m] = 1;}}
		}
	}
	for(m = 0; m < or_array['list'].length; m++){
		var or_lists2 = or_array['list'][m].split(',');
		var or_tags2 = or_array['tag'][m].split(',');
		for(n = 0; n < or_lists2.length; n++){
			var or_list2 = document.getElementById(or_lists2[n]);
			if(or_elt.parentNode == or_list2){or_array['state'][m] = 2;}
			var or_items2 = or_list2.getElementsByTagName(or_tags2[n]);
			var or_item2_nb = 0;
			for(o = 0; o < or_items2.length; o++){
				if(or_items2[o].parentNode == or_list2){
					if(or_elt == or_items2[o]){or_array['loop'][m] = or_item2_nb;}
					or_item2_nb++;
				}
			}
		}
		for(n = 0; n < or_lists2.length; n++){
			var or_list2 = document.getElementById(or_lists2[n]);
			var or_items2 = or_list2.getElementsByTagName(or_tags2[n]);
			var or_item2_nb = 0;
			for(o = 0; o < or_items2.length; o++){
				if(or_items2[o].parentNode == or_list2){
					or_items2[o].className = or_items2[o].className.replace('sel','');
					if(or_item2_nb == or_array['loop'][m]){or_items2[o].className += or_items2[o].className?' sel':'sel';}
					or_item2_nb++;
				}
			}
		}
	}
}

function childrenNb(cn_parent,cn_child){
	var children_nb = 0
	for(k = 0; k < cn_child.length; k++){if(cn_child[k].parentNode == cn_parent){children_nb++;}}
	return children_nb;
}