<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<OBJECT width=0 height=0 ID=pchealth classid=CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7></OBJECT>
<META content="text/html; charset=unicode" http-equiv=Content-Type>
<META content="MSHTML 5.00.2919.800" name=GENERATOR></HEAD>
<BODY>
<P>
<TABLE border=0 cellPadding=1 cellSpacing=1 width="75%">
  <TR>
    <TD align=left><STRONG>IDW Test for all SAF objects 
      and methods</STRONG>       
      </TD>
    <TD align=left><STRONG>Functional</STRONG></TD>
    <TD align=left><STRONG>Boundary</STRONG></TD>
    <TD align=left><STRONG>Falsification</STRONG></TD>
    <TD align=left><STRONG>Localization</STRONG></TD></TR>  
  <TR>
    <TD align=left>
      <P>Vendor ID: <INPUT id=txtVendorID name=text1 
      style="HEIGHT: 22px; WIDTH: 450px"></P></TD>
    <TD align=left>
      <P align=center><INPUT id=rdoVendorIDFunctional name=rdoVendorID type=radio CHECKED></P></TD>
    <TD align=left disabled>
      <P align=center><INPUT id=rdoVendorIDBoundary name=rdoVendorID type=radio></P></TD>
    <TD align=left disabled>
      <P align=center><INPUT id=rdoVendorIDFalsification name=rdoVendorID type=radio></P></TD>
    <TD align=left disabled>
      <P align=center><INPUT id=rdoVendorIDLocalization name=rdoVendorID type=radio 
      disabled></P></TD></TR>
  <TR>
    <TD align=left>Product ID: <INPUT id=txtProductID name=text2 
      style="HEIGHT: 22px; WIDTH: 447px"></TD>
    <TD align=middle><INPUT id=rdoProductIDFunctional name=rdoProductID
      type=radio CHECKED></TD>
    <TD align=middle><INPUT id=rdoProductIDBoundary name=rdoProductID
      type=radio disabled></TD>
    <TD align=middle><INPUT id=rdoProductIDFalsification name=rdoProductID
      type=radio disabled></TD>
    <TD align=middle><INPUT id=rdoProductIDLocalization name=rdoProductID
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>New Incident URL: <INPUT id=txtNewIncidentURL maxLength=263 
      name=text3 style="HEIGHT: 22px; WIDTH: 399px"></TD>
    <TD align=middle><INPUT id=rdoNewIncidentURLFunctional name=rdoNewIncidentURL
      type=radio CHECKED></TD>
    <TD align=middle><INPUT id=rdoNewIncidentURLBoundary name=rdoNewIncidentURL
      type=radio></TD>
    <TD align=middle><INPUT id=rdoNewIncidentURLFalsification name=rdoNewIncidentURL
      type=radio></TD>
    <TD align=middle><INPUT id=rdoNewIncidentURLLocalization name=rdoNewIncidentURL
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>New Incident Display String: <INPUT 
      id=txtNewIncidentDisplayString name=text4 
      style="HEIGHT: 22px; WIDTH: 343px"></TD>
    <TD align=middle><INPUT id=rdoNewIncidentDisplayStringFunctional name=rdoNewIncidentDisplayString
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoNewIncidentDisplayStringBoundary name=rdoNewIncidentDisplayString
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoNewIncidentDisplayStringFalsification name=rdoNewIncidentDisplayString
      type=radio></TD>
    <TD align=middle><INPUT id=rdoNewIncidentDisplayStringLocalization name=rdoNewIncidentDisplayString
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>First Display String Change: <INPUT 
      id=txtFirstDisplayStringChange name=text5 
      style="HEIGHT: 22px; WIDTH: 350px"></TD>
    <TD align=middle><INPUT id=rdoFirstDisplayStringChangeFunctional name=rdoFirstDisplayStringChange
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoFirstDisplayStringChangeBoundary name=rdoFirstDisplayStringChange
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoFirstDisplayStringChangeFalsification name=rdoFirstDisplayStringChange
      type=radio></TD>
    <TD align=middle><INPUT id=rdoFirstDisplayStringChangeLocalization name=rdoFirstDisplayStringChange
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>First URL String Change: <INPUT id=txtFirstURLStringChange 
      name=text6 style="HEIGHT: 22px; WIDTH: 364px"></TD>
    <TD align=middle><INPUT id=rdoFirstURLStringChangeFunctional name=rdoFirstURLStringChange
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoFirstURLStringChangeBoundary name=rdoFirstURLStringChange
      type=radio></TD>
    <TD align=middle><INPUT id=rdoFirstURLStringChangeFalsification name=rdoFirstURLStringChange
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoFirstURLStringChangeLocalization name=rdoFirstURLStringChange
      
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>Second Display String Change: <INPUT 
      id=txtSecondDisplayStringChange name=text7 
      style="HEIGHT: 22px; WIDTH: 332px"></TD>
    <TD align=middle><INPUT id=rdoSecondDisplayStringChangeFunctional name=rdoSecondDisplayStringChange
      type=radio CHECKED></TD>
    <TD align=middle><INPUT id=rdoSecondDisplayStringChangeBoundary name=rdoSecondDisplayStringChange
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoSecondDisplayStringChangeFalsification name=rdoSecondDisplayStringChange
      type=radio></TD>
    <TD align=middle><INPUT id=rdoSecondDisplayStringChangeLocalization name=rdoSecondDisplayStringChange
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>
      <P>Second URL String Change: <INPUT id=txtSecondURLStringChange name=text8 
      style="HEIGHT: 22px; WIDTH: 348px"></P></TD>
    <TD align=middle><INPUT id=rdoSecondURLStringChangeFunctional name=rdoSecondURLStringChange
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoSecondURLStringChangeBoundary name=rdoSecondURLStringChange
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoSecondURLStringChangeFalsification name=rdoSecondURLStringChange
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoSecondURLStringChangeLocalization name=rdoSecondURLStringChange
      
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>Incident Object User Name: <INPUT 
      id=txtIncidentObjectUserName name=text9 
    style="HEIGHT: 22px; WIDTH: 350px"></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectUserNameFunctional name=rdoIncidentObjectUserName
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectUserNameBoundary name=rdoIncidentObjectUserName
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectUserNameFalsification name=rdoIncidentObjectUserName
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectUserNameLocalization name=rdoIncidentObjectUserName
      
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>Incident Object Product ID: <INPUT 
      id=txtIncidentObjectProductID name=text10 
      style="HEIGHT: 22px; WIDTH: 353px"></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductIDFunctional name=rdoIncidentObjectProductID
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductIDBoundary name=rdoIncidentObjectProductID
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductIDFalsification name=rdoIncidentObjectProductID
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductIDLocalization name=rdoIncidentObjectProductID
      
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>Incident Object Product Name: <INPUT 
      id=txtIncidentObjectProductName name=text11 
      style="HEIGHT: 22px; WIDTH: 332px"></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductNameFunctional name=rdoIncidentObjectProductName
      type=radio CHECKED></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductNameBoundary name=rdoIncidentObjectProductName
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductNameFalsification name=rdoIncidentObjectProductName
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProductNameLocalization name=rdoIncidentObjectProductName
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>Incident Object ProblemDescription: <INPUT 
      id=txtIncidentObjectProblemDescription name=text12 
      style="HEIGHT: 22px; WIDTH: 300px"></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionFunctional name=rdoIncidentObjectProblemDescription
      type=radio CHECKED></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionBoundary name=rdoIncidentObjectProblemDescription
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionFalsification name=rdoIncidentObjectProblemDescription
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionLocalization name=rdoIncidentObjectProblemDescription
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>Incident Object File Name: <INPUT 
      id=txtIncidentObjectFileName maxLength=260 name=text13 
      style="HEIGHT: 22px; WIDTH: 357px"></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectFileNameFunctional name=rdoIncidentObjectFileName
       
      type=radio CHECKED 
     ></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectFileNameBoundary name=rdoIncidentObjectFileName
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectFileNameFalsification name=rdoIncidentObjectFileName
      
      type=radio></TD>
    <TD align=middle><INPUT id=rdoIncidentObjectFileNameLocalization name=rdoIncidentObjectFileName
      
      type=radio disabled></TD></TR>
  <TR>
    <TD align=left>
      <P><INPUT id=btnStartTests name=button1 type=button value="Start Test"></P></TD>
    <TD align=middle></TD>
    <TD align=middle></TD>
    <TD align=middle></TD>
    <TD align=middle></TD></TR></TABLE>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
