function launchSlideshow(path)

{

	window.open(path, 'wSlideshow', 'height=750,width=680,resizable=yes,scrollbars=yes');

}



function at_display(x)

{

  win = window.open();

  for (var i in x) win.document.write(i+' = '+x[i]+'<br>');

}



// ----- Show Aux -----



function at_show_aux(parent, child)

{

  var p = document.getElementById(parent);

  var c = document.getElementById(child);



  var top  = (c["at_position"] == "y") ? p.offsetHeight+2 : 0;

  var left = (c["at_position"] == "x") ? p.offsetWidth +2 : 0;



  for (; p; p = p.offsetParent)

  {

    top  += p.offsetTop;

    left += p.offsetLeft;

  }



  c.style.position   = "absolute";

  c.style.top        = top +'px';

  c.style.left       = left+'px';

  c.style.visibility = "visible";

}



// ----- Show -----



function at_show()

{

  p = document.getElementById(this["at_parent"]);

  c = document.getElementById(this["at_child" ]);



  at_show_aux(p.id, c.id);



  clearTimeout(c["at_timeout"]);

}



// ----- Hide -----



function at_hide()

{

  c = document.getElementById(this["at_child"]);



  c["at_timeout"] = setTimeout("document.getElementById('"+c.id+"').style.visibility = 'hidden'", 333);

}



// ----- Click -----



function at_click()

{

  p = document.getElementById(this["at_parent"]);

  c = document.getElementById(this["at_child" ]);



  if (c.style.visibility != "visible") at_show_aux(p.id, c.id);

  else c.style.visibility = "hidden";



  return false;

}



// ----- Attach -----



// PARAMETERS:

// parent   - id of visible html element

// child    - id of invisible html element that will be dropdowned

// showtype - "click" = you should click the parent to show/hide the child

//            "hover" = you should place the mouse over the parent to show

//                      the child

// position - "x" = the child is displayed to the right of the parent

//            "y" = the child is displayed below the parent

// cursor   - Omit to use default cursor or check any CSS manual for possible

//            values of this field



function at_attach(parent, child, showtype, position, cursor)

{

  p = document.getElementById(parent);

  c = document.getElementById(child);



  p["at_parent"]     = p.id;

  c["at_parent"]     = p.id;

  p["at_child"]      = c.id;

  c["at_child"]      = c.id;

  p["at_position"]   = position;

  c["at_position"]   = position;



  c.style.position   = "absolute";

  c.style.visibility = "hidden";



  if (cursor != undefined) p.style.cursor = cursor;



  switch (showtype)

  {

    case "click":

      p.onclick     = at_click;

      p.onmouseout  = at_hide;

      c.onmouseover = at_show;

      c.onmouseout  = at_hide;

      break;

    case "hover":

      p.onmouseover = at_show;

      p.onmouseout  = at_hide;

      c.onmouseover = at_show;

      c.onmouseout  = at_hide;

      break;

  }

}



var fadebgcolor="white"

var fadearray=new Array() //array to cache fadeshow instances

var fadeclear=new Array() //array to cache corresponding clearinterval pointers

 

var dom=(document.getElementById) //modern dom browsers

var iebrowser=document.all

 

function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder){

this.pausecheck=pause

this.mouseovercheck=0

this.delay=delay

this.degree=10 //initial opacity degree (10%)

this.curimageindex=0

this.nextimageindex=1

fadearray[fadearray.length]=this

this.slideshowid=fadearray.length-1

this.canvasbase="canvas"+this.slideshowid

this.curcanvas=this.canvasbase+"_0"

if (typeof displayorder!="undefined")

theimages.sort(function() {return 0.5 - Math.random();}) //thanks to Mike (aka Mwinter) :)

this.theimages=theimages

this.imageborder=parseInt(borderwidth)

this.postimages=new Array() //preload images

for (p=0;p<theimages.length;p++){

this.postimages[p]=new Image()

this.postimages[p].src=theimages[p][0]

}

 

var fadewidth=fadewidth+this.imageborder*2

var fadeheight=fadeheight+this.imageborder*2

 

if (iebrowser&&dom||dom) //if IE5+ or modern browsers (ie: Firefox)

document.write('<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);-moz-opacity:10;-khtml-opacity:10;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);-moz-opacity:10;background-color:'+fadebgcolor+'"></div></div>')

else

document.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>')

 

if (iebrowser&&dom||dom) //if IE5+ or modern browsers such as Firefox

this.startit()

else{

this.curimageindex++

setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay)

}

}



function fadepic(obj){

if (obj.degree<100){

obj.degree+=10

if (obj.tempobj.filters&&obj.tempobj.filters[0]){

if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+

obj.tempobj.filters[0].opacity=obj.degree

else //else if IE5.5-

obj.tempobj.style.filter="alpha(opacity="+obj.degree+")"

}

else if (obj.tempobj.style.MozOpacity)

obj.tempobj.style.MozOpacity=obj.degree/101

else if (obj.tempobj.style.KhtmlOpacity)

obj.tempobj.style.KhtmlOpacity=obj.degree/100

}

else{

clearInterval(fadeclear[obj.slideshowid])

obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1"

obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas)

obj.populateslide(obj.tempobj, obj.nextimageindex)

obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)? obj.nextimageindex+1 : 0

setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay)

}

}

 

fadeshow.prototype.populateslide=function(picobj, picindex){

var slideHTML=""

if (this.theimages[picindex][1]!="") //if associated link exists for image

slideHTML='<a href="'+this.theimages[picindex][1]+'" target="'+this.theimages[picindex][2]+'">'

slideHTML+='<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">'

if (this.theimages[picindex][1]!="") //if associated link exists for image

slideHTML+='</a>'

picobj.innerHTML=slideHTML

}

 

 

fadeshow.prototype.rotateimage=function(){

if (this.pausecheck==1) //if pause onMouseover enabled, cache object

var cacheobj=this

if (this.mouseovercheck==1)

setTimeout(function(){cacheobj.rotateimage()}, 100)

else if (iebrowser&&dom||dom){

this.resetit()

var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)

crossobj.style.zIndex++

fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",50)

this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0"

}

else{

var ns4imgobj=document.images['defaultslide'+this.slideshowid]

ns4imgobj.src=this.postimages[this.curimageindex].src

}

this.curimageindex=(this.curimageindex<this.postimages.length-1)? this.curimageindex+1 : 0

}

 

fadeshow.prototype.resetit=function(){

this.degree=10

var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)

if (crossobj.filters&&crossobj.filters[0]){

if (typeof crossobj.filters[0].opacity=="number") //if IE6+

crossobj.filters(0).opacity=this.degree

else //else if IE5.5-

crossobj.style.filter="alpha(opacity="+this.degree+")"

}

else if (crossobj.style.MozOpacity)

crossobj.style.MozOpacity=this.degree/101

else if (crossobj.style.KhtmlOpacity)

if(typeof(obj)!='undefined'){
crossobj.style.KhtmlOpacity=obj.degree/100
}
else{
crossobj.style.KhtmlOpacity=this.degree/100
}

}

 

 

fadeshow.prototype.startit=function(){

var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)

this.populateslide(crossobj, this.curimageindex)

if (this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER

var cacheobj=this

var crossobjcontainer=iebrowser? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid)

crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1}

crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0}

}

this.rotateimage()

}


