/*-- Start PaintingProduct ---------------------------------------------------------------------------*/

function PaintingProduct(description, url, availability, unitPrice, discountPrice, edition, size, type)
{
	this.setDescription = PaintingProduct_setDescription;
	this.getDescription = PaintingProduct_getDescription;
	this.setDescription(description);
	
	this.setUrl = PaintingProduct_setUrl;
	this.getUrl = PaintingProduct_getUrl;
	this.setUrl(url);
	
	this.setAvailability = PaintingProduct_setAvailability;
	this.getAvailability = PaintingProduct_getAvailability;
	this.setAvailability(availability);
	
	this.setUnitPrice = PaintingProduct_setUnitPrice;
	this.getUnitPrice = PaintingProduct_getUnitPrice;
	this.setUnitPrice(unitPrice);

	this.setDiscountPrice = PaintingProduct_setDiscountPrice;
	this.getDiscountPrice = PaintingProduct_getDiscountPrice;
	this.setDiscountPrice(discountPrice);

	this.setEdition = PaintingProduct_setEdition;
	this.getEdition = PaintingProduct_getEdition;
	this.setEdition(edition);
	
	this.setSize = PaintingProduct_setSize;
	this.getSize = PaintingProduct_getSize;
	this.setSize(size);
	
	this.setType = PaintingProduct_setType;
	this.getType = PaintingProduct_getType;
	this.setType(type);
	
	return this;
}

function PaintingProduct_setDescription(description)
{
	this.description = description;
}

function PaintingProduct_getDescription()
{
	return this.description;
}

function PaintingProduct_setUrl(url)
{
	this.url = url;
}

function PaintingProduct_getUrl()
{
	return this.url;
}

function PaintingProduct_setAvailability(availability)
{
	this.availability = availability;
}

function PaintingProduct_getAvailability()
{
	return this.availability;
}

function PaintingProduct_setUnitPrice(unitPrice)
{
	this.unitPrice = unitPrice;
}

function PaintingProduct_getUnitPrice()
{
	return this.unitPrice;
}

function PaintingProduct_setDiscountPrice(discountPrice)
{
	this.discountPrice = discountPrice;
}

function PaintingProduct_getDiscountPrice()
{
	return this.discountPrice;
}

function PaintingProduct_setEdition(edition)
{
	this.edition = edition;
}

function PaintingProduct_getEdition()
{
	return this.edition;
}

function PaintingProduct_setSize(size)
{
	this.size = size;
}

function PaintingProduct_getSize()
{
	return this.size;
}

function PaintingProduct_setType(type)
{
	this.type = type;
}

function PaintingProduct_getType()
{
	return this.type;
}

/*-- End PaintingProduct ---------------------------------------------------------------------------*/

