﻿/* 03/04/2009 RMG:  The following Javascript is required for the new zoom flash controls. */
var _imageLoader_isReady = false;
var _zoomComponent_javascriptIsReady = false;
var _zoomComponent_scaleValue = 0.0;
var _zoomComponent_leftValue = 0.0;
var _zoomComponent_topValue = 0.0;
var _zoomComponent_urlToLoad = '';

// Called by the ImageLoader
function imageLoader_setIsReady(isReady) {
    _imageLoader_isReady = isReady;
}

// Called by the ImageLoader
function imageLoader_setViewerPosition(data) {
    _zoomComponent_leftValue = data.leftValue;
    _zoomComponent_topValue = data.topValue;
    try {
	    var thisMovie = zoomComponent_getFlashMovieObject("GCZoomComponent");
    	// Call the ZoomComponent
        if (thisMovie != null) {
    	    //alert('left=' + _zoomComponent_leftValue.toString() + ', top=' + _zoomComponent_topValue.toString());
            thisMovie.setViewerPosition(_zoomComponent_leftValue, _zoomComponent_topValue);
        }
    } catch (e) {
        alert('ZoomComponent Error:'+ e);
    }
    return true;
}

// Called by the ZoomComponent
function zoomComponent_javascriptIsReady() {
    return _zoomComponent_javascriptIsReady;
}

function zoomComponent_getFlashMovieObject(movieName) {
    if(document.embeds[movieName]) return document.embeds[movieName]; //Firefox
    if(window.document[movieName]) return window.document[movieName]; //IE
    if(window[movieName]) return window[movieName];
    if(document[movieName]) return document[movieName];
    return null;
}

function zoomComponent_sendToActionScript(url) {
    // 03/04/2009 RMG:  Tell the zoom component to load a new image.
    try {
        if (_imageLoader_isReady) {
	        var thisMovie = zoomComponent_getFlashMovieObject("GCZoomComponent");
            if (thisMovie != null) 
                thisMovie.sendToActionScript(url);
        } else {
	        // Start a 300ms timer to try again later
            setTimeout("zoomComponent_sendToActionScript('" + url + "');", 300);
        }
    } catch (e) {
        alert('ZoomComponent Error:'+ e);
    }
}

// Called by the ZoomComponent
function zoomComponent_setExternalView(data) {
    _zoomComponent_urlToLoad = data.urlValue;
    _zoomComponent_scaleValue = data.scaleValue;
    _zoomComponent_leftValue = data.leftValue;
    _zoomComponent_topValue = data.topValue;
    //alert('url=' + _zoomComponent_urlToLoad + ', scale=' + _zoomComponent_scaleValue.toString() + ', left=' + _zoomComponent_leftValue.toString() + ', top=' + _zoomComponent_topValue.toString());
    try {
	    var thisMovie = zoomComponent_getFlashMovieObject("GCImageLoader");
    	// Call the ImageLoader
        if (thisMovie != null) thisMovie.sendToActionScript(_zoomComponent_urlToLoad, _zoomComponent_scaleValue, _zoomComponent_leftValue, _zoomComponent_topValue);
    } catch (e) {
        alert('ImageLoader Error:'+ e);
    }
    return true;
}
/* 03/04/2009 RMG:  End zoom flash control code */
