<head>
<PUBLIC:COMPONENT tagName=FOUNDATION>
	<PUBLIC:PROPERTY Name=target />
	<PUBLIC:PROPERTY Name=file />
	<PUBLIC:DEFAULTS viewLinkContent />
	<PUBLIC:EVENT NAME=onFileChange ID=fcID />
  	<PUBLIC:ATTACH event="oncontentready" onevent="fnInit()" />
</PUBLIC:COMPONENT>

<STYLE>
	body
	{
		background: lightgray;
	}
	button
	{
		font: 8pt Helvetica;
	}
	select
	{
		font: 10pt bold Helvetica;
	}
</STYLE>
<script type='text/vbscript'>
Dim rdscodeText,rdsVbsFuncDict,rdsVbsFuncHelpDict
Function fnInit
	InitInternalFunctions
	initMacro
End Function
Function makeCode(sCode,sIncs)
	Dim incs, return, keys, items, ub
	If sIncs <> "" Then
		return = return & "'-----------------INCLUDES------------------------" & vbcrlf
		incs = split(sIncs,vbcrlf)
		For i = 0 To Ubound(incs)
			If incs(i) <> "" Then
				If Trim(incs(i)) <> "" Then
					return = return & readFile(Trim(incs(i))) & vbcrlf
				End If
			End IF
		Next
	End If
	keys = rdsVbsFuncDict.keys
	items = rdsVbsFuncDict.items
	ub = ubound(keys)
	Dim keyUsed()
	ReDim keyUsed(ub)
	For i = 2 To ub
		g = InStr(1,lcase(sCode),lcase(keys(i)))
		If g > 0  Then
			sreturn = sreturn & items(i)
			keyUsed(i)="true"
		End If
	Next
	Dim stempParseReturn
	Do
		stempParseReturn = sreturn
		For i = 2 To ub	
			g = InStr(1,lcase(sreturn),lcase(keys(i)))
			If g > 0  Then	
				If keyUsed(i)<>"true" Then
					sreturn = sreturn & items(i)
					keyUsed(i)="true"
				End If	
			End If	
		Next	
	Loop Until stempParseReturn = sreturn	
	If sreturn <> "" Then
		return = return & "'-----------------FUNCTIONS-----------------------" & vbcrlf
		return = return & sreturn & vbcrlf
	End if
	return = return & items(0) & vbcrlf
	return = return & sCode & vbcrlf 
	return = return & items(1)
	makeCode = return
