//{{HH_SYMBOL_SECTION
var HH_ChmFilename = "C:\\CLASA\\Bolivia\\HTML\\Bolivia.chm";
var HH_WindowName = "NewWindow||main";
var HH_GlossaryFont = "";
var HH_Glossary = "0,1";
var HH_Avenue = "0,1";
var HH_ActiveX = true;
//}}HH_SYMBOL_SECTION

var gbNav4 = false;
var gbIE4 = false;
var gbIE = false;
var gbIE5 = false;
var gAgent = navigator.userAgent.toLowerCase(); 
var gbMac = (gAgent.indexOf("mac") != -1);
var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));

var error_count = 0;

gbIE = (navigator.appName.indexOf("Microsoft") != -1);
if (parseInt(navigator.appVersion) >= 4) {
	gbNav4 = (navigator.appName == "Netscape");
	gbIE4 = (navigator.appName.indexOf("Microsoft") != -1);

	if (gbIE4) {
		if (gAgent.indexOf("msie 5.0") != -1) {
			gbIE5 = true;
		}
	}
}

function HHActivateComponents()
{
	if (HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0])))
	{
		var objBody = document.all.tags("BODY")[0];
		objBody.insertAdjacentHTML("beforeEnd", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');
		if (HHComponentActivator.object)
		{
			HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue);
		}
	}
}

var gAmc = new Array();
var BSSCSequenceIndex = 0;

function clearAnimations()
{
	for (var index=0; index<gAmc.length; index++) {
		gAmc[index].finishAnimiation(index);
		clearTimeout(gAmc[index].tm);
	}
	gAmc = new Array();
}

function startNextAnimationSet()
{
	clearAnimations();
	bStarted = false;
	bFound = false

	// Determine the next sequence number
	divElements = document.all.tags("DIV");
	for (var index = 0; index < divElements.length; index++) 
	{
		el = divElements[index];
		objectOrder = el.getAttribute("BSSCObjectOrder", false);
		if(null != objectOrder)
		{
			objectOrder = parseInt(objectOrder);
			if (objectOrder > BSSCSequenceIndex && (!bFound || objectOrder < minBSSCSequenceIndexFound))
			{
				minBSSCSequenceIndexFound = objectOrder;
				bFound = true;
			}
		}
	}

	if (bFound)
	{
		BSSCSequenceIndex = minBSSCSequenceIndexFound;
		bStarted = startAnimationSet(BSSCSequenceIndex);
	}
}

function getOffsetFromTopOfBrowser(el)
{
	if (null == el.offsetParent)
		return el.offsetTop;
	else
		return el.offsetTop + getOffsetFromTopOfBrowser(el.offsetParent);
}

