function openGallery (url, background, width, height, contentId, minimizePanelName)
{
    var obj;
    var panelId = 'dancefloor_images_filmstrip';
    if ( ! contentId )
	contentId = "dancefloor_images_filmstrip_content";

    if ( background )
	setBackground(background, width, height);

    obj = myGetElementById(contentId);
    if ( obj )
    {
	var pObj = myGetElementById (panelId);

	openLink(url, contentId);

	if ( pObj )
	    pObj.style.visibility = "visible";

	if ( pObj.MINIMIZED )
	    restorePanel(pObj.dfObj);

	if ( minimizePanelName )
	    minimizePanel (minimizePanelName);
    }

    return false;
}

function openGalleryStill (url, contentId)
{
    var obj;
    if ( ! contentId )
	contentId = 'dancefloor_images_still_container';

    obj = myGetElementById(contentId);
    if ( obj )
    {
	openLink(url, contentId);
	obj.parentNode.style.visibility = "visible";
	if ( obj.parentNode.MINIMIZED )
	    restorePanel(obj.parentNode.dfObj);
    }

    return false;
}

function openChannel (url, background, width, height, contentId, minimizePanelName)
{
    var obj;
    var panelId = 'dancefloor_video_galleries_container';

    if ( ! contentId )
	contentId = "dancefloor_video_galleries_gallery_select_content";

    if ( background )
	setBackground(background, width, height);

    obj = myGetElementById(contentId);
    if ( obj )
    {
	var pObj = myGetElementById (panelId);

	openLink(url, contentId);

	if ( pObj )
	{
	    pObj.style.visibility = "visible";

	    if ( pObj.MINIMIZED )
		restorePanel(pObj.dfObj);
	}

	if ( minimizePanelName )
	    minimizePanel (minimizePanelName);
    }

    return false;
}

var scrollSteps = 15;
var scrollIntervalId;

function filmstripScrollTo (id, amt, finalLeft, anchor)
{
    var obj = myGetElementById(id);
    var done = false;

    if ( ! obj ) 
    {
	alert (id + " cannot be located; aborting!");
	clearInterval (scrollIntervalId);
	return;
    }

    // check for being exactly done or leaping past the end
    if ( amt < 0 )
    {
	if ( obj.scrollLeft + amt <= finalLeft )
	    done = true;
    }
    else
    {
	if ( obj.scrollLeft + amt >= finalLeft )
	    done = true;
    }

    if ( done )
    {
	obj.scrollLeft = finalLeft;
	clearInterval (scrollIntervalId);
    }
    else
    {
	var old = obj.scrollLeft;
	obj.scrollLeft += amt;
	if ( old == obj.scrollLeft )
	    clearInterval (scrollIntervalId);
    }
}

function filmstripScroll (id, amount)
{
    var obj = myGetElementById(id);
    var increment;

    if ( ! obj )
	return false;

    // amount = parseInt((desty-cypos)/scrollSteps);
    increment = parseInt (amount / scrollSteps);

    curLeft = parseInt (obj.scrollLeft, 10);
    finalLeft = curLeft + amount;

//    alert ("scroll " + obj.getAttribute("ID") +
//	" from " + obj.scrollLeft + " to " +
//	finalLeft);
//    obj.scrollLeft = finalLeft;

    // Stop any current scrolling
    clearInterval(scrollIntervalId);
  
    var cmd = "filmstripScrollTo ('"+id+"'," +increment+"," + finalLeft+")";
    scrollIntervalId = setInterval(cmd,10);
    return false;
}

function galleryScrollTo (id, amt, finalTop, anchor)
{
    var obj = myGetElementById(id);
    var done = false;

    if ( ! obj ) 
    {
	alert (id + " cannot be located; aborting!");
	clearInterval (scrollIntervalId);
	return;
    }

    // check for being exactly done or leaping past the end
    if ( amt < 0 )
    {
	if ( obj.scrollTop + amt <= finalTop )
	    done = true;
    }
    else
    {
	if ( obj.scrollTop + amt >= finalTop )
	    done = true;
    }

    if ( done )
    {
	obj.scrollTop = finalTop;
	clearInterval (scrollIntervalId);
    }
    else
    {
        var old = obj.scrollTop;
	obj.scrollTop += amt;
	if ( old == obj.scrollTop )
	    clearInterval (scrollIntervalId);
    }
}

function galleryScroll (id, amount)
{
    var obj = myGetElementById(id);
    var increment;

    if ( ! obj )
	return false;

    // amount = parseInt((desty-cypos)/scrollSteps);
    increment = parseInt (amount / scrollSteps);

    curTop = parseInt (obj.scrollTop, 10);
    finalTop = curTop + amount;

//    alert ("scroll " + obj.getAttribute("ID") +
//	" from " + obj.scrollTop + " to " +
//	finalTop);
//    obj.scrollTop = finalTop;

    // Stop any current scrolling
    clearInterval(scrollIntervalId);
  
    var cmd = "galleryScrollTo ('"+id+"'," +increment+"," + finalTop+")";
    scrollIntervalId = setInterval(cmd,10);

    return false;
}
