
function CTicker(p)
{var prefix,current;if(!document.getElementById){return false;}
this.labelClose='';this.labelOpen='';this.labelsHtml=false;this.animType='sin';this.animDur=400;this.animFreq=40;this.slideInterval=4000;if(p&&typeof(p)=='object'){prefix=p.prefix;if(p.animType){this.animType=p.animType;}
if(!isNaN(p.animDur)){this.animDur=Math.floor(p.animDur);}
if(!isNaN(p.animFreq)){this.animFreq=Math.floor(p.animFreq);}
if(p.labelClose){this.labelClose=p.labelClose;}
if(p.labelOpen){this.labelOpen=p.labelOpen;}
if(p.labelsHtml){this.labelsHtml=p.labelsHtml;}
if(!isNaN(p.slideInterval)){this.slideInterval=Math.floor(p.slideInterval);}}else{prefix=p;}
this.sPrefix=prefix||'cticker__';this.container=null;this.closelink=null;this.togglelink=null;this.slidelink=null;this.textlayer=null;this.pagelinks=[];this.timer=null;this.slidetimer=null;this.isAnim=false;this.queued=null;this.current=0;this.animBegin=0;this.isOpen=true;}
CTicker.prototype.unloadme=function()
{var i;if(this.slidetimer){this.slidetimer=clearInterval(this.slidetimer);}
if(this.timer){this.timer=clearInterval(this.timer);}
if(this.slidelink){this.slidelink.onclick=null;}
if(this.closelink){this.closelink.onclick=null;}
if(this.togglelink){this.togglelink.onclick=null;}
if(this.pagelinks&&this.pagelinks.length){for(i=0;i<this.pagelinks.length;i++){this.pagelinks[i].onclick=null;}}};CTicker.prototype.inject=function(data)
{var i;this.data=data;this.images=[];for(i=0;i<data.length;i++){this.images[i]=new Image();this.images[i].src=data[i].pic;}};CTicker.prototype.emptyElement=function(el)
{while(el.firstChild){el.removeChild(el.firstChild);}};CTicker.prototype.appendText=function(p,text)
{if(p&&text){p.appendChild(document.createTextNode(text));}};CTicker.prototype.computeLayerHeight=function()
{var tlayer=this.textlayer;var pad;if(tlayer.currentStyle){theight=tlayer.currentStyle['height'];pad=false;}else if(window.getComputedStyle){theight=document.defaultView.getComputedStyle(tlayer,null).getPropertyValue('height');pad=false;}else{theight=tlayer.offsetHeight;pad=true;}
this.layerHeight=parseInt(theight,10);this.layerTop=tlayer.offsetTop;this.storedPadding=pad;};CTicker.prototype.init=function()
{var d=document;var me=this;var prefix=this.sPrefix;var tlink=d.getElementById(prefix+'toggle');var clink=d.getElementById(prefix+'close');var tlayer=d.getElementById(prefix+'text_layer');var theight,pad,browser,links,i,ilink;if(tlink&&clink&&tlayer){this.togglelink=tlink;this.closelink=clink;this.textlayer=tlayer;this.image=d.getElementById(prefix+'image');this.imagelink=this.image.parentNode;this.titlelink=d.getElementById(prefix+'title_link');this.textdiv=d.getElementById(prefix+'text');this.slidelink=d.getElementById(prefix+'slideshow');this.computeLayerHeight();tlink.onclick=function(){me.toggle();return false;};clink.onclick=function(){me.close();return false;};clink.parentNode.className='cticker__close_link';if(this.slidelink){this.slidelink.onclick=function(){me.slideshow(!me.slidetimer);return false;};}
browser=d.getElementById(prefix+'browser');if(browser&&this.data&&this.data.length){this.pagelinks=[];for(i=0;i<this.data.length;i++){ilink=document.createElement('a');ilink.href='#';this.appendText(ilink,(1+i));ilink.className=(i)?'':'current';browser.appendChild(ilink);this.appendText(browser,' ');ilink.onclick=(function(num){return function(){me.slideshow(false);me.clickPic(num);return false;};})(i);this.pagelinks.push(ilink);}}
ilink=d.getElementById(prefix+'commander');if(ilink){ilink.style.display='block';}}};CTicker.prototype.close=function()
{var me=this;if(!this.layerHeight){this.computeLayerHeight();}
if(!this.isAnim&&this.isOpen){this.isAnim=true;this.textlayer.style.overflow='hidden';this.beginAnim=new Date().getTime();this.timer=setInterval(function(){me.step();},this.animFreq);}};CTicker.prototype.endclose=function()
{if(this.storedPadding){this.layerHeight-=this.textlayer.offsetHeight;this.storedPadding=false;}
this.isOpen=false;this.update();};CTicker.prototype.open=function()
{var me=this;if(!this.isAnim&&!this.isOpen){this.isAnim=true;this.beginAnim=new Date().getTime();this.timer=setInterval(function(){me.step();},this.animFreq);}};CTicker.prototype.endopen=function()
{this.isOpen=true;this.update();};CTicker.prototype.update=function()
{var linktext,linkclass,linkspan;clearInterval(this.timer);this.timer=null;this.isAnim=false;if(this.isOpen){linktext=this.labelClose;linkclass='cticker__collapse';}else{linktext=this.labelOpen;linkclass='cticker__expand';}
if(this.queued!==null){this.gotoPic(this.queued);this.open();}else{linkspan=this.togglelink.firstChild||this.togglelink;this.togglelink.parentNode.className='cticker__slidebtn '+linkclass;if(this.labelsHtml){linkspan.innerHTML=linktext;}else{this.emptyElement(linkspan);this.appendText(linkspan,linktext);}}};CTicker.prototype.toggle=function()
{if(this.isOpen){this.close();}else{this.open();}};CTicker.prototype.step=function()
{var now=new Date().getTime();var tl=this.textlayer;var mult=(now-this.beginAnim)/this.animDur;var startheight,endheight,starttop,endtop,callback;var currentheight,currenttop;if(this.isOpen){startheight=this.layerHeight;endheight=0;starttop=this.layerTop;endtop=this.layerHeight+this.layerTop;callback='endclose';}else{startheight=0;endheight=this.layerHeight;starttop=this.layerHeight+this.layerTop;endtop=this.layerTop;callback='endopen';}
if(mult>=1){tl.style.top=endtop+'px';tl.style.height=endheight+'px';this[callback]();}else{if(this.animType=='sin'){mult=Math.sin(mult*Math.PI/2);}
currenttop=starttop+(endtop-starttop)*mult;currentheight=startheight+(endheight-startheight)*mult;tl.style.top=Math.floor(currenttop)+'px';tl.style.height=Math.floor(1+currentheight)+'px';}};CTicker.prototype.gotoPic=function(num)
{if(!this.data[num]||this.current==num){return false;}
var i,url,p=this.data[num];for(i=0;i<this.pagelinks.length;i++){if(i==num){this.pagelinks[i].className='current';}else{this.pagelinks[i].className='';}}
url=p.url||'#';this.image.src=p.pic;this.image.alt='';this.imagelink.href=url;this.titlelink.href=url;this.emptyElement(this.titlelink);if(p.title){this.appendText(this.titlelink,p.title);}else if(p.htitle){this.titlelink.innerHTML=p.htitle;}
this.emptyElement(this.textdiv);if(p.text){this.appendText(this.textdiv,p.text);}else if(p.html){this.textdiv.innerHTML=p.html;}
this.queued=null;this.current=num;};CTicker.prototype.clickPic=function(num)
{if(this.isAnim||!this.data[num]||this.current==num){return false;}
if(this.isOpen){this.queued=num;this.close();}else{this.gotoPic(num);}};CTicker.prototype.nextPic=function()
{var nextnum=this.current+1;this.clickPic((nextnum==this.data.length)?0:nextnum);};CTicker.prototype.prevPic=function()
{var nextnum=this.current-1;this.clickPic((nextnum<0)?this.data.length-1:nextnum);};CTicker.prototype.slideshow=function(doStart)
{var me=this;var interval=this.slideInterval;var link=document.getElementById(this.sPrefix+'slideshow');if(doStart&&!this.slidetimer){this.open();this.slidetimer=setInterval(function(){if(!me.isAnim)me.nextPic();},interval);if(this.slidelink){this.slidelink.parentNode.className='cticker__slideshow_on';}}else if(!doStart&&this.slidetimer){clearInterval(this.slidetimer);this.slidetimer=null;if(this.slidelink){this.slidelink.parentNode.className='cticker__slideshow_off';}}};