var detailsTexts = new Array;
detailsTexts[1] = '<br /><b>Business Modeling Details</b><br />There are several paths one may take through this workflow, depending on what purpose your business-modeling effort has, as well as where in the development lifecycle you are. In your first iteration you will assess the status of the organization in which the eventual system is to be deployed (the target organization), as defined in Assess Business Status. Based on the results of the assessments, you will be able to make decisions on how to continue in this iteration, and also on how to work in subsequent iterations. In Concepts: Scope of Business Modeling you will find some typical scenarios that may occur.\
If you determine that no full scale business models are needed, only a domain model (scenario #2 in Concepts: Scope of Business Modeling), you will follow the alternative Domain Modeling path of this workflow. In the Rational Unified Process, a domain model is considered a subset of the business object model, encompassing the business entities of that model.\
If you determine that no major changes will occur to the business processes, all you need to do is chart those processes and derive system requirements (scenario #1 in Concepts: Scope of Business Modeling). There is no need to keep a special set of models of the current organization, you can directly focus on describing the target organization. You would follow the business modeling path, but skip "describe current business".\
If you do business modeling with the intention of improving or re-engineering an existing business (scenario #3, #4, and #6 in Concepts: Scope of Business Modeling), you would model both the current business and the new business.\
If you do business modeling with the intention of developing a new business more or less from scratch (scenario #5 in Concepts: Scope of Business Modeling), you would envision the new business and build models of the new business, but skip "describe current business".\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'1\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[2] = '<br /><b>Project Planning Details</b><br />In the initial iteration of the Inception Phase, the Project Management discipline begins in Conceive New Project, during which the initial Vision, Business Case and Risk List artifacts are created and reviewed. The objective is to obtain enough funding to proceed with a serious scoping and planning exercise.\
An embryonic Software Development Plan is created, and the project bootstrapped into life with the initial Iteration Plan. With this initial authorization, work can continue on the Vision, Risk List and Business Case in Evaluate Project Scope and Risk, to give a firm foundation for fleshing out the Software Development Plan in Develop Software Development Plan.\
At the conclusion of Develop Software Development Plan, enough should be known about the risks and possible business returns of the project, to allow an informed decision to be made to commit funds for the rest of the Inception Phase, or to abandon the project. Next, the initial Iteration Plan is refined to control the remainder of the initial iteration in inception, in an invocation of Plan for Next Iteration (the workflow detail used here is the same as will be used for planning subsequent iterations - hence the somewhat odd name in this context). In Plan for Next Iteration, the Project Manager and Software Architect decide which requirements are to be explored, refined or realized. In early iterations, the emphasis is on the discovery and refinement of requirements; in later iterations, on the construction of software to realize those requirements.\
At this point, the Project Management discipline merges into a common sequence for all subsequent iterations.\
The iteration plan is executed in Manage Iteration, which is concluded by an iteration assessment and review, to determine if the objectives for the iteration have been achieved. The Iteration Acceptance Review may determine that the project should be terminated, if the iteration has significantly missed its objectives, and it is judged that the project cannot recover during subsequent iterations.\
Optionally, at about the mid-point of the iteration, an Iteration Evaluation Criteria Review may be held, to review the iteration Test Plan, which by this stage should be well-defined. This optional review is usually held only for lengthy (six months and longer) iterations. It gives project management and other stakeholders the opportunity to make mid-course corrections.\
In parallel with Manage Iteration, the routine daily, weekly and monthly tasks of the project management are performed in Monitor & Control Project, in which the status of the project is monitored and problems and issues are handled as they arise. Following the iteration assessment and acceptance review, and before planning the next iteration, the Vision, Risk List and Business Case are revisited in Evaluate Project Scope and Risk, with the idea that expectations may need to be reset based on the experience of the previous iteration.\
When the final iteration of a phase completes, a major milestone review is held as part of Close-Out Phase and planning is done for the next phase, assuming the project is to continue. At the conclusion of the project, a Project Acceptance Review is held as part of Close-Out Project and the project terminates, unless the review determines that the delivered product is not acceptable, in which case a further iteration is scheduled.\
Detailed planning, in Plan for Next Iteration, then leads into the next iteration. In parallel, changes to the Software Development Plan are made at this time, in Develop Software Development Plan, capturing lessons learned, and updating the overall Project Plan (in the Software Development Plan) for later iterations.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'2\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[3] = '<br /><b>Requirements Details</b><br />Each workflow detail represents a key skill that need to be applied to perform effective requirements management. Analyze the Problem and Understand Stakeholder Needs are focused on during the Inception phase of a project, whereas the emphasis is on Define the System and Refine the System Definition during the Elaboration phase. Manage the Scope of the System and Manage Changing Requirements are done continuously throughout the project.\
The workflow details are shown in a logical, sequential order. As indicated in the text above, they are applied continuously in varied order as needed throughout the project. Here they are shown in the sequence that you would most likely apply to the first iteration of a new project.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'3\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[4] = '<br /><b>Analysis & Design Details</b><br />In the Inception Phase, analysis and design is concerned with establishing whether the system as envisioned is feasible, and with assessing potential technologies for the solution (in Perform Architectural Synthesis). If it is felt that little risk attaches to the development (because, for example, the domain is well understood, the system is not novel, and so on) then this workflow detail may be omitted.\
The early Elaboration Phase focuses on creating an initial architecture for the system (Define a Candidate Architecture) to provide a starting point for the main analysis work. If the architecture already exists (either because it was produced in previous iterations, in previous projects, or is obtained from an application framework), the focus of the work changes to refining the architecture (Refine the Architecture) and analyzing behavior and creating an initial set of elements which provide the appropriate behavior (Analyze Behavior).\
After the initial elements are identified, they are further refined. Design Components produce a set of components which provide the appropriate behavior to satisfy the requirements on the system. In parallel with these activities, persistence issues are handled in Design the Database. The result is an initial set of components which are further refined in Implementation.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'4\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[5] = '<br /><b>Implementation Details</b><br />Structure the Implementation Model is done early in the Elaboration phase. For each iteration, starting in Elaboration, you would Plan the Integration, Implement Components, Integrate each Subsystem, and finally Integrate the System. The two latter workflow details are closely related to integration test activities.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'5\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[6] = '<br /><b>Testing Details</b><br />This diagram represents the default workflow for the Test discipline over the course of a typical iteration in RUP. This workflow may require variations based on the specific needs of each iteration and project.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'6\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[7] = '<br /><b>Deployment Details</b><br />Deployment is about making the software product available to the end-user, and is the culmination of the software development effort.\
Deployment planning ( Plan Deployment ) starts early in the project lifecycle and addresses not only the production of the deliverable software, but also the development of training material and system support material to ensure that the end-user can successfully use the delivered software product.\
Support material ( Develop Support Material ) covers the full range of information that will be required by the end-user to install, operate, use and maintain the delivered system. It also includes training material for all the various positions that will be required to effectively use the new system.\
The Deployment Discipline places a great emphasis on ensuring the product is well tested prior to its release to the customer base. The workflow detail Manage Acceptance Test refers to two kinds of test environments. Firstly the build needs to be sufficiently tested in the development test environment, and then re-tested at the target site. The <i>test environment</i> should be an <i>instance</i> of the target environment.\
Once the product has been tested at the development site it needs to be prepared for delivery to the customer. The release can created for the purposes of beta-testing, a test deployment to the final users, or depending on it level of maturity for the final product. Produce Deployment Unit describes the logistics of creating a product release that consists of the software, and the necessary accompanying artifacts required to effectively install and use it.\
A beta-program refers to the process used by an organization to solicit feedback from a subset of users on products that are under development. The feedback is used to augment the product. Beta Test Product describes the activities to enable iterative deployment of a product, and systematic customer engagement in creating the final product.\
For <i>shrink wrap</i> software, Package Product describes the activities to take the software product, installation scripts and user manuals, and package them for mass production like any other consumer product.\
You could have your software installed for you by the developing contractor, or you could buy the software over the counter, or download it over the internet. Provide Access to Download Site refers to the product being made available for purchase, and download over the internet as a software distribution channel.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'7\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';
detailsTexts[8] = '<br /><b>Environment, Configuration & Change management Details</b><br />In early iterations of the project, initiate the workflow by performing Prepare Environment for Project, which has a Development-Organization Assessment as its primary output. Then, for each iteration, perform Prepare Environment for an Iteration and Prepare Guidelines for an Iteration.\
<span style="color:#0066CC; cursor:pointer;"\
	onClick="collapse(\'8\');"\
	onmouseover="this.style.backgroundColor=\'#0066CC\'; this.style.color=\'#FFFFFF\';"\
	onmouseout="this.style.backgroundColor=\'transparent\'; this.style.color=\'#0066CC\';">\
	<b>&nbsp;&laquo; Read less&nbsp;</b>\
</span>';

