
imports("/js/core/delegate.js")
imports("/js/core/base.js")

var Core = new Object();
Core.Web = new Object();

var application;
var page;


function imports(src)
{
	var head = document.getElementsByTagName("head")[0];
	var scriptElements = document.getElementsByTagName("script");
	var scriptElement;
	for(var i=0; i<scriptElements.length; i++)
	{
		if(scriptElements[i].getAttribute("src") == src)
		{
			return;
		}
	}
	scriptElement = head.appendChild(document.createElement("script"));
	scriptElement.setAttribute("language", "JavaScript");
	scriptElement.setAttribute("src", src);
}


function extend(obj, type, args)
{
  type.apply(obj, args);
  var base = new Base(obj);
  return base;
}


function window_load()
{
  if(typeof(CultureInfo) != typeof(undefined))
  {
    CultureInfo.init();
  }
  if(typeof(Application) != typeof(undefined))
  {
    application = new Application();
    application.init();
  }
  if(typeof(Page) != typeof(undefined))
  {
    page = new Page();
    page.initialize();
  }
}


function window_unload()
{
  if(page)
  {
    page.dispose();
  }
  DomEvent.releaseEventListeners();
  page = null;
  application = null;
  Core.Web = null;
  Core = null;
}


if(window.addEventListener)
{
  window.addEventListener("load", window_load, false);
}
else
{
  window.attachEvent("onload", window_load);
}

if(window.addEventListener)
{
  window.addEventListener("unload", window_unload, false);
}
else
{
  window.attachEvent("onunload", window_unload);
}
