function loader(){	document.write("<form>")	document.write("<input type=button value='Make a control panel.'")	document.write(" onClick=interpretData()>")	document.write("</input>")	document.write("<input type=hidden value='encode'")	document.write(" onClick=reCodeData()>")	document.write("</input>")	document.write("<input type=hidden value='decode'")	document.write(" onClick=deCodeData()>")	document.write("</input>")	document.write("<input type=reset value='Clear the data area.'>")	document.write("</input>")	document.write("<input type=button value='Load pocket data.'")	document.write(" onClick=planter('pocketChange')>")	document.write("</input>")	document.write("<input type=button value='Load jar data.'")	document.write(" onClick=planter('jarChange')>")	document.write("</input>")	document.write("<br>")	document.write("<textarea name='theDataArea'")	document.write(" rows=20")	document.write(" cols=50")	document.write(">")	document.write("</textarea>")	document.write("</form>")}function planter(whichData){	if(whichData=="pocketChange"){	simPaste="year%09mass%09mint%0D1993%092.5009%09Denver%0D1995%092.4806%09Philadelphia%0D1994%092.5593%09Denver%0D1973%093.0508%09Denver%0D1992%092.5544%09Philadelphia%0D1993%092.4995%09Denver%0D1991%092.5087%09Philadelphia%0D1997%092.4972%09Philadelphia%0D1971%093.0571%09Philadelphia%0D1996%092.4854%09Denver%0D1979%093.0699%09Philadelphia%0D1984%092.5736%09Philadelphia%0D1992%092.4905%09Denver%0D1986%092.4707%09Denver%0D1996%092.4665%09Denver%0D1996%092.5120%09Philadelphia%0D1989%092.4921%09Denver%0D1980%093.0965%09Denver%0D1997%092.5020%09Philadelphia%0D1991%092.5022%09Philadelphia%0D1997%092.5258%09Philadelphia%0D1988%092.4792%09Denver%0D1994%092.4925%09Denver%0D1996%092.4964%09Denver%0D1986%092.5394%09Denver%0D1993%092.4950%09Denver%0D1978%093.1434%09Philadelphia%0D1996%092.5130%09Philadelphia%0D1990%092.5351%09Denver%0D1988%092.4983%09Denver%0D1997%092.4999%09Philadelphia%0D1987%092.5098%09Philadelphia%0D1984%092.5477%09Philadelphia%0D1997%092.4951%09Denver%0D1983%092.4685%09Philadelphia%0D1995%092.4773%09Denver%0D1978%093.0897%09Philadelphia%0D1991%092.5052%09Denver%0D1973%093.1722%09Denver%0D1988%092.5303%09Denver%0D1985%092.5997%09Denver%0D1974%093.0205%09Denver%0D1964%093.0571%09Denver%0D1968%093.1061%09Denver%0D1997%092.4968%09Philadelphia%0D1967%093.1129%09Philadelphia%0D1996%092.4936%09Denver%0D1990%092.4548%09Philadelphia%0D1994%092.4811%09Philadelphia%0D1997%092.4888%09Denver%0D1995%092.5093%09Denver%0D1982%093.0948%09Denver%0D1995%092.4833%09Denver%0D1997%092.4817%09Philadelphia%0D1986%092.4624%09Denver%0D1970%093.1012%09Denver%0D1987%092.5502%09Denver%0D1997%092.5027%09Philadelphia%0D1964%093.1418%09Denver%0D1996%092.5075%09Denver%0D1974%093.0477%09Denver%0D1997%092.5134%09Denver%0D1997%092.5069%09Philadelphia%0D1997%092.5039%09Denver%0D1986%092.4970%09Denver%0D1976%093.0548%09Philadelphia%0D1997%092.4979%09Denver%0D1989%092.5107%09Philadelphia%0D1983%092.6212%09Denver%0D1993%092.4722%09Denver%0D1982%093.1036%09Denver%0D1966%093.0600%09Philadelphia%0D1985%092.5504%09Philadelphia%0D1964%093.0971%09Philadelphia%0D1971%093.1258%09Denver%0D1976%093.1344%09Philadelphia%0D1997%092.5046%09Philadelphia%0D1987%092.5040%09Philadelphia%0D1987%092.5479%09Denver%0D1994%092.5023%09Denver%0D1996%092.5217%09Denver%0D1981%093.0966%09Denver%0D1993%092.5215%09Denver%0D1996%092.5141%09Philadelphia%0D1997%092.5281%09Denver%0D1973%093.0704%09Philadelphia%0D1984%092.5798%09Philadelphia%0D1973%093.0351%09Philadelphia%0D1996%092.4872%09Denver%0D1987%092.4878%09Denver%0D1989%092.5156%09Philadelphia%0D1997%092.4929%09Philadelphia%0D1996%092.5129%09Denver%0D1980%093.1111%09Denver%0D1982%093.0760%09Denver%0D1970%093.1184%09Denver%0D1975%093.0891%09Denver%0D1980%093.1286%09Philadelphia%0D1982%093.0488%09Philadelphia%0D1970%093.1239%09Denver%0D1996%092.5638%09Denver%0D1976%093.0576%09Denver%0D1996%092.4944%09Philadelphia%0D1991%092.4998%09Philadelphia%0D1980%093.0628%09Philadelphia%0D1980%093.1091%09Denver%0D1993%092.5090%09Denver%0D1971%093.0490%09Denver%0D1996%092.4932%09Philadelphia%0D1997%092.5169%09Philadelphia%0D1987%092.5070%09Philadelphia%0D1976%093.0841%09Denver%0D1992%092.4871%09Philadelphia%0D1985%092.4983%09Denver%0D1990%092.5001%09Philadelphia%0D1995%092.4937%09Philadelphia%0D1994%092.4846%09Denver%0D1992%092.5347%09Denver%0D1996%092.4847%09Denver%0D1985%092.5647%09Philadelphia%0D1996%092.5318%09Denver%0D1991%092.4930%09Denver%0D1997%092.5031%09Denver%0D1997%092.4923%09Philadelphia%0D1996%092.4723%09Denver%0D1997%092.4985%09Philadelphia%0D1972%093.0842%09Denver%0D1973%093.0732%09Denver%0D1997%092.4831%09Denver%0D1966%093.1076%09Philadelphia%0D1995%092.4550%09Denver%0D1996%092.5166%09Denver%0D1995%092.5109%09Philadelphia%0D1983%092.5281%09Denver%0D1982%092.5150%09Philadelphia%0D1993%092.4937%09Denver%0D1985%092.5139%09Denver%0D1979%093.1294%09Denver%0D1997%092.4996%09Philadelphia%0D1981%093.0654%09Philadelphia%0D1968%093.2171%09Denver%0D1990%092.5077%09Philadelphia%0D1990%092.5133%09Philadelphia%0D1996%092.5072%09Denver%0D1960%092.9850%09Philadelphia%0D1991%092.4736%09Denver%0D1992%092.5444%09Denver%0D1997%092.4973%09Philadelphia%0D1987%092.4908%09Philadelphia%0D1992%092.4979%09Denver%0D1993%092.4946%09Denver%0D1995%092.4892%09Philadelphia%0D1994%092.5284%09Denver%0D1961%093.1399%09Philadelphia%0D1993%092.4958%09Denver%0D1992%092.4993%09Denver%0D1997%092.5218%09Denver%0D1974%093.1075%09Denver%0D1997%092.4792%09Denver%0D1989%092.5326%09Philadelphia%0D1996%092.5130%09Denver%0D1981%093.0791%09Philadelphia%0D1992%092.4918%09Denver%0D1985%092.5105%09Philadelphia%0D1993%092.5259%09Denver%0D1996%092.5136%09Philadelphia%0D1976%093.0625%09Denver%0D1997%092.4953%09Denver%0D1996%092.5102%09Denver%0D1984%092.5367%09Denver%0D1977%093.1102%09Denver%0D1980%093.0623%09Denver%0D1984%092.5112%09Philadelphia%0D1990%092.4784%09Denver%0D1970%093.1105%09Denver%0D1989%092.4863%09Denver%0D1997%092.4948%09Denver%0D1997%092.5025%09Philadelphia%0D1971%093.1139%09Denver%0D1967%093.0872%09Philadelphia%0D1974%093.0775%09Philadelphia%0D1976%093.0828%09Denver%0D1969%093.0666%09Denver%0D1983%092.5640%09Philadelphia%0D1981%093.1000%09Denver%0D1994%092.4931%09Philadelphia%0D1974%093.0971%09Philadelphia%0D1996%092.5598%09Denver%0D1997%092.5257%09Philadelphia%0D1997%092.5036%09Philadelphia%0D1981%093.0584%09Denver%0D1979%093.0934%09Denver%0D1993%092.5194%09Philadelphia%0D1997%092.4903%09Denver%0D1981%093.0242%09Denver%0D1983%092.5037%09Philadelphia%0D1984%092.5362%09Philadelphia%0D1996%092.5053%09Denver%0D1978%093.1328%09Denver%0D1990%092.5573%09Denver%0D1995%092.5009%09Denver%0D1994%092.4978%09Philadelphia%0D1964%093.0534%09Denver%0D1968%093.1118%09Denver%0D1966%093.1359%09Philadelphia%0D1997%092.5022%09Denver%0D1980%093.1236%09Denver%0D1974%093.0703%09Denver%0D1996%092.5300%09Denver%0D1997%092.4983%09Philadelphia%0D1993%092.4766%09Denver%0D1996%092.5355%09Denver%0D1984%092.5211%09Philadelphia%0D1995%092.4965%09Philadelphia%0D1976%093.0848%09Denver%0D1996%092.5184%09Denver%0D1997%092.5350%09Denver%0D1994%092.5089%09Denver%0D1991%092.4832%09Philadelphia%0D1994%092.5204%09Denver%0D1995%092.5219%09Denver%0D1995%092.5169%09Denver%0D1989%092.5175%09Philadelphia%0D1996%092.5326%09Denver%0D1997%092.5083%09Denver%0D1997%092.4919%09Denver%0D1982%093.0785%09Denver%0D1996%092.4989%09Denver%0D1997%092.4981%09Denver%0D1990%092.4783%09Philadelphia%0D1997%092.5015%09Denver%0D1982%093.0499%09Philadelphia%0D1989%092.5353%09Denver%0D1994%092.4971%09Philadelphia%0D1995%092.5018%09Denver%0D1970%093.1000%09Denver%0D1995%092.4955%09Denver%0D1995%092.5193%09Philadelphia%0D1997%092.4874%09Philadelphia%0D1992%092.4702%09Philadelphia%0D1997%092.5103%09Denver%0D1997%092.5027%09Denver%0D1982%093.0779%09Denver%0D1997%092.5067%09Denver%0D1997%092.4822%09Denver%0D1973%093.1032%09Denver%0D1984%092.5040%09Denver%0D1994%092.5101%09Denver%0D1994%092.5296%09Philadelphia%0D1977%093.1001%09Denver"	}	if(whichData=="jarChange"){	simPaste="year%09mass%09mint%0D1944%093.0501%09Philadelphia%0D1943%092.7607%09Philadelphia%0D1942%093.0350%09Philadelphia%0D1940%093.1549%09Philadelphia%0D1946%093.0651%09Philadelphia%0D1952%093.0680%09Denver%0D1943%092.8465%09Philadelphia%0D1942%093.1204%09Philadelphia%0D1943%092.8095%09Philadelphia%0D1945%093.1426%09Philadelphia%0D1946%093.0627%09Philadelphia%0D1926%093.0253%09Philadelphia%0D1958%093.1279%09Denver%0D1941%093.0567%09Philadelphia%0D1945%093.0609%09Philadelphia%0D1920%093.0631%09Philadelphia%0D1953%093.1602%09Denver%0D1946%093.1036%09Philadelphia%0D1941%093.1234%09San_Francisco%0D1946%093.1422%09Philadelphia%0D1945%093.1316%09Philadelphia%0D1945%092.9691%09Philadelphia%0D1943%092.7292%09Philadelphia%0D1930%093.0239%09Philadelphia%0D1955%093.1479%09Denver%0D1942%092.9992%09Philadelphia%0D1943%092.5337%09Philadelphia%0D1940%093.1997%09Philadelphia%0D1946%093.1003%09Philadelphia%0D1944%093.0822%09Philadelphia%0D1952%093.0534%09Denver%0D1941%093.0600%09Philadelphia%0D1943%092.7149%09Philadelphia%0D1943%092.6906%09Philadelphia%0D1955%093.1322%09Denver%0D1945%093.1078%09Philadelphia%0D1953%093.2103%09Denver%0D1945%093.0578%09Philadelphia%0D1946%093.0631%09Philadelphia%0D1945%093.1155%09Philadelphia%0D1950%093.0906%09Denver%0D1944%093.1329%09Philadelphia%0D1934%093.0450%09Philadelphia%0D1946%093.0920%09Philadelphia%0D1956%093.0466%09Denver%0D1955%093.1384%09Denver%0D1942%093.0663%09Philadelphia%0D1949%093.1203%09Denver%0D1957%093.0619%09Denver%0D1945%093.0297%09Philadelphia%0D1946%093.1077%09Denver%0D1944%093.0801%09Philadelphia%0D1942%093.1007%09Philadelphia%0D1940%093.0905%09Philadelphia%0D1943%092.6999%09Philadelphia%0D1946%093.0935%09Philadelphia%0D1942%093.0902%09Philadelphia%0D1943%092.8192%09Philadelphia%0D1955%093.1355%09Denver%0D1940%093.0704%09Philadelphia%0D1943%092.5810%09Philadelphia%0D1944%093.0545%09Philadelphia%0D1920%093.0674%09Philadelphia%0D1946%093.0837%09Philadelphia%0D1948%093.1172%09Philadelphia%0D1940%093.0903%09Philadelphia%0D1940%092.9856%09Philadelphia%0D1943%092.7133%09Denver%0D1944%093.0592%09Philadelphia%0D1940%093.3514%09Philadelphia%0D1943%092.6549%09Denver%0D1943%092.7990%09Philadelphia%0D1940%093.1331%09San_Francisco%0D1951%093.0595%09Denver%0D1946%093.1310%09Philadelphia%0D1953%093.1554%09Denver%0D1944%093.1008%09Philadelphia%0D1940%093.0737%09Philadelphia%0D1941%093.1293%09Denver%0D1945%093.1189%09Philadelphia%0D1945%093.1227%09Philadelphia%0D1951%093.0970%09Denver%0D1946%093.0581%09Philadelphia%0D1941%093.0284%09Philadelphia%0D1946%093.0755%09Philadelphia%0D1946%093.0876%09Denver%0D1944%093.1178%09Philadelphia%0D1944%093.1076%09Philadelphia%0D1942%093.0604%09Philadelphia%0D1944%092.9609%09Philadelphia%0D1943%092.6744%09Philadelphia%0D1946%092.9934%09Philadelphia%0D1945%093.0981%09Philadelphia%0D1942%093.1219%09Philadelphia%0D1945%093.0945%09Philadelphia%0D1945%093.1012%09Philadelphia%0D1949%093.0225%09Philadelphia%0D1944%093.0866%09Philadelphia%0D1948%093.0597%09Philadelphia%0D1946%093.1015%09Philadelphia%0D1955%093.0984%09Denver%0D1952%093.1352%09Denver%0D1952%093.0442%09Denver%0D1925%093.0330%09Philadelphia%0D1949%093.0653%09Philadelphia%0D1944%093.0627%09Philadelphia%0D1945%093.1516%09Philadelphia%0D1947%093.0856%09Denver%0D1916%093.0590%09Philadelphia%0D1953%093.1190%09Denver%0D1951%093.1356%09Denver%0D1934%093.1474%09Philadelphia%0D1941%093.0827%09Philadelphia%0D1943%092.6750%09Philadelphia%0D1946%093.0582%09Philadelphia%0D1926%093.0975%09Philadelphia%0D1946%093.0854%09Philadelphia%0D1951%093.0675%09Philadelphia%0D1940%093.0102%09Philadelphia%0D1918%093.0780%09Philadelphia%0D1944%093.0781%09Philadelphia%0D1947%093.1223%09Philadelphia%0D1946%093.0924%09Philadelphia%0D1944%093.0105%09Philadelphia%0D1929%093.0114%09Philadelphia%0D1943%092.7354%09Denver%0D1947%093.0969%09Denver%0D1945%093.0596%09Philadelphia%0D1956%093.0993%09Denver%0D1920%093.0657%09Philadelphia%0D1944%093.1126%09Philadelphia%0D1925%093.0694%09Philadelphia%0D1951%093.1080%09Denver%0D1954%093.1074%09Denver%0D1951%093.0377%09Denver%0D1953%093.0777%09Denver%0D1930%093.0696%09Philadelphia%0D1943%092.6201%09Philadelphia%0D1950%093.0696%09Denver%0D1943%092.7669%09Philadelphia%0D1941%093.0426%09Philadelphia%0D1943%092.7347%09Denver%0D1952%093.0742%09Denver%0D1953%093.1052%09Denver%0D1950%093.0170%09Philadelphia%0D1943%092.6352%09Denver%0D1935%093.0888%09Philadelphia%0D1951%093.1579%09Denver%0D1943%092.7998%09Philadelphia%0D1950%093.0803%09Philadelphia%0D1953%093.0161%09Denver%0D1944%093.1336%09Philadelphia%0D1943%092.7558%09Philadelphia%0D1940%093.0282%09Philadelphia%0D1942%093.1166%09Philadelphia%0D1943%092.7393%09Denver%0D1944%093.1027%09Philadelphia%0D1942%093.1166%09Philadelphia%0D1945%093.0857%09Philadelphia%0D1954%093.1939%09Denver%0D1957%093.0329%09Denver%0D1929%092.9461%09Philadelphia%0D1944%093.1733%09Philadelphia%0D1920%093.0001%09Philadelphia%0D1941%093.1589%09San_Francisco%0D1951%092.9879%09Denver%0D1953%093.1320%09Denver%0D1946%093.1038%09Philadelphia%0D1946%093.1156%09Philadelphia%0D1946%093.1662%09Philadelphia%0D1955%093.0781%09Denver%0D1955%093.1058%09Denver%0D1951%093.1896%09Denver%0D1945%093.1121%09Philadelphia%0D1953%093.0840%09Denver%0D1934%093.0337%09Philadelphia%0D1952%093.0489%09Denver%0D1950%092.9599%09Philadelphia%0D1953%092.8764%09Philadelphia%0D1936%093.0795%09Philadelphia%0D1958%093.0805%09Denver%0D1937%093.0542%09Philadelphia%0D1952%093.1931%09Denver%0D1945%093.0486%09Philadelphia%0D1951%093.1908%09Denver%0D1949%093.0435%09Philadelphia%0D1937%092.9970%09Philadelphia%0D1953%093.1201%09Denver%0D1941%093.1762%09Philadelphia%0D1940%093.0575%09Philadelphia%0D1921%092.9889%09San_Francisco%0D1950%093.0724%09San_Francisco%0D1946%093.1072%09Philadelphia%0D1944%093.0980%09Philadelphia%0D1942%093.0942%09Philadelphia%0D1944%093.0622%09Philadelphia%0D1955%093.0610%09Denver%0D1946%093.0528%09San_Francisco%0D1944%093.0948%09Philadelphia%0D1936%093.0265%09Philadelphia%0D1958%093.1378%09Denver%0D1944%093.1424%09Philadelphia%0D1944%093.0689%09Philadelphia%0D1953%093.0895%09Philadelphia%0D1940%093.0894%09Philadelphia%0D1935%093.0469%09Philadelphia%0D1944%093.0867%09Philadelphia%0D1944%093.0521%09Philadelphia%0D1946%093.1049%09Philadelphia%0D1934%093.1066%09Philadelphia%0D1942%093.0575%09Philadelphia%0D1956%093.0908%09Denver%0D1945%093.0966%09Philadelphia%0D1952%093.1074%09Denver%0D1938%093.0505%09Philadelphia%0D1952%093.0804%09Denver%0D1945%092.9444%09Philadelphia%0D1944%093.0831%09Denver%0D1951%093.1166%09Philadelphia%0D1948%093.1059%09Denver%0D1950%093.1309%09Denver%0D1936%092.9818%09Philadelphia%0D1946%093.0743%09Philadelphia%0D1951%093.1141%09Denver%0D1941%093.1003%09Philadelphia%0D1958%093.1158%09Denver%0D1952%093.1259%09Denver%0D1941%093.1561%09Philadelphia%0D1940%093.0931%09Philadelphia%0D1941%093.0792%09Philadelphia%0D1956%093.0856%09Denver%0D1952%093.0531%09Denver%0D1936%093.1447%09Philadelphia%0D1952%093.1563%09Denver%0D1945%093.0675%09Philadelphia%0D1957%093.0634%09Denver%0D1930%093.0469%09Philadelphia%0D1926%093.0743%09Philadelphia%0D1947%093.0929%09Denver%0D1919%093.1042%09Philadelphia%0D1944%093.0569%09Philadelphia%0D1940%093.0845%09Philadelphia%0D1944%093.0940%09Philadelphia%0D1948%093.0831%09Philadelphia%0D1920%092.9884%09Philadelphia%0D1956%093.1204%09Denver%0D1951%093.0096%09Philadelphia%0D1925%092.9057%09Philadelphia%0D1948%093.1342%09Denver%0D1944%093.0947%09Philadelphia"	}	document.forms[0].elements[6].value=""	document.forms[0].elements[6].value=unescape(simPaste)}function reCodeData(){	theData=document.forms[0].elements[6].value	reCodedData=escape(theData)	document.forms[0].elements[6].value=reCodedData}function deCodeData(){	theData=document.forms[0].elements[6].value	deCodedData=unescape(theData)	document.forms[0].elements[6].value=deCodedData}function interpretData(){	theData=document.forms[0].elements[6].value	codedData=escape(theData)	colCount=0	rowCount=1	for(i=0;i<codedData.length;i++){		x=codedData.substring(i,codedData.length)		retLoc=x.indexOf("%0D")		if(retLoc!=-1){			rowCount++			i+=retLoc+2		}		if(retLoc==-1){break}	}	for(i=0;i<codedData.indexOf("%0D");i++){		x=codedData.substring(i,codedData.length)		tabLoc=x.indexOf("%09")		if(tabLoc!=-1){			colCount++			i+=tabLoc+2		}		if(tabLoc==-1){break}	}	loadArrays()}function loadArrays(){	rowArray=new Array(rowCount)	rowStart=0	leftOverRow=codedData	for(i=0;i<rowCount;i++){		leftOverRow=leftOverRow.substring(rowStart,leftOverRow.length)		rowEnd=leftOverRow.indexOf("%0D")		if(rowEnd!=-1){			rowContent=leftOverRow.substring(0,rowEnd)		}		if(rowEnd==-1){			rowContent=leftOverRow.substring(0,leftOverRow.length)		}		rowArray[i]=new Array(colCount)		cellStart=0		leftOverCell=rowContent		for(j=0;j<colCount;j++){			leftOverCell=leftOverCell.substring(cellStart,leftOverCell.length)			cellEnd=leftOverCell.indexOf("%09")			if(cellEnd!=-1){				cellContent=leftOverCell.substring(0,cellEnd)			}			if(cellEnd==-1){				cellContent=leftOverCell.substring(0,leftOverCell.length)			}			rowArray[i][j]=cellContent			cellStart=cellEnd+3		}		rowStart=rowEnd+3	}	colArray=new Array(colCount)	for(i=0;i<colCount;i++){		colArray[i]=new Array(rowCount)		for(j=0;j<rowCount;j++){			colArray[i][j]=rowArray[j][i]		}	}	setTypes()}function setTypes(){	typeArray=new Array(colCount)	for(i=0;i<colCount;i++){		typeArray[i]=new Array(2)		typeArray[i][0]="continuous"		for(j=1;j<rowCount;j++){			x=parseFloat(colArray[i][j])			if(x.toString()=="NaN"){				typeArray[i][0]="discrete"				break			}		}	}	setRanges()}function setRanges(){	cutOff=1	for(i=0;i<colCount;i++){		if(typeArray[i][0]=="discrete"){			checkArray=new Array(colArray[i].length)			for(x=0;x<colArray[i].length;x++){				checkArray[x]=colArray[i][x]			}			catCount=0			for(j=1;j<rowCount;j++){				if(checkArray[j]!=""){					toCheck=checkArray[j]					for(k=j+1;k<rowCount;k++){						if(checkArray[k]==toCheck){							checkArray[k]=""						}					}					catCount++				}			}			typeArray[i][1]=new Array(catCount)			address=0			for(j=1;j<rowCount;j++){				if(checkArray[j]!=""){					check=checkArray[j]					typeArray[i][1][address]=check					for(k=j+1;k<rowCount;k++){						if(checkArray[k]==check){							checkArray[k]=""						}					}					address++				}			}		}		if(typeArray[i][0]=="continuous"){			typeArray[i][1]=new Array(3)			maxVal=0;minVal=999999999			for(j=1;j<rowCount;j++){				minVal=Math.min(minVal,colArray[i][j])				maxVal=Math.max(maxVal,colArray[i][j])			}			typeArray[i][1][0]=minVal			typeArray[i][1][1]=maxVal			gh=maxVal.toString()			ghIndex=""			for(x=0;x<gh.length;x++){				if(x==gh.length-1){ghIndex+=1;break}				if(gh.charAt(x)=="."){ghIndex+="."}				if(gh.charAt(x)!="."){ghIndex+="0"}			}			typeArray[i][1][2]=eval(ghIndex)		}	}	//alert(typeArray)	controlPanel()}function memWarn(){	memWarning="Start with low resolution and work upwards.  Higher resolution drains your browser's allocated memory sooner; and then the browser crashes."	cPw.alert(memWarning)}function errorWarn(){	errorWarning="If you get an error when you try to make a graph, change the graph resolution, and try again."	cPw.alert(errorWarning)}function controlPanel(){	cPw=open("","cPw","status=yes","resizable=yes")	cP=cPw.document	cP.open("text/html")	cP.write("<title>Control Panel</title>")	cP.bgColor="ffffff"	cP.write("<form>")	cP.write("<input type=button value='Make a graph.'")	cP.write("onClick=opener.eyeCuts()>")	cP.write("</input>")	cP.write("<a href=javascript:opener.errorWarn()><font color='990000'><b>")	cP.write("HOW TO HANDLE ERROR MESSAGES")	cP.write("</b></font></a>")	cP.write("<input type=hidden value='Clear graph'")	//cP.write("onClick=opener.clearHist()>")	cP.write("</input>")	cP.write("<input type=hidden value='Reset'")	//cP.write("onClick=opener.clearCont()>")	cP.write("</input><br>")	cP.write("<table cellpadding=0 cellspacing=0 border=1>")	cP.write("<font size=2><b>Graph resolution (bins / 300-pixel graph)</b></font><br>")	binRes=new Array(20,25,30,50,60,75,100,150,300)	theRes=20	for(df=0;df<binRes.length;df++){		cP.write("<td align=center><font size=1>")		cP.write(binRes[df])		cP.write("<br>")		cP.write("<input type=radio name=binRes ")		if(df==0){cP.write("checked ")}		cP.write("value="+(300/binRes[df]))		cP.write(" onClick=opener.setRes("+(300/binRes[df])+")>")		cP.write("</input></font></td>")	}	cP.write("<td>")	cP.write("<a href=javascript:opener.memWarn()>")	cP.write("<font color='990000'><b>MEMORY WARNING</b></font>")	cP.write("</a>")	cP.write("</td>")	cP.write("</table>")	gScale=0	cP.write("<table cellpadding=0 cellspacing=0 border=1>")	cP.write("<font size=2><b>Scale</b></font><br>")	cP.write("<td align=center><font size=1>")	cP.write("LOCKED ON MAXIMUM")	cP.write("<input type=radio checked name=gScale0 ")	cP.write("value=0 onClick=opener.setScale(0)>")	cP.write("</input></font></td>")	cP.write("<td align=center><font size=1>")	cP.write("AUTOMATIC RESCALING")	cP.write("<input type=radio name=gScale0 ")	cP.write("value=2 onClick=opener.setScale(2)>")	cP.write("</input></font></td>")	cP.write("</table>")	cP.write("<table cellpadding=0 cellspacing=0 border=1>")	cP.write("<font size=2><b>Distribution along x-axis</b></font><br>")	distChecked=false	for(j=0;j<typeArray.length;j++){	     if(typeArray[j][0]=="continuous"){		cP.write("<td align=center><font size=1>")		cP.write(colArray[j][0].toUpperCase())		cP.write("<input type=radio name=dispVar ")		if(distChecked==false){			cP.write("checked ")			distChoice=j			distChecked=true		}		cP.write("value="+colArray[j][0])		cP.write(" onClick=opener.setDist("+j+")>")		cP.write("</input></font></td>")	     }	}	cP.write("</table>")	cP.write("</form>")	rwCnt=0;rwMx=10	for(j=0;j<typeArray.length;j++){		if(typeArray[j][0]=="discrete"){			cP.write("<form>")			cP.write("<table border=1 cellspacing=0 cellpadding=0>")			cP.write("<td align=right>")			cP.write("<font color=000000 size=3><b>")			cP.write(colArray[j][0].toUpperCase())			cP.write("</b></font>")			cP.write("<br>")			cP.write("<a href=javascript:opener.allIn("+j+")>")			cP.write("<font color=005500 size=2>")			cP.write("<b>IN</b>")			cP.write("</font>")			cP.write("</a>")			cP.write("<br>")			cP.write("<a href=javascript:opener.allOut("+j+")>")			cP.write("<font color=990000 size=2> ")			cP.write("<b>OUT</b>")			cP.write("</font>")			cP.write("</a>")			cP.write("</td>")			for(i=0;i<typeArray[j][1].length;i++){				rwCnt++				cP.write("<td><center><font size=1>")				cP.write(typeArray[j][1][i].toUpperCase())				cP.write("</font><br>")				cP.write("<input name="+colArray[j][0]+i)				cP.write(" value="+typeArray[j][1][i])				cP.write(" type=radio checked>")				cP.write("<br>")				cP.write("<input name="+colArray[j][0]+i)				cP.write(" value="+typeArray[j][1][i])				cP.write(" type=radio>")				cP.write("</center></td>")				if(rwCnt==rwMx){cP.write("<tr>");rwCnt=0}			}			cP.write("</table>")			cP.write("</form>")		}		if(typeArray[j][0]=="continuous"){			incr=eval(typeArray[j][1][2])			aS= typeArray[j][1][0].toString().length			bS= typeArray[j][1][1].toString().length			mS=Math.max(aS, bS)+1			a=typeArray[j][1][0]-incr			a=alignDigits(a,typeArray[j][1][0])			b=typeArray[j][1][1]+incr			b=alignDigits(b,typeArray[j][1][1])			cP.write("<form>")			cP.write("<table border=1 cellspacing=0 cellpadding=0>")			cP.write("<td align=right>")			cP.write("<font size=1>")			cP.write("LOWER BOUND")			cP.write("</font>")			cP.write("<input name=min"+j)			cP.write(" value="+a)			cP.write(" onChange=opener.resetMin("+j+")")			cP.write(" size="+mS+">")			cP.write("</td>")			cP.write("<td>")			cP.write("<font color=000000 size=3><b>")			cP.write("&nbsp;<&nbsp;")			cP.write(colArray[j][0].toUpperCase())			cP.write("&nbsp;<&nbsp;")			cP.write("</b></font>")			cP.write("</td>")			cP.write("<td align=left>")			cP.write("<input name=max"+j)			cP.write(" onChange=opener.resetMax("+j+")")			cP.write(" value="+b)			cP.write(" size="+mS+">")			cP.write("<font size=1>")			cP.write("UPPER BOUND")			cP.write("</font>")			cP.write("</td>")			cP.write("<tr>")			arrowArray=new Array(-3,-2,-1,1,2,3)			cP.write("<td align=center>")			cP.write("<img border=0 src=graphics/lpoint.gif usemap=#mMin"+j+">")			cP.write("</img>")			cP.write("<map name=mMin"+j+">")			for(x=0;x<arrowArray.length;x++){				cP.write("<area shape=rect")				cP.write(" href=javascript:opener.changeIt(")				cP.write(arrowArray[x]+","+j+",0)")				cP.write(" coords=")				cP.write(((x*15)+1)+",0,"+((x+1)*15))				cP.write(",20>")			}			cP.write("</map>")			cP.write("</td>")			cP.write("<td>")			cP.write("</td>")			cP.write("<td align=center>")			cP.write("<img border=0 src=graphics/rpoint.gif usemap=#mMax"+j+">")			cP.write("</img>")			cP.write("<map name=mMax"+j+">")			for(x=0;x<arrowArray.length;x++){				cP.write("<area shape=rect")				cP.write(" href=javascript:opener.changeIt(")				cP.write(arrowArray[x]+","+j+",1)")				cP.write(" coords=")				cP.write(((x*15)+1)+",0,"+((x+1)*15))				cP.write(",20>")			}			cP.write("</map>")			cP.write("</td>")			cP.write("<tr>")			cP.write("<td align=center>")			cP.write("<a href=javascript:opener.resetMin("+j+")>")			cP.write("<font size=2 color=005500>")			cP.write("<b>RESET</b>")			cP.write("</font>")			cP.write("</a>")			cP.write("</td>")			cP.write("<td>")			cP.write("</td>")			cP.write("<td align=center>")			cP.write("<a href=javascript:opener.resetMax("+j+")>")			cP.write("<font size=2 color=005500>")			cP.write("<b>RESET</b>")			cP.write("</font>")			cP.write("</a>")			cP.write("</td>")			cP.write("<tr>")			cP.write("</table>")			cP.write("</form>")		}		rwCnt=0	}	cP.close()}function resetMin(where){	increment=eval(typeArray[where][1][2])	min=typeArray[where][1][0]-increment	min=alignDigits(min,typeArray[where][1][0])	cP.forms[where+1].elements[0].value=min}function resetMax(where){	increment=eval(typeArray[where][1][2])	max=typeArray[where][1][1]+increment	max=alignDigits(max,typeArray[where][1][1])	cP.forms[where+1].elements[1].value=max}function allIn(where){	endOfForm=cP.forms[where+1].elements.length	for(i=0;i<endOfForm/2;i++){		cP.forms[where+1].elements[i*2].checked=true	}}function allOut(where){	endOfForm=cP.forms[where+1].elements.length	for(i=0;i<endOfForm/2;i++){		cP.forms[where+1].elements[(i*2)+1].checked=true	}}function changeIt(howMuch,where,onWhat){	baseIncr=typeArray[where][1][2]	min=typeArray[where][1][0]-baseIncr	max=typeArray[where][1][1]+baseIncr	mag=Math.abs(howMuch)-1	unitDirection=howMuch/(Math.abs(howMuch))	increment=(baseIncr*unitDirection*Math.pow(10,mag))	presentValue=cP.forms[where+1].elements[onWhat].value	newValue=parseFloat(presentValue)+increment	if(onWhat==0){otherIs=1}	if(onWhat==1){otherIs=0}	if(onWhat==0){		newValue=Math.max(newValue,min)		newValue=alignDigits(newValue,typeArray[where][1][0])		otherValue=eval(cP.forms[where+1].elements[otherIs].value)-baseIncr		if(newValue<otherValue){			cP.forms[where+1].elements[onWhat].value=newValue		}		if(newValue>=otherValue){			cP.forms[where+1].elements[onWhat].value=otherValue		}	}	if(onWhat==1){		newValue=Math.min(newValue,max)		newValue=alignDigits(newValue,typeArray[where][1][1])		otherValue=eval(cP.forms[where+1].elements[otherIs].value)+baseIncr		if(newValue>otherValue){			cP.forms[where+1].elements[onWhat].value=newValue		}		if(newValue<=otherValue){			cP.forms[where+1].elements[onWhat].value=otherValue		}	}}function alignDigits(tested,reference){	tested=tested.toString();reference=reference.toString()	pdT=tested.length-tested.indexOf(".")	pdR=reference.length-reference.indexOf(".")	if(tested.indexOf(".")==-1&&reference.indexOf(".")==-1){		tested=Math.round(tested)		return tested	}	if(tested.indexOf(".")==-1&&reference.indexOf(".")!=-1){		tested+=".0"	}	if(tested.indexOf(".")!=-1&&reference.indexOf(".")!=-1){		if(pdR>pdT){			for(q=pdT;q<pdR;q++){				tested=tested+"0"			}		}		if(pdR<pdT){			endOf=tested.indexOf(".")+pdR			ultChar=tested.charAt(endOf-1)			plusUltChar=tested.charAt(endOf)			lastChar=Math.round(parseFloat(ultChar+"."+plusUltChar))			tested=tested.substring(0,endOf-1)+lastChar.toString()		}		return tested	}	return tested}function setScale(toWhat){	gScale=toWhat}function setRes(toWhat){	theRest=toWhat}function setDist(toWhat){	distChoice=toWhat}function eyeCuts(){	cutArray=new Array(rowArray[0].length)	abbr=cPw.document.forms	for(i=1;i<abbr.length;i++){		a=abbr[i].elements.length		b=typeArray[i-1][0]		if(b=="continuous"){			cutArray[i]=new Array(2)			cutArray[i][0]=abbr[i].elements[0].value			cutArray[i][1]=abbr[i].elements[1].value		}		if(b=="discrete"){			c=a/2			cutArray[i]=new Array(c)			for(j=0;j<c;j++){				d=abbr[i].elements[j*2]				//cPw.alert(d)				cutArray[i][j]=""				if(d.checked==true){					cutArray[i][j]=d.value				}			}		}	}	//cPw.alert(cutArray)	cullData()}function cullData(){	//a means auto scaling mode	//b means max scaling mode	aSarray=new Array(rowCount-1)	mSarray=new Array(rowCount-1)	for(i=0;i<typeArray.length;i++){		for(j=1;j<rowCount;j++){			mSarray[j-1]=1			if(typeArray[i][0]=="continuous"){				v=eval(colArray[i][j])				lb=eval(cutArray[i+1][0])				ub=eval(cutArray[i+1][1])				if(v<=lb||v>=ub){					aSarray[j-1]=0				}				if(v>lb&&v<ub&&aSarray[j-1]!=0){					aSarray[j-1]=1				}			}			if(typeArray[i][0]=="discrete"){				v=colArray[i][j]				for(k=0;k<typeArray[i][1].length;k++){					c=cutArray[i+1][k]					d=typeArray[i][1][k]					if(v==d&&v==c&&aSarray[j-1]!=0){						aSarray[j-1]=1					}					if(v==d&&v!=c){						aSarray[j-1]=0					}				}			}		}	}	//cPw.alert(aSarray)	//cPw.alert(mSarray)	distributionStats()}function distributionStats(){	mEvents=0	aEvents=0	for(i=0;i<aSarray.length;i++){		mEvents++		if(aSarray[i]==1){			aEvents++		}	}	//cPw.alert(mEvents+"_"+aEvents)	if(aEvents>0){dataStats()}	if(aEvents==0){cPw.alert("No data are left.")}}function dataStats(){	stanLeng=0	aSum=0;aMax=0;aMin=999999999	mSum=0;mMax=0;mMin=999999999	aSumDev=0	mSumDev=0	aValArray=new Array(aEvents)	mValArray=new Array(mEvents)	for(i=1;i<colArray[distChoice].length;i++){		mValArray[i-1]=eval(colArray[distChoice][i])		mSum+=mValArray[i-1]		mMin=Math.min(mMin,mValArray[i-1])		mMax=Math.max(mMax,mValArray[i-1])		stanLeng=Math.max(stanLeng,colArray[distChoice][i-1].length)		if(aSarray[i-1]==1){			aValArray[i-1]=eval(colArray[distChoice][i])			aSum+=aValArray[i-1]			aMin=Math.min(aMin,aValArray[i-1])			aMax=Math.max(aMax,aValArray[i-1])		}	}	aMean=eval(trimDigits((aSum/aEvents).toString(),stanLeng))	mMean=eval(trimDigits((mSum/mEvents).toString(),stanLeng))	for(i=0;i<aValArray.length;i++){		if(aSarray[i]==1){			difference=aMean-aValArray[i]			deviation=Math.pow(difference,2)			aSumDev+=deviation		}	}	for(i=0;i<mValArray.length;i++){		difference=mMean-mValArray[i]		deviation=Math.pow(difference,2)		mSumDev+=deviation	}	aVariance=aSumDev/(aEvents-1)	mVariance=mSumDev/(mEvents-1)	aSDmean=eval(trimDigits(Math.sqrt(aVariance).toString(),stanLeng))	mSDmean=eval(trimDigits(Math.sqrt(mVariance).toString(),stanLeng))	//cPw.alert(aSDmean+"_"+mSDmean)	prepareGraph()}function prepareGraph(){	for(i=3;i<12;i++){		flag=cP.forms[0].elements[i]		if(flag.checked==true){			binW=flag.value		}	}	binN=300/binW	frameGraph()}function frameGraph(){	aDiff=aMax-aMin	mDiff=mMax-mMin	if(aDiff>0){aRoughBin=(aDiff/binN).toString()}	if(aDiff==0){aRoughBin=(aMax/binN).toString()}	if(mDiff>0){mRoughBin=(mDiff/binN).toString()}	if(mDiff==0){mRoughBin=(mMax/binN).toString()}	for(i=0;i<aRoughBin.length;i++){		if(aRoughBin.charAt(i)!="0"&&aRoughBin.charAt(i)!="."){			aLoc=i			break		}	}	for(i=0;i<mRoughBin.length;i++){		if(mRoughBin.charAt(i)!="0"&&mRoughBin.charAt(i)!="."){			mLoc=i			break		}	}	aX=eval(aRoughBin.charAt(aLoc))	mX=eval(mRoughBin.charAt(mLoc))	if(aX>0&&aX<5){		if(aX==1){aLastDig="2"}		if(aX>1&&aX<5){aLastDig="5"}		aNewBin=eval(aRoughBin.substring(0,aLoc)+aLastDig)	}	if(aX>4){		aLastDig="1"		aNewBin=eval(aRoughBin.substring(0,aLoc)+aLastDig)*10	}	if(mX>0&&mX<5){		if(mX==1){mLastDig="2"}		if(mX>1&&mX<5){mLastDig="5"}		mNewBin=eval(mRoughBin.substring(0,mLoc)+mLastDig)	}	if(mX>4){		mLastDig="1"		mNewBin=eval(mRoughBin.substring(0,mLoc)+mLastDig)*10	}	aOldMin=aMin.toString()	aNextMin=(aMin-aNewBin).toString()	mOldMin=mMin.toString()	mNextMin=(mMin-mNewBin).toString()	for(i=0;i<Math.max(aOldMin.length,aNextMin.length);i++){		if(aOldMin.charAt(i)!=aNextMin.charAt(i)){			aNewMin=(aNextMin.substring(0,i)+aLastDig)			break		}	}	for(i=0;i<Math.max(mOldMin.length,mNextMin.length);i++){		if(mOldMin.charAt(i)!=mNextMin.charAt(i)){			mNewMin=(mNextMin.substring(0,i)+mLastDig)			break		}	}	if(aOldMin.indexOf(".")==-1){aNewMin=aNextMin}	if(mOldMin.indexOf(".")==-1){mNewMin=mNextMin}	aNewMin=eval(aNewMin)	aNewMax=aNewMin+(binN*aNewBin)	aNewDiff=aNewMax-aNewMin	mNewMin=eval(mNewMin)	mNewMax=mNewMin+(binN*mNewBin)	mNewDiff=mNewMax-mNewMin	aYarray=new Array(binN)	mYarray=new Array(binN)	tYarray=new Array(binN)	for(i=0;i<aYarray.length;i++){aYarray[i]=0;mYarray[i]=0}	for(i=0;i<aSarray.length;i++){		if(aSarray[i]!=""){			aGraLoc=eval((colArray[distChoice][i+1]-aNewMin)/aNewDiff)			aAddress=Math.round(binN*aGraLoc)			aYarray[aAddress]++			tGraLoc=eval((colArray[distChoice][i+1]-mNewMin)/mNewDiff)			tAddress=Math.round(binN*tGraLoc)			tYarray[tAddress]++		}		mGraLoc=eval((colArray[distChoice][i+1]-mNewMin)/mNewDiff)		mAddress=Math.round(binN*mGraLoc)		mYarray[mAddress]++	}	for(i=0;i<aYarray.length;i++){		if(aYarray[i]==null){			aYarray[i]=0		}		if(tYarray[i]==null){			tYarray[i]=0		}	}	for(i=0;i<mYarray.length;i++){		if(mYarray[i]==null){			mYarray[i]=0		}	}	//cPw.alert(aYarray+"_"+mYarray+"_"+tYarray)	for(i=0;i<aYarray.length;i++){		if(aYarray[i]!=0){			aLeftMar=i			break		}	}	for(i=aYarray.length-1;i>=0;i--){		if(aYarray[i]!=0){			aRightMar=aYarray.length-i-1			break		}	}	aDrift=aYarray.length-binN	aOffSet=Math.round((aRightMar-aLeftMar-aDrift)/2)	for(i=0;i<mYarray.length;i++){		if(mYarray[i]!=0){			mLeftMar=i			break		}	}	for(i=mYarray.length-1;i>=0;i--){		if(mYarray[i]!=0){			mRightMar=mYarray.length-i-1			break		}	}	mDrift=mYarray.length-binN	mOffSet=Math.round((mRightMar-mLeftMar-mDrift)/2)	//cPw.alert(aOffSet+"_"+mOffSet)	histStats()}function histStats(){	aTally=0;mTally=0	aYmax=0;mYmax=0	maxY=300	aCheck=0;aMed=0;aMedDev=0;naMed=0;naMod=0	aMod=0;aModDev=0	for(i=0;i<aYarray.length;i++){		aTally+=aYarray[i]		aYmax=Math.max(aYmax,aYarray[i])	}	for(i=0;i<aYarray.length;i++){		aCheck+=aYarray[i]		if(aCheck>=aTally/2){			medRB=((((i)*aNewDiff)/binN)+aNewMin)			naMed=((((i-.5)*aNewDiff)/binN)+aNewMin).toString()			aMed=trimDigits(naMed,stanLeng)			break		}	}	for(i=0;i<aYarray.length;i++){		if(aYarray[i]==aYmax){			modRB=((((i)*aNewDiff)/binN)+aNewMin)			naMod=((((i-.5)*aNewDiff)/binN)+aNewMin).toString()			aMod=trimDigits(naMod,stanLeng)			break		}	}	for(i=0;i<aSarray.length;i++){		if(aSarray[i]==1){			xDat=eval(colArray[distChoice][i+1])			medDiff=eval(naMed)-xDat			modDiff=eval(naMod)-xDat			aMedDev+=Math.pow(medDiff,2)			aModDev+=Math.pow(modDiff,2)		}	}	aMedVar=aMedDev/(aTally-1)	aModVar=aModDev/(aTally-1)	aSDmed=trimDigits(Math.sqrt(aMedVar).toString(),stanLeng)	aSDmod=trimDigits(Math.sqrt(aModVar).toString(),stanLeng)	for(i=0;i<mYarray.length;i++){		mTally+=mYarray[i]		mYmax=Math.max(mYmax,mYarray[i])	}	aVertMag=Math.round(((.75*maxY))/aYmax)	mVertMag=Math.round(((.75*maxY))/mYmax)	if(gScale==0){openGraph(tYarray,mOffSet,mVertMag)}	if(gScale==2){openGraph(aYarray,aOffSet,aVertMag)}}function openGraph(yArray,offset,vertMag){	gW=open("","gW","status=yes")	gWd=gW.document	gWd.open("text/html")	gWd.bgColor="ffffff"	gWd.write("<title>Graph Window</title>")	gWd.write("<table border=0 cellpadding=0 cellspacing=0>")	gWd.write("<td>")	gWd.write("<form>")	gWd.write("<img src=graphics/redrow.gif height=3 width=306></img><br>")	gWd.write("<img src=graphics/redcol.gif height="+maxY+" width=3></img>")	for(i=0;i<binN;i++){		if(yArray[i]<0){yArray[i]=0}		theShift=i-offset		mapname="cmap"+i		if(theShift<0){blaImage="<img border=0 src=graphics/bladot.gif height=0 width="+binW+" usemap=#"+mapname+"></img>"}		if(theShift>=0){blaImage="<img border=0 src=graphics/bladot.gif height="+Math.min((yArray[theShift]*vertMag),maxY)+" width="+binW+" usemap=#"+mapname+"></img>"}		gWd.write(blaImage)		gWd.write("<map name="+mapname+">")		gWd.write("<area shape=rect href=javascript:opener.dispVal("+theShift+","+offset+")")		gWd.write(" onMouseOver=opener.dispVal("+theShift+","+offset+")")		gWd.write(" onMouseOut=opener.clearVal("+theShift+","+offset+")")		gWd.write(" coords=0,0,"+binW+","+maxY+">")		gWd.write("</map>")		gW.status=i+1+"/"+binN	}	gWd.write("<img src=graphics/redcol.gif height="+maxY+" width=3></img><br>")	gWd.write("<img src=graphics/redrow.gif height=3 width=306></img><br>")	shrunkenBinW=binW-1	for(i=0;i<=binN;i++){		if(binN!=300){			mapnameAx="axmap"+i			mapnameTic="ticmap"+i			gWd.write("<img")			gWd.write(" src=graphics/whidot.gif")			gWd.write(" usemap=#"+mapnameAx)			gWd.write(" border=0")			gWd.write(" height=15 width=")			if(i==0){gWd.write(3)}			if(i!=0){gWd.write(shrunkenBinW)}			gWd.write("></img>")			gWd.write("<img")			gWd.write(" src=graphics/bladot.gif")			gWd.write(" usemap=#"+mapnameTic)			gWd.write(" border=0")			gWd.write(" height=15 width=1")			gWd.write("></img>")			if(i>0){		gWd.write("<map name="+mapnameAx+">")		reor=i-offset-1		gWd.write("<area shape=rect href=javascript:opener.dispVal("+reor+","+offset+")")		gWd.write(" onMouseOver=opener.dispVal("+reor+","+offset+")")		gWd.write(" onMouseOut=opener.clearVal("+reor+","+offset+")")		gWd.write(" coords=0,0,"+shrunkenBinW+","+15+">")		gWd.write("</map>")			}		gWd.write("<map name="+mapnameTic+">")		reor=i-offset		gWd.write("<area shape=rect href=javascript:opener.dispTic("+reor+","+offset+")")		gWd.write(" onMouseOver=opener.dispTic("+reor+","+offset+")")		gWd.write(" onMouseOut=opener.clearTic("+reor+","+offset+")")		gWd.write(" coords=0,0,"+1+","+15+">")		gWd.write("</map>")					}	}	gWd.write("<br>")	gWd.write("<input name=valueStatus size=50></input>")	gWd.write("</td>")	gWd.write("<td valign=top>")	gWd.write("<font size=1>data / total = "+aTally+" / "+mTally)	pcntDt=Math.round(eval(trimDigits(((aTally/mTally)*100).toString(),stanLeng)))	gWd.write("<br>data remaining = "+pcntDt+" %")	gWd.write("<br>")if(aTally>=30){	gWd.write("<a href=javascript:opener.pSt(")	gWd.write(aMean+","+offset+","+1)	gWd.write(")><font color=ff00ff>mean</font></a> = ")	gWd.write(aMean)	gWd.write(" ; sd = "+aSDmean)	gWd.write("<br>")	gWd.write("<a href=javascript:opener.pSt(")	gWd.write(medRB+","+offset+","+2)	gWd.write(")><font color=009999>median</font></a> = ")	gWd.write(aMed)	gWd.write(" ; sd = "+aSDmed)	gWd.write("<br>")}	gWd.write("<a href=javascript:opener.pSt(")	gWd.write(modRB+","+offset+","+3)	gWd.write(")><font color=0000ff>mode</font></a> = ")	gWd.write(aMod)if(aTally>=30){	gWd.write(" ; sd = "+aSDmod)}	gWd.write("<p>")	gWd.write("The button below should take the data displayed on the graph and paste it back into the original data page.  However, it will nearly as likely cause your browser to stop running for lack of memory.  Please be prepared.")	gWd.write("<p>")	gWd.write("<input type=button name=cnctntr")	gWd.write(" value='Start with this data as new.'")	gWd.write(" onClick=opener.concatData()>")	gWd.write("</input>")	gWd.write("</td>")	gWd.write("</table>")	gWd.write("</form>")	gWd.close()}function pSt(theStat,offset,theImage){	if(theImage==1){theImageS="graphics/magdot.gif"}	if(theImage==2){theImageS="graphics/cyadot.gif"}	if(theImage==3){theImageS="graphics/navdot.gif"}	if(gScale==0){		tGraLoc=eval((theStat-mNewMin)/mNewDiff)		statAddress=Math.round(binN*tGraLoc)	}	if(gScale==2){		aGraLoc=eval((theStat-aNewMin)/aNewDiff)		statAddress=Math.round(binN*aGraLoc)	}	barAdd=statAddress+2+offset	self.gWd.images[barAdd].src=theImageS	axisAdd=6+binN+(2*(statAddress+offset))	if(binN!=300){self.gWd.images[axisAdd].src=theImageS}}function dispTic(place,offset){	aBinL=((((place-1)/binN)*(aNewDiff))+aNewMin).toString()	tBinL=((((place-1)/binN)*(mNewDiff))+mNewMin).toString()	//stanLeng=colArray[distChoice][1].length	aBinL=trimDigits(aBinL,stanLeng)	tBinL=trimDigits(tBinL,stanLeng)	if(gScale==0){L=tBinL;numEv1=tYarray[place];numEv2=tYarray[place-1]}	if(gScale==2){L=aBinL;numEv1=aYarray[place];numEv2=tYarray[place-1]}	if(numEv1==null){numEv1=0}	if(numEv2==null){numEv2=0}	if(numEv1!=0&&numEv2!=0){		self.gWd.forms[0].elements[0].value=L	}}function clearTic(){	self.gWd.forms[0].elements[0].value=""}function dispVal(place,offset){	columnLabel=colArray[distChoice][0]	aBinL=((((place-1)*aNewDiff)/binN)+aNewMin).toString()	aBinR=(((place*aNewDiff)/binN)+aNewMin).toString()	tBinL=((((place-1)*mNewDiff)/binN)+mNewMin).toString()	tBinR=(((place*mNewDiff)/binN)+mNewMin).toString()	stanLeng=colArray[distChoice][1].length	aBinL=trimDigits(aBinL,stanLeng)	aBinR=trimDigits(aBinR,stanLeng)	if(aBinL==aBinR){		aBinL=((((place-2)*aNewDiff)/binN)+aNewMin).toString()		aBinL=trimDigits(aBinL,stanLeng)	}	tBinL=trimDigits(tBinL,stanLeng)	tBinR=trimDigits(tBinR,stanLeng)	if(tBinL==tBinR){		tBinL=((((place-2)*mNewDiff)/binN)+mNewMin).toString()		tBinL=trimDigits(tBinL,stanLeng)	}	if(gScale==0){L=tBinL;R=tBinR;numEv=tYarray[place]}	if(gScale==2){L=aBinL;R=aBinR;numEv=aYarray[place]}	if(numEv==null){numEv=0}	if(numEv!=0){		self.gWd.forms[0].elements[0].value=L+" < "+columnLabel+" <= "+R+"; data = "+numEv	}	barAdd=place+2+offset	self.gWd.images[barAdd].src="graphics/bludot.gif"	axisAdd=6+binN+(2*(place+offset))	if(binN!=300){self.gWd.images[axisAdd].src="graphics/oradot.gif"}}function trimDigits(what,standardL){	decLoc=what.indexOf(".")	if(what.length>standardL&&decLoc!=-1){		temp=eval(what)*Math.pow(10,(standardL-decLoc))		temp=Math.round(temp)		temp=temp*Math.pow(10,(decLoc-standardL))		what=temp.toString().substring(0,standardL)	}	if(what.length<standardL){		if(decLoc==-1){what+="."}		for(i=what.length;i<standardL;i++){			what+="0"		}	}	return what}function clearVal(place,offset){	self.gWd.forms[0].elements[0].value=""	self.gWd.images[barAdd].src="graphics/bladot.gif"	if(binN!=300){self.gWd.images[axisAdd].src="graphics/whidot.gif"}}function concatData(){	gW.close()	cPw.close()	d=document.forms[0].elements[6]	d.value=""	for(i=0;i<colCount-1;i++){		d.value+=colArray[i][0]+"%09"	}	d.value+=colArray[colCount-1][0]+"%0D"	for(j=1;j<rowCount;j++){		if(aSarray[j-1]=="1"){			for(i=0;i<colCount-1;i++){				d.value+=colArray[i][j]+"%09"			}			d.value+=colArray[colCount-1][j]+"%0D"		}	}	d.value=unescape(d.value.substring(0,d.value.length-3))}loader()