function startAnimationSet(ndx)
{
	var m = 0;
	bStarted = false;

	// Find document elements with "BSSCAnimationType" attribute
	divElements = document.all.tags("DIV");
	for (var index = 0; index < divElements.length; index++)
	{
		el = divElements[index];
		
		animationType = el.getAttribute("BSSCAnimationType", false);
		if(null != animationType)
		{
			framePeriod = el.getAttribute("BSSCFramePeriod", false);
			frameCount = el.getAttribute("BSSCFrameCount", false);
			sequenceIndex = el.getAttribute("BSSCObjectOrder", false);

			// Stop any currently running RevealTrans filters
			if ("RevealTrans" == animationType && parseInt(sequenceIndex) == ndx-1 && gbWindows)
				el.filters.RevealTrans.stop();  
			// Filter on ndx
			if (0 == ndx && null == sequenceIndex ||
				ndx == parseInt(sequenceIndex))
			{
				if ("FlyInFromRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = document.body.clientWidth + document.body.scrollLeft;
					gAmc[m].startY = 0;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = document.body.clientWidth + document.body.scrollWidth;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromLeft" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					for (childIndex=0; childIndex<el.children.length; childIndex++)
					{
						if ("left" == el.children[childIndex].style.textAlign)
							el.children[childIndex].style.textAlign = "right";
					}
					pixelsToTranslate = document.body.clientWidth;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = -(document.body.clientWidth + document.body.scrollLeft);
					gAmc[m].startY = 0;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToLeft" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					for (childIndex=0; childIndex<el.children.length; childIndex++)
					{
						if ("left" == el.children[childIndex].style.textAlign)
							el.children[childIndex].style.textAlign = "right";
					}
					pixelsToTranslate = document.body.clientWidth;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = -(document.body.clientWidth + document.body.scrollWidth);
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromBottom" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = document.body.clientHeight + document.body.scrollTop;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToBottom" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = document.body.clientHeight + document.body.scrollHeight;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromTop" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = -getOffsetFromTopOfBrowser(el) - el.offsetHeight;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToTop" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = -getOffsetFromTopOfBrowser(el) - el.offsetHeight;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromBottomRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					pixelsToTranslate = document.body.clientWidth + document.body.scrollLeft;
					if (document.body.clientHeight + document.body.scrollTop - el.offsetTop < pixelsToTranslate)
						pixelsToTranslate = document.body.clientHeight + document.body.scrollTop - el.offsetTop;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = pixelsToTranslate;
					gAmc[m].startY = pixelsToTranslate;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToBottomRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					pixelsToTranslate = document.body.clientWidth + document.body.scrollLeft;
					if (document.body.clientHeight + document.body.scrollTop - el.offsetTop < pixelsToTranslate)
						pixelsToTranslate = document.body.clientHeight +document.body.scrollTop - el.offsetTop;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = pixelsToTranslate;
					gAmc[m].finalY = pixelsToTranslate;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromTopRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					pixelsToTranslate = document.body.clientWidth;
					offsetFromTopOfBrowser = getOffsetFromTopOfBrowser(el);
					if (offsetFromTopOfBrowser + el.offsetHeight < pixelsToTranslate)
						pixelsToTranslate = offsetFromTopOfBrowser + el.offsetHeight;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = pixelsToTranslate;
					gAmc[m].startY = -pixelsToTranslate;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToTopRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					pixelsToTranslate = document.body.clientWidth;
					offsetFromTopOfBrowser = getOffsetFromTopOfBrowser(el);
					if (offsetFromTopOfBrowser + el.offsetHeight < pixelsToTranslate)
						pixelsToTranslate = offsetFromTopOfBrowser + el.offsetHeight;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = pixelsToTranslate;
					gAmc[m].finalY = -pixelsToTranslate;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromTopLeft" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					for (childIndex=0; childIndex<el.children.length; childIndex++)
					{
						if ("left" == el.children[childIndex].style.textAlign)
							el.children[childIndex].style.textAlign = "right";
					}
					pixelsToTranslate = document.body.clientWidth + document.body.scrollLeft;
					offsetFromTopOfBrowser = getOffsetFromTopOfBrowser(el);
					if (offsetFromTopOfBrowser + el.offsetHeight < pixelsToTranslate)
						pixelsToTranslate = offsetFromTopOfBrowser + el.offsetHeight;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = -pixelsToTranslate;
					gAmc[m].startY = -pixelsToTranslate;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToTopLeft" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					for (childIndex=0; childIndex<el.children.length; childIndex++)
					{
						if ("left" == el.children[childIndex].style.textAlign)
							el.children[childIndex].style.textAlign = "right";
					}
					pixelsToTranslate = document.body.clientWidth + document.body.scrollLeft;
					offsetFromTopOfBrowser = getOffsetFromTopOfBrowser(el);
					if (offsetFromTopOfBrowser + el.offsetHeight < pixelsToTranslate)
						pixelsToTranslate = offsetFromTopOfBrowser + el.offsetHeight;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = -pixelsToTranslate;
					gAmc[m].finalY = -pixelsToTranslate;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyInFromBottomLeft" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					for (childIndex=0; childIndex<el.children.length; childIndex++)
					{
						if ("left" == el.children[childIndex].style.textAlign)
							el.children[childIndex].style.textAlign = "right";
					}
					pixelsToTranslate = document.body.clientWidth + document.body.scrollLeft;
					if (document.body.clientHeight + document.body.scrollTop - el.offsetTop < pixelsToTranslate)
						pixelsToTranslate = document.body.clientHeight + document.body.scrollTop - el.offsetTop;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = -pixelsToTranslate;
					gAmc[m].startY = pixelsToTranslate;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("FlyOutToBottomLeft" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					for (childIndex=0; childIndex<el.children.length; childIndex++)
					{
						if ("left" == el.children[childIndex].style.textAlign)
							el.children[childIndex].style.textAlign = "right";
					}
					pixelsToTranslate = document.body.clientWidth + document.body.scrollLeft;
					if (document.body.clientHeight + document.body.scrollTop - el.offsetTop < pixelsToTranslate)
						pixelsToTranslate = document.body.clientHeight +document.body.scrollTop - el.offsetTop;
					gAmc[m] = new animationContext(el, progressTranslation, finishTranslation, animationDuration, 10);
					gAmc[m].startX = 0;
					gAmc[m].startY = 0;
					gAmc[m].finalX = -pixelsToTranslate;
					gAmc[m].finalY = pixelsToTranslate;
					animationPump(m++);
					bStarted = true;
				}
				if ("FadeIn" == animationType)
				{
					if (gbWindows)
					{
						animationDuration = el.getAttribute("BSSCDuration", false);
						if (null == animationDuration)
							animationDuration = 1000; // default to 1s
						finalOpacity = el.getAttribute("BSSCFinalOpacity", false);
						if (null == finalOpacity)
							finalOpacity = 100;
						initialOpacity = el.getAttribute("BSSCInitialOpacity", false);
						if (null == initialOpacity)
							initialOpacity = 0;
						gAmc[m] = new animationContext(el, progressFade, finishFade, animationDuration, 50);
						el.filters.opacity = initialOpacity;
						gAmc[m].initialOpacity = initialOpacity;
						gAmc[m].finalOpacity = finalOpacity;
						animationPump(m++);
						bStarted = true;
					} else {
						el.style.visibility = "";
					}
				}
				if ("Spiral" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s

					gAmc[m] = new animationContext(el, progressSpiral, finishTranslation, animationDuration, 10);
					gAmc[m].el.initLeft = el.offsetLeft+document.body.clientWidth;
					gAmc[m].el.initTop = document.body.scrollTop+el.offsetTop+document.body.clientHeight;
					gAmc[m].el.endLeft = gAmc[m].el.posLeft;
					gAmc[m].el.endTop  = gAmc[m].el.posTop;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					gAmc[m].steps = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("ElasticFromRight" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressElasticFromRight, finishTranslation, animationDuration, 10);
					gAmc[m].el.initLeft = el.offsetLeft+document.body.clientWidth;
					gAmc[m].el.initTop = gAmc[m].el.posTop;
					gAmc[m].el.endLeft = gAmc[m].el.posLeft;
					gAmc[m].el.endTop  = gAmc[m].el.posTop;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					gAmc[m].steps = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("ElasticFromBottom" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressElasticFromBottom, finishTranslation, animationDuration, 10);
					gAmc[m].el.initLeft = gAmc[m].el.posLeft;
					gAmc[m].el.initTop = document.body.scrollTop-el.offsetTop-el.offsetHeight;
					gAmc[m].el.endLeft = gAmc[m].el.posLeft;
					gAmc[m].el.endTop  = gAmc[m].el.posTop;
					gAmc[m].finalX = 0;
					gAmc[m].finalY = 0;
					gAmc[m].steps = 0;
					animationPump(m++);
					bStarted = true;
				}
				if ("ZoomIn" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressZoomIn, finishZoom, animationDuration, 10);
					gAmc[m].OldFont = gAmc[m].el.all[0].style.fontSize;
					animationPump(m++);
					bStarted = true;
				}
				if ("ZoomOut" == animationType)
				{
					animationDuration = el.getAttribute("BSSCDuration", false);
					if (null == animationDuration)
						animationDuration = 1000; // default to 1s
					gAmc[m] = new animationContext(el, progressZoomOut, finishZoom, animationDuration, 10);
					gAmc[m].OldFont = gAmc[m].el.all[0].style.fontSize;
					animationPump(m++);
					bStarted = true;
				}
				if ("RevealTrans" == animationType)
				{
					if (gbWindows) {
						Duration = el.getAttribute("BSSCDuration", false);
						if (null == Duration)
							Duration = 1000; // default to 1s
						Transition = el.getAttribute("BSSCTransition", false);
						if (null == Transition)
							Transition = 0;
						el.style.filter = "RevealTrans();";
						el.filters.RevealTrans.Transition = Transition;
						el.filters.RevealTrans.apply();
						el.style.visibility = ""; 
						el.filters.RevealTrans.play(parseInt(Duration)/1000.0);  
						bStarted = true;
					} else {
						el.style.visibility = "";
					}
				}
			}
		}
	}
	return bStarted;
}

