<?php
/*********************************************************      
 程序说明:        
    功能说明:本程序实现对opaque参数的修改和保存

    调用关系:调用: header.inc     
    被调用:      
 
    变量说明:

    返回值:

 作者:      
      
修改注释:      
NO.1      
姓名:	            
时间:      
修改说明:
*********************************************************/    
require("../../inc/header.inc");
$DEBUG	= 0;

function getNameByOID_handle($sysTypeNo,$oidwhere)
{
	$tb="OBJ_".$sysTypeNo.".paramConf";
	$sqlstr="select name_2 from $tb where $oidwhere";
	$res = @mysqli_query($pubConn,$sqlstr);
	$row = @mysqli_fetch_array($res);
	return $row[name_2];
}
$canwrite_flag=checkWritePrivilege();
$settedColor		="blue";
$notSettedColor		="#008000";
$inputBkgrdColor	= "#E7FEFD";
$saveBkgrdColor		="#F3F77D";
$waitingBkgrdColor 	= "red";

$sysIdArr	= explode('_',$sysId);
$sysTypeNo	= $sysIdArr[0];
$sysNo		= $sysIdArr[1];
$subSysNo	= $sysIdArr[2];
$objDb			= 'OBJ_'.$sysTypeNo;
$paraConfTable  = $objDb.'.paramConf';

if(checkIndependSystem($sysTypeNo))//Plat
	$paraTable=$objDb.".param_".$sysNo;
else
	$paraTable=$objDb.".param_99";

$levelWhere=getLevelWhere($oidStr);
$paraSql="SELECT * FROM $paraTable WHERE $levelWhere AND instanceNo=$instanceNo";
if($DEBUG)
	echo "<br>paraSql=$paraSql";
$paraResult=mysqli_query($pubConn,$paraSql);
$paraRows=@mysqli_fetch_array($paraResult);

$setValue=$paraRows[initValue]; 
$readValue=$paraRows[readValue]; 
if($DEBUG)
	echo "<br>setValue=$setValue";

function omcStrFill($string,$defLen,$fillWay='high',$fillChar='0'){
	if(strlen($string) <= $defLen){
		$fillLen=$defLen - strlen($string);
		for($i=0;$i<$fillLen;$i++){
			if($fillWay == 'low'){
				$string = $string.$fillChar;
			}else{
				$string = $fillChar.$string;
			}
		}
		return($string);
	}else{
		echo "<br>Error in omcStrFill:the defLen < lengh of string!!";
		echo "<br>defLen=$defLen and string=$string!!";
		exit();
	}
}

//----------------------
//选择语言版本
if($language == 'eng'){
	$objNameField=name_2;
	$objSetField=setTemplate_2 ; //语种2
}else{	
	$objNameField=name_1;
	$objSetField=setTemplate_1 ; //语种1(默认语种)
}
//-----------------------

