Bug 182873 JS error when use birt:paramDef with special parameter name.[0603]
Description: Javascript error when use birt:paramDef tag with special parameter name. Build number:2.2.0.v200704180630 Steps to reproduce: Prerequisite: New a report with a report parameter with name ~`!@#$%^&*()-=_+\][{}|';:"/,<>? 1. New a jsp file from BIRT tag template in BIRT Web Project. 2. Input below content in body: <birt:parameterPage id="0" name="customparameterpage" reportDesign="report/customJspTagParamDefName.rptdesign" isCustom="true"> <birt:paramDef id="1" name="~`!@#$%^&*()-=_+\][{}|';:/,?"/> <input type="submit" name="OK" value="submit"/> </birt:parameterPage> 3. Run the jsp file. Expected result: Value can be passed to report. Actual result: Javascript error. A runtime error has accurred... Error log:N/A
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/taglib/ParamDefTag.java
writer.write( "var valCtl = document.getElementById(\"" + valueId 
					+ "\");\n" ); 
			writer
					.write( "if( valCtl ) valCtl.name = \"" + encParamName + "\";\n" ); 		
			writer.write( "if( valCtl ) valCtl.value = inputCtl.value;\n" ); 
			writer.write( "var displayCtl = document.getElementById(\"" 
					+ displayTextId + "\");\n" ); 
			writer
					.write( "if( displayCtl ) displayCtl.name = \"" + displayTextName + "\";\n" ); 
			writer
					.write( "if( displayCtl ) displayCtl.value = inputCtl.value;\n" ); 
			writer
					.write( "var nullCtl = document.getElementById(\"" + nullValueId + "\");\n" ); 
			writer.write( "if( nullCtl ) nullCtl.value='';\n" ); 
			writer
					.write( "var localeCtl = document.getElementById(\"" + isLocaleId + "\");\n" ); 
			writer
					.write( "if( localeCtl ) localeCtl.value = \"" + encParamName + "\";\n" ); 
			writer.write( "}\n" ); 
			writer.write( "</script>\n" ); 
		}
		
		writer.write( "\n<script language=\"JavaScript\">\n" ); 
		writer.write( "function handleParam" + encParamId + "( option )\n" ); 
		writer.write( "{\n" ); 
		writer.write( "if( !option ) return;\n" ); 
		writer.write( "var valCtl = document.getElementById(\"" + valueId 
				+ "\");\n" ); 
		writer.write( "var displayCtl = document.getElementById(\"" 
				+ displayTextId + "\");\n" );