function doStaticEffects()
{
	divElements = document.all.tags("DIV");
	for (var index = 0; index < divElements.length; index++)
	{
		el = divElements[index];
		
		dropShadowColor = el.getAttribute("BSSCDropShadowColor");
		if (null != dropShadowColor)
		{
			dropShadowXOffset = el.getAttribute("BSSCDropShadowXOffset");
			if (null == dropShadowXOffset)
				dropShadowXOffset = 0;
			dropShadowYOffset = el.getAttribute("BSSCDropShadowYOffset");
			if (null == dropShadowYOffset)
				dropShadowYOffset = 0;
			dropShadowColorName = el.getAttribute("BSSCDropShadowColorName");
			if ("Default" == dropShadowColorName)
				el.style.filter = "DropShadow(OffX=" + dropShadowXOffset + ", OffY=" + dropShadowYOffset + ")";
			else
				el.style.filter = "DropShadow(Color=" + dropShadowColor + ", OffX=" + dropShadowXOffset + ", OffY=" + dropShadowYOffset + ")";
		}
	}
}

function RemoveNavBar()
{
	// See if we are in a popup and if so remove the NavBar
	if (BSSCPopup_IsPopup()) {

		if (gbIE4) {
			var tempColl = document.all.tags("DIV");
			for (var iDiv = 0; iDiv < tempColl.length; iDiv++) {
				if (tempColl(iDiv).id == "NavBar") {
					tempColl(iDiv).style.visibility = gBsStyVisHide;
					if (gbIE5) {
						tempColl(iDiv).style.position = "absolute";
					}
					tempColl(iDiv).style.pixelTop = "-100px";
					break;
				}
			}
		} else if (gbNav4) {
			for (var iLayer = 0; iLayer < document.layers.length; iLayer++) {
				if (document.layers[iLayer].id == "NavBar") {
					document.layers[iLayer].visibility = gBsStyVisHide;
				}
			}
			if ((document.images.length > 0) && (document.images[0].src.indexOf('bsscnav1.gif') != -1)) {
				document.links[0].href = "javascript:void(null);";
			}
		}
	}
	
	return;
}



