// hexconv.js

function  dec2hex ( textString ) {  	 
 	var mod, remainder;
	var outputString = '';
	var multiples = new Array ( 4096, 256, 16, 1 );
 	var hexequiv = new Array ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");

	remainder = textString; 				
	for ( var i=0; i < 4; i++) {
		mod = Math.floor( remainder/multiples[i] );
		remainder = remainder % multiples[i]; 
		outputString += hexequiv[mod]; 
		}
	return( outputString ); 
	}


function hex2dec ( textString ) {  
	while ( textString.indexOf( ' ' ) > -1 ) {
		textString = textString.replace(' ', '');
		}
	var digits = new Array (0, 0, 0, 0, 0, 0);
	var ch = '';
	var strPtr = 0;
	if ( textString.length > 6 ) { 
		alert( 'This program only handles Hex numbers with a maximum of 6 digits.' ); 
		return( '-1' );}
	var offset = 6 - textString.length;	
	textString = textString.toUpperCase();
	while ( offset < 6) {
		ch = textString.charAt(strPtr); 
		if       (ch == 'A') { digits[offset] = 10; }
		else if (ch == 'B') { digits[offset] = 11; }
		else if (ch == 'C') { digits[offset] = 12; }
		else if (ch == 'D') { digits[offset] = 13; }
		else if (ch == 'E') { digits[offset] = 14; }
		else if (ch == 'F') { digits[offset] = 15; }
		else { digits[offset] = parseInt(textString.charAt(strPtr)); }
			//alert( 'offset:' + offset +'digits[offset]:'+digits[offset]);
		++offset;	 ++strPtr;	
		}
	return ( (digits[0]*1048576)+(digits[1]*65536)+(digits[2]*4096)+(digits[3]*256)+(digits[4]*16)+digits[5] );
	}


//  hexconv.js	29/01/01 10:52	page 1

