// JavaScript Document
<!--

// ------------ QUESTION STUFF ----------------------

function MakeStatic(nPagesPerDir)
{
  parent.SetStaticPageCount(nPagesPerDir);
}

function Value(valueID)
{
  parent.SetAnswer( valueID ) ;
  parent.HandleQuestionAnswer();
}

// ------------ NUMERIC START ----------------------

function IsNumber ( s )
{
  if ( s.length == 0 )
    return ( false ) ;
  var c ;
  var nums = "0123456789" ;
  var passedPoint = false ;
  for ( c = 0 ; c < s.length ; c++ )
    if ( nums.indexOf(s.charAt(c)) == -1 )
    {
      var ok = false ;
      if ( ( c == 0 ) && ( s.charAt(c) == "-" ) )
        ok = true ;
      else if ( ( ( s.charAt(c) == "." ) || ( s.charAt(c) == "," ) ) && ( ! passedPoint ) )
      {
        ok = true ;
        passedPoint = true ;
      }
      if ( ! ok )
        return ( false ) ;
    }
  return ( true ) ;
}

function NumOK ( aID )
{
  var dt = document.getElementById(aID);
  if ( dt == null )
    return ( false ) ;
  var aVal = dt.value ;
  if ( ! IsNumber ( aVal ) )
  {
    alert ( "'" + aVal + "' is not a number" ) ;
    dt . focus () ;
    return ;
  }
  parent.SetAnswer( aVal ) ;
  parent.HandleQuestionAnswer();
}

function NumericKeyPress ( event )
{
  var key = event.keyCode ;
  if ( key == 0 )
    key = event.which;
  if ( key == 13 )
    NumOK ( "number" ) ;
}

// ------------ NUMERIC END ----------------------

// ------------ DATE START ---------------

function Ndays ( m , y )
{
  var d = 31 ;
  if ( m == 4 || m == 6 || m == 9 || m == 11 )
    d = 30 ;
  if ( m == 2 )
    d = ( ( y % 4 == 0 ) && ( ( ! ( y % 100 == 0 ) ) || ( y % 400 == 0 ) ) ) ? 29 : 28 ;
  return ( d ) ;
}

function PadUp ( n , w )
{
  var s = new String ( n ) ;
  while ( s.length < w )
    s = '0' + s ;
  return ( s ) ;  
}

function DateOK ( dayID , monthID , yearID )
{
  dt = document.getElementById(monthID);
  if ( dt == null )
    return ( false ) ;
  var aMonth = dt.value ;
  // ----
  dt = document.getElementById(yearID);
  if ( dt == null )
    return ( false ) ;
  var aYear = dt.value ;
  if ( ! IsNumber ( aYear ) )
  {
    alert ( "'" + aYear + "' is not a number" ) ;
    dt . focus () ;
    return ;
  }
  if ( ( aYear < 1800 ) || ( aYear > 2100 ) )
  {
    alert ( "'" + aYear + "' is not a valid year" ) ;
    dt . focus () ;
    return ;
  }
  // ----
  var dt = document.getElementById(dayID);
  if ( dt == null )
    return ( false ) ;
  var aDay = dt.value ;
  if ( ! IsNumber ( aDay ) )
  {
    alert ( "'" + aDay + "' is not a number" ) ;
    dt . focus () ;
    return ;
  }
  if ( ( aDay < 1 ) || ( aDay > Ndays ( aMonth , aYear ) ) )
  {
    alert ( "'" + aDay + "' is not a valid day" ) ;
    dt . focus () ;
    return ;
  }
  // ----
  var s = PadUp ( aYear , 4 ) + PadUp ( aMonth , 2 ) + PadUp ( aDay , 2 ) ;
  // ----
  parent.SetAnswer( s ) ;
  parent.HandleQuestionAnswer();
}

function DateKeyPress ( event )
{
  var key = event.keyCode ;
  if ( key == 0 )
    key = event.which;
  if ( key == 13 )
    DateOK ( "day" , "month" , "year" ) ;
}


// ------------ DATE END ---------------

-->