// interactive.js

function detectBrowser() {
    var BO = new Object();
    BO["ie"]        = false /*@cc_on || true @*/;
    BO["ie4"]       = BO["ie"] && (document.getElementById == null);
    BO["ie5"]       = BO["ie"] && (document.namespaces == null) && (!BO["ie4"]);
    BO["ie6"]       = BO["ie"] && (window.external && (typeof window.XMLHttpRequest == "undefined"));
    BO["ie55"]      = BO["ie"] && (document.namespaces != null) && (!BO["ie6"]);
	BO["ie7"] 		= (BO["ie"] && document.implementation != null && document.compatMode != null && window.XMLHttpRequest != null)
    BO["ns4"]       = !BO["ie"] &&  (document.layers != null) &&  (window.confirm != null) && (document.createElement == null);
    BO["opera"]     = (self.opera != null);
    BO["gecko"]     = (document.getBoxObjectFor != null);
    BO["khtml"]     = (navigator.vendor == "KDE");
    BO["konq"]      = ((navigator.vendor == 'KDE') || (document.childNodes) && (!document.all) && (!navigator.taintEnabled));
    BO["safari"]    = (document.childNodes) && (!document.all) && (!navigator.taintEnabled) && (!navigator.accentColorName);
    BO["safari1.2"] = (parseInt(0).toFixed == null) && (BO["safari"] && (window.XMLHttpRequest != null));
    BO["safari2.0"] = (parseInt(0).toFixed != null) && BO["safari"] && !BO["safari1.2"];
    BO["safari1.1"] = BO["safari"] && !BO["safari1.2"] && !BO["safari2.0"];
    return BO;
}

var BO = new detectBrowser();

// dodgy IE
var isBadIE = (BO['ie'] && (BO["ie4"] || BO["ie5"] || BO["ie6"] || BO["ie55"]) && !BO['ie7']);

var houses = new Array();
// filename, windows, door left, top, width, height, window left,top,width,height...
// houses[houses.length] = new Array("1.jpg", 77, 117, 47, 104);
houses[houses.length] = new Array("2.jpg", 2, 4, new Array(140, 131, 30, 67), new Array(123, -18, 30, 40), new Array(196, -58, 32, 39), new Array(108, -13, 19, 29), new Array(195, -46, 34, 38));
houses[houses.length] = new Array("3.jpg", 3, 4, new Array(125, 145, 35, 78), new Array(124, -18, 37, 38), new Array(217, -52, 40, 37), new Array(88, 1, 21, 33), new Array(213, -45, 55, 53));
//houses[houses.length] = new Array("4.jpg", 77, 117, 47, 104);
houses[houses.length] = new Array("5.jpg", 5, 4, new Array(77, 117, 47, 104), new Array(119, -72, 43, 40), new Array(199, -110, 44, 40), new Array(175, -66, 68, 57), new Array(1, 1, 1, 1));
//houses[houses.length] = new Array("6.jpg", 217, 140, 33, 83);
//houses[houses.length] = new Array("7.jpg", 217, 140, 33, 83);
houses[houses.length] = new Array("8.jpg", 8, 4, new Array(127, 139, 37, 90), new Array(201, -55, 93, 39), new Array(122, -5, 70, 114), new Array(212, -119, 128, 77), new Array(1, 1, 1, 1));

var windowStyle = "oak";
var currentHouse = 0;
var windowObjects = new Array();

function onLoad()
{
	windowObjects = new Array(document.getElementById("iwin1"), document.getElementById("iwin2"), document.getElementById("iwin3"),document.getElementById("iwin4"));
	showHouse();
}

function showHouse()
{
	document.getElementById("houseText").innerHTML = "House " + (currentHouse + 1);

	var doorObject = document.getElementById("idoor");

	doorObject.style.visibility = "hidden";
	doorObject.style.display = "none";

	windowObjects[0].style.visibility = "hidden";
	windowObjects[1].style.visibility = "hidden";
	windowObjects[2].style.visibility = "hidden";
	windowObjects[3].style.visibility = "hidden";

	windowObjects[0].style.display = "none";
	windowObjects[1].style.display = "none";
	windowObjects[2].style.display = "none";
	windowObjects[3].style.display = "none";

	document.getElementById("ihouse").style.background = "url('images/houses/" + houses[currentHouse][0] + "')";

	doorObject.style.left = houses[currentHouse][3][0] + "px";
	doorObject.style.top = houses[currentHouse][3][1] + "px";
	doorObject.style.width = houses[currentHouse][3][2] + "px";
	doorObject.style.height = houses[currentHouse][3][3] + "px";

	setWindowStyle(windowStyle);

	showDoorImage();

	doorObject.style.visibility = "visible";
	doorObject.style.display = "block";
}

