/*
Objects Created in innerHTML cannot be part of the TestCode.js file
Undo Comment Tags
function(" + x + ")
*/
	var vFileName = "User Didn\'t Identify the File Name"

	var aTextBoxes = new Array()
	var aTextArea = new Array()
	var aSelect = new Array()
	var aButtons = new Array()
	var aRadio = new Array()
	var aImages = new Array()
	var aDIV = new Array()
	var aSpan = new Array()
	var aLocation = new Array()
	var ahref = new Array()
	var aVariables = new Array()
	var aArrays = new Array()
	var aRE = new Array()
	var aCheckboxes = new Array()
	var aFunctions = new Array()
	var aForms = new Array()
	var vComment = "<OL>"


	var aTempCode = new Array()
	var aCode = new Array()
	var aCurrentForm = new Array()
	var aInsideScript = new Array()

	function fGetLists() {

		vST = new Date().getTime()
		Msg1 = "@&lt;@P>@&lt;@table border=0 cellpadding=6 cellspacing=0 bgcolor=ffffff align=center width=100%>@&lt;@TR>@&lt;@TD>@&lt;@font color=000000>@&lt;@font size=6>@&lt;@P align=center>@&lt;@U>Rejection List@&lt;@/U>@&lt;@/P>@&lt;@/font>@&lt;@font size=4>This is a list of objects that, though they passed the Regular Expression Test, where rejected for the reason identified.@&lt;@BR>@&lt;@font color=orange>They may contain a valid object in the text.@&lt;@/font>@&lt;@BR>@&lt;@font size=2>The Text Area below this has a TAB delimited List of the rejects in this order:@&lt;@BR>@&lt;@font size=3 color=009900>@&lt;@B>Object Name &nbsp; &nbsp; &nbsp; Object Type &nbsp; &nbsp; &nbsp; Line Number &nbsp; &nbsp; &nbsp; Reason For Rejection@&lt;@/b>@&lt;@/font>@&lt;@/font>@&lt;@/P>@&lt;@/font>@&lt;@font face=arial size=2>@&lt;@HR width=100% color=009900 size=3>"
		Msg1Lng = Msg1.length

		aTextBoxes = new Array()
		aTextArea = new Array()
		aSelect = new Array()
		aButtons = new Array()
		aRadio = new Array()
		aImages = new Array()
		aDIV = new Array()
		aSpan = new Array()
		aLocation = new Array()
		ahref = new Array()
		aVariables = new Array()
		aArrays = new Array()
		aGArrays = new Array()
		aRE = new Array()
		aGRE = new Array()
		aCheckboxes = new Array()
		aFunctions = new Array()
		aForms = new Array()
		aCode = new Array()
		aTempCode = new Array()
		LineNum = 1
		reScript1 = new RegExp(/^<script|\t<script/i) //<div|<span|<\\?!\\?-\\?-|\/\*/i)
		reScript2 = new RegExp(/<\/script>/i) // <\\?\/script|<\\?\/DIV|<\\?\/span|--\\?>|\*\//i)
		reBody1 = new RegExp(/^<body/i)
		reBody2 = new RegExp(/^<\/body>/i)
		reName = new RegExp(/name[ ="'\\]{1,5}[a-zA-Z_0-9]+|id[ ="'\\]{1,5}[a-zA-Z_0-9]+/i)
		vCurrentForm = ""
		vLine = ""
		vInsideScript = false
		vInsideBody = false
		aInsideScript = new Array("LINE #\tTYPE\tNAME\n")
		vComment = "<OL>"

		vCode = txtCode.value.replace(/\r/g,"")
		aCode = vCode.split("\n")
		LineNum = 1
		cnt = 0

		while(cnt != aCode.length) {

			if(aCode[cnt].match(reScript1)) {
				vInsideScript = true
				var m = reScript1.exec(aCode[cnt])
				m = m.toString().replace(/</g,"&lt;")
				vComment += "<LI> &nbsp; &nbsp; &nbsp; " + LineNum + " &nbsp; &nbsp; &nbsp; <font color=lime>" + m + "<\/font> &nbsp; &nbsp; &nbsp; " + vInsideScript + "<BR><font face=\"Abadi MT Condensed Light\" size=2><B>" + aCode[cnt].replace(/</g,"&lt;") + "</B></font><BR><BR>"
			}
			if(aCode[cnt].match(reScript2)) {
				vInsideScript = false
				var m = reScript2.exec(aCode[cnt])
				m = m.toString().replace(/</g,"&lt;")
				vComment += "<LI> &nbsp; &nbsp; &nbsp; " + LineNum + " &nbsp; &nbsp; &nbsp; <font color=pink>" + m + "<\/font> &nbsp; &nbsp; &nbsp; " + vInsideScript + "<BR><font face=\"Abadi MT Condensed Light\" size=2><B>" + aCode[cnt].replace(/</g,"&lt;") + "</B></font><BR><BR>"
			}

			if(aCode[cnt].match(reBody1)) {
				vInsideBody = true
				var m = reBody1.exec(aCode[cnt])
				m = m.toString().replace(/</g,"&lt;")
				vComment += "<LI> &nbsp; &nbsp; &nbsp; " + LineNum + " &nbsp; &nbsp; &nbsp; <font color=white>" + m + "<\/font> &nbsp; &nbsp; &nbsp; " + vInsideBody + "<BR><font face=\"Abadi MT Condensed Light\" size=2><B>" + aCode[cnt].replace(/</g,"&lt;") + "</B></font><BR><BR>"
			}
			if(aCode[cnt].match(reBody2)) {
				vInsideBody = false
				var m = reBody2.exec(aCode[cnt])
				m = m.toString().replace(/</g,"&lt;")
				vComment += "<LI> &nbsp; &nbsp; &nbsp; " + LineNum + " &nbsp; &nbsp; &nbsp; <font color=yellow>" + m + "<\/font> &nbsp; &nbsp; &nbsp; " + vInsideBody + "<BR><font face=\"Abadi MT Condensed Light\" size=2><B>" + aCode[cnt].replace(/</g,"&lt;") + "</B></font><BR><BR>"
			}



// Looking for Forms
			if(txtre16.value != "") {
				re = new RegExp(txtre16.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aForms.push(n)
							} else {
								aInsideScript.push(LineNum + "\tForm\t" + n + "\n")
							}
							vCurrentForm = n + "."
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

			if(aCode[cnt].match(/<\/form>/i)) {
				vCurrentForm = ""
			}






// Looking for Text Boxes
			if(txtre1.value != "") {
				re = new RegExp(txtre1.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aTextBoxes.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tTextbox\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for TextArea
			if(txtre2.value != "") {
				re = new RegExp(txtre2.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aTextArea.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tTextArea\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Select; Drop Down Boxes
			if(txtre3.value != "") {
				re = new RegExp(txtre3.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aSelect.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tSelect Box\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Buttons
			if(txtre4.value != "") {
				re = new RegExp(txtre4.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aButtons.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tButton\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Radio Buttons
			if(txtre5.value != "") {
				re = new RegExp(txtre5.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aRadio.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tRadio Button\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Images
			if(txtre6.value != "") {
				re = new RegExp(txtre6.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aImages.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tImage\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for DIV Tags
			if(txtre7.value != "") {
				re = new RegExp(txtre7.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aDIV.push(n)
							} else {
								aInsideScript.push(LineNum + "\tDIV Tag\t" + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Span Tags
			if(txtre8.value != "") {
				re = new RegExp(txtre8.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aSpan.push(n)
							} else {
								aInsideScript.push(LineNum + "\tSPAN Tag\t" + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Anchors - Location
			if(txtre9.value != "") {
				re = new RegExp(txtre9.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (!vLine.match(/^\/\*|^\/\//))) {
								aLocation.push(n)
							} else {
								aInsideScript.push(LineNum + "\tAnchor - Location\t" + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Anchors - href
			if(txtre10.value != "") {
				re = new RegExp(txtre10.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						n = m
						if((vInsideScript == false) && (!vLine.match(/^\/\*|^\/\//))) {
							ahref.push(n)
						} else {
							aInsideScript.push(LineNum + "\tAnchor - href\t" + n + "\n")
						}
						window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Global Variables
			if(txtre11.value != "") {
				re = new RegExp(txtre11.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y + "|^/\/\*|^\/\/"
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						re = new RegExp(txtre12.value,"i")
						if(m.match(re)) {
							var mm = re.exec(m)
							mm = mm.toString()
							mm = mm.replace(/\tvar /,"").replace(/ ?= ?new Array\(/,"")
							aGArrays.push(mm)
						}
						re = new RegExp(txtre13.value,"i")
						if(m.match(re)) {
							var mm = re.exec(m)
							mm = mm.toString()
							mm = mm.replace(/\tvar /,"").replace(/ ?= ?new RegExp\(/,"")
							aGRE.push(mm)
						}
						n = m.replace(/\tvar /,"").replace(/ .*/,"")
						aVariables.push(n)
						window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Arrays
			if(txtre12.value != "") {
				re = new RegExp(txtre12.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y + "|^/\/\*|^\/\/"
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						n = m.replace(/[ =]+new Array\(/,"")
						aArrays.push(n)
						window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Regular Expressions
			if(txtre13.value != "") {
				re = new RegExp(txtre13.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y + "|^/\/\*|^\/\/"
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						n = m.replace(/[ =]+new RegExp\(/,"")
						aRE.push(n)
						window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Checkboxes
			if(txtre14.value != "") {
				re = new RegExp(txtre14.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						if(m.match(reName)) {
							var n = reName.exec(m)
							n = n.toString()
							n = n.replace(/name[ ="'\\]{1,5}/,"")
							n = n.replace(/id[ ="'\\]{1,5}/,"")
							if((vInsideScript == false) && (vInsideBody == true)) {
								aCheckboxes.push(vCurrentForm + n)
							} else {
								aInsideScript.push(LineNum + "\tCheckbox\t" + vCurrentForm + n + "\n")
							}
							window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
						}
					}
					vLine = vLine.substring(z)
				}
			}

// Looking for Functions
			if(txtre15.value != "") {
				re = new RegExp(txtre15.value,"i")
				vLine = aCode[cnt]
				while(vLine.match(re)) {
					var m = re.exec(vLine)
					z = m.index
					m = m.toString()
					z += m.length
					y = m.replace(/\\/g,"\\\\").replace(/\(/g,"\\\(").replace(/\)/g,"\\\)").replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\[/g,"\\\[").replace(/\]/g,"\\\]").replace(/\{/g,"\\\{").replace(/\}/g,"\\\}").replace(/\|/g,"\\\|").replace(/\//g,"\\\/").replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\-/g,"\\\-").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?")
					vre = "innerHTML.+" + y + "|\tvar .+" + y + "|^/\/\*|^\/\/"
					re1 = new RegExp(vre,"i")
					if(!vLine.match(re1)) {
						m = m.replace(/\tfunction /,"")
						n = m.replace(/\(/,"")
						aFunctions.push(n)
						window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum + " - Found " + n
					}
					vLine = vLine.substring(z)
				}
			}
			cnt += 1
			window.status = vInsideScript + "    " + aCode.length + "Total Lines;  Now on Line " + LineNum
			LineNum += 1
		}



















// Removing Duplicates from TextBoxes
		window.status = "Removing Duplicates from TextBoxes"
		a = "^" + aTextBoxes[0] + "$"
		b = new Array()
		b.push(aTextBoxes[0])
		cnt = 1
		while(cnt < aTextBoxes.length) {
			re = new RegExp(a)
			if(!aTextBoxes[cnt].match(re)) {
				b.push(aTextBoxes[cnt])
				a += "|^" + aTextBoxes[cnt] + "$"
			}
			cnt += 1
		}
		aTextBoxes = new Array()
		aTextBoxes = b

// Removing Duplicates from TextArea
		window.status = "Removing Duplicates from TextArea"
		a = "^" + aTextArea[0] + "$"
		b = new Array()
		b.push(aTextArea[0])
		cnt = 1
		while(cnt < aTextArea.length) {
			re = new RegExp(a)
			if(!aTextArea[cnt].match(re)) {
				b.push(aTextArea[cnt])
				a += "|^" + aTextArea[cnt] + "$"
			}
			cnt += 1
		}
		aTextArea = new Array()
		aTextArea = b

// Removing Duplicates from Select
		window.status = "Removing Duplicates from Select"
		a = "^" + aSelect[0] + "$"
		b = new Array()
		b.push(aSelect[0])
		cnt = 1
		while(cnt < aSelect.length) {
			re = new RegExp(a)
			if(!aSelect[cnt].match(re)) {
				b.push(aSelect[cnt])
				a += "|^" + aSelect[cnt] + "$"
			}
			cnt += 1
		}
		aSelect = new Array()
		aSelect = b

// Removing Duplicates from Buttons
		window.status = "Removing Duplicates from Buttons"
		a = "^" + aButtons[0] + "$"
		b = new Array()
		b.push(aButtons[0])
		cnt = 1
		while(cnt < aButtons.length) {
			re = new RegExp(a)
			if(!aButtons[cnt].match(re)) {
				b.push(aButtons[cnt])
				a += "|^" + aButtons[cnt] + "$"
			}
			cnt += 1
		}
		aButtons = new Array()
		aButtons = b

// Removing Duplicates from Radio
		window.status = "Removing Duplicates from Radio"
		a = "^" + aRadio[0] + "$"
		b = new Array()
		b.push(aRadio[0])
		cnt = 1
		while(cnt < aRadio.length) {
			re = new RegExp(a)
			if(!aRadio[cnt].match(re)) {
				b.push(aRadio[cnt])
				a += "|^" + aRadio[cnt] + "$"
			}
			cnt += 1
		}
		aRadio = new Array()
		aRadio = b

// Removing Duplicates from Images
		window.status = "Removing Duplicates from Images"
		a = "^" + aImages[0] + "$"
		b = new Array()
		b.push(aImages[0])
		cnt = 1
		while(cnt < aImages.length) {
			re = new RegExp(a)
			if(!aImages[cnt].match(re)) {
				b.push(aImages[cnt])
				a += "|^" + aImages[cnt] + "$"
			}
			cnt += 1
		}
		aImages = new Array()
		aImages = b

// Removing Duplicates from DIV
		window.status = "Removing Duplicates from DIV"
		a = "^" + aDIV[0] + "$"
		b = new Array()
		b.push(aDIV[0])
		cnt = 1
		while(cnt < aDIV.length) {
			re = new RegExp(a)
			if(!aDIV[cnt].match(re)) {
				b.push(aDIV[cnt])
				a += "|^" + aDIV[cnt] + "$"
			}
			cnt += 1
		}
		aDIV = new Array()
		aDIV = b

// Removing Duplicates from Span
		window.status = "Removing Duplicates from Span"
		a = "^" + aSpan[0] + "$"
		b = new Array()
		b.push(aSpan[0])
		cnt = 1
		while(cnt < aSpan.length) {
			re = new RegExp(a)
			if(!aSpan[cnt].match(re)) {
				b.push(aSpan[cnt])
				a += "|^" + aSpan[cnt] + "$"
			}
			cnt += 1
		}
		aSpan = new Array()
		aSpan = b

// Removing Duplicates from Location
		window.status = "Removing Duplicates from Location"
		a = "^" + aLocation[0] + "$"
		b = new Array()
		b.push(aLocation[0])
		cnt = 1
		while(cnt < aLocation.length) {
			re = new RegExp(a)
			if(!aLocation[cnt].match(re)) {
				b.push(aLocation[cnt])
				a += "|^" + aLocation[cnt] + "$"
			}
			cnt += 1
		}
		aLocation = new Array()
		aLocation = b

// Removing Duplicates from href
		window.status = "Removing Duplicates from href"
		a = "^" + ahref[0] + "$"
		b = new Array()
		b.push(ahref[0])
		cnt = 1
		while(cnt < ahref.length) {
			re = new RegExp(a)
			if(!ahref[cnt].match(re)) {
				b.push(ahref[cnt])
				a += "|^" + ahref[cnt] + "$"
			}
			cnt += 1
		}
		ahref = new Array()
		ahref = b

// Removing Duplicates from Variables
		window.status = "Removing Duplicates from Variables"
		a = "^" + aVariables[0] + "$"
		b = new Array()
		b.push(aVariables[0])
		cnt = 1
		while(cnt < aVariables.length) {
			re = new RegExp(a)
			if(!aVariables[cnt].match(re)) {
				b.push(aVariables[cnt])
				a += "|^" + aVariables[cnt] + "$"
			}
			cnt += 1
		}
		aVariables = new Array()
		aVariables = b

// Removing Duplicates from Arrays
		window.status = "Removing Duplicates from Arrays"
		a = "^" + aArrays[0] + "$"
		b = new Array()
		b.push(aArrays[0])
		cnt = 1
		while(cnt < aArrays.length) {
			re = new RegExp(a)
			if(!aArrays[cnt].match(re)) {
				b.push(aArrays[cnt])
				a += "|^" + aArrays[cnt] + "$"
			}
			cnt += 1
		}
		aArrays = new Array()
		aArrays = b

// Removing Duplicates from RE
		window.status = "Removing Duplicates from RE"
		a = "^" + aRE[0] + "$"
		b = new Array()
		b.push(aRE[0])
		cnt = 1
		while(cnt < aRE.length) {
			re = new RegExp(a)
			if(!aRE[cnt].match(re)) {
				b.push(aRE[cnt])
				a += "|^" + aRE[cnt] + "$"
			}
			cnt += 1
		}
		aRE = new Array()
		aRE = b

// Removing Duplicates from Checkboxes
		window.status = "Removing Duplicates from Checkboxes"
		a = "^" + aCheckboxes[0] + "$"
		b = new Array()
		b.push(aCheckboxes[0])
		cnt = 1
		while(cnt < aCheckboxes.length) {
			re = new RegExp(a)
			if(!aCheckboxes[cnt].match(re)) {
				b.push(aCheckboxes[cnt])
				a += "|^" + aCheckboxes[cnt] + "$"
			}
			cnt += 1
		}
		aCheckboxes = new Array()
		aCheckboxes = b

// Removing Duplicates from Functions
		window.status = "Removing Duplicates from Functions"
		a = "^" + aFunctions[0] + "$"
		b = new Array()
		b.push(aFunctions[0])
		cnt = 1
		while(cnt < aFunctions.length) {
			re = new RegExp(a)
			if(!aFunctions[cnt].match(re)) {
				b.push(aFunctions[cnt])
				a += "|^" + aFunctions[cnt] + "$"
			}
			cnt += 1
		}
		aFunctions = new Array()
		aFunctions = b

// Removing Duplicates from Forms
		window.status = "Removing Duplicates from Forms"
		a = "^" + aForms[0] + "$"
		b = new Array()
		b.push(aForms[0])
		cnt = 1
		while(cnt < aForms.length) {
			re = new RegExp(a)
			if(!aForms[cnt].match(re)) {
				b.push(aForms[cnt])
				a += "|^" + aForms[cnt] + "$"
			}
			cnt += 1
		}
		aForms = new Array()
		aForms = b

// Removing Duplicates from GRE
		window.status = "Removing Duplicates from GRE"
		a = "^" + aGRE[0] + "$"
		b = new Array()
		b.push(aGRE[0])
		cnt = 1
		while(cnt < aGRE.length) {
			re = new RegExp(a)
			if(!aGRE[cnt].match(re)) {
				b.push(aGRE[cnt])
				a += "|^" + aGRE[cnt] + "$"
			}
			cnt += 1
		}
		aGRE = new Array()
		aGRE = b

// Removing Duplicates from GArrays
		window.status = "Removing Duplicates from GArrays"
		a = "^" + aGArrays[0] + "$"
		b = new Array()
		b.push(aGArrays[0])
		cnt = 1
		while(cnt < aGArrays.length) {
			re = new RegExp(a)
			if(!aGArrays[cnt].match(re)) {
				b.push(aGArrays[cnt])
				a += "|^" + aGArrays[cnt] + "$"
			}
			cnt += 1
		}
		aGArrays = new Array()
		aGArrays = b




/************************************************************
// Removing Duplicates from @UA@
		window.status = "Removing Duplicates from @UA@"
		a = "^" + a@UA@[0] + "$"
		b = new Array()
		b.push(a@UA@[0])
		cnt = 1
		while(cnt < a@UA@.length) {
			re = new RegExp(a)
			if(!a@UA@[cnt].match(re)) {
				b.push(a@UA@[cnt])
				a += "|^" + a@UA@[cnt] + "$"
			}
			cnt += 1
		}
		a@UA@ = new Array()
		a@UA@ = b


		************************************************************/




		window.status = "Writing to TextAreas"
		txtTextBoxes.value = aTextBoxes.join("\n")
		txtTextArea.value = aTextArea.join("\n")
		txtSelect.value = aSelect.join("\n")
		txtButtons.value = aButtons.join("\n")
		txtRadio.value = aRadio.join("\n")
		txtImages.value = aImages.join("\n")
		txtDIV.value = aDIV.join("\n")
		txtSpan.value = aSpan.join("\n")
		txtLocation.value = aLocation.join("\n")
		txthref.value = ahref.join("\n")
		txtVariables.value = aVariables.join("\n")
		txtArrays.value = aArrays.join("\n")
		txtRE.value = aRE.join("\n")
		txtCheckboxes.value = aCheckboxes.join("\n")
		txtFunctions.value = aFunctions.join("\n")
		txtForms.value = aForms.join("\n")
		txtInsideScript.value = aInsideScript.join("")
		txtGRE.value = aGRE.join("\n")
		txtGArrays.value = aGArrays.join("\n")

		aTextBoxes = new Array()
		aTextArea = new Array()
		aSelect = new Array()
		aButtons = new Array()
		aRadio = new Array()
		aImages = new Array()
		aDIV = new Array()
		aSpan = new Array()
		aLocation = new Array()
		ahref = new Array()
		aVariables = new Array()
		aArrays = new Array()
		aRE = new Array()
		aCheckboxes = new Array()
		aFunctions = new Array()
		aForms = new Array()
		aGArrays = new Array()
		aGRE = new Array()

		dTest.innerHTML = vComment

		window.status = "Finished"
		bgSound.src = "clock/ding.wav"
		bgSound.loop = 12

	}








	function fGetJS() {

		window.status = "Getting Lists"

		v = "/************************************\n\nThis Code is intended to be saved with the directory \npath and file name as follows:\n\n\"C:\\Karls Files\\Karl\\JavaScript\\MyDissectorList.js\"\n\nand should be Saved As Type:  Text\n\nIt was created with Karl\'s JavaScript Disector.html and is\nintended to be used with Karl\'s JavaScript Dissector2.html\nThese programs are Copyright 2006 - " + new Date().getFullYear() + " by Karl Garlick\nMy Home page is:\nhttp://www.kgarlick.com/\n\n*****************************************/\n\n"



		aTextBoxes = txtTextBoxes.value.replace(/\r/g,"").split("\n")
		aTextArea = txtTextArea.value.replace(/\r/g,"").split("\n")
		aSelect = txtSelect.value.replace(/\r/g,"").split("\n")
		aButtons = txtButtons.value.replace(/\r/g,"").split("\n")
		aRadio = txtRadio.value.replace(/\r/g,"").split("\n")
		aImages = txtImages.value.replace(/\r/g,"").split("\n")
		aDIV = txtDIV.value.replace(/\r/g,"").split("\n")
		aSpan = txtSpan.value.replace(/\r/g,"").split("\n")
		aLocation = txtLocation.value.replace(/\r/g,"").split("\n")
		ahref = txthref.value.replace(/\r/g,"").split("\n")
		aVariables = txtVariables.value.replace(/\r/g,"").split("\n")
		aArrays = txtGArrays.value.replace(/\r/g,"").split("\n")
		aRE = txtGRE.value.replace(/\r/g,"").split("\n")
		aCheckboxes = txtCheckboxes.value.replace(/\r/g,"").split("\n")
		aFunctions = txtFunctions.value.replace(/\r/g,"").split("\n")
		aForms = txtForms.value.replace(/\r/g,"").split("\n")


		window.status = "Lists Established, Now making Commented List and js Code."

		if(aTextBoxes[0] != "") {
			v += "\tvar aTextBoxes = new Array(\"" + aTextBoxes.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aTextBoxes = new Array()\n"
		}

		if(aTextArea[0] != "") {
			v += "\tvar aTextArea = new Array(\"" + aTextArea.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aTextArea = new Array()\n"
		}

		if(aSelect[0] != "") {
			v += "\tvar aSelect = new Array(\"" + aSelect.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aSelect = new Array()\n"
		}

		if(aButtons[0] != "") {
			v += "\tvar aButtons = new Array(\"" + aButtons.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aButtons = new Array()\n"
		}

		if(aRadio[0] != "") {
			v += "\tvar aRadio = new Array(\"" + aRadio.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aRadio = new Array()\n"
		}

		if(aImages[0] != "") {
			v += "\tvar aImages = new Array(\"" + aImages.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aImages = new Array()\n"
		}

		if(aDIV[0] != "") {
			v += "\tvar aDIV = new Array(\"" + aDIV.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aDIV = new Array()\n"
		}

		if(aSpan[0] != "") {
			v += "\tvar aSpan = new Array(\"" + aSpan.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aSpan = new Array()\n"
		}

/***********************************
		if(aLocation[0] != "") {
			v += "\tvar aLocation = new Array(\"" + aLocation.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aLocation = new Array()\n"
		}

		if(ahref[0] != "") {
			v += "\tvar ahref = new Array(\"" + ahref.join("\", \"") + "\")\n"
		} else {
			v += "\tvar ahref = new Array()\n"
		}
************************************/

		if(aArrays[0] != "") {
			v += "\tvar aArrays = new Array(\"" + aArrays.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aArrays = new Array()\n"
		}

		if(aRE[0] != "") {
			v += "\tvar aRE = new Array(\"" + aRE.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aRE = new Array()\n"
		}

		if(aCheckboxes[0] != "") {
			v += "\tvar aCheckboxes = new Array(\"" + aCheckboxes.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aCheckboxes = new Array()\n"
		}

		if(aFunctions[0] != "") {
			v += "\tvar aFunctions = new Array(\"" + aFunctions.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aFunctions = new Array()\n"
		}

		if(aForms[0] != "") {
			v += "\tvar aForms = new Array(\"" + aForms.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aForms = new Array()\n"
		}

// Removing Duplicated Global Variables
		window.status = "Removing Duplicated Global Variables"
		mm = new Array()
		mm = aRE.concat(aArrays)
		nn = aVariables
		if(mm.length > 0) {
			re = new RegExp("^" + mm.join("$|^") + "$")
			cnt = 0
			while(cnt < nn.length) {
				if(nn[cnt].match(re)) {
					nn.splice(cnt,1)
				} else {
					cnt += 1
				}
			}
		}

		if(nn[0] != "") {
			v += "\tvar aVariables = new Array(\"" + nn.join("\", \"") + "\")\n"
		} else {
			v += "\tvar aVariables = new Array()\n"
		}

		v += "\n\n/*************************************\nThis is a List of your Objects\n\n" + aTextBoxes.join("\n") + "\n\n\n" + aTextArea.join("\n") + "\n\n\n" + aSelect.join("\n") + "\n\n\n" + aButtons.join("\n") + "\n\n\n" + aRadio.join("\n") + "\n\n\n" + aImages.join("\n") + "\n\n\n" + aDIV.join("\n") + "\n\n\n" + aSpan.join("\n") + "\n\n\n" + aLocation.join("\n") + "\n\n\n" + ahref.join("\n") + "\n\n\n" + aVariables.join("\n") + "\n\n\n" + aArrays.join("\n") + "\n\n\n" + aRE.join("\n") + "\n\n\n" + aCheckboxes.join("\n") + "\n\n\n" + aFunctions.join("\n") + "\n\n\n" + aForms.join("\n") + "\n\n\n****************************************\n\nThis is a TAB delimited of Objects found in Comment Tags, DIV Tags, SPAN Tags or Script Tags, \n\n\n" + txtInsideScript.value + "\n\n\n***************************************/"
		txtMyDissectorList.value = v
		v = ""
		window.status = "Finished"
		bgSound.src = "clock/ding.wav"
		bgSound.loop = 5
		location = "#lStep2"
		txtMyDissectorList.select()


	}







	var vTabText = ""
	var vTabText1 = ""
	var vTabText2 = ""
	var TCReceived = 0

	function fMakeTestCode() {

/*
	vComment = "<OL>"
	vComment += "<LI>" + aTextBoxes + "<P>"
	vComment += "<LI>" + aTextArea + "<P>"
	vComment += "<LI>" + aSelect + "<P>"
	vComment += "<LI>" + aButtons + "<P>"
	vComment += "<LI>" + aRadio + "<P>"
	vComment += "<LI>" + aImages + "<P>"
	vComment += "<LI>" + aDIV + "<P>"
	vComment += "<LI>" + aSpan + "<P>"
	vComment += "<LI>" + aLocation + "<P>"
	vComment += "<LI>" + ahref + "<P>"
	vComment += "<LI>" + aVariables + "<P>"
	vComment += "<LI>" + aArrays + "<P>"
	vComment += "<LI>" + aRE + "<P>"
	vComment += "<LI>" + aCheckboxes + "<P>"
	vComment += "<LI>" + aFunctions + "<P>"
	vComment += "<LI>" + aForms + "<P>"
	vComment += "<LI>" +  + "<P>"
*/
		if(aCode.toString().match(/fTestCode/))  {
			con = confirm("A     P R E V I O U S     I N S T A L L A T I O N     E X I S T S ! ! !\n\nIt seems you already have the fTestCode Tool installed.  Installing it a second time would mess your code up.\nClick cancel if you just want to update you TestCode.js file.\n\nClick OK if you would you like to run the fTestCode installation anyway?")
			if(con == true) {
				aTempCode = aCode
				aCode = new Array()
				aFunctions.push("fTestCode")
				cnt = 0
				re1 = new RegExp(txtre15.value)
				while(cnt != aTempCode.length) {
					window.status = "Inserting TestCode into your Code.  At line " + cnt
					if(aTempCode[cnt].match(/^<\/BODY>/i)) {
						aCode.push("\<!--\/\/This is the TestCode section. //--\>")
						aCode.push("<SCRIPT Language=JavaScript src=TestCode.js><\/SCRIPT>")
						aCode.push("\t<TABLE ALIGN=\"center\" bgcolor=000000 BORDER=1 bordercolor=\"ffffff\" CELLSPACING=0 CELLPADDING=6 WIDTH=\"100%\">")
						aCode.push("\t<TR>")
						aCode.push("\t<TD align=\"left\">")
						aCode.push("\t\t<a name=\"lTestCode\"></a>")
						aCode.push("\t\t<font color=ffffff><DIV id=\"dTestCode\"></DIV><\/font>")
						aCode.push("\t\t<center><select name=\"selTestCodeWork\" onchange=\"vTestCodeWork=this.value\">")
						aCode.push("\t\t\t<option value=0>OFF</option>")
						aCode.push("\t\t\t<option value=1>Minimal</option>")
						aCode.push("\t\t\t<option value=2>Moderate</option>")
						aCode.push("\t\t\t<option selected value=3>Maximum</option>")
						aCode.push("\t\t</select>")
						aCode.push("\t\t &nbsp;")
						aCode.push("\t\t<select name=\"selTestCode\" onchange=\"TestCodeLimit=this.value\">")
						aCode.push("\t\t\t<option value=10000>10000 Characters</option>")
						aCode.push("\t\t\t<option value=50000>50000 Characters</option>")
						aCode.push("\t\t\t<option selected value=100000>100000 Characters</option>")
						aCode.push("\t\t\t<option value=500000>500000 Characters</option>")
						aCode.push("\t\t</select>")
						aCode.push("\t\t &nbsp;")
						aCode.push("\t\t<input type=button name=btnTestCode value=\"   View the Test Code   \" onclick=\"dTestCode.innerHTML=TestCode; location=\'#lTestCode\'\">")
						aCode.push("\t\t<input type=button name=btnTestCodeText value=\"   Get the Test Code Text   \" onclick=\"txtTestCodeText.value=TestCode\">")
						aCode.push("\t\t<BR>")
						aCode.push("\t\t<TEXTAREA name=\"txtTestCodeText\" rows=\"5\" cols=\"82\" onclick=this.select\(\)><\/TEXTAREA><\/center>")
						aCode.push("\t</TD>")
						aCode.push("\t</TR>")
						aCode.push("\t</TABLE>")
						aCode.push("")
					}

					aCode.push(aTempCode[cnt])
					if(aTempCode[cnt].match(/^<HTML>/i)) {
						aCode.push("")
						aCode.push("<!--\/\/")
						aCode.push("This text was created using the JavaScript Dissector Program which is available at:")
						aCode.push("http:\/\/www.kgarlick.com\/")
						aCode.push("Code Dissector is Copyright 2006 - " + new Date().getFullYear() + " by Karl Garlick")
						aCode.push("\/\/--\>")
						aCode.push("")
					}
					re2 = new RegExp("\tfunction " + aFunctions.join("|\tfunction "))
					if(aTempCode[cnt].match(re2)) {
						re3 = new RegExp(aFunctions.join("|"))
						var m = re3.exec(aTempCode[cnt])
						m = m.toString()
						aCode.push("")
						aCode.push("fTestCode\(\"" + m + "()\"\)")
						aCode.push("")
					}
					cnt += 1
				}
			}
		}


		window.status = "Creating the TestCode.js File - Temporary Variables"
		vTestCodejs = "\n\/**********************************\n\nThis is a TestCode Program that was generated\nusing a program at:\nhttp:\/\/www.kgarlick.com\/\nThis program is Copyright 2006 - " + new Date().getFullYear() + " by Karl Garlick\nYou are welcome to use it.\n\nThis file must be with the file name:\n\nTestCode.js\nand Saved as Type: text\n\nThe directory path must be the same as the directory path \nthat you save your new Script that Karls JavaScript Dissector\ngenerated for you.  It would be best to save them both \nin the directory where your code originated.\n\nFailure to do so will result in errors.\n\n**********************************/\n\n\n"

		if(aTextBoxes[0] != "") {
			vTestCodejs += "\tvar tmp" + aTextBoxes.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aTextBoxes.join("TITLE\n\tvar tmp") + "TITLE\n"
			vTestCodejs += "\tvar tmp" + aTextBoxes.join("Dd\n\tvar tmp") + "Dd\n"
		}

		if(aTextArea[0] != "") {
			vTestCodejs += "\tvar tmp" + aTextArea.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aTextArea.join("TITLE\n\tvar tmp") + "TITLE\n"
			vTestCodejs += "\tvar tmp" + aTextArea.join("Dd\n\tvar tmp") + "Dd\n"
		}

		if(aSelect[0] != "") {
			vTestCodejs += "\tvar tmp" + aSelect.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aSelect.join("Dd\n\tvar tmp") + "Dd\n"
		}

		if(aButtons[0] != "") {
			vTestCodejs += "\tvar tmp" + aButtons.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aButtons.join("TITLE\n\tvar tmp") + "TITLE\n"
			vTestCodejs += "\tvar tmp" + aButtons.join("Dd\n\tvar tmp") + "Dd\n"
		}

		if(aRadio[0] != "") {
			vTestCodejs += "\tvar tmp" + aRadio.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aRadio.join("TITLE\n\tvar tmp") + "TITLE\n"
			vTestCodejs += "\tvar tmp" + aRadio.join("Dd\n\tvar tmp") + "Dd\n"
		}

		if(aImages[0] != "") {
			vTestCodejs += "\tvar tmp" + aImages.join("SRC\n\tvar tmp") + "SRC\n"
			vTestCodejs += "\tvar tmp" + aImages.join("TITLE\n\tvar tmp") + "TITLE\n"
			vTestCodejs += "\tvar tmp" + aImages.join("ALT\n\tvar tmp") + "ALT\n"
		}

		if(aDIV[0] != "") {
			vTestCodejs += "\tvar tmp" + aDIV.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aDIV.join("TITLE\n\tvar tmp") + "TITLE\n"
		}

		if(aSpan[0] != "") {
			vTestCodejs += "\tvar tmp" + aSpan.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aSpan.join("TITLE\n\tvar tmp") + "TITLE\n"
		}

		if(aVariables[0] != "") {
			vTestCodejs += "\tvar tmp" + aVariables.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aVariables.join("SUB200\n\tvar tmp") + "SUB200\n"
		}

		if(aArrays[0] != "") {
			vTestCodejs += "\tvar tmp" + aArrays.join("_0\n\tvar tmp") + "_0\n"
			vTestCodejs += "\tvar tmp" + aArrays.join("LNTH\n\tvar tmp") + "LNTH\n"
			vTestCodejs += "\tvar tmp" + aArrays.join("LAST\n\tvar tmp") + "LAST\n"
			vTestCodejs += "\tvar tmp" + aArrays.join("ALL\n\tvar tmp") + "ALL\n"
		}

		if(aRE[0] != "") {
			vTestCodejs += "\tvar tmp" + aRE.join("VALUE\n\tvar tmp") + "VALUE\n"
		}

		if(aCheckboxes[0] != "") {
			vTestCodejs += "\tvar tmp" + aCheckboxes.join("VALUE\n\tvar tmp") + "VALUE\n"
			vTestCodejs += "\tvar tmp" + aCheckboxes.join("TITLE\n\tvar tmp") + "TITLE\n"
			vTestCodejs += "\tvar tmp" + aCheckboxes.join("Dd\n\tvar tmp") + "Dd\n"
		}

		vTestCodejs = vTestCodejs.replace(/\./g,"")

		window.status = "Creating the TestCode.js File - TestCode Variables"

		vTestCodejs += "\n\n\tvar TestCodeTimeSpent = 0\n\tvar TCFirst = true\n\tvar TestCodeLimit = 100000\n\tvar TestCode = \"Starting Point - \" \+ (new Date()) \+ \"\\n\<P\>\\n\<OL\>\"\n\tvar TestCodeCut = 0\n\tvar vTestCodeWork = 5 \/\/ can have a value of 0-5\n\tvar TCTT = 0\n\n\tfunction fTestCode(TCReceived) {\n\n\t\twindow\.status = TCReceived\n\n\t\tif\(vTestCodeWork > 0\) {\n\t\t\tTCST = new Date().getTime()\n\n\/\/ This if block keeps the TestCode from running wild\n\t\t\tif(TestCode\.length \> TestCodeLimit) {\n\t\t\t\tTestCodeCut \+= 1\n\t\t\t\tTestCode = TestCode\.substring((TestCode\.length - Math\.round((TestCodeLimit * \.75))),TestCode\.length)\n\t\t\t\tTestCode = \"The TestCode has been cut \" \+ TestCodeCut  \+ \" times\.\\n\<P\>\\n\\nRestarted at: \" \+ (new Date()) \+ \"\\n\\n\<P\>\\n\<OL\>\\n\<font size=3 color=yellow\>\" \+ TestCode\n\t\t\t}\n\n\t\t\taTestColor = new Array(\"00ccff\", \"00ff00\", \"00ff33\", \"00ff66\", \"00ff99\", \"00ffcc\", \"00ffff\", \"00ccff\", \"00ff00\", \"00ff33\", \"00ff66\", \"00ff99\", \"00ffcc\", \"00ffff\", \"33ccff\", \"33ff00\", \"33ff33\", \"33ff66\", \"33ff99\", \"33ffcc\", \"33ffff\", \"6699ff\", \"66cc00\", \"66cc33\", \"66cc66\", \"66cc99\", \"66cccc\", \"66ccff\", \"66ff00\", \"66ff33\", \"66ff66\", \"66ff99\", \"66ffcc\", \"66ffff\", \"9999ff\", \"99cc00\", \"99cc33\", \"99cc66\", \"99cc99\", \"99cccc\", \"99ccff\", \"99ff00\", \"99ff33\", \"99ff66\", \"99ff99\", \"99ffcc\", \"99ffff\", \"cc99cc\", \"cc99ff\", \"cccc00\", \"cccc33\", \"cccc66\", \"cccc99\", \"cccccc\", \"ccccff\", \"ccff00\", \"ccff33\", \"ccff66\", \"ccff99\", \"ccffcc\", \"ccffff\", \"ff9933\", \"ff9966\", \"ff9999\", \"ff99cc\", \"ff99ff\", \"ffcc00\", \"ffcc33\", \"ffcc66\", \"ffcc99\", \"ffcccc\", \"ffccff\", \"ffff00\", \"ffff33\", \"ffff66\", \"ffff99\", \"ffffcc\")\n\t\t\tabc = Math\.round(Math\.random() * aTestColor\.length)\n\t\t\tTestCode \+= \"\<font color=\" \+ aTestColor[abc] \+ \" size=4\><LI>\"\n"


/*
aTextBoxes
aTextArea
aSelect
aButtons
aRadio
aImages
aDIV
aSpan
aVariables
aArrays
aRE
aCheckboxes



aTextBoxes.join("TITLE
aTextArea.join("TITLE
aButtons.join("TITLE
aRadio.join("TITLE
aImages.join("TITLE
aDIV.join("TITLE
aSpan.join("TITLE
aCheckboxes.join("TITLE



*/

// Building TestCode if Blocks
		window.status = "Creating the TestCode.js File - if Blocks"
		reTsLT = ".toString().replace(/</g,\"&lt;\")"
		reLT = ".replace(/</g,\"&lt;\")"



		vTestCodejs += "\t\t}\n"
		vTestCodejs += "\n\n\n\t\tif((vTestCodeWork > 1) && (vTestCodeWork < 5)) {\n\n"

		if(aVariables[0] != "") {
			fBuildIfBlocksG(aVariables,"Global Variables",reTsLT + ".substring(0,200)","SUB200")
			vTestCodejs += r
		}


		vTestCodejs += "\t\t}\n"
		vTestCodejs += "\n\n\n\t\tif(vTestCodeWork > 1) {\n\n"


		if(aRE[0] != "") {
			fBuildIfBlocksG(aRE,"Regular Expressions",reTsLT,"VALUE")
			vTestCodejs += r
		}

		if(aImages[0] != "") {
			fBuildIfBlocksG(aImages,"Images",".src","SRC")
			vTestCodejs += r
		}

		if(aArrays[0] != "") {
			fBuildIfBlocksA(aArrays,"Arrays","","LNTH",".length")
			vTestCodejs += r
		}



		vTestCodejs += "\t\t}\n"
		vTestCodejs += "\n\n\n\t\tif(vTestCodeWork > 2) {\n\n"

		if(aArrays[0] != "") {
			fBuildIfBlocksA(aArrays,"Arrays",reTsLT,"_0","[0]")
			vTestCodejs += r
			fBuildIfBlocksLastArrayIndex(aArrays,"Arrays","LAST")
			vTestCodejs += r
		}

		if(aTextBoxes[0] != "") {
			fBuildIfBlocksD(aTextBoxes,"TextBoxes",(".value" + reLT),"VALUE")
			vTestCodejs += r
		}

		if(aCheckboxes[0] != "") {
			fBuildIfBlocksDTFN(aCheckboxes,"Checkboxes",".checked","VALUE")
			vTestCodejs += r
		}

		if(aSelect[0] != "") {
			fBuildIfBlocksDTFN(aSelect,"Drop Down Boxes",".selectedIndex","VALUE")
			vTestCodejs += r
		}

		if(aButtons[0] != "") {
			fBuildIfBlocksD(aButtons,"Buttons",(".value" + reLT),"VALUE")
			vTestCodejs += r
		}

		if(aRadio[0] != "") {
			fBuildIfBlocksDTFN(aRadio,"Radio Buttons",".checked","VALUE")
			vTestCodejs += r
		}

		if(aImages[0] != "") {
			fBuildIfBlocksG(aImages,"Images",(".alt" + reLT),"ALT")
			vTestCodejs += r
			fBuildIfBlocksG(aImages,"Images",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}



		vTestCodejs += "\t\t}\n"
		vTestCodejs += "\n\n\n\t\tif(vTestCodeWork > 3) {\n\n"

		if(aVariables[0] != "") {
			fBuildIfBlocksG(aVariables,"Global Variables",reTsLT,"VALUE")
			vTestCodejs += r
		}

		if(aTextBoxes[0] != "") {
			fBuildIfBlocksD(aTextBoxes,"TextBoxes",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aTextArea[0] != "") {
			fBuildIfBlocksD(aTextArea,"TextAreas",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aButtons[0] != "") {
			fBuildIfBlocksD(aButtons,"Buttons",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aCheckboxes[0] != "") {
			fBuildIfBlocksDTFN(aCheckboxes,"Checkboxes",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aRadio[0] != "") {
			fBuildIfBlocksD(aRadio,"Radio Buttons",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aSpan[0] != "") {
			fBuildIfBlocksG(aSpan,"Span Tags",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aDIV[0] != "") {
			fBuildIfBlocksG(aDIV,"DIV Tags",(".title" + reLT),"TITLE")
			vTestCodejs += r
		}

		if(aSpan[0] != "") {
			fBuildIfBlocksG(aSpan,"Span Tags",(".innerHTML" + reLT),"VALUE")
			vTestCodejs += r
		}

		if(aTextArea[0] != "") {
			fBuildIfBlocksD(aTextArea,"TextAreas",(".value" + reLT),"VALUE")
			vTestCodejs += r
		}



		vTestCodejs += "\t\t}\n"
		vTestCodejs += "\n\n\n\t\tif(vTestCodeWork > 4) {\n\n"

		if(aDIV[0] != "") {
			fBuildIfBlocksG(aDIV,"DIV Tags",(".innerHTML" + reLT),"VALUE")
			vTestCodejs += r
		}

		if(aArrays[0] != "") {
			fBuildIfBlocksG(aArrays,"Arrays",reTsLT,"ALL")
			vTestCodejs += r
		}




		vTestCodejs += "\t\t}\n\n\t\tif\(vTestCodeWork > 0\) {\n\n\t\t\tTestCode += \"<\/font>\"\n\n\t\t\tTCET = new Date().getTime()\n\t\t\tTCTT = ((TCET - TCST)/1000).toFixed(2)\n\t\t\tTestCodeTimeSpent \+= (TCTT * 1)\n\n\t\t\tif(TCFirst == false) {\n\t\t\t\tif((TCTT > 5) || (TestCodeTimeSpent > 1000)) {\n\t\t\t\t\tcon = confirm(\"\\t       T   E   S   T   C   O   D   E                N   O   T   I   C   E   !   !   !\\n\\nYou are getting this message because either the fTestCode function has taken over 1000 seconds in Total Run Time or this past time it took over 5 seconds.\\n\\nYou may want to adjust the TestCode settings.\\n\\nThe amount of time taken this time it ran was: \" \+ TCTT \+ \" seconds.\\nThe Total Run Time is: \" \+ TestCodeTimeSpent \+ \"\\nThe current TestCode Work Level is: \" \+ vTestCodeWork \+ \"\\nThe TestCode Length is: \" \+ TestCodeLimit \+ \" Characters\\n\\tThe TestCode currently has \" \+ TestCode.length \+ \" Characters\\nThe calling function is:\\n \" \+ TCReceived \+ \"\\n\\nYou will get this notice everytime the fTestCode function takes longer than 5 seconds or the Total Run Time reaches 1000.  The Total Run Time will automatically set back to 0 when it is over 1000.\\n\\nIt usually takes it\\'s longest time when it first starts or when you first increase the Work Level.\\n\\nClick OK if you would like to reduce the TestCode Work Level by 1.\")\n\t\t\t\t\tif(TestCodeTimeSpent > 1000) {\n\t\t\t\t\t\tTestCodeTimeSpent = 0\n\t\t\t\t\t\tTestCode \+= \"TestCodeTimeSpent = \" \+ TestCodeTimeSpent  \+ \"\\n<P>\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(con == true) {\n\t\t\t\t\tif(vTestCodeWork > 0) {\n\t\t\t\t\t\tvTestCodeWork -= 1\n\t\t\t\t\t\tTestCode \+= \"vTestCodeWork = \" \+ vTestCodeWork  \+ \"\\n<P>\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(TCFirst == true) {\n\t\t\t\tTCFirst = false\n\t\t\t}\n\t\t\tTestCode += \"TestCode Time Taken = \" \+ TCTT \+ \" Seconds\\n<BR>\"\n\t\t\tTestCode += \" &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; \\n\\t\<font face=Rockwell size=5 color=white\>\" \+ TCReceived \+ \"\<\/font\>\\n\\t\<BR\>\\n\\t\"\n\t\t}\n\t}"

		window.status = "Writing to the TextAreas"
		txtTestCodejs.value = vTestCodejs
		txtNewCode.value = aCode.join("\n")
		aCode = new Array()
		txtTestCodejs.select()

		window.status = "Finished"
		bgSound.src = "clock/ding.wav"
		bgSound.loop = 12

		dTest.innerHTML = vComment

	}



/*
fBuildIfBlocksG
fBuildIfBlocksL
fBuildIfBlocksDTFN
fBuildIfBlocksLastArrayIndex
fBuildIfBlocksD

*/








	function fBuildIfBlocksDTFN(a,b,c,d) {

		window.status = "Creating the TestCode.js File - if Blocks - " + b + c
		cnt = 0
		r = "// Written by fBuildIfBlocksDTFN \"" + b + "\"\n\n"
		while(cnt != a.length) {
			r += "\t\t\tif(" + a[cnt] + ".disabled == false) {\n"
			r += "\t\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + "Dd != " + a[cnt] + ".disabled) {\n"
			r += "\t\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + "Dd = " + a[cnt] + ".disabled\n"
			r += "\t\t\t\t\tTestCode += \"" + a[cnt] + ".disabled = \" \+ " + a[cnt] + ".disabled \+ \"\\n<P>\"\n"
			r += "\t\t\t\t}\n"
			r += "\t\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + d + " != " + a[cnt] + c + ") {\n"
			r += "\t\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + d + " = " + a[cnt] + c + "\n"
			r += "\t\t\t\t\tTestCode += \"" + a[cnt] +  d + " = \" \+ " + a[cnt] + c + " \+ \"\\n<P>\"\n"
			r += "\t\t\t\t}\n"
			r += "\t\t\t}\n\n"
			cnt += 1
		}
		return r
	}




	function fBuildIfBlocksD(a,b,c,d) {
//fBuildIfBlocksD(aTextBoxes,"TextBoxes",(".value" + reLT),"VALUE")

		window.status = "Creating the TestCode.js File - if Blocks - " + b + c
		cnt = 0
		r = "// Written by fBuildIfBlocksD \"" + b + "\"\n\n"
		while(cnt != a.length) {
			r += "\t\t\tif(" + a[cnt] + ".disabled == false) {\n"
			r += "\t\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + "Dd != " + a[cnt] + ".disabled) {\n"
			r += "\t\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + "Dd = " + a[cnt] + ".disabled\n"
			r += "\t\t\t\t\tTestCode += \"" + a[cnt] + ".disabled = \" \+ " + a[cnt] + ".disabled \+ \"\\n<P>\"\n"
			r += "\t\t\t\t}\n"
			r += "\t\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + d + " != " + a[cnt] + c + ") {\n"
			r += "\t\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + d + " = " + a[cnt] + c + "\n"
			r += "\t\t\t\t\tTestCode += \"" + a[cnt] +  " - (" + d + ") = \" \+ " + a[cnt] + c + " \+ \"\\n<P>\"\n"
			r += "\t\t\t\t}\n"
			r += "\t\t\t}\n\n"
			cnt += 1
		}
		return r
	}



	function fBuildIfBlocksG(a,b,c,d) {

		window.status = "Creating the TestCode.js File - if Blocks - " + b + c
// fBuildIfBlocksG(aVariables,"Global Variables",reTsLT,"VALUE")
		cnt = 0
		r = "// Written by fBuildIfBlocksG \"" + b + "\"\n\n"
		while(cnt != a.length) {
			r += "\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + d + " != " + a[cnt] + c + ") {\n"
			r += "\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + d + " = " + a[cnt] + c + "\n"
			r += "\t\t\t\tTestCode += \"" + a[cnt] + " - (" + d + ") = \" \+ " + a[cnt] + c + " \+ \"\\n<P>\"\n"
			r += "\t\t\t}\n\n"
			cnt += 1
		}
		return r
	}



	function fBuildIfBlocksA(a,b,c,d,e) {
//fBuildIfBlocksA(aArrays,"Arrays",reTsLT,"_0","[0]")
//fBuildIfBlocksA(aArrays,"Arrays",".length","LNTH",".length")
		window.status = "Creating the TestCode.js File - if Blocks - " + b + c
		cnt = 0
		r = "// Written by fBuildIfBlocksA \"" + b + e + "\"\n\n"
		while(cnt != a.length) {
			r += "\t\t\tif(" + a[cnt] + ".length > 0) {\n"
			r += "\t\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + d + " != " + a[cnt] + e + ") {\n"
			r += "\t\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + d + " = " + a[cnt] + e + "\n"
			r += "\t\t\t\t\tTestCode += \"" + a[cnt] + e + " = \" \+ " + a[cnt] + e + c + " \+ \"\\n<P>\"\n"
			r += "\t\t\t\t}\n"
			r += "\t\t\t}\n\n"
			cnt += 1
		}
		return r
	}



	function fBuildIfBlocksLastArrayIndex(a,b,d) {

		window.status = "Creating the TestCode.js File - if Blocks - " + b
		cnt = 0
		r = "// Written by fBuildIfBlocksLastArrayIndex \"" + b + "\"\n\n"
		while(cnt != a.length) {
			r += "\t\t\tif(" + a[cnt] + ".length > 0) {\n"
			r += "\t\t\t\tif(tmp" + a[cnt].replace(/\./g,"") + d + " != " + a[cnt] + "[(" + a[cnt] + ".length - 1)]) {\n"
			r += "\t\t\t\t\ttmp" + a[cnt].replace(/\./g,"") + d + "  = " + a[cnt] + "[(" + a[cnt] + ".length - 1)]\n"
			r += "\t\t\t\t\tTestCode += \"" + a[cnt] +  "[\" \+ (" + a[cnt] + ".length - 1) \+ \"] = \" \+ " + a[cnt] + "[(" + a[cnt] + ".length - 1)] \+ \"\\n<P>\"\n"
			r += "\t\t\t\t}\n"
			r += "\t\t\t}\n\n"
			cnt += 1
		}
		return r
	}