<Script language=VBScript>

Set fsoObject = CreateObject("Scripting.FileSystemObject")
Set shellObject = CreateObject("Wscript.Shell")

Dim strOpenedTime
Dim strClosedTime
Dim incidentItemObject
Dim channelObject
Dim incidentObject
Dim strVendorID
Dim strProductID
Dim strWindowsFolder
Dim strSystemFolder
Dim strTemporaryFolder
Dim intUniqueNumber
Dim strNewIncidentURL
Dim strNewIncidentDisplay
Dim strSetFirstNewDisplayString
Dim strSetFirstNewURL
Dim strSetSecondNewDisplayString
Dim strSetSecondNewURL
Dim intIncidentIndexNumber
Dim strIncidentObjectUserName
Dim strIncidentObjectProductID
Dim strIncidentObjectProductName
Dim strIncidentObjectProblemDescription
Dim strIncidentObjectFileName
Dim tempChannelObject
Dim tempChannelIncidents
Dim intOriginalGetAllIncidentsCount
Dim intOriginalGetOpenIncidentsCount
Dim intOriginalGetClosedIncidentsCount
Dim intErrorNumber
Dim strErrorDescription

Const pchAllIncidents = 1
Const pchOpenIncidents = 2
Const pchClosedIncidents = 3
Const pchIncidentOpen = 1
Const pchIncidentClosed = 2
Const WindowsFolder = 0
Const SystemFolder = 1
Const TemporaryFolder = 2

