var PING = 1000 ;

function closeslides() {
   if (window.pingslides) clearInterval( window.pingslides) ;
   if (window.slideA && !window.slideA.closed && window.slideA.close) window.slideA.close() ;
   if (window.slideB && !window.slideB.closed && window.slideB.close) window.slideB.close() ;
   window.slideA = window.slideB = null ;
}

function openslideshow( folder, name) {

   // close existing ones
   closeslides() ;  
   //fetch windowoption
   folder = folder.replace(/\/$/, "") ;
   var options = (popoptions[folder]) ? popoptions[folder] : popoptions._default ;
   // add extra path
   if (slidepath) folder = slidepath.replace(/\/?$/, "/") + folder + "/" ;
   window.slideA = popup( options.A, folder + "A1.html") ;
   window.slideB = popup( options.B, folder + "B1.html") ;
   window.slides_folder = folder ;
   // start pinging the slides
   window.pingslides = setInterval( "ping()", PING) ;
}

function makepath( p, q) {
   var path = p.replace(/\/$/,"") + "/" + q.replace(/\/$/,"") ;
   return path ;
}

function ping() {
   var A = (window.slideA && !window.slideA.closed) ;
   var B = (window.slideB && !window.slideB.closed) ;
   if (A && B) return true ;
   else {
      closeslides() ;
      return false ;
   }
}
 
// move slides A and B. 0 means don't move. Numbers assumed to map to "[AB]x.html", anything else ignored.
// TODO IE won't convert location to a string and complains that location.href is wrong kind of automation
// now depends on folder
window.slideTo = function( A, B) {
   if (!window.slides_folder) return ;
//    if (A && window.slideA) window.slideA.location = window.slides_folder + "A" + A + ".html" ;
//    if (B && window.slideB) window.slideB.location = window.slides_folder + "B" + B + ".html" ;
   if (A && window.slideA)  window.slideA.location = "A" + A + ".html" ;
   if (B && window.slideB)  window.slideB.location = "B" + B + ".html" ;
};

