<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:IE>

<HEAD>
<TITLE>System Restore (Step 1)</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
<OBJECT ID=ObjSystemRestore CLASSID="CLSID:fd589b7c-7ce0-11d3-b9e5-00c04f79e399"></OBJECT>
<SCRIPT ID="RestoreUI" LANGUAGE=JavaScript SRC="RestoreUI.js"></SCRIPT>
<LINK id="UI_StyleSheet" REL="stylesheet" TYPE="text/css" HREF="rstrui.css">

<STYLE>
@media all
{
  IE\:Calendar
  {

    behavior: url(calendar.htc) ;

    cal--title-background-color       : #296695;
    cal--title-font-family            : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--title-font-size              : 8pt;
    cal--title-font-weight            : bold;
    cal--title-text-align             : center;

    cal--dayTitle-background-color    : #b7d7f0;
    cal--dayTitle-color               : #2f6790;
    cal--dayTitle-font-family         : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--dayTitle-font-size           : 8pt;
    cal--dayTitle-font-weight         : bold;
    cal--dayTitle-text-align          : center;

    cal--navButton-background-color   : #b7d7f0;
    cal--navButton-color              : #2f6790;
    cal--navButton-font-family        : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--navButton-font-size          : 8pt;
    cal--navButton-font-weight        : bold;
    cal--navButton-text-align         : center;

    cal--offMonth-background-color    : white;
    cal--offMonth-font-family         : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--offMonth-font-size           : 8pt;
    cal--offMonth-font-weight         : normal;
    cal--offMonth-text-align          : right;
    cal--offMonth-vertical-align      : text-top;

    cal--currentMonth-background-color: white;
    cal--currentMonth-font-family     : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--currentMonth-font-size       : 8pt;
    cal--currentMonth-font-weight     : normal;
    cal--currentMonth-text-align      : right;
    cal--currentMonth-vertical-align  : text-top;

    cal--selectedDay-background-color : #296695;
    cal--selectedDay-color            : white;
    cal--selectedDay-font-family      : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--selectedDay-font-size        : 9pt;
    cal--selectedDay-font-weight      : bold;
    cal--selectedDay-text-align       : right;
    cal--selectedDay-vertical-align   : text-top;

    cal--validDay-background-color    : white;
    cal--validDay-color               : navy;
    cal--validDay-font-family         : Tahoma, Verdana, Franklin Gothic, Arial;
    cal--validDay-font-size           : 9pt;
    cal--validDay-font-weight         : bold;
    cal--validDay-text-align          : right;
    cal--validDay-vertical-align      : text-top;

  }
}
</STYLE>

<script>

var g_bPageLoaded     = false ;
var g_nSelectedPoint  = -1 ;
var g_nRPExistsCurDay = false ;

var L_RPAppInstall_ToolTip        = "Restores your computer to the point before this program was installed";
var L_RPAppUninstall_ToolTip      = "Restores your computer to the point before this program was removed";
var L_RPRestore_ToolTip           = "Restores your computer to the point before this restoration occurred";
var L_RPSysChkPt_ToolTip          = "Restores your computer to this time";
var L_RPDriverInstall_ToolTip     = "Restores your computer to the point before this driver was installed";
var L_RPModifySettings_ToolTip    = "Restores your computer to the point before this program was modified";
var L_RPRecovery_ToolTip          = "Restores your computer to the point before this recovery happened";
var L_RPDefault_ToolTip           = "Restores your computer to this time";
var L_NoRestorePtSelected_Message =
        "Please pick a point to restore your computer to and then click Next.";
var L_NoRestorePtsOnDay_Message   = "There are no restore points created yet for this day. To restore immediately, pick another day and restore point, and then try again.";
var L_NoRestorePts_Message        = "There are currently no restore points available.";

function OnLink_HelpF1()
{
    OnLink_Choose();
}

