var g_infoWindowTimeOut;
var g_keepAliveTimeout;
var g_timeOnSiteTimeout;
var g_timeCounter = 0;
var g_maxLiveTimeCounter = 48; // With timeout of 10min, after 8 hours close session.
var g_searching = false;
var g_translationID = new Array();
var g_translationENG = new Array();
var g_translationLANG = new Array();
var g_bc_sheet_text = '';
var g_bc_sheet_header = '';
var g_bc_sheet_footer = '';
var g_sheet_drag = false;
var g_sheet_start_y = 0;
var g_sheet_start_bottom = 0;
var g_sheet_div = 0;
var g_ie=document.all;
var g_nn6=document.getElementById&&!document.all;
var g_printCode = 1;
var g_printDesc = 1;
var g_printAuto = 1;
var g_bcSize = 4;
var g_bcType = 'code39';
var g_legacy = 0;
var g_searchCode = 1;
var g_searchDescription = 1;
var g_searchInfo = 0;
var g_bcNeg = 0;
var g_set_label = 'ZZ';
var g_end_label = 'ZZ';


/////////// For JS < 1.5 browsers /////////////////

function indexOf(searchArray, obj)
{
	for(var i=0; i<searchArray.length; i++){
		if(searchArray[i]==obj){
			return i;
		}
	}
	return -1;
}

/////////// For JS < 1.5 browsers /////////////////


// AJAX get data form url, without reload
function getURLContent(url)
{
	if (window.XMLHttpRequest)
	{// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}
	else
	{// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	return xmlhttp.responseText;
}

function start()
{
//	if(g_keepAliveTimeout) clearTimeout(g_keepAliveTimeout);
//	g_keepAliveTimeout = setTimeout("keepAlive()",600000); // 10Min
	if(g_timeOnSiteTimeout) clearTimeout(g_timeOnSiteTimeout);
	g_timeOnSiteTimeout = setTimeout("setTimeOnSite()",10000); // 10 sec
	
	sheetDiv = document.getElementById('outputMain');
	sheetDiv.style.bottom = getStyle(sheetDiv,'bottom');
	txtDiv = document.getElementById('barcodeSheetText');
	txtDiv.style.height = getStyle(txtDiv,'height');
	txtDiv.style.bottom = getStyle(txtDiv,'bottom');
	sliderDiv = document.getElementById('barcodeSheetSlider');
	sliderDiv.style.bottom = getStyle(sliderDiv,'bottom');
	
	getSessionSettings();
//	getBCSheetTXT();
	selectShowBrowse();
	showBCSheetTXT(false);
}

// prevent PHP garbage collection from destroying session while page is still shown
function keepAlive()
{
	var result = getURLContent('./getInfo.php?page=keepSessionAlive');
	if(result < g_maxLiveTimeCounter)
	{
		if(g_keepAliveTimeout) clearTimeout(g_keepAliveTimeout);
		g_keepAliveTimeout = setTimeout("keepAlive()",600000); // 10Min
	}
}

function setTimeOnSite()
{
	var timeout;
	
	if(g_timeCounter < 11)
		g_timeCounter++;

	if(g_timeCounter < 6)
		timeout = 10000;	//10 sec
	else if(g_timeCounter < 11)
		timeout = 60000;	//1 min
	else
		timeout = 300000;	//5 min
	
	getURLContent('./getInfo.php?page=updateStats&exit=1');
	g_timeOnSiteTimeout = setTimeout("setTimeOnSite()",timeout); // 1Min
}

function getSessionSettings()
{
	var result = getURLContent('./getInfo.php?page=getSessionSettings');
	arr_settings = result.split("<!--|-->");
	
	g_printCode = arr_settings[0];
	g_printDesc = arr_settings[1];
	g_printAuto = arr_settings[2];
	g_bcSize = arr_settings[3];
	g_bcType = arr_settings[4];
	g_legacy = arr_settings[5];
	g_searchCode = arr_settings[6];
	g_searchDescription = arr_settings[7];
	g_searchInfo = arr_settings[8];
	g_bcNeg = arr_settings[9];
	g_set_label = arr_settings[10];
	g_end_label = arr_settings[11];
	g_bc_sheet_text = arr_settings[12];
	g_bc_sheet_header = arr_settings[13];
	g_bc_sheet_footer = arr_settings[14];
}

function showLanguageBar(langID)
{
	var divhtml = '';

	var result = getURLContent('./getInfo.php?page=getLanguages');
	var arr_Lines = result.split("<!--CR-->");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{	
			arr_lang = String(arr_Lines[line]).split("<!--|-->");
			if(arr_lang[6] == 1)
			{
				if(arr_lang[0] == langID) document.getElementById('languageBarSelLang').innerHTML = '<A href="javascript:setSessionLang(\''+arr_lang[0]+'\');"><img src="'+arr_lang[4]+'" class="flagImageSelected" alt="'+arr_lang[1]+'" title="'+arr_lang[1]+' ('+unescape(arr_lang[3])+')" width="24" height="18"></A>';
				else divhtml += '<A href="javascript:setSessionLang(\''+arr_lang[0]+'\');"><img src="'+arr_lang[4]+'" class="flagImage" alt="'+arr_lang[1]+'" title="'+arr_lang[1]+' ('+unescape(arr_lang[3])+')" width="24" height="18"></A>&nbsp;';
			}
		}
	}

	document.getElementById('languagesOtherLang').innerHTML = divhtml;
}

function setButton(divElement, enableButton)
{
	if(divElement.childNodes[1]) table = divElement.childNodes[1];
	else if(divElement.childNodes[0]) table = divElement.childNodes[0];
	else return;
	
	if(enableButton)
	{
		table.rows[0].cells[0].style.background = '#ffffff url("./images/butlefton.gif")';
		table.rows[0].cells[1].style.background = '#ffffff url("./images/butmidon.gif")';
		table.rows[0].cells[2].style.background = '#ffffff url("./images/butrighton.gif")';
	}
	else
	{
		table.rows[0].cells[0].style.background = '#ffffff url("./images/butleftoff.gif")';
		table.rows[0].cells[1].style.background = '#ffffff url("./images/butmidoff.gif")';
		table.rows[0].cells[2].style.background = '#ffffff url("./images/butrightoff.gif")';
	}
}

function selectShowQuickSheet()
{
	document.getElementById('selectBCGroupsMain').innerHTML = '';
	showHideInfoDiv(false);
	updateBarcodeSheet();

	var divhtml = '';
	var result = getURLContent('./getInfo.php?page=quicksheets');

	arr_Lines = result.split("<!--CR-->");

	divhtml += "<TABLE border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n";

	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_qs = arr_Lines[line].split("<!--|-->");
			divhtml += "<TR>";
			divhtml += "<TD class=\"qsList\" onClick=\"javascript:showQS(" + arr_qs[0] + ");\">" + unescape(arr_qs[1]) + "</TD>";
			divhtml += "</TR>\n";
		}
	}
	divhtml += "</TABLE>\n";

	document.getElementById('selectBCMain').innerHTML = divhtml;
	document.getElementById('selectBCGroupsHeaderCell').innerHTML = getTransl(168);
}

function showQS(qsID)
{
	var divhtml = '';
	var result = getURLContent('./getInfo.php?page=getQuicksheet&id='+qsID);
	arr_qs = result.split("<!--|-->");
	arr_bc = String(arr_qs[3]).split("-");

	var divhtml = '';
	divhtml += '<DIV style="padding-left:10px;">';
	divhtml += '<TABLE width=\"280\">';
	divhtml += '<TR><TD><H2>'+arr_qs[1]+'</H2></TD></TR>';
	divhtml += '<TR><TD>&nbsp;</TD></TR>';
	divhtml += '<TR><TD class="qsDescription">' + unescape(nl2br(escapeBrackets(arr_qs[2]))) + '</TD></TR>';
	divhtml += '<TR><TD>&nbsp;</TD></TR>';
	divhtml += '<TR><TD class="qsDescription"><input type="checkbox" id="qsClearSheet"> '+getTransl(11)+'</TD></TR>';
	divhtml += '<TR><TD>&nbsp;</TD></TR>';
	divhtml += '<TR><TD align="right"><input class=\"addBC\" type="button" value="'+getTransl(169)+'" onclick="javascript:addQuicksheet('+qsID+')"></TD></TR>'; // Add Quicksheet
	divhtml += '</TABLE>';
	
	divhtml += '</DIV>';
	document.getElementById('selectBCGroupsMain').innerHTML = divhtml;
}

function addQuicksheet(qsID)
{
	if(document.getElementById('qsClearSheet').checked) clearBCSheet();
	var result = getURLContent('./getInfo.php?page=addQuicksheet&id='+qsID);
	if(result != "OK") alert(getTransl(171) + " " + result);
	else 
	{
		updateBarcodeSheet();
		var result = getURLContent('./getInfo.php?page=getQuicksheet&id='+qsID);
		var arr_qs = result.split("<!--|-->");
		g_bc_sheet_text = arr_qs[2];
		getURLContent('./getInfo.php?page=saveBCSheetText&qsID='+qsID);

		if(document.getElementById('BCSheetTextArea') && document.getElementById('barcodeSheetText').style.visibility == 'visible')
			showBCSheetTXT(true);
		else
			showBCSheetTXT(false);
	}
}

function selectShowBrowse()
{
	document.getElementById('selectBCGroupsMain').innerHTML = '';
	showHideInfoDiv(false);
	updateBarcodeSheet();

	var divhtml = '';

	var optionhtml = "<option value=\"0\"></option>\n";
	var result = getURLContent('./getInfo.php?page=bccatergory&id=0&legacy='+g_legacy );
	var arr_Lines = result.split("<!--CR-->");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{	
			arr_cat = String(arr_Lines[line]).split("<!--|-->");
			optionhtml += "<option value=\"" + arr_cat[0] + "\">" + unescape(arr_cat[1]) + "</option>\n";
		}
	}

	divhtml += "<TABLE id=\"bcBrowse\">\n";
	divhtml += "<TR><TD><SELECT class=\"bcBrowse\" onChange=\"javascript:barcodeBrowse(0)\" id=\"BCBrowse0\">" + optionhtml + "</SELECT></TD><TD>&nbsp;</TD></TR>\n";
	divhtml += "</TABLE>\n";

	document.getElementById('selectBCMain').innerHTML = divhtml;
	document.getElementById('selectBCGroupsHeaderCell').innerHTML = getTransl(1);
}

function barcodeBrowse(rowID)
{
	var catOption = document.getElementById("BCBrowse"+rowID);
	var parentID = catOption.options[catOption.selectedIndex].value;
	var table = document.getElementById("bcBrowse");
	if(getURLContent('./getInfo.php?page=getCatInfo&info=description&id='+parentID) != '') table.rows[rowID].cells[1].innerHTML = '<IMG class=\"infoImage\" onMouseDown="javascript:showCatInfo(' + parentID + ');" src="./images/info.png" border="0" alt="info">';
	else table.rows[rowID].cells[1].innerHTML = '&nbsp;';
	while(table.rows.length > (rowID + 1)) table.deleteRow(rowID + 1);
	var nulParent = false;

	if(parentID == 0) 
	{
		table.rows[rowID].cells[1].innerHTML = '';
		document.getElementById('selectBCGroupsMain').innerHTML = '';
		if(rowID != 0) 
		{
			catOption = document.getElementById("BCBrowse"+(rowID-1));
			parentID = catOption.options[catOption.selectedIndex].value;
			nulParent = true;
		}
//		return;
	}
	
	var result = getURLContent('./getInfo.php?page=bcgroups&catid='+parentID+'&legacy='+g_legacy);
	arr_Lines = result.split("<!--CR-->");

	if(arr_Lines[0] == "<!--CUSTOM-->")
		document.getElementById('selectBCGroupsMain').innerHTML = getURLContent(unescape(arr_Lines[1]));
	else
		document.getElementById('selectBCGroupsMain').innerHTML = buildBCGroupPage(arr_Lines);

	if(nulParent) return;

	var optionhtml = "<option value=\"0\"></option>\n";
	var result = getURLContent('./getInfo.php?page=bccatergory&id='+parentID+'&legacy='+g_legacy );

	var arr_Lines = result.split("<!--CR-->");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{	
			arr_cat = arr_Lines[line].split("<!--|-->");
			optionhtml += "<option value=\"" + arr_cat[0] + "\">" + unescape(arr_cat[1]) + "</option>\n";
		}
	}
	
	if(optionhtml == "<option value=\"0\"></option>\n")
	{
		return;
	}

	var newRow = table.insertRow(rowID + 1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "<SELECT class=\"bcBrowse\" onChange=\"javascript:barcodeBrowse(" + (rowID + 1) + ")\" id=\"BCBrowse" + (rowID + 1) + "\">" + optionhtml + "</SELECT>";
	var newCell2 = newRow.insertCell(1);
	newCell2.innerHTML = "";
}

function buildBCGroupPage(arr_Lines)
{
	var divhtml = '';

	divhtml += "<TABLE width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			if(String(arr_Lines[line]).substr(0,12) == '<!--GROUP-->')
			{
				var groupstr = String(arr_Lines[line]).substr(12);
				var drpDwnImage = '&nbsp;';
				arr_grp = groupstr.split("<!--|-->");
				divhtml += "<TR><TD class=\"bcGrpHdr\">" + arr_grp[1] + "</TD></TR>\n";			
				divhtml += "<TR><TD class=\"bcGrp\">";
				divhtml += "<TABLE id=\"bcGrp" + arr_grp[0] + "\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
				if(arr_grp[2] == BARCODE_GROUP_TYPE_DROPDOWN) divhtml += "<TR><TD colspan=\"3\"><select onChange=\"bcDropdownSetInfo(" + arr_grp[0] + ")\" class=\"selectBC\" id=\"bcGrp-" + arr_grp[0] + "\">";
				var i = 0;
			}
			else if(String(arr_Lines[line]).substr(0,15) == '<!--ENDGROUP-->')
			{
				if(arr_grp[2] == BARCODE_GROUP_TYPE_DROPDOWN) divhtml += "</SELECT></TD><TD class=\"bcListInfo\" id=\"bcDropdownInfo\">"+drpDwnImage+"</TD></TR>";
				divhtml += "</TABLE>\n";
				divhtml += "</TD></TR>\n";
				divhtml += "<TR><TD class=\"bcGrpSpacerButton\"><img src=\"./images/pixel.gif\" border=\"0\" alt=\"pixel\"></TD></TR>\n";
				divhtml += "<TR><TD align=\"right\"><input class=\"addBC\" TYPE=\"button\" onClick=\"javascript:addBC(" + arr_grp[0] + ");\" VALUE=\""+getTransl(17)+"\"></TD></TR>\n";			 // add -->
				divhtml += "<TR><TD class=\"bcGrpSpacerTable\"><img src=\"./images/pixel.gif\" border=\"0\" alt=\"pixel\"></TD></TR>\n";
			}
			else
			{
				arr_bc = arr_Lines[line].split("<!--|-->");
				if(arr_bc[4] == '1') infoImage = "<IMG class=\"infoImage\" onMouseDown=\"javascript:showBCInfo(" + arr_bc[0] + ", " + arr_grp[0] + ");\" src=\"./images/info.png\" border=\"0\" alt=\"info\">";
				else infoImage = '&nbsp;';
				if(arr_grp[2] == BARCODE_GROUP_TYPE_DROPDOWN && i==0 && arr_bc[4] == '1') drpDwnImage = "<IMG class=\"infoImage\" onMouseDown=\"javascript:showBCInfo(" + arr_bc[0] + ", " + arr_grp[0] + ");\" src=\"./images/info.png\" border=\"0\" alt=\"info\">";
				var description = escapeBrackets(arr_bc[2])
				if(arr_grp[2] == BARCODE_GROUP_TYPE_CHOICE) 
					divhtml += 
						"<TR class=\"bcListRow\" onMouseOver=\"javascript:highlightBCListRow(this,true);\" onMouseOut=\"javascript:highlightBCListRow(this,false);\">" +
						"<TD " + (arr_bc[3] == '1' ? "class=\"bcListElementDefault\"" : "class=\"bcListElement\"") + "><input type=\"radio\" name=\"bcGrp" + arr_grp[0] + "\" id=\"bcGrp-" + arr_grp[0] + "-" + i + "\" value=\""+BARCODE_GROUP_TYPE_CHOICE+"-" + arr_bc[0] + "\"></TD>" + 
						"<TD onClick=\"javascript:bcListSetCheckbox(" + arr_grp[0] + ", " + i + ")\" " + (arr_bc[3] == '1' ? "class=\"bcListCodeDefault\"" : "class=\"bcListCode\"") + ">" + unescape(arr_bc[1]) + "</TD>" + 
						"<TD onClick=\"javascript:bcListSetCheckbox(" + arr_grp[0] + ", " + i + ")\" " + (arr_bc[3] == '1' ? "class=\"bcListDescDefault\"" : "class=\"bcListDesc\"") + ">" + unescape(description) + "</TD>" +		
						"<TD " + (arr_bc[3] == '1' ? "class=\"bcListInfoDefault\"" : "class=\"bcListInfo\"") + ">"+infoImage+"</TD>" + 
						"</TR>\n";			
				else if(arr_grp[2] == BARCODE_GROUP_TYPE_CHECKBOX) 
					divhtml += 
						"<TR class=\"bcListRow\" onMouseOver=\"javascript:highlightBCListRow(this,true);\" onMouseOut=\"javascript:highlightBCListRow(this,false);\" >" +
						"<TD " + (arr_bc[3] == '1' ? "class=\"bcListElementDefault\"" : "class=\"bcListElement\"") + "><INPUT type=\"checkbox\" id=\"bcGrp-" + arr_grp[0] + "-" + i + "\" value=\""+BARCODE_GROUP_TYPE_CHECKBOX+"-" + arr_bc[0] + "\"></TD>" + 
						"<TD onClick=\"javascript:bcListSetCheckbox(" + arr_grp[0] + ", " + i + ")\" " + (arr_bc[3] == '1' ? "class=\"bcListCodeDefault\"" : "class=\"bcListCode\"") + ">" + unescape(arr_bc[1]) + "</TD>" + 
						"<TD onClick=\"javascript:bcListSetCheckbox(" + arr_grp[0] + ", " + i + ")\" " + (arr_bc[3] == '1' ? "class=\"bcListDescDefault\"" : "class=\"bcListDesc\"") + ">" + unescape(description) + "</TD>" +
						"<TD " + (arr_bc[3] == '1' ? "class=\"bcListInfoDefault\"" : "class=\"bcListInfo\"") + ">"+infoImage+"</TD>" +
						"</TR>\n";
				else if(arr_grp[2] == BARCODE_GROUP_TYPE_DROPDOWN) 
					divhtml += "<option value=\""+BARCODE_GROUP_TYPE_DROPDOWN+"-"+arr_bc[0]+"\">" + unescape(arr_bc[1]) + " - " + unescape(description) + "</option>";
				i++;
			}
		}
	}	
	divhtml += "</TABLE>\n";
//	alert(divhtml);
	return divhtml;
}

function addBC(grpID)
{
	var table = document.getElementById('bcGrp'+grpID);
	if(!table) 
	{
		alert(getTransl(157)); // Barcode group table not found!
		return;
	}
	if(document.getElementById("bcGrp-"+grpID)) 
	{
		var bcDrpDwnOption = document.getElementById("bcGrp-"+grpID);
		var rowValue = bcDrpDwnOption.options[bcDrpDwnOption.selectedIndex].value;
		arr_row = rowValue.split("-");
		if(document.getElementById('barcode.'+arr_row[1]))
		{
			alert(getTransl(158)); // Barcode already in the list
			return;
		}
		var result = getURLContent('./getInfo.php?page=addBC&id='+arr_row[1]+'&grpid='+grpID);
		if(result != "OK")
		{
			alert(getTransl(159) + result); // Failed to add barcode to sheet!
			return;
		}
	}
	else
	{
		for (var i = 0; i < table.rows.length; i++)
		{
			var rowValue = document.getElementById("bcGrp-"+grpID+"-"+i).value;
			arr_row = rowValue.split("-");
			if((arr_row[0] == BARCODE_GROUP_TYPE_CHOICE || arr_row[0] == BARCODE_GROUP_TYPE_CHECKBOX ) && document.getElementById("bcGrp-"+grpID+"-"+i).checked)
			{
				if(document.getElementById('barcode.'+arr_row[1]) && arr_row[0] != BARCODE_GROUP_TYPE_CHECKBOX)
				{
					alert(getTransl(158)); // Barcode already in the list
					return;
				}
				var result = getURLContent('./getInfo.php?page=addBC&id='+arr_row[1]+'&grpid='+grpID);
				if(result != "OK")
				{
					alert(getTransl(159) + result); // Failed to add barcode to sheet!
					return;
				}
			}
		}
	}

	updateBarcodeSheet();
}

function addBCFromSearch(bcID)
{
//	if(document.getElementById('barcode.'+bcID))
//	{
//		alert(getTransl(158)); // Barcode already in the list
//		return;
//	}
	var result = getURLContent('./getInfo.php?page=addBC&force=1&id='+bcID+'&grpid=0');
	if(result != "OK")
	{
		alert(getTransl(159) + result); // Failed to add barcode to sheet!
		return;
	}
	updateBarcodeSheet();
}

function updateBarcodeSheet()
{
	if(document.getElementById("bcSize"))
	{
		var bcSizeOption = document.getElementById("bcSize");
		var bcSize = bcSizeOption.options[bcSizeOption.selectedIndex].value;
		if(g_bcSize != bcSize)
		{
			getURLContent('./getInfo.php?page=setSessionInfo&info=bcSize&data='+bcSize);
			g_bcSize = bcSize;
		}
	}
	if(document.getElementById("bcType"))
	{
		var bcTypeOption = document.getElementById("bcType");
		var bcType = bcTypeOption.options[bcTypeOption.selectedIndex].value;
		if(g_bcType != bcType)
		{
			getURLContent('./getInfo.php?page=setSessionInfo&info=bcType&data='+bcType);
			g_bcType = bcType;
		}
	}
	
	var result = getURLContent('./getInfo.php?page=getBarcodeSheet');
	var barcodeRows = new Array();
	var arr_Lines = result.split("<!--CR-->");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			tempStr = new String(arr_Lines[line]);
			barcodeRows.push(tempStr.split("<!--|-->"));
		}
	}
	sheetHTML = '';
	sheetHTML += '<DIV class="barcodeSheet">'+"\n";
	sheetHTML += getBCSheet(barcodeRows, false);
	sheetHTML += '</DIV>'+"\n";

	document.getElementById('outputMain').innerHTML = sheetHTML;
}

