Bug 134944 Page footer displays in wrong place when preview in Web Viewer.
Description: Page footer displays in wrong place when preview in html. Steps to reproduce: 1. New sample source and dataset from customers. 2. Drag dataset to layout. 3. Insert content to master page footer. 4. Preview in web viewer Expected result: Page footer displays at the end of the report. Actual result: Page footer displayed in the middle of the report and overlapped with report body content.
engine/org.eclipse.birt.report.engine.emitter.html/src/org/eclipse/birt/report/engine/emitter/html/HTMLReportEmitter.java
e );
		writer.writeCode( "<span>" );
		writer.writeCode( "				<pre id=\"error_detail" + index
				+ "\" style=\"display:none;\" >" );
		ArrayList errorList = info.getErrorList( );
		ArrayList countList = info.getCountList( );
		for ( int i = 0; i < errorList.size( ); i++ )
		{
			BirtException ex = (BirtException) errorList.get( i );
			String messageTitle = rc.getMessage(
					MessageConstants.REPORT_ERROR_ID, new Object[]{
							new Integer( i ), ex.getErrorCode( ),
							countList.get( i )} );
			String detailTag = rc
					.getMessage( MessageConstants.REPORT_ERROR_DETAIL );
			String messageBody = getDetailMessage( ex );
			boolean indent = writer.isIndent( );
			writer.setIndent( false );
			writer.text( messageTitle, false );
			writer.writeCode( "\r\n" );
			writer.text( detailTag, false );
			writer.text( messageBody, false );
			writer.setIndent( indent );
		}
		writer.writeCode( "				<pre>" );
		writer.writeCode( "		<div>" ); 
	}
	private String getDetailMessage( Throwable t )
	{
		StringWriter out = new StringWriter( );
		PrintWriter print = new PrintWriter( out );
		try
		{
			t.printStackTrace( print );
		}
		catch ( Throwable ex )
		{
		}
		print.flush( );
		return out.getBuffer( ).toString( );
	}
	protected boolean outputErrors( List errors )
	{
		
		 errors != null && !errors.isEmpty( ) )
		{
			writer.writeCode( "	<hr style=\"color:red\">" );
			writer.writeCode( "	<div style=\"color:red\">" );
			writer.writeCode( "		<div>" );
			writer.text( EngineResourceHandle.getInstance( ).getMessage(
					MessageConstants.ERRORS_ON_REPORT_PAGE ), false );
			writer.writeCode( "<div>" );
			Iterator it = errors.iterator( );
			int index = 0;
			while ( it.hasNext( ) )
			{
				appendErrorMessage( index++, (ElementExceptionInfo) it.next( ) );
			}
			writer.writeCode( "<div>" );
			return true;
		}
		return false;
	}
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#end(org.eclipse.birt.report.engine.content.IReportCont