{if false}
/**
 * SugarCRM is a customer relationship management program developed by
 * SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 3 as published by the
 * Free Software Foundation with the addition of the following permission added
 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, see http://www.gnu.org/licenses or write to the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA.
 * 
 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
 * 
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU General Public License version 3.
 * 
 * In accordance with Section 7(b) of the GNU General Public License version 3,
 * these Appropriate Legal Notices must retain the display of the "Powered by
 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
 * technical reasons, the Appropriate Legal Notices must display the words
 * "Powered by SugarCRM".
 */


{/if}

<script type="text/javascript" language="Javascript" src="modules/UpgradeWizard/upgradeWizard.js"></script>

{$UW_JS}

<div id="title">
{$UW_TITLE}
</div>

<div id="progress" style="display:none;">
{$UW_PROGRESS}
</div>

<div id="message" style="display:none;">
{$UW_MESSAGE}
</div>

<div id="nav">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
	<tr>
		<td style="padding-bottom: 2px;">
<form action="index.php" method="post" name="UpgradeWizardForm" id="form">
	<input type="hidden" name="module" value="UpgradeWizard">
	<input type="hidden" name="action" value="index">
	<input type="hidden" name="step" value="{$UW_STEP}">
	<input type="hidden" name="overwrite_files" id="over">
	<input type="hidden" name="schema_change" id="schema">
	<input type="hidden" name="schema_drop"   id="schema_drop">
	<input type="hidden" name="overwrite_files_serial" id="overwrite_files_serial">
	<input type="hidden" name="addTaskReminder" id="addTaskReminder">
	<input type="hidden" name="addEmailReminder" id="addEmailReminder">
    <link rel='stylesheet' type='text/css' href='include/javascript/yui/assets/container.css' />
		{if $showBack}
			<input	title		= "{$MOD.LBL_BUTTON_BACK}"
					class		= "button"
					onclick		= "this.form.step.value='{$STEP_BACK}';"
					type		= "submit"
					value		= "  {$MOD.LBL_BUTTON_BACK}  ">
		{/if}
		{if $showCancel}
			<input	title		= "{$MOD.LBL_BUTTON_CANCEL}"
					class		= "button"
					onclick		= "cancelUpgrade();this.form.step.value='{$STEP_CANCEL}';"
					type		= "submit"
					value		= "  {$MOD.LBL_BUTTON_CANCEL}  ">
		{/if}
		{if $showRecheck}
			<input	title		= "{$MOD.LBL_BUTTON_RECHECK}"
					class		= "button"
					onclick		= "this.form.step.value='{$STEP_RECHECK}';"
					type		= "submit"
					value		= "  {$MOD.LBL_BUTTON_RECHECK}  ">
		{/if}

		{if $showNext}
			<input	title		= "{$MOD.LBL_BUTTON_NEXT}"
					class		= "button"
					{$disableNextForLicense}
 					onclick	= "upgradeP('{$step}');this.form.step.value='{$STEP_NEXT}'; handlePreflight('{$step}');"
					type		= "submit"
					value		= "  {$MOD.LBL_BUTTON_NEXT}  "
					id			= "next_button" >
		{/if}

</form>
		</td>
	</tr>
</table>
</div>
<br />
<div id="main">
<table width="100%" border="0" cellpadding="0" cellpadding="0" class="tabDetailView">
{if $frozen}
	<tr>
		<td colspan="2">
			<span class="error"><b>{$frozen}</b></span>
		</td>
	</tr>
{/if}

	<tr>
		<td width="25%" class="tabDetailViewDL" rowspan="2"><slot>
			{$CHECKLIST}
		</slot></td>
		<td width="75%" class="tabDetailViewDF"><slot>
			{$UW_MAIN}&nbsp;
		</slot></td>
	</tr>

	<tr>
		<td valign="top" class="tabDetailViewDF">
			&nbsp;<br />
			{$UW_HISTORY}
		</td>
	</tr>
</table>
</div>


<script>

