function slideDiv(_cont_div,_child_number, obj){
	if(!_cont_div | ! $(_cont_div)) return;
	var cdiv=$(_cont_div);

	// defaults
	if(!cdiv.currentSlide) cdiv.currentSlide=0;
	var slideRequested=_child_number-1;
	if(cdiv.currentSlide==slideRequested) return;

	var _button=Element.extend(obj);
	var _li=_button.up();
	_li.addClassName('selected');
	_li.siblings().each(function(item){
		item.removeClassName('selected');
	});

	var slides=cdiv.childElements();
	var slidesCount=slides.size();
	if(slidesCount == 0) return;
	var slideSize=cdiv.getWidth()/slidesCount;
	var cdivOffset=0;
	var cdivOffsetBase=0;

	// elaborate offset
	var minSlide=(cdiv.currentSlide<slideRequested)? cdiv.currentSlide : slideRequested;
	var maxSlide=(cdiv.currentSlide<slideRequested)? slideRequested : cdiv.currentSlide;
	var inverseSlide=!(cdiv.currentSlide<slideRequested);
	for( var n=minSlide; n<maxSlide; n++){
		cdivOffset+= slides[n].getWidth();
	}
	for( var n=0; n<minSlide; n++){
		cdivOffsetBase+= slides[n].getWidth();
	}
	// relativize
	cdiv.relativize();

	cdiv.currentSlide=slideRequested;
	slideDivTick(_cont_div,20,0,cdivOffset, inverseSlide, cdivOffsetBase);

}

function slideDivTick(_cdiv_id, _ticks_count, _current_tick, _cdiv_total_offset, _inverse, _cdiv_offset_base){
	if(_ticks_count==0) return;
	var cdivOffset=0;
	if(!_inverse){
		// linear
		//cdivOffset=(_cdiv_total_offset*_current_tick)/_ticks_count;
		// trigo
		cdivOffset= _cdiv_total_offset * Math.sin( (Math.PI * _current_tick * 0.5) / _ticks_count );
	}else{
		// linear
		//cdivOffset=(_cdiv_total_offset*(_ticks_count-_current_tick))/_ticks_count;
		// trigo
		cdivOffset= _cdiv_total_offset * (1- Math.sin( (Math.PI * _current_tick * 0.5) / _ticks_count ));
	}
	$(_cdiv_id).setStyle({
		left: (-(_cdiv_offset_base+cdivOffset))+"px"
	});
	if(_current_tick==_ticks_count) {
		return;
	}
	setTimeout("slideDivTick('"+_cdiv_id+"',"+(_ticks_count)+","+(_current_tick+1)+","+(_cdiv_total_offset)+","+(_inverse)+","+(_cdiv_offset_base)+")",25);
}

Element.observe(window,'load',function(evt){
	//alert('loaded '+getAccessibilityCssFromCookies());
	var cssObj=getAccessibilityCssFromCookies();
	if(cssObj){
		switchCss(cssObj.id,cssObj.css);
	}
});

var jar = new CookieJar({
	expires:3600,   // seconds
	path: '/'
});

function getAccessibilityCssFromCookies(){
	var cssObj = jar.get('access_css');
	if(cssObj)
		return cssObj;
	return null;
}

function switchCss( __link_css, __css_file ){
	if ($(__link_css)){
		var cssObj={css:__css_file,id:__link_css};
		$(__link_css).href = __css_file;
		jar.put('access_css',cssObj);
	}
}