function clearBCSheet()
{
	getURLContent('./getInfo.php?page=clearBarcodeSheet');
	g_bc_sheet_text = '';
	g_bc_sheet_header = '';
	g_bc_sheet_footer = '';
	showBCSheetTXT(false);

	sheetHTML = '';
	sheetHTML += '<DIV class="barcodeSheet">'+"\n";
	sheetHTML += getBCSheet(new Array(), false);
	sheetHTML += '</DIV>'+"\n";
	
	document.getElementById('outputMain').innerHTML = sheetHTML;
}

function getBCSheet(barcodeRows, print)
{
	sheetHTML = '';
	if(g_bcType == 'pdf' || g_bcType == 'pdf1D' || g_bcType == 'code128')
	{
		if(barcodeRows.length > 0)
		{
			tableHTML = '<TABLE class="bcSheet" border="0" cellpadding="5" cellspacing="0">'+"\n";
			var code = '';
			if(g_bcType == 'pdf') code = '@MENU_OPTO@ZZ';
			if(g_bcType == 'pdf1D') code = 'ZZ';
			for ( var i in barcodeRows )
			{
				var barcode = barcodeRows[i];
				if(g_bcType == 'pdf') code += '@';
				if(g_bcType == 'pdf1D' && barcode[1].length == 3) code += '[';
				if(g_bcType == 'pdf1D' && barcode[1].length == 4) code += ']';
				if(barcode[6] == '1') infoImage = '<IMG class=\"infoImage\" onMouseDown="javascript:showBCInfo(' + barcode[0] + ', '+barcode[5]+');" src="./images/info.png" border="0" alt="info">';
				else infoImage = '&nbsp;';
				var description = escapeBrackets(barcode[2]);
				code += barcode[1];
				if(!print)
					tableHTML += 
						'<TR'+getDataWizardClass(barcode[5], barcode[0])+'>' +
							'<TD><TABLE border="0" cellpadding="0" cellspacing="0"><TR><TD class="barcodeCode">' + unescape(barcode[1]) + '</TD></TR><TR><TD class="barcodeDesc">' + (unescape(description).length > 50 ? unescape(description).substring(0,50)+"..." : unescape(description)) + '</TD></TR></TABLE></TD>' + 
							'<TD>'+infoImage+'</TD>' +
							'<TD><A Href="javascript:removeBCFromList(' + i + ')"><IMG src="./images/delete.png" border="0" alt="delete"></A><INPUT type="hidden" id="barcode.' + barcode[0] + '"></TD></TR>'+"\n";
				else
					tableHTML += 
						'<TR'+(g_printCode == '1' || g_printDesc == '1' ? getDataWizardClass(barcode[5], barcode[0]) : '') +'>' +
							'<TD><TABLE border="0" cellpadding="0" cellspacing="0">' +
								(g_printCode == '1' ? '<TR><TD class="barcodeCode">' + unescape(barcode[1]) + '</TD></TR>' : '') +
								(g_printDesc == '1' ? '<TR><TD class="barcodeDesc">' + (unescape(description).length > 25 ? unescape(description).substring(0,50)+"..." : unescape(description)) + '</TD></TR>' : '') +
								'</TABLE></TD>';
			}
			tableHTML += '</TABLE>'+"\n";
			if(g_bcType == 'pdf') code += '@ZZ@OTPO_UNEM@';
			if(g_bcType == 'pdf1D') code += 'ZZ';
			sheetHTML += '<CENTER>'+"\n";
			if(g_bc_sheet_header != '')
				sheetHTML += '<P class="headerFooter">'+escapeBrackets(g_bc_sheet_header)+'</P><BR>'+"\n";
			sheetHTML += '<IMG src="./barcodeimage.php?code=' + escape(code.replace(/\+/gm,"%2B")) + '&output=' + g_bcType + '&size=' + g_bcSize + '" border="0" alt="barcodeimage">';
			sheetHTML += '<INPUT type="hidden" value="'+code+'" id="2dBCCodeString"><BR>\n';
//			sheetHTML += '<BR>\n';
//			sheetHTML += '<font class="barcode2DCode">Code: '+code+'</font><BR>\n';
			sheetHTML += '<BR>'+"\n";
			sheetHTML += tableHTML;
			if(g_bc_sheet_footer != '')
				sheetHTML += '<P class="headerFooter">'+escapeBrackets(g_bc_sheet_footer)+'</P><BR>'+"\n";
			sheetHTML += '</CENTER>'+"\n";
		}
	}
	else
	{
		if(barcodeRows.length > 0)
		{
			var imageHTML = '';
			sheetHTML += '<CENTER>'+"\n";
			sheetHTML += '<P class="headerFooter">'+(g_bc_sheet_header == '' ? getTransl(183) : escapeBrackets(g_bc_sheet_header))+'</P>'+"\n";
			sheetHTML += '<TABLE class="bcSheet" border="0" cellpadding="5" cellspacing="0">'+"\n";
			if(g_bcType == 'code39') sheetHTML += '<TR><TD class="barcodeCode">' + (print && g_printCode == '0' ? '' : 'SET ('+g_set_label+')') + '</TD><TD class="barcodeImage"><IMG src="./barcodeimage.php?code=' + escape(" "+g_set_label+" ") + '&amp;output=' + g_bcType + '&amp;size=' + g_bcSize + (g_bcNeg == '1' ? '&amp;negative=1' : '') + '" border="0" alt="barcodeimage"></TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>'+"\n";
			var lastCode = 0;
			for ( var i in barcodeRows )
			{
				var barcode = barcodeRows[i];
				if(g_bcType == 'code39') imageHTML = '<TD class="barcodeImage"><IMG src="./barcodeimage.php?code=' + escape((barcode[3] == '' ? " " : barcode[3]) + barcode[1].replace(/\+/gm,"%2B") + (barcode[4] == '' ? " " : barcode[4])) + '&amp;output=' + g_bcType + '&amp;size=' + g_bcSize + (g_bcNeg == '1' ? '&amp;negative=1' : '') + '" border="0" alt="barcodeimage"></TD>';
//				if(g_bcType == 'code128') imageHTML = '<TD class="barcodeImage"><IMG src="./barcodeimage.php?code=' + escape(barcode[1].replace(/\+/gm,"%2B")) + '&amp;output=' + g_bcType + '&amp;size=' + g_bcSize + '" border="0" alt="barcodeimage"></TD>';
				if(lastCode == barcode[0]) sheetHTML += '<TR'+getDataWizardClass(barcode[5], barcode[0])+'><TD>&nbsp;</TD><TD class="barcodeImageWait" align="center">'+getTransl(174)+'</TD>'+(print ? "" : "<TD>&nbsp;</TD><TD>&nbsp;</TD>")+'</TR>'+"\n"; // Please wait one second
				if(barcode[6] == '1') infoImage = '<IMG class=\"infoImage\" onMouseDown="javascript:showBCInfo(' + barcode[0] + ', '+barcode[5]+');" src="./images/info.png" border="0" alt="info">';
				else infoImage = '&nbsp;';
				var description = escapeBrackets(barcode[2]);
				if(!print)
					sheetHTML += 
						'<TR'+getDataWizardClass(barcode[5], barcode[0])+'>' +
							'<TD><TABLE border="0" cellpadding="0" cellspacing="0"><TR><TD class="barcodeCode">' + unescape(barcode[1]) + '</TD></TR><TR><TD class="barcodeDesc">' + (unescape(description).length > 50 ? unescape(description).substring(0,50)+"..." : unescape(description)) + '</TD></TR></TABLE></TD>' + 
							imageHTML + 
							'<TD>'+infoImage+'</TD>' +
							'<TD><A Href="javascript:removeBCFromList(' + i + ')"><IMG src="./images/delete.png" border="0" alt="delete"></A><INPUT type="hidden" id="barcode.' + barcode[0] + '"></TD></TR>'+"\n";
				else
					sheetHTML += 
						'<TR'+(g_printCode == '1' || g_printDesc == '1' ? getDataWizardClass(barcode[5], barcode[0]) : '') +'>' +
							'<TD><TABLE border="0" cellpadding="0" cellspacing="0">' + 
								(g_printCode == '1' ? '<TR><TD class="barcodeCode">' + unescape(barcode[1]) + '</TD></TR>' : '') + 
								(g_printDesc == '1' ? '<TR><TD class="barcodeDesc">' + (unescape(description).length > 50 ? unescape(description).substring(0,50)+"..." : unescape(description)) + '</TD></TR>' : '')+
								'</TABLE></TD>' + 
							imageHTML  +
							'</TR>';
				lastCode = barcode[0];
				if(barcode[7] == '1') sheetHTML += '<TR'+getDataWizardClass(barcode[5], barcode[0])+'><TD>&nbsp;</TD><TD class="barcodeImageWait" align="center">'+getTransl(175)+'</TD>'+(print ? "" : "<TD>&nbsp;</TD><TD>&nbsp;</TD>")+'</TR>'+"\n"; // Scan your own barcode
			}
			if(g_bcType == 'code39') sheetHTML += '<TR><TD class="barcodeCode">' + (print && g_printCode == '0' ? '' : 'END ('+g_end_label+')') + '</TD><TD class="barcodeImageBottom"><IMG src="./barcodeimage.php?code=' + escape(" "+g_end_label+" ") + '&amp;output=' + g_bcType + '&amp;size=' + g_bcSize + (g_bcNeg == '1' ? '&amp;negative=1' : '') + '" border="0" alt="barcodeim"></TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>'+"\n";
			sheetHTML += '</TABLE>'+"\n";
			if(g_bc_sheet_footer != '')
				sheetHTML += '<P class="headerFooter">'+escapeBrackets(g_bc_sheet_footer)+'</P>'+"\n";
			sheetHTML += '</CENTER>'+"\n";
		}	
	}
	return sheetHTML;
}
/*
function getBCSheetTXT()
{
	var result = getURLContent('./getInfo.php?page=getBCSheetText');
	var arr_txt = result.split("<!--|-->");
	g_bc_sheet_text = arr_txt[0];
	g_bc_sheet_header = arr_txt[1];
	g_bc_sheet_footer = arr_txt[2];
}
*/
function showBCSheetTXT(edit)
{
	var sheetHTML = '';
	var div = document.getElementById('barcodeSheetText');
	var txtHeight = parseInt(div.style.height.substring(0,div.style.height.indexOf("px")));

	sheetHTML += '<DIV class="barcodeSheetEdit">'+"\n";
	if(edit)
	{
		sheetHTML += '<A href="javascript:saveBCSheetTXT()"><IMG src="./images/save.png" alt="SaveTxt" border="0" title="Save text"></A><BR>';
		sheetHTML += '<A href="javascript:clearBCSheetTXT()"><IMG src="./images/clear.png" alt="ClearTxt" border="0" title="Clear text"></A><BR>';
		sheetHTML += '<A href="javascript:showBCSheetTXT(false)"><IMG src="./images/undo.png" alt="UndoTxt" border="0" title="Cancel"></A>';
	}
	else
		sheetHTML += '<A href="javascript:editBCSheetTXT()"><IMG src="./images/edit.png" alt="EditTxt" border="0"></A>';
	sheetHTML += '</DIV>'+"\n";
	
	sheetHTML += '<DIV class="barcodeSheetEditTxt">'+"\n";
	if(edit)
	{
		sheetHTML += '<INPUT class="headerFooter" id="BCSheetTextHeader" ' + 
			'style="color: #'+(g_bc_sheet_header == '' ? 'cccccc' : '000000')+';" ' + 
			'value="'+(g_bc_sheet_header == '' ? getTransl(180) : g_bc_sheet_header)+'" ' + 
			'onFocus="setBCSheetHeader(true)" ' +
			'onBlur="setBCSheetHeader(false)" ' +
			'><BR><BR>';
		sheetHTML += '<INPUT class="headerFooter" id="BCSheetTextFooter" ' + 
			'style="color: #'+(g_bc_sheet_footer == '' ? 'cccccc' : '000000')+';" ' + 
			'value="'+(g_bc_sheet_footer == '' ? getTransl(181) : g_bc_sheet_footer)+'" ' + 
			'onFocus="setBCSheetFooter(true)" ' +
			'onBlur="setBCSheetFooter(false)" ' +
			'><BR><BR>';
		sheetHTML += '<TEXTAREA class="BCSheetText" id="BCSheetTextArea" ' + 
			'style="color: #'+(g_bc_sheet_text == '' ? 'cccccc' : '000000')+';" ' + 
			'onFocus="setBCSheetTextArea(true)" ' +
			'onBlur="setBCSheetTextArea(false)" ' +
			'>'+(g_bc_sheet_text == '' ? getTransl(178) : unescape(g_bc_sheet_text))+'</TEXTAREA>';
		div.style.cursor = 'default';
		div.onclick = g_ie ? null : false;
	}
	else
	{
//		if(g_bc_sheet_text == '')
//		{
//			sheetHTML += '<P width="98%" align="right" style="font-family : Arial; font-size : 12pt ; color : #cccccc; font-weight : bold; padding: 0px; margin: 0px;">'+getTransl(178)+' >></P>';
//			div.style.cursor = 'text';
//			div.onclick = function() { editBCSheetTXT() };
//		}
//		else
//		{
			div.style.cursor = 'text';
			div.onclick = g_ie ? null : false;
			sheetHTML += convert_pseudo_html(unescape(nl2br(escapeBrackets(g_bc_sheet_text))));
//		}
	}
	sheetHTML += '</DIV>'+"\n";
	
	if(!edit && g_bc_sheet_text == '')
	{
		showBCSheetDiv(false);
		return;
	}
	else
		showBCSheetDiv(true);

	div.innerHTML = sheetHTML;
	
	if(edit)
	{
		var txtArea = document.getElementById('BCSheetTextArea');
		var txtHdr = document.getElementById('BCSheetTextHeader');
		var txtFtr = document.getElementById('BCSheetTextFooter');
		var txtHeight = parseInt(div.style.height.substring(0,div.style.height.indexOf("px")));
		txtArea.style.height = ((txtHeight - 84) < 20 ? 20 : (txtHeight - 84)) + "px";
		txtArea.style.width = "98%";
		txtHdr.style.width = "98%";
		txtFtr.style.width = "98%";
	}	
}

function clearBCSheetTXT()
{
	var txtArea = document.getElementById('BCSheetTextArea');
	var txtHdr = document.getElementById('BCSheetTextHeader');
	var txtFtr = document.getElementById('BCSheetTextFooter');

	txtArea.value = getTransl(178);
	txtHdr.value = getTransl(180);
	txtFtr.value = getTransl(181);
	txtArea.style.color = '#cccccc';
	txtHdr.style.color = '#cccccc';
	txtFtr.style.color = '#cccccc';
}

function showBCSheetDiv(show)
{
	var sliderDiv = document.getElementById('barcodeSheetSlider');
	var txtDiv = document.getElementById('barcodeSheetText');
	var sheetDiv = document.getElementById('outputMain');

	if(show && txtDiv.style.visibility == 'hidden')
	{
		var txtDivBottom = parseInt(txtDiv.style.bottom.substring(0,txtDiv.style.bottom.indexOf("px")));
		var txtDivHeight = parseInt(txtDiv.style.height.substring(0,txtDiv.style.height.indexOf("px")));
		sheetDiv.style.bottom = (txtDivBottom + txtDivHeight) + "px";
	}
	else if(!show)
	{
		var txtDivBottom = parseInt(txtDiv.style.bottom.substring(0,txtDiv.style.bottom.indexOf("px")));
		sheetDiv.style.bottom = txtDivBottom + "px";
	}

	sliderDiv.style.visibility = (show ? 'visible' : 'hidden');
	txtDiv.style.visibility = (show ? 'visible' : 'hidden');	
}

function setBCSheetTextArea(edit)
{
	var txtArea = document.getElementById('BCSheetTextArea');
	if(g_bc_sheet_text == '')
	{
		if(edit)
		{
			if(txtArea.value == getTransl(178))
				txtArea.value = '';
			txtArea.style.color = '#000000';
		}
		else
		{
			if(txtArea.value == '')
			{
				txtArea.value = getTransl(178);
				txtArea.style.color = '#cccccc';
			}
		}
	}
	else
	{
		if(txtArea.value == '')
		{
			txtArea.value = getTransl(178);
			txtArea.style.color = '#cccccc';
		}
		else
		{
			if(txtArea.value == getTransl(179))
				txtArea.value = '';
			txtArea.style.color = '#000000';
		}
	}
}

function setBCSheetHeader(edit)
{
	var txtHdr = document.getElementById('BCSheetTextHeader');
	if(g_bc_sheet_header == '')
	{
		if(edit)
		{
			if(txtHdr.value == getTransl(180))
				txtHdr.value = '';
			txtHdr.style.color = '#000000';
		}
		else
		{
			if(txtHdr.value == '')
			{
				txtHdr.value = getTransl(180);
				txtHdr.style.color = '#cccccc';
			}
		}
	}
	else
	{
		if(txtHdr.value == '')
		{
			txtHdr.value = getTransl(180);
			txtHdr.style.color = '#cccccc';
		}
		else
		{
			if(txtHdr.value == getTransl(180))
				txtHdr.value = '';
			txtHdr.style.color = '#000000';
		}
	}
}

function setBCSheetFooter(edit)
{
	var txtFtr = document.getElementById('BCSheetTextFooter');
	if(g_bc_sheet_footer == '')
	{
		if(edit)
		{
			if(txtFtr.value == getTransl(181))
				txtFtr.value = '';
			txtFtr.style.color = '#000000';
		}
		else
		{
			if(txtFtr.value == '')
			{
				txtFtr.value = getTransl(181);
				txtFtr.style.color = '#cccccc';
			}
		}
	}
	else
	{
		if(txtFtr.value == '')
		{
			txtFtr.value = getTransl(181);
			txtFtr.style.color = '#cccccc';
		}
		else
		{
			if(txtFtr.value == getTransl(181))
				txtFtr.value = '';
			txtFtr.style.color = '#000000';
		}
	}
}

function editBCSheetTXT()
{
	showBCSheetTXT(true);
}

function saveBCSheetTXT()
{
	if(document.getElementById('barcodeSheetText') && document.getElementById('barcodeSheetText').style.visibility == 'hidden')
		return;
	if(!document.getElementById('BCSheetTextArea'))
		return;

	var commentTXT = document.getElementById('BCSheetTextArea').value;
	var headerTXT = document.getElementById('BCSheetTextHeader').value;
	var footerTXT = document.getElementById('BCSheetTextFooter').value;

	if(commentTXT == getTransl(178))
		commentTXT = '';
	if(headerTXT == getTransl(180))
		headerTXT = '';
	if(footerTXT == getTransl(181))
		footerTXT = '';

	g_bc_sheet_text = commentTXT;
	g_bc_sheet_header = headerTXT;
	g_bc_sheet_footer = footerTXT;
	
	getURLContent('./getInfo.php?page=saveBCSheetText&text='+escape(commentTXT.replace(/\+/gm,"%2B"))+'&header='+escape(headerTXT.replace(/\+/gm,"%2B"))+'&footer='+escape(footerTXT.replace(/\+/gm,"%2B")));
	
	showBCSheetTXT(false);
	updateBarcodeSheet();
}

function startSheetDrag(e)
{
	g_sheet_drag = true;
	var sliderDiv = document.getElementById('barcodeSheetSlider');
	var txtDiv = document.getElementById('barcodeSheetText');
	var sheetDiv = document.getElementById('outputMain');
	var sliderDivBottom = parseInt(sliderDiv.style.bottom.substring(0,sliderDiv.style.bottom.indexOf("px")));
	
	g_sheet_start_bottom = sliderDivBottom;

	if(g_ie)
		g_sheet_start_y = event.clientY;
	else
		g_sheet_start_y = e.clientY;

	document.onmousemove = sheetDrag;
	document.onmouseup = endSheetDrag;

	if (typeof sliderDiv.onselectstart!="undefined") //IE route
	{
		sliderDiv.onselectstart=function(){return false};
		txtDiv.onselectstart=function(){return false};
		sheetDiv.onselectstart=function(){return false};
	}
	else if (typeof sliderDiv.style.MozUserSelect!="undefined") //Firefox route
	{
		sliderDiv.style.MozUserSelect="none";
		txtDiv.style.MozUserSelect="none";
		sheetDiv.style.MozUserSelect="none";
	}
	else //All other route (ie: Opera)
	{
		txtDiv.onmousedown=function(){return false};
		sheetDiv.onmousedown=function(){return false};
	}

//	document.getElementById('barcodeSheetText').innerHTML = "StartY: "+ g_sheet_start_y + " StartBottom: " + g_sheet_start_bottom;

	sliderDiv.innerHTML = "<HR style=\"border: 1px dashed #cccccc; border-style: none none dashed; margin-top: 5px;\">";
	return false;
}

function endSheetDrag(e)
{
	if(!g_sheet_drag)
		return;

	var sliderDiv = document.getElementById('barcodeSheetSlider');
	var txtDiv = document.getElementById('barcodeSheetText');
	var sheetDiv = document.getElementById('outputMain');

//	var txtDivHeight = parseInt(txtDiv.style.height.substring(0,txtDiv.style.height.indexOf("px")));
//	var sheetDivBottom = parseInt(sheetDiv.style.bottom.substring(0,sheetDiv.style.bottom.indexOf("px")));

	var sliderBottom = parseInt(sliderDiv.style.bottom.substring(0,sliderDiv.style.bottom.indexOf("px")));
	var txtBottom = parseInt(txtDiv.style.bottom.substring(0,txtDiv.style.bottom.indexOf("px")));

	sliderDiv.style.bottom =  sliderBottom + "px";
	sheetDiv.style.bottom =  (sliderBottom + 7)+ "px";
	txtDiv.style.height =  ( sliderBottom - txtBottom + 7) + "px";

	var txtArea = document.getElementById('BCSheetTextArea');
	
	if(txtArea)
	{
		var txtHeight = ( sliderBottom - txtBottom - 77);
		txtArea.style.height = (txtHeight < 20 ? 20 : txtHeight) + "px";
		txtArea.style.width = "98%";	
	}

	sliderDiv.innerHTML = "";
	document.onmouseup = g_ie ? null : false;
	document.onmousemove = g_ie ? null : false;

	
	if (typeof sliderDiv.onselectstart!="undefined") //IE route
	{
		sliderDiv.onselectstart=null;
		txtDiv.onselectstart=null;
		sheetDiv.onselectstart=null;
	}
	else if (typeof sliderDiv.style.MozUserSelect!="undefined") //Firefox route
	{
		sliderDiv.style.MozUserSelect="";
		txtDiv.style.MozUserSelect="";
		sheetDiv.style.MozUserSelect="";
	}
	else //All other route (ie: Opera)
	{
		txtDiv.onmousedown=null;
		sheetDiv.onmousedown=null;
	}

	g_sheet_drag = false;
}