End Function
Sub InitInternalFunctions
	gblPre = "'-----------------INITIALIZE---------------------" & vbcrlf & _ 
		"Dim fso, desktop, WshShell" & vbcrlf & _
		"set WshShell = WScript.CreateObject(" & chr(34) & "WScript.Shell" & chr(34) & ")" & vbcrlf & _
		"desktop = WshShell.SpecialFolders(" & chr(34) & "Desktop" & chr(34) & ")" & vbcrlf & _
		"set WshShell = Nothing" & vbcrlf & _
		"Set fso = createObject(" & chr(34) & "Scripting.FileSystemObject" & chr(34) & ")" & vbcrlf & _
		"'-----------------BEGIN CODE----------------------" & vbcrlf
	gblPost = "'-----------------CLEAN UP------------------------" & vbcrlf & _
		"Set fso = Nothing" & vbcrlf
	gblReadFile = "Function readFile(filepath)" & vbcrlf & _
		vbtab & "Dim f" & vbcrlf & _
		vbtab & "Set f = fso.OpenTextFile(filepath, 1)" & vbcrlf & _
		vbtab & "readFile = f.ReadAll" & vbcrlf & _
		vbtab & "f.Close" & vbcrlf & _ 
		vbtab & "Set f = Nothing" & vbcrlf & _
		"End Function" & vbcrlf
	gblSaveFile = "Sub saveFile(filepath,sContent)" & vbcrlf & _
		vbtab & "Dim result" & vbcrlf & _
		vbtab & "Set result = fso.createTextFile(filepath,True)" & vbcrlf & _
		vbtab & "result.Write sContent" & vbcrlf & _
		vbtab & "result.Close" & vbcrlf & _
		vbtab & "Set result = Nothing" & vbcrlf & _
		"End Sub" & vbcrlf
	gblForAllFiles = "Sub ForAllFiles(folderpath,sFunc)" & vbcrlf & _
		vbtab & "Dim folder, f, sRet" & vbcrlf & _
		vbtab & "Set folder = fso.GetFolder(folderpath)" & vbcrlf & _
		vbtab & "For Each f In folder.Files" & vbcrlf & _
		vbtab & vbtab & "s = sFunc & " & chr(34) & " f" & chr(34) & vbcrlf & _
		vbtab & vbtab & "execute s" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		"End Sub" & vbcrlf
	gblforAllFolders = "Sub forAllFolders(folderpath,sFunc)" & vbcrlf & _
		vbtab & "Dim s, folder, f, sRet, folder2, folders" & vbcrlf & _
		vbtab & "Set folder = fso.GetFolder(folderpath)" & vbcrlf & _
		vbtab & "For Each f In folder.Files" & vbcrlf & _
		vbtab & vbtab & "s = sFunc & " & chr(34) & " f" & chr(34) & vbcrlf & _
		vbtab & vbtab & "execute s" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		vbtab & "Set folders = folder.SubFolders" & vbcrlf & _
		vbtab & "For Each folder2 in folders" & vbcrlf & _
	   	vbtab & "Call forAllFolders(folder2,func)" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		"End Sub" & vbcrlf
	gblGetArg = "Function getArg(index)" & vbcrlf & _
		vbtab & "Set a = WScript.Arguments" & vbcrlf & _
		vbtab & "If a.count => index then" & vbcrlf & _
		vbtab & vbtab & "getArg = a(index)" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "Set a = Nothing" & vbcrlf & _
		"End Function" & vbcrlf
	gblGetArgCount = "Function getArgCount()" & vbcrlf & _
		vbtab & "Set a = WScript.Arguments" & vbcrlf & _
		vbtab & "getArgCount = a.Count" & vbcrlf & _
		vbtab & "Set a = Nothing" & vbcrlf & _
		"End Function" & vbcrlf
	gblFolderDialog = "Function folderDialog(sCaption,folderpath)" & vbcrlf & _
   		vbtab & "dim oShell" & vbcrlf & _
    		vbtab & "dim oFolder" & vbcrlf & _
    		vbtab & "dim oFolderItem" & vbcrlf & _
		vbtab & "dim return" & vbcrlf & _
    		vbtab & "set oShell = CreateObject(" & chr(34) & "Shell.Application" & chr(34) & ")" & vbcrlf & _		
    		vbtab & "set oFolder = oShell.BrowseForFolder(0, sCaption, 0 ,folderpath)" & vbcrlf & _       		
		vbtab & "On Error Resume Next" & vbcrlf & _
    		vbtab & "set oFolderItem = oFolder.Items.Item" & vbcrlf & _
		vbtab & "If Err.Number > 0 Then" & vbcrlf & _
		vbtab & vbtab & "return = " & chr(34) &  chr(34) & vbcrlf & _
		vbtab & "Else" & vbcrlf & _
    		vbtab & vbtab & "return = oFolderItem.Path" & vbcrlf & _
		vbtab & vbtab & "set oFolderItem = Nothing" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
    		vbtab & "set oFolder = Nothing" & vbcrlf & _
    		vbtab & "set oShell = Nothing" & vbcrlf & _
		vbtab & "On Error Goto 0" & vbcrlf & _
		vbtab & "folderDialog = return" & vbcrlf & _
		"End Function" & vbcrlf
	gblOpenDialogIE = "Dim vbsqdDialog1_Finished: vbsqdDialog1_Finished = False" & vbcrlf & _
		"Dim vbsqdDialog1_UserInputData: vbsqdDialog1_UserInputData = False" & vbcrlf & _
		"Dim vbsqdDialog1_returnValue: vbsqdDialog1_returnValue=" & chr(34) & chr(34) & vbcrlf & _
		"Dim vbsqdDialog1_ie" & vbcrlf & _
		"Dim vbsqdDialog1_File1" & vbcrlf & _
		"Function openDialog()" & vbcrlf & _
		vbtab & "set vbsqdDialog1_ie = WScript.CreateObject(" & chr(34) & "InternetExplorer.Application" & chr(34) & ", " & chr(34) & "vbsqdDialog1_IE_" & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.width     = 300" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.height    = 150" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.menubar   = False" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.toolbar   = False" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.statusbar = False" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.navigate " & chr(34) & "about:blank" & chr(34) & vbcrlf & _
		vbtab & "while vbsqdDialog1_ie.Busy:  wend" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.document.title=" & chr(34) & " Open Dialog Helper" & chr(34) & vbcrlf & _
		vbtab & "Set vbsqdDialog1_File1 = vbsqdDialog1_ie.document.createElement(" & chr(34) & "input" & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog1_File1.type = " & chr(34) & "file" & chr(34) & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.document.body.AppendChild vbsqdDialog1_File1" & vbcrlf & _
		vbtab & "Set vbsqdDialog1_File1.onchange = GetRef(" & chr(34) & "vbsqdDialog1_File_Clicked" & chr(34) & ")" & vbcrlf & _
		vbtab & "Dim vbsqdDialog1_Para: Set vbsqdDialog1_Para = vbsqdDialog1_ie.document.createElement(" & chr(34) & "p" & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.document.body.AppendChild vbsqdDialog1_Para" & vbcrlf & _
		vbtab & "Dim vbsqdDialog1_Info1: Set vbsqdDialog1_Info1 = vbsqdDialog1_ie.document.createTextNode(" & chr(34) & "Close this window when Finished." & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog1_Para.AppendChild vbsqdDialog1_Info1" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.visible = true" & vbcrlf & _
		vbtab & "vbsqdDialog1_File1.click" & vbcrlf & _
		vbtab & "Do While Not vbsqdDialog1_Finished" & vbcrlf & _
		vbtab & vbtab & "WScript.Sleep 50" & vbcrlf & _
		vbtab & "Loop" & vbcrlf & _
		vbtab & "OpenDialog = vbsqdDialog1_returnValue" & vbcrlf & _
		"End Function" & vbcrlf & _
		"Sub vbsqdDialog1_File_Clicked()" & vbcrlf & _
		vbtab & "vbsqdDialog1_Finished = True" & vbcrlf & _
		vbtab & "vbsqdDialog1_UserInputData = True" & vbcrlf & _
		vbtab & "vbsqdDialog1_returnValue = vbsqdDialog1_File1.value" & vbcrlf & _
		vbtab & "vbsqdDialog1_ie.Quit" & vbcrlf & _
		"End Sub" & vbcrlf & _
		"Sub vbsqdDialog1_IE_onQuit" & vbcrlf & _
		vbtab & "vbsqdDialog1_Finished = True" & vbcrlf & _
		"End Sub" & vbcrlf 
	gblOpenDialog = "Function openDialog(folderpath,sFilter)" & vbcrlf & _
		vbtab & "Dim oCD, intResult" & vbcrlf & _
		vbtab & "Set oCD = CreateObject(" & chr(34) & "UserAccounts.CommonDialog" & chr(34) &")" & vbcrlf & _
		vbtab & "oCD.Filter = sFilter" & vbcrlf & _
		vbtab & "oCD.InitialDir = folderpath" & vbcrlf & _
		vbtab & "oCD.Flags = &H80000 + &H4 + &H8" & vbcrlf & _
		vbtab & "intResult = oCD.ShowOpen" & vbcrlf & _
		vbtab & "openDialog = oCD.FileName" & vbcrlf & _
		"End Function" & vbcrlf


	gblSaveDialog = "Dim vbsqdDialog2_Finished: vbsqdDialog2_Finished = False" & vbcrlf & _
		"Dim vbsqdDialog2_UserInputData: vbsqdDialog2_UserInputData = False" & vbcrlf & _
		"Dim vbsqdDialog2_returnValue: vbsqdDialog2_returnValue=" & chr(34) & chr(34) & vbcrlf & _
		"Dim vbsqdDialog2_ie" & vbcrlf & _
		"Dim vbsqdDialog2_File1" & vbcrlf & _
		"Function openDialog()" & vbcrlf & _
		vbtab & "set vbsqdDialog2_ie = WScript.CreateObject(" & chr(34) & "InternetExplorer.Application" & chr(34) & ", " & chr(34) & "vbsqdDialog2_IE_" & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.width     = 300" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.height    = 150" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.menubar   = False" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.toolbar   = False" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.statusbar = False" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.navigate " & chr(34) & "about:blank" & chr(34) & vbcrlf & _
		vbtab & "while vbsqdDialog2_ie.Busy:  wend" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.document.title=" & chr(34) & " Open Dialog Helper" & chr(34) & vbcrlf & _
		vbtab & "Set vbsqdDialog2_File1 = vbsqdDialog2_ie.document.createElement(" & chr(34) & "input" & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog2_File1.type = " & chr(34) & "file" & chr(34) & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.document.body.AppendChild vbsqdDialog2_File1" & vbcrlf & _
		vbtab & "Set vbsqdDialog2_File1.onchange = GetRef(" & chr(34) & "vbsqdDialog2_File_Clicked" & chr(34) & ")" & vbcrlf & _
		vbtab & "Dim vbsqdDialog2_Para: Set vbsqdDialog2_Para = vbsqdDialog2_ie.document.createElement(" & chr(34) & "p" & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.document.body.AppendChild vbsqdDialog2_Para" & vbcrlf & _
		vbtab & "Dim vbsqdDialog2_Info1: Set vbsqdDialog2_Info1 = vbsqdDialog2_ie.document.createTextNode(" & chr(34) & "Close this window when Finished." & chr(34) & ")" & vbcrlf & _
		vbtab & "vbsqdDialog2_Para.AppendChild vbsqdDialog2_Info1" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.visible = true" & vbcrlf & _
		vbtab & "vbsqdDialog2_File1.click" & vbcrlf & _
		vbtab & "Do While Not vbsqdDialog2_Finished" & vbcrlf & _
		vbtab & vbtab & "WScript.Sleep 50" & vbcrlf & _
		vbtab & "Loop" & vbcrlf & _
		vbtab & "OpenDialog = vbsqdDialog2_returnValue" & vbcrlf & _
		"End Function" & vbcrlf & _
		"Sub vbsqdDialog2_File_Clicked()" & vbcrlf & _
		vbtab & "vbsqdDialog2_Finished = True" & vbcrlf & _
		vbtab & "vbsqdDialog2_UserInputData = True" & vbcrlf & _
		vbtab & "vbsqdDialog2_returnValue = vbsqdDialog2_File1.value" & vbcrlf & _
		vbtab & "vbsqdDialog2_ie.Quit" & vbcrlf & _
		"End Sub" & vbcrlf & _
		"Sub vbsqdDialog2_IE_onQuit" & vbcrlf & _
		vbtab & "vbsqdDialog2_Finished = True" & vbcrlf & _
		"End Sub" & vbcrlf  

	gblReplaceText = "Function ReplaceText(str,patrn, replStr)" & vbcrlf & _
  		vbtab & "Dim regEx" & vbcrlf & _
  		vbtab & "Set regEx = New RegExp" & vbcrlf & _
  		vbtab & "regEx.Pattern = patrn" & vbcrlf & _
  		vbtab & "regEx.IgnoreCase = True" & vbcrlf & _
  		vbtab & "ReplaceText = regEx.Replace(str, replStr)" & vbcrlf & _
		"End Function" & vbcrlf
	gblCountMatches = "Function CountMatches(patrn, findStr)" & vbcrlf & _
   		vbtab & "Dim regEx, Match, Matches" & vbcrlf & _
   		vbtab & "Set regEx = New RegExp" & vbcrlf & _
   		vbtab & "regEx.Pattern = patrn" & vbcrlf & _
   		vbtab & "regEx.IgnoreCase = True" & vbcrlf & _
   		vbtab & "regEx.Global = True" & vbcrlf & _
   		vbtab & "Set Matches = regEx.Execute(findStr)" & vbcrlf & _
   		vbtab & "RetVal = Matches.count" & vbcrlf & _
   		vbtab & "CountMatches = RetVal" & vbcrlf & _
		"End Function" & vbcrlf
	gblReplaceAll = "Function ReplaceAll(str,patrn,rplStr)" & vbcrlf & _
		vbtab & "lmatches = PatternMatchCount(patrn,str)" & vbcrlf & _
		vbtab & "for i = 0 to lmatches" & vbcrlf & _
		vbtab & vbtab & "str = ReplaceText(str,patrn,rplStr)" & vbcrlf & _
		vbtab & "next" & vbcrlf & _
		vbtab & "ReplaceAll = str" & vbcrlf & _
		"End Function" & vbcrlf
	gblMakeVBstring = "Function makeVBstring(s)" & vbcrlf & _
		vbtab & "v = split(s, chr(34))" & vbcrlf & _
		vbtab & "s = join(v, " & chr(34) & "'" & chr(34) & ")" & vbcrlf & _
		vbtab & "v= split(s, vbcrlf)" & vbcrlf & _
		vbtab & "cnt = 0" & vbcrlf & _
		vbtab & "For i = 0 to ubound(v)" & vbcrlf & _
		vbtab & vbtab & "ret = ret & " & chr(34) & "r = r & " & chr(34) & " & chr(34) & v(i) & chr(34) & " & chr(34) & " & vbcrlf" & chr(34) & " & vbcrlf" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		vbtab & "makeVBstring = ret" & vbcrlf & _
		"End Function" & vbcrlf
	gblTransformXML = "Function transformXML(sXML,sXSL)" & vbcrlf & _
		vbtab & "Dim xmlDoc As New MSXML2.DOMDocument40" & vbcrlf & _
   		vbtab & "Dim xslDoc As New MSXML2.DOMDocument40" & vbcrlf & _
   		vbtab & "xmlDoc.Load sXML" & vbcrlf & _
   		vbtab & "If xmlDoc.parseError.errorCode = 0 Then" & vbcrlf & _
      		vbtab & vbtab & "xslDoc.Load sXSL" & vbcrlf & _
      		vbtab & vbtab & "If xslDoc.parseError.reason = " & chr(34) & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & vbtab & "return = xmlDoc.transformNode(xslDoc)" & vbcrlf & _
      		vbtab & vbtab & "Else" & vbcrlf & _
         	vbtab & vbtab & vbtab & "return = " & chr(34) & "Error: Stylesheet.xsl did not load. " & chr(34) & " & _" & vbcrlf & _
            	vbtab & vbtab & vbtab & "xslDoc.parseError.reason" & vbcrlf & _
      		vbtab & vbtab & "End If" & vbcrlf & _
   		vbtab & "Else" & vbcrlf & _
      		vbtab & vbtab & "return = " & chr(34) & "Error: XML did not load. " & chr(34) & " & _" & vbcrlf & _
            	vbtab & vbtab & "xmlDoc.parseError.reason" & vbcrlf & _
   		vbtab & "End If" & vbcrlf & _
		vbtab & "tranlateXML = return" & vbcrlf & _
		"End Function" & vbcrlf
	gblInclude = "Function include(VbsFile)" & vbcrlf & _
   		vbtab & "Dim sVbsCode, fle" & vbcrlf & _
   		vbtab & "Set fle = fso.OpenTextFile(VbsFile)" & vbcrlf & _
   		vbtab & "sVbsCode = fle.ReadAll()" & vbcrlf & _
   		vbtab & "fle.Close " & vbcrlf & _
   		vbtab & "ExecuteGlobal sVbsCode" & vbcrlf & _
		"End Function" & vbcrlf
	gblGetName = "Function getName(sPath)" & vbcrlf & _
		vbtab & "Dim g1, g2" & vbcrlf & _
		vbtab & "g1 = InStrRev(sPath," & chr(34) & "\" & chr(34) & ")" & vbcrlf & _
		vbtab & "If g1 > 0 Then" & vbcrlf & _
		vbtab & vbtab & "sPath = Right(sPath,Len(sPath)-g1)" & vbcrlf & _
		vbtab & "End IF" & vbcrlf & _
		vbtab & "g2 = InStrRev(sPath," & chr(34) & "." & chr(34) & ")" & vbcrlf & _
		vbtab & "If g2 > 0 Then" & vbcrlf & _
		vbtab & vbtab & "sPath = Left(sPath,g2-1)" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "getName = sPath" & vbcrlf & _
		"End Function" & vbcrlf
	gblGetFile = "Function getFile(filepath)" & vbcrlf & _
		vbtab & "Dim g1" & vbcrlf & _
		vbtab & "g1 = InStrRev(sPath," & chr(34) & "\" & chr(34) & ")" & vbcrlf & _
		vbtab & "If g1 > 0 Then" & vbcrlf & _
		vbtab & vbtab & "sPath = Right(filepath,Len(filepath)-g1)" & vbcrlf & _
		vbtab & "End IF" & vbcrlf & _
		vbtab & "getFile = sPath" & vbcrlf & _
		"End Function" & vbcrlf
	gblGetExtension = "Function getExtension(filepath)" & vbcrlf & _
		vbtab & "Dim g1" & vbcrlf & _
		vbtab & "g1 = InStrRev(filepath," & chr(34) & "." & chr(34) & ")" & vbcrlf & _
		vbtab & "If g1 > 0 Then" & vbcrlf & _
		vbtab & vbtab & "filepath = Right(filepath,Len(filepath)-g1)" & vbcrlf & _
		vbtab & "Else" & vbcrlf & _
		vbtab & vbtab & "filepath = " & chr(34) & chr(34) & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "getExtension = filepath" & vbcrlf & _
		"End Function" & vbcrlf
	gblGetPath = "Function getPath(filepath)" & vbcrlf & _
		vbtab & "Dim g1" & vbcrlf & _
		vbtab & "g1 = InStrRev(filepath," & chr(34) & "\" & chr(34) & ")" & vbcrlf & _
		vbtab & "If g1 > 0 Then" & vbcrlf & _
		vbtab & vbtab & "filepath = Left(filepath,g1)" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "getPath = filepath" & vbcrlf & _
		"End Function" & vbcrlf
	gblCleanPath = "Function cleanPath(filepath)" & vbcrlf & _
		vbtab & "If Right(filepath,1) = " & chr(34) & "\" & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & "filepath = Left(filepath,Len(filepath)-1)" & vbcrlf & _
		vbtab & vbtab & "If Right(filepath,1)=" & chr(34) & ":" & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & vbtab & "filepath = Left(filepath,Len(filepath)-1)" & vbcrlf & _
		vbtab & vbtab & "End If" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "cleanPath = filepath" & vbcrlf & _
		"End Function" & vbcrlf
	gblMakePath = "Function makePath(filepath)" & vbcrlf & _
		vbtab & "If Right(filepath,1) <> " & chr(34) & "\" & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & "filepath = filepath & " & chr(34) & "\" & chr(34) & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "makePath = filepath" & vbcrlf & _
		"End Function" & vbcrlf
	gblPopup = "Function popup(msg,iTime,sTitle,msgType)" & vbcrlf & _
		vbtab & "Dim wShell,Return" & vbcrlf & _
		vbtab & "Set wShell = createObject(" & chr(34) & "WScript.Shell" & chr(34) & ")" & vbcrlf & _
		vbtab & "If msgType=" & chr(34) & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & "msgType= vbOkOnly" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "If sTitle = " & chr(34) & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & "sTitle = " & chr(34) & "Message" & chr(34) & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "If iTime = " & chr(34) & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & "iTime = 3" & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "If msg = " & chr(34) & chr(34) & " Then" & vbcrlf & _
		vbtab & vbtab & "msg = " & chr(34) & "Please Wait" & chr(34) & vbcrlf & _
		vbtab & "End If" & vbcrlf & _
		vbtab & "Return = wShell.popup(msg,iTime,sTitle,msgType)" & vbcrlf & _
		vbtab & "Set wShell = Nothing" & vbcrlf & _
		vbtab & "popup = Return" & vbcrlf & _
		"End Function" & vbcrlf
	gbladdLines = "Function addLines(s)" & vbcrlf & _
		vbtab & "Dim v, cnt, ret" & vbcrlf & _
		vbtab & "v= split(s, vbcrlf)" & vbcrlf & _
		vbtab & "cnt = 0" & vbcrlf & _
		vbtab & "For i = 0 to ubound(v)" & vbcrlf & _
		vbtab & vbtab & "cnt = cnt + 1" & vbcrlf & _
		vbtab & vbtab & "ret = ret & cnt & " & chr(34) & ":" & chr(34) & " & vbtab & v(i) & vbcrlf" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		vbtab & "addLines = ret" & vbcrlf & _
		"End Function" & vbcrlf
	gblquit = "Sub quit()" & vbcrlf & _
		vbtab & "WScript.Quit" & vbcrlf & _
		"End Sub" & vbcrlf
	gblrun = "Sub run(sApplication)" & vbcrlf & _
		vbtab & "Set runWshShell = WScript.CreateObject (" & chr(34) & "WSCript.shell" & chr(34) & ")" & vbcrlf & _
		vbtab & "runWshShell.run sApplication" & vbcrlf & _
		vbtab & "Set runWshShell = Nothing" & vbcrlf & _
		"End Sub" & vbcrlf
	gblrunWithArg = "Sub runWithArg(sApplication, sArgument)" & vbcrlf & _
		vbtab & "Dim rws" & vbcrlf & _
		vbtab & "Set runWithWshShell = WScript.CreateObject (" & chr(34) & "WSCript.shell" & chr(34) & ")" & vbcrlf & _
		vbtab & "rws = sApplication & " & chr(34) & " " & chr(34) & " & chr(34) & sArgument & chr(34)" & vbcrlf & _
		vbtab & "runWithWshShell.run rws" & vbcrlf & _
		vbtab & "Set runWithWshShell = Nothing" & vbcrlf & _
		"End Sub" & vbcrlf
	gblvalidateXML = "Function validateXML(s_Doc)" & vbcrlf & _
		vbtab & "Dim sReturn, x" & vbcrlf & _
		vbtab & "Set x = CreateObject(" & chr(34) & "MSXML2.DOMDocument.4.0" & chr(34) & ")" & vbcrlf & _
		vbtab & "x.async = 0" & vbcrlf & _
		vbtab & "x.resolveExternals = 1" & vbcrlf & _
		vbtab & "x.validateOnParse = 1" & vbcrlf & _
		vbtab & "If x.load(s_doc) Then" & vbcrlf & _
		vbtab & "Else" & vbcrlf & _
		vbtab & vbtab & "If x.parseError.errorCode <> 0 Then" & vbcrlf & _
		vbtab & vbtab & vbtab & "sReturn = x.parseError.reason & vbcrlf & _" & vbcrlf & _
		vbtab & vbtab & vbtab & vbtab & "x.parseError.line & vbcrlf & _" & vbcrlf & _
		vbtab & vbtab & vbtab & vbtab & "x.parseError.linepos & vbcrlf & _" & vbcrlf & _
		vbtab & vbtab & vbtab & vbtab & "x.parseError.srcText" & vbcrlf & _
		vbtab & vbtab & "End If" & vbcrlf & _
		vbtab & "End IF" & vbcrlf & _
		vbtab & "Set x = Nothing" & vbcrlf & _
		vbtab & "ValidateXML = sReturn" & vbcrlf & _
		"End Function" & vbcrlf
	gbltoASCIIText = "Function toASCIIText(sText)" & vbcrlf & _
		vbtab & "Dim ret" & vbcrlf & _
		vbtab & "On error resume Next" & vbcrlf & _
		vbtab & "v = Split(sText,vbcrlf)" & vbcrlf & _
		vbtab & "ret = Join(v,Chr(10))" & vbcrlf & _
		vbtab & "v = Split(ret,Chr(10))" & vbcrlf & _
		vbtab & "ret = Join(v,vbcrlf)" & vbcrlf & _
		vbtab & "v = Split(ret,vbcrlf)" & vbcrlf & _
		vbtab & "ret = Join(v,Chr(13))" & vbcrlf & _
		vbtab & "v = Split(ret,Chr(13))" & vbcrlf & _
		vbtab & "ret = Join(v,vbcrlf)" & vbcrlf & _
		vbtab & "toASCIIText = ret" & vbcrlf & _
		"End Function" & vbcrlf

	gblCopyFile = "Sub copyFile(filepath,sNewPath)" & vbcrlf & _
		vbtab & "Const OverwriteExisting = True" & vbcrlf & _
		vbtab & "fso.CopyFile filepath , sNewPath, OverwriteExisting" & vbcrlf & _
		"End Sub" & vbcrlf
	gblCopyFolder = "Sub copyFolder(folderpath,sNewPath)" & vbcrlf & _
		vbtab & "Const OverWriteFiles = True" & vbcrlf & _
		vbtab & "fSO.CopyFolder folderpath, sNewPath , OverWriteFiles" & vbcrlf & _
		"End Sub" & vbcrlf
	gblMakeFolder = "Function makeFolder(folderpath)" & vbcrlf & _
		vbtab & "Dim objFolder" & vbcrlf & _
		vbtab & "Set objFolder = fSO.CreateFolder(folderpath)" & vbcrlf & _
		vbtab & "makeFolder = objFolder" & vbcrlf & _
		"End Function" & vbcrlf
	gblDeleteFile = "Sub deleteFile(filepath)" & vbcrlf & _
		vbtab & "Const DeleteReadOnly = True" & vbcrlf & _
		vbtab & "fSO.DeleteFile(filepath), DeleteReadOnly" & vbcrlf & _
		"End Sub" & vbcrlf
	gblDeleteFolder = "Sub deleteFolder(folderpath)" & vbcrlf & _
		vbtab & "fSO.DeleteFolder(folderpath)" & vbcrlf & _
		"End Sub" & vbcrlf
	gblMoveFile = "Sub moveFile(filepath,sNewPath)" & vbcrlf & _
		vbtab & "fSO.MoveFile filepath , sNewPath" & vbcrlf & _
		"End Sub" & vbcrlf
	gblMoveFolder = "Sub moveFolder(folderpath,sNewPath)" & vbcrlf & _
		vbtab & "fSO.MoveFolder folderpath, sNewPath" & vbcrlf & _
		"End Sub" & vbcrlf
	gblRecursiveCopy = "Sub recursiveCopy(folderpath,sToFolder)" & vbcrlf & _
		vbtab & "Set curFolder=fso.GetFolder(folderpath)" & vbcrlf & _
		vbtab & "For Each fld in curFolder.SubFolders" & vbcrlf & _
		vbtab & vbtab & "makefolder sTFoldr & " & chr(34) & "\" & chr(34) & " & fld.name" & vbcrlf & _
		vbtab & vbtab & "newFromPath = folderpath & " & chr(34) & "\" & chr(34) & " & sf.name" & vbcrlf & _
		vbtab & vbtab & "newToPath = sTFoldr & " & chr(34) & "\" & chr(34) & " & fld.name" & vbcrlf & _
		vbtab & vbtab & "recursiveCopy newFromPath, newToPath" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		vbtab & "For Each fl in curFolder.files" & vbcrlf & _
		vbtab & vbtab & "copyFile fl.path, sToFolder & " & chr(34) & "\" & chr(34) & " & fl.name" & vbcrlf & _
		vbtab & "Next" & vbcrlf & _
		"End Sub" & vbcrlf
	gblFileExists = "Function fileExists(filepath)" & vbcrlf & _
		vbtab & "Dim bReturn" & vbcrlf & _
		vbtab & "bReturn = fso.FileExists(filepath)" & vbcrlf & _
		vbtab & "fileExists = bReturn" & vbcrlf & _
		"End Function" & vbcrlf
	gblFolderExists = "Function folderExists(folderpath)" & vbcrlf & _
		vbtab & "Dim bReturn" & vbcrlf & _
		vbtab & "bReturn =  fso.FolderExists(folderpath)" & vbcrlf & _
		vbtab & "folderExists = bReturn" & vbcrlf & _
		"End Function" & vbcrlf
	gblVerifySignature = "Function verifySignature(filepath)" & vbcrlf & _
		vbtab & "Dim blnShowGUI,objSigner,bReturn" & vbcrlf & _
		vbtab & "blnShowGUI = False" & vbcrlf & _
		vbtab & "Set objSigner = CreateObject(" & chr(34) & "Scripting.Signer" & chr(34) & ")" & vbcrlf & _
		vbtab & "bReturn = objSigner.VerifyFile(filepath, blnShowGUI)" & vbcrlf & _
		vbtab & "Set objSigner = Nothing" & vbcrlf & _
		vbtab & "verifySignature = bReturn" & vbcrlf & _
		"End Function" & vbcrlf
	gblSignScript = "Sub signScript(filepath, sSigniture)" & vbcrlf & _
		vbtab & "Dim objSigner" & vbcrlf & _
		vbtab & "Set objSigner = WScript.CreateObject(" & chr(34) & "Scripting.Signer" & chr(34) & ")" & vbcrlf & _
		vbtab & "objSigner.SignFile filepath, sSigniture" & vbcrlf & _
		vbtab & "Set objSigner = Nothing" & vbcrlf & _
		"End Sub" & vbcrlf
	gblRegRead = "Function RegRead(sKey)" & vbcrlf & _
		vbtab & "Dim Sh, sRet" & vbcrlf & _
		vbtab & "Set Sh = CreateObject(" & chr(34) & "WScript.Shell" & chr(34) & ")" & vbcrlf & _
		vbtab & "sKey =  " & chr(34) & "HKEY_CURRENT_USER\" & chr(34) & " & sKey" & vbcrlf & _
		vbtab & "On Error Resume Next" & vbcrlf & _
		vbtab & "sRet = Sh.RegRead(sKey) & vbcrlf" & vbcrlf & _
		vbtab & "On Error Goto 0" & vbcrlf & _
		vbtab & "Set Sh = Nothing" & vbcrlf & _
		vbtab & "RegRead = sRet" & vbcrlf & _
		"End Function" & vbcrlf
	gblRegWrite = "Sub RegWrite(sKey, sValue)" & vbcrlf & _
		vbtab & "Dim Sh, sRet" & vbcrlf & _
		vbtab & "Set Sh = CreateObject(" & chr(34) & "WScript.Shell" & chr(34) & ")" & vbcrlf & _
		vbtab & "sKey =  " & chr(34) & "HKEY_CURRENT_USER\" & chr(34) & " & sKey" & vbcrlf & _
		vbtab & "On Error Resume Next" & vbcrlf & _
		vbtab & "Sh.RegWrite skey, sValue, " & chr(34) & "REG_SZ" & chr(34) & vbcrlf & _
		vbtab & "On Error Goto 0" & vbcrlf & _
		vbtab & "Set Sh = Nothing" & vbcrlf & _
		"End Sub" & vbcrlf

	set rdsVbsFuncDict = createObject("Scripting.Dictionary")
	rdsVbsFuncDict.Add "pre", gblPre
	rdsVbsFuncDict.Add "post", gblPost
	rdsVbsFuncDict.Add "forallfolders", gblforAllFolders
	rdsVbsFuncDict.Add "makevbstring", gblMakeVBstring
	rdsVbsFuncDict.Add "makefolder", gblmakeFolder
	rdsVbsFuncDict.Add "addLines", gbladdLines
	rdsVbsFuncDict.Add "quit", gblquit
	rdsVbsFuncDict.Add "run", gblrun
	rdsVbsFuncDict.Add "runwitharg", gblrunwitharg
	rdsVbsFuncDict.Add "validateXML", gblvalidateXML
	rdsVbsFuncDict.Add "toasciitext", gbltoASCIIText
	rdsVbsFuncDict.Add "readFile", gblReadFile
	rdsVbsFuncDict.Add "saveFile", gblSaveFile
	rdsVbsFuncDict.Add "forallfiles", gblForAllFiles
	rdsVbsFuncDict.Add "getarg", gblGetArg
	rdsVbsFuncDict.Add "getargcount", gblGetArgCount
	rdsVbsFuncDict.Add "folderdialog", gblFolderDialog
	rdsVbsFuncDict.Add "opendialog", gblOpenDialog
	rdsVbsFuncDict.Add "savedialog", gblSaveDialog
	rdsVbsFuncDict.Add "replacetext", gblReplaceText
	rdsVbsFuncDict.Add "countmatches", gblCountMatches
	rdsVbsFuncDict.Add "replaceall", gblReplaceAll
	rdsVbsFuncDict.Add "transformxml", gblTransformXML
	rdsVbsFuncDict.Add "include", gblInclude
	rdsVbsFuncDict.Add "getname", gblGetName
	rdsVbsFuncDict.Add "getfile", gblGetFile
	rdsVbsFuncDict.Add "getextension", gblGetExtension
	rdsVbsFuncDict.Add "getpath", gblGetPath
	rdsVbsFuncDict.Add "cleanpath", gblCleanPath
	rdsVbsFuncDict.Add "makepath", gblMakePath
	rdsVbsFuncDict.Add "popup", gblPopup
	rdsVbsFuncDict.Add "copyfile", gblCopyFile
	rdsVbsFuncDict.Add "copyfolder", gblCopyFolder
	rdsVbsFuncDict.Add "recursivecopy", gblRecursiveCopy
	rdsVbsFuncDict.Add "deletefile", gblDeleteFile
	rdsVbsFuncDict.Add "deletefolder", gblDeleteFolder
	rdsVbsFuncDict.Add "moveFile", gblMoveFile
	rdsVbsFuncDict.Add "movefolder", gblMoveFolder
	rdsVbsFuncDict.Add "fileexists", gblFileExists
	rdsVbsFuncDict.Add "folderexists", gblFolderExists
	rdsVbsFuncDict.Add "verifysignature", gblVerifySignature
	rdsVbsFuncDict.Add "signscript", gblSignScript
	rdsVbsFuncDict.Add "regread", gblRegRead
	rdsVbsFuncDict.Add "regwrite", gblRegWrite

	set rdsVbsFuncHelpDict = createObject("Scripting.Dictionary")
	rdsVbsFuncHelpDict.Add "addLines", "linedText = addLines(TEXT_TO_NUMBER)"
	rdsVbsFuncHelpDict.Add "cleanpath", "clean = cleanPath(File_Path)"
	rdsVbsFuncHelpDict.Add "copyfile", "copyFile sFilePath, sNewPath"
	rdsVbsFuncHelpDict.Add "copyfolder", "copyFoler sFolderPath, sNewPath"
	rdsVbsFuncHelpDict.Add "countMatches","howManyMatchs = CountMatches(Patern, Strng)"
	rdsVbsFuncHelpDict.Add "deletefile", "deleteFile sFilePath"
	rdsVbsFuncHelpDict.Add "deletefolder", "deleteFolder sFolderPath"
	rdsVbsFuncHelpDict.Add "fileexists", "bResult = fileExists(sFilePath)"
	rdsVbsFuncHelpDict.Add "folderdialog","folderPath = folderDialog(Caption, Inital_Path)"
	rdsVbsFuncHelpDict.Add "folderexists", "bResult = folderExists(sFolderPath)"
	rdsVbsFuncHelpDict.Add "forallfiles","forAllFiles Folder_Path, Function_To_Send_Files_To"
	rdsVbsFuncHelpDict.Add "forallfolders", "forallfolders Folder_Path, Function_To_Send_Files_To"
	rdsVbsFuncHelpDict.Add "getarg","startUpArgument = getArg(index)"
	rdsVbsFuncHelpDict.Add "getargcount","howManyStartUpArguments = getArgCount"
	rdsVbsFuncHelpDict.Add "getextension", "extension = getExtension(File_Path)"
	rdsVbsFuncHelpDict.Add "getfile", "fileNameAndExtension = getFile(File_Path)"
	rdsVbsFuncHelpDict.Add "getname", "fileName = getName(File_Path)"
	rdsVbsFuncHelpDict.Add "getpath", "path = getPath(File_Path)"
	rdsVbsFuncHelpDict.Add "include","include VBSFile_File_Path"
	rdsVbsFuncHelpDict.Add "makepath", "path = makePath(File_Path)"
	rdsVbsFuncHelpDict.Add "makefolder", "fold = makefolder(FOLDER_PATH)"
	rdsVbsFuncHelpDict.Add "makevbstring","quotedString = makeVBstring(String)"
	rdsVbsFuncHelpDict.Add "moveFile", "moveFile sFilePath, sNewPath"
	rdsVbsFuncHelpDict.Add "movefolder", "moveFolder sFolderPath, sNewPath"
	rdsVbsFuncHelpDict.Add "opendialog","filePath = openDialog(Inital_Path,Filter)"
	rdsVbsFuncHelpDict.Add "popup", "return = popup Message, Delay, Title, Type"
	rdsVbsFuncHelpDict.Add "quit", "quit"
	rdsVbsFuncHelpDict.Add "readFile","fileContent = readFile(File_Path)"
	rdsVbsFuncHelpDict.Add "recursiveCopy","recursiveCopy sFromFolder, sToFolder"
	rdsVbsFuncHelpDict.Add "regread","strRegValue = regRead(sKey\ValueKey)"
	rdsVbsFuncHelpDict.Add "regwrite","regWrite sKey\ValueKey, strValue"
	rdsVbsFuncHelpDict.Add "replaceall","newString = ReplaceAll(Old_String, Patern, Replace_String)"
	rdsVbsFuncHelpDict.Add "replacetext","newString = ReplaceText(Old_String, Patern, Replace_String)"
	rdsVbsFuncHelpDict.Add "run", "run APPLICATION_NAME"
	rdsVbsFuncHelpDict.Add "runwitharg", "runwitharg APPLICATION_NAME, ARGUMENT"
	rdsVbsFuncHelpDict.Add "savedialog","filePath = saveDialog(Inital_Path,Filter)"
	rdsVbsFuncHelpDict.Add "saveFile","saveFile File_Path, Content"
	rdsVbsFuncHelpDict.Add "signscript", "signScript sVBSFilePath, sSignature"
	rdsVbsFuncHelpDict.Add "toasciitext", "asciiText = toASCIIText(UNICODE_SRTING)"
	rdsVbsFuncHelpDict.Add "transformXML","transformation = transformXML(XML_File_Path, XSL_File_Path)"
	rdsVbsFuncHelpDict.Add "validateXML", "wellForemdVaildation = validateXML(XML_FILE_PATH)"
	rdsVbsFuncHelpDict.Add "verifysignature", "sResult = verifySigniture(sVBSFilePath)"

	stdio_stdiohelp = "Available Methods and their use." & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "readFile(FilePath AS String) AS String" & vbcrlf & _
			vbtab & vbtab & "Returns the contents of the specified file" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "saveFile(FilePath As String, FileText As String)" & vbcrlf & _
			vbtab & vbtab & "Saves the passed text as a file of specified name" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "forAllFiles(FolderPath As String, Method As String)" & vbcrlf & _
			vbtab & vbtab & "Calls the specified Method, passing each file in the specified folder as an argument" & vbcrlf & _
			vbtab & vbtab & "Requires a Sub or Function that accepts the arguments" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "forAllFolders(FolderPath As String, Method As String)" & vbcrlf & _
			vbtab & vbtab & "Recurses down through folders starting at FolderPath passing each file to the the specified Method" & vbcrlf & vbcrlf & _
			"Function" & vbtab & "makeFolder(FolderPath As String) As Boolean" & vbcrlf & _
			vbtab & vbtab & "Returns True if the folder is created" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "getArgs(Index As Integer) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the specified command line argument (if it exists)" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "getArgCount() As Integer" & vbcrlf & _
			vbtab & vbtab & "Returns the number of command line arguments or 0 if no arguments exist" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "replaceText(Text as String, FindString As String, ReplaceString As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the Text string modified by replacing the FindString match with RplaceString" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "patternMatchCount(PatternToMatch As String, Text As String) As Integer" & vbcrlf & _
			vbtab & vbtab & "Returns the number of PatternToMatch matches found in the Text string" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "replaceAll(Text as String, FindString As String, ReplaceString As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the Text string modified by replacing the all the FindString matches with RplaceString" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "changeExtension(FileOrFilePath As String, NewExtension As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the modified FileOrFilePath string with the NewExtension extension" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "extractName(FileOrFilePath As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the file-name part (without extension) of FileOrFilePath" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "makeVBstring(Text As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns a basic string that builds the source Text (a helper function)" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "addLines(Text As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the Text with a prefixed line number for each line (a helper function)" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "quit()" & vbcrlf & _
			vbtab & vbtab & "Stops Execution and Exits the script" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "openDialog(FilePattern As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns a String that is the path to the file the user selected to open" & vbcrlf & _
			vbtab & vbtab & "The FilePattern must be in the normal form. e.g.: " & chr(34) & "VBScript Files (*.vbs)|*.vbs" & chr(34) & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "saveDialog(FilePattern As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns a String that is the path to the file the user wants to save" & vbcrlf & _
			vbtab & vbtab & "The FilePattern must be in the normal form. e.g.: " & chr(34) & "VBScript Files (*.vbs)|*.vbs" & chr(34) & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "folderDialog(Title As String, startDirectory As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns a String that is the path to the folder the user selects" & vbcrlf & _
			vbtab & vbtab & "Title is the dialog title, startDirctory is the dialogs starting directory" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "run(Application As String)" & vbcrlf & _
			vbtab & vbtab & "Runs the application Application" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "runWithArg(Application As String, Argument As String)" & vbcrlf & _
			vbtab & vbtab & "Runs the application Application passing it Arugment to operate on" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "xslTransform(sXMLPath As String, sXSLPath As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns the transformation of sXMLPath usinf sXSLPath" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "validateXML(sText As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns Error on unsuccesssful validation(well-formedness)" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "toASCIIText(sText As String) As String" & vbcrlf & _
			vbtab & vbtab & "Returns a new-line with carriage-return deliminated string" & vbcrlf & vbcrlf & _
			"SUB" & vbtab & vbtab & "Include(sFile As String)" & vbcrlf & _
			vbtab & vbtab & "Executes the vbs file sFile making the files subs and functions avilable" & vbcrlf & vbcrlf & _
			"FUNCTION" & vbtab & "popup(Message As String,SecondsToShow As String, Title As String, Buttons As Integer)" & vbcrlf & _
			vbtab & vbtab & "Returns the integer value of the selected button." & vbcrlf & vbcrlf & _
			"Available Global definitions" & vbcrlf & vbcrlf & _
			"GLOBALS" & vbtab & vbtab & "desktop, fso" & vbcrlf & _
			vbtab & vbtab & "desktop is the path to the client desktop" & vbcrlf & _
			vbtab & vbtab & "fso is the Scripting.FileSystemObject object"
