<html>
<head>
<script language="javascript" src="js/comm.js" type="text/javascript"></script>
<script language="javascript">
// import js document
	_import("product");
	_import("function");
	_import("webmenuevent");
	_import("control");
	_import("backupDrive");
	var isMove=true;
</script>
<title>Startup_Disk_Process</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="eval.css" rel="stylesheet" type="text/css" />
<link href="css/main.css" rel="stylesheet" type="text/css" />
<style>
html {
   overflow: hidden;
}
body {
	margin:0px;
	overflow:hidden;
}
</style>
</head><OBJECT  id="BackupNowObject" style="width:0px; height:0px;" classid="clsid:FCB090DF-3E65-4FC2-8501-F12D49692C74" VIEWASTEXT></OBJECT>
<object id="EFBObject" style="width:0px; height:0px;" classid="clsid:2084B004-FB6F-44ea-B170-CFA687E80EB3"></object>
<OBJECT id="TaskList" style="WIDTH:0px; height:0px;" classid="clsid:A9028A4C-BAB2-44C7-9293-20094389F654"></OBJECT>
<OBJECT id="Info_Object" style="WIDTH:0px; height:0px;" classid="clsid:8E2E6427-24FC-43EB-9179-5761CE833C15"></OBJECT>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div style="position:absolute; top:0px; left:0px; width:281px; height:130px;">
<table width="281" height="130" border="0" cellpadding="0" cellspacing="0" style="border:1px solid #265098;">
	<tr>
		<td height="13" bgcolor="#004993" class="arial11black" onMouseDown="if(isMove)window.external.OnMoveWindow();">
			<div class="arial11white" style="padding-left:4px; float:left;" id="Toaster_Title_Name"></div>
			<div class="arial11white" style=" position:absolute; top:0px; left:271px; color:#CCCCCC;">x</div>
		</td>
	</tr>
	<tr height="100%">
		<td valign="top" class="arial11black" style="border-top:1px solid #265098;" height="100%">
			<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
	<tr>
		<td width="70" align="center" valign="top" style="padding-top:6px;"><img src="eval_images/tosterlogo.jpg" width="37" height="35" /></td>
		<td class="arial11black" style="padding-top:5px; padding-right:6px;" valign="top">
			<div class="arial11black" style="padding-bottom:2px;" id="Toaster_ShceduleProcess"></div>					
			<div class="arial11black" id="Toaster_ScheduleName" style="width:180px; padding-bottom:2px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"></div>
			<div class="arial11black" id="ProgressType" style="padding-bottom:2px;"></div>
			<div id="BackupNowProcessBarDiv"></div>
			
		</td>
	</tr>
</table>
		</td>
	</tr>
</table>
</div>
<script language="javascript" type="text/javascript">
function   AE() //Re-write function AE, eliminate the pop message
{
	var statusXml=(RitForAsp.RitReadTactic(0));
	var xmlDoc = new ActiveXObject("Microsoft.xmldom");
	xmlDoc.loadXML(statusXml);
	var isIBPEnabled = xmlDoc.selectSingleNode("/General/EnableRit").text;
	if(isIBPEnabled!=1)	
	{
		xmlDoc.selectSingleNode("/General/EnableRit").text=1;
		var rst1=RitForAsp.RitSaveTactic(0,xmlDoc.xml);
		if (rst1!=0)
		{
			//DC3RIT_popMsg('',264,135,'ok',GS_Back("Setting_EnableIBP_failed_promote"),'alert');
			return true;
		}
		else 
		{
			//DC3RIT_popMsg('',264,135,'ok',GS_Back("Setting_EnableIBP_success_promote"),'info');
		}
		try 
		{ 
			parent.isIBPDisable=false;
		} catch(e){}
		mA=false;
	}
	return false;
}