//////////////////////////////////////////////////////////////////////////////////////////////
//
//	Begin DHTML Popup Functions
//
//////////////////////////////////////////////////////////////////////////////////////////////
//variables used to isolate the browser type
var gBsDoc			= null;			
var gBsSty			= null;
var gBsHtm			= null;
var gBsStyVisShow	= null;
var gBsStyVisHide	= null;
var gBsClientWidth	= 640;
var gBsClientHeight = 480;
var gBsBrowser		= null;

//the browser information itself
function _BSPSBrowserItself()
{
	var agent  = navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.minor = parseFloat(navigator.appVersion);
	this.ns    = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)));
	this.ns2   = ((this.ns) && (this.major == 2));
	this.ns3   = ((this.ns) && (this.major == 3));
	this.ns4   = ((this.ns) && (this.major >= 4));
	this.ie	   = (agent.indexOf("msie") != -1);
	this.ie3   = ((this.ie) && (this.major == 2));
	this.ie4   = ((this.ie) && (this.major >= 4));
	this.op3   = (agent.indexOf("opera") != -1);

	if (this.ns4)
	{
		gBsDoc		= "document";
		gBsSty		= "";
		gBsHtm		= ".document";
		gBsStyVisShow	= "show";
		gBsStyVisHide	= "hide";

	}
	else if (this.ie4)
	{
		gBsDoc		 = "document.all";
		gBsSty 		= ".style";
		gBsHtm 		= "";
		gBsStyVisShow	= "visible";
		gBsStyVisHide	= "hidden";
	}
}

//Here is the browser type 
function _BSPSGetBrowserInfo()
{
	gBsBrowser	= new _BSPSBrowserItself();
}

//Get client size info
function _BSPSGetClientSize()
{
	if (gBsBrowser.ns4)
	{
		gBsClientWidth	= innerWidth;
		gBsClientHeight = innerHeight;

	}
	else if (gBsBrowser.ie4)
	{
		gBsClientWidth	= document.body.clientWidth;
		gBsClientHeight = document.body.clientHeight;
	}
}


var gstrPopupID = 'BSSCPopup';
var gstrPopupShadowID = 'BSSCPopupShadow';
var gstrPopupTopicID = 'BSSCPopupTopic';
var gstrPopupIFrameID = 'BSSCPopupIFrame';
var gstrPopupIFrameName = 'BSSCPopupIFrameName';

var gstrPopupSecondWindowName = 'BSSCPopup';

var	gPopupDiv = null;
var gPopupDivStyle = null;
var	gPopupShadow = null;
var	gPopupTopic = null;
var gPopupIFrame = null;
var gPopupIFrameStyle = null;
var gPopupWindow = null;
var gnPopupClickX = 0;
var gnPopupClickY = 0;