function sheetDrag(e)
{
	if(!g_sheet_drag)
		return false;

	var sliderDiv = document.getElementById('barcodeSheetSlider');
	var sheetDiv = document.getElementById('outputMain');

	var sliderDivBottom = parseInt(sliderDiv.style.bottom.substring(0,sliderDiv.style.bottom.indexOf("px")));
	var sheetDivBottom = parseInt(sheetDiv.style.bottom.substring(0,sheetDiv.style.bottom.indexOf("px")));

	if(g_ie)
		var y = event.clientY;
	else
		var y = e.clientY;

	if(y < 160)
		y = 160;
	
	var sliderBottom = g_sheet_start_bottom + ((g_sheet_start_y - y));

	if(sliderBottom < 40)
		sliderBottom = 40;

	sliderDiv.style.bottom =  sliderBottom + "px";
	
//	document.getElementById('barcodeSheetText').innerHTML = "Y: "+ (g_sheet_start_y - y) + " SliderBottom: " + sliderBottom;

	if(sliderBottom == 40 || y == 120)
		endSheetDrag(e);
}

function getStyle(el, cssprop)
{
	if (el.currentStyle) // IE
		return el.currentStyle[cssprop];
	else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox
		return document.defaultView.getComputedStyle(el, "")[cssprop];
	else //try and get inline style
		return el.style[cssprop];
}

function getDataWizardClass(bcGRP, bcID)
{
	var returnHTML = '';
	if
		(
			bcGRP == DW_CONF_GRP_1 ||
			bcGRP == DW_CONF_GRP_2 ||
			bcGRP == DW_CONF_GRP_3 ||
			bcGRP == DW_CONF_GRP_4 ||
			bcGRP == DW_CONF_GRP_5 ||
			bcGRP == DW_CONF_GRP_6 ||
			bcGRP == DW_CONF_GRP_7 ||
			bcGRP == DW_CONF_GRP_8 ||
			bcGRP == DW_CONF_GRP_9 ||
			bcGRP == DW_CONF_GRP_10
		)
		returnHTML = ' class="dataWizardRow"';
	if
		(
			bcID == DW_CODE_START01 ||
			bcID == DW_CODE_START02 ||
			bcID == DW_CODE_START03 ||
			bcID == DW_CODE_START04 ||
			bcID == DW_CODE_START05 ||
			bcID == DW_CODE_START06 ||
			bcID == DW_CODE_START07 ||
			bcID == DW_CODE_START08 ||
			bcID == DW_CODE_START09 ||
			bcID == DW_CODE_START10
		)		
		returnHTML = ' class="dataWizardStartRow"';
	if(bcID == DW_CODE_SAVE) returnHTML = ' class="dataWizardEndRow"';
	return returnHTML;
}

function showCatInfo(catID)
{
	if(String(catID).substring(0, 2) == 'dw')
	{
		catID = String(catID).substring(2);
		datawizardInfo = true;
	}
	else datawizardInfo = false;
	var name = getURLContent('./getInfo.php?page=getCatInfo&info=name&id='+catID+(datawizardInfo ? '&datawizard=1' : ''));
	var description = getURLContent('./getInfo.php?page=getCatInfo&info=description&id='+catID+(datawizardInfo ? '&datawizard=1' : ''));
	description = escapeBrackets(description);
	description = convert_pseudo_html(description);

	name = escapeBrackets(name);

	catdescHTML = '';
	catdescHTML += '<DIV class="barcodeSheet">'+"\n";
	catdescHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
	catdescHTML += '<TR><TD>&nbsp;</TD><TD Width="40" height="40"><IMG src="./images/close.png" onClick="javascript:updateBarcodeSheet();" class="infoImage" border="0" alt="close"></TD></TR>'+"\n";
	catdescHTML += '<TR><TD class="catDescHeader">' + unescape(name) + '</TD><TD Width="40">&nbsp;</TD></TR>'+"\n";
//	catdescHTML += '<TR><TD class="catDesc"><DIV style="overflow: auto; top: 0px; bottom: 0px; left: 0px; right: 0px;">' + unescape(nl2br(description)) + '</DIV></TD><TD Width="40">&nbsp;</TD></TR>'+"\n";
	catdescHTML += '</TABLE>';	
	catdescHTML += '<Div class="categoryInfoSheet">' + unescape(nl2br(description)) + '</DIV>'+"\n";
	catdescHTML += '</DIV>'+"\n";
	document.getElementById('outputMain').innerHTML = catdescHTML;
}

function showBCInfo(bcID, bcGrp)
{
	var code = getURLContent('./getInfo.php?page=getBCInfo&info=code&id='+bcID);
	var description = getURLContent('./getInfo.php?page=getBCInfo&info=description&id='+bcID);
	var info = getURLContent('./getInfo.php?page=getBCInfo&info=info&id='+bcID+'&bcGrp='+bcGrp);
	info = escapeBrackets(info);
	info = convert_pseudo_html(info);
	
	if(g_infoWindowTimeOut) clearTimeout(g_infoWindowTimeOut);
	g_infoWindowTimeOut = setTimeout('hideBCInfo()',10000);

	document.getElementById('infoWindowHeader').innerHTML = '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="40"><IMG src="./images/info.png" border="0" alt="info"></TD><TD>&nbsp;</TD><TD width="40"><IMG src="./images/close.png" border="0" alt="close" width="20" height="20" class="infoImage" onClick="javascript:showHideInfoDiv(false);"></TD></TR></TABLE>';
 	document.getElementById('infoWindowHeader').innerHTML += unescape(escapeBrackets(code));
	document.getElementById('infoWindowDescr').innerHTML = unescape(nl2br(escapeBrackets(description)));
	document.getElementById('infoWindowInfo').innerHTML = '<DIV class="infoWindowInfoText">' + unescape(nl2br(info)) + '</DIV>';
	showHideInfoDiv(true);
}

function hideBCInfo()
{
	document.getElementById('infoWindowHeader').innerHTML = '';
	document.getElementById('infoWindowDescr').innerHTML = '';
	document.getElementById('infoWindowInfo').innerHTML = '';
	showHideInfoDiv(false);
}

function removeBCFromList(id)
{
	getURLContent('./getInfo.php?page=removeBC&id='+id);	
	updateBarcodeSheet();
}

function selectShowTree()
{
	document.getElementById('selectBCGroupsMain').innerHTML = '';

	var divhtml = '';
	var result = getURLContent('./getInfo.php?page=bccatergory&id=0&legacy='+g_legacy);

	arr_Lines = result.split("<!--CR-->");

	divhtml += "<TABLE id=\"catTree\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n";

	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_cat = arr_Lines[line].split("<!--|-->");
			if(arr_cat[4] == '1') infoImage = '<IMG class=\"infoImage\" onMouseDown="javascript:showCatInfo(' +  arr_cat[0] + ');" src="./images/info.png" border="0" HEIGHT="10" WIDTH="10" alt="info">';
			else infoImage = '&nbsp;';
			divhtml += "<TR>";
			divhtml += (arr_cat[3] == 0 ? "<TD class=\"treeCatNoSub\" onClick=\"javascript:showBCGrps(" + arr_cat[0] + ");\">" + unescape(arr_cat[1]) + "</TD>" : "<TD class=\"treeCatSub\" onClick=\"javascript:openBCCat(this," + arr_cat[0] + ",'catTree');\">" + unescape(arr_cat[1]) + "</TD>");
			divhtml += '<TD width="20">'+infoImage+'</TD>';
			divhtml += "</TR>\n";
		}
	}
	divhtml += "</TABLE>\n";

	document.getElementById('selectBCMain').innerHTML = divhtml;
	document.getElementById('selectBCGroupsHeaderCell').innerHTML = getTransl(2);
}

function openBCCat(rowID, id, table)
{
	var result = getURLContent('./getInfo.php?page=bccatergory&id='+id+'&legacy='+g_legacy);
	if(result == "") return;
	var rowIndex=rowID.parentNode.rowIndex;
	var rowObj=document.getElementById(table).insertRow(rowIndex+1);
	var cellObj = rowObj.insertCell(0);
	cellObj.colSpan = 2;
	cellObj.className = 'treeCatSubCats';
	var rowhtml = '';
	var items = 0;
	arr_Lines = result.split("<!--CR-->");

	rowhtml += "<TABLE id=\"" + table + rowIndex +"\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n";

	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_cat = arr_Lines[line].split("<!--|-->");
			if(arr_cat[4] == '1') infoImage = '<IMG class=\"infoImage\" onMouseDown="javascript:showCatInfo(' +  arr_cat[0] + ');" src="./images/info.png" border="0" HEIGHT="10" WIDTH="10" alt="info">';
			else infoImage = '&nbsp;';
			rowhtml += "<TR>";
			rowhtml += (arr_cat[3] == 0 ? "<TD class=\"treeCatNoSub\" onClick=\"javascript:showBCGrps(" + arr_cat[0] + ");\">" + unescape(arr_cat[1]) + "</TD>" : "<TD class=\"treeCatSub\" onClick=\"javascript:openBCCat(this," + arr_cat[0] + ",'" + table + rowIndex + "');\">" + unescape(arr_cat[1]) + "</TD>");
			rowhtml += '<TD width="20">'+infoImage+'</TD>';
			rowhtml += "</TR>\n";
		}
	}
	rowhtml += "</TABLE>\n";

	rowID.parentNode.cells[0].onclick = function() { closeBCCat( rowID, id, table, rowObj.rowIndex) };
	cellObj.innerHTML = rowhtml;
	showBCGrps(id);
}

function showBCGrps(id)
{
	var result = getURLContent('./getInfo.php?page=bcgroups&catid='+id+'&legacy='+g_legacy);
	arr_Lines = result.split("<!--CR-->");

	if(arr_Lines[0] == "<!--CUSTOM-->")
		document.getElementById('selectBCGroupsMain').innerHTML = getURLContent(unescape(arr_Lines[1]));
	else
		document.getElementById('selectBCGroupsMain').innerHTML = buildBCGroupPage(arr_Lines);
}

function highlightBCListRow(rowElement,highLight)
{
	if(highLight)
		rowElement.className = 'bcListRowHover';
	else 
		rowElement.className = 'bcListRow';
}

function bcListSetCheckbox(grpID, rowID)
{
	inputEl = document.getElementById("bcGrp-"+grpID+"-"+rowID);
	if(inputEl.checked && inputEl.type != 'radio') inputEl.checked = false;
	else inputEl.checked = true;
}

function bcDropdownSetInfo(bcGrp)
{
	var bcDrpDwnOption = document.getElementById("bcGrp-"+bcGrp);
	var rowValue = bcDrpDwnOption.options[bcDrpDwnOption.selectedIndex].value;
	var arr_row = rowValue.split("-");
	
	var info = getURLContent('./getInfo.php?page=getBCInfo&info=info&id=' + arr_row[1]);
	var tableCell = document.getElementById('bcDropdownInfo');
	if(info != '') 
		tableCell.innerHTML = "<IMG class=\"infoImage\" onMouseDown=\"javascript:showBCInfo(" + arr_row[1] + ", " + bcGrp + ");\" src=\"./images/info.png\" border=\"0\" alt=\"info\">";
	else 
		tableCell.innerHTML = '&nbsp;';
}

function closeBCCat(rowObj, id, table, rowID)
{
	document.getElementById(table).deleteRow(rowID);
	rowObj.parentNode.cells[0].onclick = function() { openBCCat( rowObj, id, table) };
	showBCGrps(id);
}

function selectShowSearch()
{
	document.getElementById('selectBCGroupsMain').innerHTML = '';
	
	searchHTML = '<DIV class="selectBCSpacer"></DIV>';
	searchHTML += "<INPUT class=\"bcSearch\" onkeyup=\"javascript:asyncSearch(this.value)\" type=\"text\" id=\"bcSearch\" value=\"\"><BR>\n";
	searchHTML += '<BR>\n';
	searchHTML += "<INPUT type=\"checkbox\" onChange=\"javascript:setSearchOptions()\" onclick=\"this.blur()\" id=\"searchCode\"" + (g_searchCode == '1' ? "CHECKED" : "") +"> "+getTransl(18)+"<BR>\n"; // Search in code
	searchHTML += "<INPUT type=\"checkbox\" onChange=\"javascript:setSearchOptions()\" onclick=\"this.blur()\" id=\"searchDescription\"" + (g_searchDescription == '1' ? "CHECKED" : "") +"> "+getTransl(19)+"<BR>\n"; // Search in description
	searchHTML += "<INPUT type=\"checkbox\" onChange=\"javascript:setSearchOptions()\" onclick=\"this.blur()\" id=\"searchInfo\"" + (g_searchInfo == '1' ? "CHECKED" : "") +"> "+getTransl(20)+"<BR>\n"; // Search in info
	
	document.getElementById('selectBCMain').innerHTML = searchHTML;
	document.getElementById('selectBCGroupsHeaderCell').innerHTML = getTransl(4);
}

function setSearchOptions()
{
	getURLContent('./getInfo.php?page=setSessionInfo&info=searchCode&data='+(document.getElementById('searchCode').checked ? 1 : 0));
	getURLContent('./getInfo.php?page=setSessionInfo&info=searchDescription&data='+(document.getElementById('searchDescription').checked ? 1 : 0));
	getURLContent('./getInfo.php?page=setSessionInfo&info=searchInfo&data='+(document.getElementById('searchInfo').checked ? 1 : 0));
	
	g_searchCode = (document.getElementById('searchCode').checked ? 1 : 0);
	g_searchDescription = (document.getElementById('searchDescription').checked ? 1 : 0);
	g_searchInfo = (document.getElementById('searchInfo').checked ? 1 : 0);
	
	asyncSearch(document.getElementById('bcSearch').value);
}

function asyncSearch(searchString)
{
	if(!searchString) 
	{
		document.getElementById('selectBCGroupsMain').innerHTML = '';
		return;
	}
	
	if (window.XMLHttpRequest)
	{// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}
	else
	{// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		xmlhttp.open("GET","./getInfo.php?page=searchBarcode&maxresults=30&search=" + escape(searchString.replace(/\+/gm,"%2B")) + '&legacy='+g_legacy,false);
		xmlhttp.send(null);
		barcodeSearch(xmlhttp.responseText);
		return;
	}
	
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4 && xmlhttp.status==200)
			barcodeSearch(xmlhttp.responseText);
	}
	xmlhttp.open("GET","./getInfo.php?page=searchBarcode&maxresults=30&search=" + escape(searchString.replace(/\+/gm,"%2B")) + '&legacy='+g_legacy,true);

	xmlhttp.send(null);
}

function barcodeSearch(result)
{
//	document.getElementById('selectBCGroupsMain').innerHTML += 'Start search....<BR>';
	arr_Lines = result.split("<!--CR-->");
	var divhtml = '';
	
	divhtml += "<TABLE width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
	var i = 0;
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bc = arr_Lines[line].split("<!--|-->");
			if(arr_bc[3] == '1') infoImage = "<IMG class=\"infoImage\" onMouseDown=\"javascript:showBCInfo(" + arr_bc[0] + ", 0);\" src=\"./images/info.png\" border=\"0\" alt=\"info\">";
			else infoImage = '&nbsp;';
			divhtml += 
				"<TR>" +
					"<TD class=\"bcListCode\">" + unescape(arr_bc[1]) + "</TD>" +
					"<TD class=\"bcListDesc\">" + unescape(escapeBrackets(arr_bc[2])) + "</TD>" +
					"<TD>"+infoImage+"</TD>" +			
					"<TD class=\"bcListDesc\" align=\"right\"><input class=\"addBC\" TYPE=\"button\" onClick=\"javascript:addBCFromSearch(" + arr_bc[0] + ");\" VALUE=\""+getTransl(17)+"\"></TD>" + // add -->
				"</TR>\n";
			i++;
		}
	}
	divhtml += "</TABLE>\n";
//	g_searching = false;
//	document.getElementById('selectBCGroupsMain').innerHTML += 'End search....<BR>';
	document.getElementById('selectBCGroupsMain').innerHTML = divhtml;
}

function showLink()
{
	saveBCSheetTXT();
	var result = getURLContent('./getInfo.php?page=storeBCSheetText');
	if(result != 'OK')
	{
		alert(getTransl(182) + "\n"+ result);
		return;
	}

	result = getURLContent("./shortlink.php?cmd=makeLink");
	
	updateBarcodeSheet();
	
	if(!result)
	{
		alert(getTransl(160)); // Barcode sheet is empty!
		return;
	}

	getURLContent('./getInfo.php?page=updateStats&link=1');

	var width  = 600;
	var height = 30;
	var left   = (screen.width  - width)/2;
	var top    = (screen.height - height)/2;
	var params = 'width='+width+', height='+height;
	params += ', top='+top+', left='+left;
	params += ', directories=no';
	params += ', location=no';
	params += ', menubar=no';
	params += ', resizable=no';
	params += ', scrollbars=auto';
	params += ', status=no';
	params += ', toolbar=no';
	newwin=window.open('','_blank', params);
	var windowHTML = newwin.document;
	windowHTML.write('<html><head><title>Link</title>');
	windowHTML.write('<LINK REL="stylesheet" HREF="./style/stylesheet.css" TYPE="text/css">');
	windowHTML.write('</head><body class="popup">');
	windowHTML.write('<DIV class="popup">');
	windowHTML.write('<TABLE border="0" cellpadding="0" cellspacing="0" class="sheetHeader"><TR><TD class="sheetHeaderLeft"><img src="./images/pixel.gif" border="0" alt="pixel"></TD><TD class="sheetHeaderMiddle"><img src="./images/pixel.gif" border="0" alt="pixel"></TD><TD  class="sheetHeaderRight"><img src="./images/pixel.gif" border="0" alt="pixel"></TD></TR></TABLE>');
	windowHTML.write('<DIV class="popupLink"><TEXTAREA class="linkTextField" id="linkTextField">'+result+'</TEXTAREA></DIV>');
	windowHTML.write('<TABLE border="0" cellpadding="0" cellspacing="0" class="sheetFooter"><TR><TD class="sheetFooterLeft"><img src="./images/pixel.gif" border="0" alt="pixel"></TD><TD class="sheetFooterMiddle"><img src="./images/pixel.gif" border="0" alt="pixel"></TD><TD  class="sheetFooterRight"><img src="./images/pixel.gif" border="0" alt="pixel"></TD></TR></TABLE>');
	windowHTML.write('</DIV>');
	windowHTML.write('</body></html>');
	windowHTML.close();
	if (window.focus) {newwin.focus()}
	newwin.document.getElementById('linkTextField').select();
}

function mailLink()
{
	saveBCSheetTXT();
	var result = getURLContent('./getInfo.php?page=storeBCSheetText');
	if(result != 'OK')
	{
		alert(getTransl(182) + "\n"+ result);
		return;
	}

	result = getURLContent("./shortlink.php?cmd=makeLink");
	
	if(!result)
	{
		alert(getTransl(160)); // Barcode sheet is empty!
		return;
	}

	getURLContent('./getInfo.php?page=updateStats&mail=1');

	var msg = getTransl(172) + " \n " + result;
	var subject = getTransl(173);

	var mailto_link = 'mailto:?subject='+subject+'&body='+msg;

	newwin = window.open(mailto_link,'emailWindow');
	if (newwin && newwin.open &&!newwin.closed) newwin.close();
}


function printSheet()
{
	saveBCSheetTXT();
	var result = getURLContent('./getInfo.php?page=getBarcodeSheet');
	if(result == '')
	{
		alert(getTransl(160));
		return;
	}
	getURLContent('./getInfo.php?page=updateStats&print=1');
	var barcodeRows = new Array();
	var arr_Lines = result.split("<!--CR-->");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			barcodeRows.push(arr_Lines[line].split("<!--|-->"));
		}
	}
	var windowHTML = '';
	windowHTML += '<html><head><title>Print</title>'+"\n";
	windowHTML += '<LINK REL="stylesheet" HREF="./style/stylesheet.css" TYPE="text/css">'+"\n";
	windowHTML += '</head><body class="popup">'+"\n";
	windowHTML += '<DIV class="headerPrint">'+"\n";
	windowHTML += '	<img src="./images/opticonfigure.png" border="0" alt="Opticonfigure Header"><img src="./images/opticonfigure_back_print.png" border="0" alt="Opticonfigure back">'+"\n";
	windowHTML += '</DIV>'+"\n";
	windowHTML += '<DIV class="barcodeSheetPrint">'+"\n";
	windowHTML += getBCSheet(barcodeRows, true);
//	if(document.getElementById('printAuto').checked) windowHTML += '<script type="text/javascript">window.print();</script>'+"\n";
	windowHTML += '</DIV>'+"\n";
	if(g_bc_sheet_text != '')
	{
		windowHTML += '<DIV class="sheetTxtPrint">'+"\n";
		windowHTML += convert_pseudo_html(unescape(nl2br(g_bc_sheet_text)));
		windowHTML += '</DIV>'+"\n";
	}
	windowHTML += '</body></html>'+"\n";

	var width  = 595;
	var height = 842;
	var left   = (screen.width  - width)/2;
	var top    = (screen.height - height)/2;
	var params = 'width='+width+', height='+height;
	params += ', top='+top+', left='+left;
	params += ', directories=no';
	params += ', location=no';
	params += ', menubar=yes';
	params += ', resizable=no';
	params += ', scrollbars=yes';
	params += ', status=no';
	params += ', toolbar=no';
	newwin=window.open('','_blanc', params);
	var windowDoc = newwin.document;
	windowDoc.write(windowHTML);
	windowDoc.close();
	if(document.getElementById('printAuto').checked) setTimeout('newwin.print();', 2000);
	if (window.focus) {newwin.focus()}
}

