871 lines
24 KiB
HTML
871 lines
24 KiB
HTML
|
<!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 = " " +
|
||
|
ObjSystemRestore.FormatTime( dateRPI ) +
|
||
|
" ";
|
||
|
|
||
|
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> </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"> </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> </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> </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.">
|
||
|
<
|
||
|
</BUTTON>
|
||
|
</TD>
|
||
|
<TD id=L_ButRight align=center valign=center WIDTH="86%">
|
||
|
<DIV id=TxtDateSel class="styTextBold">
|
||
|
|
||
|
</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.">
|
||
|
>
|
||
|
</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%> </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%"> </td>
|
||
|
<td class="styText" width="10%" nowrap>
|
||
|
<button id="BtnBack" class="styButton" onclick="OnBack()" accesskey="B" tabindex=0>
|
||
|
< <U>B</U>ack
|
||
|
</button>
|
||
|
|
||
|
<button id="BtnNext" class="styButton" onclick="OnNext()" accesskey="N" tabindex=0>
|
||
|
<U>N</U>ext >
|
||
|
</button>
|
||
|
|
||
|
<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>
|