//=======================Get value From submit===================
if($set == 'Set'){
	//sort by offset
	for($i=1;$i<=$unitNum;$i++){
		$tmpDef = ${'unitDef_'.$i};
		$tmpValue = ${'unit_'.$i};
		if($DEBUG) echo "<br>tmpDef = $tmpDef";
		$defArr[$i] = $tmpDef;
		$tmpDefArr=explode('-',$tmpDef);
		$sortArr[$i] = $tmpDefArr[0];
		$valueArr[$i] = $tmpValue;
	}
	$lastValue = '';
	$k = 0;
	asort($sortArr);
	for(reset($sortArr); $key = key($sortArr); next($sortArr)){
		if($DEBUG) echo "<br>sortArr[$key] = {$sortArr[$key]}";
		if($DEBUG) echo "<br>unitValue = {$valueArr[$key]}";
		$unitValue = $valueArr[$key];
		if($DEBUG) echo "<br>defArr[$key] = {$defArr[$key]}";
		$unitDefArr = explode('-',$defArr[$key]); //例:0.0-0.7-input -toDec-high-0
		if(sizeof($unitDefArr) <= 1){
			if($DEBUG) echo "<br>nothing,just a name";
			continue;
		}
		$bgnOffset	= $unitDefArr[0];
		$endOffset	= $unitDefArr[1];
		$operType	= $unitDefArr[2];
		$valueType  = $unitDefArr[3];
		$fillWay	= $unitDefArr[4];
		$fillChar	= $unitDefArr[5];
		
		$bgnOffsetArr = explode('.',$bgnOffset);
		$bgnByte = $bgnOffsetArr[0];
		$bgnBit  = $bgnOffsetArr[1];
		$endOffsetArr = explode('.',$endOffset);
		$endByte = $endOffsetArr[0];
		$endBit  = $endOffsetArr[1];
		$byteLen = $endByte - $bgnByte + 1;
		$byteValue = '';
		if($DEBUG) echo "<br>valueType = $valueType";
		switch($valueType){
			case 'toDec':
				if($bgnBit > 0 ||$endBit < 7){
					$bitLen = $byteLen*8 - $bgnBit - (7 - $endBit) ; //1 BYTE = 8 bit
					$bitValue = DecBin($unitValue);
					if($DEBUG)echo "<br>bitValue = $bitValue ";
					$bitValue  = omcStrFill($bitValue,$bitLen,$fillWay,$fillChar);
					if($DEBUG) echo "<br>omcStrFill($bitValue,$bitLen,$fillWay,$fillChar)";
					$bitValueArr[$k] = $bitValue;
					if($DEBUG) echo "<br>bitValueArr[$k] = {$bitValueArr[$k]}";
					if($endBit == 7){//发现这个单元结束，并没有跨byte，这时需要组成一个byte值
						$bitValue = '';
						for($bitNo=0; $bitNo<=$k; $bitNo++){
							if($DEBUG) echo "<br>bitValueArr[$bitNo] = {$bitValueArr[$bitNo]}";
							$bitValue = $bitValueArr[$bitNo].$bitValue;
						}
						$k=0;
						if($DEBUG) echo "<br>bitValue = $bitValue";
						$byteLen = strlen($bitValue) / 8;
						if($DEBUG) echo "<br>byteLen = $byteLen";
						$byteValue = BinDec($bitValue);
						$byteValue = DecHex($byteValue);
						$strLen = $byteLen*2;
						if($DEBUG) echo "<br>omcStrFill($byteValue,$strLen,$fillWay,$fillChar)";
						$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
					}else{//否则，继续组合下一个bit组
						$byteValue = '';
						$k++;
					}
				}else{
					$byteValue = DecHex($unitValue);
					$strLen = $byteLen*2;
					$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
					if($DEBUG) echo "<br>omcStrFill($byteValue,$strLen,$fillWay,$fillChar)";
				}
				if($DEBUG) echo "<br>byteValue = $byteValue";
				break;
			case 'keepDec':
				//echo "<br>Error:keepDec";
				$byteValue = $unitValue - 0;
				break;
			case 'toHex':
				echo "<br>Error:toHex";
				break;
			case 'keepHex':
				if($bgnBit > 0 || $endBit < 7){//这里的处理不够全面,没有对=7的进行收尾
					$byteValue = $unitValue;
					$strLen = $byteLen;
					$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
					$bitValue = DecBin(HexDec($byteValue));
					$byteValue='';
					$bitLen = $byteLen*8 - $bgnBit - (7 - $endBit) ; //1 BYTE = 8 bit
					$bitValue  = omcStrFill($bitValue,$bitLen,'high','0');
					if($DEBUG) echo "<br>bitValue = $bitValue";
					$bitValueArr[$k] = $bitValue;
					$k++;
				}else{
					$k=0;
					$byteValue = $unitValue;
					$strLen = $byteLen*2;
					$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
					if($DEBUG) echo "<br>omcStrFill($byteValue,$strLen,$fillWay,$fillChar)";
				}
				break;
			case 'toAscii':
				if($bgnBit > 0 ||$endBit < 7){
					echo "<br>Error:toAscii";
					exit(1);
				}else{
					$tmpLen=strlen($unitValue);
					for($i=0;$i<$tmpLen;$i++){
						$unitChar = substr($unitValue,$i,1);
						$decValue = ord($unitChar); //ascii -> dec
						$byteValue .= DecHex($decValue);
						if(strlen($byteValue) < 2){
							$byteValue = '0'.$byteValue;
						}
					}
					$strLen = $byteLen*2;
					$byteValue = omcStrFill($byteValue,$strLen,$fillWay,$fillChar);
				}
				break;
			case 'toLatitude':
				//feake show 4byte
				if($unitValue>90)
				{
					$unitValue=90;
					/**************************************************/
					echo "\n<script language=\"JavaScript\">\n";
					echo "alert('The value must be -90.00 to 90.00');\n";
					echo "</script>\n";
					/***************************************************/
				}
				if($unitValue<-90)
				{
					$unitValue=-90;
					/**************************************************/
					echo "\n<script language=\"JavaScript\">\n";
					echo "alert('The value must be -90.00 to 90.00');\n";
					echo "</script>\n";
					/***************************************************/
				}
				$byteValue=$unitValue*pow(2,23)/90;
				$byteValue=ceil($byteValue);
				$byteValue=dechex($byteValue);
				$byteValue=omcStrFill($byteValue,8,'high','0');
				break;
			case 'toLongitude':
				if($unitValue>180)
				{
					$unitValue=180;
					/**************************************************/
					echo "\n<script language=\"JavaScript\">\n";
					echo "alert('The value must be -180.00 to 180.00');\n";
					echo "</script>\n";
					/***************************************************/
				}
				if($unitValue<-180)
				{
					$unitValue=-180;
					/**************************************************/
					echo "\n<script language=\"JavaScript\">\n";
					echo "alert('The value must be -180.00 to 180.00');\n";
					echo "</script>\n";
					/***************************************************/
				}
				$byteValue=$unitValue*pow(2,24)/360;
				$byteValue=ceil($byteValue);
				$byteValue=dechex($byteValue);
				$byteValue=omcStrFill($byteValue,8,'high','0');
				break;
			default: 
				echo "Error:Unknown valueType";
				break;
		}
		if($DEBUG) echo "<br>byteValue  = $byteValue ";
		//--><-//$lastValue = $byteValue.$lastValue;
		$lastValue = $lastValue.$byteValue;
	}
	$lastValue=strtoupper($lastValue);
	if($DEBUG) echo "<br>lastValue  = $lastValue ";
	$updateSql="UPDATE $paraTable SET initValue='$lastValue' WHERE $levelWhere AND instanceNo=$instanceNo";
	if($DEBUG)echo "<br>updateSql=$updateSql";
	mysqli_query($pubConn,$updateSql);



	if($lastValue==$readValue)
	{
		$returnColor= $settedColor;
	}
	else
	{
		$returnColor= $notSettedColor;
		
		$oidwhere=getLevelWhere(substr($oidStr,0,strlen($oidStr)-2));
		$tableName=getNameByOID_handle($sysTypeNo,$oidwhere);
		$tableName=str_replace("Entry","",$tableName);
		$sysName=getSystemNameBySysTypeNo($sysTypeNo);
		
		$fieldName=getNameByOID_handle($sysTypeNo,$levelWhere);
		$log="Change $sysName $tableName's $fieldName, ".$readValue." -> ".$lastValue;
		
		insertLog($log);
		//$handle=fopen("/tmp/test.txt","a");
		//fwrite($handle,$log);
		//fwrite($handle,"\n");
		//fclose($handle);
	}
	if(!$DEBUG){
		
		//discard the postfix E
		if(strstr($tmpDef,"keepHex-low"))
		{
			$oidwhere=getLevelWhere($oidStr);
			$sql="select setTemplate_2 from OBJ_$sysTypeNo.paramConf where $oidwhere ";
			$res=@mysqli_query($pubConn,$sql);
			$row=@mysqli_fetch_array($res);
			$split=explode("[unit]",$row[0]);
			$tmplen=sizeof($split);
			//only one unit
			//if($tmplen == 2)
			{
				$split2=explode("keepHex-low-",$row[0]);
				$repl=substr($split2[1],0,1);
				$lastValue=str_replace($repl," ",$lastValue);
			}
		}
		if(strlen(trim($lastValue))<=0)
			$lastValue="--";
		
		echo "<script LANGUAGE=\"JavaScript\">";
		$innerHTML="<a style=\'color:$returnColor\'>$lastValue</a>";
		echo "\n window.opener.document.getElementById('$spanId').innerHTML='$innerHTML';";
		if($DEBUG) exit();
		echo "\n window.opener.document.getElementById('$spanId').focus();";
		echo "\n window.close();";
		echo "\n </script>";
		exit();
	}else{
		echo "<br>lastValue  = $lastValue ";
	}
}//end of if($set == 1)