function showHideInfoDiv(show)
{
	document.getElementById('infoWindow').style.visibility = (show ? 'visible' : 'hidden');
}

function showBarcodeSize(cell)
{
	var cellhtml = '';
	var table = document.getElementById('optionsButtons');
	var rowIndex=cell.parentNode.rowIndex;
	var rowObj=table.insertRow(rowIndex+1);
	var cellObj = rowObj.insertCell(0);
	cellObj.colSpan = "2";
	cellObj.className = 'optionsSub';

	cellhtml += 
		"<select class=\"optionsSel\" id=\"bcSize\" onChange=\"javascript:updateBarcodeSheet();\">" +
			"<option value=\"2\" " + (g_bcSize == 2 ? "SELECTED" : "") + ">"+getTransl(149)+"</option>" + // small
			"<option value=\"4\" " + (g_bcSize == 4 ? "SELECTED" : "") + ">"+getTransl(150)+"</option>" + // medium
			"<option value=\"8\" " + (g_bcSize == 8 ? "SELECTED" : "") + ">"+getTransl(151)+"</option>" + // large
		"</select>\n";

	cell.parentNode.cells[0].onclick = function() { closeOptionMenu(cell, function() { showBarcodeSize(cell) }) };
	cell.parentNode.cells[1].onclick = function() { closeOptionMenu(cell, function() { showBarcodeSize(cell) }) };
	cellObj.innerHTML = cellhtml;
}

function closeOptionMenu(cell, onclick)
{
	var table = document.getElementById('optionsButtons');
	var rowIndex=cell.parentNode.rowIndex;
	cell.parentNode.cells[0].onclick = onclick;
	cell.parentNode.cells[1].onclick = onclick;
	table.deleteRow(rowIndex+1);
}

function showBarcodeType(cell)
{
	var cellhtml = '';
	var table = document.getElementById('optionsButtons');
	var rowIndex=cell.parentNode.rowIndex;
	var rowObj=table.insertRow(rowIndex+1);
	var cellObj = rowObj.insertCell(0);
	cellObj.colSpan = "2";
	cellObj.className = 'optionsSub';

	cellhtml += 
		"<select class=\"optionsSel\" id=\"bcType\" onChange=\"javascript:updateBarcodeType();\">" +
			"<option value=\"code39\"" + (g_bcType == "code39" ? "SELECTED" : "") + ">Code39</option>" +
			"<option value=\"code128\"" + (g_bcType == "code128" ? "SELECTED" : "") + ">Code128</option>" +
			"<option value=\"pdf\"" + (g_bcType == "pdf" ? "SELECTED" : "") + ">PDF417</option>" +
			"<option value=\"pdf1D\"" + (g_bcType == "pdf1D" ? "SELECTED" : "") + ">PDF417 - 1D Scanner</option>" +
		"</select>\n";

	cell.parentNode.cells[0].onclick = function() { closeOptionMenu(cell, function() { showBarcodeType(cell) }) };
	cell.parentNode.cells[1].onclick = function() { closeOptionMenu(cell, function() { showBarcodeType(cell) }) };
	cellObj.innerHTML = cellhtml;
}

function updateBarcodeType()
{
	if(document.getElementById('advancedLegacy'))
	{
		advTable = document.getElementById('advancedLegacy').parentNode.parentNode.parentNode;
		advRow = document.getElementById('advancedLegacy').parentNode.parentNode;
		advCell = advTable.rows[(advRow.rowIndex-1)].cells[0];
		closeOptionMenu(advCell, function() { showAdvancedOptions(advCell) });
	}
	updateBarcodeSheet();
}

function showPrintSheet(cell)
{
	var cellhtml = '';
	var table = document.getElementById('optionsButtons');
	var rowIndex=cell.parentNode.rowIndex;
	var rowObj=table.insertRow(rowIndex+1);
	var cellObj = rowObj.insertCell(0);
	cellObj.colSpan = "2";
	cellObj.className = 'optionsSub';

	cellhtml += "<INPUT type=\"checkbox\" onChange=\"javascript:setPrintOptions()\" id=\"printCode\"" + (g_printCode == '1' ? "CHECKED" : "") +"> "+getTransl(152)+"<BR>\n"; // Show Code
	cellhtml += "<INPUT type=\"checkbox\" onChange=\"javascript:setPrintOptions()\" id=\"printDesc\"" + (g_printDesc == '1' ? "CHECKED" : "") +"> "+getTransl(153)+"<BR>\n"; // Show Description
	cellhtml += "<INPUT type=\"checkbox\" onChange=\"javascript:setPrintOptions()\" id=\"printAuto\"" + (g_printAuto == '1' ? "CHECKED" : "") +"> "+getTransl(154)+"<BR>\n"; // Automatically print window
	cellhtml += "<INPUT type=\"button\" class=\"optionsAdd\" onClick=\"javascript:printSheet();\" value=\""+getTransl(155)+"\">"; // Print

	cell.parentNode.cells[0].onclick = function() { closeOptionMenu(cell, function() { showPrintSheet(cell) }) };
	cell.parentNode.cells[1].onclick = function() { closeOptionMenu(cell, function() { showPrintSheet(cell) }) };
	cellObj.innerHTML = cellhtml;
}

function setPrintOptions()
{
	getURLContent('./getInfo.php?page=setSessionInfo&info=printCode&data='+(document.getElementById('printCode').checked ? 1 : 0));
	getURLContent('./getInfo.php?page=setSessionInfo&info=printDesc&data='+(document.getElementById('printDesc').checked ? 1 : 0));
	getURLContent('./getInfo.php?page=setSessionInfo&info=printAuto&data='+(document.getElementById('printAuto').checked ? 1 : 0));
	
	g_printCode = (document.getElementById('printCode').checked ? 1 : 0);
	g_printDesc = (document.getElementById('printDesc').checked ? 1 : 0);
	g_printAuto = (document.getElementById('printAuto').checked ? 1 : 0);	
}

function showAdvancedOptions(cell)
{
	var authenticated = getURLContent('./getInfo.php?page=getSessionInfo&info=authenticated');

	var cellhtml = '';
	var table = document.getElementById('optionsButtons');
	var rowIndex=cell.parentNode.rowIndex;
	var rowObj=table.insertRow(rowIndex+1);
	var cellObj = rowObj.insertCell(0);
	cellObj.colSpan = "2";
	cellObj.className = 'optionsSub';

	cellhtml += "<INPUT type=\"checkbox\" onChange=\"javascript:setAdvancedOptions()\" onclick=\"this.blur()\" id=\"advancedLegacy\"" + (g_legacy == '1' ? "CHECKED" : "") +"> "+getTransl(156)+"<BR>\n"; // Show Legacy Codes
	if(g_bcType == 'code39') cellhtml += "<BR><INPUT type=\"checkbox\" onChange=\"javascript:setAdvancedOptions()\" onclick=\"this.blur()\" id=\"advancedNegative\"" + (g_bcNeg == '1' ? "CHECKED" : "") +"> "+getTransl(166)+"<BR>"; // Show negative barodes
	if(document.getElementById('2dBCCodeString')) cellhtml += "<BR>2D Code:<BR><INPUT type=\"text\" size=\"25\" onClick=\"this.select()\" value=\""+document.getElementById('2dBCCodeString').value+"\"><BR>";
	if(authenticated == 1) cellhtml += "<BR><INPUT type=\"button\" class=\"optionsAdd\" onClick=\"javascript:debugOutput();\" value=\"Debug\"><BR>";

	cell.parentNode.cells[0].onclick = function() { closeOptionMenu(cell, function() { showAdvancedOptions(cell) }) };
	cell.parentNode.cells[1].onclick = function() { closeOptionMenu(cell, function() { showAdvancedOptions(cell) }) };
	cellObj.innerHTML = cellhtml;
}

function debugOutput()
{
	catdescHTML = '';
	catdescHTML += '<DIV class="barcodeSheet">'+"\n";
	catdescHTML += '<IMG src="./images/close.png" onClick="javascript:updateBarcodeSheet();" class="infoImage" border="0" alt="close"><BR>'+"\n";;
	catdescHTML += '<TEXTAREA class="manageCatTA">';
	catdescHTML += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'+"\n";
	catdescHTML += '<HTML>'+"\n";
	catdescHTML += document.documentElement.innerHTML;
	catdescHTML += '</HTML>'+"\n";
	catdescHTML += '</TEXTAREA>'+"\n";
	catdescHTML += '</DIV>'+"\n";
	document.getElementById('outputMain').innerHTML = catdescHTML;
}

function setAdvancedOptions()
{
	if(document.getElementById('advancedLegacy')) getURLContent('./getInfo.php?page=setSessionInfo&info=legacy&data='+(document.getElementById('advancedLegacy').checked ? 1 : 0));
	if(document.getElementById('advancedNegative')) getURLContent('./getInfo.php?page=setSessionInfo&info=bcNeg&data='+(document.getElementById('advancedNegative').checked ? 1 : 0));
	
	g_legacy = (document.getElementById('advancedLegacy').checked ? 1 : 0);
	g_bcNeg = (document.getElementById('advancedNegative').checked ? 1 : 0);
	
	updateBarcodeSheet();
	selectShowBrowse();
}

function createPDF()
{
	shaderDiv = document.getElementById('shadeDiv');
	shaderMsgDiv = document.getElementById('shadeMsgDiv');

	shaderDiv.style.visibility = 'visible';

	saveBCSheetTXT();
	var result = getURLContent('./getInfo.php?page=getBarcodeSheet');
	if(result == '')
	{
		alert(getTransl(160));
		shaderDiv.style.visibility = 'hidden';
		return;
	}
	getURLContent('./getInfo.php?page=updateStats&pdf=1');

	shaderMsgDiv.innerHTML = getTransl(184); // The PDF is generated, one moment please..
	shaderMsgDiv.style.visibility = 'visible';
	shaderDiv.style.cursor = 'wait';
	shaderMsgDiv.style.cursor = 'wait';
	
	setTimeout('getPDF()',10);
}

function getPDF()
{
	var result = getURLContent('./getInfo.php?page=genPDF&text='+escape(g_bc_sheet_text.replace(/\+/gm,"%2B"))+'&header='+escape(g_bc_sheet_header.replace(/\+/gm,"%2B"))+'&footer='+escape(g_bc_sheet_footer.replace(/\+/gm,"%2B")));

	if(result != 'OK')
		alert("Generate PDF failed: " + result);
	else
		window.location = './getInfo.php?page=getPDF';

	shaderDiv.style.cursor = 'auto';
	shaderMsgDiv.style.cursor = 'auto';
	shaderDiv.style.visibility = 'hidden';
	shaderMsgDiv.style.visibility = 'hidden';
}

function createConfig()
{
	window.location = "./getInfo.php?page=getScannerConfig";
}

function selectShowDataWizard()
{
	document.getElementById('selectBCGroupsMain').innerHTML = '';
	showHideInfoDiv(false);
	updateBarcodeSheet();

	var divhtml = '';
	var optionhtml = '' + "\n";
	
	for ( var i=1; i<=10; i++)
	{
		optionhtml += "<option value=\"" + i + "\">"+String(getTransl(21)).replace(/<X>/i, i) + "</option>\n"; // Edit configuration
	}
	
	divhtml += "<TABLE width=\"100%\">\n";
	divhtml += "<TR><TD><SELECT class=\"dwSelConfig\" onChange=\"javascript:initDataWizard()\" id=\"dwConfig\">" + optionhtml + "</SELECT></TD><TD align=\"right\"><IMG class=\"infoImage\" onMouseDown=\"javascript:showCatInfo('dw48');\" src=\"./images/info.png\" border=\"0\" alt=\"info\"></TD></TR>\n";
	divhtml += "<TR><TD colspan=\"2\" height=\"5\"><img src=\"./images/pixel.gif\" alt=\"pixel\"></TD></TR>\n";
	divhtml += "<TR><TD class=\"dwExtraOptions\">";
		divhtml += "<TABLE>\n";
		divhtml += "<TR><TD><input type=\"radio\" name=\"dwConfigGrp\" id=\"dwRadioEnableConf\"></TD><TD id=\"dwEnableConf\">"+String(getTransl(22)).replace(/<X>/i, "1")+"</TD></TR>\n"; // Enable data wizard config
		divhtml += "<TR><TD><input type=\"radio\" name=\"dwConfigGrp\" id=\"dwRadioDisableConf\"></TD><TD id=\"dwDisableConf\">"+String(getTransl(23)).replace(/<X>/i, "1")+" 1</TD></TR>\n"; // Disable data wizard config
		divhtml += "<TR><TD><input type=\"radio\" name=\"dwConfigGrp\" id=\"dwRadioResetDW\"></TD><TD>"+getTransl(24)+"</TD></TR>\n"; // Reset Data Wizard
		divhtml += "</TABLE>\n";
	divhtml += "</TD><TD align=\"right\"><IMG class=\"infoImage\" onMouseDown=\"javascript:showCatInfo('dw47');\" src=\"./images/info.png\" border=\"0\" alt=\"info\"></TD></TR>\n";
	divhtml += "<TR><TD colspan=\"2\" align=\"right\"><input class=\"addBC\" TYPE=\"button\" onClick=\"javascript:dwAddExtraOptions();\" VALUE=\""+getTransl(25)+"\"></TD></TR>\n"; // Add
	divhtml += "</TABLE>\n";
	document.getElementById('selectBCMain').innerHTML = divhtml;
	document.getElementById('selectBCGroupsHeaderCell').innerHTML = getTransl(3);
	initDataWizard();
}

function initDataWizard()
{
	var dwOption = document.getElementById("dwConfig");
	var configNR = dwOption.options[dwOption.selectedIndex].value;
	document.getElementById("dwEnableConf").innerHTML = String(getTransl(22)).replace(/<X>/i, configNR); // Enable data wizard config
	document.getElementById("dwDisableConf").innerHTML = String(getTransl(23)).replace(/<X>/i, configNR); // Disable data wizard config

	outputHTML = '';
	outputHTML += '<TABLE width="100%"><TR><TD>';
	outputHTML += '<P class="dwWelcomeLine">'+String(getTransl(26)).replace(/<X>/i, configNR) + "</P><BR>\n"; // Welcome to the data wizard. Here you can edit or add configuration
	outputHTML += '</TD><TD>';
	outputHTML += '<IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw1\');" src="./images/info.png" border="0" alt="info">';
	outputHTML += '</TD><TR></TABLE>';
	outputHTML += "<BR>\n";
	outputHTML += "<BR>\n";
	outputHTML += '<CENTER><input class="startDW" TYPE="button" onClick="javascript:startDataWizard('+configNR+', false);" VALUE="'+getTransl(27)+'"></CENTER><BR>'; // -- Start Wizard --
	outputHTML += '<CENTER><input class="startDWAdv" TYPE="button" onClick="javascript:startDataWizard('+configNR+', true);" VALUE="'+getTransl(28)+'"></CENTER><BR>'; // -- Advanced --
	outputHTML += '<DIV class="dwPage" id="dwPage1"></DIV>';
	outputHTML += '<DIV class="dwPage" id="dwPage2"></DIV>';
	outputHTML += '<DIV class="dwPage" id="dwPage3"></DIV>';
	outputHTML += '<DIV class="dwPage" id="dwPage4"></DIV>';
	outputHTML += '<DIV class="dwPage" id="dwTestPage"></DIV>';
	outputHTML += '<DIV class="dwNavigation" id="dwNavigation"></DIV>';
	document.getElementById('selectBCGroupsMain').innerHTML = outputHTML;
	hideAllDWPages();
}

function dwAddExtraOptions()
{
	var dwOption = document.getElementById("dwConfig");
	var configNR = dwOption.options[dwOption.selectedIndex].value;
	
	if(document.getElementById("dwRadioEnableConf").checked) 
	{
		getURLContent('./datawizard.php?cmd=enableConf&'+DW_SPECIAL_ENA_CONF+"="+configNR);
		updateBarcodeSheet();
	}
	if(document.getElementById("dwRadioDisableConf").checked) 
	{
		getURLContent('./datawizard.php?cmd=disableConf&'+DW_SPECIAL_DIS_CONF+"="+configNR);
		updateBarcodeSheet();
	}
	if(document.getElementById("dwRadioResetDW").checked) 
	{
		getURLContent('./datawizard.php?cmd=resetDW&'+DW_SPECIAL_RESET_DW+"="+configNR);
		updateBarcodeSheet();
	}
}

function startDataWizard(configNR, advanced)
{
	getURLContent('./datawizard.php?cmd=initDW&confNR='+configNR);	
	if(advanced) showAdvancedDWPage(1);
	else showBasicDWPage(1);
}

function showBasicDWPage(page)
{
	divHTML = '';
	navHTML = '';
	
	switch(page)
	{
	case 1:
		if(document.getElementById('dwPage'+page).innerHTML == '')
		{
			divHTML += '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0"><TR><TD><H2>'+getTransl(29)+'</H2><TD align="right"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw46\');" src="./images/info.png" border="0" alt="info"></TD></TR></TABLE>'; // Matching conditions
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(33)+'</TD></TR>'; // Which barcodes would you like to match?
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchAllBC" onChange="showDWMatchAllBC(this);" onclick="this.blur()" CHECKED></TD><TD class="dwPageOptions"><H4>'+getTransl(34)+'</H4></TD></TR>'; // All barcodes
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchBCID" onChange="showDWMatchBCID(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(35)+'</H4></TD></TR>'; // Only an certain type of barcode
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchCodeLength" onChange="showDWMatchCodeLength(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(36)+'</H4></TD></TR>'; // Only barcodes of specified length
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchBasicBCChar" onChange="showDWMatchBasicBCChar(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(37)+'</H4></TD></TR>'; // Only barcodes with certain characters in the code
			divHTML += '</TABLE>';
		}
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft">&nbsp;</TD>';
		navHTML += '<TD class="dwNaviMiddle"><input class="addBC" TYPE="button" onClick="javascript:testBasicDWPage();" VALUE="'+getTransl(49)+'"></TD>'; // Test Config
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:checkBasicDWPage(1,2);" VALUE="'+getTransl(50)+'"></TD>'; // Next -->
		navHTML += '</TR></TABLE>';
		break;
	case 2:
		if(document.getElementById('dwPage'+page).innerHTML == '')
		{
			divHTML += '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0"><TR><TD><H2>'+getTransl(30)+'</H2><TD align="right"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw85\');" src="./images/info.png" border="0" alt="info"></TD></TR></TABLE>'; // Build output
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(38)+'</TD></TR>'; // What should the output of the scanner be?
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="buildOutpGrp" id="showDWBuildOrign" onclick="this.blur()" onChange="closeDWBasicBuildMod(\'showDWBuildOrign\');" CHECKED></TD><TD class="dwPageOptions"><H4>'+getTransl(39)+'</H4></TD></TR>'; // Original output
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="buildOutpGrp" id="showDWBuildNone" onclick="this.blur()" onChange="closeDWBasicBuildMod(\'showDWBuildNone\');"></TD><TD class="dwPageOptions"><H4>'+getTransl(40)+'</H4></TD></TR>'; // No output
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="buildOutpGrp" id="showDWBasicBuildMod" onclick="this.blur()" onChange="showDWBasicBuildMod(this);"></TD><TD class="dwPageOptions"><H4>'+getTransl(41)+'</H4></TD></TR>'; // Modified output
			divHTML += '</TABLE>';
		}
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft"><input class="addBC" TYPE="button" onClick="javascript:showBasicDWPage(1);" VALUE="'+getTransl(51)+'"></TD>'; // <-- Back
		navHTML += '<TD class="dwNaviMiddle"><input class="addBC" TYPE="button" onClick="javascript:testBasicDWPage();" VALUE="'+getTransl(49)+'"></TD>'; // Test Config
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:checkBasicDWPage(2,3);" VALUE="'+getTransl(50)+'"></TD>'; // Next -->
		navHTML += '</TR></TABLE>';
	  break;
	case 3:
		if(document.getElementById('dwPage'+page).innerHTML == '')
		{
			divHTML += '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0"><TR><TD><H2>'+getTransl(31)+'</H2><TD align="right"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw83\');" src="./images/info.png" border="0" alt="info"></TD></TR></TABLE>'; // Finalising configuration
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(42)+'</TD></TR>'; // Final modifications to the output
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(43)+'</TD></TR>'; // When the conditions are not met in the datawizard:
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="finOutpGrpTrs" id="'+DW_FIN_TRANSM_ALL_BC+'" onChange="" CHECKED></TD><TD class="dwPageOptions"><H4>'+getTransl(44)+'</H4></TD></TR>'; // Transmit the orignal output
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="finOutpGrpTrs" id="'+DW_FIN_TRANSM_VAL_BC+'" onChange=""></TD><TD class="dwPageOptions"><H4>'+getTransl(45)+'</H4></TD></TR>'; // Transmit nothing
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="finOutpGrp" id="showDWFinNone" onclick="this.blur()" onChange="closeDWBasicshowDWFinNone(this);" CHECKED></TD><TD class="dwPageOptions"><H4>'+getTransl(46)+'</H4></TD></TR>'; // No extra output modifications
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="finOutpGrp" id="showDWFinTrim" onclick="this.blur()" onChange="showDWBasicFin(this);"></TD><TD class="dwPageOptions"><H4>'+getTransl(47)+'</H4></TD></TR>'; // Replace characters, Trim or Fill output to fixed length
			divHTML += '</TABLE>';
		}
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft"><input class="addBC" TYPE="button" onClick="javascript:showBasicDWPage(2);" VALUE="'+getTransl(51)+'"></TD>'; // <-- Back
		navHTML += '<TD class="dwNaviMiddle"><input class="addBC" TYPE="button" onClick="javascript:testBasicDWPage();" VALUE="'+getTransl(49)+'"></TD>'; // Test Config
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:showBasicDWPage(4);" VALUE="'+getTransl(50)+'"></TD>'; // Next -->
		navHTML += '</TR></TABLE>';
	  break;
	case 4:
		divHTML += '<H2>'+getTransl(32)+'</H2>'; // Add configuration to sheet
		divHTML += '<BR>';
		divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" id="dwPage4Table">';
		divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(48)+'</TD></TR>'; // Below is the sumary of the selected options. Click finish to add the configuration to the barcode sheet.
		divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
		divHTML += '</TABLE>';
		divHTML += '<DIV class="dwSummaryOutput" id="dwSummaryOutput">';
		divHTML += dwProcessPage1();
		divHTML += (document.getElementById('dwBuiltOutput') ? document.getElementById('dwBuiltOutput').innerHTML : "");
		divHTML += dwProcessPage3();
		divHTML += '</DIV>';
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft"><input class="addBC" TYPE="button" onClick="javascript:showBasicDWPage(3);" VALUE="'+getTransl(51)+'"></TD>'; // <-- Back
		navHTML += '<TD class="dwNaviMiddle">&nbsp;</TD>';
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:addDWConfig();" VALUE="'+getTransl(52)+'"></TD>'; // Finish
		navHTML += '</TR></TABLE>';
	  break;
	}

	hideAllDWPages();
	if(document.getElementById('dwPage'+page).innerHTML == '' || page == 4) document.getElementById('dwPage'+page).innerHTML = divHTML;
	document.getElementById('dwPage'+page).style.visibility = 'visible';
	document.getElementById('dwNavigation').innerHTML = navHTML;
}

function checkBasicDWPage(page,nextPage)
{
	switch(page)
	{
	case 1:
		if(document.getElementById('showDWMatchBCID').checked && document.getElementById(DW_MATCH_BCID).value == 0)
		{
			alert(getTransl(161)); // Please select a barcode type.
			return;
		}
		if(document.getElementById('showDWMatchBasicBCChar').checked)
		{
			if(document.getElementById(DW_MATCH_BC_CHAR1))
			{
				var matchOption = document.getElementById(DW_MATCH_BC_CHAR1);
				if(matchOption.options[matchOption.selectedIndex].value == 0)
				{
					alert(getTransl(162)); // Please select a character.
					return;
				}
			}
			if(document.getElementById(DW_MATCH_BC_CHAR2))
			{
				var matchOption = document.getElementById(DW_MATCH_BC_CHAR2);
				if(matchOption.options[matchOption.selectedIndex].value == 0)
				{
					alert(getTransl(162)); // Please select a character.
					return;
				}
			}
			if(document.getElementById(DW_MATCH_BC_CHAR3))
			{
				var matchOption = document.getElementById(DW_MATCH_BC_CHAR3);
				if(matchOption.options[matchOption.selectedIndex].value == 0)
				{
					alert(getTransl(162)); // Please select a character.
					return;
				}
			}
		}
	  break;
	case 2:
		if(document.getElementById('showDWBuildOrign').checked)
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_POS+"="+0);
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_REL_END+"="+0);			
		}
		if(document.getElementById('showDWBasicBuildMod').checked)
		{
			if
				(
					!document.getElementById('dwBuiltOutputTable') &&
					!document.getElementById('showDWBuildOrign').checked &&
					!document.getElementById('showDWBuildNone').checked
				)
				alert(getTransl(163)); // Warning, no output added, the output of this configuration is empty.
		}
	  break;		
	}
	
	showBasicDWPage(nextPage);
}