//////////Check Wether to disable Snapshot
var isIBPInstall=(Info_Object.GetInstallInfo(1)==1?true:false);
var jobInfoXML=TaskList.GetTaskDetail(0,window.external.GetStaticData());
var backupPath="";
backupPath=jobInfoXML.match(/\<path\>\<\!\[CDATA\[(.+)\\[^\\]+\]\]\>/i)[1];//Get backup path
var isDestinationProtectedBySnapshot=(EFBObject.IsRitProtectPath(backupPath)==1);
var isIBPEnable=false;
var isNeedToDisableSnapshot=false;
if(isIBPInstall)
{
	document.write("<OBJECT id=\"RitForAsp\" style=\"WIDTH: 0px; HEIGHT: 0px;display:none;\" classid=\"clsid:077257D1-BA60-4D34-8EA2-7737C3134F58\"></OBJECT>");
	// when no init vp space, then change ibp to no install
	var isIBPInit=(RitForAsp.GetReiniVP()==0?true:false);
	if(isIBPInit){isIBPInstall=false;}
	else{
	//	isIBPInit=(RitForAsp.GetReiniVP()==0?true:false);
		var IBPStateInfoXML=RitForAsp.RitReadTactic(0);
		isIBPEnable=(IBPStateInfoXML.match(/\<EnableRit\>(.+)\<\/EnableRit\>/i)[1]=="1"?true:false);
	}
}
//alert("isIBPInstall="+isIBPInstall+"\nisDestinationProtectedBySnapshot="+isDestinationProtectedBySnapshot+"\nisIBPEnable="+isIBPEnable);
if(isIBPInstall && isDestinationProtectedBySnapshot && isIBPEnable)
{
	//isNeedToDisableSnapshot=true;
}
//alert("isNeedToDisableSnapshot="+isNeedToDisableSnapshot);
if(isNeedToDisableSnapshot)
{
	//alert("disable ibp");
	DE();
}
///////////////////////
//IsUI() иї”е›ћ1иЎЁз¤єжњ‰UIпјЊ0ж—  UI
var uiFlag = window.external.IsUI();
if (parseInt(uiFlag) == 0) {
	_import("overLoad");
}
var backupNowProgressBar = new progressControl(190,"BackupNowProcessBarDiv");
var backupPar;
document.body.onload=function() {
	$("Toaster_Title_Name").innerHTML = FarstoneProductName;
	applyButton();
//	alert("333");window.external.ExitHwnd();return;
	window.external.ShowHwnd();
	//schedule调用的执行接口   Int BackupNow( char *strDesc ) ;
	backupPar = window.external.GetStaticData();
	$("Toaster_ShceduleProcess").innerHTML = GS_Back("Toaster_ShceduleProcess");
	$("Toaster_ScheduleName").innerHTML = GS_Back("Toaster_ScheduleName").replace(/\$Name\$/g,backupPar);
	$("Toaster_ScheduleName").title = $("Toaster_ScheduleName").innerHTML;
	if (BackupNowFunction()) { return; }	
//	if ( BackupNowObject.BackupNow(backupPar,1) !=0 ) {
//		DC3RIT_popMsg('',264,135,'ok',GS_Back("BackupNow_Error"),'alert');
//		window.external.ExitHwnd();
//	}
}
function BackupNowFunction() {
	var backupNowFlag = BackupNowObject.BackupNow(backupPar,1);
	var addValue = AddTaskFunction( backupNowFlag, TaskList, EFBObject );
	switch (parseInt(addValue)) {
		case -2:
			var LXmlString = "<log><taskname>"+backupPar+"</taskname><ifromschedule>1</ifromschedule><errorcode>8</errorcode></log>";
			BackupNowObject.DC30ComInterface(9,LXmlString);
		case -1:
			setTimeout(ExitWindow,100);
			return true;
			break;
		case 0:
			return false;
			break;
		case 1:
			BackupNowFunction();
			break;
	}
}
function BackupNowCancel() {
	window.external.HideHwnd();
}
//备份要求换目录时,1,取得不能选的盘符(dc 30 ocx)BSTR CDC30OcxCtrl::GetBkPtsDosChar() 
//2,设置不能选的盘符BSTR CDC30OcxCtrl::GetBkPtsDosChar() 
//3,显示dialog afx_msg BSTR BrowFolderByCreate(LPCTSTR strIncludeFile, long bWrite);
//or afx_msg BSTR BrowPathCreateNoNet(LPCTSTR strInlude, short iWrite);
//or afx_msg BSTR BrowPathCreateNoCD(LPCTSTR strInclude, short iWrite);
function ChangeHardDisc() {
	var cancelFlag = false;
	while ( !cancelFlag ){
		EFBObject.SetDisableDosChar(BackupNowObject.GetBkPtsDosChar());
		var changePathValue = EFBObject.BrowPathCreateNoCD("",1);
		if ( changePathValue == "" ) {
			var returnValue = DC3RIT_popMsg('',264,135,'ok',GS_Back("Backup_Drivers_Process_JS_Cancel"),'okcancel');
			if ( returnValue == "yes") { 
				BackupNowObject.UserSelNewDir(changePathValue);
				return;
			}
		}
		else {
			if ( BackupNowObject.UserSelNewDir(changePathValue) > 0 ) {
				DC3RIT_popMsg('',264,135,'ok',GS_Back("Backup_Drivers_Process_JS_CannotSelectMount"),'alert');
			}
			else {
				return;
			}
		}
	}
}

function ExitWindow()
{
	if(isNeedToDisableSnapshot)
	{
		//alert("enable ibp");
		AE();
	}
	backupNowProgressBar.setProgress(100);
	window.external.ExitHwnd();
}
</script>
<!--
10	/ 目标路径空间不足             或换光盘时回调以下事件
Void DC30ChangeDirпј€char *strFileName пј‰;
Void UserSelNewDir( char *strPath ) ;
-->
<script language="javascript" for="BackupNowObject" event="DC30ChangeDir(strFileName);">
// true ------ change succeed         false ------- change failed
	ChangeHardDisc();
</script>
<script language="javascript" for="BackupNowObject" event="EndProgress(iCode,describe);">
//progress show what type, 0 -------- erase disc           1 ------------- startup disk
	if ( iCode == 8216 ) {
		var returnValue = window.external.Navigate("mainui/alertSystemBusy.htm?width=300&height=200", 300,200);
		switch (returnValue) {
			case 0:
				window.external.SysBusy();
				break;
			case 1:
				break;
			case 2:
				break;
		}
	}
	else if ( iCode != 0 ) {
		DC3RIT_popMsg('',264,135,'ok',describe,'alert');
	}
	setTimeout(ExitWindow,100);
</script>
<script language="javascript" for="BackupNowObject" event="SetProgressTotal(iTotal,iCur);">
if ( iTotal == 3 ) { $("ProgressType").innerHTML = GS_Back("Toaster_JS_Check");}
else {$("ProgressType").innerHTML = GS_Back("Toaster_JS_Backup");}
backupNowProgressBar.setProgress(iCur);
</script>
<script language="javascript" for="BackupNowObject" event="DC30MessageBox(strMsg, iIcon);">
DCBackupShowMessage(BackupNowObject,strMsg,iIcon);
</script>
</body>
</html>