strVendorIDFunctional = "CN=Microsoft Corporation,L=Redmond,S=Washington,C=US"
strProductIDFunctional = "Microsoft Millennium Beta"
strNewIncidentURLFunctional = "http://NewIncident" & intUniqueNumber
strNewIncidentURLBoundary = "http://1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456"
strNewIncidentURLFalsification = ""
strNewIncidentURLLocalization = ""
strNewIncidentDisplayStringFunctional = "This is an IDW Test incident !#$%&amp;()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
strNewIncidentDisplayStringBoundary = ""
strNewIncidentDisplayStringFalsification = ""
strNewIncidentDisplayStringLocalization = ""
strFirstDisplayStringChangeFunctional = "New First IDW Display String " & intUniqueNumber
strFirstDisplayStringChangeBoundary = ""
strFirstDisplayStringChangeFalsification = ""
strFirstDisplayStringChangeLocalization = ""
strFirstURLStringChangeFunctional = "http://IDW_FIRST_URL_CHANGE_TEST/" & intUniqueNumber
strFirstURLStringChangeBoundary = ""
strFirstURLStringChangeFalsification = ""
strFirstURLStringChangeLocalization = ""
strSecondDisplayStringChangeFunctional = "A very quick brown fox jumped over the lazy dogs. New Second IDW Display String?  " & intUniqueNumber
strSecondDisplayStringChangeBoundary = ""
strSecondDisplayStringChangeFalsification = ""
strSecondDisplayStringChangeLocalization = ""
strSecondURLStringChangeFunctional = "http://IDW_SECOND_URL_CHANGE_TEST/" & intUniqueNumber
strSecondURLStringChangeBoundary = ""
strSecondURLStringChangeFalsification = ""
strSecondURLStringChangeLocalization = ""
strIncidentObjectUserNameFunctional = "Incident Object User Name"
strIncidentObjectUserNameBoundary = ""
strIncidentObjectUserNameFalsification = ""
strIncidentObjectUserNameLocalization = ""
strIncidentObjectProductIDFunctional = "Incident Object Product ID #1234567890"
strIncidentObjectProductIDBoundary = ""
strIncidentObjectProductIDFalsification = ""
strIncidentObjectProductIDLocalization = ""
strIncidentObjectProductNameFunctional = "Incident Object Product Name"
strIncidentObjectProductNameBoundary = ""
strIncidentObjectProductNameFalsification = ""
strIncidentObjectProductNameLocalization = ""
strIncidentObjectProblemDescriptionFunctional = "Incident Object Problem Description, 1234567890"
strIncidentObjectProblemDescriptionBoundary = ""
strIncidentObjectProblemDescriptionFalsification = ""
strIncidentObjectProblemDescriptionLocalization = ""
strIncidentObjectFileNameFunctional = strTemporaryFolder & "\incidentObjectTestFile.txt"
strIncidentObjectFileNameBoundary = ""
strIncidentObjectFileNameFalsification = ""
strIncidentObjectFileNameLocalization = ""


intUniqueNumber = getUniqueNumber()
strTemporaryFolder = fsoObject.GetSpecialFolder(TemporaryFolder)

txtVendorID.innerText = strVendorIDFunctional
txtProductID.innerText = strProductIDFunctional
txtNewIncidentURL.innerText = strNewIncidentURLFunctional
txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringFunctional
txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeFunctional
txtFirstURLStringChange.innerText = strFirstURLStringChangeFunctional
txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeFunctional
txtSecondURLStringChange.innerText = strSecondURLStringChangeFunctional
txtIncidentObjectUserName.innerText = strIncidentObjectUserNameFunctional
txtIncidentObjectProductID.innerText = strIncidentObjectProductIDFunctional
txtIncidentObjectProductName.innerText = strIncidentObjectProductNameFunctional
txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionFunctional
txtIncidentObjectFileName.innerText = strIncidentObjectFileNameFunctional


Public Sub rdoIncidentObjectFileNameLocalization_OnClick()

txtIncidentObjectFileName.innerText = strIncidentObjectFileNameLocalization

End Sub

Public Sub rdoIncidentObjectFileNameFalsification_OnClick()

txtIncidentObjectFileName.innerText = strIncidentObjectFileNameFalsification

End Sub

Public Sub rdoIncidentObjectFileNameBoundary_OnClick()

txtIncidentObjectFileName.innerText = strIncidentObjectFileNameBoundary

End Sub

Public Sub rdoIncidentObjectFileNameFunctional_OnClick()

txtIncidentObjectFileName.innerText = strIncidentObjectFileNameFunctional

End Sub

Public Sub rdoIncidentObjectProblemDescriptionLocalization_OnClick()

txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionLocalization

End Sub

Public Sub rdoIncidentObjectProblemDescriptionFalsification_OnClick()

txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionFalsification

End Sub

Public Sub rdoIncidentObjectProblemDescriptionBoundary_OnClick()

txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionBoundary

End Sub

Public Sub rdoIncidentObjectProblemDescriptionFunctional_OnClick()

txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionFunctional

End Sub

Public Sub rdoIncidentObjectProductNameLocalization_OnClick()

txtIncidentObjectProductName.innerText = strIncidentObjectProductNameLocalization

End Sub

Public Sub rdoIncidentObjectProductNameFalsification_OnClick()

txtIncidentObjectProductName.innerText = strIncidentObjectProductNameFalsification

End Sub

Public Sub rdoIncidentObjectProductNameBoundary_OnClick()

txtIncidentObjectProductName.innerText = strIncidentObjectProductNameBoundary

End Sub

Public Sub rdoIncidentObjectProductNameFunctional_OnClick()

txtIncidentObjectProductName.innerText = strIncidentObjectProductNameFunctional

End Sub

Public Sub rdoIncidentObjectProductIDLocalization_OnClick()

txtIncidentObjectProductID.innerText = strIncidentObjectProductIDLocalization

End Sub

Public Sub rdoIncidentObjectProductIDFalsification_OnClick()

txtIncidentObjectProductID.innerText = strIncidentObjectProductIDFalsification

End Sub

Public Sub rdoIncidentObjectProductIDBoundary_OnClick()

