//------------------------------------------------------------------------------
// Project:       Structural Design of Stainless Steel
// Copyright:     © 2003-2004, The Steel Construction Institute
// File version:  1.00.025j
// File name:     _Scripts/CalcConst.js
// Description:   Calculation constants definition
// Developed by:  FreeSTYLE Software Ltd.
// Author:        Rezo Mesarkishvili
// Last revision: 24 January 2004
//------------------------------------------------------------------------------

   var indLoading  = 1;
   var indSecGeom  = 2;
   var indMembGeom = 3;
   var indMaterial = 4;
   var indSecProp  = 5;
   var indMembRes  = 6;
   var indSummary  = 7;
   var NumbTabs    = indSummary;

   var STATUS_IGNORE  = 0;
   var STATUS_SAVE    = 1;
   var STATUS_DIRTY   = 2;
   var STATUS_CLEAN   = 4;
   var STATUS_INITIAL = STATUS_DIRTY | STATUS_SAVE;
   
   var NOT_DEFINED       = 0;
   var BENDING           = 1;
   var AXIAL_COMPRESSION = 2;
   var AXIAL_TENSION     = 3;

   var RHS               = 1;
   var CHS               = 2;
   var DOUBLE_CHANNEL    = 3;
   var CHANNEL           = 4;
   var DOUBLE_ANGLE      = 5;
   var EQUAL_ANGLE       = 6;

   var B_MAX  = 1000,
       D_MAX  = 1000,
       t_MAX  =   25,
       t_MAX2 =   30,
       ri_MAX =   75;

   var Ranges = new Array (
   // B min  max msg D min  max msg  t min max msg ri min max msg
         25, 250,  0,   50, 400,  2,     1, 20,  6,     1, 45, 10,   // RHS
         -1,  -1, -1,   25, 300,  3,     1, 20,  7,    -1, -1, -1,   // CHS
         25, 150,  1,   50, 400,  2,     2, 15,  8,     2, 45, 11,   // DCH
         25, 150,  1,   50, 400,  2,     2, 15,  8,     2, 45, 11,   // CH
         -1,  -1, -1,   50, 200,  4,     5, 15,  9,     5, 45, 12,   // DA
         -1,  -1, -1,   50, 200,  5,     5, 15,  9,     5, 45, 12 ); // EA

   var END_MOMENTS        = 0;
   var TRANSVERSE_LOADING = 1;

   var CONNECTION_WELD    = 0;
   var CONNECTION_BOLT    = 1;

   var GUSSET_BETWEEN     = 0;
   var GUSSET_BACK        = 1;

   var TRNS_UDL           = 0;
   var TRNS_1POINT        = 1;
   var TRNS_2POINTS       = 2;

   var BoltSizes  = new Array ( "M12", "M14", "M16", "M18", "M20", "M22", "M24", "M27", "M30", "M33", "M36", "M39" );
   var HoleDiam   = new Array (   13,    15,    18,    20,    22,    24,    26,    30,    33,    36,    39,    42  );
   var WasherDiam = new Array (   24,    28,    30,    34,    37,    39,    44,    50,    56,    60,    66,    72  );
   
   var Grades   = new Array ( 0, 1.4301, 1.4307, 1.4401, 1.4404, 1.4541, 1.4571, 1.4362, 1.4462 );
   var GradesUK = new Array ( 0,  "304", "304L",  "316", "316L",  "321",  "320", "2304", "2205" );
   var Def_DS   = new Array ( 0, 210, 200, 220, 220, 200, 220, 400, 460 );
   var Def_US   = new Array ( 0, 520, 500, 520, 520, 500, 520, 600, 640 );

   var strLoadType = new Array ( "", "Bending", "Axial Compression", "Axial Tension" );
   var strSection  = new Array ( "", "RHS",     "CHS", "Double Channel", "Channel", "Double Angle", "Equal Angle" );
   var strSectionL = new Array ( "", "Rectangular hollow section", "Circular hollow section", "Double channel section", "Channel section", "Double angle section", "Equal angle section" );

   //--- Input fields borders
   var InactiveInpBorder = "rgb(127,150,150)";
   var ActiveInpBorder   = "rgb(204,0,0)";
   var SelectedInpBorder = "rgb(57,97,99)";
   var ErrorInpBorder    = "rgb(204,0,0)";
   var WarnInpBorder     = "rgb(216,137,0)";
   var InactiveLabel     = "rgb(127,150,150)";
   var ActiveLabel       = "rgb(0,0,0)";

   var FullVer = window.top.FullVer;

//--------------------------------------------------------------/ ZeroFill /-----
function ZeroFill ( nDigit, nLength )
{
   var sDigit = "" + nDigit;
   while ( sDigit.length < nLength )
   {
      sDigit = "0" + sDigit;
   }
   return sDigit;
}

//-----------------------------------------------------------/ GetDateStr /-----
function GetDateStr ( oDate )
{
   return (   ZeroFill ( oDate.getDate (), 2 ) + "/"
            + ZeroFill (( oDate.getMonth () + 1 ), 2 ) + "/"
            + oDate.getFullYear () + ", "
            + ZeroFill ( oDate.getHours (), 2 ) + ":"
            + ZeroFill ( oDate.getMinutes (), 2 ) + ":"
            + ZeroFill ( oDate.getSeconds (), 2 )
          );
}

//-------------------------------------------------------/ GetDateLongStr /-----
function GetDateLongStr ( oDate )
{
   var Months = new Array ( "January", "February", "March",
                            "April",   "May",      "June",
                            "July",    "August",   "September",
                            "October", "November", "December"
                          );

   return (   oDate.getDate () + " "
            + Months [oDate.getMonth ()] + " "
            + oDate.getFullYear () + ", "
            + ZeroFill ( oDate.getHours (), 2 ) + ":"
            + ZeroFill ( oDate.getMinutes (), 2 )
          );
}

//____________________________________________________________ End of File _____