UPGRADE_PROGRESS = '{$MOD.LBL_UPGRADE_IN_PROGRESS}';
TIME_ELAPSED = "{$MOD.LBL_UPGRADE_TIME_ELAPSED}";
START_IN_PROGRESS = "{$MOD.LBL_START_UPGRADE_IN_PROGRESS}";
SYSTEM_CHECK_IN_PROGRESS = "{$MOD.LBL_SYSTEM_CHECKS_IN_PROGRESS}";
LICENSE_CHECK_IN_PROGRESS = "{$MOD.LBL_LICENSE_CHECK_IN_PROGRESS}";
PREFLIGHT_CHECK_IN_PROGRESS ="{$MOD.LBL_PREFLIGHT_CHECK_IN_PROGRESS}";
COMMIT_UPGRADE_IN_PROGRESS ="{$MOD.LBL_COMMIT_UPGRADE_IN_PROGRESS}";
UPGRADE_SUMMARY_IN_PROGRESS ="{$MOD.LBL_UPGRADE_SUMMARY_IN_PROGRESS}";
SET_STEP_TO_COMPLETE = "{$MOD.LBL_UW_COMPLETE}";
UPLOADE_UPGRADE_IN_PROGRESS= "{$MOD.LBL_UPLOADE_UPGRADE_IN_PROGRESS}";
UPLOADING_UPGRADE_PACKAGE = "{$MOD.LBL_UPLOADING_UPGRADE_PACKAGE}";
UPGRADE_CANCEL_IN_PROGRESS ="{$MOD.LBL_UPGRADE_CANCEL_IN_PROGRESS}";
{literal}
var msgPanel;
var c=0
var s=0
var t
var currStage
var timeOutWindowMultiplier = 1
var timeOutWindow = 60
function upgradeP(step){
if(document.getElementById("upgradeDiv") != null){
	    var args = {    width:"300px",
	                    modal:true,
	                    //xy:[400,300],
	                    fixedcenter: true,
	                    constraintoviewport: false,
	                    underlay:"shadow",
	                    close:false,
	                    draggable:true,
	                    effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:.5}
	                   } ;
	            msg_panel = new YAHOO.widget.Panel('p_msg', args);
	            //If we haven't built our panel using existing markup,
	            //we can set its content via script:

				if(step == 'start'){
                	//currStage = START_IN_PROGRESS;
                	currStage = SYSTEM_CHECK_IN_PROGRESS;
                }
                if(step == 'systemCheck'){
                	currStage = UPLOADE_UPGRADE_IN_PROGRESS;
                	document.getElementById(step).innerHTML='<i>'+SET_STEP_TO_COMPLETE+'</i>'
                }
                if(step == 'uploadingUpgardePackage'){
                	currStage = UPLOADING_UPGRADE_PACKAGE;
                }
                if(step == 'license_fiveO'){
                	//currStage = LICENSE_CHECK_IN_PROGRESS;
                	currStage = PREFLIGHT_CHECK_IN_PROGRESS;
                	document.getElementById(step).innerHTML='<i>'+SET_STEP_TO_COMPLETE+'</i>'
                }
                if(step == 'upload'){
                	//currStage = LICENSE_CHECK_IN_PROGRESS;
                	currStage = PREFLIGHT_CHECK_IN_PROGRESS;
                	document.getElementById(step).innerHTML='<i>'+SET_STEP_TO_COMPLETE+'</i>'
                }
                if(step == 'preflight'){
                	//currStage = PREFLIGHT_CHECK_IN_PROGRESS;
                	currStage = COMMIT_UPGRADE_IN_PROGRESS;
                	document.getElementById(step).innerHTML='<i>'+SET_STEP_TO_COMPLETE+'</i>'
                }
                if(step == 'commit'){
                	currStage = UPGRADE_SUMMARY_IN_PROGRESS;
                	document.getElementById(step).innerHTML='<i>'+SET_STEP_TO_COMPLETE+'</i>'
                }
	            msg_panel.setHeader(currStage);
	            msg_panel.setBody(document.getElementById("upgradeDiv").innerHTML);
	            //timedCount(currStage);
	            //msg_panel.setFooter('Time Elapsed '+s);
	            msg_panel.render(document.body);
	            msgPanel = msg_panel;
	    		msgPanel.show;
    }
    return;
}

function cancelUpgrade(){
if(document.getElementById("upgradeDiv") != null){
	    var args = {    width:"300px",
	                    modal:true,
	                    //xy:[400,300],
	                    fixedcenter: true,
	                    constraintoviewport: false,
	                    underlay:"shadow",
	                    close:false,
	                    draggable:true,
	                    effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:.5}
	                   } ;
	            msg_panel = new YAHOO.widget.Panel('p_msg', args);
	            //If we haven't built our panel using existing markup,
	            //we can set its content via script:

                currStage = UPGRADE_CANCEL_IN_PROGRESS;
                //document.getElementById(step).innerHTML='<i>'+SET_STEP_TO_COMPLETE+'</i>'
	            msg_panel.setHeader(currStage);
	            msg_panel.setBody(document.getElementById("upgradeDiv").innerHTML);
	            //timedCount(currStage);
	            //msg_panel.setFooter('Time Elapsed '+s);
	            msg_panel.render(document.body);
	            msgPanel = msg_panel;
	    		msgPanel.show;
    }
    return;
}

function timedCount(currStage)
{
      msg_panel.setFooter(TIME_ELAPSED+'   '+s);
      currStage = currStage+'   '+s;
      msg_panel.setHeader(currStage);
    	c=c+1
		s=c

		timeOutWindowMultiples = timeOutWindowMultiplier*timeOutWindow
		if(c == timeOutWindowMultiples){
		  updateUpgradeStepTime(timeOutWindow)
		  timeOutWindowMultiplier = timeOutWindowMultiplier+1
		}

		if(c<10){
		 	s='0'+c
		}

	  if(c>=60 && c<3600){
			 m=1
			 while(c>=((m+1)*60)){
			    m=m+1
			  }
			 secs= (c-(m*60))
			 if(m < 10){
			     m = '0'+m
			  }
			  if(secs < 10){
			     secs = '0'+secs
			  }
			  s=m+':'+ secs
		 }
		 if(c>=3600){
			  h=1;
			  while(c>=((h+1)*3600)){
			    h=h+1;
			   }
			  r= c-(h*3600)
			  m = 0
			  secs = 0
			  if(r>=60){
				 m=1;
				  while(r>=((m+1)*60)){
				     m=m+1;
				  }
				  secs =  (r-(m*60))
			    }
			    if(h < 10){
			       h = '0'+h
			     }
			     if(m < 10){
			       m = '0'+m
			     }
			     if(secs <10){
				     secs = '0'+ secs
				  }
			  s=h+':'+m+':'+ secs
		   }
		t=setTimeout("timedCount(currStage)",1000)
}
function updateUpgradeStepTime(ts){
  success = function(r) {
    	//making ajax call every three minutes to make sure the browser
    	//remains active
    }
   postData = 'upgradeStepTime=' + ts + '&module=UpgradeWizard&action=upgradeTimeCounter&to_pdf=1&sugar_body_only=1';
   var ajxProgress = YAHOO.util.Connect.asyncRequest('POST','index.php', {success: success, failure: success}, postData);
}
</script>
{/literal}


