﻿


function ContentItem(container)
{
	var dataValues = new Array();
	var content = container.innerHTML;
	dataValues = container.id.toString().split(';');
	container.id = "";
	this.Id = "contentItem";
	this.Offset = new Point();
	this.Container = container;
	this.IsVisible = container.style.display == "block" ? true : false;
	this.HasChild = false;
	this.IsChildAvailable = false;
	this.Child = null;

	for (var i = 0; i < dataValues.length; i++)
	{
		var property = dataValues[i].split(':')[0].toString().toLowerCase();
		var value = dataValues[i].split(':')[1];

		switch (property)
		{
			case "id":
				this.Id = value;
				break;
			case "offsetx":
				this.Offset.X = parseInt(value);
				break;
			case "offsety":
				this.Offset.Y = parseInt(value);
				break;
			case "visible":
				this.IsVisible = value == "false" ? false : true;
				container.style.display = value == "false" ? "none" : "block";
				break;
			case "childid":
				this.HasChild = true;
				this.Child = document.getElementById(value);
				if (this.Child != null)
				{
					this.IsChildAvailable = true;
					this.Child.prototype = new DialogItem(this.Child);
				}
			default:
				break;
		}
	}

	var linkWidth = container.clientWidth;
	var linkHeight = container.clientHeight;
	var borderContent = "";
	var link = null;
	var outerLayer = null;
	var innerLayer = null;

	if (this.IsChildAvailable)
	{
		borderContent = "<a class=\"DialogLink\" href=\"javascript:ContentItem.OpenChild ('" + this.Id + "')\"><div style=\"cursor: hand;\" onclick=\"javascript:ContentItem.OpenChild ('" + this.Id + "')\">";
		borderContent += "<table style=\"cursor: hand;\" align=\"center\" border=\"0\" class=\"ContentItemBorder\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"ItemBorderNW\"></td><td class=\"ItemBorderN\"></td><td class=\"ItemBorderNE\"></td></tr><tr><td class=\"ItemBorderW\"></td><td class=\"ItemData\">";
		borderContent += "<div></div>";
		borderContent += "</td><td class=\"ItemBorderE\"></td></tr><tr><td class=\"ItemBorderSW\"></td><td class=\"ItemBorderS\"></td><td class=\"ItemBorderSE\"></td></tr></table></div></a>";
		container.innerHTML = borderContent;
		link = container.getElementsByTagName("a")[0];
		link.style.width = (linkWidth + 20) + "px";
		link.style.height = (linkHeight + 20) + "px";
	}
	else
	{
		borderContent = "<div style=\"cursor: default;\">";
		borderContent += "<table style=\"cursor: default;\" align=\"center\" border=\"0\" class=\"ContentItemBorder\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"ItemBorderNW\"></td><td class=\"ItemBorderN\"></td><td class=\"ItemBorderNE\"></td></tr><tr><td class=\"ItemBorderW\"></td><td class=\"ItemData\">";
		borderContent += "<div></div>";
		borderContent += "</td><td class=\"ItemBorderE\"></td></tr><tr><td class=\"ItemBorderSW\"></td><td class=\"ItemBorderS\"></td><td class=\"ItemBorderSE\"></td></tr></table></div>";
		container.innerHTML = borderContent;
	}

	outerLayer = container.getElementsByTagName("div")[0];
	innerLayer = container.getElementsByTagName("div")[1];
	innerLayer.innerHTML = content;
	outerLayer.style.width = (linkWidth + 20) + "px";
	outerLayer.style.height = (linkHeight + 20) + "px";
	//innerLayer.style.width = linkWidth;
	innerLayer.style.height = linkHeight;
	outerLayer.style.margin = "0px 0px 0px 0px";
	innerLayer.style.margin = "0px 0px 0px 0px";
	outerLayer.style.padding = "0px 0px 0px 0px";
	innerLayer.style.padding = "0px 0px 0px 0px";

	this.Update = function ()
	{
		var outerLayer = this.Container.getElementsByTagName("div")[0];
		var innerLayer = this.Container.getElementsByTagName("div")[1];
		var linkWidth = innerLayer.clientWidth;
		var linkHeight = innerLayer.clientHeight;
		outerLayer.style.width = (linkWidth + 20) + "px";
		outerLayer.style.height = (linkHeight + 20) + "px";
		//innerLayer.style.width = linkWidth;
		innerLayer.style.height = linkHeight;
	}
}

ContentItem.OpenChild = function (reference)
{
	var item = null;

	for (var i = 0; i < Site.ContentItems.length; i++)
	{
		if (Site.ContentItems[i].prototype.Id == reference)
			item = Site.ContentItems[i].prototype;
	}

	if (item != null)
	{
		if (item.IsChildAvailable)
		{
			Site.ActiveDialog = item.Child;
			System.Save("ActiveDialog", reference.toString());
			Site.Body.prototype.style.overflow = "hidden";
			window.scrollTo(0, 0);
			Site.BackgroundCover.style.display = "block";
			item.Child.style.display = "block";
			window.onresize();
		}
	}
}

ContentItem.Find = function (id)
{
	for (var i = 0; i < Site.ContentItems.length; i++)
		if (Site.ContentItems[i].prototype.Id == id)
			return Site.ContentItems[i];
	return null;
}