txtIncidentObjectProductID.innerText = strIncidentObjectProductIDBoundary

End Sub

Public Sub rdoIncidentObjectProductIDFunctional_OnClick()

txtIncidentObjectProductID.innerText = strIncidentObjectProductIDFunctional

End Sub

Public Sub rdoIncidentObjectUserNameLocalization_OnClick()

txtIncidentObjectUserName.innerText = strIncidentObjectUserNameLocalization

End Sub

Public Sub rdoIncidentObjectUserNameFalsification_OnClick()

txtIncidentObjectUserName.innerText = strIncidentObjectUserNameFalsification

End Sub

Public Sub rdoIncidentObjectUserNameBoundary_OnClick()

txtIncidentObjectUserName.innerText = strIncidentObjectUserNameBoundary

End Sub

Public Sub rdoIncidentObjectUserNameFunctional_OnClick()

txtIncidentObjectUserName.innerText = strIncidentObjectUserNameFunctional

End Sub

Public Sub rdoSecondURLStringChangeLocalization_OnClick()

txtSecondURLStringChange.innerText = strSecondURLStringChangeLocalization

End Sub

Public Sub rdoSecondURLStringChangeFalsification_OnClick()

txtSecondURLStringChange.innerText = strSecondURLStringChangeFalsification

End Sub

Public Sub rdoSecondURLStringChangeBoundary_OnClick()

txtSecondURLStringChange.innerText = strSecondURLStringChangeBoundary

End Sub

Public Sub rdoSecondURLStringChangeFunctional_OnClick()

txtSecondURLStringChange.innerText = strSecondURLStringChangeFunctional

End Sub

Public Sub rdoSecondDisplayStringChangeLocalization_OnClick()

txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeLocalization

End Sub

Public Sub rdoSecondDisplayStringChangeFalsification_OnClick()

txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeFalsification

End Sub

Public Sub rdoSecondDisplayStringChangeBoundary_OnClick()

txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeBoundary

End Sub

Public Sub rdoSecondDisplayStringChangeFunctional_OnClick()

txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeFunctional

End Sub

Public Sub rdoFirstURLStringChangeLocalization_OnClick()

txtFirstURLStringChange.innerText = strFirstURLStringChangeLocalization

End Sub

Public Sub rdoFirstURLStringChangeFalsification_OnClick()

txtFirstURLStringChange.innerText = strFirstURLStringChangeFalsification

End Sub

Public Sub rdoFirstURLStringChangeBoundary_OnClick()

txtFirstURLStringChange.innerText = strFirstURLStringChangeBoundary

End Sub

Public Sub rdoFirstURLStringChangeFunctional_OnClick()

txtFirstURLStringChange.innerText = strFirstURLStringChangeFunctional

End Sub

Public Sub rdoFirstDisplayStringChangeLocalization_OnClick()

txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeLocalization

End Sub

Public Sub rdoFirstDisplayStringChangeFalsification_OnClick()

txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeFalsification

End Sub

Public Sub rdoFirstDisplayStringChangeBoundary_OnClick()

txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeBoundary

End Sub

Public Sub rdoFirstDisplayStringChangeFunctional_OnClick()

txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeFunctional

End Sub

Public Sub rdoNewIncidentDisplayStringLocalization_OnClick()

txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringLocalization

End Sub

Public Sub rdoNewIncidentDisplayStringFalsification_OnClick()

txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringFalsification

End Sub

Public Sub rdoNewIncidentDisplayStringBoundary_OnClick()

txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringBoundary

End Sub

Public Sub rdoNewIncidentDisplayStringFunctional_OnClick()

txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringFunctional

End Sub

Public Sub rdoNewIncidentURLLocalization_OnClick()

txtNewIncidentURL.innerText = strNewIncidentURLLocalization

End Sub

Public Sub rdoNewIncidentURLFalsification_OnClick()

txtNewIncidentURL.innerText = strNewIncidentURLFalsification

End Sub

Public Sub rdoNewIncidentURLBoundary_OnClick()

txtNewIncidentURL.innerText = strNewIncidentURLBoundary

End Sub

Public Sub rdoNewIncidentURLFunctional_OnClick()

txtNewIncidentURL.innerText = strNewIncidentURLFunctional

End Sub

Public Sub rdoProductIDLocalization_OnClick()

txtProductID.innerText = strProductIDLocalization

End Sub

Public Sub rdoProductIDFalsification_OnClick()

txtProductID.innerText = strProductIDFalsification

End Sub

Public Sub rdoProductIDBoundary_OnClick()

txtProductID.innerText = strProductIDBoundary

End Sub

Public Sub rdoProductIDFunctional_OnClick()

txtProductID.innerText = strProductIDFunctional

End Sub

Public Sub rdoVendorIDLocalization_OnClick()

txtVendorID.innerText = strVendorIDLocalization

End Sub

Public Sub rdoVendorIDFalsification_OnClick()

txtVendorID.innerText = strVendorIDFalsification

End Sub

Public Sub rdoVendorIDBoundary_OnClick()

txtVendorID.innerText = strVendorIDBoundary

End Sub

Public Sub rdoVendorIDFunctional_OnClick()

txtVendorID.innerText = strVendorIDFunctional

End Sub

Public Sub btnStartTests_OnClick()