var gbPopupTimeoutExpired = false;

if (BSSCPopup_IsPopup()) {
	document.write("<base target=\"_parent\">");
}

function DHTMLPopupSupport()
{
	if ((gbIE4) && (!gbMac)) {
		return true;
	}
	return false;
}


function BSSCPopup_IsPopup()
{
	if (DHTMLPopupSupport() && (this.name == gstrPopupIFrameName)) {
		return true;
	} else if ((gbNav4 || gbIE4) && (this.name == gstrPopupID)) {
		return true;
	} else {
		return false;
	}
}

function _BSSCCreatePopupDiv()
{
	if (gPopupDiv == null) {
		if (DHTMLPopupSupport()) {
			document.write("<DIV ID='" + gstrPopupID + "' STYLE='position:absolute; width:0; height:0; top:-100; left:0; z-index:600; visibility:hidden;'>");
			document.write("<DIV ID='" + gstrPopupShadowID + "' STYLE=\"position:absolute;top:0; left:0;  width:0; height:0; background-color:#C0C0C0;\"></DIV>");
			document.write("<DIV ID='" + gstrPopupTopicID + "' STYLE=\"position:absolute;top:0; left:0;  width:0; height:0; background-color:#FFFFFF;border:1px #000000 outset;\">");
			document.write("<IFRAME ID='" + gstrPopupIFrameID + "' name='" + gstrPopupIFrameName + "' frameborder=0 scrolling=auto></IFRAME>");
			document.write("</DIV></DIV>");
			var tempColl = document.all.tags("DIV");
			for (var iDiv = 0; iDiv < tempColl.length; iDiv++) {
				if (tempColl(iDiv).id == gstrPopupID) {
					gPopupDiv = tempColl(iDiv);
				}
				if (tempColl(iDiv).id == gstrPopupShadowID) {
					gPopupShadow = tempColl(iDiv);
				}
				if (tempColl(iDiv).id == gstrPopupTopicID) {
					gPopupTopic = tempColl(iDiv);
				}
			}
			
			gPopupIFrame = eval("gPopupDiv.document.frames['" + gstrPopupIFrameName + "']");
			gPopupDivStyle = eval("gPopupDiv" + gBsSty);
			gPopupIFrameStyle = eval(gBsDoc + "['" + gstrPopupIFrameName + "']" + gBsSty);
		}
	}
}

function BSSCPopup_Timeout()
{
	if ((gPopupIFrame.document.readyState == "complete") &&
		(gPopupIFrame.document.body != null)) {
		BSSCPopup_TimeoutReal();
	} else {
		setTimeout("BSSCPopup_Timeout()", 100);
	}
}

function BSSCPopup_TimeoutReal()
{
	window.gbPopupTimeoutExpired = true;

	if (gPopupIFrame.document) {
		gPopupIFrame.document.body.onclick = BSSCPopupClicked;
	}
	document.onmousedown = BSSCPopupParentClicked;
}

function BSPSPopupTopicWinHelp(strURL)
{
	_BSSCPopup(strURL);
	return;
}

function _BSSCPopup(strURL)
{
	if (DHTMLPopupSupport()) {

		// If we are already in a popup, replace the contents
		if (BSSCPopup_IsPopup()) {

			location.href = strURL;
			parent.window.gbPopupTimeoutExpired = false;
			if (gbMac) {
				setTimeout("BSSCPopup_AfterLoad()", 400);
			} else {
				setTimeout("BSSCPopup_AfterLoad()", 100);
			}

		} else {

			// Load the requested URL into the IFRAME
			gPopupIFrame.location.href = strURL;
			window.gbPopupTimeoutExpired = false;
			if (gbMac) {
				setTimeout("BSSCPopup_AfterLoad()", 400);
			} else {
				setTimeout("BSSCPopup_AfterLoad()", 100);
			}
		}

	} else {

		if (window.name == gstrPopupSecondWindowName) {
			window.location = strURL;
		} else {

			BSSCHidePopupWindow();
			var nX = 0;
			var nY = 0;
			var nHeight = 300;
			var nWidth = 400;
			_BSPSGetClientSize();
			if (gBsBrowser.ns4) {
				nX = window.screenX + (window.outerWidth - window.innerWidth) + window.gnPopupClickX;
				nY = window.screenY + (window.outerHeight - window.innerHeight) + window.gnPopupClickY;
				if (nY + nHeight + 40 > screen.availHeight) {
					nY = screen.availHeight - nHeight - 40;
				}
				if (nX + nWidth + 40 > screen.availWidth) {
					nX = screen.availWidth - nWidth - 40;
				}
			} else {
				nX = window.gnPopupClickX;
				nY = window.gnPopupClickX;
			}

			// Launch a separate window
			var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,";
			strParam += "height=" + nHeight + ",width=" + nWidth;
			strParam += ",screenX=" + nX + ",screenY=" + nY;
			window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);
			if (gBsBrowser.ns4) {
				window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE);
				window.gPopupWindow.onclick = NonIEPopup_HandleClick;
				window.gPopupWindow.onblur = NonIEPopup_HandleBlur;
			}
			else if (gBsBrowser.ie4)
			{
				window.gPopupWindow.focus();
			}
		}
	}

	return;
}


