function next(id){var count=getCount(id);var selected=findSelected(id);selected=(selected+1)%count;selectContent(id,selected);}
function prev(id){var count=getCount(id);var selected=findSelected(id);selected=(selected+count-1)%count;selectContent(id,selected);}

function getCount(id){var root=findRoot(id);var count=0;var tmp=root.getElementsByTagName('LI');for(var i=0;i<tmp.length;i++){if(tmp[i].parentNode==root){count++;}}
return count;}

function findRoot(id){var obj=document.getElementById(id);if(obj==null){return null;}
var tmp=obj.getElementsByTagName('UL');if(tmp==null||tmp.length==0){return null;}
return tmp[0];}

function findSelected(id){var root=findRoot(id);var pos=0;var tmp=root.getElementsByTagName('LI');for(var i=0;i<tmp.length;i++){if(tmp[i].parentNode==root){if(tmp[i].className=='selected'){return pos;}
pos++;}}
return 0;}
var scrollElem;var scrollStart;var scrollDelta;var scrollMaxPass;var scrollPass;var scrollTimer;function selectContent(id,index){var root=findRoot(id);var pos=0;var tmp=root.getElementsByTagName('LI');for(var i=0;i<tmp.length;i++){if(tmp[i].parentNode==root){if(pos==index){tmp[i].className='selected';scrollElem=root;if(root.style.left==""){scrollStart=0;}else{scrollStart=-parseInt(root.style.left);}
scrollDelta=parseInt(tmp[i].offsetLeft)-scrollStart;scrollMaxPass=25;scrollPass=0;if(scrollTimer!=null){clearInterval(scrollTimer);}
scrollTimer=setInterval('scroll()',15);}else{tmp[i].className='';}
pos++;}}}
function scroll(){var offset=-scrollDelta/2*(Math.cos(Math.PI*scrollPass/scrollMaxPass)-1)+scrollStart;scrollElem.style.left=-parseInt(offset)+"px";if(++scrollPass>scrollMaxPass){clearInterval(scrollTimer);scrollTimer=null;}}