function UpdateEventList()
{
    var i          = 0 ;
    var varDateSel = ObjSystemRestore.SelectedDate;
    var fRPExists  = false ;
    var nPoint     = ObjSystemRestore.SelectedPoint;
    var nListPoint = 0;
    var nCurPoints = 0;
    var nSel       = 0;

    var oRPList    = window.document.all.LstRestorePoint ;

    //
    // By default nothing selected
    //
    g_nSelectedPoint = -1 ;

    RP_DelAllElements();

    for ( i = ObjSystemRestore.Count;  i > 0;  i-- )
    {
        var rpi = ObjSystemRestore( i-1 );
        dateRPI = rpi.TimeStamp( 0 );
        if ( ObjSystemRestore.CompareDate( varDateSel, dateRPI ) == 0 )
        {
            fRPExists = true ;

            var oEntry      = document.createElement("LI");
            var oDiv        = document.createElement("DIV");
            oDiv.dir        = "ltr";
            oDiv.noWrap     = true;
            oDiv.tabIndex   = -1;
            oDiv.innerHTML  = "&nbsp;&nbsp;" +
                              ObjSystemRestore.FormatTime( dateRPI ) +
                              "&nbsp;&nbsp;";

            var oSpan       = document.createElement("SPAN");
            oSpan.dir       = "ltr";
            oSpan.tabIndex  = -1;
            oSpan.innerText = rpi.Name;
            oDiv.appendChild( oSpan );
            oEntry.appendChild( oDiv );
            oEntry.value     = i-1;
			oEntry.tabIndex = -1;

            //
            // Set tip based on the type of restore point, else go to the nice default tip
            //
            if ( rpi.Type == 0 ) {
                oEntry.title = L_RPAppInstall_ToolTip ;
            }
            else if ( rpi.Type == 1 ) {
                oEntry.title = L_RPAppUninstall_ToolTip ;
            }
            else if ( rpi.Type == 6 ) {
                oEntry.title = L_RPRestore_ToolTip ;
            }
            else if ( rpi.Type == 7 ) {
                oEntry.title = L_RPSysChkPt_ToolTip ;
            }
            else if ( rpi.Type == 10 ) {
                oEntry.title = L_RPDriverInstall_ToolTip ;
            }
            else if ( rpi.Type == 12 ) {
                oEntry.title = L_RPModifySettings_ToolTip ;
            }
            else if ( rpi.Type == 14 ) {
                oEntry.title = L_RPRecovery_ToolTip;
            }
            else {
                oEntry.title = L_RPDefault_ToolTip ;
            };
            //
            // Append element to list
            //
            LstRestorePoint.appendChild(oEntry);

            if ( nPoint == i-1 ) {
                nListPoint = nCurPoints ;
            };
            nCurPoints++;
        }
    }

   if(fRPExists){

       var oNodes =  LstRestorePoint.childNodes;

       if (ObjSystemRestore.RestorePtSelected == false)
       {
       	   nListPoint=0;
           ObjSystemRestore.SelectedPoint = oNodes.item(0).value;       	   
       }
   }

    //
    // If a point has been selected highlight this point
    //
    if ( fRPExists && ObjSystemRestore.RestorePtSelected ) {
        setItem(LstRestorePoint,nListPoint)
    };


    //
    // If there are no restore points on the day then print a message
    // that other days have restore points so check some other day
    //
    if ( fRPExists == false )
    {

            var oEntry        = document.createElement("LI");
            oEntry.innerHTML  = "\<DIV TABINDEX=-1 STYLE=\"margin: 10px;\"\>" +
                                L_NoRestorePtsOnDay_Message +
                                "\<\/DIV\>";
            LstRestorePoint.appendChild(oEntry);
            calgrid.focus();
    }

    //
    // Restore points for the current day
    //
    g_nRPExistsCurDay = fRPExists ;

    TxtDateSel.innerText = ObjSystemRestore.FormatDate( varDateSel, true );
    if ( g_nRPExistsCurDay )
    {
        TxtDateSel.style.color = "FFFFFF";
    }
    else
    {
        TxtDateSel.style.color = "silver";
    }

}

function OnCancel()
{

    if ( ObjSystemRestore.Cancel() )
    {
        external.window.close();
    }

}

function OnBack()
{

    if ( g_bPageLoaded == false )
        return ;

    ObjSystemRestore.CanNavigatePage = true ;
    self.location = "SRUI-Main.htm";

}