strVendorID = txtVendorID.value
strProductID = txtProductID.Value 
strWindowsFolder = fsoObject.GetSpecialFolder(WindowsFolder)
strSystemFolder = fsoObject.GetSpecialFolder(SystemFolder)
intUniqueNumber = getUniqueNumber()
strNewIncidentURL = txtNewIncidentURL.Value
strNewIncidentDisplay = txtNewIncidentDisplayString.Value
strSetFirstNewDisplayString = txtFirstDisplayStringChange.Value
strSetFirstNewURL = txtFirstURLStringChange.Value
strSetSecondNewDisplayString = txtSecondDisplayStringChange.Value
strSetSecondNewURL = txtSecondURLStringChange.Value
intIncidentIndexNumber = 0
strIncidentObjectUserName = txtIncidentObjectUserName.Value
strIncidentObjectProductID = txtIncidentObjectProductID.Value
strIncidentObjectProductName = txtIncidentObjectProductName.Value
strIncidentObjectProblemDescription = txtIncidentObjectProblemDescription.Value
strIncidentObjectFileName = txtIncidentObjectFileName.Value

Set channelObject = pchealth.CreateObject_Channel(strVendorID, strProductID)
Set tempChannelObject = pchealth.CreateObject_channel(strVendorID, strProductID)
Set incidentObject = pchealth.CreateObject_Incident()

CloseAllIncidents()
GetVendorID()
GetProductID()
GetVendorName()
GetProductName()
document.write "Inital Incident Count: <BR>"
document.write "No Result Is Expected <BR>"
intOriginalGetAllIncidentsCount = GetAllIncidentsCount()
intOriginalGetOpenIncidentsCount = GetOpenIncidentsCount()
intOriginalGetClosedIncidentsCount = GetClosedIncidentsCount()
document.write "<HR>"
'Record a new incident here
strReturnedNewIncidentURL = RecordNewIncident(strNewIncidentURL, strNewIncidentDisplay)
sortAllIncidents()
CheckIncidentStatus(pchIncidentOpen)
SetNewDisplayString(strSetFirstNewDisplayString)
SetNewURL(strSetFirstNewURL)
CloseNewIncident(strReturnedNewIncidentURL)
CheckIncidentStatus(pchIncidentClosed)
SetNewDisplayString(strSetSecondNewDisplayString)
SetNewURL(strSetSecondNewURL)
CheckCreationTime(strOpenedTime)
CheckClosedTime(strClosedTime)
incidentObjectBinFileSave()
incidentObjectBinFileLoad()

End Sub

Public Sub ErrorHandler()

'Error Handler Routine
'If Err.number <> 0 Then
	'strErrorDescription = Err.description
	'intErrorNumber = Err.number
	'ErrorHandler()
'End If

If strErrorDescription = "Record already exists." Then
	document.write "<FONT color=red><STRONG>An incident with this URL already exists. Please use another URL to record an incident.<BR>This will cause further errors.</STRONG></FONT><BR>"
	document.write "Returned Error Number: " & intErrorNumber & "<BR>"
	document.write "Returned Error Description: " & strErrorDescription & "<BR>"
End If

If strErrorDescription = "Record not found." Then
	document.write "<FONT color=red><STRONG>An incident with this URL cannot be found. Please recheck your URL so you may close this incident.<BR>This will cause further errors.</STRONG></FONT><BR>"
	document.write "Returned Error Number: " & intErrorNumber & "<BR>"
	document.write "Returned Error Description: " & strErrorDescription & "<BR>"
End If

If strErrorDescription = "The filename or extension is too long." Then
	document.write "<FONT color=red><STRONG>The file path or file extention is to long.  Please change the filename or extention to fit the file system parameters.<BR>This will cause further errors.</STRONG></FONT><BR>"
	document.write "Returned Error Number: " & intErrorNumber & "<BR>"
	document.write "Returned Error Description: " & strErrorDescription & "<BR>"
End If

End Sub

Public Sub incidentObjectBinFileLoad()

On Error Resume Next

incidentObject.Load strIncidentObjectFileName

If Err.number <> 0 Then
	strErrorDescription = Err.description
	intErrorNumber = Err.number
	ErrorHandler()
End If

strReturnedIncidentObjectUserName = incidentObject.UserName
strReturnedIncidentObjectProductID = incidentObject.ProductID
strReturnedIncidentObjectProductName = incidentObject.ProductName
strReturnedIncidentObjectProblemDescription = incidentObject.ProblemDescription

document.write "Load Incident Object Information From Bin File<BR>"
document.write "Returned User Name: " & strReturnedIncidentObjectUserName & "<BR>"
document.write "Returned Product ID: " & strReturnedIncidentObjectProductID & "<BR>"
document.write "Returned Product Name: " & strReturnedIncidentObjectProductName & "<BR>"
document.write "Returned Problem Description: " & strReturnedIncidentObjectProblemDescription & "<BR>"

If strReturnedIncidentObjectUserName = strIncidentObjectUserName Then
	strReturnedIncidentObjectUserNameResult = "<li>User Name Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strReturnedIncidentObjectUserNameResult = "<li>User Name Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

If strReturnedIncidentObjectProductID = strIncidentObjectProductID Then
	strReturnedIncidentObjectProductIDResult = "<li>Product ID Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strReturnedIncidentObjectProductIDResult = "<li>Product ID Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

If strReturnedIncidentObjectProductName = strIncidentObjectProductName Then
	strReturnedIncidentObjectProductNameResult = "<li>Product Name Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strReturnedIncidentObjectProductNameResult = "<li>Product Name Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

