///////////////////////////////////////////////////////////////////////////////
//
//  Interface.js   			version 1.0
//	2007 Julia Yu, Lenny Burdette
//
//  Set up the plugin and create content
//
//  FUNCTIONS:
//			Loc.stageXamlLoaded
//			Loc.preloaderLoaded
//			Loc.pluginLoaded
//			Loc.setUpSilverlight
//		
//	DEPENDENCIES:	
//			Utils.js
//			StageObjects.js
//
///////////////////////////////////////////////////////////////////////////////

if ( !window.Loc) { window.Loc = {}; }

Loc.stageXamlLoaded = function(preloader, downloader, params) {
	preloader.stop();
	
	Loc.interfaceXaml = downloader; // all the interface components
	
	Loc.make('panel', { name : 'panel_intro'}); 		
	Loc.make('nav', { name : 'nav_asset'});			
	Loc.make('stage', { name : 'stage_content'});		
	Loc.make('subTitle', { name : 'sub_title'});
	Loc.make('button', { name: 'btn_home', text: "HOME", w: 40, h: 15, left: 920, top: 18, page: "home", bgFill : "#00000000"}); 
}

/**
 * First we must have the piece that is the preloader
 */
Loc.preloaderLoaded = function(downloader, params) {
	var xamlString = downloader.responseText; 
	Loc.loaderFragment = Loc.plugin.content.createFromXaml(xamlString, true); // this is the xaml fragment
	
	var myLoader = Loc.make('Preloader', {name: 'stageLoader', left: 470, top: 325});
	var downloadXAML = new Silverlight.Downloader({
	    resource: "cmn/xaml/stage.zip",
	    plugin: Loc.plugin,
	    onComplete: Loc.stageXamlLoaded.bind(this, myLoader),
	    name: 'downloadStageXAML'
	});
}

/**
 * Set up components inside the plugin
 */
Loc.pluginLoaded = function(plugin, context, root) {
	Loc.plugin = plugin;					
	Loc.root = root;			
				
	this.downloadXAML = new Silverlight.Downloader({
	    resource: "cmn/xaml/preloader.xaml",
	    plugin: Loc.plugin,
	    onComplete: Loc.preloaderLoaded.bind(this),
	    name: 'getpreoloader'
	});
}

/**
 * Set up the silverlight plugin properties
 */
 
Loc.setUpSilverlight = function() {
	var pluginSpecs = { 
		height : '535px', width: '980px', 
		host : 'host', 
		xaml : 'cmn/xaml/stage.xaml', 
		id : 'wmap', 
		color : '#929292',
		postInstall : true,
		events : {
			onError: Silverlight.error,
	        onLoad: Loc.pluginLoaded
		}
	};
	Silverlight.createInstallExperience(pluginSpecs); // post install optional
}

/**
 * Create silverlight object upon DOM load
 * Turn debuggin on and off
 */
Loc.DomLoaded.load(Loc.setUpSilverlight);
Loc.debug.on = true;
