//*******************************************************************************
// This file contains all javascript variables and arrays that are common to all
// frames
// This file must be included only one time in "ctrl_board.htm"
//
//  
// Modification History:
//
// 13/03/06 : Modification à HCY HMY : Verrou à 5 pas au lieu de 3
//            Reference 7 pas en trop.
// 14/03/06 : remplacement de HCY par HCX
// 31/05/06: Frames are listed alphabetically
// 15/06/06: Add VMH and VFH module
//*******************************************************************************// Init global ARRAYs with all different stringers sizes

// Following list are constants

// Init some constant values
//var NB_ROWS_MAX = convInt(10);
//var NB_MAX_LEVELS = convInt(6);

// Constant values Declaration for ALPHA STANDS
// var stringers_length = new Array(convInt(0),convInt(600),convInt(750),convInt(900),convInt(1200),convInt(1500));

// This array alllows to cosntruct a double size array
// "PH,1" means module PH is 2 pitchs width
var modules_def = new Array("PH,1","PMS,1","PMY,1","PMD,1","PMR,1","PFS,1","PFY,1","PFD,1","PFR,1",
							"TH,2","TMS,2","TMV,2","TMD,2","TMR,2","TFS,2","TFV,2","TFD,2","TFR,2",
							"HM,4","HF,4",
							"H-EM,1","H-EF,1",
							"HMR,2","HFR,2",
							"VMH,2.5","VMS,2.5","VMR,2.5","VMRDB,2.5","VMP,2.5","VFH,2.5","VFS,2.5","VFR,2.5","VFRDB,2.5","VFP,2.5",
							"MH,4","CM,4","CF,4","MM,4","MF,4"
							);
var modules_width = new Array();

// Frames definition   XX,Y,Z,W,U,Remark,V
// XX = Frame designation
// Y = Pitches available
// Z = Nb of areas to fill
// W = Nb of rows
// U = Frame length (in pitches)
// Remark = any useful string
// V = P (PLug) & R (Receptacle): P ou R ou PR (if both)
var frames_def = new Array(
 
				  "HB_7,7,1,1,7,No screw extractor,PR",
                  "HB_11,11,1,1,11,No screw extractor,PR",
                  "HB_15,15,1,1,15,No screw extractor,PR",
                  "HB_19,19,1,1,19,No screw extractor,PR",
                  "HB_23,23,1,1,23,No screw extractor,PR",
                  "HB_27,27,1,1,27,No screw extractor,PR",
                  "HB_31,31,1,1,31,No screw extractor,PR",
                  "HB_35,35,1,1,35,No screw extractor,PR",  

				  "HC_7,4,2,1,7,Jack screw extractor,PR",
                  "HC_11,8,2,1,11,Jack screw extractor,PR",
                  "HC_15,12,2,1,15,Jack screw extractor,PR",
                  "HC_19,16,2,1,19,Jack screw extractor,PR",
                  "HC_23,20,2,1,23,Jack screw extractor,PR",
                  "HC_27,24,2,1,27,Jack screw extractor,PR",
                  "HC_31,28,2,1,31,Jack screw extractor,PR",
                  "HC_35,32,2,1,35,Jack screw extractor,PR",

					// Embase only
                  "HCX_11,6,2,1,11,Quick turn Jack screw,R",
                  "HCX_15,10,2,1,15,Quick turn Jack screw,R",
                  "HCX_19,14,2,1,19,Quick turn Jack screw,R",
                  "HCX_23,18,2,1,23,Quick turn Jack screw,R",
                  "HCX_27,22,2,1,27,Quick turn Jack screw,R",
                  "HCX_31,26,2,1,31,Quick turn Jack screw,R",
                  "HCX_35,30,2,1,35,Quick turn Jack screw,R",
 
				  "HD_7,7,1,1,7,No screw extractor,PR",
                  "HD_11,11,1,1,11,No screw extractor,PR",
                  "HD_15,15,1,1,15,No screw extractor,PR",
                  "HD_19,19,1,1,19,No screw extractor,PR",
                  "HD_23,23,1,1,23,No screw extractor,PR",
                  "HD_27,27,1,1,27,No screw extractor,PR",
                  "HD_31,31,1,1,31,No screw extractor,PR",
                  "HD_35,35,1,1,35,No screw extractor,PR",
                  
				  "HG_7,7,1,1,7,No screw extractor,PR",
                  "HG_11,11,1,1,11,No screw extractor,PR",
                  "HG_15,15,1,1,15,No screw extractor,PR",
                  "HG_19,19,1,1,19,No screw extractor,PR",
                  "HG_23,23,1,1,23,No screw extractor,PR",
                  "HG_27,27,1,1,27,No screw extractor,PR",
                  "HG_31,31,1,1,31,No screw extractor,PR",
                  "HG_35,35,1,1,35,No screw extractor,PR",

				  "HH_7,7,1,1,7,No screw extractor,PR",
                  "HH_11,11,1,1,11,No screw extractor,PR",
                  "HH_15,15,1,1,15,No screw extractor,PR",
                  "HH_19,19,1,1,19,No screw extractor,PR",
                  "HH_23,23,1,1,23,No screw extractor,PR",
                  "HH_27,27,1,1,27,No screw extractor,PR",
                  "HH_31,31,1,1,31,No screw extractor,PR",
                  "HH_35,35,1,1,35,No screw extractor,PR",

                  "HJ_7,4,2,1,7,Jack screw extractor,PR",
                  "HJ_11,8,2,1,11,Jack screw extractor,PR",
                  "HJ_15,12,2,1,15,Jack screw extractor,PR",
                  "HJ_19,16,2,1,19,Jack screw extractor,PR",
                  "HJ_23,20,2,1,23,Jack screw extractor,PR",
                  "HJ_27,24,2,1,27,Jack screw extractor,PR",
                  "HJ_31,28,2,1,31,Jack screw extractor,PR",
                  "HJ_35,32,2,1,35,Jack screw extractor,PR",

				  // Plug only
                  "HJY_11,6,2,1,11,Quick turn Jack screw,P",
                  "HJY_15,10,2,1,15,Quick turn Jack screw,P",
                  "HJY_19,14,2,1,19,Quick turn Jack screw,P",
                  "HJY_23,18,2,1,23,Quick turn Jack screw,P",
                  "HJY_27,22,2,1,27,Quick turn Jack screw,P",
                  "HJY_31,26,2,1,31,Quick turn Jack screw,P",
                  "HJY_35,30,2,1,35,Quick turn Jack screw,P",
				  
				  // Plug only
                  "HK_7,4,2,1,7,Jack screw extractor,P",
                  "HK_11,8,2,1,11,Jack screw extractor,P",
                  "HK_15,12,2,1,15,Jack screw extractor,P",
                  "HK_19,16,2,1,19,Jack screw extractor,P",
                  "HK_23,20,2,1,23,Jack screw extractor,P",
                  "HK_27,24,2,1,27,Jack screw extractor,P",
                  "HK_31,28,2,1,31,Jack screw extractor,P",
                  "HK_35,32,2,1,35,Jack screw extractor,P",


                  "HL_19,38,2,2,19,Jack screw extractor,PR",
                  "HL_23,46,2,2,23,Jack screw extractor,PR",
                  "HL_27,54,2,2,27,Jack screw extractor,PR",
                  "HL_31,62,2,2,31,Jack screw extractor,PR",
                  "HL_39,68,4,2,39,Jack screw extractor,PR",
                  "HL_35,60,4,2,35,Jack screw extractor,PR",
                  "HL_43,76,4,2,43,Jack screw extractor,PR",
                  "HL_47,84,4,2,47,Jack screw extractor,PR",
                  "HL_51,92,4,2,51,Jack screw extractor,PR",
                  "HL_55,100,4,2,55,Jack screw extractor,PR",

					// Plug only
                  "HM_19,38,2,2,19,Jack screw extractor,P",
                  "HM_23,46,2,2,23,Jack screw extractor,P",
                  "HM_27,54,2,2,27,Jack screw extractor,P",
                  "HM_31,62,2,2,31,Jack screw extractor,P",
                  "HM_39,68,4,2,39,Jack screw extractor,P",
                  "HM_35,60,4,2,35,Jack screw extractor,P",
                  "HM_43,76,4,2,43,Jack screw extractor,P",
                  "HM_47,84,4,2,47,Jack screw extractor,P",
                  "HM_51,92,4,2,51,Jack screw extractor,P",
                  "HM_55,100,4,2,55,Jack screw extractor,P",
				  
				  // Plug only
                  "HR_7,4,2,1,7,Jack screw extractor,P",
                  "HR_11,8,2,1,11,Jack screw extractor,P",
                  "HR_15,12,2,1,15,Jack screw extractor,P",
                  "HR_19,16,2,1,19,Jack screw extractor,P",
                  "HR_23,20,2,1,23,Jack screw extractor,P",
                  "HR_27,24,2,1,27,Jack screw extractor,P",
                  "HR_31,28,2,1,31,Jack screw extractor,P",
                  "HR_35,32,2,1,35,Jack screw extractor,P"
 				  
);