function findObject(n, d) {
	var p,i,x;
	if(!d) d = document;
	if((p = n.indexOf("?")) > 0 && parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n]) && d.all) x = d.all[n];
	for (i=0; !x&&i<d.forms.length; i++)
		x = d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObject(n,d.layers[i].document);
	if(!x && d.getElementById) x = d.getElementById(n);
	return x;
}
function ImageSwapper() {
	var i,j=0,x,a = ImageSwapper.arguments;
	document.ObjectSource=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=findObject(a[i])) != null) {
		document.ObjectSource[j++] = x;
		if(!x.oSrc)
			x.oSrc = x.src;
		x.src=a[i+2];
	}
}
function ImageRestore() {
	var i,x,a = document.ObjectSource;
	for(i=0; a&&i<a.length&&(x=a[i])&&x.oSrc; i++)
		x.src = x.oSrc;
}

function OnLoadPreloadImages() {
	var d = document;
	if(d.images) {
		if(!d.ObjectProps) d.ObjectProps = new Array();
	var i,j = d.ObjectProps.length,a = OnLoadPreloadImages.arguments;
	for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0) {
			d.ObjectProps[j] = new Image;
			d.ObjectProps[j++].src = a[i];
		}
	}
}

function expand(id, MaxObjectHeight) {
		obj = eval("document.getElementById('details_"+id+"')");
		//alert(obj.style.height);
		var h = '000'+ obj.style.height;
		var height = parseInt(h.substring(0,h.length-2),10);
		//alert(height);
		if(height < MaxObjectHeight) {
			if (height > 30) {
				obj.innerHTML = '<table cellpadding="0" cellspacing="0" border="0">\
									<tr>\
										<td align="center"><img src="webfiles/images/loading5.gif" style="display: inline" /></td>\
										<td>&nbsp;Loading text...</td>\
									</tr>\
								</table>';
			}
			obj.style.height = height + 10 + "px";
			setTimeout('expand("'+id+'","'+MaxObjectHeight+'")', 1);
		}
		else {
			RM = eval("document.getElementById('rm_"+id+"')");
			RM.innerHTML = "";
			obj.innerHTML = detailsTexts[id];
		}
}
function collapse(id) {
		obj = eval("document.getElementById('details_"+id+"')");
		//alert(obj.style.height);
		var h = '000'+ obj.style.height;
		var height = parseInt(h.substring(0,h.length-2),10);
		//alert(height);
		obj.style.textAlign = 'left';
		if (height > 30) {
			obj.innerHTML = '<table cellpadding="0" cellspacing="0" border="0">\
								<tr>\
									<td align="center"><img src="webfiles/images/loading5.gif" style="display: inline" /></td>\
									<td>&nbsp;Unloading text...</td>\
								</tr>\
							</table>';
		}
		if(height > 0) {
			if (height < 30) {
				obj.innerHTML = '';
			}
			obj.style.height = height - 10 + "px";
			setTimeout('collapse("'+id+'")', 1);
		}
		else {	
			RM = eval("document.getElementById('rm_"+id+"')");
			RM.innerHTML = "&nbsp;Read more &raquo;&nbsp;";
		}
}
function CheckLoginForm() {
		_d = document.auth;
		if (_d.username.value=='') {
			window.alert("Please enter a username. Thank you.");
			return false;
		} else
		if (_d.password.value=='') {
			window.alert("Please enter a password for " + _d.username.value + ". Thank You.");
			return false;
		} else
		return true;
}
function CheckContactForm() {
	_d = document.ContactForm;
	if(_d.ContactName.value=='please enter your name' || _d.ContactName.value=='') {
		window.alert("Please enter your name. Thank you.");
		return false;
	} else
	if(_d.PhoneNo.value=='please enter phone number' || _d.PhoneNo.value=='') {
		window.alert("Please also enter your phone number. Thank you.");
		return false;
	} else
	if(_d.MailAddress.value=='please enter your e-mail' || _d.MailAddress.value=='') {
		window.alert("Please also enter your email address. Thank you.");
		return false;
	} else ContactMessage
	if (_d.ContactMessage.value=='Please enter your message to us. Thank You.' || _d.ContactMessage.value=='') {
		window.alert("Please enter a valid message for us. Thank you.");
		return false;
	} else
	return true;
}