//=======================Show GUI ========================
?> 
<body>
<script LANGUAGE="JavaScript"> 
function checkInt(term){   
    var checkOK = "0123456789";
    var checkStr = term.value;
    var allValid = true;
	var termName = term.name;
	var minValue = eval("document.confForm."+termName+"_min.value");
	var maxValue = eval("document.confForm."+termName+"_max.value");
	var oldValue = eval("document.confForm."+termName+"_old.value");
	//alert(minValue+'<'+term.value+'<'+maxValue);
    for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++){
			if (ch == checkOK.charAt(j))
				break;
		}
		if (j == checkOK.length){
			allValid = false;
			break;
		}
	}

	if (!allValid){  
		var errAlert="parameter Must be a dec number!";
		alert(errAlert);
		term.value=oldValue;
		term.focus();
		return (false);
	}

	if((minValue - term.value) > 0){
		var errAlert="Too little!";
		alert(errAlert);
		term.value=oldValue;
		term.focus();
		return (false);
	}
	if((term.value - maxValue) > 0){
		var errAlert="Too Big!";
		alert(errAlert);
		term.value=oldValue;
		term.focus();
		return (false);
	}

}
</script>

<form method="POST" name="confForm" action="<?php echo"$PHP_SELF";?>" >
<?
$objSql = "SELECT $objNameField,$objSetField,valueType,minValue,maxValue FROM $paraConfTable WHERE $levelWhere";
if($DEBUG)
	echo "objSql=$objSql";