End Sub
Sub macro_onchange
	If macro.value <> "" Then
		execute target & ".setSelection(rdsVbsFuncHelpDict(macro.value) & vbcrlf):" & target & ".setFocus"
	End If
End Sub
Sub initMacro
	Dim keys, items, sOption
	keys = rdsVbsFuncHelpDict.keys
	ub = ubound(keys) - 1
	For i = 0 To ub
		Set sOption = document.createElement("OPTION")
		sOption.value=keys(i)
		sOption.innerHTML = keys(i)
		macro.appendChild sOption
		Set sOption = Nothing
	Next
End Sub
Sub btnSource_onclick
	execute target & ".setText(rdscodeText)"
End Sub
Sub btnMake_onclick
	Dim sTxt
	execute "rdscodeText = " & target & ".getText"
	sTxt = makeCode(rdscodeText,"")
	execute target & ".setText(sTxt):" & target & ".setFocus"
End Sub
Sub saveFile(tname,s)
	Dim f, fso
	On Error Resume Next
	Set fso = createObject("Scripting.FileSystemObject")
	Set f = fso.createTextFile(tname,True)
	If Err.Number <> 0 Then
		msgbox "Error: " & Err.Number & vbcrlf & "Description: " & Err.Description,"File Error",vbokolny
		Exit Sub
	End IF
	On Error Goto 0
	f.Write s
	f.Close
	Set f = Nothing
	Set fso = Nothing
End Sub
Sub btnRunner_onclick
	Dim tmp, vDesc, WshShell, fso, scode
	set WshShell = CreateObject("WScript.Shell")
	desktop = WshShell.SpecialFolders("Desktop")
	Set fso = createObject("Scripting.FileSystemObject")
	execute "scode = " & target & ".getText"
	saveFile desktop & "\vbsruntmp.vbs", scode
	tmp = "wscript.exe " & chr(34) & desktop & "\vbsruntmp.vbs" & chr(34)
	wshShell.run tmp
	set WshShell = Nothing
	set fso = Nothing
End Sub
</script>
</head>
<body>
<button id="btnSource">Source</button><button id="btnMake">Make</button><button id="btnRunner">Run</button><br>
<select id="macro"></selcect>
</body>
