﻿if ( !window.Utils )
    window.Utils = {};
    
Utils.RenderersRegistry = function( control, rootElement )
{
    this.control = control;
    this.rootElement = rootElement;
    
    var downloader = this.control.createObject("downloader");
    downloader.addEventListener("Completed", Silverlight.createDelegate(this, this.onAirlineRendererLoaded));
    downloader.open("GET", "Controls/Renderers/AirlineListBoxRenderer.xaml");
    downloader.send();
    
    var downloader2 = this.control.createObject("downloader");
    downloader2.addEventListener("Completed", Silverlight.createDelegate(this, this.onHotelRendererLoaded));
    downloader2.open("GET", "Controls/Renderers/HotelItemRenderer.xaml");
    downloader2.send();
    
    var downloader3 = this.control.createObject("downloader");
    downloader3.addEventListener("Completed", Silverlight.createDelegate(this, this.onCarRendererLoaded));
    downloader3.open("GET", "Controls/Renderers/CarItemRenderer.xaml");
    downloader3.send();
}
Utils.RenderersRegistry.prototype.airlineRendererXaml = null;
Utils.RenderersRegistry.prototype.hotelRendererXaml = null;
Utils.RenderersRegistry.prototype.carRendererXaml = null;

Utils.RenderersRegistry.prototype.onAirlineRendererLoaded = function(sender, eventArgs)
{
    this.airlineRendererXaml = sender.getResponseText("");
}
Utils.RenderersRegistry.prototype.onHotelRendererLoaded = function(sender, eventArgs)
{
    this.hotelRendererXaml = sender.getResponseText("");
}
Utils.RenderersRegistry.prototype.onCarRendererLoaded = function(sender, eventArgs)
{
    this.carRendererXaml = sender.getResponseText("");
}

Utils.RenderersRegistry.prototype.getAirlineRenderer = function()
{
    return this.control.content.createFromXaml( this.airlineRendererXaml, true );
}
Utils.RenderersRegistry.prototype.getHotelRenderer = function()
{
    return this.control.content.createFromXaml( this.hotelRendererXaml, true );
}
Utils.RenderersRegistry.prototype.getCarRenderer = function()
{
    return this.control.content.createFromXaml( this.carRendererXaml, true );
}