
///////////////////////////////////////////////////////////
// Query String stuff...

function getArgs() {
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split("&");
	for ( var i = 0; i < pairs.length; i++ ) {
		var pos = pairs[i].indexOf('=');
		if ( pos == -1 ) continue;
		var argname = pairs[i].substring(0,pos);
		var value = pairs[i].substring(pos+1);
		args[argname] = unescape(value);
	}
	return args;
}

args = getArgs();


////////////////////////////////////////////////////////////
// Customer ID and license validation

function isRadix32String( s, l )
{
	var digits = 0;
	// Count the number of hex digits in s...
	for ( var i = 0; i < s.length; i++ ) {
		var c = s.charAt(i);
		if ( ( c >= '2' && c <= '9' ) ||
			  ( c >= 'a' && c <= 'z' && c != 'l' && c != 'o' ) ||
			  ( c >= 'A' && c <= 'Z' && c != 'L' && c != 'O' ) )
		  digits++;
		else if ( c != ' ' && c != '\t' )
		  return false;
	}
	return digits == l;
}

function isValidHostname( s )
{
	for ( var i = 0; i < s.length; i++ ) {
		if ( s.charAt(i) == ' ' )
			return false;
	}
	return true;
}


function fixupCustID( s )
{
	var seenLetter = false;
	var fixed = "";
	var digits = 0;
	s = s.toUpperCase();
	for ( var i = 0; i < s.length; i++ ) {
		var c = s.charAt(i);
		if ( c == ' ' || c == '\t' )
		  ;
		else if ( c >= 'A' && c <= 'Z' ) {
			if ( seenLetter )
			  return "";
			else {
				fixed += c;
				seenLetter = true;
			}
		}
		else if ( c >= '0' && c <= '9' ) {
			if ( seenLetter ) {
				fixed += c;
				++digits;
			}
			else
			  return "";
		}
	}
	if ( digits == 6 )
	  return fixed;
	else
	  return "";
}

function checkCustomerID( custid )
{
	var n = fixupCustID( custid.value );
	if ( n == "" ) {
		custid.focus();
		alert( "Invalid customer ID supplied" );
		return false;
	}
	else {
		custid.value = n;
		return true;
	}
}


//////////////////////////////////////////////////////
// Rollover stuff

function onLoad()
{
	var allLinks = document.body.getElementsByTagName("A");
	for ( var i = 0; i < allLinks.length; ++i ) {
		var a = allLinks[i];

		a.onmouseover = rollover_onmouseover;
		a.onmouseout = rollover_onmouseout;
	}
}

function rollover_onmouseover()
{
	var obj = event.srcElement;
	if ( obj.className.indexOf( "_highlight" ) >= 0 ) {
		// Shouldn't get here.
	}
	else if ( obj.className == "" ) {
		obj.className = "highlight";
	}
	else {
		obj.className = obj.className + "_highlight";
	}
}

function rollover_onmouseout(obj)
{
	var obj = event.srcElement;
	if ( obj.className.indexOf( "_highlight" ) >= 0 ) {
		obj.className = obj.className.replace( /_highlight/, "" );
	}
	else if ( obj.className == "highlight" ) {
		obj.className = "";
	}
	else {
		// Shouldn't get here.
	}
}

function incorrectCustomerID()
{
	alert( "Please check your customer ID and try again" );
	document.forms.login.custID.focus();
}

function incorrectPassword()
{
	alert( "Please re-enter your password" );
	document.forms.login.password.focus();
}

function toDecimal( floatValue )
{
  var goodDigits = parseInt( floatValue * 100 + "" );
  if ( ( floatValue*100 - goodDigits ) >= .5 )
    return( (goodDigits+1)/100.0 );
  else
    return( goodDigits/100.0 );
}

