﻿var searchActive = false;
var splitterExpanded = true;

if (!window.DBWorldMap)
	window.DBWorldMap = {};

DBWorldMap.Page = function() 
{
}

DBWorldMap.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
	}
}

if (!window.Silverlight) 
	window.Silverlight = {};

Silverlight.createDelegate = function(instance, method) {
	return function() {
		return method.apply(instance, arguments);
	}
}

function createSilverlight()
{
	var scene = new DBWorldMap.Page();
	Silverlight.createObjectEx({
		source: "dbworldmap.xaml",
		parentElement: document.getElementById("silverlightControlHost"),
		id: "SilverlightControl",
		properties: {
			width: "100%",
			height: "100%",
			version: "1.0",
			isWindowless: 'true'
		},
		events: {
			onLoad: Silverlight.createDelegate(scene, scene.handleLoad),
			onError: function(sender, args) {
				var errorDiv = document.getElementById("errorLocation");
				if (errorDiv != null) {
					var errorText = args.errorType + "- " + args.errorMessage;
							
					if (args.ErrorType == "ParserError") {
						errorText += "<br>File: " + args.xamlFile;
						errorText += ", line " + args.lineNumber;
						errorText += " character " + args.charPosition;
					}
					else if (args.ErrorType == "RuntimeError") {
						errorText += "<br>line " + args.lineNumber;
						errorText += " character " +  args.charPosition;
					}
					errorDiv.innerHTML = errorText;
				}	
			}
		}
	});
}

function DbwAnimations_MouseEnter(sender, args)
{
	var name = sender.name;
	if (name.match("_Glow")) {
		name = name.substr(0, name.length - 5);
	}
	var storyboard = sender.findName(name + "_MouseEnterAnimation");
	if (storyboard != null) {
		storyboard.begin();
	}
}
	
function DbwAnimations_MouseLeave(sender, args)
{
	var name = sender.name;
	if (name.match("_Glow")) {
		name = name.substr(0, name.length - 5);
	}
	
	var storyboard = sender.findName(name + "_MouseLeaveAnimation");
	if (storyboard != null) {
		storyboard.begin();
	}
}

function splitter_Click(sender, args) {
	if (splitterExpanded) {
		document.getElementById("listContainer").style.display = "none";
		document.getElementById("selectTabContent").style.display = "none";
		document.getElementById("searchTabContent").style.display = "none";
		sender.findName("Splitter_CollapseAnimation").begin();
		var veHost = document.getElementById("virtualEarthHost");
		veHost.style.width = "937px";
		map.Resize(937, 654);
		splitterExpanded = false;
	}
	else {
		var veHost = document.getElementById("virtualEarthHost");
		veHost.style.width = "549px";
		map.Resize(649, 654);
		sender.findName("Splitter_ExpandAnimation").begin();
		document.getElementById("listContainer").style.display = "block";
		if (!searchActive) document.getElementById("selectTabContent").style.display = "block";
		if (searchActive) document.getElementById("searchTabContent").style.display = "block";
		splitterExpanded = true;
	}
}

function select_Click(sender, args) {
	if (searchActive) {
		sender.findName("SelectTab_ClickAnimation").begin();
		document.getElementById("searchTabContent").style.display = "none";
		document.getElementById("selectTabContent").style.display = "block";
		searchActive = false;
	}
}

function search_Click(sender, args) {
	if (!searchActive) {
		sender.findName("SearchTab_ClickAnimation").begin();
		document.getElementById("selectTabContent").style.display = "none";
		document.getElementById("searchTabContent").style.display = "block";
		searchActive = true;
	}
}