If strReturnedIncidentObjectProblemDescription = strIncidentObjectProblemDescription Then
	strReturnedIncidentObjectProblemDescriptionResult = "<li>Problem Description Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strReturnedIncidentObjectProblemDescriptionResult = "<li>Problem Description Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strReturnedIncidentObjectUserNameResult
document.write strReturnedIncidentObjectProductIDResult
document.write strReturnedIncidentObjectProductNameResult
document.write strReturnedIncidentObjectProblemDescriptionResult

document.write "<HR>"

End Sub

Public Sub incidentObjectBinFileSave()

On Error Resume Next

document.write "Save Incident Object Information to Bin File<BR>"
document.write "User Name: " & strIncidentObjectUserName & "<BR>"
document.write "Product ID: " & strIncidentObjectProductID & "<BR>"
document.write "Product Name: " & strIncidentObjectProductName & "<BR>"
document.write "Problem Description: " & strIncidentObjectProblemDescription & "<BR>"


If fsoObject.FileExists(strIncidentObjectFileName) Then
	fsoObject.DeleteFile(strIncidentObjectFileName)
End If

incidentObject.UserName = strIncidentObjectUserName
incidentObject.ProductID = strIncidentObjectProductID
incidentObject.ProductName = strIncidentObjectProductName
incidentObject.ProblemDescription = strIncidentObjectProblemDescription

incidentObject.Save strIncidentObjectFileName

If Err.number <> 0 Then
	strErrorDescription = Err.description
	intErrorNumber = Err.number
	ErrorHandler()
End If

document.write "File Name: " & strIncidentObjectFileName & "<BR>"

End Sub

Public Sub CheckIncidentStatus(intStatusShouldBe)

Err.Clear

On Error Resume Next

intReturnedStatus = incidentItemObject.Status

document.write "Current Status Test<BR>"
document.write "Status Should Be: " & intStatusShouldBe & "<BR>"
document.write "Returned status: " & intReturnedStatus & "<BR>"

If intReturnedStatus = intStatusShouldBe Then
	strStatusTestResult = "<li>Status Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strStatusTestResult = "<li>Status Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strStatusTestResult
If Err.number <> 0 Then
	document.write Err.number & " : " & Err.description & "<BR>"
End If
document.write "<HR>"

Err.Clear

End Sub

Public Sub CheckClosedTime(strClosedTime)

Err.Clear

On Error Resume Next

strReturnedClosedTime = incidentItemObject.ClosedTime

document.write "Creation Time Test<BR>"
document.write "Opened Time: " & strOpenedTime & "<BR>"
document.write "Returned Creation Time: " & strReturnedClosedTime & "<BR>"

If strReturnedClosedTime = strOpenedTime Then
	strClosedTimeTestResult = "<li>ClosedTime Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strClosedTimeTestResult = "<li>ClosedTime Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strClosedTimeTestResult
document.write Err.number & " : " & Err.description & "<BR>"
document.write "<HR>"

Err.Clear

End Sub

Public Sub CheckCreationTime(strOpenedTime)

strReturnedCreationTime = incidentItemObject.CreationTime

document.write "Creation Time Test<BR>"
document.write "Opened Time: " & strOpenedTime & "<BR>"
document.write "Returned Creation Time: " & strReturnedCreationTime & "<BR>"

If strReturnedCreationTime = strOpenedTime Then
	strCreationTimeTestResult = "<li>Creation Time Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strCreationTimeTestResult = "<li>Creation Time Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strCreationTimeTestResult
document.write "<HR>"

End Sub

Public Function getUniqueNumber()

strUniqueNumber = Second(Now) & Minute(Now) & Hour(Now) & Int((Second(Now) & Minute(Now) & Hour(Now)) * Rnd)
getUniqueNumber = strUniqueNumber

End Function

Public Sub SetNewURL(strSetNewURL)

document.write "Set New URL Test<BR>"

strOriginalURL = incidentItemObject.URL
incidentItemObject.URL = strSetNewURL
strNewReturnedURL = incidentItemObject.URL


document.write "Original Returned String: " & strOriginalURL & "<BR>"
document.write "New String: " & strNewReturnedURL & "<BR>"

checkURLChangeResults strOriginalURL, strNewReturnedURL, strSetNewURL

document.write "<HR>"

End Sub

Public Sub CheckURLChangeResults(strOriginalURL, strNewReturnedURL, strSetNewURL)

strMethodToVerify = "URL"

If strOriginalURL = strNewReturnedURL Then
	strURLDifferentResult = "<li>URL Returned Different Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
Else
	strURLDifferentResult = "<li>URL Returned Different Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
End If

If strNewReturnedURL = strSetNewURL Then
	strURLMatchResult = "<li>URL Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strURLMatchResult = "<li>URL Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

If strNewReturnedURL = VerifyChangeWithOtherObject(strMethodToVerify) Then
	strOtherObjectURLMatchResult = "<li>URL Other Object Check Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strOtherObjectURLMatchResult = "<li>URL Other Object Check Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strURLDifferentResult
document.write strURLMatchResult
document.write strOtherObjectURLMatchResult

End Sub

Public Sub CloseAllIncidents()

Err.Clear

set channelIncidents = channelObject.Incidents(pchOpenIncidents)

If Err.Number = 0 Then
	If channelIncidents.Count > 0 Then
		
		i = 0
	
		For Each oItem in channelIncidents
			Set incidentItemObject = channelIncidents.Item(i)
			strURL = incidentItemObject.URL
			document.write "<BR>"
			document.write strURL & "<BR>"
			channelObject.CloseIncident strURL
			strClosedURL = incidentItemObject.URL
			document.write strClosedURL
			i = i + 1
		Next
	End If