function showDWMatchAllBC(inputElement)
{
	if(inputElement.checked)
	{
		document.getElementById('dwPage1').innerHTML = '';
		showBasicDWPage(1);
	}
}

function showAdvancedDWPage(page)
{
	divHTML = '';
	navHTML = '';
	
	switch(page)
	{
	case 1:
		if(document.getElementById('dwPage'+page).innerHTML == '')
		{
			divHTML += '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0"><TR><TD><H2>'+getTransl(29)+'</H2><TD align="right"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw46\');" src="./images/info.png" border="0" alt="info"></TD></TR></TABLE>'; // Matching conditions
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(53)+'</TD></TR>'; // Select conditions to match, leave these options unchecked to match all barcodes.
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchBCID" onChange="showDWMatchBCID(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(54)+'</H4></TD></TR>'; // Match bar code ID
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchCodeLength" onChange="showDWMatchCodeLength(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(55)+'</H4></TD></TR>'; // Match barcode length
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWMatchBCChar" onChange="showDWMatchBCChar(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(56)+'</H4></TD></TR>'; // Match barcode characters
			divHTML += '</TABLE>';
		}
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft">&nbsp;</TD>';
		navHTML += '<TD class="dwNaviMiddle"><input class="addBC" TYPE="button" onClick="javascript:testBasicDWPage();" VALUE="'+getTransl(49)+'"></TD>'; // Test Config
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:showAdvancedDWPage(2);" VALUE="'+getTransl(50)+'"></TD>'; // Next -->
		navHTML += '</TR></TABLE>';
		break;
	case 2:
		if(document.getElementById('dwPage'+page).innerHTML == '')
		{
			var result = getURLContent('./getInfo.php?page=getDWBCDI');
			var optionCharHTML = '<option value="0"></option>';
			var optionNumberHTML = '';
			var arr_Lines = result.split("\n");
			for ( var line in arr_Lines )
			{
				if(arr_Lines[line] != "")
				{
					arr_bcType = arr_Lines[line].split("|");
					optionCharHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
				}
			}
			for (var i=0; i<=99; i++)
			{
				optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
			}

			divHTML += '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0"><TR><TD><H2>'+getTransl(30)+'</H2><TD align="right"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw85\');" src="./images/info.png" border="0" alt="info"></TD></TR></TABLE>'; // Build output
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" id="dwPage2Table">';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(57)+'</TD></TR>'; // Click on the options below to add output characters or output configurations. With no options added the output will be empty.
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD colspan="2" class="dwPageOptionsClick"><SELECT id="'+DW_BUILD_ADD_BC+'" class="dwPageSelect">'+optionCharHTML+'</SELECT><INPUT class="addBC" type="button" value="'+getTransl(58)+'" onClick="javascript:dwAddChar();"></TD></TR>'; // Add Character
			divHTML += '<TR><TD class="dwPageCheckbox">&nbsp;</TD><TD class="dwPageOptions">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="startGrp" id="'+DW_BUILD_START_POS+'"></TD><TD class="dwPageOptions">'+getTransl(59)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_START_POS+'">'+optionNumberHTML+'</SELECT></TD></TR>'; // Start from position
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="startGrp" id="'+DW_BUILD_START_REL_POS+'"></TD><TD class="dwPageOptions">'+getTransl(60)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_START_REL_POS+'">'+optionNumberHTML+'</SELECT></TD></TR>'; // Start from relative position
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="startGrp" id="'+DW_BUILD_START_INC_CHAR+'"></TD><TD class="dwPageOptions">'+getTransl(61)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_START_INC_CHAR+'">'+optionCharHTML+'</SELECT></TD></TR>'; // Start from character, include character
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="startGrp" id="'+DW_BUILD_START_EXCL_CHAR+'"></TD><TD class="dwPageOptions">'+getTransl(62)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_START_EXCL_CHAR+'">'+optionCharHTML+'</SELECT></TD></TR>'; // Start from character, exclude character
			divHTML += '<TR><TD class="dwPageCheckbox">&nbsp;</TD><TD class="dwPageOptions">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="stopGrp" id="'+DW_BUILD_STOP_LENGTH+'"></TD><TD class="dwPageOptions">'+getTransl(63)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_STOP_LENGTH+'">'+optionNumberHTML+'</SELECT></TD></TR>'; // Part length
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="stopGrp" id="'+DW_BUILD_STOP_REL_END+'"></TD><TD class="dwPageOptions">'+getTransl(64)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_STOP_REL_END+'">'+optionNumberHTML+'</SELECT></TD></TR>'; // Relative end position
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="stopGrp" id="'+DW_BUILD_STOP_END_INC+'"></TD><TD class="dwPageOptions">'+getTransl(65)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_STOP_END_INC+'">'+optionCharHTML+'</SELECT></TD></TR>'; // End at character, include character
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="radio" name="stopGrp" id="'+DW_BUILD_STOP_END_EXCL+'"></TD><TD class="dwPageOptions">'+getTransl(66)+'<BR><SELECT class="dwPageSelect" onchange="javascript:dwSetRadio(this);" id="sel'+DW_BUILD_STOP_END_EXCL+'">'+optionCharHTML+'</SELECT></TD></TR>'; // End at character, exclude character
			divHTML += '<TR><TD class="dwPageCheckbox">&nbsp;</TD><TD class="dwPageOptions">';
			divHTML += ' <TABLE width="100%" border="0" cellspacing="0" cellpadding="0">';
			divHTML += '   <TR><TD><INPUT class="addBC" type="button" value="'+getTransl(67)+'" onClick="javascript:dwAddBuildOutput(false);"></TD><TD align="right"><INPUT class="addBC" type="button" value="'+getTransl(68)+'" onClick="javascript:dwAddBuildOutput(true);"><TD></TR>';
			divHTML += '   <TR><TD align="center"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw85\');" src="./images/info.png" border="0" alt="info"></TD><TD align="center"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw86\');" src="./images/info.png" border="0" alt="info"></TD></TR>';
			divHTML += ' </TABLE>';
			divHTML += '</TD></TR>'; // Add configuration
			divHTML += '</TABLE>';
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="100"><H4>'+getTransl(69)+'</H4></TD><TD>&nbsp;</TD><TD width="100" align="right"><input class="addBC" TYPE="button" onClick="javascript:dwClearBuild();" VALUE="'+getTransl(70)+'"></TD></TR></TABLE>'; // Options added:
			divHTML += '<DIV class="dwBuiltOutput" id="dwBuiltOutput"></DIV>';
		}
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft"><input class="addBC" TYPE="button" onClick="javascript:showAdvancedDWPage(1);" VALUE="'+getTransl(51)+'"></TD>'; // <-- Back
		navHTML += '<TD class="dwNaviMiddle"><input class="addBC" TYPE="button" onClick="javascript:testBasicDWPage();" VALUE="'+getTransl(49)+'"></TD>'; // Test Config
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:showAdvancedDWPage(3);" VALUE="'+getTransl(50)+'"></TD>'; // Next -->
		navHTML += '</TR></TABLE>';
	  break;
	case 3:
		if(document.getElementById('dwPage'+page).innerHTML == '')
		{
			divHTML += '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0"><TR><TD><H2>'+getTransl(31)+'</H2><TD align="right"><IMG class="infoImage" onMouseDown="javascript:showCatInfo(\'dw83\');" src="./images/info.png" border="0" alt="info"></TD></TR></TABLE>'; // Finalising configuration
			divHTML += '<BR>';
			divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
			divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(71)+'</TD></TR>'; // Select to replace a specific character or change the length of the output data to a fixed length. Leave options blank to not modify the output.
			divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWFinReplChar" onChange="javascript:showDWFinReplChar(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(72)+'</H4></TD></TR>'; // Replace matching characters
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWFinChOutput" onChange="javascript:showDWFinChOutput(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(73)+'</H4></TD></TR>'; // Change output length
			divHTML += '<TR><TD class="dwPageCheckbox"><INPUT type="checkbox" id="showDWFinSpecialOpt" onChange="javascript:showDWFinSpecialOpt(this);" onclick="this.blur()"></TD><TD class="dwPageOptions"><H4>'+getTransl(74)+'</H4></TD></TR>'; // Special Options
			divHTML += '</TABLE>';
		}
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft"><input class="addBC" TYPE="button" onClick="javascript:showAdvancedDWPage(2);" VALUE="'+getTransl(51)+'"></TD>'; // <-- Back
		navHTML += '<TD class="dwNaviMiddle"><input class="addBC" TYPE="button" onClick="javascript:testBasicDWPage();" VALUE="'+getTransl(49)+'"></TD>'; // Test Config
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:showAdvancedDWPage(4);" VALUE="'+getTransl(50)+'"></TD>'; // Next -->
		navHTML += '</TR></TABLE>';
	  break;
	case 4:
		divHTML += '<H2>'+getTransl(32)+'</H2>'; // Add configuration to sheet
		divHTML += '<BR>';
		divHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" id="dwPage4Table">';
		divHTML += '<TR><TD colspan="2" class="dwPageHeader">'+getTransl(48)+'</TD></TR>'; // Below is the sumary of the selected options. Click finish to add the configuration to the barcode sheet.
		divHTML += '<TR><TD colspan="2">&nbsp;</TD></TR>';
		divHTML += '</TABLE>';
		divHTML += '<DIV class="dwSummaryOutput" id="dwSummaryOutput">';
		divHTML += dwProcessPage1();
		divHTML += document.getElementById('dwBuiltOutput').innerHTML;
		divHTML += dwProcessPage3();
		divHTML += '</DIV>';
		navHTML += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR>';
		navHTML += '<TD class="dwNaviLeft"><input class="addBC" TYPE="button" onClick="javascript:showAdvancedDWPage(3);" VALUE="'+getTransl(51)+'"></TD>'; // <-- Back
		navHTML += '<TD class="dwNaviMiddle">&nbsp;</TD>';
		navHTML += '<TD class="dwNaviRight"><input class="addBC" TYPE="button" onClick="javascript:addDWConfig();" VALUE="'+getTransl(52)+'"></TD>'; // Finish
		navHTML += '</TR></TABLE>';
	  break;
	}
	
	hideAllDWPages();
	if(document.getElementById('dwPage'+page).innerHTML == '' || page == 4) document.getElementById('dwPage'+page).innerHTML = divHTML;
	document.getElementById('dwPage'+page).style.visibility = 'visible';
	document.getElementById('dwNavigation').innerHTML = navHTML;
}

function showDWBasicBuildMod(inputElement)
{
	var row = inputElement.parentNode.parentNode;

	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(79);		 // Please select the options you want to add to the output. Note that you start with an empty output.
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+2);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.colSpan = '2';
	newCell.className = 'dwPageOptions';
	
	newRow = row.parentNode.insertRow(row.rowIndex+3);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildAddBC(this)\" id=\"showDWBuildAddBC\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(80);		 // Add a character
	newCell.className = 'dwPageOptions';
	
	newRow = row.parentNode.insertRow(row.rowIndex+4);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildOriginOutput(this)\" id=\"showDWBuildOriginOutput\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(81); // Add original output
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+5);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildGrp\" onclick=\"this.blur()\" onChange=\"showDWBasicBuildModOutp(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(82); // Add a part of the original output
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+6);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+7);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "<input type=\"button\" class=\"addBC\" value=\""+getTransl(25)+"\" onClick=\"addBasicBuildOutput()\">"; // Add
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+8);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "&nbsp;";

	newRow = row.parentNode.insertRow(row.rowIndex+9);
	newCell = newRow.insertCell(0);
	newCell.colSpan = "2";
	newCell.innerHTML = '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="100"><H4>'+getTransl(83)+'</H4></TD><TD>&nbsp;</TD><TD width="100" align="right"><input class="addBC" TYPE="button" onClick="javascript:dwClearBuild();" VALUE="'+getTransl(70)+'"></TD></TR></TABLE>'; // Options added: // Clear
	newCell.className = 'dwPageOptions';
	
	newRow = row.parentNode.insertRow(row.rowIndex+10);
	newCell = newRow.insertCell(0);
	newCell.colSpan = "2";
	newCell.innerHTML = "<DIV class=\"dwBuiltOutput\" id=\"dwBuiltOutput\"></DIV>";
}

function showDWBuildOriginOutput(inputElement)
{
//	closeDWBuildVariableOutput();
	closeDWBuildPartOutput();
	closeDWBuildAddBC();
	closeDWBasicBuildModOutp();
}

function showDWBasicBuildModOutp(inputElement)
{
	closeDWBuildAddBC();
	var row = inputElement.parentNode.parentNode;

	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "<input type=\"hidden\" id=\"showDWBuildFixedOutputHiddenEL\" value=\"showDWBuildFixedOutputHiddenEL\">";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+2);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildFirstXChar(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(84); // First x character(s)
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+3);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildLastXChar(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(85); // Last x character(s)
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+4);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildFixedStartPos(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(86); // Start at a position with x length
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+5);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildFixedStartChar(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(87); // Start at a character with x length
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+6);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildStartPendC(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(88); // Start at a position, end at a character
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+7);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildStartPendP(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(89); // Start at a position, end at a position
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+8);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildStartCendC(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(90); // Start at a character, end at a character
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+9);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"dwBasicBuildPartFixedGrp\" onclick=\"this.blur()\" onChange=\"showDWBuildStartCendP(this)\" id=\"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
	newCell.className = 'dwPageOptions';

}

function showDWBuildFirstXChar(inputElement)
{
	var optionNumberHTML = '';
	for (var i=1; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}
	
	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = getTransl(92)+" <SELECT class=\"dwPageSelect\" id=\"dwFirstXChar\">"+optionNumberHTML+"</SELECT> "+getTransl(93); // First // character(s)
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex+2].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex+3].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex+4].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex+5].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex+6].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
	cell = row.parentNode.rows[row.rowIndex+7].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildLastXChar(inputElement)
{
	var optionNumberHTML = '';
	for (var i=1; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}
	
	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = getTransl(94)+" <SELECT class=\"dwPageSelect\" id=\"dwLastXChar\">"+optionNumberHTML+"</SELECT> "+getTransl(93); // Last // character(s)
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex+2].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex+3].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex+4].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex+5].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
	cell = row.parentNode.rows[row.rowIndex+6].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildFixedStartPos(inputElement)
{
	var optionNumberHTML1 = '';
	var optionNumberHTML2 = '';

	for (var i=0; i<=99; i++)
	{
		optionNumberHTML1 += '<option value="'+i+'">'+i+'</option>';
	}

	for (var i=1; i<=99; i++)
	{
		optionNumberHTML2 += '<option value="'+i+'">'+i+'</option>';
	}

	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = getTransl(95)+" <SELECT class=\"dwPageSelect\" id=\"dwFixedStartPos\">"+optionNumberHTML1+"</SELECT> "+getTransl(96)+" <SELECT class=\"dwPageSelect\" id=\"dwFixedStartLength\">"+optionNumberHTML2+"</SELECT>"; // Start at
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex-2].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex+2].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex+3].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex+4].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
	cell = row.parentNode.rows[row.rowIndex+5].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildFixedStartChar(inputElement)
{
	var result = getURLContent('./getInfo.php?page=getDWBCDI');
	var optionHTML = '<option value="0"></option>';
	var optionNumberHTML = '';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
		}
	}
	for (var i=1; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}

	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = 
		getTransl(95)+" <SELECT class=\"dwPageSelect\" id=\"dwFixedStartChar\">"+optionHTML+"</SELECT>" + // Start at
		"<BR>"+getTransl(96)+" <SELECT class=\"dwPageSelect\" id=\"dwFixedStartCharLength\">"+optionNumberHTML+"</SELECT>" +  // with length
		"<BR><input type=\"checkbox\" id=\"dwFixedStartCharIncChar\">"+getTransl(97); // Include character in output
	cell = row.parentNode.rows[row.rowIndex-2].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex-3].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex+2].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex+3].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
	cell = row.parentNode.rows[row.rowIndex+4].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildStartPendC(inputElement)
{
	var optionNumberHTML = '';
	var result = getURLContent('./getInfo.php?page=getDWBCDI');

	for (var i=0; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}

	var optionHTML = '<option value="0"></option>';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+ escapeBrackets(arr_bcType[2])+'</option>';
		}
	}

	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = 
		getTransl(95)+" <SELECT class=\"dwPageSelect\" id=\"dwBuildStartPos\">"+optionNumberHTML+"</SELECT> "+getTransl(98)+"<BR><SELECT class=\"dwPageSelect\" id=\"dwBuildEndChar\">"+optionHTML+"</SELECT>" + // Start at
		"<BR><input type=\"checkbox\" id=\"dwFixedEndCharIncChar\">Include character in output";

	cell = row.parentNode.rows[row.rowIndex-4].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex-3].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex-2].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex+2].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
	cell = row.parentNode.rows[row.rowIndex+3].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildStartPendP(inputElement)
{
	var optionNumberHTML = '';

	for (var i=0; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}

	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = 
		getTransl(95)+" <SELECT class=\"dwPageSelect\" id=\"dwBuildStartPos\">"+optionNumberHTML+"</SELECT> "+getTransl(98)+" <SELECT class=\"dwPageSelect\" id=\"dwBuildEndPos\">"+optionNumberHTML+"</SELECT>"; // Start at

	cell = row.parentNode.rows[row.rowIndex-5].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex-4].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex-3].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex-2].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
	cell = row.parentNode.rows[row.rowIndex+2].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildStartCendC(inputElement)
{
	var result = getURLContent('./getInfo.php?page=getDWBCDI');

	var optionHTML = '<option value="0"></option>';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
		}
	}

	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = 
		getTransl(95)+" <BR><SELECT class=\"dwPageSelect\" id=\"dwBuildStartChar\">"+optionHTML+"</SELECT><BR>"+getTransl(98)+"<BR><SELECT class=\"dwPageSelect\" id=\"dwBuildEndChar\">"+optionHTML+"</SELECT>" + // Start at
		"<BR><input type=\"checkbox\" id=\"dwFixedStartCharIncChar\">" + getTransl(99) + // Include start character in output
		"<BR><input type=\"checkbox\" id=\"dwFixedEndCharIncChar\">" + getTransl(100); // Include end character in output

	cell = row.parentNode.rows[row.rowIndex-6].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex-5].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex-4].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex-3].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex-2].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex+1].cells[1];
	cell.innerHTML = getTransl(91); // Start at a character, end at a position <BR>(counting from the back)
}

function showDWBuildStartCendP(inputElement)
{
	var optionNumberHTML = '';
	var result = getURLContent('./getInfo.php?page=getDWBCDI');

	for (var i=0; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}

	var optionHTML = '<option value="0"></option>';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
		}
	}

	var row = inputElement.parentNode.parentNode;
	var cell = row.cells[1];
	cell.innerHTML = 
		getTransl(95)+" <BR><SELECT class=\"dwPageSelect\" id=\"dwBuildStartChar\">"+optionHTML+"</SELECT><BR> "+getTransl(98)+" <SELECT class=\"dwPageSelect\" id=\"dwBuildEndPos\">"+optionNumberHTML+"</SELECT> " + getTransl(101) + // Start at
		"<BR><input type=\"checkbox\" id=\"dwFixedStartCharIncChar\">" + getTransl(97); // Include character in output

	cell = row.parentNode.rows[row.rowIndex-7].cells[1];
	cell.innerHTML = getTransl(84); // First x character(s)
	cell = row.parentNode.rows[row.rowIndex-6].cells[1];
	cell.innerHTML = getTransl(85); // Last x character(s)
	cell = row.parentNode.rows[row.rowIndex-5].cells[1];
	cell.innerHTML = getTransl(86); // Start at a position with x length
	cell = row.parentNode.rows[row.rowIndex-4].cells[1];
	cell.innerHTML = getTransl(87); // Start at a character with x length
	cell = row.parentNode.rows[row.rowIndex-3].cells[1];
	cell.innerHTML = getTransl(88); // Start at a position, end at a character
	cell = row.parentNode.rows[row.rowIndex-2].cells[1];
	cell.innerHTML = getTransl(89); // Start at a position, end at a position
	cell = row.parentNode.rows[row.rowIndex-1].cells[1];
	cell.innerHTML = getTransl(90); // Start at a character, end at a character
}

