var gbl_ImageParts = null;
var gbl_ThumbCount = 6;
var gbl_ThumbOffset = 1;
var gbl_CompPosition = 0;
var gbl_ThumbPosition = 0;
var gbl_Xml = null;
var gbl_XmlDoc = null;

function SetImage(ctrl, imageUrl, suffix)
{
   
    for (i=0;i<ctrl.childNodes.length;i++)
    { 
        for (var j = 0; j < ctrl.childNodes[i].attributes.length; j++)
        {
            if (ctrl.childNodes[i].attributes[j].nodeName == "src")
            {
                ctrl.childNodes[i].attributes[j].nodeValue = imageUrl;
                return false;
            }
        }
    }
    return false;
}

function GetImageName(index)
{
	EnsureParts();
	
    if (index < 0) return "";
    if (index > gbl_ImageParts.length-1) return "";
	var xmlNode = gbl_ImageParts[index];
	for (var j = 0; j < xmlNode.attributes.length; j++) 
	{
		var ax = xmlNode.attributes[j];
		if (ax.name == "file")
			return ax.value;
	}
	return "";
}
function GetImageTitle(index)
{
	EnsureParts();
	var xmlNode = gbl_ImageParts[index];
	var thisTitle = "";
	for (var j = 0; j < xmlNode.attributes.length; j++) 
	{
		var ax = xmlNode.attributes[j];
		if (ax.name == "content")
		{
			thisTitle = ax.value;
			return thisTitle;
		}
	}
	return thisTitle;
}
function GetImageLocale(index)
{
	EnsureParts();
	var xmlNode = gbl_ImageParts[index];

	for (var j = 0; j < xmlNode.parentNode.attributes.length; j++) 
	{
		var ax = xmlNode.parentNode.attributes[j];
		if (ax.name == "locale")
		{
			return ax.value;
		}
	}
			
	return "";
}
function EnsureParts()
{
	if ((gbl_XmlDoc == null) && (gbl_Xml != null))
	{
		loadXML();
		if (gbl_XmlDoc != null)
			gbl_ImageParts = gbl_XmlDoc.getElementsByTagName("pic");
	}
}
function ThumbDown()
{
	EnsureParts();
	if (gbl_ThumbPosition > 0) 
	{
		gbl_ThumbPosition--;
		ShiftThumbs();
	}
	return false;
}
function ThumbUp()
{
	EnsureParts();
	if (gbl_ThumbPosition < (gbl_ImageParts.length -gbl_ThumbCount))
	{
		gbl_ThumbPosition++;
		ShiftThumbs();
	}
	return false;
}
function CompDown()
{
	EnsureParts();
	if (gbl_CompPosition > 0)
	{
		gbl_CompPosition--;
		DisplayNewComp();
	}
	return false;
}
function CompUp()
{
	EnsureParts();
	if (gbl_CompPosition < gbl_ImageParts.length-1)
	{
		gbl_CompPosition++;
		DisplayNewComp();
	}
	return false;
}
function loadXML()
{
	// code for IE
	if (window.ActiveXObject)
	{
		gbl_XmlDoc=new ActiveXObject("MSXML2.DOMDocument");
		if (gbl_XmlDoc == null)
            gbl_XmlDoc = new ActiveXObject("MSXML2.DOMDocument.4.0");

		if (gbl_XmlDoc == null)
            gbl_XmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");

		if (gbl_XmlDoc == null)
            gbl_XmlDoc = new ActiveXObject("Microsoft.XMLDOM");

		gbl_XmlDoc.async=false;
		gbl_XmlDoc.loadXML(gbl_Xml);
	}
	// code for Mozilla, Firefox, Opera, etc.
	else 
	
	if (document.implementation && document.implementation.createDocument)
	{
		var parser = new DOMParser(); 
		gbl_XmlDoc = parser.parseFromString(gbl_Xml, 'text/xml');
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
}			
function PickThumb(picIndex)
{
	gbl_CompPosition = picIndex;
	DisplayNewComp();
}
function DisplayNewComp()
{
	EnsureParts();
	var title = GetImageTitle(gbl_CompPosition);
	
	var name = GetImageName(gbl_CompPosition);
	var el = FindElement("imgCurrent");
	if (el != null) el.src = gbl_ImageTemplate.replace("%1", name);

	el = FindElement("lblFile");
	if (el != null) el.firstChild.data = name;

	el = FindElement("spnPicNumber");
	if (el != null) el.firstChild.data = gbl_CompPosition-0+1;
	
	el = FindElement("spnPicTitle");
	if (el != null) el.firstChild.data = title;

	el = FindElement("spnLocation");
	if (el != null) el.firstChild.data = GetImageLocale(gbl_CompPosition);


	gbl_ThumbPosition = gbl_CompPosition - gbl_ThumbOffset;
	if (gbl_ThumbPosition > gbl_ImageParts.length - gbl_ThumbCount)
		gbl_ThumbPosition = gbl_ImageParts.length - gbl_ThumbCount;

	if (gbl_ThumbPosition < 0)
		gbl_ThumbPosition = 0;
	ShiftThumbs();
	
	// Preload the comps on either side.
	name = GetImageName(gbl_CompPosition-0+1);
	if (name != "") 
	{
		img1 = new Image();
		img1.src = gbl_ImageTemplate.replace("%1", name);
	}

	name = GetImageName(gbl_CompPosition-0-1);
	if (name != "") 
	{
		img2 = new Image();
		img2.src = gbl_ImageTemplate.replace("%1", name);
	}

	
}
function ShiftThumbs()
{
	EnsureParts();
	for (var i = 0; i < gbl_ThumbCount; i++)
	{
		var curIndex = gbl_ThumbPosition + i;

		var elThis = FindElement("imgTh"+i);
		if (elThis != null)
		{
			elThis.src = gbl_ThumbTemplate.replace("%1", GetImageName(curIndex));
			elThis.alt = GetImageTitle(curIndex);
			elThis.border = (gbl_CompPosition == curIndex) ? "1" : "0";
		}
		elThis = FindElement("lnkTh"+i);
		if (elThis != null)
		{
			elThis.href = "Javascript:PickThumb(" + curIndex + ");";
		}
	} 
	return false;
}
function LoadEm()
{
	if (gbl_CompPosition != "")
		DisplayNewComp();
}