End If

Err.Clear

End Sub

Public Function VerifyChangeWithOtherObject(strMethodToVerify)

'Set tempChannelObject = pchealth.CreateObject_channel(strVendorID, strProductID)
Set tempChannelIncidents = tempChannelObject.Incidents(pchAllIncidents)

Err.Clear

If Err.Number = 0 Then
	If tempChannelIncidents.Count > 0 Then

		' This is where we start to sort
		Dim arrayCount 
		Dim sortTemp
		ReDim sortTemp(tempChannelIncidents.Count)
		arrayCount = 0
		For Each oItem in tempChannelIncidents
			set sortTemp(arrayCount) = oItem
			arrayCount = arrayCount + 1
		Next

		'Sort Here
		For arrayCount = o to tempChannelIncidents.Count - 2
			For arraySortCount = arrayCount + 1 to tempChannelIncidents.Count - 1
				If sortTemp(arrayCount).CreationTime < sortTemp(arraySortCount).CreationTime Then
					Dim additionalSortTemp
					Set additionalSortTemp = sortTemp(arrayCount)
					Set sortTemp(arrayCount) = sortTemp(arraySortCount)
              		Set sortTemp(arraySortCount) = additionalSortTemp
				End If
			Next
		Next
	End If
End If

Err.Clear

Set tempIncidentItemObject = tempChannelIncidents.Item(intIncidentIndexNumber)

If strMethodToVerify = "DisplayString" Then
	strResult = tempIncidentItemObject.DisplayString
	document.write "Other Object Return Check: " & strResult & "<BR>"
	VerifyChangeWithOtherObject = strResult
ElseIf strMethodToVerify = "URL" Then
	strResult = tempIncidentItemObject.URL
	document.write "Other Object Return Check: " & strResult & "<BR>"
	VerifyChangeWithOtherObject = strResult
ElseIf strMethodToVerify = "Status" Then
	strResult = tempIncidentItemObject.Status
	document.write "Other Object Return Check: " & strResult & "<BR>"
	VerifyChangeWithOtherObject = strResult
Else
	document.write "<FONT color=red><STRONG>Error checking other object</STRONG></FONT> <BR>"
End If

'Set tempChannelObject = nothing
set tempChannelIncidents = nothing

End Function

Public Sub SetNewDisplayString(strSetNewDisplayString)

document.write "Set New Display String Test<BR>"

strOriginalDisplayString = incidentItemObject.DisplayString
incidentItemObject.DisplayString = strSetNewDisplayString
strNewReturnedDisplayString = incidentItemObject.DisplayString

document.write "Original Returned String: " & strOriginalDisplayString & "<BR>"
document.write "New String: " & strNewReturnedDisplayString & "<BR>"

CheckDisplayStringResults strOriginalDisplayString, strNewReturnedDisplayString, strSetNewDisplayString

document.write "<HR>"

End Sub

Public Sub CheckDisplayStringResults(strOriginalDisplayString, strNewReturnedDisplayString, strSetNewDisplayString)

strMethodToVerify = "DisplayString"

If strOriginalDisplayString = strNewReturnedDisplayString Then
	strDisplayStringDifferentResult = "<li>Display Returned String Different Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
Else
	strDisplayStringDifferentResult = "<li>Display Returned String Different Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
End If

If strNewReturnedDisplayString = strSetNewDisplayString Then
	strDisplayStringMatchResult = "<li>Display Returned String Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strDisplayStringMatchResult = "<li>Display Returned String Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

If strNewReturnedDisplayString = VerifyChangeWithOtherObject(strMethodToVerify) Then
	strOtherObjectDisplayStringMatchResult = "<li>Display Other Object Check String Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strOtherObjectDisplayStringMatchResult = "<li>Display Other Object Check String Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strDisplayStringDifferentResult
document.write strDisplayStringMatchResult
document.write strOtherObjectDisplayStringMatchResult

End Sub

Public Sub sortAllIncidents()

Err.Clear

set channelIncidents = channelObject.Incidents(pchAllIncidents)

If Err.Number = 0 Then
	If channelIncidents.Count > 0 Then

		' This is where we start to sort
		Dim arrayCount 
		Dim sortTemp
		ReDim sortTemp(channelIncidents.Count)
		arrayCount = 0
		For Each oItem in channelIncidents
			set sortTemp(arrayCount) = oItem
			arrayCount = arrayCount + 1
		Next

		'Sort Here
		For arrayCount = o to channelIncidents.Count - 2
			For arraySortCount = arrayCount + 1 to channelIncidents.Count - 1
				If sortTemp(arrayCount).CreationTime < sortTemp(arraySortCount).CreationTime Then
					Dim additionalSortTemp
					Set additionalSortTemp = sortTemp(arrayCount)
					Set sortTemp(arrayCount) = sortTemp(arraySortCount)
              		Set sortTemp(arraySortCount) = additionalSortTemp
				End If
			Next
		Next
	End If
End If

Err.Clear

Set incidentItemObject = channelIncidents.Item(intIncidentIndexNumber)

End Sub

Public Sub CloseNewIncident(strReturnedNewIncidentURL)

On Error Resume Next

document.write "Close New Incident Test<BR>"

channelObject.CloseIncident strReturnedNewIncidentURL

