var currentActiveMenu = null;
var nextActiveMenu = null;
var imageSpecifier = "";
var imageSel = "";
var selReady = 0;
var surfaceNames;


//////////////////////////////////////////////////////////////////////////////////////////////////////


function updateImage(specifier, sel)
{
	imageSpecifier = specifier;
	imageSel = sel;
	selReady = 0;
	AJAXReplace("renderedimagescreen", "showimage.cfm?specifier=" + imageSpecifier + "&sel=" + imageSel);
	deactivateMenu(currentActiveMenu);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function flipChamImageLoad(filename)
{
	document.getElementById('load' + filename).style.display = 'none'; document.getElementById('image' + filename).style.display = 'inline';
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function showEnlargeAndPrint(specifier, sel)
{
	var windowHandle = window.open("enlarge.cfm?specifier=" + specifier + "&sel=" + sel, "enlargeandprintwindow", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=790,height=550,top=5,left=5");
	windowHandle.focus();
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function GetXmlHttpObject(handler)
{ 
	var objXMLHttp = null;
	if(window.XMLHttpRequest)
	{
		objXMLHttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}	

//////////////////////////////////////////////////////////////////////////////////////////////////////

	
function AJAXReplace_OLD(elementid, url)
{
	var xmlHttp = GetXmlHttpObject();
	var baseElement = document.getElementById(elementid);
	if(xmlHttp == null || baseElement == null)
	{
		return;
	}
	baseElement.innerHTML = "Loading, please wait...";
	baseElement.xmlHttpObject = xmlHttp;
	eval("baseElement.xmlHttpFunction = function() { baseElement = document.getElementById(\"" + elementid + "\"); if(baseElement.xmlHttpObject.readyState==4 || baseElement.xmlHttpObject.readyState==\"complete\")	{ 			baseElement.innerHTML = baseElement.xmlHttpObject.responseText;	} }");
	xmlHttp.onreadystatechange = baseElement.xmlHttpFunction;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////

function AJAXReplace(elementid, url)
    {
	    var xmlHttp = GetXmlHttpObject();
	    var baseElement = document.getElementById(elementid);
	    if(xmlHttp == null || baseElement == null)
	    {
		    return;
	    }
	    baseElement.innerHTML = "Loading, please wait...";
	    baseElement.xmlHttpObject = xmlHttp;
	    //eval("baseElement.xmlHttpFunction = function() { baseElement = document.getElementById(\"" + elementid + "\"); if(baseElement.xmlHttpObject.readyState==4 || baseElement.xmlHttpObject.readyState==\"complete\"){ baseElement.innerHTML = baseElement.xmlHttpObject.responseText;	} }");
	    //eval("baseElement.xmlHttpFunction = function() { baseElement = document.getElementById(\"" + elementid + "\"); if(baseElement.xmlHttpObject.readyState==4 || baseElement.xmlHttpObject.readyState==\"complete\"){ var wrappingDiv = document.createElement('div');  wrappingDiv.innerHTML = baseElement.xmlHttpObject.responseText;  baseElement.appendChild(wrappingDiv);} }");
	    baseElement.xmlHttpFunction = function() 
	    {
	        baseElement = document.getElementById(elementid);
	        if(baseElement.xmlHttpObject.readyState==4 || baseElement.xmlHttpObject.readyState=="complete")
	        {
	            var wrappingDiv = document.createElement('div');
	            wrappingDiv.innerHTML = baseElement.xmlHttpObject.responseText;
	            baseElement.innerHTML = "";
	            baseElement.appendChild(wrappingDiv);
	        }
	    }
	    xmlHttp.onreadystatechange = baseElement.xmlHttpFunction;
	    xmlHttp.open("GET", url, true);
	    xmlHttp.send(null);
    }

//////////////////////////////////////////////////////////////////////////////////////////////////////

	
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function prepMenu(elementid)
{
	var menuElement = document.getElementById(elementid);
	if(menuElement)
	{
		menuElement.destinationWidth = 200;
		menuElement.currentWidth = 0;
		menuElement.speedWidth = 20;
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function moveMenu(elementid)
{
	var menuElement = document.getElementById(elementid);
	if(menuElement)
	{
		if(menuElement.destinationWidth < (menuElement.currentWidth - menuElement.speedWidth))
		{
			menuElement.currentWidth -= menuElement.speedWidth;
			menuElement.style.width = menuElement.currentWidth + "px";		
			setTimeout("moveMenu('" + elementid + "');", 50);
		}
		else if(menuElement.destinationWidth > (menuElement.currentWidth + menuElement.speedWidth))
		{
			menuElement.currentWidth += menuElement.speedWidth;
			menuElement.style.width = menuElement.currentWidth + "px";	
			setTimeout("moveMenu('" + elementid + "');", 50);
		}
		else
		{
			if(menuElement.destinationWidth < 1)
			{
				menuElement.style.visibility = "hidden";
			}
			menuElement.currentWidth = menuElement.destinationWidth;
			menuElement.style.width = menuElement.currentWidth + "px";		
			if(currentActiveMenu == elementid && menuElement.destinationWidth <= 0)
			{
				currentActiveMenu = null;
			}
			if(nextActiveMenu)
			{
				activateMenu(nextActiveMenu);
				nextActiveMenu = null;
			}
		}
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////////////



function activateMenu(elementid)
{
	if(currentActiveMenu)
	{
		nextActiveMenu = elementid;
		deactivateMenu(currentActiveMenu);
	}
	else {
		var menuElement = document.getElementById(elementid);
		if(menuElement)
		{
			if(!(menuElement.currentY))
			{
				prepMenu(elementid);
			}
			menuElement.destinationWidth = 200;
			menuElement.style.visibility = "visible";
			currentActiveMenu = elementid;
			setTimeout("moveMenu('" + elementid + "');", 50);
		}
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////


function deactivateMenu(elementid)
{
	var menuElement = document.getElementById(elementid);
	if(menuElement)
	{
		if(!menuElement.currentY)
		{
			prepMenu(menuElement);
		}
		menuElement.destinationWidth = 0;
		setTimeout("moveMenu('" + elementid + "');", 50);
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function showStyleSearch()
{
	if(currentActiveMenu == "stylesearchmenu")
	{
		deactivateMenu("stylesearchmenu")
	}
	else
	{
		AJAXReplace("stylesearchmenuinner", "vismenu_stylesearch.cfm");
		activateMenu("stylesearchmenu");
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function showTypeSearch()
{
	if(currentActiveMenu == "typesearchmenu")
	{
		deactivateMenu("typesearchmenu")
	}
	else
	{
		AJAXReplace("typesearchmenuinner", "vismenu_typesearch.cfm");
		activateMenu("typesearchmenu");
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////

function showColorSearch()
{
	if(currentActiveMenu == "colorsearchmenu")
	{
		deactivateMenu("colorsearchmenu")
	}
	else
	{
		AJAXReplace("colorsearchmenuinner", "vismenu_colorsearch.cfm");
		activateMenu("colorsearchmenu");
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////

function showAddRegion()
{
    if(currentActiveMenu == "addregionmenu")
    {
        deactivateMenu("addregionmenu")
    }
    else
    {
        //AJAXReplace("stylesearchmenuinner", "vismenu_stylesearch.cfm");
        activateMenu("addregionmenu");
    }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////

function showDeleteRegion()
{
    // First make sure we have a selected Region
    if(currentActiveMenu == "deleteregionmenu")
    {
        deactivateMenu("deleteregionmenu")
    }
    else
    {
        //AJAXReplace("stylesearchmenuinner", "vismenu_stylesearch.cfm");
        activateMenu("deleteregionmenu");
    }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////



function showPaintColorSearch()
{
	if(currentActiveMenu == "paintcolorsearchmenu")
	{
		deactivateMenu("paintcolorsearchmenu")
	}
	else
	{
		AJAXReplace("paintcolorsearchmenuinner", "vismenu_paintcolorsearch.cfm");
		activateMenu("paintcolorsearchmenu");
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


function setupPage()
{
}
	

//////////////////////////////////////////////////////////////////////////////////////////////////////


window.onload = setupPage;