function ProductSet()
{
	var products = {};
	products["merlinsOak"] = 		new PaintingProduct(
											"Merlin's Oak Print",
											getPaintingUrl("merlinsOak"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											80.0,
											-1.0,
											"Limited (5,000 printed)",
											"34&frac12;\" x 21&frac12;\"",
											PRODUCT_TYPE_LITHOGRAPH);
	products["wizardKing"] = 		new PaintingProduct(
											"The Wizard King Print",
											getPaintingUrl("wizardKing"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											25.0,
											-1.0,
											"Open",
											"12\" x 15&frac34;\"",
											PRODUCT_TYPE_LITHOGRAPH);
	products["astronomer"] = 		new PaintingProduct(
											"The Astronomer Print",
											getPaintingUrl("astronomer"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"21&frac12;\" x 14.3\"",
											PRODUCT_TYPE_GICLEE);
	products["christmasPresence"] = new PaintingProduct(
											"Christmas Presence Print",
											getPaintingUrl("christmasPresence"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											25.0,
											-1.0,
											"Open",
											"15 1/8\" x 17 7/8\"",
											PRODUCT_TYPE_LITHOGRAPH);
	products["dragonmaster"] = 		new PaintingProduct(
											"Dragonmaster Print",
											getPaintingUrl("dragonmaster"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["santasSleigh"] =		new PaintingProduct(
											"Santa's Sleigh Print",
											getPaintingUrl("santasSleigh"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											25.0,
											-1.0,
											"Open",
											"15 1/8\" x 17 7/8\"",
											PRODUCT_TYPE_LITHOGRAPH);
	products["babylon"] =			new PaintingProduct(
											"Babylon Print",
											getPaintingUrl("babylon"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											30.0,
											-1.0,
											"Open",
											"12\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["lily"] =				new PaintingProduct(
											"Lily Print",
											getPaintingUrl("lily"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"15\" x 20\"",
											PRODUCT_TYPE_GICLEE);
	products["medusa"] =			new PaintingProduct(
											"Medusa Print",
											getPaintingUrl("medusa"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											30.0,
											-1.0,
											"Open",
											"12\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["moonMagic"] =			new PaintingProduct(
											"Moon Magic Print",
											getPaintingUrl("moonMagic"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["dragonMountain"] =	new PaintingProduct(
											"Dragon Mountain Print",
											getPaintingUrl("dragonMountain"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["conveyor"] =			new PaintingProduct(
											"Conveyor Print",
											getPaintingUrl("conveyor"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"16&frac14;\" x 21\"",
											PRODUCT_TYPE_GICLEE);
	products["treasureDragon"] = 	new PaintingProduct(
											"Treasure Dragon Print",
											getPaintingUrl("treasureDragon"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["dragonsEye"] =		new PaintingProduct(
											"Dragon's Eye Print",
											getPaintingUrl("dragonsEye"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["gandalfAtBagEnd"] = 	new PaintingProduct(
											"Gandalf at Bag End Print",
											getPaintingUrl("gandalfAtBagEnd"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"20&frac12;\" x 17&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["magic"] =				new PaintingProduct(
											"Magic Print",
											getPaintingUrl("magic"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["access"] =			new PaintingProduct(
											"Access Print",
											getPaintingUrl("access"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["dragonsFire"] =		new PaintingProduct(
											"Dragon's Fire Print",
											getPaintingUrl("dragonsFire"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["bridge"] =			new PaintingProduct(
											"The Bridge Print",
											getPaintingUrl("bridge"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"16.35\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["knight"] =			new PaintingProduct(
											"The Knight Print",
											getPaintingUrl("knight"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["dragonlands"] =		new PaintingProduct(
											"Dragonlands Print",
											getPaintingUrl("dragonlands"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["veils"] =				new PaintingProduct(
											"Veils Print",
											getPaintingUrl("veils"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"21&frac12;\" x 16.126\"",
											PRODUCT_TYPE_GICLEE);
	products["elder"] =				new PaintingProduct(
											"The Elder Print",
											getPaintingUrl("elder"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											40.0,
											-1.0,
											"Open",
											"12.8\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["spaceCruisers"] =		new PaintingProduct(
											"Space Cruisers Print",
											getPaintingUrl("spaceCruisers"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"21&frac12;\" x 14.3\"",
											PRODUCT_TYPE_GICLEE);
	products["nebula"] =			new PaintingProduct(
											"Nebula Print",
											getPaintingUrl("nebula"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["copernicus"] =		new PaintingProduct(
											"Copernicus Print",
											getPaintingUrl("copernicus"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"15\" x 20\"",
											PRODUCT_TYPE_GICLEE);
	products["fleet"] =				new PaintingProduct(
											"The Fleet Print",
											getPaintingUrl("fleet"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											30.0,
											-1.0,
											"Open",
											"14&frac12;\" x 14&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["moonDragon"] =		new PaintingProduct(
											"Moon Dragon Print",
											getPaintingUrl("moonDragon"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"14&frac14;\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["starflight"] =		new PaintingProduct(
											"Starflight Print",
											getPaintingUrl("starflight"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17&frac12;\" x 21\"",
											PRODUCT_TYPE_GICLEE);
	products["archway"] =			new PaintingProduct(
											"The Archway Print",
											getPaintingUrl("archway"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"16.35\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["coincidence"] =		new PaintingProduct(
											"Coincidence Print",
											getPaintingUrl("coincidence"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["brainstorm"] =		new PaintingProduct(
											"Brainstorm Print",
											getPaintingUrl("brainstorm"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["wizard"] =			new PaintingProduct(
											"The Wizard Print",
											getPaintingUrl("wizard"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"14.3\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["earthAndFire"] =		new PaintingProduct(
											"Earth &amp; Fire Print",
											getPaintingUrl("earthAndFire"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["alchemist"] =			new PaintingProduct(
											"The Alchemist Print",
											getPaintingUrl("alchemist"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["timekeeper"] =		new PaintingProduct(
											"Timekeeper Print",
											getPaintingUrl("timekeeper"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["starChasers"] =		new PaintingProduct(
											"Star Chasers Print",
											getPaintingUrl("starChasers"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["ephesiansVI"] =		new PaintingProduct(
											"Ephesians VI Print",
											getPaintingUrl("ephesiansVI"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"16.35\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["tinker"] =			new PaintingProduct(
											"The Tinker Print",
											getPaintingUrl("tinker"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											30.0,
											-1.0,
											"Open",
											"13\" x 17\"",
											PRODUCT_TYPE_GICLEE);
	products["matthewVII"] =		new PaintingProduct(
											"Matthew VII Print",
											getPaintingUrl("matthewVII"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"16.35\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["ambassador"] =		new PaintingProduct(
											"The Ambassador Print",
											getPaintingUrl("ambassador"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["greenKnight"] =		new PaintingProduct(
											"The Green Knight Print",
											getPaintingUrl("greenKnight"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"19&frac14;\" x 19\"",
											PRODUCT_TYPE_GICLEE);
	products["dragonNebula"] =		new PaintingProduct(
											"Dragon Nebula Print",
											getPaintingUrl("dragonNebula"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["idleWorship"] =		new PaintingProduct(
											"Idle Worship Print",
											getPaintingUrl("idleWorship"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["spellbound"] =		new PaintingProduct(
											"Spellbound Print",
											getPaintingUrl("spellbound"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"14&frac14;\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["canyonlands"] =		new PaintingProduct(
											"Canyonlands Print",
											getPaintingUrl("canyonlands"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											30.0,
											-1.0,
											"Open",
											"12\" x 21\"",
											PRODUCT_TYPE_GICLEE);
	products["dragonflight"] =		new PaintingProduct(
											"Dragonflight Print",
											getPaintingUrl("dragonflight"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["fireWizard"] =		new PaintingProduct(
											"Fire Wizard Print",
											getPaintingUrl("fireWizard"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"14.3\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["dragonstorm"] =		new PaintingProduct(
											"Dragonstorm Print",
											getPaintingUrl("dragonstorm"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"14&frac12;\" x 21.13\"",
											PRODUCT_TYPE_GICLEE);
	products["raisingTheDragon"] =	new PaintingProduct(
											"Raising the Dragon Print",
											getPaintingUrl("raisingTheDragon"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"14.3\" x 21.45\"",
											PRODUCT_TYPE_GICLEE);
	products["seer"] =				new PaintingProduct(
											"Seer Print",
											getPaintingUrl("seer"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21.85\"",
											PRODUCT_TYPE_GICLEE);
	products["travelers"] =			new PaintingProduct(
											"Travelers Print",
											getPaintingUrl("travelers"),
											PRODUCT_AVAILABILITY_NOT_AVAILABLE,
											0.0,
											-1.0,
											null,
											null,
											null);
	products["petal"] =				new PaintingProduct(
											"Petal Print",
											getPaintingUrl("petal"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"19\" x 19.6\"",
											PRODUCT_TYPE_GICLEE);
	products["planetarius"] =		new PaintingProduct(
											"Planetarius Print",
											getPaintingUrl("planetarius"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21\"",
											PRODUCT_TYPE_GICLEE);
	products["visionary"] =			new PaintingProduct(
											"Visionary Print",
											getPaintingUrl("visionary"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"13.6\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
	products["cauldron"] =				new PaintingProduct(
											"The Cauldron Print",
											getPaintingUrl("cauldron"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"15\" x 20\"",
											PRODUCT_TYPE_GICLEE);
	products["dragonlandsII"] = 		new PaintingProduct(
											"Dragonlands II Print",
											getPaintingUrl("dragonlandsII"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"21.6\" x 16\"",
											PRODUCT_TYPE_GICLEE);
	products["dragonEscadrille"] =		new PaintingProduct(
											"Dragon Escadrille Print",
											getPaintingUrl("dragonEscadrille"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"21.6\" x 16\"",
											PRODUCT_TYPE_GICLEE);
	products["wizardsGallery"] =		new PaintingProduct(
											"Wizards Gallery Print",
											getPaintingUrl("wizardsGallery"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											50.0,
											-1.0,
											"Open",
											"17\" x 21&frac14;\"",
											PRODUCT_TYPE_GICLEE);
	products["sorcery"] =				new PaintingProduct(
											"Sorcery Print",
											getPaintingUrl("sorcery"),
											PRODUCT_AVAILABILITY_IN_STOCK,
											45.0,
											-1.0,
											"Open",
											"14.3\" x 21&frac12;\"",
											PRODUCT_TYPE_GICLEE);
		
	this.setProducts = ProductSet_setProducts;
	this.getProducts = ProductSet_getProducts;
	this.setProducts(products);
	
	this.getProduct = ProductSet_getProduct;
	
	return this;
}

function ProductSet_getProduct(key)
{
	return this.products[key];
}

function ProductSet_setProducts(products)
{
	this.products = products;
}

function ProductSet_getProducts()
{
	return this.products;
}