﻿var app = null;
function pluginLoaded(sender) { app = sender.getHost(); }

var usepromptonreload = true;
var promptonreload = true;
window.onbeforeunload = function () { if (usepromptonreload && promptonreload) return Localize("Are you sure you wish to reset the application? All unsaved data will be lost."); promptonreload = true; }
function PromptOnReload(prompt) { promptonreload = prompt; } // Referenced by SilverlightApp

function Localize(ret) { return (app) ? app.Content.SiteStateLib.Localize(ret) : ret; }

function NavigateIFrame(name, src) { // Referenced by SilverlightApp
	var frame = document.getElementById(name);
	if (!frame) return false;
	frame.src = src;
	return true;
}

function onSilverlightError(sender, args) {
	var appSource = "";
	if (sender != null && sender != 0) {
		appSource = sender.getHost().Source;
	}

	var errorType = args.ErrorType;
	var iErrorCode = args.ErrorCode;

	if (errorType == "ImageError" || errorType == "MediaError") {
		return;
	}

	var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

	errMsg += "Code: " + iErrorCode + "    \n";
	errMsg += "Category: " + errorType + "       \n";
	errMsg += "Message: " + args.ErrorMessage + "     \n";

	if (errorType == "ParserError") {
		errMsg += "File: " + args.xamlFile + "     \n";
		errMsg += "Line: " + args.lineNumber + "     \n";
		errMsg += "Position: " + args.charPosition + "     \n";
	}
	else if (errorType == "RuntimeError") {
		if (args.lineNumber != 0) {
			errMsg += "Line: " + args.lineNumber + "     \n";
			errMsg += "Position: " + args.charPosition + "     \n";
		}
		errMsg += "MethodName: " + args.methodName + "     \n";
	}

	throw new Error(errMsg);
}

function Email(to, subject, body) {
	PromptOnReload(false);
	var r = document.referrer;
	//var t = document.title;
	//var u = window.location;
	window.location = "mailto:" + to + "?subject=" + subject + "&body=" + r; //  + " " + t + " " + u;
}