function OnNext()
{

    if ( g_bPageLoaded == false )
        return ;

    if (!ObjSystemRestore.CanRunRestore())
    { 
        external.window.close();
        return;
    }

    if ( g_nRPExistsCurDay == false  )
    {
        ObjSystemRestore.ShowMessage( L_NoRestorePtSelected_Message );
    }
    else
    {
        if ( g_nSelectedPoint >= 0 ) {
            if ( ObjSystemRestore.CheckRestore() )
            {
                ObjSystemRestore.CanNavigatePage = true ;
                self.location = "SRUI-Confirm.htm";
            }
        }
        else {
            ObjSystemRestore.ShowMessage( L_NoRestorePtSelected_Message );
        };
    };
}

//
// When user selects the previous day in the restore point list
//
function OnBtnBack()
{
    var varDateSel = ObjSystemRestore.SelectedDate;
    var varDateRPI;
    var varDateTemp = null;


    if ( g_bPageLoaded == false )
        return ;

    //
    // Remove selected restore point
    //
    ObjSystemRestore.RestorePtSelected = false ;


    for ( i = 0;  i < ObjSystemRestore.Count;  i++ )
    {
        varDateRPI = ObjSystemRestore( i ).TimeStamp( 0 );
        if ( ObjSystemRestore.CompareDate( varDateSel, varDateRPI ) > 0 )
            {
               if ( varDateTemp == null || ObjSystemRestore.CompareDate( varDateRPI, varDateTemp ) > 0 )
                   {
                      varDateTemp = varDateRPI;
                   }
            }

    }

    if ( varDateTemp != null )
    {

        ObjSystemRestore.SelectedDate = varDateTemp;
        UpdateEventList();
    }

    //
    // Update the calender with the selected date
    //
    var oCurDate = new Date(ObjSystemRestore.SelectedDate);
    document.all.cal.value = oCurDate.getDate() + "/" + (oCurDate.getMonth()+1) + "/" + oCurDate.getFullYear() ;

}

//
// When user selects next day in the restore point list
//
function OnBtnNext()
{
    var varDateSel = ObjSystemRestore.SelectedDate;
    var varDateRPI;
    var fFoundPoint = false ;
    var varDateTemp = null;

    if ( g_bPageLoaded == false )
        return ;

    //
    // Remove selected restore point and find next restore point,
    // only special case is if there are no restore points and
    // today is higher than the current date then we must navigate
    // to today even though it has no restore points
    //
    ObjSystemRestore.RestorePtSelected = false ;

    for ( i = 0;  i < ObjSystemRestore.Count;  i++ )
    {
        varDateRPI = ObjSystemRestore( i ).TimeStamp( 0 );
        if ( ObjSystemRestore.CompareDate( varDateSel, varDateRPI ) < 0 )
        {

            if ( varDateTemp == null || ObjSystemRestore.CompareDate( varDateRPI, varDateTemp ) < 0 )
                   {
                      varDateTemp = varDateRPI;
                   }

        }
    }

    if (  varDateTemp != null )
    {

            ObjSystemRestore.SelectedDate = varDateTemp;
            UpdateEventList();

    }
    else {

        if ( ObjSystemRestore.CompareDate( varDateSel, ObjSystemRestore.CurrentDate ) < 0 )
        {
            ObjSystemRestore.SelectedDate = ObjSystemRestore.CurrentDate ;
            UpdateEventList();
        }

    }

    //
    // Update the calender with the selected date
    //
    var oCurDate = new Date(ObjSystemRestore.SelectedDate);
    document.all.cal.value = oCurDate.getDate() + "/" + (oCurDate.getMonth()+1) + "/" + oCurDate.getFullYear() ;

}

//
// When user selects a day in the calendar code has to be updated
//
function OnCalDateChange()
{

    var e        = window.event.srcElement ;
    var oNewDate = null ;

    if ( window.event.propertyName == "value" )
    {
        oNewDate = new Date(e.year,(e.month-1),e.day);

        //
        // If a date has been changed/selected by the user set the external date the
        // same and also update the event list
        //
        if ( ObjSystemRestore.CompareDate( ObjSystemRestore.SelectedDate, oNewDate.getVarDate() ) != 0 )
        {

            ObjSystemRestore.RestorePtSelected = false ;

            ObjSystemRestore.SelectedDate = oNewDate.getVarDate() ;

            UpdateEventList();
        }
    };
}

function checkParent(src, tag) {
   while ("HTML" != src.tagName) {
      if (tag == src.tagName)
         return src;
      src = src.parentElement;
   }
   return null;
}