function closeDWBuildPartOutput()
{
	if(document.getElementById('showDWBuildFixedOutputHiddenEL'))
	{
		inputElement = document.getElementById('showDWBuildFixedOutputHiddenEL');
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
//		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex);
	}
}

function closeDWBasicshowDWFinNone(inputElement)
{
	var transValInpChecked = document.getElementById(DW_FIN_TRANSM_VAL_BC).checked;
	document.getElementById('dwPage3').innerHTML = '';
	showBasicDWPage(3);
	inputElement.checked = true;
	if(transValInpChecked) document.getElementById(DW_FIN_TRANSM_VAL_BC).checked = true;
}

function showDWBasicFin(inputElement)
{
	var row = inputElement.parentNode.parentNode;

	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.colSpan = '2';
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+2);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"checkbox\" onclick=\"this.blur()\" onChange=\"showDWFinReplChar(this)\" id=\"showDWFinReplChar\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(107); // Find characters and replace all of them with specified character.
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+3);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.colSpan = '2';
	newCell.className = 'dwPageOptions';
	
	newRow = row.parentNode.insertRow(row.rowIndex+4);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"checkbox\" onclick=\"this.blur()\" onChange=\"showDWBasicFinTrim(this)\" id=\"showDWBasicFinTrim\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = getTransl(108);		 // Trim / Fill output to a fixed length.
	newCell.className = 'dwPageOptions';
}

function showDWBasicFinTrim(inputElement)
{
	if(inputElement.checked)
	{
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(109); // Trim output, fill string with specified character when data is shorter or cut when longer than given length.<BR>Forward-cut trims the data at the front, backward-cut at the back.<BR>Forward-fill fills the data with geven charcter at the front. Backward-fill at the back.
		newCell.className = 'dwPageOptions';
	
		newRow = row.parentNode.insertRow(row.rowIndex+2);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_FFBC_LENGTH+"\" onclick=\"this.blur()\" onChange=\"showDWBasicFinTrimEl(this,'"+DW_FIN_CH_OUTPUT_FFBC_LENGTH+"','"+DW_FIN_CH_OUTPUT_FFBC_FILL+"')\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(145); // Forward Fill - Backward Cut
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+3);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_BFFC_LENGTH+"\" onclick=\"this.blur()\" onChange=\"showDWBasicFinTrimEl(this,'"+DW_FIN_CH_OUTPUT_BFFC_LENGTH+"','"+DW_FIN_CH_OUTPUT_BFFC_FILL+"')\">";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(146); // Backward Fill - Forward Cut
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+4);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_FFFC_LENGTH+"\" onclick=\"this.blur()\" onChange=\"showDWBasicFinTrimEl(this,'"+DW_FIN_CH_OUTPUT_FFFC_LENGTH+"','"+DW_FIN_CH_OUTPUT_FFFC_FILL+"')\">";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(147); // Forward Fill - Forward Cut
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+5);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_BFBC_LENGTH+"\" onclick=\"this.blur()\" onChange=\"showDWBasicFinTrimEl(this,'"+DW_FIN_CH_OUTPUT_BFBC_LENGTH+"','"+DW_FIN_CH_OUTPUT_BFBC_FILL+"')\">";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(148); // Backward Fill - Backward Cut
		newCell.className = 'dwPageOptions';

		newCell.className = 'dwPageOptions';
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWBasicFinTrimEl(inputElement, length, fill)
{
	var result = getURLContent('./getInfo.php?page=getDWBCDI');
	var optionHTML = '<option value="0"></option>';
	var optionNumberHTML = '';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
		}
	}
	for (var i=0; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}
	
	if(length != DW_FIN_CH_OUTPUT_FFBC_LENGTH && document.getElementById(DW_FIN_CH_OUTPUT_FFBC_LENGTH)) closeDWBasicFinTrimEl(DW_FIN_CH_OUTPUT_FFBC_LENGTH);
	if(length != DW_FIN_CH_OUTPUT_BFFC_LENGTH && document.getElementById(DW_FIN_CH_OUTPUT_BFFC_LENGTH)) closeDWBasicFinTrimEl(DW_FIN_CH_OUTPUT_BFFC_LENGTH);
	if(length != DW_FIN_CH_OUTPUT_FFFC_LENGTH && document.getElementById(DW_FIN_CH_OUTPUT_FFFC_LENGTH)) closeDWBasicFinTrimEl(DW_FIN_CH_OUTPUT_FFFC_LENGTH);
	if(length != DW_FIN_CH_OUTPUT_BFBC_LENGTH && document.getElementById(DW_FIN_CH_OUTPUT_BFBC_LENGTH)) closeDWBasicFinTrimEl(DW_FIN_CH_OUTPUT_BFBC_LENGTH);

	var row = inputElement.parentNode.parentNode; 
	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = 
		getTransl(110)+" <BR><SELECT onchange=\"javascript:dwSetRadio(this);\" id=\""+length+"\" class=\"dwPageSelect\">"+optionNumberHTML+"</SELECT><BR>" + // Length:
		getTransl(111)+" <BR><SELECT id=\""+fill+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";	 // Fill character:
	newCell.className = 'dwPageOptions';
}

function closeDWBasicFinTrimEl(inputElement)
{
	var row = document.getElementById(inputElement).parentNode.parentNode;
	row.parentNode.deleteRow(row.rowIndex);
}

function closeDWBuildVariableStartPos()
{
	if(document.getElementById('showDWBuildVariableOutputStartPosHiddenEL'))
	{
		inputElement = document.getElementById('showDWBuildVariableOutputStartPosHiddenEL');
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex);
	}
}

function closeDWBasicBuildModOutp()
{
	if(document.getElementById('showDWBasicBuildModOutpHiddenEL'))
	{
		inputElement = document.getElementById('showDWBasicBuildModOutpHiddenEL');
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
//		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex);
	}
}

function closeDWBasicBuildMod(inputElement)
{
	document.getElementById('dwPage2').innerHTML = '';
	showBasicDWPage(2);
	document.getElementById(inputElement).checked = true;
}


function addBasicBuildOutput()
{
	if(document.getElementById(DW_BUILD_ADD_BC))
	{
		var addBCOption = document.getElementById(DW_BUILD_ADD_BC);
		var bcID = addBCOption.options[addBCOption.selectedIndex].value;
		var bcText = addBCOption.options[addBCOption.selectedIndex].text;
		if(bcID == 0) return;

		bcText = escapeBrackets(bcText);

		addBasicBuildOutputToTable('<b>'+getTransl(102)+' </b>'+bcText); // Add Char:

		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_ADD_BC+"="+bcID);
	}
	
	if(document.getElementById('showDWBuildOriginOutput') && document.getElementById('showDWBuildOriginOutput').checked)
	{
		addBasicBuildOutputToTable(getTransl(103)); // Add Original Output

		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_POS+"="+0);
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_REL_END+"="+0);		
	}
	
	if(document.getElementById('dwFirstXChar'))
	{
		var charLenOption = document.getElementById('dwFirstXChar');
		var charLen = charLenOption.options[charLenOption.selectedIndex].value;
		var charLenText = charLenOption.options[charLenOption.selectedIndex].text;
		
		charLenText = escapeBrackets(charLenText);

		addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(92)+' '+charLenText+' '+(charLen > 1 ? getTransl(106) : getTransl(105))); // Partial output:
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_POS+"="+0);
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_LENGTH+"="+charLen);		
	}

	if(document.getElementById('dwLastXChar'))
	{
		var charLenOption = document.getElementById('dwLastXChar');
		var charLen = charLenOption.options[charLenOption.selectedIndex].value;
		var charLenText = charLenOption.options[charLenOption.selectedIndex].text;
		
		charLenText = escapeBrackets(charLenText);

		addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(94)+' '+charLenText+' '+(charLen > 1 ? getTransl(106) : getTransl(105))); // Partial output:
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_REL_POS+"="+(charLen-1));
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_LENGTH+"="+charLen);		
	}
	
	if(document.getElementById('dwFixedStartPos'))
	{
		var charPosOption = document.getElementById('dwFixedStartPos');
		var charPos = charPosOption.options[charPosOption.selectedIndex].value;
		var charPosText = charPosOption.options[charPosOption.selectedIndex].text;
		var charLenOption = document.getElementById('dwFixedStartLength');
		var charLen = charLenOption.options[charLenOption.selectedIndex].value;
		var charLenText = charLenOption.options[charLenOption.selectedIndex].text;
		
		charPosText = escapeBrackets(charPosText);
		charLenText = escapeBrackets(charLenText);

		addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+charPosText+' '+getTransl(96)+' '+charLenText); // Partial output:
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_POS+"="+charPos);
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_LENGTH+"="+charLen);	
	}
	
	if(document.getElementById('dwFixedStartChar'))
	{
		var charOption = document.getElementById('dwFixedStartChar');
		var charVal = charOption.options[charOption.selectedIndex].value;
		var charText = charOption.options[charOption.selectedIndex].text;
		var charLenOption = document.getElementById('dwFixedStartCharLength');
		var charLen = charLenOption.options[charLenOption.selectedIndex].value;
		var charLenText = charLenOption.options[charLenOption.selectedIndex].text;
		if(charVal == 0) return;
		
		charText = escapeBrackets(charText);
		charLenText = escapeBrackets(charLenText);

		if(document.getElementById('dwFixedStartCharIncChar').checked)
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_INC_CHAR+"="+charVal);
			addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+charText+' '+getTransl(96)+' '+charLenText+' '+getTransl(97)); // Partial output:
		}
		else
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_EXCL_CHAR+"="+charVal);
			addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+charText+' '+getTransl(96)+' '+charLenText); // Partial output:
		}
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_LENGTH+"="+charLen);	
	}
	if(document.getElementById('dwBuildStartPos') && document.getElementById('dwBuildEndPos'))
	{
		var charStartOption = document.getElementById('dwBuildStartPos');
		var startVal = charStartOption.options[charStartOption.selectedIndex].value;
		var startText = charStartOption.options[charStartOption.selectedIndex].text;
		var charEndOption = document.getElementById('dwBuildEndPos');
		var endVal = charEndOption.options[charEndOption.selectedIndex].value;
		var endText = charEndOption.options[charEndOption.selectedIndex].text;
		if(endVal <= startVal) return;
		
		startText = escapeBrackets(startText);
		endText = escapeBrackets(endText);

		addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+startText+' '+getTransl(98)+' '+endText); // Partial output:
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_POS+"="+startVal);
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_LENGTH+"="+(endVal - startVal));	
	}
	if(document.getElementById('dwBuildStartPos') && document.getElementById('dwBuildEndChar'))
	{
		var charStartOption = document.getElementById('dwBuildStartPos');
		var startVal = charStartOption.options[charStartOption.selectedIndex].value;
		var startText = charStartOption.options[charStartOption.selectedIndex].text;
		var charEndOption = document.getElementById('dwBuildEndChar');
		var endVal = charEndOption.options[charEndOption.selectedIndex].value;
		var endText = charEndOption.options[charEndOption.selectedIndex].text;
		if(endVal == 0) return;
		
		startText = escapeBrackets(startText);
		endText = escapeBrackets(endText);

		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_POS+"="+startVal);	
		if(document.getElementById('dwFixedEndCharIncChar').checked)
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_END_INC+"="+endVal);
			addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+startText+' '+getTransl(98)+' '+endText+' '+getTransl(97)); // Partial output:
		}
		else
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_END_EXCL+"="+endVal);
			addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+startText+' '+getTransl(98)+' '+endText); // Partial output:
		}
	}
	if(document.getElementById('dwBuildStartChar') && document.getElementById('dwBuildEndPos'))
	{
		var charStartOption = document.getElementById('dwBuildStartChar');
		var startVal = charStartOption.options[charStartOption.selectedIndex].value;
		var startText = charStartOption.options[charStartOption.selectedIndex].text;
		var charEndOption = document.getElementById('dwBuildEndPos');
		var endVal = charEndOption.options[charEndOption.selectedIndex].value;
		var endText = charEndOption.options[charEndOption.selectedIndex].text;
		if(startVal == 0) return;
		
		startText = escapeBrackets(startText);
		endText = escapeBrackets(endText);

		if(document.getElementById('dwFixedStartCharIncChar').checked)
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_INC_CHAR+"="+startVal);
			addBasicBuildOutputToTable('<b>'+getTransl(104)+': </b> '+getTransl(95)+' '+startText+' '+getTransl(98)+' '+endText+' '+getTransl(101)+' '+getTransl(97)); // Partial output:
		}
		else
		{
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_EXCL_CHAR+"="+startVal);
			addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+startText+' '+getTransl(98)+' '+endText+' '+getTransl(101)); // Partial output:
		}
		getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_REL_END+"="+endVal);	
	}
	if(document.getElementById('dwBuildStartChar') && document.getElementById('dwBuildEndChar'))
	{
		var charStartOption = document.getElementById('dwBuildStartChar');
		var startVal = charStartOption.options[charStartOption.selectedIndex].value;
		var startText = charStartOption.options[charStartOption.selectedIndex].text;
		var charEndOption = document.getElementById('dwBuildEndChar');
		var endVal = charEndOption.options[charEndOption.selectedIndex].value;
		var endText = charEndOption.options[charEndOption.selectedIndex].text;
		if(startVal == 0) return;
		if(endVal == 0) return;
		
		startText = escapeBrackets(startText);
		endText = escapeBrackets(endText);
		
		if(document.getElementById('dwFixedStartCharIncChar').checked)
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_INC_CHAR+"="+startVal);
		else
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_START_EXCL_CHAR+"="+startVal);
		if(document.getElementById('dwFixedEndCharIncChar').checked)
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_END_INC+"="+endVal);
		else
			getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_STOP_END_EXCL+"="+endVal);

		addBasicBuildOutputToTable('<b>'+getTransl(104)+' </b> '+getTransl(95)+' '+startText+' '+getTransl(98)+' '+endText+(document.getElementById('dwFixedStartCharIncChar').checked ? ' '+getTransl(99) : '')+(document.getElementById('dwFixedEndCharIncChar').checked ? ' '+getTransl(100) : '')); // Partial output:
	}
}