var frames_designation = new Array();
var frames_pitches = new Array();
var frames_length = new Array();
var frames_areas = new Array();
var frames_rows = new Array();
var frames_remark = new Array();
var frames_plug_recept = new Array();



//**********************************************************
// This function is called to reset global variables, to start a new drawing
//**********************************************************
function reset_gbl_vars()
{


// Arrays to memorise all html elements in the form
// ex: form = CELL element type input LENGTH value = 200
// --> forms_value["CELL"]["LENGTH"]=200
   forms_values = new Array();

}


//**********************************************************
// This function is called ONCE, to create global variables
//**********************************************************
function init_gbl_vars()
{


//       need_move_plus=false;
//      erased_right= new Array(0,0,0,0,0,0,0,0,0,0);
//      erased_left= new Array(0,0,0,0,0,0,0,0,0,0);

// Arrays to memorise modules definition (pitches)
	  for ( var i = 0; i< modules_def.length; i++)
	  {
         var val_array = modules_def[i].split(/\,/);
         if ( val_array.length == 0 ) {
            alert("ERROR in init_gbl_vars(): Bad value in modules_def["+i+"]="+modules_def[i]);
         }
         else
         {
            modules_width[val_array[0]]=val_array[1];
         }
     }


// Arrays to memorise frames definition
	  for ( var i = 0; i< frames_def.length; i++)
	  {
         var val_array = frames_def[i].split(/\,/);
         if ( val_array.length != 7 ) {
            alert("ERROR in init_gbl_vars(): Bad value in frames_def["+i+"]="+frames_def[i]);
         }
         else
         {
            frames_designation[i]=val_array[0];
            frames_pitches[val_array[0]]=convInt(val_array[1]);
            frames_areas[val_array[0]]=convInt(val_array[2]);
            frames_rows[val_array[0]]=convInt(val_array[3]);
            frames_length[val_array[0]]=convInt(val_array[4]);
            frames_remark[val_array[0]]=val_array[5];            
            frames_plug_recept[val_array[0]]=val_array[6];            
         }
     }

     //dump(frames_pitches);

// reset array that memorize form elements values
      forms_values = new Array();

}