function selectItem(list) {

   var el = checkParent(event.srcElement, "LI");

   //
   // In cases where the UL is selected then we have
   // already gone up past the LI so null will be
   // returned (assuming the page has no other UL's)
   //
   if ( !el )
       return ;

   if ( g_nRPExistsCurDay == false )
       return ;

   if ("LI" == el.tagName && el != list.selected) {
       if (null != list.selected)
       {
           list.selected.className = "";
           list.selected.setAttribute("tabindex" , -1, 0);
       }
       
       el.className = "selected";
       list.selected = el; 
       el.setAttribute("tabindex" , 0, 0);
   }

   if (null != list.selected)
    	list.selected.focus();
    	
   g_nSelectedPoint = getSelectedPoint();

   //
   // Set the new restore point
   //
   if ( getSelectedPoint() >= 0 )
       ObjSystemRestore.SelectedPoint = getSelectedPointValue();

}


//
// Given a list and a value of an element in the list find the element
// and set this element as the selected element
//
function setItem(list,num) {

   var oNodes    = list.childNodes ;
   if ( oNodes.length > 0 ) {

      if ( num >= 0 && num < oNodes.length ) {

           var el = oNodes.item(num);
		   
           if ("LI" == el.tagName && el != list.selected) {
               if (null != list.selected)
               {
                   list.selected.className = "";
                   list.selected.setAttribute("tabindex" , -1, 0);
               }
               
               el.className = "selected";
               list.selected = el; 
               el.setAttribute("tabindex" , 0, 0);
           }
       }
   }

   g_nSelectedPoint = getSelectedPoint();

   //
   // Set the new restore point
   //
   if ( getSelectedPoint() >= 0 )
       ObjSystemRestore.SelectedPoint = getSelectedPointValue();

}

function selectItemKey(list)
{    
	if ( g_nRPExistsCurDay == true )
	{
	    if ( event.keyCode == 38 ) {		// up arrow
	    	setItem(list, g_nSelectedPoint-1); 	
		    window.event.returnValue=true;       	
	    }
	    else if ( event.keyCode == 40 ) {	// down arrow
	    	setItem(list, g_nSelectedPoint+1);   
		    window.event.returnValue=true;       	
	    }    
	    else if ( event.keyCode == 13 ) {	// enter key
	    	OnNext();    		 	
		    window.event.returnValue=false;       	
	    }            
	    if (null != list.selected)
	    	list.selected.focus();
	    window.event.cancelBubble=true;
	}	    
}

function RP_DelAllElements()
{
   var oAttach = window.document.all.LstRestorePoint ;
   var oNodes  = oAttach.childNodes ;
   var nLength = oNodes.length ;
   var nSelected = -1 ;

   while ( oNodes.length > 0 ) {
       oNodes.item(0).removeNode(true);
   }
}


function getSelectedPoint()
{

   var oAttach = window.document.all.LstRestorePoint ;
   var oNodes  = oAttach.childNodes ;
   var nSelected = -1 ;

  if ( oNodes.length > 0 ) {
       for ( i = 0 ; i < oNodes.length ; i++ ) {
           if ( oNodes.item(i) == oAttach.selected ) {
               nSelected = i
               break ;
           };
       }
   };

   return nSelected ;
}

function getSelectedPointValue()
{

   var oAttach = window.document.all.LstRestorePoint ;
   var oNodes  = oAttach.childNodes ;
   var nSelected = -1 ;
   var nValue    = 0 ;

   if ( oNodes.length > 0 ) {
       for ( i = 0 ; i < oNodes.length ; i++ ) {
           if ( oNodes.item(i) == oAttach.selected ) {
               nSelected = i
               nValue    = oNodes.item(i).value ;
               break ;
           };
       }
   };

   return nValue ;
}

</script>

<SCRIPT FOR=window EVENT=onresize>

    ObjSystemRestore.CanNavigatePage = true ;
    self.location = "SRUI-Pick.htm";

</SCRIPT>

