Cobalt.Website.Media.CobaltLiquidusPlayer = function(sandbox)
{
    var originalLiquidus = null;
    var _options;
    var getTransitionIdFromOrignalPlayer = function(transitionName)
    {
        switch(transitionName)
        {
            case "LTVPanRight":
                return originalLiquidus.getLTVPanRight();
            case "LTVPanLeft":
                return originalLiquidus.getLTVPanLeft();
            case "LTVZoomIn":
                return originalLiquidus.getLTVZoomIn();
            case "LTVZoomOut":
                return originalLiquidus.getLTVZoomOut();
            default:
                return originalLiquidus.getLTVPanRight();
        }
    }
	
    return {
        init:function(optionsData)
        {
            if (optionsData !== undefined)
            {
                _options = optionsData;
            }
        },

        play:function(options)
        {	
            originalLiquidus = Cobalt.Website.Media.LiquidusPlayer();
			originalLiquidus.getTransitionIdFromOrignalPlayer = getTransitionIdFromOrignalPlayer;
			
			var i, transition;

            if (options !== undefined && options === true)
            {
                _options.LTVAutoPlay = 1; 
            }
			
			options = _options;
            originalLiquidus.initVars(options);

			originalLiquidus.LTVFLA();
        },

        destroy:function()
        {
            //todo;
        }
    }
};

Cobalt.Website.Media.LiquidusPlayer = function()
{	
	
    return {
        initVars : function(options)
        {	
			this.options = options;
            LTVAutoPlay = options.LTVAutoPlay;
            LTVColorExterior = options.LTVColorExterior;
            LTVColorInterior = options.LTVColorInterior;
            LTVDealerAddress = options.LTVDealerAddress;
            LTVDealerCity = options.LTVDealerCity;
            LTVDealerName = options.LTVDealerName;
            LTVDealerPhone = options.LTVDealerPhone;
            LTVDealerState = options.LTVDealerState;
            LTVDealerZipCode = options.LTVDealerZipCode;
            LTVEngine = options.LTVEngine;
            LTVListingID = options.LTVListingID;
            LTVMake = options.LTVMake;
            LTVMileage = options.LTVMileage;
            LTVModel = options.LTVModel;
            LTVPlayerHeight = options.LTVPlayerHeight;
            document.LTVPlayerTarget = window.LTVPlayerTarget = options.LTVPlayerTarget;
            LTVPlayerWidth = options.LTVPlayerWidth;
            LTVPrice = options.LTVPrice;
            LTVSourceDealerID = options.LTVSourceDealerID;
            LTVSourceID = options.LTVSourceID;
            LTVSourceListingID = options.LTVSourceListingID;
            LTVStockNumber = options.LTVStockNumber;
            LTVStyle = options.LTVStyle;
            LTVTransmission = options.LTVTransmission;
            LTVTrim = options.LTVTrim;
            LTVURI = options.LTVURI;
            LTVVIN = options.LTVVIN;
            LTVVoiceOver = options.LTVVoiceOver;
            LTVYear = options.LTVYear;
			LTVMediaID = options.LTVMediaID;
			this.jsURL = options.jsURL;
			
			window.LTVPhotoArray = [];  //Reset Photo Array. IE keeps appending to existing array.
			flashVars="";
        },
        getLTVPanRight:function()
        {
            return window.LTVPanRight;
        },
        getLTVZoomOut:function()
        {
            return window.LTVZoomOut;
        },
        getLTVPanLeft:function()
        {
            return window.LTVPanLeft;
        },
        getLTVZoomIn:function()
        {
            return window.LTVZoomIn;
        },
        LTVPhoto : function(URL,AnimationID)
        {
            return window.LTVPhoto(URL,AnimationID);
        },
        LTVEvent: function (URL,EventID)
        {
            return window.LTVEvent(URL,EventID);
        },
		
		setupPhotos: function(options){
			if(typeof(options.photoTransitions)!=="undefined")
				for (i=0; i<options.photoTransitions.length; ++i)
				{
					transition = options.photoTransitions[i];
					this.LTVPhoto(transition.photoUrl, this.getTransitionIdFromOrignalPlayer(transition.transitionName));
				}
			
		},
		
        LTVFLA: function ()
        {
		
			if(typeof(LTVFLA)=="undefined")
			{
				var oThis = this;
				jQuery.ajax({
						cache: false
					,   url: this.jsURL
					,   success: function(){ 
							oThis.initVars(oThis.options);
							oThis.setupPhotos(oThis.options);
							LTVFLA();
							}
					,   dataType: 'script'
				});
			}else{
				this.initVars(this.options);
				this.setupPhotos(this.options);
				LTVFLA();
			}
        }
    };
};