function nextHouse()
{

	currentHouse++;

	if (isBadIE && currentHouse == 3) currentHouse++;

	if (currentHouse >= houses.length)
	{
		currentHouse = 0;
	}

	showHouse();
}

function previousHouse()
{
	currentHouse--;

	if (currentHouse < 0)
	{
		currentHouse = houses.length - 1;
	}

	if (isBadIE && currentHouse == 3) currentHouse--;

	showHouse();
}

String.prototype.ucwords = function()
{
   // Split the string into words if string contains multiple words.
   var x = this.split(/\s+/g);
   for(var i = 0; i < x.length; i++)
   {
      // Splits the word into two parts. One part being the first letter,
      // second being the rest of the word.
      var parts = x[i].match(/(\w)(\w*)/);

      // Put it back together but uppercase the first letter and lowercase the rest of thw word.
      x[i] = parts[1].toUpperCase() + parts[2].toLowerCase();
   }

   // Rejoin the string and return.
   return x.join(' ');
};

var currentFrame = 1;
var currentDoor = 0;
var doorArrayIndex = 0;

function showDoorImage()
{
	var shortName = doors[doorArrayIndex][currentDoor].substring(0, doors[doorArrayIndex][currentDoor].length - 4).ucwords();

	if (doorArrayIndex == 0)
	{
		document.getElementById("doorImage").src = "images/interactivedoors/cosmopolitan/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("idoor").src = "images/interactivedoors/cosmopolitan/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("paneltype").value = "Cosmopolitan - " + shortName;
		document.getElementById("doorText").innerHTML = "Cosmopolitan<br />" + shortName;
	}
	else if (doorArrayIndex == 1)
	{
		document.getElementById("doorImage").src = "images/interactivedoors/perfectiondoors/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("idoor").src = "images/interactivedoors/perfectiondoors/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("paneltype").value = "Perfection Doors - " + shortName;
		document.getElementById("doorText").innerHTML = "Perfection Doors<br />" + shortName;
	}
	else if (doorArrayIndex == 2)
	{
		document.getElementById("doorImage").src = "images/interactivedoors/plainbackingglass/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("idoor").src = "images/interactivedoors/plainbackingglass/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("paneltype").value = "Plain Backing Glass - " + shortName;
		document.getElementById("doorText").innerHTML = "Plain Backing Glass<br />" + shortName;
	}
	else if (doorArrayIndex == 3)
	{
		document.getElementById("doorImage").src = "images/interactivedoors/rock/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("idoor").src = "images/interactivedoors/rock/" + doors[doorArrayIndex][currentDoor];
		document.getElementById("paneltype").value = "Rockdoor - " + shortName;
		document.getElementById("doorText").innerHTML = "Rockdoor<br />" + shortName;
	}

	document.getElementById("doorIndex").value = doorArrayIndex;
}

function nextDoor()
{
	currentDoor++;

	if (currentDoor >= doors[doorArrayIndex].length)
	{
		currentDoor = 0;
		doorArrayIndex++;

		if (doorArrayIndex >= doors.length)
		{
			doorArrayIndex = doors.length - 1;
			currentDoor = doors[doorArrayIndex].length - 1;
		}
	}

	showDoorImage();
}

function previousDoor()
{
	currentDoor--;

	if (currentDoor < 0)
	{
		doorArrayIndex--;

		if (doorArrayIndex < 0)
		{
			doorArrayIndex = 0;
			currentDoor = 0;
		}
		else
		{
			currentDoor = doors[doorArrayIndex].length - 1;
		}
	}

	showDoorImage();
}

function addDoor()
{
	location.href = "quotes.php?doorIndex=" + doorArrayIndex + "&" + "currentDoor=" + currentDoor;
}

function setWindowStyle(style)
{
	windowStyle = style;

	for (var loop = 0; loop < houses[currentHouse][2]; loop++)
	{
		windowObjects[loop].style.left = houses[currentHouse][4 + loop][0] + "px";
		windowObjects[loop].style.top = houses[currentHouse][4 + loop][1] + "px";
		windowObjects[loop].style.width = houses[currentHouse][4 + loop][2] + "px";
		windowObjects[loop].style.height = houses[currentHouse][4 + loop][3] + "px";

		windowObjects[loop].src = "images/interactivewindows/" + houses[currentHouse][1] + "/" + windowStyle + (loop + 1) + ".gif";

		windowObjects[loop].style.visibility = "visible";
		windowObjects[loop].style.display = "block";
	}
}