function NonIEPopup_HandleBlur(e)
{
	window.gPopupWindow.focus();
}

function NonIEPopup_HandleClick(e)
{
	// Because navigator will give the event to the handler before the hyperlink, let's
	// first route the event to see if we are clicking on a Popup menu in a popup.
	document.routeEvent(e);

	// If a popup menu is active then don't do anything with the click
	if (window.gPopupWindow.gbInPopupMenu) {
		window.gPopupWindow.captureEvents(Event.CLICK);
		window.gPopupWindow.onclick = NonIEPopup_HandleClick;
		return false;
	}

	// Close the popup window
	if (e.target.href != null) {
		window.location.href = e.target.href;
		if (e.target.href.indexOf("BSSCPopup") == -1) {
			this.close();
		}
	} else {
		this.close();
	}
	return false;
}

function BSSCPopup_AfterLoad()
{
	if ((window.gPopupIFrame.document.readyState == "complete") &&
		(window.gPopupIFrame.document.body != null)) {
		BSSCPopup_ResizeAfterLoad();
	} else {
		setTimeout("BSSCPopup_AfterLoad()", 200);
	}
}

function BSSCPopup_ResizeAfterLoad()
{
	window.gPopupDivStyle.visibility = gBsStyVisHide;

	// Determine the width and height for the window
	var size = new BSSCSize(0, 0);
	BSSCGetContentSize(window.gPopupIFrame, size);
	var nWidth = size.x;
	var nHeight = size.y;
	_BSPSGetClientSize();
	if (nWidth > gBsClientWidth) {
		// Adjust the height by 1/3 of how much we are reducing the width
		var lfHeight = 1.0;
		lfHeight = (((nWidth / (gBsClientWidth - 20.0)) - 1.0) * 0.3333) + 1.0;
		lfHeight *= nHeight;
		nHeight = lfHeight;
		nWidth = gBsClientWidth - 20;
	}
	if (nHeight > gBsClientHeight * .67) {
		nHeight = gBsClientHeight / 2;
	}
	window.gPopupDivStyle.width = nWidth;
	window.gPopupDivStyle.height = nHeight;

	// Determine the position of the window
	var nClickX = window.gnPopupClickX;
	var nClickY = window.gnPopupClickY;
	var nTop = 0;
	var nLeft = 0;

	if (nClickY + nHeight + 20 < gBsClientHeight + document.body.scrollTop) {
		nTop = nClickY + 10;
	} else {
		nTop = (document.body.scrollTop + gBsClientHeight) - nHeight - 20;
	}
	if (nClickX + nWidth < gBsClientWidth + document.body.scrollLeft) {
		nLeft = nClickX;
	} else {
		nLeft = (document.body.scrollLeft + gBsClientWidth) - nWidth - 8;
	}
	if (nTop <0) nTop  = 1;
	if (nLeft<0) nLeft = 1;


	window.gPopupDivStyle.left = nLeft;
	window.gPopupDivStyle.top = nTop;

	// Set the location of the background blocks
	window.gPopupShadow.style.left = 6;
	window.gPopupShadow.style.top = 6;
	window.gPopupShadow.style.width = nWidth;
	window.gPopupShadow.style.height = nHeight;
	window.gPopupTopic.style.width = nWidth;
	window.gPopupTopic.style.height = nHeight;

	if (gbMac) {
		// Total hack on the iMac to get the IFrame to position properly
		window.gPopupIFrameStyle.pixelLeft = 100;
		window.gPopupIFrameStyle.pixelLeft = 0;
		// Explicitly call BSSCOnLoad because the Mac doesn't seem to do it
		window.gPopupIFrame.window.BSSCOnLoad();
	}
	window.gPopupIFrameStyle.width = nWidth;
	window.gPopupIFrameStyle.height = nHeight;

	window.gPopupDivStyle.visibility = gBsStyVisShow;

	setTimeout("BSSCPopup_Timeout();", 100);
	return false;
}