$objResult	= mysqli_query($pubConn ,$objSql);
$objRows	= @mysqli_fetch_array($objResult);
$objName	= $objRows[$objNameField];
$setTemplate = $objRows[$objSetField];
$valueType	= $objRows[valueType];
$minValue	= $objRows[minValue];
$maxValue	= $objRows[maxValue];

/**************************************
*[unit]name[u]xx.xx-yy.yy[u]input[v]toDec-fillHigh-fillChar
*[unit]name[u]xx.xx-yy.yy[u]select[v]value1[opt]desc1[v]value2[opt]desc2
*[remark]
***************************************/

//explode by '[remark]'
$remarkArr = explode('[remark]',$setTemplate);
$remark  = $remarkArr[1];

//explode by '[unit]'
$unitArr = explode('[unit]',$remarkArr[0]);

//show every one unit
//$setValue = strrev($setValue);
if($DEBUG){
	echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"2\" width=\"100%\">";
}else{
	echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" width=\"100%\">";
}

for($i=1;$i<sizeof($unitArr);$i++){
	echo "\n <tr><td width=\"10%\"  valign=middle><nobr>";
	//unit input name
	$unitName = "unit_".$i;
	
	//explode by '[u]'
	$tlvArr = explode('[u]',$unitArr[$i]);
	if(sizeof($tlvArr) <= 1 ){
		echo "<u><b>{$unitArr[$i]}</b></u>";
		continue;
	}

	//show Unit Name
	echo "$tlvArr[0]";
	echo "&nbsp;</nobr></td><td>";
	if($DEBUG) echo "$tlvArr[1]";
	//explode by '-'
	$offsetArr = explode('-',$tlvArr[1]);
	$bgnOffsetArr = explode('.',$offsetArr[0]);
	$bgnByte = $bgnOffsetArr[0];
	$bgnBit  = $bgnOffsetArr[1];
	$endOffsetArr = explode('.',$offsetArr[1]);
	$endByte = $endOffsetArr[0];
	$endBit  = $endOffsetArr[1];
	$byteLen = $endByte - $bgnByte + 1;
	$byteValue = substr($setValue,$bgnByte*2,$byteLen*2);
	//--><-//$byteValue = strrev($byteValue);

	if($DEBUG) echo "<br>byteValue = $byteValue";
	$bitValue = '';
	if($bgnBit > 0 ||$endBit < 7){
		if($DEBUG) echo "<br>$bgnBit > 0 ||$endBit < 7";
		$bitValue = HexDec($byteValue);
		$bitValue = DecBin($bitValue);
		if($DEBUG) echo "<br>bitValue = $bitValue";
		$bitLen   = $byteLen*8;//1 byte = 8 bit
		$bitValue = omcStrFill($bitValue,$bitLen,'high','0');
		if($DEBUG) echo "<br>omcStrFill($bitValue,$bitLen,'high','0')";
		
		$bitValue = strrev($bitValue);
		$catBitLen = $endByte*8+$endBit - ($bgnByte*8+$bgnBit) + 1; //1 byte = 8 bit
		if($DEBUG) echo "<br>bitValue = substr($bitValue,$bgnBit,$catBitLen)";
		$bitValue = substr($bitValue,$bgnBit,$catBitLen);
		$bitValue = strrev($bitValue);
		if($DEBUG) echo "<br>bitValue = $bitValue";
	}

	//explode by '[v]'
	
	$valueArr = explode('[v]',$tlvArr[2]);
	$typeAddTitleArr = explode('[t]',$valueArr[0]);
	$operType = chop($typeAddTitleArr[0]);
	$titleStr = chop($typeAddTitleArr[1]);
	$valueArr[1] = chop($valueArr[1]);
	
	if($DEBUG) 
	echo "<br>operType = $operType";
	switch($operType){
		case 'input'://
			//explode by '-'
			$defArr = explode('-',$valueArr[1]);
			if($DEBUG) echo "<br>defArr = $defArr[0],$defArr[1],$defArr[2]";
			switch($defArr[0]){
				case 'toDec':
					if(strlen($bitValue) > 0){
						$inputValue = BinDec($bitValue);
					}else{
						$inputValue = HexDec($byteValue);
					} 
					break;
				case 'keepDec':
					$inputValue = $byteValue;
					break;
				case 'toHex':
					echo "<br>Error:toHex";
					break;
				case 'keepHex':
					$inputValue = $byteValue;
					break;
				case 'toAscii':
					$charValue = "";
					if($bgnBit > 0 ||$endBit < 7){
						echo "<br>Error:toAscii";
						exit(1);
					}else{
						$tmpLen=strlen($byteValue);
						for($charCount=0;$charCount<$tmpLen;$charCount++){
							$unitByte = substr($byteValue,$charCount,2);
							$unitChar = chr(HexDec($unitByte)); // hex -> ascii
							if($DEBUG) echo "<br>unitChar=$unitChar";
							$charValue .= $unitChar;
							$charCount++;
						}
						$inputValue = $charValue;
						$inputValue = trim($inputValue);//add by oven 2006-8-2 remvove dirty in Mozilla.
					}
					break;
				case 'toLatitude':
					//feake edit float
					if($byteValue[0]=='F' || $byteValue[0]=='f')
					{
						$tmp=hexdec($byteValue)-1;
						$orgbin=decbin($tmp);
						$lastbin="";
						for($ii=0;$ii<strlen($orgbin);$ii++)
						{
							if($orgbin[$ii] == '0')
								$lastbin=$lastbin."1";
							else
								$lastbin=$lastbin."0";
						}
						$last=bindec($lastbin);
						$last=-$last;
					}
					else
						$last=hexdec($byteValue);
					$inputValue=$last*90/pow(2,23);
					if(strlen($inputValue)>8)
						$inputValue=substr($inputValue,0,8);
	
					if($inputValue > 90 || $inputValue < -90)				
					{	
						/**************************************************/
						echo "\n<script language=\"JavaScript\">\n";
						echo "alert('The value must be -90.00 to 90.00');\n";
						echo "</script>\n";
						/***************************************************/
					}
					break;
				case 'toLongitude':
					if($byteValue[0]=='F' || $byteValue[0]=='f')
					{
						$tmp=hexdec($byteValue)-1;
						$orgbin=decbin($tmp);
						$lastbin="";
						for($ii=0;$ii<strlen($orgbin);$ii++)
						{
							if($orgbin[$ii] == '0')
								$lastbin=$lastbin."1";
							else
								$lastbin=$lastbin."0";
						}
						$last=bindec($lastbin);
						$last=-$last;
					}
					else
						$last=hexdec($byteValue);
					$inputValue=$last*360/pow(2,24);
					if(strlen($inputValue)>8)
						$inputValue=substr($inputValue,0,8);
	
					if($inputValue > 180 || $inputValue < -180)				
					{	
						/**************************************************/
						echo "\n<script language=\"JavaScript\">\n";
						echo "alert('The value must be -180.00 to 180.00');\n";
						echo "</script>\n";
						/***************************************************/
					}
					break;
				default: 
					echo "<br>Error:valueType=$defArr[0]";
					break;
			}
			if($DEBUG)echo "<br>inputValue = $inputValue";
			switch($defArr[1]){
				case 'high':
					switch($defArr[2]){
						case '0':
							if($defArr[0] == 'toHex' || $defArr[0] == 'keepHex'){
								//$inputValue = str_replace('0','',$inputValue);
							}else if($defArr[0] == 'toAscii'){
								for($ii=0;$ii<strlen($inputValue);$ii++){
									if($inputValue[$ii]=='0')
										$inputValue[$ii]='';
									else
										break;
								}
							}else{
								$inputValue = $inputValue - 0;
							}
							break;
						case 'E':
							echo "Error:high fill E";
							break;
						default: break;
					}
					break;
				case 'low':
					if ("toAscii" != $defArr[0]) {
						switch($defArr[2]){
							case '0':
								$inputValue = str_replace('00','',$inputValue);
								break;
							case 'E':
								$inputValue = str_replace('E','',$inputValue);
								break;
							default: break;
						}
					}
					break;
				default: break;
			}
			
			if($defArr[0] == 'toAscii'){
				$inputLen = $byteLen;
			}elseif($defArr[0] == 'toHex' || $defArr[0] == 'keepHex'){
				$inputLen = $byteLen *2;
			}else{
				$inputLen = $byteLen *3;
			}
			echo "<input type=\"text\" size=\"$inputLen\" maxLength =\"$inputLen\" name=\"$unitName\" value=\"$inputValue\" class=\"text\">";
			
			break;
		case 'select':
			if($bitValue != ''){
				$selectValue = BinDec($bitValue);
			}else{
				$selectValue = HexDec($byteValue);
			}
			
			if($DEBUG) 
			echo "<br>bitValue = $bitValue";
			if($DEBUG) echo "<br>selectValue = $selectValue";
			
			echo "<select size=\"1\" name=\"$unitName\">";
			$isSelected = 0;
			for($j=1;$j<sizeof($valueArr);$j++){
				//explode by '[opt]'
				$defArr = explode('[opt]',$valueArr[$j]);
				if(sizeof($defArr) < 2){
					echo "<option value=\"$selectValue\" selected>Reserved Value</option>";
					break;
				}elseif($defArr[0] ==  $selectValue){
					echo "<option value=\"$defArr[0]\" selected>$defArr[1]</option>";
					$isSelected = 1;
				}else{
					echo "<option value=\"$defArr[0]\">$defArr[1]</option>";
				}
			}
			
			if($isSelected ==0 && $j == sizeof($valueArr)){
				echo "<option value=\"$selectValue\" selected>Undefined Value</option>";
			}
			echo "</select>";
			break;
		default: echo "<br>Error:operType =|$operType|";
			break;
	}//end of switch(..)
	//like:unitDef_1 = 1.0-2.0-select-keepHex-high-0 -->$tlvArr[1]-$operType-
	
	if($operType == 'select'){ //select
		$tempDef = $tlvArr[1].'-'.$operType.'-'.'toDec-high-0';	
	}else{
		$tempDef = $tlvArr[1].'-'.$operType.'-'.$valueArr[1];
	}
	$tempDef = str_replace(" ", "", $tempDef);
	$tempDef = chop($tempDef);
	echo "\n <input type=\"hidden\" name=\"unitDef_$i\" value=\"$tempDef\">";
	echo "</td></tr>";
}//end of for(..)

echo "</table>";

$remark=nl2br($remark);
echo "<br><b>Remarks:</b><br>$remark<br><br>";
$unitNum = $i-1; 
echo "\n<input type=\"hidden\" name=\"unitNum\" value=\"$unitNum\">";
echo "\n<input type=\"hidden\" name=\"sysId\" value=\"$sysId\">";
echo "\n<input type=\"hidden\" name=\"oidStr\" value=\"$oidStr\">";
echo "\n<input type=\"hidden\" name=\"instanceNo\" value=\"$instanceNo\">";
echo "\n<input type=\"hidden\" name=\"spanId\" value=\"$spanId\">";
if($canwrite_flag)
{
	echo "\n<input type=\"submit\" name=\"set\" value = \"Set\">";
	echo "\n<input type=\"reset\" name=\"Reset\" value =\"Reset\">";
}
else
{
	echo "\n<input type=\"submit\" disabled name=\"set\" value = \"Set\">";
	echo "\n<input type=\"reset\" disabled name=\"Reset\" value =\"Reset\">";
}
echo "</Form>";
?>
</body>
</html>