If Err.number <> 0 Then
	strErrorDescription = Err.description
	intErrorNumber = Err.number
	ErrorHandler()
End If

strClosedTime = Now

intNewOpenIncidentCount = GetOpenIncidentsCount()
intNewClosedIncidentCount = GetClosedIncidentsCount()
intNewAllIncidentCount = GetAllIncidentsCount()

If intNewOpenIncidentCount = (intOriginalGetOpenIncidentsCount) Then
	strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"	
Else
	strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If
document.write strOpenIncidentCountResult

If intNewClosedIncidentCount = (intOriginalGetClosedIncidentsCount + 1) Then
	strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strClosedIncidentCountResult

If intNewAllIncidentCount = (intNewClosedIncidentCount + intNewOpenIncidentCount) Then
	strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"	
Else
	strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"	
End If

document.write strAllIncidentCountResult
document.write "<HR>"

End Sub

Public Function RecordNewIncident(strNewIncidentURL, strNewIncidentDisplay)

On Error Resume Next

Err.Clear

document.write "Record New Incident Test<BR>"

channelObject.RecordIncident strNewIncidentDisplay, strNewIncidentURL

If Err.number <> 0 Then
	strErrorDescription = Err.description
	intErrorNumber = Err.number
	ErrorHandler()
End If

strOpenedTime = Now

intNewOpenIncidentCount = GetOpenIncidentsCount()
intNewClosedIncidentCount = GetClosedIncidentsCount()
intNewAllIncidentCount = GetAllIncidentsCount()

If intNewOpenIncidentCount = (intOriginalGetOpenIncidentsCount + 1) Then
	strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strOpenIncidentCountResult

If intNewClosedIncidentCount = (intOriginalGetClosedIncidentsCount + 1) Then
	strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
Else
	strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"	
End If

document.write strClosedIncidentCountResult

If intNewAllIncidentCount = (intOriginalGetAllIncidentsCount + 1) Then
	strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strAllIncidentCountResult

RecordNewIncident = strNewIncidentURL
document.write "<HR>"

End Function

Public Function GetClosedIncidentsCount()

set channelIncidents = channelObject.Incidents(pchClosedIncidents)

intClosedIncidentsCount = channelIncidents.Count

document.write "Closed Incidents Count: " & intClosedIncidentsCount & "<BR>"

GetClosedIncidentsCount = intClosedIncidentsCount

End Function


Public Function GetOpenIncidentsCount()

set channelIncidents = channelObject.Incidents(pchOpenIncidents)

intOpenIncidentsCount = channelIncidents.Count

document.write "Open Incidents Count: " & intOpenIncidentsCount & "<BR>"

GetOpenIncidentsCount = intOpenIncidentsCount

End Function


Public Function GetAllIncidentsCount()

set channelIncidents = channelObject.Incidents(pchAllIncidents)

intAllIncidentsCount = channelIncidents.Count

document.write "All Incidents Count: " & intAllIncidentsCount & "<BR>"

GetAllIncidentsCount = intAllIncidentsCount

End Function

Public Sub GetProductName()

document.write "Get Product Name Test <BR>"

strProductNameOut = channelObject.ProductName
strRegProductName = shellObject.RegRead("HKLM\Software\Microsoft\PCHealth\HelpCenter\SAF\Channel\" & strVendorID & "\" & strProductID & "\Description")

document.write "From Channel.ProductName: " & strProductNameOut & "<BR>"
document.write "From Registry: " & strRegProductName & "<BR>"

If strProductNameOut = strRegProductName Then
	strGetProductNameResult = "<li>GetProductName Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strGetProductNameResult = "<li>GetProductName Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strGetProductNameResult
document.write "<HR>"

End Sub

Public Sub GetVendorName()

document.write "Get Vendor Name Test <BR>"

strVendorNameOut = channelObject.VendorName
strRegVendorName = shellObject.RegRead("HKLM\Software\Microsoft\PCHealth\HelpCenter\SAF\Channel\" & strVendorID & "\CompanyName")

document.write "From Channel.VendorName: " & strVendorNameOut & "<BR>"
document.write "From Registry: " & strRegVendorName & "<BR>"

If strVendorNameOut = strRegVendorName Then
	strGetVendorNameResult = "<li>GetVendorName Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strGetVendorNameResult = "<li>GetVendorName Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strGetVendorNameResult
document.write "<HR>"

End Sub


Public Sub GetProductID()

document.write "Get Product ID Test <BR>"

strProductIDOut = channelObject.ProductID

Document.Write "From Channel.ProductID: " & strProductIDOut & "<BR>"
Document.Write "From Registry: " & strProductID & "<BR>"

If strProductIDOut = strProductID Then
	strGetProductIDResult = "<li>GetProductID Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strGetProductIDResult = "<li>GetProductID Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

document.write strGetProductIDResult
document.write "<HR>"

End Sub


Public Sub GetVendorID()

document.write "Get Vendor ID Test <BR>"

strVendorIdOut = channelObject.VendorID

Document.Write "From Channel.VendorID: " & strVendorIdOut & "<BR>"
Document.Write "Vendor ID: " & strVendorID & "<BR>"

If strVendorIdOut = strVendorID Then
	strGetVendorIDResult = "<li>VendorID Test Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>"
Else
	strGetVendorIDResult = "<li>VendorID Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>"
End If

Document.write strGetVendorIDResult
document.write "<HR>"

End Sub

</Script>

</HTML>