function	BSSCSize(x, y)
{
	this.x = x;
	this.y = y;
}

function BSSCGetContentSize(thisWindow, size)
{
	if (!((gBsBrowser.ie4) || (gBsBrowser.ns4)))
		return;

	if (gbMac) {
		size.x = 300;
		size.y = 300;
		return;
	}

	// Resize the width until it is wide enough to handle the content
	// The trick is to start wide and determine when the scrollHeight changes
	// because then we know a scrollbar is necessary. We can then go back
	// to the next widest size (for no scrollbar)
	size.x = 800;
	var y = 1;
	var x = 800;

	// This double resize causes the document to re-render (and we need it to)
	thisWindow.resizeTo(1, 1);
	thisWindow.resizeTo(1, 1);
	thisWindow.resizeTo(x, thisWindow.document.body.scrollHeight);
	thisWindow.resizeTo(x, thisWindow.document.body.scrollHeight);
	var miny = thisWindow.document.body.scrollHeight;
	size.y = miny;
//	alert('firstsizex :' + resizeInfo.RstX + "    firstsizey :" + resizeInfo.RstY);
	for (i = 7; i > 0; i--) {
		x = i * 100;
		thisWindow.resizeTo(x, miny);
		thisWindow.resizeTo(x, miny);
//		alert('testsizex :' + x + "    testsizey :" + miny);
		if ((thisWindow.document.body.scrollHeight > miny) ||
		    (thisWindow.document.body.scrollWidth > x)) {
			x = (i + 1) * 100;
			thisWindow.resizeTo(x, y);
			thisWindow.resizeTo(x, y);
			size.x = thisWindow.document.body.scrollWidth + 20;
			size.y = thisWindow.document.body.scrollHeight + 20;
			break;
		}
	}

	// Handle absurd cases just in case IE flakes
	if (size.y < 100) {
		size.y = 100;
	}
//	alert('sizex :' + size.x + "    sizey :" + size.y);
	thisWindow.resizeTo(size.x, size.y);
	thisWindow.resizeTo(size.x, size.y);

	return;
}

function BSSCPopupParentClicked() {
	BSSCPopupClicked();
	return;
}


function BSSCPopupClicked() {
	if (!window.gbPopupTimeoutExpired)
		return false;

	if (gPopupIFrame.window.gbInPopupMenu)
		return false;

	// Give the user a message about javascript calls through objects.
	if ((gPopupIFrame.window.event != null) &&
	    (gPopupIFrame.window.event.srcElement != null) &&
	    (gPopupIFrame.window.event.srcElement.tagName == "A") &&
	    (gPopupIFrame.window.event.srcElement.href.indexOf("javascript:") == 0) &&
	    (gPopupIFrame.window.event.srcElement.href.indexOf(".") != -1)) {
		gPopupIFrame.window.event.cancelBubble = true;
		alert('Hyperlinks to objects do not work in popups.');
		return false;
	}

	if (gPopupIFrame.document)
		gPopupIFrame.document.body.onclick = null;

	document.onclick = null;
	document.onmousedown = null;

	// Simply hide the popup
	gPopupDivStyle.visibility = gBsStyVisHide;

	return true;
}

//trace the mouse over's position for hotspot
function  BSPSPopupOnMouseOver(event) {
	if (gBsBrowser.ie4) {
		window.gnPopupClickX = event.clientX + document.body.scrollLeft;
		window.gnPopupClickY = event.clientY + document.body.scrollTop;
	} else if (gBsBrowser.ns4) {
		window.gnPopupClickX = event.pageX;
		window.gnPopupClickY = event.pageY;
	}
}

var gbPopupMenuTimeoutExpired = false;
var gbInPopupMenu = false;
var gbPopupMenuTopicList = null;

//////////////////////////////////////////////////////////////////////////////////////////
//
// Popup Menu code
//
//////////////////////////////////////////////////////////////////////////////////////////


// If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.js)
function PopupMenu_SetTopicList(aPopupTopicArray){
	gbPopupMenuTopicList = aPopupTopicArray;
}


