<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
	require_once($_SERVER['DOCUMENT_ROOT'] . "/bpel/_boot.php");
	#*****************************************************************************
	# milestone_plan.php
	# Author: 		BPEL Team
	# Description: Milestones.
	#****************************************************************************
	
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "BPEL Project Sync Up Calls";
	$pageKeywords	= "BPEL, process, designer, milestone,calls";
	$pageAuthor		= "BPEL Team";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	include($_SERVER['DOCUMENT_ROOT'] . "/$projectShortName/items/developers_menu.php");
		
	ob_start();
?>

     
<div id="maincontent">
	<div id="midcolumn">
		<h1><?=$pageTitle?></h1>
		<h2>Next Call</h2>
		<p>
<?php include("_next.php") ?>
		</p>

		<table class="basic" style="margin-left: 20px;">
			<tr>
				<td class="h">
					US/Canada
  </td>
				<td class="v">
					1-888-967-2253
  </td>
			</tr>

			<tr>
				<td class="h">Asia Pacific</td>
				<td class="v">
					1800 222 712 (Australia toll-free)
					<br />
					800 9491 2777
					<br />
					61 2 8817 6100
				</td>
			</tr>

			<tr>
				<td class="h">
					EMEA region
  </td>
				<td class="v">
					44 118 924 9000
  </td>
			</tr>

			<tr>
				<td class="h">Meeting ID:</td>
				<td class="v">288052</td>
			</tr>

			<tr>
				<td class="h">Password:</td>
				<td class="v"> 2468642 </td>
			</tr>
		</table>



		<p style="margin-top: 50px;">
<?php include ("calls/jun.19.2007.html") ?>
		</p>
		<hr class="sep" />

		<p style="margin-top: 50px;">
<?php include ("calls/may.23.2007.html") ?>
		</p>
		<hr class="sep" />

		<p style="margin-top: 50px;">
<?php include ("calls/may.11.2007.html") ?>
		</p>
		<hr class="sep" />


		<p style="margin-top: 50px;">
<?php include ("calls/apr.27.2007.html") ?>
		</p>
		<hr class="sep" />

		<p style="margin-top: 50px;">
<?php include ("calls/dec.15.2006.html") ?>
		</p>
		<hr class="sep" />
		<p>
<?php include ("calls/dec.1.2006.html") ?>
		</p>
		<hr class="sep" />
		<p>
<?php include ("calls/nov.10.2006.html") ?>
		</p>
	</div>
<?php include($_SERVER['DOCUMENT_ROOT'] . "/$projectShortName/items/rightcolumn_links.html"); ?>
</div>


<?php bpel_generate_page() ?>