function addBasicBuildOutputToTable(rowHTML)
{
	if(!document.getElementById('dwBuiltOutputTable'))
	{
		var divHTML = ''
		divHTML += '<TABLE id="dwBuiltOutputTable" border="0" cellpadding="0" cellspacing="0" width="100%">';
		divHTML += '</TABLE>';
		document.getElementById('dwBuiltOutput').innerHTML = divHTML;	
	}

	var table = document.getElementById('dwBuiltOutputTable');
	var newRow = table.insertRow(table.rows.length);
	var newCell = newRow.insertCell(0);
	newCell.className = 'buildOutputTable';
	newCell.innerHTML = rowHTML;
}
/*
function dwShowExclude(inputElement)
{
	if(!document.getElementById('dwBuildModOutput')) return;
	var cell = document.getElementById('dwBuildModOutput');
	if(inputElement.checked)
	{
		cell.innerHTML = "<INPUT class=\"addBC\" type=\"button\" value=\"Add configuration\" onClick=\"javascript:dwAddBuildOutput(false);\">&nbsp;<INPUT class=\"addBC\" type=\"button\" value=\"Add Exclude Config\" onClick=\"javascript:dwAddBuildOutput(true);\"><IMG class=\"infoImage\" onMouseDown=\"javascript:showCatInfo('dw1');\" src=\"./images/info.png\" border=\"0\" alt=\"info\">";
	}
	else
	{
		cell.innerHTML = "<INPUT class=\"addBC\" type=\"button\" value=\"Add configuration\" onClick=\"javascript:dwAddBuildOutput(false);\">";
	}
}
*/
function showDWMatchBCID(inputElement)
{
	if(inputElement.checked)
	{
		if(document.getElementById('showDWMatchAllBC')) document.getElementById('showDWMatchAllBC').checked = false;
		var result = getURLContent('./getInfo.php?page=getDWBCType');
		var optionHTML = '<option value="0"></option>';
		var arr_Lines = result.split("\n");
		for ( var line in arr_Lines )
		{
			if(arr_Lines[line] != "")
			{
				arr_bcType = arr_Lines[line].split("|");
				optionHTML += '<option value="'+arr_bcType[0]+'">'+arr_bcType[2]+'</option>';
			}
		}
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_BCID+"\">"+optionHTML+"</SELECT>";
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWMatchCodeLength(inputElement)
{
	if(inputElement.checked)
	{
		if(document.getElementById('showDWMatchAllBC')) document.getElementById('showDWMatchAllBC').checked = false;
		var optionHTML = '';
		for (var i=1; i<=99; i++)
		{
			optionHTML += '<option value="'+i+'">'+i+'</option>';
		}
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_CODE_LENGTH+"\">"+optionHTML+"</SELECT>";
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWMatchBCChar(inputElement)
{
	if(inputElement.checked)
	{
		var result = getURLContent('./getInfo.php?page=getDWBCDI');
		var optionHTML = '<option value="0"></option>';
		var arr_Lines = result.split("\n");
		for ( var line in arr_Lines )
		{
			if(arr_Lines[line] != "")
			{
				arr_bcType = arr_Lines[line].split("|");
				optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
			}
		}
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = '1';
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_BC_CHAR1+"\">"+optionHTML+"</SELECT>";
		newCell.className = 'dwPageOptions';
		newRow = row.parentNode.insertRow(row.rowIndex+2);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "2";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_BC_CHAR2+"\">"+optionHTML+"</SELECT>";
		newCell.className = 'dwPageOptions';
		newRow = row.parentNode.insertRow(row.rowIndex+3);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "3";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_BC_CHAR3+"\">"+optionHTML+"</SELECT>";
		newCell.className = 'dwPageOptions';
		newRow = row.parentNode.insertRow(row.rowIndex+4);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = '<INPUT type="checkbox" id="showDWMatchBCCharFixed" onclick="this.blur();" onChange="javascript:showDWMatchBCCharFixed(this);">';
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(134); // Match fixed position
		newCell.className = 'dwPageOptions';
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		if(row.parentNode.rows[row.rowIndex+1]) row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWMatchBasicBCChar(inputElement)
{
	if(inputElement.checked)
	{
		if(document.getElementById('showDWMatchAllBC')) document.getElementById('showDWMatchAllBC').checked = false;
		var result = getURLContent('./getInfo.php?page=getDWBCDI');
		var optionHTML = '<option value="0"></option>';
		var arr_Lines = result.split("\n");
		for ( var line in arr_Lines )
		{
			if(arr_Lines[line] != "")
			{
				arr_bcType = arr_Lines[line].split("|");
				optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
			}
		}

		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = '&nbsp;';
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		cellHTML = '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">';
		cellHTML += '<TR><TD>'+getTransl(75)+'</TD></TR>'; // How many charactes would you like to search for?
		cellHTML += '<TR><TD>';
		cellHTML += 
			'<input type="radio" name="dwBasicBCCharGrpNo" id="dwBasicBCCharGrpNo1" onclick="this.blur()" onchange="javascript:showDWMatchBasicBCCharAddChar(this);" CHECKED>1&nbsp;' +
			'<input type="radio" name="dwBasicBCCharGrpNo" id="dwBasicBCCharGrpNo2" onclick="this.blur()" onchange="javascript:showDWMatchBasicBCCharAddChar(this);">2&nbsp;' + 
			'<input type="radio" name="dwBasicBCCharGrpNo" id="dwBasicBCCharGrpNo3" onclick="this.blur()" onchange="javascript:showDWMatchBasicBCCharAddChar(this);">3';
		cellHTML += '</TD></TR>';
		cellHTML += '<TR><TD>1: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR1+'">'+optionHTML+'</SELECT></TD></TR>';
		cellHTML += '<TR><TD>'+getTransl(76)+'</TD></TR>'; // Where would you like to find these characters?
		cellHTML += 
			'<TR><TD>' +
			'<input type="radio" name="dwBasicBCCharGrpPos" id="dwBasicBCCharGrpPosAny" onclick="this.blur()" onchange="javascript:showDWBasicMatchBCCharFixedOff(this);" CHECKED>'+getTransl(77)+'&nbsp;' +  // Anywhere
			'<input type="radio" name="dwBasicBCCharGrpPos" id="dwBasicBCCharGrpPosFixed" onclick="this.blur()" onchange="javascript:showDWBasicMatchBCCharFixedOn(this);">'+ getTransl(78) + // At fixed position
			'</TD></TR>';
		cellHTML += '</TABLE>';
		newCell.innerHTML = cellHTML;
		newCell.className = 'dwPageOptions';
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWMatchBasicBCCharAddChar(inputElement)
{
	var result = getURLContent('./getInfo.php?page=getDWBCDI');
	var optionHTML = '<option value="0"></option>';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
		}
	}
	
	table = inputElement.parentNode.parentNode.parentNode;
	row = inputElement.parentNode.parentNode;
	cell = table.rows[row.rowIndex+1].cells[0];
	if(document.getElementById('dwBasicBCCharGrpNo1').checked) cell.innerHTML = '1: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR1+'">'+optionHTML+'</SELECT>';
	if(document.getElementById('dwBasicBCCharGrpNo2').checked) cell.innerHTML = '1: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR1+'">'+optionHTML+'</SELECT>'+'<BR>'+'2: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR2+'">'+optionHTML+'</SELECT>';
	if(document.getElementById('dwBasicBCCharGrpNo3').checked) cell.innerHTML = '1: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR1+'">'+optionHTML+'</SELECT>'+'<BR>'+'2: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR2+'">'+optionHTML+'</SELECT>'+'<BR>'+'3: <SELECT class="dwPageSelect" id="'+DW_MATCH_BC_CHAR3+'">'+optionHTML+'</SELECT>';
}

function showDWMatchBCCharFixed(inputElement)
{
	if(inputElement.checked)
	{
		var optionHTML = '';
		for (var i=0; i<=99; i++)
		{
			optionHTML += '<option value="'+i+'">'+i+'</option>';
		}
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_BC_CHAR_FIXED+"\">"+optionHTML+"</SELECT>";	
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWBasicMatchBCCharFixedOn(inputElement)
{
	var optionHTML = '';
	for (var i=0; i<=99; i++)
	{
		optionHTML += '<option value="'+i+'">'+i+'</option>';
	}
	var row = inputElement.parentNode.parentNode;
	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "<SELECT class=\"dwPageSelect\" id=\""+DW_MATCH_BC_CHAR_FIXED+"\">"+optionHTML+"</SELECT>";	
}

function showDWBasicMatchBCCharFixedOff(inputElement)
{
	var row = inputElement.parentNode.parentNode;
	row.parentNode.deleteRow(row.rowIndex+1);
}

function showDWBuildAddBC(inputElement)
{
//	closeDWBuildVariableOutput();
	closeDWBuildPartOutput();
	closeDWBasicBuildModOutp();

	var result = getURLContent('./getInfo.php?page=getDWBCDI');
	var optionHTML = '<option value="0"></option>';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
		}
	}
	var row = inputElement.parentNode.parentNode;

	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "<SELECT id=\""+DW_BUILD_ADD_BC+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		
}

function closeDWBuildAddBC()
{
	if(document.getElementById(DW_BUILD_ADD_BC))
	{
		inputElement = document.getElementById('showDWBuildAddBC');
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function dwAddChar()
{
	var addBCOption = document.getElementById(DW_BUILD_ADD_BC);
	var bcID = addBCOption.options[addBCOption.selectedIndex].value;
	var bcText = addBCOption.options[addBCOption.selectedIndex].text;

	if(bcID == 0) return;

	if(document.getElementById('dwBuiltOutputTable'))
	{
		var table = document.getElementById('dwBuiltOutputTable');
		var newRow = table.insertRow(table.rows.length);
		var newCell = newRow.insertCell(0);
		newCell.className = 'buildOutputTable';
		newCell.innerHTML = '<input type="hidden" value="'+bcID+'"><b>'+getTransl(102)+' </b>'+bcText; // Add Char:
	}
	else
	{
		var divHTML = ''
		divHTML += '<TABLE id="dwBuiltOutputTable" border="0" cellpadding="0" cellspacing="0" width="100%">';
		divHTML += '<TR><TD class="buildOutputTable"><b>'+getTransl(102)+' </b>'+bcText+'</TD></TR>'; // Add Char:
		divHTML += '</TABLE>';
		document.getElementById('dwBuiltOutput').innerHTML = divHTML;
	}
	
	getURLContent('./datawizard.php?cmd=add&'+DW_BUILD_ADD_BC+"="+bcID);
}
/*
function showDWBuildModOutput(inputElement)
{
	var result = getURLContent('./getInfo.php?page=getDWBCDI');
	var optionCharHTML = '<option value="0"></option>';
	var optionNumberHTML = '';
	var arr_Lines = result.split("\n");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			arr_bcType = arr_Lines[line].split("|");
			optionCharHTML += '<option value="'+arr_bcType[0]+'">'+arr_bcType[2]+'</option>';
		}
	}
	for (var i=0; i<=99; i++)
	{
		optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
	}

	
	var row = inputElement.parentNode.parentNode;

	var newRow = row.parentNode.insertRow(row.rowIndex+1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"startGrp\" id=\""+DW_BUILD_START_POS+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "Start from position<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_START_POS+"\">"+optionNumberHTML+"</SELECT>";		
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+2);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"startGrp\" id=\""+DW_BUILD_START_REL_POS+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "Start from relative position<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_START_REL_POS+"\">"+optionNumberHTML+"</SELECT>";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+3);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"startGrp\" id=\""+DW_BUILD_START_INC_CHAR+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "Start from character, include character<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_START_INC_CHAR+"\">"+optionCharHTML+"</SELECT>";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+4);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"startGrp\" id=\""+DW_BUILD_START_EXCL_CHAR+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "Start from character, exclude character<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_START_EXCL_CHAR+"\">"+optionCharHTML+"</SELECT>";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+5);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+6);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"stopGrp\" id=\""+DW_BUILD_STOP_LENGTH+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "Part length<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_STOP_LENGTH+"\">"+optionNumberHTML+"</SELECT>";		
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+7);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"stopGrp\" id=\""+DW_BUILD_STOP_REL_END+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "Relative end position<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_STOP_REL_END+"\">"+optionNumberHTML+"</SELECT>";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+8);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"stopGrp\" id=\""+DW_BUILD_STOP_END_INC+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "End at character, include character<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_STOP_END_INC+"\">"+optionCharHTML+"</SELECT>";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+9);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "<INPUT type=\"radio\" name=\"stopGrp\" id=\""+DW_BUILD_STOP_END_EXCL+"\">";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = "End at character, exclude character<BR><SELECT class=\"dwPageSelect\" onchange=\"javascript:dwSetRadio(this);\" id=\"sel"+DW_BUILD_STOP_END_EXCL+"\">"+optionCharHTML+"</SELECT>";
	newCell.className = 'dwPageOptions';

	newRow = row.parentNode.insertRow(row.rowIndex+10);
	newCell = newRow.insertCell(0);
	newCell.innerHTML = "&nbsp;";
	newCell.className = 'dwPageCheckbox';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = 
		"<INPUT class=\"addBC\" type=\"button\" value=\"Add configuration\" onClick=\"javascript:dwAddBuildOutput(false);\">" + 
		(document.getElementById('dwShowExclude').checked ? "&nbsp;<INPUT class=\"addBC\" type=\"button\" value=\"Add Exclude Config\" onClick=\"javascript:dwAddBuildOutput(true);\">" : "" );
	newCell.className = 'dwPageOptions';
	newCell.id = 'dwBuildModOutput';
	inputElement.onclick = function() { closeDWBuildModOutput(inputElement) };
	inputElement.value = "Hide modify Output";
}
*/
function closeDWBuildModOutput(inputElement)
{
	var row = inputElement.parentNode.parentNode;
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	row.parentNode.deleteRow(row.rowIndex+1);
	inputElement.onclick = function() { showDWBuildModOutput(inputElement) };
	inputElement.value = "Show modify Output";
}

function dwAddBuildOutput(exclude)
{
	var start = '';
	var stop = '';
	var startval = '';
	var stopval = '';
	var starttext = '';
	var stoptext = '';
	var startdesc = '';
	var stopdesc = '';
	if(document.getElementById(DW_BUILD_START_POS).checked) 
	{	
		start = (exclude ? DW_EXCLUDE_START_POS : DW_BUILD_START_POS);
		var buildOption = document.getElementById("sel"+DW_BUILD_START_POS);
		startval = buildOption.options[buildOption.selectedIndex].value;
		starttext = buildOption.options[buildOption.selectedIndex].text;
		startdesc = getTransl(135); // Start from position
	}
	if(document.getElementById(DW_BUILD_START_REL_POS).checked) 
	{	
		start = (exclude ? DW_EXCLUDE_START_REL_POS : DW_BUILD_START_REL_POS);
		var buildOption = document.getElementById("sel"+DW_BUILD_START_REL_POS);
		startval = buildOption.options[buildOption.selectedIndex].value;
		starttext = buildOption.options[buildOption.selectedIndex].text;
		startdesc = getTransl(136); // Start from relative position
	}
	if(document.getElementById(DW_BUILD_START_INC_CHAR).checked) 
	{	
		start = (exclude ? DW_EXCLUDE_START_INC_CHAR : DW_BUILD_START_INC_CHAR);
		var buildOption = document.getElementById("sel"+DW_BUILD_START_INC_CHAR);
		startval = buildOption.options[buildOption.selectedIndex].value;
		if(startval == 0) return;
		starttext = buildOption.options[buildOption.selectedIndex].text;
		startdesc = getTransl(137); // Start from character, include character
	}
	if(document.getElementById(DW_BUILD_START_EXCL_CHAR).checked) 
	{	
		start = (exclude ? DW_EXCLUDE_START_EXCL_CHAR : DW_BUILD_START_EXCL_CHAR);
		var buildOption = document.getElementById("sel"+DW_BUILD_START_EXCL_CHAR);
		startval = buildOption.options[buildOption.selectedIndex].value;
		if(startval == 0) return;
		starttext = buildOption.options[buildOption.selectedIndex].text;
		startdesc = getTransl(138); // Start from character, exclude character
	}
	if(document.getElementById(DW_BUILD_STOP_LENGTH).checked) 
	{	
		stop = (exclude ? DW_EXCLUDE_STOP_LENGTH : DW_BUILD_STOP_LENGTH);
		var buildOption = document.getElementById("sel"+DW_BUILD_STOP_LENGTH);
		stopval = buildOption.options[buildOption.selectedIndex].value;
		stoptext = buildOption.options[buildOption.selectedIndex].text;
		stopdesc = getTransl(139); // Stop length
	}
	if(document.getElementById(DW_BUILD_STOP_REL_END).checked) 
	{	
		stop = (exclude ? DW_EXCLUDE_STOP_REL_END : DW_BUILD_STOP_REL_END);
		var buildOption = document.getElementById("sel"+DW_BUILD_STOP_REL_END);
		stopval = buildOption.options[buildOption.selectedIndex].value;
		stoptext = buildOption.options[buildOption.selectedIndex].text;
		stopdesc = getTransl(140); // Stop at relative end
	}
	if(document.getElementById(DW_BUILD_STOP_END_INC).checked) 
	{	
		stop = (exclude ? DW_EXCLUDE_STOP_END_INC : DW_BUILD_STOP_END_INC);
		var buildOption = document.getElementById("sel"+DW_BUILD_STOP_END_INC);
		stopval = buildOption.options[buildOption.selectedIndex].value;
		if(stopval == 0) return;
		stoptext = buildOption.options[buildOption.selectedIndex].text;
		stopdesc = getTransl(141); // Stop at character, include character
	}
	if(document.getElementById(DW_BUILD_STOP_END_EXCL).checked) 
	{	
		stop = (exclude ? DW_EXCLUDE_STOP_END_EXCL : DW_BUILD_STOP_END_EXCL);
		var buildOption = document.getElementById("sel"+DW_BUILD_STOP_END_EXCL);
		stopval = buildOption.options[buildOption.selectedIndex].value;
		if(stopval == 0) return;
		stoptext = buildOption.options[buildOption.selectedIndex].text;
		stopdesc = getTransl(142); // Stop at character, exclude character
	}

	if(start == '' || stop == '') return;
	
	starttext = escapeBrackets(starttext);
	stoptext = escapeBrackets(stoptext);
	
	if(document.getElementById('dwBuiltOutputTable'))
	{
		var table = document.getElementById('dwBuiltOutputTable');
		var newRow = table.insertRow(table.rows.length);
		var newCell = newRow.insertCell(0);
		newCell.className = 'buildOutputTable';
		if(exclude) newCell.innerHTML = '<input type="hidden" value=""><b>'+getTransl(144)+'</b><BR>'+startdesc+':<BR>'+starttext+'<BR>'+stopdesc+':<BR>'+stoptext; // Exclude:
		else newCell.innerHTML = '<input type="hidden" value=""><b>'+getTransl(143)+'</b><BR>'+startdesc+':<BR>'+starttext+'<BR>'+stopdesc+':<BR>'+stoptext; // Build:
	}
	else
	{
		var divHTML = ''
		divHTML += '<TABLE id="dwBuiltOutputTable" border="0" cellpadding="0" cellspacing="0" width="100%">';
		if(exclude) divHTML += '<TR><TD class="buildOutputTable"><input type="hidden" value=""><b>'+getTransl(144)+'</b><BR>'+startdesc+':<BR>'+starttext+'<BR>'+stopdesc+':<BR>'+stoptext+'</TD></TR>'; // Exclude:
		else divHTML += '<TR><TD class="buildOutputTable"><input type="hidden" value=""><b>'+getTransl(143)+'</b><BR>'+startdesc+':<BR>'+starttext+'<BR>'+stopdesc+':<BR>'+stoptext+'</TD></TR>'; // Build:
		divHTML += '</TABLE>';
		document.getElementById('dwBuiltOutput').innerHTML = divHTML;
	}

	getURLContent('./datawizard.php?cmd=add&'+start+"="+startval);
	getURLContent('./datawizard.php?cmd=add&'+stop+"="+stopval);
}

function showDWFinReplChar(inputElement)
{
	if(inputElement.checked)
	{
		var result = getURLContent('./getInfo.php?page=getDWBCDI');
		var optionHTML = '<option value="0"></option>';
		var arr_Lines = result.split("\n");
		for ( var line in arr_Lines )
		{
			if(arr_Lines[line] != "")
			{
				arr_bcType = arr_Lines[line].split("|");
				optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
			}
		}
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<H4>"+getTransl(112)+" </H4><SELECT id=\""+DW_FIN_REPL_CHAR+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		 // Match char:
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+2);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<H4>"+getTransl(113)+" </H4><SELECT id=\""+DW_FIN_REPL_CHAR_WITH+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		 // Replace with:
		newCell.className = 'dwPageOptions';
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWFinSpecialOpt(inputElement)
{
	if(inputElement.checked)
	{
		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "<input type=\"radio\" id=\""+DW_FIN_TRANSM_ALL_BC+"\" name=\"dwTransmitBCGrp\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(124);		 // Transmit all barcodes
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+2);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "<input type=\"radio\" id=\""+DW_FIN_TRANSM_VAL_BC+"\" name=\"dwTransmitBCGrp\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(125);		 // Transmit validated bar codes
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+3);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "&nbsp;";		
		newCell.className = 'dwPageOptions';
		
		newRow = row.parentNode.insertRow(row.rowIndex+4);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "<input type=\"radio\" id=\""+DW_FIN_ENA_UPBEEP+"\" name=\"dwUnprBeepGrp\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(126);		 // Enable unprocessed beep
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+5);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "<input type=\"radio\" id=\""+DW_FIN_DIS_UPBEEP+"\" name=\"dwUnprBeepGrp\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(127);		 // Disable unprocessed beep
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+6);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "&nbsp;";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "&nbsp;";		
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+7);
		newCell = newRow.insertCell(0);
		newCell.innerHTML = "<input type=\"checkbox\" id=\""+DW_FIN_TRANSM_CONFIG+"\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(128);		 // Transmit configuration settings
		newCell.className = 'dwPageOptions';
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function showDWFinChOutput(inputElement)
{
	if(inputElement.checked)
	{
		var result = getURLContent('./getInfo.php?page=getDWBCDI');
		var optionHTML = '<option value="0"></option>';
		var optionNumberHTML = '';
		var arr_Lines = result.split("\n");
		for ( var line in arr_Lines )
		{
			if(arr_Lines[line] != "")
			{
				arr_bcType = arr_Lines[line].split("|");
				optionHTML += '<option value="'+arr_bcType[0]+'">'+escapeBrackets(arr_bcType[2])+'</option>';
			}
		}
		for (var i=0; i<=99; i++)
		{
			optionNumberHTML += '<option value="'+i+'">'+i+'</option>';
		}

		var row = inputElement.parentNode.parentNode;
		var newRow = row.parentNode.insertRow(row.rowIndex+1);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_FFBC_LENGTH+"\">";
		newCell.className = 'dwPageCheckbox';
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(145)+"<BR><SELECT onchange=\"javascript:dwSetRadio(this);\" id=\""+DW_FIN_CH_OUTPUT_FFBC_LENGTH+"\" class=\"dwPageSelect\">"+optionNumberHTML+"</SELECT>";		 // Forward Fill - Backward Cut
		newCell.className = 'dwPageOptions';
	
		newRow = row.parentNode.insertRow(row.rowIndex+2);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT id=\""+DW_FIN_CH_OUTPUT_FFBC_FILL+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+3);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_BFFC_LENGTH+"\">";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(146)+"<BR><SELECT onchange=\"javascript:dwSetRadio(this);\" id=\""+DW_FIN_CH_OUTPUT_BFFC_LENGTH+"\" class=\"dwPageSelect\">"+optionNumberHTML+"</SELECT>";		 // Backward Fill - Forward Cut
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+4);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT id=\""+DW_FIN_CH_OUTPUT_BFFC_FILL+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+5);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_FFFC_LENGTH+"\">";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(147)+"<BR><SELECT onchange=\"javascript:dwSetRadio(this);\" id=\""+DW_FIN_CH_OUTPUT_FFFC_LENGTH+"\" class=\"dwPageSelect\">"+optionNumberHTML+"</SELECT>";		 // Forward Fill - Forward Cut
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+6);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT id=\""+DW_FIN_CH_OUTPUT_FFFC_FILL+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+7);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "<INPUT type=\"radio\" name=\"finChOutpGrp\" id=\"radio"+DW_FIN_CH_OUTPUT_BFBC_LENGTH+"\">";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = getTransl(148)+"<BR><SELECT onchange=\"javascript:dwSetRadio(this);\" id=\""+DW_FIN_CH_OUTPUT_BFBC_LENGTH+"\" class=\"dwPageSelect\">"+optionNumberHTML+"</SELECT>";		 // Backward Fill - Backward Cut
		newCell.className = 'dwPageOptions';

		newRow = row.parentNode.insertRow(row.rowIndex+8);
		newCell = newRow.insertCell(0);
		newCell.className = 'dwPageCheckbox';
		newCell.innerHTML = "&nbsp;";
		newCell = newRow.insertCell(1);
		newCell.innerHTML = "<SELECT id=\""+DW_FIN_CH_OUTPUT_BFBC_FILL+"\" class=\"dwPageSelect\">"+optionHTML+"</SELECT>";		
		newCell.className = 'dwPageOptions';
	}
	else
	{
		var row = inputElement.parentNode.parentNode;
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
		row.parentNode.deleteRow(row.rowIndex+1);
	}
}

function dwProcessPage1()
{
	var updatestring = '?cmd=add';
	getURLContent('./datawizard.php?cmd=deleteMatchOpt');
	var returnHTML = '';
	if(document.getElementById('showDWMatchAllBC') && document.getElementById('showDWMatchAllBC').checked)
		returnHTML += "<b>"+getTransl(114)+"</b><BR>\n"; // Match all barcodes
	if(document.getElementById(DW_MATCH_BCID)) 
	{
		var buildOption = document.getElementById(DW_MATCH_BCID);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_MATCH_BCID+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(115)+" </b>"  + buildOption.options[buildOption.selectedIndex].text + "<BR>\n"; // Match barcode ID:
		}
	}
	if(document.getElementById(DW_MATCH_CODE_LENGTH)) 
	{
		var buildOption = document.getElementById(DW_MATCH_CODE_LENGTH);
		updatestring += "&"+DW_MATCH_CODE_LENGTH+"=" + buildOption.options[buildOption.selectedIndex].value;
		returnHTML += "<b>"+getTransl(116)+" </b>"  + buildOption.options[buildOption.selectedIndex].text + "<BR>\n"; // Match barcode length:
	}
	if(document.getElementById(DW_MATCH_BC_CHAR1)) 
	{
		var buildOption = document.getElementById(DW_MATCH_BC_CHAR1);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_MATCH_BC_CHAR1+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(117)+" 1: </b>"  + buildOption.options[buildOption.selectedIndex].text + "<BR>\n"; // Match barcode char
		}
	}
	if(document.getElementById(DW_MATCH_BC_CHAR2)) 
	{
		var buildOption = document.getElementById(DW_MATCH_BC_CHAR2);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_MATCH_BC_CHAR2+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(117)+" 2: </b>"  + buildOption.options[buildOption.selectedIndex].text + "<BR>\n"; // Match barcode char
		}
	}
	if(document.getElementById(DW_MATCH_BC_CHAR3)) 
	{
		var buildOption = document.getElementById(DW_MATCH_BC_CHAR3);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_MATCH_BC_CHAR3+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(117)+" 3: </b>"  + buildOption.options[buildOption.selectedIndex].text + "<BR>\n"; // Match barcode char
		}
	}
	if(document.getElementById(DW_MATCH_BC_CHAR_FIXED)) 
	{
		var buildOption = document.getElementById(DW_MATCH_BC_CHAR_FIXED);
		updatestring += "&"+DW_MATCH_BC_CHAR_FIXED+"=" + buildOption.options[buildOption.selectedIndex].value;
		returnHTML += "<b>"+getTransl(118)+" </b>" + buildOption.options[buildOption.selectedIndex].text + "<BR>\n"; // Match barcode fixed position:
	}
	if(updatestring != '?cmd=add') 
	{
		getURLContent('./datawizard.php'+updatestring);
	}
	return returnHTML;
}