function BSSCPopup_ClickMac()
{
	if ((!DHTMLPopupSupport()) && (gbIE4))
	{	
		var bClickOnAnchor = false;
		var el;
		if ((window.event != null) &&
		    (window.event.srcElement != null))
		{
		    el = window.event.srcElement;
			while (el != null)
			{
				if ((el.tagName == "A") || (el.tagName == "AREA")) 	{
					bClickOnAnchor = true;
					break;
				}
				if (el.tagName == "BODY") {
					break;
				}
				el = el.parentElement;
			}
		}
		if (BSSCPopup_IsPopup())
		{
			if (!bClickOnAnchor) {
				parent.window.gPopupWindow = null;
				self.close();
			}
		}
		else
		{
			bClosePopupWindow = true;
			if ((bClickOnAnchor) &&
				(el.href) &&
			    (el.href.indexOf("javascript:BSSCPopup") != -1))
			{
				bClosePopupWindow = false;
			}
			if (bClosePopupWindow)
			{
				if (window.gPopupWindow != null)
				{
					var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400";
					window.gPopupWindow = window.open("", gstrPopupSecondWindowName,strParam);
					window.gPopupWindow.close();
					window.gPopupWindow = null;
				}
			}
		}
	}
}

_BSPSGetBrowserInfo();

function _BSSCOnLoad()
{
	if (!gbIE4 && !gbNav4)
		return;

	// Make everything visible in navigator
	if (gbNav4) {
		// Make some special effects items visible
		for (var iLayer = 0; iLayer < document.layers.length; iLayer++) {
			document.layers[iLayer].visibility = gBsStyVisShow;
			document.layers[iLayer].left = 0;
		}
	}

	// Remove the NavBar if necessary
	RemoveNavBar();
		
	// Don't continue without IE4
	if (gbIE4) {
		HHActivateComponents();
		doStaticEffects();
		startAnimationSet(0);
	}
}

function _BSSCOnUnload()
{
}

function _BSSCOnClick()
{
	if (!gbIE4)
		return;

	BSSCPopup_ClickMac();
	startNextAnimationSet();
}

//////////BSSCDHTML Section Embedded Code//////////
var s_strAgent = navigator.userAgent.toLowerCase();
var s_nVer	   = parseInt(navigator.appVersion);

var s_bIE  = (s_strAgent.indexOf('msie') != -1);
var s_bNS  = (s_strAgent.indexOf('mozilla') != -1) && ((s_strAgent.indexOf('spoofer') == -1) && (s_strAgent.indexOf('compatible') == -1));
var s_bOpera	= (s_strAgent.indexOf('opera') != -1);

var s_bIE3Before = ((s_bIE) && (s_nVer <= 2));
var s_bNS3Before = ((s_bNS) && (s_nVer <= 3));

var s_bNS2		= ((s_bNS) && (s_nVer <= 2));
var s_bNS3		= ((s_bNS) && (s_nVer == 3));
var s_bIE300301	= ((s_bIE) && (s_nVer == 2) && ((s_strAgent.indexOf("3.00") != -1)||(s_strAgent.indexOf("3.0a") != -1)||(s_strAgent.indexOf("3.0b")!=-1)||(s_strAgent.indexOf("3.01")!=-1)));
var s_bIE302	= ((s_bIE) && (s_nVer == 2) && (s_strAgent.indexOf("3.02") != -1));

function HasExtJs()
{
	if (s_bIE3Before) { return false;}
	if (s_bNS3Before) {	return false;}
	if (typeof (_BSSCOnLoad) == "undefined"){ return false; }
	return true;
}

function BSSCOnLoad(){
	if (HasExtJs()) { _BSSCOnLoad(); }
}

function BSSCOnUnload(){
	if (HasExtJs()) { _BSSCOnUnload(); }
}

function BSSCOnClick(){
	if (HasExtJs()) { _BSSCOnClick(); }
}

function BSSCCreatePopupDiv(){
	if (HasExtJs()) {_BSSCCreatePopupDiv();	}
}

function BSSCPopup(strURL){
	if (HasExtJs())
		_BSSCPopup(strURL);
	else{
		//Create a temporary window first to ensure the real popup comes up on top
		var wndTemp = null;
		if (!s_bNS3) {
			wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");
		}
		// Create the real popup window
		var wndPopup = window.open(strURL, "PopupWindow", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400");
		// Close the temporary
		if (!s_bNS3)
			wndTemp.close();
		else
			wndPopup.focus();
	}
}