function slide(src,link,text,target,attr){
this.src=src
this.link=link
this.text=text
this.target=target
this.attr=attr
if(document.images){
this.image=new Image()}
this.loaded=false
this.load=function(){
if(!document.images){return;}
if(!this.loaded){
this.image.src=this.src
this.loaded=true}}
this.hotlink=function(){
var mywindow
if(!this.link)return
if(this.target){
if(this.attr){
mywindow=window.open(this.link,this.target,this.attr)
}else{
mywindow=window.open(this.link,this.target)}
if(mywindow&&mywindow.focus)mywindow.focus()
}else{
location.href=this.link}}}
function slideshow(slideshowname){
this.name=slideshowname
this.repeat=true
this.prefetch=-1
this.image
this.textid
this.textarea
this.timeout=Math.floor((Math.random()*50+21)*500)
this.slides=new Array()
this.current=0
this.timeoutid=0
this.add_slide=function(slide){
var i=this.slides.length
if(this.prefetch==-1){
slide.load()}
this.slides[i]=slide}
this.play=function(timeout){
this.pause()
if(timeout){
this.timeout=timeout}
if(typeof this.slides[ this.current ].timeout !='undefined'){
timeout=this.slides[ this.current ].timeout
}else{
timeout=this.timeout}
this.timeoutid=setTimeout(this.name+".loop()",timeout)}
this.pause=function(){
if(this.timeoutid !=0){
clearTimeout(this.timeoutid)
this.timeoutid=0}}
this.update=function(){
if(! this.valid_image()){return;}
if(typeof this.pre_update_hook=='function'){
this.pre_update_hook()}
var slide=this.slides[ this.current ]
var dofilter=false
if(this.image&&
typeof this.image.filters !='undefined'&&
typeof this.image.filters[0] !='undefined'){
dofilter=true}
slide.load()
if(dofilter){
if(slide.filter&&
this.image.style&&
this.image.style.filter){
this.image.style.filter=slide.filter}
this.image.filters[0].Apply()}
this.image.src=slide.image.src
if(dofilter){
this.image.filters[0].Play()}
this.display_text()
if(typeof this.post_update_hook=='function'){
this.post_update_hook()}
if(this.prefetch>0){
var next,prev,count
next=this.current
prev=this.current
count=0
do{
if(++next>=this.slides.length)next=0
if(--prev<0)prev=this.slides.length-1
this.slides[next].load()
this.slides[prev].load()
}while(++count<this.prefetch)}}
this.goto_slide=function(n){
if(n==-1){
n=this.slides.length-1}
if(n<this.slides.length&&n>=0){
this.current=n}
this.update()}
this.goto_random_slide=function(include_current){
var i
if(this.slides.length>1){
do{
i=Math.floor(Math.random()*this.slides.length)
}while(i==this.current)
this.goto_slide(i)}}
this.next=function(){
if(this.current<this.slides.length-1){
this.current++
}else if(this.repeat){
this.current=0}
this.update()}
this.previous=function(){
if(this.current>0){
this.current--
}else if(this.repeat){
this.current=this.slides.length-1}
this.update()}
this.shuffle=function(){
var i,i2,slides_copy,slides_randomized
slides_copy=new Array()
for(i=0;i<this.slides.length;i++){
slides_copy[i]=this.slides[i]}
slides_randomized=new Array()
do{
i=Math.floor(Math.random()*slides_copy.length)
slides_randomized[ slides_randomized.length ]=
slides_copy[i]
for(i2=i+1;i2<slides_copy.length;i2++){
slides_copy[i2-1]=slides_copy[i2]}
slides_copy.length--
}while(slides_copy.length)
this.slides=slides_randomized}
this.get_text=function(){
return(this.slides[ this.current ].text)}
this.get_all_text=function(before_slide,after_slide){
all_text=""
for(i=0;i<this.slides.length;i++){
slide=this.slides[i]
if(slide.text){
all_text+=before_slide+slide.text+after_slide}}
return(all_text)}
this.display_text=function(text){
if(!text){
text=this.slides[ this.current ].text}
if(this.textarea&&typeof this.textarea.value !='undefined'){
this.textarea.value=text}
if(this.textid){
r=this.getElementById(this.textid)
if(!r){return false;}
if(typeof r.innerHTML=='undefined'){return false;}
r.innerHTML=text}}
this.hotlink=function(){
this.slides[ this.current ].hotlink()}
this.save_position=function(cookiename){
if(!cookiename){
cookiename=this.name+'_slideshow'}
document.cookie=cookiename+'='+this.current}
this.restore_position=function(cookiename){
if(!cookiename){
cookiename=this.name+'_slideshow'}
var search=cookiename+"="
if(document.cookie.length>0){
offset=document.cookie.indexOf(search)
if(offset !=-1){
offset+=search.length
end=document.cookie.indexOf(";",offset)
if(end==-1)end=document.cookie.length
this.current=parseInt(unescape(document.cookie.substring(offset,end)))}}}
this.noscript=function(){
$html="\n"
for(i=0;i<this.slides.length;i++){
slide=this.slides[i]
$html+='<P>'
if(slide.link){
$html+='<a href="'+slide.link+'">'}
$html+='<img src="'+slide.src+'" ALT="slideshow image">'
if(slide.link){
$html+="<\/a>"}
if(slide.text){
$html+="<BR>\n"+slide.text}
$html+="<\/P>"+"\n\n"}
$html=$html.replace(/\&/g,"&amp;")
$html=$html.replace(/</g,"&lt;")
$html=$html.replace(/>/g,"&gt;")
return('<pre>'+$html+'</pre>')}
this.loop=function(){
if(this.current<this.slides.length-1){
next_slide=this.slides[this.current+1]
if(next_slide.image.complete==null || next_slide.image.complete){
this.next()}
}else{
this.next()}
this.play()}
this.valid_image=function(){
if(!this.image){
return false}
else{
return true}}
this.getElementById=function(element_id){
if(document.getElementById){
return document.getElementById(element_id)}
else if(document.all){
return document.all[element_id]}
else if(document.layers){
return document.layers[element_id]
}else{
return undefined}}
this.set_image=function(imageobject){
if(!document.images)
return
this.image=imageobject}
this.set_textarea=function(textareaobject){
this.textarea=textareaobject
this.display_text()}
this.set_textid=function(textidstr){
this.textid=textidstr
this.display_text()}}
