|
|
<!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>
|