<script for=window event=onload>

    var calendar = document.all.cal ;
    var i = 0 ;

    if (!ObjSystemRestore.CanRunRestore())
    { 
        external.window.close();
        return;
    }

    fnSetLowColorImage();

    ObjSystemRestore.CanNavigatePage     = false ;
    window.HomePageBody.style.visibility = "visible";

    //
    // Initialize calendar object with dates
    //
    var oMinDate = new Date(ObjSystemRestore.MinDate);
    var oMaxDate = new Date(ObjSystemRestore.MaxDate);
    var oCurDate = new Date(ObjSystemRestore.CurrentDate);
    var oSelDate ;

   if ( ObjSystemRestore.RestorePtSelected )
    {
        oSelDate = new Date(ObjSystemRestore.SelectedDate);
    }
    else
    {
        oSelDate = new Date(ObjSystemRestore.CurrentDate);
    }

    calendar.minDate      = oMinDate.getDate() + "/" + (oMinDate.getMonth()+1) + "/" + oMinDate.getFullYear() ;
    calendar.maxDate      = oMaxDate.getDate() + "/" + (oMaxDate.getMonth()+1) + "/" + oMaxDate.getFullYear() ;

    for ( i = 0;  i < ObjSystemRestore.Count;  i++ )
    {
        var oRpDate = new Date( ObjSystemRestore( i ).TimeStamp( 0 ) );

        calendar.addValidDate = oRpDate.getDate() + "/" + (oRpDate.getMonth()+1) + "/" + oRpDate.getFullYear() ;

    }

    calendar.addValidDate = oCurDate.getDate() + "/" + (oCurDate.getMonth()+1) + "/" + oCurDate.getFullYear() ;
    calendar.value        = oCurDate.getDate() + "/" + (oCurDate.getMonth()+1) + "/" + oCurDate.getFullYear() ;

    //
    // If a date has already been selected then set this
    // date in the calendar
    //
    if ( ObjSystemRestore.RestorePtSelected )
    {
        document.all.cal.value = oSelDate.getDate() + "/" + (oSelDate.getMonth()+1) + "/" + oSelDate.getFullYear() ;
    }

    //
    // Now make calendar visible
    //
    TdCalendar.style.visibility = "visible";

    if ( ObjSystemRestore.Count == 0 )
    {
        var oEntry        = document.createElement("LI");
        oEntry.innerHTML  = "\<DIV TABINDEX=-1 STYLE=\"margin: 10px;\"\>" +
                            L_NoRestorePts_Message +
                            "\<\/DIV\>";
        LstRestorePoint.appendChild(oEntry);

        window.BtnNext.disabled = true;
        window.BtnCancel.focus();

    }
    else
    {    	
        UpdateEventList();               
        if (null != LstRestorePoint.selected)
        	LstRestorePoint.selected.focus();
    }

    //
    // Set page loaded
    //
    g_bPageLoaded     = true ;

</script>

</HEAD>

<!--

  Body of doc

-->
<BODY ID="HomePageBody">

<!-- 
 Background image located on the bottom right of the page
 -->
<DIV style="position: absolute; bottom: 0px; right: 0px; z-index: -1">
  <img src="watermark.jpg" border=0 width="270" height="297"></DIV>

<table width=100% height=100% cellspacing=0 cellpadding=0 border=0><tbody>

<!--

  Page header

-->
<tr height="60px"><td id="TdBranding" colspan=3  class="styHeaderBlock">
  <table class="styImage" width=100% height=100% cellspacing=0 cellpadding=0 background="SR_Grad.jpg" style="border-collapse: collapse" bordercolor="#111111"><tbody><tr>
    <td width="65px" nowrap>&nbsp;</td>
	  <td width=80% valign=top nowrap>
      <div id="TxtHeader" class="styHeaderText">
        <font color="#FFFFFF">Select a Restore Point </font>
      </div>
    </td>
    <td>
		  <table><tr>
		  <td>
			  <a id="NoLoc1" class="styLink" href="javascript:OnLink_Choose();">
			    <img src="help.gif" border=0 width="32" height="32">
			  </a>
		  </td>
		  <td>
			  <a id="NoLoc1" class="styLink" href="javascript:OnLink_Choose();">
			    <font color="#FFFFFF"> <id id=HelpId>Help</id></font>
			  </a>
		  </td>
		  </tr></table>
      <id id="NoLoc2">&nbsp;</id>
    </td>
  </tr></tbody></table>
</td></tr>

<tr height="3px"><td class="styHorzLine" colspan=3></td></tr>

<!--

  Top anchor

-->
<tr height="25px"><td colspan=3>
  <table width=100% height=100% cellspacing=0 cellpadding=0><tbody><tr>
    <td width=90%></td>
    <td class="styImage">
    </td>
  </tr></tbody></table>
