	
	var status = "waiting";
	var changeInt;
	var lastText;
	var newImage;
	var panel0;
	var panel1;
	var panelArray = new Array();
	var scrollObject;
	var scrollInt;

	function debug(textIn) {
		var debugDiv = document.getElementById("debugDiv");
		if (debugDiv) {
			debugDiv.innerHTML = textIn+"<br/>"+debugDiv.innerHTML;
		}
	}
	function checkChange() {
		if (status == "waiting") {
			changeInt = setInterval("textChange()",10);
			status = "checking";
		}
	}
	function textChange() {
		clearInterval(changeInt);
		var curPanel = panelArray[1];
		for (var i=0;i<panelArray.length;i++) {
			var curPanel = panelArray[i];
			panelArray[i].checkChange2(false);
		}
		status = "waiting";
	}
	function loadFirst(plID,showChars,sID) {
		debug("sID: "+sID);
		addPanel(plID,sID);
		if (showChars) {
			panelArray[0].showCharacters();
		}
	}
	function resizeToInner(w, h) {
		// make sure we have a final x/y value
		// pick one or the other windows value, not both
		var inner = getInnerSize();
		var outer = getOuterSize();
		var dw = Number(outer[0]) - Number(inner[0]);
		var dh = Number(outer[1]) - Number(inner[1]);
		// lert("before inner: "+inner[0]+"  "+inner[1]+"  outer: "+outer[0]+" "+outer[1]);
		var wth = w+dw;
		var hgt = h+dh;
		window.resizeTo(wth,hgt);
		// window.resizeTo(1000,50);
		setTimeout("checkSize("+w+","+h+","+wth+","+hgt+")",100);
	}
	function checkSize(w,h,wth,hgt) {
		var inner = getInnerSize();
		var outer = getOuterSize();
		// lert(wth+"  "+hgt+"after inner: "+inner[0]+"  "+inner[1]+"  outer: "+outer[0]+" "+outer[1]);
		var newW,newH;
		if (inner[0] < w) {
			// lert("width wrong! "+w+"  "+inner[0]);
			newW = wth + (w - inner[0]);
		}
		else {
			newW = wth;
		}
		if (inner[1] < h) {
			newH = hgt + (h - inner[1]);
		}
		else {
			newH = hgt;
		}
		window.resizeTo(newW,newH);
	}


	function getOuterSize() {
		if (window.outerWidth) {
  			winW = window.outerWidth;
  			winH = window.outerHeight;
 	 	}
		else if (document.documentElement && document.documentElement.clientHeight) {
			winW = document.documentElement.clientWidth;
			winH = document.documentElement.clientHeight;
		}
		else if (document.body) {
			winW = document.body.clientWidth;
			winH = document.body.clientHeight;
		}
		// winW += 13;
		// winH += 85;
		return [winW,winH];
	}
	function getInnerSize () {
		var x,y;
		if (self.innerHeight) // all except Explorer
		{
		//	lert("section 1");
			x = self.innerWidth;
			y = self.innerHeight;
		}
		else if (document.documentElement && document.documentElement.clientHeight) {
		//	lert("section 2");
			x = document.documentElement.clientWidth + 15; // accounts for lack of scrollbar inclusion
			y = document.documentElement.clientHeight;
		}
		else if (document.body) {
		//	lert("section 3");
			x = document.body.clientWidth;
			y = document.body.clientHeight;
		}
		return [x,y];
	}
	function addPanel(plID,styleID) {
	 	var newHeight = 192 + (1.0 * panelArray.length + 1) *  134 + 70;
		// resizeToInner(800, newHeight);
		// setTimeout('resizeToInner(817,'+newHeight+')', 1000);
		var ua = navigator.userAgent.toLowerCase()
		var newWidth = 816;
		if ((ua.indexOf("windows") != -1)&&(ua.indexOf("chrome") != -1)) {
			newWidth = 817;
		}
/*
		if ((ua.indexOf("windows") != -1)&&(ua.indexOf("msie") != -1)) {
			newWidth = 800;
		}
*/
		resizeToInner(newWidth, newHeight);
		if (panelArray.length > 0) {
			var curFP = panelArray[panelArray.length-1];
			var newPlID = curFP.plID;
			var myFileArray = fileArray[curFP.plID];
			var curSID = curFP.getCurrentStyleID();
			var nextStyle = 0;
			try { 
				for (var i=0;i<myFileArray.length;i++) {
					var fileNameParts = myFileArray[i].split(":");
					var sID = fileNameParts[0];
					if (curSID == sID) {
							var fileNameParts = myFileArray[i+1].split(":");
						var newStyleID = fileNameParts[0];
					}
				}
			}
			catch (excep) {
// they are probably at the last style
				var newStyleID = 0;
			}
			debug("new style: "+newStyleID);
		}
		else {
			var newPlID = plID;
			var newStyleID = styleID;
		}
		var fontList= document.getElementById("fontList");
		debug("new styleID: "+newStyleID);
		 fontList.style.overflow = "hidden";
		var newPanel =  new fontPanel(panelArray.length,"panel"+panelArray.length,newPlID,newStyleID);
		panelArray.push(newPanel);
		fontList.appendChild(newPanel.draw());
	}
	function loadPL(myQuery) {
		var myRecords = myQuery.getRecords();
		var nextPlID = myRecords[0].getPropertyValue("plID");
		var fontList= document.getElementById("fontList");
		var newPanel =  new fontPanel(panelArray.length,"panel"+panelArray.length,nextPlID,0);
		panelArray.push(newPanel);
		fontList.appendChild(newPanel.draw());
	}
	function scrollCS(scrollObjectIn,speed) {
		if (scrollInt)  clearInterval(scrollInt);
		scrollObject = scrollObjectIn;
		scrollInt = setInterval("doScroll("+speed+")",10);
	}
	function doScroll(speed) {
		scrollObject.moveCharacters(speed);
	}
	function stopScrollCS(speed) {
		scrollObject.moveCharacters(speed);
		clearInterval(scrollInt);
	}