function dwProcessPage3()
{
	var updatestring = '?cmd=add';
	getURLContent('./datawizard.php?cmd=deleteFinOpt');
	var returnHTML = '';
	if(document.getElementById('showDWBuildOrign') && document.getElementById('showDWBuildOrign').checked)
		returnHTML += "<b>"+getTransl(119)+"</b><BR>\n"; // Output original data
	if(document.getElementById('showDWBuildNone') && document.getElementById('showDWBuildNone').checked)
		returnHTML += "<b>"+getTransl(120)+"</b><BR>\n"; // No output
	if(document.getElementById(DW_FIN_REPL_CHAR)) 
	{
		var buildOption = document.getElementById(DW_FIN_REPL_CHAR);
		var buildOption2 = document.getElementById(DW_FIN_REPL_CHAR_WITH);
		var buildTxt = buildOption.options[buildOption.selectedIndex].text;
		var buildTxt2 = buildOption2.options[buildOption2.selectedIndex].text
		buildTxt = escapeBrackets(buildTxt);
		buildTxt2 = escapeBrackets(buildTxt2);
		
		if(buildOption.options[buildOption.selectedIndex].value != 0 && buildOption2.options[buildOption2.selectedIndex].value) 
		{
			updatestring += "&"+DW_FIN_REPL_CHAR+"=" + buildOption.options[buildOption.selectedIndex].value;
			updatestring += "&"+DW_FIN_REPL_CHAR_WITH+"=" + buildOption2.options[buildOption2.selectedIndex].value;
			returnHTML += "<b>"+getTransl(121)+" </b>" + buildTxt + " "+getTransl(122)+" "+buildTxt2+"<BR>\n"; // Replace char:
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFBC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFBC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_FFBC_FILL);
		var buildOption2 = document.getElementById(DW_FIN_CH_OUTPUT_FFBC_LENGTH);
		var buildTxt = buildOption.options[buildOption.selectedIndex].text;
		var buildTxt2 = buildOption2.options[buildOption2.selectedIndex].text
		buildTxt = escapeBrackets(buildTxt);
		buildTxt2 = escapeBrackets(buildTxt2);

		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_FIN_CH_OUTPUT_FFBC_FILL+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(145)+": </b> "+getTransl(123)+" " + buildTxt; // Fill with:
			updatestring += "&"+DW_FIN_CH_OUTPUT_FFBC_LENGTH+"=" + buildOption2.options[buildOption2.selectedIndex].value;
			returnHTML += " "+getTransl(110)+" " + buildTxt2 + "<BR>\n" // Length:
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFFC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFFC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_BFFC_FILL);
		var buildOption2 = document.getElementById(DW_FIN_CH_OUTPUT_BFFC_LENGTH);
		var buildTxt = buildOption.options[buildOption.selectedIndex].text;
		var buildTxt2 = buildOption2.options[buildOption2.selectedIndex].text
		buildTxt = escapeBrackets(buildTxt);
		buildTxt2 = escapeBrackets(buildTxt2);

		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_FIN_CH_OUTPUT_BFFC_FILL+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(146)+": </b> "+getTransl(123)+" " + buildTxt; // Fill with:
			updatestring += "&"+DW_FIN_CH_OUTPUT_BFFC_LENGTH+"=" + buildOption2.options[buildOption2.selectedIndex].value;
			returnHTML += " "+getTransl(110)+" " + buildTxt2 + "<BR>\n" // Length:
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFFC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFFC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_FFFC_FILL);
		var buildOption2 = document.getElementById(DW_FIN_CH_OUTPUT_FFFC_LENGTH);
		var buildTxt = buildOption.options[buildOption.selectedIndex].text;
		var buildTxt2 = buildOption2.options[buildOption2.selectedIndex].text
		buildTxt = escapeBrackets(buildTxt);
		buildTxt2 = escapeBrackets(buildTxt2);

		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_FIN_CH_OUTPUT_FFFC_FILL+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(147)+":</b> "+getTransl(123)+" " + buildTxt; // Fill with:
			updatestring += "&"+DW_FIN_CH_OUTPUT_FFFC_LENGTH+"=" + buildOption2.options[buildOption2.selectedIndex].value;
			returnHTML += " "+getTransl(110)+" " + buildTxt2 + "<BR>\n" // Length:
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFBC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFBC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_BFBC_FILL);
		var buildOption2 = document.getElementById(DW_FIN_CH_OUTPUT_BFBC_LENGTH);
		var buildTxt = buildOption.options[buildOption.selectedIndex].text;
		var buildTxt2 = buildOption2.options[buildOption2.selectedIndex].text
		buildTxt = escapeBrackets(buildTxt);
		buildTxt2 = escapeBrackets(buildTxt2);

		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			updatestring += "&"+DW_FIN_CH_OUTPUT_BFBC_FILL+"=" + buildOption.options[buildOption.selectedIndex].value;
			returnHTML += "<b>"+getTransl(148)+":</b> "+getTransl(123)+" " + buildTxt; // Fill with:
			updatestring += "&"+DW_FIN_CH_OUTPUT_BFBC_LENGTH+"=" + buildOption2.options[buildOption2.selectedIndex].value;
			returnHTML += " "+getTransl(110)+" " + buildTxt2 + "<BR>\n" // Length:
		}
	}
	if(document.getElementById(DW_FIN_TRANSM_ALL_BC) && document.getElementById(DW_FIN_TRANSM_ALL_BC).checked) 
	{
		updatestring += "&"+DW_FIN_TRANSM_ALL_BC+"=1";
		returnHTML += "<b>"+getTransl(124)+"</b><BR>"; // Transmit all barcodes
	}
	if(document.getElementById(DW_FIN_TRANSM_VAL_BC) && document.getElementById(DW_FIN_TRANSM_VAL_BC).checked) 
	{
		updatestring += "&"+DW_FIN_TRANSM_VAL_BC+"=1";
		returnHTML += "<b>"+getTransl(125)+"</b><BR>"; // Transmit validated bar codes
	}
	if(document.getElementById(DW_FIN_ENA_UPBEEP) && document.getElementById(DW_FIN_ENA_UPBEEP).checked) 
	{
		updatestring += "&"+DW_FIN_ENA_UPBEEP+"=1";
		returnHTML += "<b>"+getTransl(126)+"</b><BR>"; // Enable unprocessed beep
	}
	if(document.getElementById(DW_FIN_DIS_UPBEEP) && document.getElementById(DW_FIN_DIS_UPBEEP).checked) 
	{
		updatestring += "&"+DW_FIN_DIS_UPBEEP+"=1";
		returnHTML += "<b>"+getTransl(127)+"</b><BR>"; // Disable unprocessed beep
	}
	if(document.getElementById(DW_FIN_TRANSM_CONFIG) && document.getElementById(DW_FIN_TRANSM_CONFIG).checked) 
	{
		updatestring += "&"+DW_FIN_TRANSM_CONFIG+"=1";
		returnHTML += "<b>"+getTransl(128)+"</b><BR>"; // Transmit configuration settings
	}
	if(updatestring != '?cmd=add') 
	{
		getURLContent('./datawizard.php'+updatestring);
	}
	return returnHTML;
}

function dwClearBuild()
{
	getURLContent('./datawizard.php?cmd=clearBuildOpt');
	document.getElementById('dwBuiltOutput').innerHTML = '';	
}

function dwSetRadio(selectElement)
{
	row = selectElement.parentNode.parentNode;
	radioButtons = row.cells[0].getElementsByTagName("input");
	if(radioButtons[0]) radioButtons[0].checked = true;
}

function addDWConfig()
{
	getURLContent('./datawizard.php?cmd=build');
	updateBarcodeSheet();
	clearAllDWPages();
	hideAllDWPages();
}

function testBasicDWPage()
{
	divHTML = '';

	if(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.search("MSIE 6.0") != -1)
	{
		alert(getTransl(170));
		return;
	}
	
	divHTML += '<H1>'+getTransl(129)+'</H1>'; // Test Configuration
	if(navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.search("MSIE 7.0") != -1) divHTML += '<!--[if lte IE 7]><font color="red">'+getTransl(165)+'</font><![endif]--> '; // You are using an older version of IE, the output of this testtool might be diffrent from the actual scanner output.
	divHTML += '<table border="0" cellspacing="0" cellpadding="0" width="100%">';
	divHTML += '<TR><TD colspan="2" class="testBasicDWHeader">';
	divHTML += getTransl(130); // Input a string to test the output of the current config.
	divHTML += '</TD></TR>';
	divHTML += '<TR><TD colspan="2">';
	divHTML += '<input type="text" onKeyUp="javascript:testBasicDWConf(this.value);" onBlur="javascript:testBasicDWConf(this.value);" value=""><BR>&nbsp;';
	divHTML += '</TD></TR>';
	divHTML += '<TR><TD class="testBasicDWHeader">';
	divHTML += getTransl(131)+' '; // The input is:
	divHTML += '</TD>';
	divHTML += '<TD id="testBasicDWPageInput" class="testBasicDWResultMatch">';
	divHTML += '&nbsp;';
	divHTML += '</TD></TR>';
	divHTML += '<TR><TD class="testBasicDWHeader">';
	divHTML += getTransl(132); // The output is:
	divHTML += '</TD>';
	divHTML += '<TD id="testBasicDWPageOutput" class="testBasicDWResultOutput">';
	divHTML += '&nbsp;';
	divHTML += '</TD></TR>';
	divHTML += '<TR><TD colspan="2">';
	divHTML += '&nbsp;';
	divHTML += '</TD></TR>';
	divHTML += '<TR><TD align="right" colspan="2">';
	divHTML += '<input type="button" class="addBC" onClick="javascript:closeTestBasicDWPage();" value="'+getTransl(133)+'">'; // Close
	divHTML += '</TD></TR>';
	divHTML += '</table>';

	document.getElementById('dwTestPage').innerHTML = divHTML;
	document.getElementById('dwTestPage').style.visibility = 'visible';	
	document.getElementById('dwNavigation').style.visibility = 'hidden';
}

function closeTestBasicDWPage()
{
	document.getElementById('dwTestPage').innerHTML = '';
	document.getElementById('dwTestPage').style.visibility = 'hidden';	
	document.getElementById('dwNavigation').style.visibility = 'visible';
}

function testBasicDWConf(testString)
{
	stringMatchedLength = true;
	stringMatchedChar = true;

	if(document.getElementById(DW_MATCH_CODE_LENGTH))
	{
		var matchOption = document.getElementById(DW_MATCH_CODE_LENGTH);
		if(matchOption.options[matchOption.selectedIndex].value == testString.length) stringMatchedLength = true;
		else stringMatchedLength = false;
	}
	var checkString = '';
	if(document.getElementById(DW_MATCH_BC_CHAR1))
	{
		matchOption1 = document.getElementById(DW_MATCH_BC_CHAR1);
		if(matchOption1.options[matchOption1.selectedIndex].value != 0)
		{
			checkString += matchOption1.options[matchOption1.selectedIndex].text;
		}
	}
	if(document.getElementById(DW_MATCH_BC_CHAR2))
	{
		var matchOption2 = document.getElementById(DW_MATCH_BC_CHAR2);
		if(matchOption2.options[matchOption2.selectedIndex].value != 0)
		{
			checkString += matchOption2.options[matchOption2.selectedIndex].text;
		}
	}
	if(document.getElementById(DW_MATCH_BC_CHAR3))
	{
		var matchOption3 = document.getElementById(DW_MATCH_BC_CHAR3);
		if(matchOption3.options[matchOption3.selectedIndex].value != 0)
		{
			checkString += matchOption3.options[matchOption3.selectedIndex].text;
		}
	}
	
	if(checkString != '')
	{
		stringMatchedChar = false;
		if(document.getElementById(DW_MATCH_BC_CHAR_FIXED)) 
		{
			var matchOption = document.getElementById(DW_MATCH_BC_CHAR_FIXED);
			if(testString.substr(matchOption.options[matchOption.selectedIndex].value,checkString.length) == checkString) stringMatchedChar = true;
		}
		else
		{
			if(testString.indexOf(checkString) != -1) stringMatchedChar = true;
		}
	}

	if(stringMatchedChar && stringMatchedLength) 
	{
		var output = '';
		document.getElementById('testBasicDWPageInput').innerHTML = "Matched";
		document.getElementById('testBasicDWPageInput').style.backgroundColor = "#00FF00";
		if(document.getElementById('showDWBuildOrign') && document.getElementById('showDWBuildOrign').checked) output = testString;
		if(document.getElementById('showDWBuildNone') && document.getElementById('showDWBuildNone').checked) output = '';
		if(document.getElementById('dwBuiltOutputTable')) 
			output = getURLContent('./datawizard.php?cmd=testConf&input='+testString);
		output = testBasicDWGetFinOutput(output);
		document.getElementById('testBasicDWPageOutput').innerHTML = output;
	}
	else
	{
		document.getElementById('testBasicDWPageInput').innerHTML = "Not matched";
		document.getElementById('testBasicDWPageInput').style.backgroundColor = "#FF0000";
		document.getElementById('testBasicDWPageOutput').innerHTML = '';
	}
}

function testBasicDWGetFinOutput(input)
{
	var output = input;
	if(document.getElementById(DW_FIN_REPL_CHAR)) 
	{
		var buildOption = document.getElementById(DW_FIN_REPL_CHAR);
		var buildOption2 = document.getElementById(DW_FIN_REPL_CHAR_WITH);
		if(buildOption.options[buildOption.selectedIndex].value != 0 && buildOption2.options[buildOption2.selectedIndex].value) 
		{
			output = output.replace(new RegExp(buildOption.options[buildOption.selectedIndex].text, 'g'), buildOption2.options[buildOption2.selectedIndex].text);
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFBC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFBC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_FFBC_FILL);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			fillChar = buildOption.options[buildOption.selectedIndex].text;
			buildOption = document.getElementById(DW_FIN_CH_OUTPUT_FFBC_LENGTH);
			var length = buildOption.options[buildOption.selectedIndex].text;
			if(length < input.length)
			{
				output = output.substring(0, length);
			}
			if(length > input.length)
			{
				var fillStr = '';
				for(var i=0; i<(length-input.length) ;i++) fillStr += fillChar;
				output = fillStr + output;
			}
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFFC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFFC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_BFFC_FILL);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			fillChar = buildOption.options[buildOption.selectedIndex].text;
			buildOption = document.getElementById(DW_FIN_CH_OUTPUT_BFFC_LENGTH);
			var length = buildOption.options[buildOption.selectedIndex].text;
			if(length < input.length)
			{
				output = output.substring((input.length - length), input.length);
			}
			if(length > input.length)
			{
				var fillStr = '';
				for(var i=0; i<(length-input.length) ;i++) fillStr += fillChar;
				output = output + fillStr;
			}
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFFC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_FFFC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_FFFC_FILL);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			fillChar = buildOption.options[buildOption.selectedIndex].text;
			buildOption = document.getElementById(DW_FIN_CH_OUTPUT_FFBC_LENGTH);
			var length = buildOption.options[buildOption.selectedIndex].text;
			if(length < input.length)
			{
				output = output.substring((input.length - length), input.length);
			}
			if(length > input.length)
			{
				var fillStr = '';
				for(var i=0; i<(length-input.length) ;i++) fillStr += fillChar;
				output = fillStr + output;
			}
		}
	}
	if(document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFBC_LENGTH) && document.getElementById('radio'+DW_FIN_CH_OUTPUT_BFBC_LENGTH).checked) 
	{
		var buildOption = document.getElementById(DW_FIN_CH_OUTPUT_BFBC_FILL);
		if(buildOption.options[buildOption.selectedIndex].value != 0) 
		{
			fillChar = buildOption.options[buildOption.selectedIndex].text;
			buildOption = document.getElementById(DW_FIN_CH_OUTPUT_BFBC_LENGTH);
			var length = buildOption.options[buildOption.selectedIndex].text;
			if(length < input.length)
			{
				output = output.substring(0, length);
			}
			if(length > input.length)
			{
				var fillStr = '';
				for(var i=0; i<(length-input.length) ;i++) fillStr += fillChar;
				output = output + fillStr;
			}
		}
	}
	return output;
}

function addPreSuffix(bcID)
{
	var code = getURLContent('./getInfo.php?page=getBCInfo&info=code&id='+bcID);
	var preIndex = indexOf(PRE_CODE, code);
	var sufIndex = indexOf(SUF_CODE, code);
	var groupid = 0; 
	if(preIndex != -1) groupid = PRE_GRP[preIndex];
	else if(sufIndex != -1) groupid = SUF_GRP[sufIndex];
	else groupid = 0; // alert(getTransl(164)); // Pre or suffix not found

	var count = document.getElementById('preSuffixCount').value;
	var charIDs = '';
	for(var i=1; i<=count; i++)
	{
		charOption = document.getElementById('preSuffixChar'+i);
		if(charOption.options[charOption.selectedIndex].value != 0)
		{
			if(charIDs != '') charIDs += '.';
			charIDs += charOption.options[charOption.selectedIndex].value;
		}
	}
	
	var result = getURLContent('./getInfo.php?page=addBC&id='+bcID+'&grpid='+groupid+'&idPreSuf='+charIDs);
	if(result != "OK")
	{
		alert(getTransl(159) + result);	 // Failed to add barcode to sheet!
		return;
	}
	updateBarcodeSheet();
}

function hideAllDWPages()
{
	document.getElementById('dwPage1').style.visibility = 'hidden';
	document.getElementById('dwPage2').style.visibility = 'hidden';
	document.getElementById('dwPage3').style.visibility = 'hidden';
	document.getElementById('dwPage4').style.visibility = 'hidden';
	document.getElementById('dwTestPage').style.visibility = 'hidden';
	document.getElementById('dwNavigation').innerHTML = '';
}

function clearAllDWPages()
{
	document.getElementById('dwPage1').innerHTML = '';
	document.getElementById('dwPage2').innerHTML = '';
	document.getElementById('dwPage3').innerHTML = '';
	document.getElementById('dwPage4').innerHTML = '';
	document.getElementById('dwTestPage').innerHTML = '';
	document.getElementById('dwNavigation').innerHTML = '';
}

//////////////// Languages

function setSessionLang(langID)
{
	getURLContent('./getInfo.php?page=setSessionInfo&info=language&data='+langID);
	location.reload(true);
}

function getLanguageData()
{
	var result = getURLContent('./getInfo.php?page=getLanguageData');
	var arr_Lines = result.split("<!--CR-->");
	for ( var line in arr_Lines )
	{
		if(arr_Lines[line] != "")
		{
			tempStr = new String(arr_Lines[line]);
			arr_trans = tempStr.split("<!--|-->");
			g_translationID.push(arr_trans[0]);
			g_translationENG.push(arr_trans[1]);
			g_translationLANG.push(arr_trans[2]);
		}
	}
}

function getTransl(id)
{
	if(g_translationID.length > 0 && g_translationENG.length > 0 )
	{
		result = indexOf(g_translationID, ''+id);
		if(result != -1)
		{
			if(g_translationLANG[result] != '') return unescape(g_translationLANG[result]);
			else return g_translationENG[result];
		}
		else return "?Test:"+g_translationENG[id];
	}
	else return "?";
} 

/////////////////////// Stats

function updateStats()
{
	getURLContent('./getInfo.php?page=updateStats&exit=1');
}

/////////////////////// Custom Tools

function checkBTAddr(inputField)
{
	var validChars='-0123456789ABCDEF';
	var btTxt = document.getElementById('toolsBluetoothAddressField').value.toUpperCase();
	var resultStr = '';
	var btTxtArr = btTxt.split('-');

	if(btTxt.length == 17 && btTxtArr.lenght == 6)
		return;

	if(btTxt.length > 17)
	{
		inputField.value = btTxt.substr(0,17);
		return;
	}

	if(btTxtArr.lenght > 6)
	{
		inputField.value = btTxtArr[0] + '-' + btTxtArr[1] + '-' + btTxtArr[2] + '-' + btTxtArr[3] + '-' + btTxtArr[4] + '-' + btTxtArr[5];
		return;
	}

	for(i=0;i<btTxt.length;i++)
	{
		if((i+1)>1 && (i+1)%3 == 0)
		{
			if(btTxt.charAt(i) != '-')
				resultStr += '-';
		}
		else if(btTxt.charAt(i) == '-')
			return;

		if(validChars.indexOf(btTxt.charAt(i))>=0) resultStr += btTxt.charAt(i);
	}

	inputField.value = resultStr;
}

function addBTAddr()
{
	var validChars='-0123456789ABCDEF';
	var btTxt = document.getElementById('toolsBluetoothAddressField').value.toUpperCase();
	var btTxtArr = btTxt.split('-');
	var barcodeSheetSize = getURLContent('./getInfo.php?page=getBarcodeSheetSize');

	if(btTxt.length != 17 && btTxtArr.lenght != 6)
	{
		alert(getTransl(176));	// Not a valid address
		return;
	}
	
	for(i=0;i<btTxt.length;i++)
	{
		if(validChars.indexOf(btTxt.charAt(i))<0)
		{
			alert(getTransl(176));	// Not a valid address
			return;
		}
	}

	var windowHTML = '';
	windowHTML += '<html><head><title>Bluetooth Address</title>'+"\n";
	windowHTML += '<LINK REL="stylesheet" HREF="./style/stylesheet.css" TYPE="text/css">'+"\n";
	windowHTML += '</head><body class="popup">'+"\n";
	windowHTML += '<DIV class="bluetoothAddress" id="bluetoothAddressDiv">'+"\n";
	windowHTML += '<H2>&nbsp;&nbsp;Bluetooth Address</H2>';
	windowHTML += '<BR>';
	windowHTML += '<TABLE><TR><TD>';
	windowHTML += '<img src="./barcodeimage.php?code= '+btTxt+' &output=code39&size=2" border="0" alt="Bluetooth Address '+btTxt+'">'+"\n";
	windowHTML += '</TD></TR>';
	windowHTML += '<TR><TD align="center">'+btTxt+'</TD></TR></TABLE>';
	windowHTML += '<TABLE><TR><TD>';
	windowHTML += '<img src="./barcodeimage.php?code= '+btTxt+' &output=code39&size=4" border="0" alt="Bluetooth Address '+btTxt+'">'+"\n";
	windowHTML += '</TD></TR>';
	windowHTML += '<TR><TD align="center">'+btTxt+'</TD></TR></TABLE>';
	windowHTML += '</DIV>'+"\n";
	windowHTML += '<A Href="javascript:this.print()">Print</A>'+"\n";
	windowHTML += '</body></html>'+"\n";

	var width  = 600;
	var height = 300;
	var left   = (screen.width  - width)/2;
	var top    = (screen.height - height)/2;
	var params = 'width='+width+', height='+height;
	params += ', top='+top+', left='+left;
	params += ', directories=no';
	params += ', location=no';
	params += ', menubar=yes';
	params += ', resizable=no';
	params += ', scrollbars=yes';
	params += ', status=no';
	params += ', toolbar=no';
	newwin=window.open('','_blanc', params);
	var windowDoc = newwin.document;
	windowDoc.write(windowHTML);
	windowDoc.close();
	if (window.focus) {newwin.focus()}	
}

/////////////////////// Local functions

function nl2br (str) {
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<BR>$2');
}

function convert_pseudo_html(string)
{
	string = string.replace(/\[i\]/gim,"<i>");
	string = string.replace(/\[\/i\]/gim,"</i>");
	string = string.replace(/\[b\]/gim,"<b>");
	string = string.replace(/\[\/b\]/gim,"</b>");
	string = string.replace(/\[u\]/gim,"<u>");
	string = string.replace(/\[\/u\]/gim,"</u>");
	string = string.replace(/\[img\]/gim,"<IMG src=\"./images/info/");
	string = string.replace(/\[\/img\]/gim,"\" boder=\"0\" alt=\"info_img\">");
	
	return string;
}

function escapeBrackets(string)
{
	string = String(string).replace(/</gm,"&#60;");
	string = string.replace(/>/gm,"&#62;");
	return string;
}