</td></tr>

<tr>
<!-- Left anchor -->
  <td id="NoLoc3" class="styImage" width=8% align=left valign=bottom>
  </td>

  <td>
    <table width=100% height=100% cellspacing=0 cellpadding=0 border=0><tbody>
    <tr>

<!--

  PAGE CONTENT

-->
<td class="styContentBlock">
  <DIV id="TxtMain1" class="styText">
    The following calendar displays in bold all of the dates that have restore
    points available. The list displays the restore points that are available for
    the selected date.
    <br><br>
    Possible types of restore points are: system checkpoints (scheduled restore
    points created by your computer), manual restore points (restore points
    created by you), and installation restore points (automatic restore points created when certain
    programs are installed).
    <br><br>
  </DIV>
  <table cellpadding=0 cellspacing=0><tbody>
    <tr class="styTextBold">
      <td id="TdStep1">
        1. On this calendar, click a bold date.
      </td>
      <td>&nbsp;</td>
      <td id="TdStep2">
        2. On this list, click a restore point.
      </td>
    </tr>
    <tr height=8px colspan=3><td></td></tr>
    <tr>
      <td id="TdCalendar" style="visibility:hidden">
        <IE:Calendar id="cal" ONPROPERTYCHANGE="OnCalDateChange();"> 
        </IE:Calendar>
      </td>

      <td>&nbsp;</td>

      <td>
        <table id="RestorePoint_Cell" STYLE="border : 1px solid black" cellspacing=0 cellpadding=0><tbody>
          <tr CLASS="styNavButtonTable">
            <TD id=L_ButLeft  valign=center>
              <BUTTON CLASS="styNavButtons" id=button1 onclick=OnBtnBack() name=button1 title="Shows the previous day.">
                &lt;
              </BUTTON>
            </TD>
            <TD id=L_ButRight align=center valign=center WIDTH="86%">
              <DIV id=TxtDateSel class="styTextBold">
               &nbsp;
              </DIV>
            </TD>
            <TD id=L_Day_Cell align=right valign=center>
              <BUTTON CLASS="styNavButtons" id=button2 onclick=OnBtnNext() name=button2 title="Shows the next day.">
                &gt;
              </BUTTON>
            </TD>
          </TR>
          <TR>
            <TD id="RestorePointListTD" align=center class="styListCell" colspan=3>
              <DIV align=left ID="RestorePointList" class="styList">
                <UL TABINDEX=-1 ID="LstRestorePoint" ONCLICK="selectItem(this);" ONKEYDOWN="selectItemKey(this);">
                </UL>
              </DIV>
            </TD>
          </TR>
        </tbody></TABLE>
      </td>
    </tr>
  </tbody></table>
</td>

<!-- Right padding -->
      <td class="styText" width=14%>&nbsp;</td>
    </tr>

<!--

  Navigation row

-->
    <tr height="24px">
      <td class="styText" height="12px" colspan=2 nowrap>
        <table cellspacing=0 cellpadding=0 border=0><tbody><tr>
          <td width="70%">&nbsp;</td>
          <td class="styText" width="10%" nowrap>
            <button id="BtnBack" class="styButton" onclick="OnBack()" accesskey="B" tabindex=0>
              &lt; <U>B</U>ack
            </button>
            &nbsp;&nbsp;
            <button id="BtnNext" class="styButton" onclick="OnNext()" accesskey="N" tabindex=0>
              <U>N</U>ext &gt;
            </button>
            &nbsp;&nbsp;
            <button id="BtnCancel" class="styButton" onclick="OnCancel()" accesskey="C" tabindex=0>
              <U>C</U>ancel
            </button>
          </td>
        </tr></tbody></table>
      </td>
    </tr></tbody></table>

  </td>

<!-- Right anchor -->
  <td id="NoLoc4" class="styImage" width=8% align=right valign=bottom>
  </td>
</tr>

<!--

  Bottom anchor

-->
<tr height="24px"><td colspan=3>
  <table width=100% height=100% cellspacing=0 cellpadding=0><tbody><tr>
    <td width=90%></td><td class="styImage">
    </td>
  </tr></tbody></table>
</td></tr>

</tbody></table>
</BODY>
</HTML>