<?xml version="1.0" encoding="utf-8"?>
<!--
 *
 * Author(s): Aalap Doshi (aalapd@umich.edu)
 * 
 * Copyright 2008 Inter University Consortium for Social and Political Research, University of Michigan (http://www.icpsr.umich.edu/)
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 * 
 * The full text of the license is also available on the Internet at
 * http://www.gnu.org/copyleft/lesser.html
 *
 *-->
 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" borderColor="#FAFAFB" borderStyle="outset" color="#000000" horizontalAlign="left" viewSourceURL="srcview/index.html" currentState="Welcome" xmlns:ns1="com.dougmccune.controls.*"  creationComplete="initCollections()">
<mx:Style source="/Users/aalapd/Documents/ICPSR/workspace_7_23/DDI_Web_7_23/assets/customStyle.css" />
<mx:Script>
            <![CDATA[
            import mx.messaging.AbstractConsumer;       
            import mx.managers.PopUpManager;
            import mx.containers.TitleWindow;
            import flash.geom.Point;
            import mx.collections.ArrayCollection;
            import mx.collections.XMLListCollection;    
            import mx.controls.Alert;
            import mx.events.MenuEvent;
            import mx.utils.StringUtil;
            import mx.validators.Validator;
            import mx.events.ValidationResultEvent;
            import mx.events.ToolTipEvent;
            import mx.managers.ToolTipManager;
            import mx.controls.ToolTip;
             import mx.collections.SortField;
            import mx.collections.Sort;
            import mx.events.IndexChangedEvent;
            import flash.net.FileReference; 
                      
            private var point1:Point = new Point();
            public var selectedItem:Object;     
            private var j:uint=0;
            public var InstanceID:String;
            public var varTopLevelReference:String;
            public var varLowerLevelReference:String; 
            import mx.events.CloseEvent;
              
                [Bindable]
            private var ConceptRoot:XML =
              <list>                                        
              </list>;
              
            [Bindable]
            private var ConceptFeedback:XMLListCollection = 
                new XMLListCollection(ConceptRoot.list);
                
              //data provider/collector for 'Concepts in this group' Data
              [Bindable]
              private var ConceptsInThisGroup:ArrayCollection = new ArrayCollection();

              

              //data provider/collector for CodeValue Data
              [Bindable]
              private var CodeValueData:ArrayCollection = new ArrayCollection();
              
                //copy of CodeValueData required in data production phase
              [Bindable]
              private var CodeValueData2:ArrayCollection = new ArrayCollection();
              
              //data provider/collector for TranslatedCodeValueData
              [Bindable]
              private var CodeValueData0:ArrayCollection = new ArrayCollection();
              
              [Bindable]
              private var arrCollConcepts:ArrayCollection = new ArrayCollection();
              
              //data provider/vollector for Value Representation Code
            [Bindable]
              private var ValueRepresentationTypeCode:ArrayCollection = new ArrayCollection();
            
            //data provider for Variable List Box
              [Bindable]
              private var VariablesList:ArrayCollection = new ArrayCollection();
              
              [Bindable]
              //private var ConceptFeedback:XMLListCollection = new XMLListCollection();
            
            //data provider for variable position name in physical data description
            [Bindable]
            public var VarPositionName: Array = [ {label:"VOTEPRES", data:1}, 
                {label:"RELIGATT", data:2}, {label:"RELIGORG", data:3}];
            [Bindable]
            
            [Bindable]
            public var arrNumeric: Array = new Array;
            [Bindable]
            
            //data provider for arrNumericType
            [Bindable]
            public var arrNumericType: Array = [ {label:"Integer", data:1}, 
                {label:"BigInteger", data:2}, {label:"Long", data:3}, {label:"Short", data:4}, {label:"Decimal", data:5}, {label:"Float", data:6}, {label:"Double", data:7}, {label:"Count", data:8}, {label:"Incremental", data:9}];
            [Bindable]
            
            //data provider for day
              [Bindable]
            public var day: Array = [ {label:"01", data:01}, 
                {label:"02", data:02}, {label:"03", data:03}, {label:"04", data:04}, {label:"05", data:05}, {label:"06", data:06}, {label:"07", data:07}, {label:"08", data:08}, {label:"09", data:09}, {label:"10", data:10},{label:"11", data:11},{label:"12", data:12},{label:"13", data:13},{label:"14", data:14},{label:"15", data:15},{label:"16", data:16},{label:"17", data:17},{label:"18", data:18},{label:"19", data:19},{label:"20", data:20},{label:"21", data:21},{label:"22", data:18},{label:"23", data:23},{label:"24", data:24},{label:"25", data:25},{label:"26", data:26},{label:"27", data:27},{label:"28", data:28},{label:"29", data:29},{label:"30", data:30},{label:"31", data:31},{label:" ", data:99} ];
            [Bindable]
            
            //data provider for month
              [Bindable]
            public var month: Array = [ {label:"Jan", data:"01"}, 
                {label:"Feb", data:"02"}, {label:"March", data:"03"}, {label:"Apr", data:"04"}, {label:"May", data:"05"}, {label:"June", data:"06"}, {label:"July", data:"07"}, {label:"Aug", data:"08"}, {label:"Sep", data:"09"}, {label:"Oct", data:"10"},{label:"Nov", data:"11"},{label:"Dec", data:"12"},{label:" ", data:99} ];
            [Bindable]
            
            //data provider for year
              [Bindable]
            public var year: Array = [{label:"2009", data:0}, {label:"2008", data:1}, 
                {label:"2007", data:2}, {label:"2006", data:3}, {label:"2005", data:4}, {label:"", data:5} ];
            [Bindable]
            
            //data provider for mode of collection
              [Bindable]
            public var ModeOfCollection: Array = [ {label:"--", data:0},{label:"Face To Face Interview", data:1}, 
                {label:"Telephone Interview", data:2}, {label:"E-mail Interview", data:3}, {label:"CATI", data:4}, {label:"CAPI", data:5}, {label:"Paper Pencil Self-Completed Questionnaire", data:6}, {label:"Web Based Self-Completed Questionnaire", data:7}, {label:"CASI", data:8}, {label:"ACASI", data:9}, {label:"Coding", data:10},{label:"Transcription", data:11},{label:"Compilation", data:12},{label:"Synthesis", data:13},{label:"Recording", data:14},{label:"Simulation", data:15},{label:"Observation", data:16},{label:"Experiments", data:17},{label:"Focus Group", data:18} ];
            [Bindable]
                                          
              //data provider for variable value representation
              [Bindable]
            public var valueRepresentation: Array = [ {label:"Code", data:1},{label:"Numeric", data:2}];
            [Bindable]
              
            //data provider for Universe
            [Bindable]
            public var Universe: Array = [{label:"Study Population", data:1},{label:"--------------", data:0},{label:"New", data:99}];              
            [Bindable]

                        
            [Bindable]
            public var arrConcepts: Array = new Array;
            [Bindable]

            
            //data provider for languages
            [Bindable]
            public var languages: Array = [ {label:"en", data:"en"}, 
                {label:"es", data:"es"}, {label:"fr", data:"fr"}, {label:" ", data:" "}];
            [Bindable]
            
            //data provider for question response type
            [Bindable]
            public var questionResponse: Array = [ {label:"Code", data:0}, 
                 {label:"Category", data:1},{label:"Numeric", data:2}];
            [Bindable]
            
            //data provider for char set  in data production
            [Bindable]
            public var CharSet: Array = [ {label:"ASCII", data:1}, 
                {label:"EBCDIC", data:2}, {label:"UTF-8", data:3}, {label:"Unspecified", data:4}, {label:"", data:5}];
            [Bindable]
            
            public var PIcounter3:int = 0;
            //selected item for Study Concepts - responsibility
            public var selectedItem1:Object;
            //XML elements
            public var DDIInstanceXML:XML,StudyUnitXML:XML,CitationXML:XML,ConceptualComponentXML:XML,GeographicStructureSchemeXML:XML,GeographicStructureXML:XML,GeographyXML:XML;
            
            public var timestamp:int
            public var arrPIIndividual3,arrPIOrganization3Supplier:Array;
            public var arrVarQs: Array = new Array;            
            public var arrVariables:Array = new Array;
            public var arrVarPosition:Array = new Array;
              public var arrQuestions:Array = new Array,arrCatScheme:Array = new Array,arrCodeScheme:Array=new Array;
            public var CodeRef:int=0,varCatRef:int=0;
            [Bindable]
            public var arrCollPIIndividual3:ArrayCollection;
            [Bindable]
            public var arrCollPIOrganization3Supplier:ArrayCollection;
            
            public var menuBarXML:XMLList = 
            <>
                <menuitem label="Open" >
                    <menuitem label="Open New Study" data="OpenNew" />
                    <menuitem label="Open Existing Study" data="OpenExisting" />
                </menuitem>
                <menuitem label="Save">
                    <menuitem label="Save" data="Save" />
                    <menuitem label="Save As" data="SaveAs" />
                </menuitem>
                <menuitem label="Back" >
                    <menuitem label="..to Welcome Screen" data="Welcome" />
                </menuitem>
                <menuitem label="Exit">
                    <menuitem label="Exit DDI Transformer" data="Exit" />
                </menuitem>
            </>;  
             
            [Bindable]
            public var menuBarCollection:XMLListCollection;
            
            
              // Event handler to initialize the MenuBar control.
            private function initCollections():void {
                arrPIIndividual3 = new Array;
                arrPIOrganization3Supplier = new Array;
                menuBarCollection = new XMLListCollection(menuBarXML);
                arrCollPIIndividual3 = new ArrayCollection(arrPIIndividual3);                
                arrCollPIOrganization3Supplier = new ArrayCollection(arrPIOrganization3Supplier);
                cmbM20 = 0;cmbM21 = 0;cmbM22 = 0;cmbD20 = 0;cmbD21 = 0;cmbD22 = 0;cmbM17 = 0;cmbM18 = 0;cmbM19 = 0;cmbD17 = 0;cmbD18 = 0;cmbD19 = 0;cmbM11 = 0;cmbM12 = 0;cmbM13 = 0;cmbD11 = 0;cmbD12 = 0;cmbD13 = 0;cmbM14 = 0;cmbM15 = 0;cmbM16 = 0;cmbD14 = 0;cmbD15 = 0;cmbD16 = 0;cmbM8 = 0;cmbM9 = 0;cmbM10 = 0;cmbD8 = 0;cmbD9 = 0;cmbD10 = 0;cmbM2 = 0;cmbM3 = 0;cmbM4 = 0;cmbD2 = 0;cmbD3 = 0;cmbD4 = 0;cmbM5 = 0;cmbM6 = 0;cmbM7 = 0;cmbD5 = 0;cmbD6 = 0;cmbD7 = 0;cmbD23 = 0;cmbM23 = 0 ;cmbM = 0;cmbM0 = 0;cmbM1 = 0;cmbD = 0;cmbD0 = 0;cmbD1 = 0;
                cmbY20 = "2009";cmbY21 = "2009";cmbY22 = "2009"; cmbY17 = "2009";cmbY18 = "2009";cmbY19 = "2009"; cmbY11 = "2009";cmbY12 = "2009";cmbY13 = "2009"; cmbY14 = "2009";cmbY15 = "2009";cmbY16 = "2009"; cmbY8 = "2009";cmbY9 = "2009";cmbY10 = "2009"; cmbY2 = "2009";cmbY3 = "2009";cmbY4 = "2009"; cmbY5 = "2009";cmbY6 = "2009";cmbY7 = "2009";cmbY23 = "2009"; cmbY = "2009";cmbY0 = "2009";cmbY1 = "2009";                
                arrCollPIOrganization3Supplier.addItem({OrgName:"New",Include:false, CreatorInclude:false,TimeStamp:100});               
                arrCollPIOrganization3Supplier.addItem({OrgName:"-------------------------------------",Include:false, CreatorInclude:false,TimeStamp:100});                
                arrCollPIIndividual3.addItem({fullName:"New", Include:false,TimeStamp:100});
                arrCollPIIndividual3.addItem({fullName:"-------------------------------------", Include:false,TimeStamp:100});
                timestamp=0;         
                cmbFullName5.selectedIndex = 0;     
                arrQuestions.push({label:"", LabelLang:"", ResponseType:"",ConceptRef:"",CodeSchemeRef:"",Length:"",TransQText:"",TransLan:""});
                
                //for file-downloading                     
                 /* Define file reference object and add a bunch of event listeners. */
                fileRef = new FileReference();
                fileRef.addEventListener(Event.CANCEL, doEvent);
                fileRef.addEventListener(Event.COMPLETE, doEvent);
                fileRef.addEventListener(Event.OPEN, doEvent);
                fileRef.addEventListener(Event.SELECT, doEvent);
                fileRef.addEventListener(HTTPStatusEvent.HTTP_STATUS, doEvent);
                fileRef.addEventListener(IOErrorEvent.IO_ERROR, doEvent);
                fileRef.addEventListener(ProgressEvent.PROGRESS, doEvent);
                fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, doEvent);
                
                   refreshdgCodeValue2();

            }
            private function refreshAll()
            {
                //initializing array collections
                initCollections();
                
                 //initializing the controls
                rdbSingle0.selected = false;
                rdbRange0.selected = false;
                canRange0.visible = false;
               
                btnDateBack0.visible = false;
                cmbMonth0.selectedIndex = 0;
                cmbDate0.selectedIndex = 0;
                 cmbYear0.selectedIndex = 0
                 cmbMonth1.selectedIndex = 0;
                 cmbDate1.selectedIndex = 0;
                 cmbYear1.selectedIndex = 0;
                 canSingleDate0.visible = false;
                 cmbMonth.selectedIndex = 0;
                 cmbYear.selectedIndex = 0;
                 cmbDate.selectedIndex = 0;
                 rdbIndividual3.selected = false;
                 rdbIndividual3.visible = true;
                 rdbOrganization3.selected = false;
                 rdbOrganization3.visible = true;
                 canOrganization3.visible = false;
                 canIndividual3.visible = false;
                 cmbOrgName6.enabled = true;
                 txtOrgName6.text = "";
                 txtOrgName6.enabled = false;         
                 txtAbbrev6.text = "";
                 txtAbbrev6.enabled=false;
                 txtStreetAdd6.text="";
                 txtStreetAdd6.enabled = false;
                 txtCity6.text="";
                 txtCity6.enabled = false;
                 txtState6.text="";
                 txtState6.enabled = false;
                 txtCountry6.text="";
                 txtCountry6.enabled = false;
                 btnEditOrgInfo6.enabled = false;
                 btnDelOrg6.enabled = false;
                 btnAnotherPI3.visible = false;
                 btnPIBack.visible=false; 
                 cmbFullName5.selectedIndex = 0;
                 cmbFullName5.enabled = true;
                 btnEditIndDone.visible = false;
                 btnEditIndCancel.visible = false;
                 btnEditOrgDone6.visible = false;
                 btnEditOrgCancel6.visible = false;                 
                 btnEditIndInfo.enabled = false;
                 btnIndDel.enabled = false;
                 btnEditIndInfo.visible = true;
                 btnEditOrgInfo.visible = true;
                 btnEditOrgInfo6.visible = true;
                 btnDelOrg6.visible = true;
                 txtFName5.text = "";
                 txtLName5.text = "";
                 txtMName5.text = "";
                 txtPosition5.text = "";
                 cmbOrgName5.selectedIndex = 0;
                 btnEditOrgInfo.enabled = false;
                 btnOrgDel5.enabled = false;
                 txtOrgName5.text = "";
                 txtAbbrev5.text = "";
                 txtStreetAdd5.text = "";
                 txtState5.text="";
                 txtCity5.text = "";
                 txtCountry5.text = "";
                 btnEditOrgDone.visible = false;
                 btnEditOrgCancel.visible = false;
                 txtResearchQs.text = "";
                 txtStudyTitle.text= "";
                 txtSpatialCoverage.text = "";
                 chkCity.selected = false;
                 chkCounty.selected = false;
                 chkState.selected = false;
                 chkNation.selected = false;
                 chkRegion.selected = false;
                 txtGeoCity.text="";
                 txtGeoCounty.text = "";
                 txtGeoState.text="";
                 txtGeoNation.text="";
                 txtGeoRegion.text="";
                 txtStudyPopulation.text="";
                 
                 currentState = 'Study Funding'
                 currentState='Welcome'
                 //Study Funding

                 btnDateBack20.visible = false;
                 rdbSingle20.selected = false;
                 rdbRange20.selected = false;
                 cmbMonth20.selectedIndex = 0;
                 cmbDate20.selectedIndex=0;
                 cmbYear20.selectedIndex = 0;
                 canSingle20.visible = false;
                 canRange20.visible = false;
                 cmbMonth21.selectedIndex = 0;
                 cmbDate21.selectedIndex=0;
                 cmbYear21.selectedIndex = 0;
                 cmbMonth22.selectedIndex = 0;
                 cmbDate22.selectedIndex=0;
                 cmbYear22.selectedIndex = 0;
  
                 
                 //setting the progress bar to base state 
                 bar.setProgress(0,100);                                                                       
                 
            }
     
         private function reloadApplication()
         {
             var urlRequest:URLRequest = new URLRequest(Application.application.url);
            navigateToURL(urlRequest,"_self");
         }
         
         private function alertListener6(eventObj:CloseEvent):void 
             {
                var temp:int
                // Check to see if the OK button was pressed.
                if (eventObj.detail==Alert.OK) 
                {

                        if(currentState=='Study Proposal')
                        {
                                arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].Creator = false;
                                arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].StudyProposal = false;    
                        }
                        else if(currentState=='Study Funding')
                        {                                                       
                                arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].FundingAgency = false;
                        }
                        else if(currentState=='Study Concepts')
                        {                                                       
                                arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].StudyConcepts = false;
                        }
                        else if(currentState=='Questions')
                        {                                                       
                                arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].QsDesign = false;
                        }
                        else if(currentState=='QuestionsClone')
                        {                                                       
                                arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].QsTranslation = false;
                        }
                        cmbOrgName6.selectedIndex = 0;
                        cmbOrgName6Clicked();
                }
            }            
        
         private function alertListener5(eventObj:CloseEvent):void 
             {
               
                var temp:int;
                // Check to see if the OK button was pressed.
                if (eventObj.detail==Alert.OK) 
                {
                    for(var i:int=2;i<arrCollPIIndividual3.length;i++)
                        {
                            //if organization is referenced somewhere.
                            if(arrCollPIIndividual3[i].OrgIndex == cmbOrgName5.selectedIndex)
                            {
                                temp=i;
                                i=99;
                                break;
                            }
                        }
                    //if temp == selectedindex then delete else raise alert...                    
                    if(temp==arrCollPIIndividual3[cmbFullName5.selectedIndex].OrgIndex)
                    {
                    //adjusting OrgIndex
                    for(i=temp;i<arrCollPIIndividual3.length;i++)
                        {
                            //arrCollPIIndividual3[i].OrgIndex = arrCollPIIndividual3[i].OrgIndex - 1;
                            arrCollPIIndividual3[i].OrgIndex = -1;                                 
                        }
                    //delete organization entry
                    //    arrCollPIOrganization3Supplier.removeItemAt(cmbOrgName6.selectedIndex);
                        cmbOrgName5.selectedIndex = 0;
                        cmbOrgName5Clicked();
                    }
                    else
                    {
                        Alert.show("This organization is not affiliated with this individual and cannot be deleted.","Alert!");
                    }
                }
            }  
                

            
              /*private function alertListenerIndividual(eventObj:CloseEvent):void
            {
                var temp:int;
                if (eventObj.detail==Alert.YES) 
                {
                          //delete individual
                          arrCollPIIndividual3.removeItemAt(cmbFullName5.selectedIndex);
                        cmbFullName5.selectedIndex = 0;
                        cmbFullName5Clicked();
                        Alert.show("Individual has been deleted successfully.","Alert"); 
                }                          
            }*/
            
            private function alertListenerIndividual(eventObj:CloseEvent):void
            {
                var temp:int;
                if (eventObj.detail==Alert.YES) 
                {
                          //delete individual
                          if(currentState=='Study Proposal')
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal = false;
                          else if(currentState == 'Study Funding')    
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency = false;
                          else if(currentState == 'Study Concepts')    
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyConcepts = false;
                          else if(currentState == 'Questions')    
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].QsDesign = false;
                          else if(currentState == 'QuestionsClone')    
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].QsTranslation = false;            
                        cmbFullName5.selectedIndex = 0;
                        cmbFullName5Clicked();
                        Alert.show("Individual has been deleted from current stage successfully.","Alert"); 
                }                          
            }
            
            //flag to show if we are in edit mode or not
            //var editConceptGroupFlag:Boolean = false; 
            private function TreeitemClickEvt(event):void
            {   
                
                var node:XML = XML(event.currentTarget.selectedItem);
                
                if( node == null ) 
                {
                    txtConceptGroup.text ="";
                    for(var k:int =0;k<arrCollConcepts.length;k++)
                        {                                                                     
                            arrCollConcepts[k].grpInclude = false;                                                                    
                        }
                    return;    
                    
                }
                if( node.localName() == "ConceptGroup" )
                {                            
                    AddConcepts();
                    canConcepts.visible = false;
                    canConceptGroup.visible=true;
                    btnNewConceptGroup0.label = "Edit Group";
                    //initializing the datagrid comboxes all to false
                    for(var k:int =0;k<arrCollConcepts.length;k++)
                        {                                                                     
                            arrCollConcepts[k].grpInclude = false;                                                                    
                        }
                                                    
                    //doing what needs to be done with the selected item                        
                    txtConceptGroup.text = event.currentTarget.selectedItem.@name;
                    var ConceptGroupList:XMLList = ConceptGroupListXML.children()[1].children();
                    for(var i:int = 0;i<ConceptGroupList.length();i++)
                    {                    
                        
                        if(ConceptGroupList[i].@id == event.currentTarget.selectedItem.@id)
                        {
                            var temp:XMLList = ConceptGroupList[i].children();
                            for(var j:int=0;j<temp.length();j++)
                            {                                                        
                                for(var k:int =0;k<arrCollConcepts.length;k++)
                                {
                                    if(arrCollConcepts[k].label == temp[j].@label)
                                        {                                        
                                            arrCollConcepts[k].grpInclude = true;
                                        }                                    
                                }
                            }
                            //we are in edit mode so set edit mode flag
                            //editConceptGroupFlag = true;                        
                            break;        
                        }
                    }
                    arrCollConcepts.refresh();
                  }
                  else if( node.localName() == "Concepts" || node.localName() == "Concept" )
                  {
                      txtConceptGroup.text = "";
                      canConcepts.visible = true;
                    canConceptGroup.visible=false;
                    
                    for(var i:int = 0;i<arrConcepts.length;i++)
                    {
                        if(node.@label == arrConcepts[i].label)
                        {                            
                            lstConcepts.selectedIndex = i;
                            break;
                        }    
                    }
                  }
                  else if(node.localName() == "ConceptGroups")
                  {
                      AddConcepts();
                      btnNewConceptGroup0.label = "Add Group";    
                      for(var k:int =0;k<arrCollConcepts.length;k++)
                        {                                                                     
                            arrCollConcepts[k].grpInclude = false;                                                                    
                        }
                                                    
                    //doing what needs to be done with the selected item                        
                    txtConceptGroup.text = "";
                    canConcepts.visible = false;
                    canConceptGroup.visible=true;
                    arrCollConcepts.refresh();
                  }
            }
            
            //deleting an individual
            public function delInd():void
            {
                
                
                if(currentState=='Study Proposal')
                {
                    //if only in Study Proposal
                    if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == true )
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                        
                    }
                    else
                    {
                        Alert.show("This individual is not present in this stage. Please delete it from the stage that it is present in.","Alert");
                    }
                    //if any other stage and not in Study Proposal
                    /*else if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == false && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == true)
                    {
                        Alert.show("This individual is present in one/more of the other stages. Please delete it from the stage that you want to delete it from.","Alert");    
                    }
                    //if in Study Proposal and any of the other stages
                    else if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == true && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == true)
                    {
                        Alert.show("This individual is present in one/more of the other stages. Deleting this individual will delete it from this stage only. Are you sure you wish to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividualMany, null, Alert.NO);
                    }
                    else if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == false && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == false)
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                    }*/
                }    
                else if(currentState=='Study Funding')
                {
                    //if only in Study Proposal
                    if(arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == true )
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                        
                    }
                    else
                    {
                        Alert.show("This individual is not present in this stage. Please delete it from the stage that it is present in.","Alert");
                    }
                    
                    /*if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == false && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == true)
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                        
                    }
                    //if any other stage and not in Study Proposal
                    else if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == true && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == false)
                    {
                        Alert.show("This individual is present in one/more of the other stages. Please delete it from the stage that you wish to delete it from.","Alert");    
                    }
                    //if in Study Proposal and any of the other stages
                    else if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == true && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == true)
                    {
                        Alert.show("This individual is present in one/more of the other stages. Deleting this individual will delete it from this stage only. Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividualMany, null, Alert.NO);
                    }
                    else if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyProposal == false && arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency == false)
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                    }*/
                }    
                else if(currentState=='Study Concepts')
                {
                    //if only in Study Proposal
                    if(arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyConcepts == true )
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                        
                    }
                    else
                    {
                        Alert.show("This individual is not present in this stage. Please delete it from the stage that it is present in.","Alert");
                    }
                }
                else if(currentState=='Questions')
                {
                    //if only in Study Proposal
                    if(arrCollPIIndividual3[cmbFullName5.selectedIndex].QsDesign == true )
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                        
                    }
                    else
                    {
                        Alert.show("This individual is not present in this stage. Please delete it from the stage that it is present in.","Alert");
                    }
                }
                else if(currentState=='QuestionsClone')
                {
                    //if only in Study Proposal
                    if(arrCollPIIndividual3[cmbFullName5.selectedIndex].QsTranslation == true )
                    {
                        Alert.show("Are you sure you want to delete this individual?","Alert",Alert.YES | Alert.NO, this,alertListenerIndividual, null, Alert.NO);
                        
                    }
                    else
                    {
                        Alert.show("This individual is not present in this stage. Please delete it from the stage that it is present in.","Alert");
                    }
                }
            }
            
            public function delOrg(cmbBox:ComboBox)
            {
                var flag:Boolean=true;

                    if(cmbBox.id == "cmbOrgName6")
                    {
                        if(currentState=='Study Proposal')
                        {
                            if(arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].StudyProposal != true)
                            {
                                Alert.show("This organization is not present in this stage.","Alert!");
                                flag=false;
                            }
                        }    
                        else if(currentState=='Study Funding')
                        {
                            if(arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].FundingAgency != true)
                            {
                                Alert.show("This organization is not present in this stage.","Alert!");
                                flag=false;
                            }
                        }
                        else if(currentState=='Study Concepts')
                        {
                            if(arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].StudyConcepts != true)
                            {
                                Alert.show("This organization is not present in this stage.","Alert!");
                                flag=false;
                            }
                        }
                        else if(currentState=='Questions')
                        {
                            if(arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].QsDesign != true)
                            {
                                Alert.show("This organization is not present in this stage.","Alert!");
                                flag=false;
                            }
                        }
                        else if(currentState=='QuestionsClone')
                        {
                            if(arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].QsTranslation != true)
                            {
                                Alert.show("This organization is not present in this stage.","Alert!");
                                flag=false;
                            }
                        }
                        if(flag==true)
                            Alert.show("Organization will be deleted from this stage only. It will continue to appear in the list of organizations for future use.", "Alert",Alert.OK | Alert.CANCEL, this,alertListener6, null, Alert.OK);
                    }        
                    else    
                        Alert.show("Deleting this organization will remove the affiliation to the individual. ", "Alert",Alert.OK | Alert.CANCEL, this,alertListener5, null, Alert.OK);
                          
            }
           
            public function initializeApp():void
            {
                application.initialize();
            }
 
               
               //function to reflect selections on Translated Questions combobox
               public function QuestionSelected(event:Event):void
               {
                   selectedItem1=ComboBox(event.target).selectedItem;
                   var selectedIndex1=ComboBox(event.target).selectedIndex;
                   
                   //get length of Code/Category Scheme
                   var CodeCatLength = arrQuestions[selectedIndex1].Length;
                   //get index into Code/Category arrays
                   var CodeCatRef = arrQuestions[selectedIndex1].CodeSchemeRef;
                   //refresh Translated Question Text and set Language of Translation to default
                   //clear CodeValueData of 
                   refreshdgCodeValue();
                   //reflecting Code value and Label fields in the datagrid based on the selected question
                   txtTransQsText.text = arrQuestions[selectedIndex1].TransQText;
                   for(var i=0;i<CodeCatLength;i++)
                   {
                           
                           CodeValueData[i].value = arrCodeScheme[CodeCatRef + i].Value;
                           CodeValueData[i].label = arrCatScheme[CodeCatRef + i].Label; 
                           CodeValueData[i].transLang = arrCatScheme[CodeCatRef + i].TransLang;
                           CodeValueData[i].transLabel = arrCatScheme[CodeCatRef + i].TransLabel;
                           //you should also display translabel and transLang
                        
                   }             
               filldgCodeValue2();                        
               }
               
               //function to reflect selections on variable Questions combobox
               public function QuestionSelected2(event:Event):void
               {
                   selectedItem1=ComboBox(event.target).selectedItem;
                   var selectedIndex1=ComboBox(event.target).selectedIndex;
                   
                   //get length of Code/Category Scheme
                   var CodeCatLength = arrQuestions[selectedIndex1].Length;
                   //get index into Code/Category arrays
                   var CodeCatRef = arrQuestions[selectedIndex1].CodeSchemeRef;
                   //refresh Translated Question Text and set Language of Translation to default
                   //clear CodeValueData of 
                   refreshdgCodeValue2();
                   //reflecting Code value and Label fields in the datagrid based on the selected question
                   if(selectedIndex1 == 0)
                   {
                        for(var i=0;i<100;i++)
                       {                           
                               CodeValueData2[i].value = "";
                               CodeValueData2[i].label = ""; 
                               CodeValueData2[i].missing = false;                             
                               //you should also display translabel and transLan                        
                       }    
                   }
                   else
                   {
                           for(var i=0;i<CodeCatLength;i++)
                           {
                               
                               CodeValueData2[i].value = arrCodeScheme[CodeCatRef + i].Value;
                               CodeValueData2[i].label = arrCatScheme[CodeCatRef + i].Label; 
                               CodeValueData2[i].missing = false;                             
                               //you should also display translabel and transLan                        
                           }
                   }                                                    
               }

               //function to add Translated Question and Translated Category values to arrQuestions
               public function anotherTransQuestion()
               {                   
                   
                       //get index of Questin selected
                       var selectedIndex = cmbQuestion.selectedIndex;
                       //adding Translated Question text and language
                        arrQuestions[selectedIndex].TransQText = txtTransQsText.text;
                        arrQuestions[selectedIndex].TransLan = cmbTransLanguage.text;
                       //writing translated code and category values to corresponding data structures 
                       //get length of Code/Category Scheme
                       var CodeCatLength = arrQuestions[selectedIndex].Length;
                    //get index into Code/Category arrays
                    var CodeCatRef = arrQuestions[selectedIndex].CodeSchemeRef;
                    
                    for(var i=0;i<CodeCatLength;i++)
                       {
                               //txtTransQsText.text = CodeValueData[i].transLang;
                               arrCatScheme[CodeCatRef + i].TransLang = CodeValueData[i].transLang;
                               arrCatScheme[CodeCatRef + i].TransLabel = CodeValueData[i].transLabel; 
                            
                       }
                       
                       
                    //refresh Translated Questions bar
                    
                       var selectedIndex1=0;
                       
                       //get length of Code/Category Scheme
                       var CodeCatLength = arrQuestions[selectedIndex1].Length;
                       //get index into Code/Category arrays
                       var CodeCatRef = arrQuestions[selectedIndex1].CodeSchemeRef;
                       //refresh Translated Question Text and set Language of Translation to default
                       //clear CodeValueData of 
                       refreshdgCodeValue();
                       //reflecting Code value and Label fields in the datagrid based on the selected question
                       for(var i=0;i<CodeCatLength;i++)
                       {
                               
                               CodeValueData[i].value = arrCodeScheme[CodeCatRef + i].Value;
                               CodeValueData[i].label = arrCatScheme[CodeCatRef + i].Label; 
                               CodeValueData[i].transLabel = arrCatScheme[CodeCatRef + i].TransLabel; 
                               CodeValueData[i].transLang = arrCatScheme[CodeCatRef + i].TransLang;  
                               //you should also display translabel and transLang
                            
                       }
                    //if(cmbQuestion.text != "")
                       //{
                       txtTransQsText.text = "";
                           Alert.show("Translated Question has been saved.","Translated Question Saved.");    
                           
               }
               
            
            //varPosIndex holds the current index into the VarPosition array
            var varPosIndex:int = 0;
            public function anotherVarPos():void
            {
                //If variable already has a variable position associated with it, just update the changes.              
                if(arrVariables[cmbVarPositionName.selectedIndex].VarPos != -1)
                {
                    arrVarPosition[arrVariables[cmbVarPositionName.selectedIndex].VarPos].StartPos =  txtStartingPos.text;
                    arrVarPosition[arrVariables[cmbVarPositionName.selectedIndex].VarPos].EndPos =  txtEndPos.text;
                    arrVarPosition[arrVariables[cmbVarPositionName.selectedIndex].VarPos].Width =  txtWidth.text;                 
                    
                }
                //else insert the variable position fields into arrVarPosition                
                else
                {
                
                arrVarPosition.push({Variable:cmbVarPositionName.selectedIndex,Width:txtWidth.text,StartPos:txtStartingPos.text,EndPos:txtEndPos.text});
                arrVariables[cmbVarPositionName.selectedIndex].VarPos = varPosIndex;
                varPosIndex++;
                }
                //resetting the variable position fields 
                txtStartingPos.text = "";
                txtWidth.text = "";
                txtEndPos.text = "";
                cmbVarPositionName.selectedIndex=0;
                cmbCharSet.selectedIndex=0;
                
                
            } 
            
            public function VarPositionNameClicked(event)
            {
                   
                   var selectedIndex1:int =ComboBox(event.target).selectedIndex;
                   
                   if(arrVariables[selectedIndex1].VarPos != -1)
                   {
                    txtStartingPos.text = arrVarPosition[arrVariables[selectedIndex1].VarPos].StartPos;
                    txtWidth.text = arrVarPosition[arrVariables[selectedIndex1].VarPos].Width;
                    txtEndPos.text = arrVarPosition[arrVariables[selectedIndex1].VarPos].EndPos;                                        
                }
                else
                {
                    txtStartingPos.text = "";
                    txtWidth.text = "";
                    txtEndPos.text = "";
                }
                
            }
                      
              
               
               public function anotherQuestion():void
               {
                   var varConcept:int = 0;
                   if(txtQsText.text != "")
                   {
                            
                        if(cmbConcept.text == "")
                           {
                               varConcept = -1;
                           }
                           else
                           {
                               varConcept = cmbConcept.selectedIndex;
                           }
                               
                        //adding question fields to their respective fields/arrays
                       if(cmbQsResponse.text=="Code")
                       {    
                               for(var i:int=0;i<CodeValueData.length;i++)
                               {
                                   if(CodeValueData[i].value!="")
                                   {
                                       arrCatScheme.push({Lang:CodeValueData[i].originalLanguage,Label:CodeValueData[i].label,TransLang:" ",TransLabel:" "});
                                       arrCodeScheme.push({Value:CodeValueData[i].value,CatRef:varCatRef});
                                       varCatRef++;    
                                   }
                                   else
                                       break;
                               }
                               
                            arrQuestions.push({label:txtQsText.text, LabelLang:cmbOriginalLanguage.text, ResponseType:"Code",ConceptRef:varConcept,CodeSchemeRef:CodeRef,Length:i,TransQText:" ",TransLan:" ",NumericIndex:NumericCounter});
                            CodeRef=CodeRef+i;                       
                       }    
                       
                       else if(cmbQsResponse.text=="Numeric")
                       {
                           
                               arrNumeric.push({Type:cmbNumericType.text,Low:txtNumericLow.text,High:txtNumericHigh.text});    
                               NumericCounter++ ;
                               arrQuestions.push({label:txtQsText.text, LabelLang:cmbOriginalLanguage.text, ResponseType:"Numeric",ConceptRef:varConcept,CodeSchemeRef:-1,Length:0,TransQText:" ",TransLan:" ",NumericIndex:NumericCounter});
                       }
                                                      
                       else if(cmbQsResponse.text=="Category")
                       {
                               for(var i:int=0;i<CodeValueData.length;i++)
                               {    
                                   if(CodeValueData[i].label!="")
                                   {
                                       arrCatScheme.push({Lang:CodeValueData[i].originalLanguage,Label:CodeValueData[i].label,TransLang:" ",TransLabel:" "});
                                       arrCodeScheme.push({Value:"",CatRef:varCatRef});
                                       varCatRef++;    
                                   }
                                   else
                                       break;
                               }
                               
                        arrQuestions.push({label:txtQsText.text, LabelLang:cmbOriginalLanguage.text, ResponseType:"Category",ConceptRef:varConcept,CodeSchemeRef:CodeRef,Length:i,TransQText:" ",TransLan:" "});
                        CodeRef=CodeRef+i;
                        
                       }
                   cmbQsResponse.selectedIndex = 0;                                                     
                   Alert.show("Question has been saved.","Question Saved.");
                   }    
                                       
                   //housekeeping
                   cmbConcept.selectedIndex = 0;
                   txtQsText.text="";
                   txtTransQsText.text="";
                   cmbOriginalLanguage.selectedIndex=0;
                   cmbTransLanguage.selectedIndex=0;
                   initdgCodeValue();
                   cmbQsResponse.selectedIndex = 0;
                   dgCodeValue.visible = true;
                   dgCodeValue0.visible = false;   
                   canNumeric.visible = false;                
                   cmbNumericType.selectedIndex = 0;
                   txtNumericLow.text = "";
                   txtNumericHigh.text = "";
                   
               }
               
            //to change state on radio buttons 
            public function stateChange(stage:String,statusNo:int):void
           {
                /*if(stage=="") 
                    radiobutton1.selected = true;
                else if (stage == "Study Funding")
                    radiobutton2.selected = true;
                else if (stage == "Study Concepts")
                    radiobutton3.selected = true;
                else if (stage == "Questions")
                    radiobutton4.selected = true;
                else if (stage == "Data Production")
                    radiobutton5.selected = true;
                else if (stage == "Data Collection")*/
                    radiobutton6.selected = true;                            
                currentState=stage;
                bar.setProgress(statusNo,100);
            }
             
           var ConceptGroupListXML:XML = <ConceptGroupList />;
           var ConceptsXML:XML = <Concepts />;
           var ConceptGroupsXML:XML = <ConceptGroups />;
           var ConceptGroupID:int = 0;
           //grouping already entered concepts
           public function AddConceptGroup()
           {
                //flag to see if Concept Group already present               
                   var alreadyPresent:Boolean = false;
                   var ConceptGroupList:XMLList = ConceptGroupListXML.children();
                if(treeConcepts.selectedItem == null)
                {
                    treeConcepts.selectedIndex = 0; 
                }
                /*for(var j:int = 0;j<ConceptGroupList.length();j++)
                {                    
                    
                    if(ConceptGroupList[j].@id == treeConcepts.selectedItem.@id)
                    {
                            alreadyPresent = true;
                            break;
                    }
                }*/
                var j:int = treeConcepts.selectedItem.@id; 
                if(treeConcepts.selectedItem.localName() == "ConceptGroup")
                    alreadyPresent = true;
                                                           
                   if(alreadyPresent == true)
                   {
                       var ConceptGroupXML:XML = 
                           <ConceptGroup name={txtConceptGroup.text} id={treeConcepts.selectedItem.@id}/>
                       var ConceptXML:XML;    
                   }
                   else
                   {
                       var ConceptGroupXML:XML = 
                           <ConceptGroup name={txtConceptGroup.text} id={ConceptGroupID}/>
                       var ConceptXML:XML;
                   }     
                   for(var i:int=0;i<arrConcepts.length;i++)
                   {
                       if(arrConcepts[i].grpInclude==true)
                       {
                           ConceptXML=
                               <Concept label={arrConcepts[i].label} id={"Concept"+(i+1)} />
                           ConceptGroupXML.appendChild(ConceptXML);
                           arrConcepts[i].grpInclude=false;
                       }
                   }                       
                   if(alreadyPresent == true)
                   {
                       ConceptGroupsXML.replace(j,ConceptGroupXML);
                       ConceptGroupListXML.replace(1,ConceptGroupsXML);
                       treeConcepts.selectedIndex = 0;
                   }
                   else    
                   {
                    ConceptGroupsXML.appendChild(ConceptGroupXML);                               
                       ConceptGroupListXML.replace(1,ConceptGroupsXML);
                       ConceptGroupID++;
                   }
                   txtConceptGroup.text="";
                arrCollConcepts = new ArrayCollection(arrConcepts);                                                  
               //}
               /*else
               {
                   Alert.show("Please enter a Group name.","Alert!");    
               }*/
           } 
           
           //adding concepts to concepts list
            public function AddConcepts():void
            {
                                                        
                //adding Concepts Concept list
                var i:int;
                var ConceptXML:XML = new XML;
                for(i=0;i<100;i++)
                {
                    var childNode:XML = <Concepts/>;
                    lstConcepts.selectedIndex=i;                     
                    arrConcepts[i].label=lstConcepts.selectedItem.label;
                }

                //intializing arrCollection for datagrid
                arrCollConcepts =  new ArrayCollection(arrConcepts);
                //make all checkboxes in the concepts group datagrid false
                for(var k:int =0;k<arrCollConcepts.length;k++)
                    {
                        arrCollConcepts[k].grpInclude = false;
                        if(arrCollConcepts[k].label != "")
                        {
                            ConceptXML=
                               <Concept label={arrConcepts[k].label} id={"Concept"+(k+1)} />;   
                               ConceptsXML.replace(k,ConceptXML);                               
                        }
                    }
                ConceptGroupListXML.replace(0,ConceptsXML);    
                //make the concept group canvas visible
                canConcepts.visible=false;
                btnNewConceptGroup0.label = "Add Group";
                canConceptGroup.visible = true;
                
            }
            
                //label function for tree    
                private function treeLabel(item:Object):String 
            {
                var node:XML = XML(item);
                if( node.localName() == "Concept" )
                    return node.@label;
                else if(node.localName() == "ConceptGroup")
                    return node.@name;
                else if(node.localName() == "ConceptGroups")
                    return "Concept Groups"
                else if(node.localName() == "Concepts")
                    return "Concepts"                    
               else
                    return "Concepts Explorer"; 
                
            }

            //generate XML on finish
               public function finish():void
               {
                   
                   btnAnotherPI3Pressed();
                   var validationFields:Array = new Array;
                   if(validationCheck(validationFields)=="notOK")                   
                   {
                   var errorString:String = "Following mandatory field\s are missing:\n\n";
                   errorString = errorString + validationFields[0];
                   for(var i:int = 1;i<validationFields.length;i++)
                           errorString = errorString +"\n"+validationFields[i];         
                   Alert.show(errorString + "\n\nPlease fill them to proceed.","Missing Fields!");        
                   }
                   
                   else
                   {
                   currentState='Study Funding';  
                   currentState='Study Concepts';
                   currentState='Questions';
                   currentState='Data Collection';
                   currentState='Data Production';    
                                        
                   bar.setProgress(100,100);
                   //Alert.show("Congratulations, Corresponding XML code will now be generated","Finished!");
                   currentState='XMLOutput';
                   ConvertToXML();                       
                   }
             }
              
               //creating the text box to enter new concept
               public function newConceptPressed(event:Event):void
               {
                   selectedItem1=ComboBox(event.target).selectedItem;
                   cmbVarCon=ComboBox(event.target).selectedIndex;
                  if (selectedItem1.label == "New")
                      {
                      lblNewConcept.visible = true;
                      txtNewConcept.visible = true;
                      }   
                  else
                      {
                      lblNewConcept.visible = false;
                      txtNewConcept.visible = false;
                      }    
               }
               
               //creating the text box to enter new Universe
               public function newUniversePressed(event:Event):void
               {
                   selectedItem1=ComboBox(event.target).selectedItem;
                   cmbVarUni=ComboBox(event.target).selectedIndex;
                  if (selectedItem1.label == "New")
                      {
                      lblNewUniverse.visible = true;
                      txtNewUniverse.visible = true;
                      }   
                  else
                      {
                      lblNewUniverse.visible = false;
                      txtNewUniverse.visible = false;
                      }    
               }
               
              /* public function filldgTranslationLanguage(event:Event):void
               {
                      cmbTransLan=ComboBox(event.target).text.toString();
                      //refreshdgCodeValue();
                      for(var i=0;i<100;i++)
                      {
                          CodeValueData[i].transLang = 12;        
                      
                      }          
                
               }*/
            
            //initializing the Array for Concept Groups
            private function initConceptList():void
            {
                 var i:int;
               arrConcepts = new Array(); 
                for(i=0;i<100;i++)
               arrConcepts.push({label:"", data:i, grpIndex:-1, grpInclude:false});
            }
            //initializing the tree in the concept groups
            private function initTreeConceptFeedback():void
            {              
                ConceptFeedback = new XMLListCollection(ConceptGroupListXML.ConceptGroup);
            }
            
            
            //---------initializing the data grids.
            private function initdgCodeValue():void
              {
            var i:int;
            refreshdgCodeValue();
             for(i=0;i<10;i++)
                CodeValueData.addItemAt({value: "", label: "", originalLanguage: "en", translatedLanguage:"", translatedLabel:""},i);               
             
            }
            
             private function refreshdgCodeValue():void
             {
             CodeValueData = new ArrayCollection();
             var i:int;
             for(i=0;i<100;i++)
                CodeValueData.addItem({value: "", label: "", originalLanguage: "", translatedLanguage:"", translatedLabel:""});               
             }
             
             private function refreshdgCodeValue2():void
             {
             CodeValueData2 = new ArrayCollection();
             var i:int;
             for(i=0;i<100;i++)
                CodeValueData2.addItem({value: "", label: "", originalLanguage: "", translatedLanguage:"", translatedLabel:"",missing:false});               
             }
                        
            private function initdgCodeValueTransQues():void
              {
            CodeValueData0 = new ArrayCollection();
            var i:int;
            for(i=0;i<100;i++)
                CodeValueData0.addItem({value: "", label: "",  translatedLanguage: "", languageOfTranslation:""});
               }
            private function intdgValueRepresentationTypeCode():void
              {
            ValueRepresentationTypeCode = new ArrayCollection();
            var i:int;
            for(i=0;i<100;i++)
                ValueRepresentationTypeCode.addItem({value: "", label: "", missing:false});
               }

               private function intdgConceptsInThisGroup():void
              {
            ConceptsInThisGroup = new ArrayCollection();
            var i:int;
            for(i=0;i<100;i++)
                ConceptsInThisGroup.addItem({value: ""});
               }
               
               private function initdgVariablesList():void
              {
            VariablesList = new ArrayCollection();
            /*var i:int;
            for(i=0;i<100;i++)
                CodeValueData.addItem({value: "", label: "", originalLanguage: "", translatedLanguage: "", languageOfTranslation:""});*/
               }
               //--------------
               
            // Open the TitleWindow container.
            // Cast the return value of the createPopUp() method
            // to SimpleTitleWindowExample, the name of the 
            // component containing the TitleWindow container.
           /* private function showInstanceWindow():void {
                var instanceObj:InstanceWindow=InstanceWindow(PopUpManager.createPopUp( this, InstanceWindow , true));

                // Calculate position of TitleWindow in Application's coordinates. 
                point1.x=btnNewStudy.x;
                point1.y=btnNewStudy.y;                
                point1=btnNewStudy.localToGlobal(point1);
                instanceObj.x=point1.x;
                instanceObj.y=point1.y;
             
                // Pass a reference to the TextInput control
                // to the TitleWindow container so that the 
                // TitleWindow container can return data to the main application.
                instanceObj.InstanceID=lblStudyID;
            }*/        
          
         
          private function newStudy():void
          {
              
              
              var pattern:RegExp = /[^a-zA-Z0-9]/;              
              if(txtInstanceID.text=="" || txtInstanceID.text.search(" ")!=-1 || pattern.test(txtInstanceID.text.toString())==true)
              {
                  /*expandV1.end();
                  expandV1.play();
                  expandH.end();
                  expandH.play();
                  expandV2.end();
                  expandV2.play();*/                  
                  Alert.show("Please enter a valid Study ID before proceeding.","Study ID invalid or missing!");
              }
              else
              {
                  
                  //lblStudyIDValidation.visible = false;
                  /*contractV2.end();
                  contractV2.play();
                  contractH.end();
                  contractH.play();
                  contractV1.end();
                  contractV1.play();*/
                  
                  lblStudyID.text = txtInstanceID.text;
                currentState='Study Proposal';
              }
          txtInstanceID.text="";
          } 
          
          
          // Event handler function to set the value of the 
          // ProgressBar control and change the state in the forward direction.
          private function runit(state:String):void
          {
          if (state=="Study Proposal")
              j=0;
          else if (state=="Study Funding")
              j=17;
          else if (state=="Study Concepts")
              j=34;
          else if (state=="Questions")
              j=51;
          else if (state=="Data Collection")
              j=68;
          else if (state=="Data Production")
              j=85;
                   
          bar.setProgress(j,100);                       
          currentState=state;
          }
          
          // Event handler function to set the value of the 
          // ProgressBar control and change the state in the reverse direction.
          private function punit(state:String):void
          {
            
          if (state=="Study Proposal")
              j=0;
          else if (state=="Study Funding")
              j=17;
          else if (state=="Study Concepts")
              j=34;
          else if (state=="Questions")
              j=51;
          else if (state=="Data Collection")
              j=68;
          else if (state=="Data Production")
              j=85;                    
                  
          bar.setProgress(j,100);     
          currentState=state;
          if (state=='')
              BaseEntered();
        
          }
          
        
          
          //creating the question label grid when Code selected
          public function cmbQsResponseTypePressed(event:Event):void
          {
              selectedItem1=ComboBox(event.target).selectedItem;
              cmbQsRes=ComboBox(event.target).selectedIndex;
              if (selectedItem1.label == "Code")
                  {
                  dgCodeValue.visible = true;
                  dgCodeValue0.visible = false;
                  canNumeric.visible = false;
                  }   
              else if(selectedItem1.label == "Category")
                  {
                  dgCodeValue.visible = false;
                  dgCodeValue0.visible = true;
                  canNumeric.visible = false;
                  }
              else if(selectedItem1.label == "Numeric")
                    {
                    canNumeric.visible = true;
                    dgCodeValue.visible = false;
                  dgCodeValue0.visible = false;    
                    }    
          }

          var varQsRef:int = 0;
          var varLength:int = 0;
          var NumericCounter:int = -1;     
          public function anotherVariable():void
          {
               var VarConcepts:int = 0;
               //-----compare current dsCodeValueData2 values to values in CodeValueData for the selected questions and mark if changed or not
                  
                  //copying the Code Value pairs corresponding to current question to a new arrayCollection
                  
                  var selectedIndex1=cmbVarConceptsQs.selectedIndex;
                  
                  var noQuestionFlag:Boolean = false;                
                  if(arrQuestions.length -1 > selectedIndex1)                  
                   {
                       var CodeCatLength:int = arrQuestions[selectedIndex1].Length;               
                       var CodeCatRef:int = arrQuestions[selectedIndex1].CodeSchemeRef;
                   }
                   else
                   {
                       var CodeCatLength:int = -1;               
                       var CodeCatRef:int = -1;
                       noQuestionFlag=true;
                   }
                   
                   if(cmbVarConceptsQs.text == "")
                       noQuestionFlag=true;
               //if representation domain is Numeric                    
               if(cmbVarValueRepresentation.text == "Numeric")
               {
                       arrNumeric.push({Type:cmbVarNumericType.text,Low:txtVarNumericLow.text,High:txtVarNumericHigh.text});    
                       NumericCounter++ ;
               }
               //if representation domain is Code or Category
               else
               {
                   //CodeValueDataCopy will contain original code-value pairs associated with selected Question
                   var CodeValueDataCopy:ArrayCollection = new ArrayCollection;
                   for(var i=0;i<CodeCatLength;i++)
                      {                           
                           CodeValueDataCopy.addItem({value:arrCodeScheme[CodeCatRef + i].Value,label:arrCatScheme[CodeCatRef + i].Label});                       
                      }             
                                           
                      //compare CodeValueDataCopy to CodeValueData2 to figure out if a change has been made
                      //true implies a change has been made while false implies there is no change
                       
                      var condition:Boolean = compareArrays(CodeValueDataCopy,CodeValueData2);
                      
                     //-----adding code values to arrVarQs datastructure                 
                      varLength=0;
                      for(var i:int=0;i<CodeValueData2.length;i++)
                               {
                                   if(CodeValueData2[i].value!="") 
                                   {
                                       arrVarQs.push({Value:CodeValueData2[i].value,Label:CodeValueData2[i].label,Missing:CodeValueData2[i].missing,Condition:condition});                                   
                                       varQsRef++;    
                                       varLength++;
                                   }
                                   else
                                       break;
                               }
                   refreshdgCodeValue2();
               }               
               
                           
                 //setting the Univere variable depending on what is selected.
                 InstanceID = lblStudyID.text;
                 var varUniverse:String = "";
                 var UniverseFlag:Boolean = false;
                 var UniverseID:String = "";
                 if(cmbVarUniverse.text=="New")
                     {
                         varUniverse = txtNewUniverse.text;
                         UniverseID = "SubUniverse"+Universe.length+"_"+InstanceID; 
                         Universe.push({label:varUniverse});                         
                         UniverseFlag = true;
                     }
                 else
                     {
                         if(cmbVarUniverse.text == "Study Population")
                             UniverseID = "StudyUniverse_"+ InstanceID;
                         else
                             UniverseID = "SubUniverse"+cmbVarUniverse.selectedIndex+"_"+InstanceID;    
                         varUniverse = cmbVarUniverse.text;
                     }    
                     
                     //checking if Concepts are present or not
                     if(cmbVarConcepts.text == "")
                     {
                         VarConcepts = -1;
                     }
                     else
                     {
                         VarConcepts = cmbVarConcepts.selectedIndex;
                     }
                
                
                 //adding variable fields to the arrVariables datastructure
                 if(noQuestionFlag != true)      
                  arrVariables.push({label:txtVarLabel.text, Name:txtVarName.text, Concept:VarConcepts,Questions:cmbVarConceptsQs.selectedIndex,UniverseFlag:UniverseFlag,UniverseID:UniverseID,Universe:varUniverse,Domain:cmbVarValueRepresentation.text,VarQsRef:varQsRef-varLength,Length:varLength,VarPos:-1,NumericIndex:NumericCounter});
              else
                  arrVariables.push({label:txtVarLabel.text, Name:txtVarName.text, Concept:VarConcepts,Questions:-1,UniverseFlag:UniverseFlag,UniverseID:UniverseID,Universe:varUniverse,Domain:cmbVarValueRepresentation.text,VarQsRef:varQsRef-varLength,Length:varLength,VarPos:-1,NumericIndex:NumericCounter});    
                       
              //reset the fields 
                 txtVarName.text="";
                 txtVarLabel.text="";
                 cmbVarConcepts.selectedIndex = 0;
                 cmbVarConceptsQs.selectedIndex = 0;
                 cmbVarUniverse.selectedIndex = 0;
                 cmbVarValueRepresentation.selectedIndex = 0;
                 intdgValueRepresentationTypeCode();              
                 dgValueRepresentationTypeCode.visible =true;   
                 canVarNumeric.visible = false;
                 cmbVarNumericType.selectedIndex = 0;
                  txtVarNumericLow.text = "";
                  txtVarNumericHigh.text = "";  
                  cmbVarValueRepresentation.selectedIndex = 0;
                    
                   /* for(i=0;i<100;i++)
                    CodeValueData[i].value=""
                    CodeValueData[i].value=""*/
               
                    cmbVarPositionName.selectedIndex=0;
                    var selectedIndex1:int = 0;
                     if(arrVariables[selectedIndex1].VarPos != -1)
                   {
                    txtStartingPos.text = arrVarPosition[arrVariables[selectedIndex1].VarPos].StartPos;
                    txtWidth.text = arrVarPosition[arrVariables[selectedIndex1].VarPos].Width;
                    txtEndPos.text = arrVarPosition[arrVariables[selectedIndex1].VarPos].EndPos;                                        
                }
                else
                {
                    txtStartingPos.text = "";
                    txtWidth.text = "";
                    txtEndPos.text = "";
                }
                
                 Alert.show("Variable has been saved.","Variable Saved.");
                                         
          }
          var arrCollVariables:ArrayCollection = new ArrayCollection;
       
       //function to compare two arrays, namely CodeValueData and CodeValeData2
       private function compareArrays(arr1:ArrayCollection,arr2:ArrayCollection):Boolean
       {
           //CodeValueData and CodeValueData2 are the two arrayCollections that I need to compare here. 
           //I have to perform an item by item comparision since there is no other way of doing this                                
            
           for(var i:int = 0; i<arr1.length; i++)
               {                   
                   //implies a change has been made
                   if(arr1[i].value != arr2[i].value || arr1[i].label != arr2[i].label || arr2[i].Missing == "true")
                       {
                           return true;
                       }                   
               }
           
           if(arr2.length == 0||arr2[i].label != "" || arr2[i].value != "")
               return true;
           
           return false;                          
       }
          
              
          public function valueRepresentationPressed(event:Event):void
          {
              selectedItem1=ComboBox(event.target).selectedItem;
              cmbVarValueRep=ComboBox(event.target).selectedIndex;
              if (selectedItem1.label == "Code" || selectedItem1.label == "Category")
                  { 
                    dgValueRepresentationTypeCode.visible = true;
                    canVarNumeric.visible = false;
                  }   
              else
                  {
                    dgValueRepresentationTypeCode.visible = false;
                    canVarNumeric.visible = true;                          
                  }    
              
          }
          
          public function rdbSingle2Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              canRange2.visible = false;
              canSingleDate2.visible = true;
              rdbSingle2.visible = true;
              rdbRange2.visible=false;
              btnDateBack2.visible = true;     
       
          }
           public function rdbRange2Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              canSingleDate2.visible = false;
              canRange2.visible = true;
              rdbSingle2.visible = false;
              rdbRange2.visible=true;
              btnDateBack2.visible = true;     
          }
          
            public function btnDateBack1Clicked()
          {
              canSingleDate1.visible = false;
              canRange1.visible = false;
              rdbSingle1.visible = true;
              rdbRange1.visible=true;
              rdbSingle1.selected = false;
              rdbRange1.selected = false;
              btnDateBack1.visible = false;
          }
          
           public function btnDateBack2Clicked()
          {
              canSingleDate2.visible = false;
              canRange2.visible = false;
              rdbSingle2.visible = true;
              rdbRange2.visible=true;
              rdbSingle2.selected = false;
              rdbRange2.selected = false;
              btnDateBack2.visible = false;
          }
          
          //selecting a responsibility role
             public function rdbSingle1Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              canRange1.visible = false;
              canSingleDate1.visible = true;
              rdbSingle1.visible = true;
              rdbRange1.visible=false;
              btnDateBack1.visible = true;     
       
          }
           public function rdbRange1Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              canSingleDate1.visible = false;
              canRange1.visible = true;
              rdbSingle1.visible = false;
              rdbRange1.visible=true;
              btnDateBack1.visible = true;     
          }    
          
            //selecting a responsibility role
          public function rdbOrganization3Clicked(event:Event):void
          {
              //depending on which button it was, make the corresponding panel visible
              
              btnPIBack.visible = true;
              btnAnotherPI3.visible = true;
              rdbIndividual3.visible = false;
              canIndividual3.visible = false;
              canOrganization3.visible = true;
              cmbOrgName6.selectedIndex =0;
              cmbOrgName6Clicked();
              
          }
          
          public function rdbIndividual3Clicked(event:Event):void
          {
              //depending on which button it was, make the corresponding panel visible
              
              btnPIBack.visible = true;
              btnAnotherPI3.visible = true;
              rdbOrganization3.visible =  false;
              canOrganization3.visible = false;
              canIndividual3.visible = true;
              cmbFullName5.selectedIndex = 0;
              cmbOrgName5.selectedIndex = 0;              
              cmbFullName5Clicked();
              cmbOrgName5Clicked();

              
          }
          //----------- Making corresponding date panels visible depending on choice of date
             public function rdbSingle0Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              rdbRange0.visible = false;
              btnDateBack0.visible = true;
              canRange0.visible = false;              
              canSingleDate0.visible = true;
              
       
          }
           public function rdbRange0Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              rdbSingle0.visible = false;
              btnDateBack0.visible = true;
              canSingleDate0.visible = false;
              canRange0.visible = true;

          }
          
          public function btnDateBack0Clicked()
          {

              canSingleDate0.visible = false;
              canRange0.visible = false;
              rdbSingle0.visible = true;
              rdbRange0.visible=true;
              rdbSingle0.selected = false;
              rdbRange0.selected = false;
              btnDateBack0.visible = false;
          }
           public function rdbSingle17Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              canRange17.visible = false;
              canSingleDate17.visible = true;
              rdbSingle17.visible = true;
              rdbRange17.visible=false;
              btnDateBack17.visible = true;     
       
          }
           public function rdbRange17Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              canSingleDate17.visible = false;
              canRange17.visible = true;
              rdbSingle17.visible = false;
              rdbRange17.visible=true;
              btnDateBack17.visible = true;     
          }
           public function btnDateBack17Clicked()
          {
              canSingleDate17.visible = false;
              canRange17.visible = false;
              rdbSingle17.visible = true;
              rdbRange17.visible=true;
              rdbSingle17.selected = false;
              rdbRange17.selected = false;
              btnDateBack17.visible = false;
          }
           public function rdbSingle11Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              canRange11.visible = false;
              canSingleDate11.visible = true;
              rdbSingle11.visible = true;
              rdbRange11.visible=false;
              btnDateBack11.visible = true;     
       
          }
           public function rdbRange11Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              canSingleDate11.visible = false;
              canRange11.visible = true;
              rdbSingle11.visible = false;
              rdbRange11.visible=true;
              btnDateBack11.visible = true;     
          }
          public function btnDateBack11Clicked()
          {
              canSingleDate11.visible = false;
              canRange11.visible = false;
              rdbSingle11.visible = true;
              rdbRange11.visible=true;
              rdbSingle11.selected = false;
              rdbRange11.selected = false;
              btnDateBack11.visible = false;
          }
          
          public function rdbSingle3Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              canRange3.visible = false;
              canSingleDate3.visible = true;
              rdbSingle3.visible = true;
              rdbRange3.visible=false;
              btnDateBack3.visible = true;     
       
          }
           public function rdbRange3Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              canSingleDate3.visible = false;
              canRange3.visible = true;
              rdbSingle3.visible = false;
              rdbRange3.visible=true;
              btnDateBack3.visible = true;     
          }
          public function btnDateBack3Clicked()
          {
              canSingleDate3.visible = false;
              canRange3.visible = false;
              rdbSingle3.visible = true;
              rdbRange3.visible=true;
              rdbSingle3.selected = false;
              rdbRange3.selected = false;
              btnDateBack3.visible = false;
          }
          
            public function rdbSingle14Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              canRange14.visible = false;
              canSingleDate14.visible = true;
              rdbSingle14.visible = true;
              rdbRange14.visible=false;
              btnDateBack14.visible = true;     
       
          }
           public function rdbRange14Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              canSingleDate14.visible = false;
              canRange14.visible = true;
              rdbSingle14.visible = false;
              rdbRange14.visible=true;
              btnDateBack14.visible = true;     
          }
          public function btnDateBack14Clicked()
          {
              canSingleDate14.visible = false;
              canRange14.visible = false;
              rdbSingle14.visible = true;
              rdbRange14.visible=true;
              rdbSingle14.selected = false;
              rdbRange14.selected = false;
              btnDateBack14.visible = false;
          }
            public function rdbSingle20Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible
              rdbRange20.visible = false;
              btnDateBack20.visible = true;
              canRange20.visible = false;
              canSingle20.visible = true;
          }
          
          public function rdbRange20Clicked():void
          {
              //depending on which button it was, make the corresponding panel visible              
              rdbSingle20.visible = false;
              btnDateBack20.visible = true;
              canSingle20.visible = false;
              canRange20.visible = true;

          }

          public function btnDateBack20Clicked()
          {

              canSingle20.visible = false;
              canRange20.visible = false;
              rdbSingle20.visible = true;
              rdbRange20.visible=true;
              rdbSingle20.selected = false;
              rdbRange20.selected = false;
              btnDateBack20.visible = false;
          }              
            //creating a new responsibility --> if New pressed in Ques Design 
          /*public function newQsResponsibility(event:Event):void
          {
              selectedItem1=ComboBox(event.target).selectedItem;
              newQsRes=ComboBox(event.target).selectedIndex;
              if (selectedItem1.label == "New")
                  {
                  rdbQsIndividual.visible = true;
                  rdbQsOrganization.visible = true; 
                  }   
              else
                  {
                rdbQsIndividual.visible = false;
                  rdbQsIndividual.selected = false;
                  rdbQsOrganization.visible = false;
                  rdbQsOrganization.selected = false;
                        
                  canQsIndividual.visible = false;
                  canQsOrganization.visible = false;                     
                  }        
              }    
            public function rdbQsOrganizationClicked(event:Event):void
          {
              //depending on which button it was, make the corresponding panel visible
              canQsIndividual.visible = false;
              canQsOrganization.visible = true;
          }
          
          public function rdbQsIndividualClicked(event:Event):void
          {
              //depending on which button it was, make the corresponding panel visible
              canQsOrganization.visible = false;
              canQsIndividual.visible = true;
          }
          
        //creating a new responsibility --> if New pressed in Ques Translation 
          public function newQsResponsibility0(event:Event):void
          {
              selectedItem1=ComboBox(event.target).selectedItem;
              newQsRes0=ComboBox(event.target).selectedIndex;
              if (selectedItem1.label == "New")
                  {
                  rdbQsIndividual0.visible = true;
                  rdbQsOrganization0.visible = true; 
                  }   
              else
                  {
                rdbQsIndividual0.visible = false;
                  rdbQsIndividual0.selected = false;
                  rdbQsOrganization0.visible = false;
                  rdbQsOrganization0.selected = false;
                   
                  canQsIndividual0.visible = false;
                  canQsOrganization0.visible = false;                          
                  }        
              }    
            public function rdbQsOrganization0Clicked(event:Event):void
          {
              //depending on which button it was, make the corresponding panel visible
              canQsIndividual0.visible = false;
              canQsOrganization0.visible = true;
          }
          
          public function rdbQsIndividual0Clicked(event:Event):void
          {
              //depending on which button it was, make the corresponding panel visible
              canQsOrganization0.visible = false;
              canQsIndividual0.visible = true;
          }*/
          
          public function btnEditOrgDonePressed():void
          {              
              //adding PI if no PI present
              if(cmbOrgName5.selectedIndex == -1)
              {

                  btnEditOrgInfo.label="Edit Organization Information";
                  if(rdbOrganization3.selected == true)
                      {
                          if(currentState=='Study Proposal')
                          {
                              arrCollPIOrganization3Supplier.addItem({OrgName: txtOrgName5.text, Abbrev: txtAbbrev5.text, StreetAdd: txtStreetAdd5.text, City:txtCity5.text, State:txtState5.text, Country:txtCountry5.text, Include:true, CreatorInclude:true, TimeStamp:timestamp, StudyProposal:true, FundingAgency:false});
                          }
                          else if(currentState=='Study Funding')
                          {
                              arrCollPIOrganization3Supplier.addItem({OrgName: txtOrgName5.text, Abbrev: txtAbbrev5.text, StreetAdd: txtStreetAdd5.text, City:txtCity5.text, State:txtState5.text, Country:txtCountry5.text, Include:true,CreatorInclude:true, TimeStamp:timestamp, StudyProposal:false, FundingAgency:true});
                          }                          
                      }
                  else if(rdbIndividual3.selected == true)
                  {
                          arrCollPIOrganization3Supplier.addItem({OrgName: txtOrgName5.text, Abbrev: txtAbbrev5.text, StreetAdd: txtStreetAdd5.text, City:txtCity5.text, State:txtState5.text, Country:txtCountry5.text, Include:true,CreatorInclude:false, TimeStamp:timestamp, StudyProposal:false, FundingAgency:false});
                  }    
                  cmbOrgName5.selectedIndex = arrCollPIOrganization3Supplier.length - 1; 
                  arrCollPIIndividual3[cmbFullName5.selectedIndex].OrgIndex = arrCollPIOrganization3Supplier.length - 1;
                  cmbOrgName5.enabled = true;
                  cmbOrgName5Clicked();              
                  btnEditOrgInfo.visible = true;
                  btnEditOrgDone.visible = false;
                  btnEditOrgCancel.visible = false;
                  timestamp ++;
              }
              else              
              {
                  btnEditOrgInfo.label="Edit Organization Information";
                  var index:int = indexSearch(cmbOrgName5.text,arrCollPIOrganization3Supplier);
          
                  arrCollPIOrganization3Supplier[index].OrgName = txtOrgName5.text;
                  arrCollPIOrganization3Supplier[index].Abbrev = txtAbbrev5.text;
                  arrCollPIOrganization3Supplier[index].StreetAdd = txtStreetAdd5.text;
                  arrCollPIOrganization3Supplier[index].City = txtCity5.text;
                  arrCollPIOrganization3Supplier[index].State = txtState5.text;
                  arrCollPIOrganization3Supplier[index].Country = txtCountry5.text;
              
                  //cmbOrgName5.selectedIndex = 0;
                  cmbOrgName5.enabled = true;
                  cmbOrgName5Clicked();              
                  btnEditOrgInfo.visible = true;
                  btnEditOrgDone.visible = false;
                  btnEditOrgCancel.visible = false;
              }
              btnEditIndDone.enabled = true;
              btnEditIndCancel.enabled = true;                            
          }
          
          public function btnEditOrgCancelPressed():void
          {
              cmbOrgName5.selectedIndex = 0;
              cmbOrgName5.enabled = true;
              cmbOrgName5Clicked();              
              btnEditOrgInfo.visible = true;
              btnEditOrgCancel.visible = false;
              btnEditOrgDone.visible = false;
                 btnEditIndDone.enabled = true;
              btnEditIndCancel.enabled = true;
              //cmbOrgName5.enabled = false;
              btnEditOrgInfo.enabled = false;
              //btnOrgDel5.enabled=false;
                
          } 
          
          public function btnEditIndDonePressed():void
          {              
              
              var correctName:Boolean = true;
              
              while(correctName == true)
              {
                  var currentIndex:int = cmbFullName5.selectedIndex;
                  //matching last name
                  var index:int = indexSearchInd(cmbFullName5.text.split(" ")[1],arrCollPIIndividual3);
                  //matching first name
                  if(arrCollPIIndividual3[index].FName == cmbFullName5.text.split(" ")[0])
                  {
                     arrCollPIIndividual3[index].FName = txtFName5.text;
                      arrCollPIIndividual3[index].MName = txtMName5.text;
                      arrCollPIIndividual3[index].LName = txtLName5.text;
                      arrCollPIIndividual3[index].Position = txtPosition5.text;
                      arrCollPIIndividual3[index].fullName = txtFName5.text+" "+txtLName5.text;
                      if(cmbOrgName5.text!="New")
                          arrCollPIIndividual3[index].OrgIndex = cmbOrgName5.selectedIndex;
                      else
                          {
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName5.text, Abbrev:txtAbbrev5.text,StreetAdd:txtStreetAdd5.text, City:txtCity5.text, State:txtState5.text, Country:txtCountry5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false, TimeStamp:99});                              
                              arrCollPIIndividual3[index].OrgIndex = arrCollPIOrganization3Supplier.length -1;
                          }    
                          
                      cmbFullName5.enabled = true;
                      cmbFullName5Clicked();
                      cmbOrgName5Clicked();              
                      btnEditIndInfo.visible = true;
                      btnEditIndDone.visible = false;
                      btnEditIndCancel.visible = false;
                      btnEditOrgInfo.enabled = false;
                      btnOrgDel5.enabled = false; 
                    correctName = false;        
                }
                  cmbFullName5.selectedIndex = currentIndex;
              }                            
          }
          
          public function btnEditIndCancelPressed():void
          {
              //cmbIndName5.selectedIndex = 0;
              cmbFullName5.enabled = true;
              cmbOrgName5Clicked();
              cmbFullName5Clicked();
              btnEditIndInfo.visible = true;
              btnEditIndCancel.visible = false;
              btnEditIndDone.visible = false;
              cmbOrgName5.enabled = false;
              btnEditOrgInfo.enabled = false;
              btnOrgDel5.enabled = false;
          } 
          
          public function btnEditOrgDone6Pressed():void
          {                            
              var index:int = indexSearch(cmbOrgName6.text,arrCollPIOrganization3Supplier);
              btnAnotherPI3.enabled=true;
              btnPIBack.enabled=true;           
              arrCollPIOrganization3Supplier[index].OrgName = txtOrgName6.text;
              arrCollPIOrganization3Supplier[index].Abbrev = txtAbbrev6.text;
              arrCollPIOrganization3Supplier[index].StreetAdd = txtStreetAdd6.text;
              arrCollPIOrganization3Supplier[index].City = txtCity6.text;
              arrCollPIOrganization3Supplier[index].State = txtState6.text;
              arrCollPIOrganization3Supplier[index].Country = txtCountry6.text;
              
              //cmbOrgName6.selectedIndex = 0;
              cmbOrgName6.enabled = true;
              cmbOrgName6Clicked();              
              btnEditOrgInfo6.visible = true;
              btnDelOrg6.visible = true;
              btnEditOrgDone6.visible = false;
              btnEditOrgCancel6.visible = false;
                            
              cmbOrgName6.enabled = true;
              txtAbbrev6.enabled = false;
              txtStreetAdd6.enabled = false;
              txtCity6.enabled = false;
              txtState6.enabled = false;
              txtCountry6.enabled = false
          }
          
          public function btnEditOrgCancel6Pressed():void
          {
              btnAnotherPI3.enabled=true;
              btnPIBack.enabled=true;
              //cmbOrgName6.selectedIndex = 0;
              cmbOrgName6.enabled = true;
              cmbOrgName6Clicked();
              btnEditOrgInfo6.visible = true;
              btnEditOrgCancel6.visible = false;
              btnEditOrgDone6.visible = false;
          } 
          
          public function btnEditOrgInfoPressed():void
          {
              //enable all organization text boxes
         
                  btnEditIndDone.enabled = false;
                  btnEditIndCancel.enabled = false;
                  btnEditOrgInfo.visible = false;
                  btnEditOrgDone.visible = true;
                  btnEditOrgCancel.visible = true;                  
                  cmbOrgName5.enabled = false;                                
                  txtOrgName5.enabled = true;    
                  txtAbbrev5.enabled = true;
                  txtStreetAdd5.enabled = true;
                  txtCity5.enabled = true;
                  txtState5.enabled = true;
                  txtCountry5.enabled = true;
              
                          
          }    
          
          public function btnEditIndInfoPressed():void
          {
              //enable all organization text boxes
              btnEditIndInfo.visible = false;
              btnEditIndDone.visible = true;
              btnEditIndCancel.visible = true;
              cmbFullName5.enabled = false;
              txtFName5.enabled = true;
              txtLName5.enabled = true;    
              txtMName5.enabled = true;
              txtPosition5.enabled = true;
                            
              if(cmbOrgName5.selectedIndex != -1)
                  {
                  cmbOrgName5.enabled = true;
                  btnOrgDel5.enabled = true;
                  }
              else
                  {
                  cmbOrgName5.enabled = true;
                  btnOrgDel5.enabled = false;
                  }
                      
              if(cmbOrgName5.selectedIndex == -1)
                  btnEditOrgInfo.enabled = false;
              else
                  btnEditOrgInfo.enabled = true;    
               
            
          }    
           public function btnEditOrgInfo6Pressed():void
          {
              //enable all organization text boxes
              btnAnotherPI3.enabled=false;
              btnPIBack.enabled=false;
              btnEditOrgInfo6.visible = false;
              btnEditOrgDone6.visible = true;
              btnEditOrgCancel6.visible = true;
              
              cmbOrgName6.enabled = false;
              txtOrgName6.enabled = true;
              txtAbbrev6.enabled = true;
              txtStreetAdd6.enabled = true;
              txtCity6.enabled = true;
              txtState6.enabled = true;
              txtCountry6.enabled = true;
              
                              
          }    


            
            private function validateForm():void 
            {
                var errors:Array = Validator.validateAll(validatorArray);
                if(currentState=='Study Proposal')
                {
                    if (errors.length) 
                    {
                        Alert.show("Mandatory Fields are left blank!", errors[0].toString());
                    } 
                    else 
                    {
                        Alert.show("Form is valid.", "VALID");
                    }        
                }
            } 
            
          public function btnAnotherPI3Pressed():void
          {                   
              btnEditOrgDone.visible = false;
              btnEditOrgCancel.visible = false;
              btnEditOrgDone6.visible = false;
              btnEditOrgCancel6.visible = false;
                          
              btnEditOrgInfo.visible = true;
              btnEditOrgInfo6.visible = true;
              btnDelOrg6.visible = true;
              cmbOrgName5.visible = true;
              txtOrgName5.enabled = false;
           
              if (rdbIndividual3.selected == true)
              {                                  
                    if(btnEditIndDone.visible==true)
                        {
                            if(btnEditOrgDone.visible==true)
                                btnEditOrgDonePressed();
                            btnEditIndDonePressed();                            
                        }                        
                    if(cmbFullName5.text=="New" && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                    {  
                      if(txtOrgName5.text!="" || txtAbbrev5.text!="")
                      {                                                    
                         if(cmbOrgName5.text=="New") //loop 2
                         {                                                    
                                arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName5.text, Abbrev:txtAbbrev5.text,StreetAdd:txtStreetAdd5.text, City:txtCity5.text, State:txtState5.text, Country:txtCountry5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false, TimeStamp:99});
                         }                         
                         if(currentState=='Study Funding')
                                 arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:true, StudyProposal:false, StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false, TimeStamp:timestamp});
                         else if(currentState=='Study Proposal')
                                arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:true, FundingAgency:false, StudyProposal:true, StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false, TimeStamp:timestamp});
                         else if(currentState=='Study Concepts')
                                arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:true,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});
                         else if(currentState=='Questions')
                                 arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false,QsDesign:true,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false, TimeStamp:timestamp});                                                                                                                                      
                           else if(currentState=='QuestionsClone')
                                 arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false,QsDesign:false,QsTranslation:true,Sampling:false,CollectingData:false,DataProduction:false, TimeStamp:timestamp});
                         else if(currentState=='Data Collection')
                                 arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:true,CollectingData:false,DataProduction:false, TimeStamp:timestamp});                                                                                                                                      
                           else if(currentState=='Data Collection Clone')
                                 arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:true,DataProduction:false, TimeStamp:timestamp});
                         else if(currentState=='Data Production')
                                 arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:indexSearch(txtOrgName5.text,arrCollPIOrganization3Supplier), fullName:txtFName5.text + " " + txtLName5.text, Include:true,CreatorInclude:false, FundingAgency:false, StudyProposal:false, StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:true, TimeStamp:timestamp});                
                           timestamp++;    
                      }
                      else if(StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                      {
                          if(currentState=='Study Funding')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:true, StudyProposal:false,StudyConcepts:false, QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});
                          else if(currentState=='Study Proposal')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:true, FundingAgency:false, StudyProposal:true,StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});
                          else if(currentState=='Study Concepts')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false,StudyConcepts:true,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});    
                            else if(currentState=='Questions')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:true,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});
                          else if(currentState=='QuestionsClone')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false,QsTranslation:true,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});
                          else if(currentState=='Data Collection')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:true,CollectingData:false,DataProduction:false,TimeStamp:timestamp});
                          else if(currentState=='Data Collection Clone')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:true,DataProduction:false,TimeStamp:timestamp});        
                            else if(currentState=='Data Production')
                              arrCollPIIndividual3.addItem({FName:txtFName5.text, MName:txtMName5.text, LName:txtLName5.text, Position:txtPosition5.text,OrgIndex:-1, fullName:txtFName5.text + " " + txtLName5.text, Include:true, CreatorInclude:false, FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false,QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:true,TimeStamp:timestamp});
                              timestamp++;
                      }
                      else
                      {
                              Alert.show("Mandatory Entries have to be filled!","Alert")
                      }

                  //clearing all text boxes
                  txtFName5.text = "";
                  txtMName5.text = "";
                  txtLName5.text = "";
                  txtPosition5.text = "";
                  cmbOrgName5.selectedIndex = 0;
                  cmbOrgName6.selectedIndex = 0;
                  txtAbbrev5.text="";
                  txtStreetAdd5.text="";
                  txtCity5.text="";
                  txtState5.text="";
                  txtCountry5.text="";
                  cmbOrgName5.selectedIndex = 0;
                  cmbOrgName5Clicked();                
                  }                  
                  //if cmbFullNamr5 != new and it is not an already added entry
                  else if(cmbFullName5.text=="New" && StringUtil.trim(txtFName5.text)=="" && StringUtil.trim(txtLName5.text) == "")
                  {
                                            
                  }
                  else
                  {
                      if(currentState=='Study Funding' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].FundingAgency = true;                          
                          }
                      else if(currentState=='Study Concepts' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].StudyConcepts = true;                          
                          }
                      else if(currentState=='Questions' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].QsDesign = true;                          
                          }
                      else if(currentState=='QuestionsClone' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].QsTranslation = true;                          
                          }    
                      else if(currentState=='Data Collection' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].Sampling = true;                          
                          }
                      else if(currentState=='Data Collection Clone' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].CollectingData = true;                          
                          }
                      else if(currentState=='Data Production' && StringUtil.trim(txtFName5.text)!="" && StringUtil.trim(txtLName5.text) != "")
                          {
                              arrCollPIIndividual3[cmbFullName5.selectedIndex].DataProduction = true;                          
                          }                                              
                  }
              }
              else if(rdbOrganization3.selected == true)
              {                
                  //adding data to data provider                  
              if(btnEditOrgDone6.visible==true)
                        btnEditOrgDone6Pressed();
                  if(cmbOrgName6.text == "New" && StringUtil.trim(txtOrgName6.text)!="")                  
                  {
                      
                      if(chkOrgPresent(txtOrgName6.text) != true)
                      {
                            
                        if(currentState=='Study Funding')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:false,FundingAgency:true, StudyProposal:false,StudyConcepts:false,QsDesign:false, QsTranslation:false,Sampling:false,CollectingData:false, DataProduction:false,TimeStamp:timestamp});
                        else if(currentState=='Study Proposal')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:true,StudyConcepts:false,QsDesign:false, QsTranslation:false,Sampling:false,CollectingData:false,DataProduction:false,TimeStamp:timestamp});    
                        else if(currentState=='Study Concepts')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:false,StudyConcepts:true,QsDesign:false, QsTranslation:false,Sampling:false,CollectingData:false, DataProduction:false,TimeStamp:timestamp});    
                        else if(currentState=='Questions')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:true, QsTranslation:false,Sampling:false,CollectingData:false, DataProduction:false,TimeStamp:timestamp});
                        else if(currentState=='QuestionsClone')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false, QsTranslation:true,Sampling:false,CollectingData:false, DataProduction:false,TimeStamp:timestamp});
                        else if(currentState=='Data Collection')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false, QsTranslation:false,Sampling:true,CollectingData:false, DataProduction:false,TimeStamp:timestamp});
                        else if(currentState=='Data Collection Clone')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false, QsTranslation:false,Sampling:false,CollectingData:true, DataProduction:false,TimeStamp:timestamp});
                        else if(currentState=='Data Production')
                            arrCollPIOrganization3Supplier.addItem({OrgName:txtOrgName6.text, Abbrev:txtAbbrev6.text,StreetAdd:txtStreetAdd6.text, City:txtCity6.text, State:txtState6.text, Country:txtCountry6.text, Include:true, CreatorInclude:true,FundingAgency:false, StudyProposal:false,StudyConcepts:false,QsDesign:false, QsTranslation:false,Sampling:false,CollectingData:false, DataProduction:true,  TimeStamp:timestamp});            
                        //adjusting the OrgIndex of every individual after an organization is added
                       
                         timestamp++;                              
                      }
                      else
                      {                         
                              Alert.show("Organization Entry already exists.", "Alert!");
                      }                                            
                  }
                  else if(currentState=='Study Funding' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].FundingAgency = true;
                          }
                  else if(currentState=='Study Proposal' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].StudyProposal = true;
                          }
                  else if(currentState=='Study Concepts' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].StudyConcepts = true;
                          }   
                  else if(currentState=='Questions' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].QsDesign = true;
                          }
                  else if(currentState=='QuestionsClone' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].QsTranslation = true;
                          }
                   else if(currentState=='Data Collection' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].Sampling = true;
                          }
                  else if(currentState=='Data Collectoin Clone' && StringUtil.trim(txtOrgName6.text)!="")
                          {
                              arrCollPIOrganization3Supplier[cmbOrgName6.selectedIndex].CollectingData = true;
                          }                                   
                  //clearing all text boxes    
                
                txtAbbrev6.text="";
                txtStreetAdd6.text="";
                txtCity6.text="";
                txtState6.text="";
                txtCountry6.text="";     
                cmbOrgName6.selectedIndex = 0;
                cmbOrgName6Clicked();                                       
              }

              btnPIBack.visible = false;
              btnAnotherPI3.visible = false;
              canOrganization3.visible = false;
              canIndividual3.visible = false;
              rdbOrganization3.visible = true;
              rdbIndividual3.visible = true;
              rdbIndividual3.selected = false;
              rdbOrganization3.selected = false; 
              if(arrCollPIOrganization3Supplier.length > 2)
                  {
                      btnEditOrgInfo6.enabled = true;
                      btnDelOrg6.enabled = true;
                      txtOrgName6.enabled = false;
                      txtStreetAdd6.enabled = false;
                      txtCity6.enabled = false;
                      txtState6.enabled = false;
                      txtCountry6.enabled = false;
                      txtAbbrev6.enabled = false;
                  }
          }
          
          
          private function chkOrgPresent(temp:String):Boolean
          {
              var i:int;
              for(i=2;i<arrCollPIOrganization3Supplier.length;i++)
              {
                  if(arrCollPIOrganization3Supplier[i].OrgName == temp)
                      return true;
              }
              return false;
          }
          // returns the index position of object with matching OrgName value
         private function indexSearch( OrgName:String, coll:ArrayCollection ):int
        {
            var o:Object;
            for ( var i:int = 2; i<coll.length; i++)
            {
             o = coll.getItemAt(i);
             if( o.OrgName == OrgName) return i;
            }
            return -1;
        }
        
         private function indexSearchInd( LName:String, coll:ArrayCollection ):int
        {
            var o:Object;
            for ( var i:int = 2; i<coll.length; i++)
            {
             o = coll.getItemAt(i);
             if( o.LName == LName) return i;
            }
            return -1;
        }
          
          public function filldgCodeValue():void
          {
              //oriLan=ComboBox(event.target).text.toString();
              
                      //refreshdgCodeValue();
                      var i:int=0;
                      for (i=0;i<10;i++)
                      {
                          //CodeValueData.setItemAt({originalLanguage: cmbOriginalLanguage.text},i);
                          CodeValueData[i].originalLanguage = cmbOriginalLanguage.text;
                      }    
                      CodeValueData.refresh();
          }
          
          public function filldgCodeValue2():void
          {
              //oriLan=ComboBox(event.target).text.toString();
              
                      //refreshdgCodeValue();
                      
                      var i:int=0;
                      for (i=0;i<100;i++)
                      {
                          //CodeValueData.setItemAt({translatedLanguage:cmbTransLanguage.text},i);
                          CodeValueData[i].transLang = cmbTransLanguage.text;
                      }   
                      CodeValueData.refresh(); 
          }
          
          //-------------- State Entry Exit functions---------------
          public var cmbM20:int = 0,cmbM21:int = 0,cmbM22:int = 0,cmbD20:int = 0,cmbD21:int = 0,cmbD22:int = 0,cmbM17:int = 0,cmbM18:int = 0,cmbM19:int = 0,cmbD17:int = 0,cmbD18:int = 0,cmbD19:int = 0,cmbM11:int = 0,cmbM12:int = 0,cmbM13:int = 0,cmbD11:int = 0,cmbD12:int = 0,cmbD13:int = 0,cmbM14:int = 0,cmbM15:int = 0,cmbM16:int = 0,cmbD14:int = 0,cmbD15:int = 0,cmbD16:int = 0,cmbM8:int = 0,cmbM9:int = 0,cmbM10:int = 0,cmbD8:int = 0,cmbD9:int = 0,cmbD10:int = 0,cmbM2:int = 0,cmbM3:int = 0,cmbM4:int = 0,cmbD2:int = 0,cmbD3:int = 0,cmbD4:int = 0,cmbM5:int = 0,cmbM6:int = 0,cmbM7:int = 0,cmbD5:int = 0,cmbD6:int = 0,cmbD7:int = 0,cmbD23:int = 0,cmbM23:int = 0 ,cmbM:int = 0,cmbM0:int = 0,cmbM1:int = 0,cmbD:int = 0,cmbD0:int = 0,cmbD1:int = 0;
          public var newRes:int = 0,newQsRes:int=0,cmbQsRes:int=0,cmbCon:int=0,newQsRes0:int=0,cmbQs:int=0,newRes2:int=0,cmbVarCon:int=0,cmbVarUni:int=0,cmbVarValueRep:int=0,lstVarQs:int=-1,cmbVarPos:int=0,newRes0:int=0,newQsRes1:int=0,cmbModeOfColl:int=0;
          public var cmbY20:String = "2009",cmbY21:String = "2009",cmbY22:String = "2009", cmbY17:String = "2009",cmbY18:String = "2009",cmbY19:String = "2009", cmbY11:String = "2009",cmbY12:String = "2009",cmbY13:String = "2009", cmbY14:String = "2009",cmbY15:String = "2009",cmbY16:String = "2009", cmbY8:String = "2009",cmbY9:String = "2009",cmbY10:String = "2009", cmbY2:String = "2009",cmbY3:String = "2009",cmbY4:String = "2009", cmbY5:String = "2009",cmbY6:String = "2009",cmbY7:String = "2009",cmbY23:String = "2009", cmbY:String = "2009",cmbY0:String = "2009",cmbY1:String = "2009";
           public var oriLan:String="en",cmbTransLan:String = "en",cmbCharS:String = "ASCII";    
           
          public function StudyFundingEntered():void
          {                            
              cmbMonth20.selectedIndex=cmbM20;
              cmbMonth21.selectedIndex=cmbM21;
              cmbMonth22.selectedIndex=cmbM22;
              
              
              cmbDate20.selectedIndex=cmbD20;
              cmbDate21.selectedIndex=cmbD21;
              cmbDate22.selectedIndex=cmbD22;
              
          
              cmbYear20.text=cmbY20.toString();
              cmbYear20.selectedIndex=-1;
              cmbYear21.text=cmbY21.toString();
              cmbYear21.selectedIndex=-1;
              cmbYear22.text=cmbY22.toString();
              cmbYear22.selectedIndex=-1;    
                 
                 //accordion1.selectedIndex = 0;                          
          }
         
         public function StudyConceptsEntered():void
         {
             cmbMonth17.selectedIndex=cmbM17;
              cmbMonth19.selectedIndex=cmbM18;
              cmbMonth18.selectedIndex=cmbM19;
              
              
              cmbDate17.selectedIndex=cmbD17;
              cmbDate18.selectedIndex=cmbD18;
              cmbDate19.selectedIndex=cmbD19;
              
          
              cmbYear17.text=cmbY17.toString();
              cmbYear17.selectedIndex=-1;
              cmbYear18.text=cmbY18.toString();
              cmbYear18.selectedIndex=-1;
              cmbYear19.text=cmbY19.toString();
              cmbYear19.selectedIndex=-1;
              
              //accordion1.selectedIndex = 0;            
         }
          
         public function QuestionsEntered():void
         {
             cmbMonth11.selectedIndex=cmbM11;
              cmbMonth12.selectedIndex=cmbM12;
              cmbMonth13.selectedIndex=cmbM13;
              
              
              cmbDate11.selectedIndex=cmbD11;
              cmbDate12.selectedIndex=cmbD12;
              cmbDate13.selectedIndex=cmbD13;
              
          
              cmbYear11.text=cmbY11.toString();
              cmbYear11.selectedIndex=-1;
              cmbYear12.text=cmbY12.toString();
              cmbYear12.selectedIndex=-1;
              cmbYear13.text=cmbY13.toString();
              cmbYear13.selectedIndex=-1;
              
              //cmbQsResponsibility.selectedIndex = newQsRes;   
               
              cmbQsResponse.selectedIndex = cmbQsRes;
              cmbConcept.selectedIndex = cmbCon;
              cmbOriginalLanguage.text = oriLan
              cmbOriginalLanguage.selectedIndex=-1;  
              
              cmbMonth14.selectedIndex=cmbM14;
              cmbMonth15.selectedIndex=cmbM15;
              cmbMonth16.selectedIndex=cmbM16;
              
              
              cmbDate14.selectedIndex=cmbD14;
              cmbDate15.selectedIndex=cmbD15;
              cmbDate16.selectedIndex=cmbD16;
              
          
              cmbYear14.text=cmbY14.toString();
              cmbYear14.selectedIndex=-1;
              cmbYear15.text=cmbY15.toString();
              cmbYear15.selectedIndex=-1;
              cmbYear16.text=cmbY16.toString();
              cmbYear16.selectedIndex=-1;
              
              //cmbQsResponsibility0.selectedIndex = newQsRes0; 
              
              cmbQuestion.selectedIndex = cmbQs;
              cmbTransLanguage.text = cmbTransLan;
              cmbTransLanguage.selectedIndex = -1;
              
              //accordion1.selectedIndex = 0;         
         } 
         
          public function DataProductionEntered():void
         {
              /*cmbMonth8.selectedIndex=cmbM8;
              cmbMonth9.selectedIndex=cmbM9;
              cmbMonth10.selectedIndex=cmbM10;              
              
              cmbDate8.selectedIndex=cmbD8;
              cmbDate9.selectedIndex=cmbD9;
              cmbDate10.selectedIndex=cmbD10;             
          
              cmbYear8.text=cmbY8.toString();
              cmbYear8.selectedIndex=-1;
              cmbYear9.text=cmbY9.toString();
              cmbYear9.selectedIndex=-1;
              cmbYear10.text=cmbY10.toString();
              cmbYear10.selectedIndex=-1;*/
              
             //creating a copy of arraycollection codevaluedata so that we can have a modified verison in which changes can made
             //for(var i:int=0;i<CodeValueData.length;i++)
                 //CodeValueData2.addItem(CodeValueData.getItemAt(i));    
              
              cmbVarConcepts.selectedIndex = cmbVarCon;
              cmbVarUniverse.selectedIndex = cmbVarUni;
              cmbVarValueRepresentation.selectedIndex = cmbVarValueRep;   
              cmbVarQuestions.selectedIndex = lstVarQs;
              cmbVarPositionName.selectedIndex = cmbVarPos;
              cmbCharSet.text=cmbCharS;
              cmbCharSet.selectedIndex=-1;
              
              
              if(arrQuestions.length != 1)
              {// defaulting the datagrid
               
                   var selectedIndex1:int = cmbVarConceptsQs.selectedIndex;
                   
                   //get length of Code/Category Scheme
                   
                                   
                       var CodeCatLength:int = arrQuestions[selectedIndex1].Length;
                       
                       //get index into Code/Category arrays
                       var CodeCatRef:int = arrQuestions[selectedIndex1].CodeSchemeRef;
                       //refreshing the datagrid
                       refreshdgCodeValue2();
                       //reflecting Code value and Label fields in the datagrid based on the selected question
                       for(var i=0;i<CodeCatLength;i++)
                       {
                               
                               CodeValueData2[i].value = arrCodeScheme[CodeCatRef + i].Value;
                               CodeValueData2[i].label = arrCatScheme[CodeCatRef + i].Label;                                                     
                       }               
                   
              }
              else
              {
                  refreshdgCodeValue2();
              }         
         }
         
         public function DataCollectionEntered():void
         {
              
              cmbMonth2.selectedIndex=cmbM2;
              cmbMonth3.selectedIndex=cmbM3;
              cmbMonth4.selectedIndex=cmbM4;
              
              
              cmbDate2.selectedIndex=cmbD2;
              cmbDate3.selectedIndex=cmbD3;
              cmbDate4.selectedIndex=cmbD4;
              
          
              cmbYear2.text=cmbY2.toString();
              cmbYear2.selectedIndex=-1;
              cmbYear3.text=cmbY3.toString();
              cmbYear3.selectedIndex=-1;
              cmbYear4.text=cmbY4.toString();
              cmbYear4.selectedIndex=-1;
              
              
              /*
              cmbMonth5.selectedIndex=cmbM5;
              cmbMonth6.selectedIndex=cmbM6;
              cmbMonth7.selectedIndex=cmbM7;
              
              
              cmbDate5.selectedIndex=cmbD5;
              cmbDate6.selectedIndex=cmbD6;
              cmbDate7.selectedIndex=cmbD7;
              
          
              cmbYear5.text=cmbY5.toString();
              cmbYear5.selectedIndex=-1;
              cmbYear6.text=cmbY6.toString();
              cmbYear6.selectedIndex=-1;
              cmbYear7.text=cmbY7.toString();
              cmbYear7.selectedIndex=-1;
              
              cmbQsResponsibility1.selectedIndex = newQsRes1;*/
              cmbModeOfCollection.selectedIndex = cmbModeOfColl;
              //accordion1.selectedIndex = 0;
         }
             
        public function BaseEntered():void
        {
              cmbMonth.selectedIndex=cmbM;
              cmbMonth0.selectedIndex=cmbM0;
              cmbMonth1.selectedIndex=cmbM1;
                            
              cmbDate.selectedIndex=cmbD;
              cmbDate0.selectedIndex=cmbD0;
              cmbDate1.selectedIndex=cmbD1;
                        
              cmbYear.text=cmbY.toString();
              cmbYear.selectedIndex=-1;
              cmbYear0.text=cmbY0.toString();
              cmbYear0.selectedIndex=-1;
              cmbYear1.text=cmbY1.toString();
              cmbYear1.selectedIndex=-1;
              
              //accordion1.selectedIndex = 0;                
        }   

        public function menuBarHandler(event:MenuEvent):void
               {
                   if(event.item.@data=="Welcome")
                       {
                       currentState="Welcome";
                       refreshAll();
                       }
                   else if(event.item.@data=="OpenNew")
                       {
                       txtInstanceID.text = "";
                       //currentState="New Study"; 
                       reloadApplication();                  
                       }
                   else if (event.item.@data=="OpenExisting")
                       Alert.show("This functionality is only offered in the Desktop version of the software.","Sorry!");
                   else if (event.item.@data=="Save")    
                       Alert.show("This functionality is only offered in the Desktop version of the software.","Sorry!");    
                else if (event.item.@data=="SaveAs")    
                       Alert.show("This functionality is only offered in the Desktop version of the software.","Sorry!");    
                   else if (event.item.@data=="Exit")
                       closeApp();                           
               }    
        
        public function returnTopLevelReference():String
        {
            if (chkRegion.selected == true)
                return "REGION";
            else if (chkNation.selected == true)
                return "NATION";
            else if (chkState.selected == true)
                return "STATE";
            else if (chkCounty.selected == true)
                return "COUNTY";
            else if (chkCity.selected == true)
                return "CITY";
            else return "NONE"            
        }
        
        public function returnLowerLevelReference():String
        {
            if (chkCity.selected == true)
                return "CITY";
            else if (chkCounty.selected == true)
                return "COUNTY";
            else if (chkState.selected == true)
                return "STATE";
            else if (chkNation.selected == true)
                return "NATION";
            else if (chkRegion.selected == true)
                return "REGION";
            else return "NONE"                
        }
        
        public function validationCheck(validationFields:Array):String
        {
            if((rdbSingle0.selected == false && rdbRange0.selected == false) || (arrCollPIIndividual3.length == 2 && arrCollPIOrganization3Supplier.length == 2 && (txtFName5.text=="" && txtLName5.text=="") && cmbOrgName6.text=="") || (txtStudyTitle.text=="") || txtResearchQs.text=="" || (txtStudyPopulation.text == ""))
            {
                    if(rdbSingle0.selected == false && rdbRange0.selected == false)
                        validationFields.push("Study Proposal Date");
                    if(arrCollPIIndividual3.length == 2 && arrCollPIOrganization3Supplier.length == 2 && (txtFName5.text=="" && txtLName5.text=="") && cmbOrgName6.text=="") 
                        validationFields.push("Study Proposal Responsibility");
                    if(txtStudyTitle.text=="")
                        validationFields.push("Study Title");
                    if(txtResearchQs.text=="")        
                        validationFields.push("Research Question");
                    if(txtStudyPopulation.text == "")
                        validationFields.push("Study Population");    
                    if(arrCollPIIndividual3.length == 2 && arrCollPIOrganization3Supplier.length == 2 )
                        validationFields.push("Study Proposal Responsibility");
                    return "notOK";
            }
            else if(arrCollPIIndividual3.length == 2 && arrCollPIOrganization3Supplier.length == 2 )
                    return "notOK"
            else
            {
                    return "OK";
            }
        }

        //create a single ArrayCollection 
            var arrColl:ArrayCollection;
            private function createArrColl()
            {
                var i,j:int;
                arrColl=new ArrayCollection();
                for(i=0;i<arrCollPIIndividual3.length;i++)
                {
                    arrColl.addItem(arrCollPIIndividual3[i]);
                    arrColl[i].id="Individual";
                    arrColl[i].index = i;                    
                }
                
                for(j=0;j<arrCollPIOrganization3Supplier.length;j++)
                {
                    arrColl.addItem(arrCollPIOrganization3Supplier[j]);
                    arrColl[i].id="Organization";
                    arrColl[i].index = j;
                    i++;                
                }        
            } 
            
            private function sortArrColl():void {
                /* Create the SortField object for the "data" field in the ArrayCollection object, and make sure we do a numeric sort. */
                var dataSortField:SortField = new SortField();
                dataSortField.name = "TimeStamp";
                dataSortField.numeric = true;

                /* Create the Sort object and add the SortField object created earlier to the array of fields to sort on. */
                var numericDataSort:Sort = new Sort();
                numericDataSort.fields = [dataSortField];

                /* Set the ArrayCollection object's sort property to our custom sort, and refresh the ArrayCollection. */
                arrColl.sort = numericDataSort;
                arrColl.refresh();
            }

        private function handleAccChange(event:IndexChangedEvent)
        {            
            if(currentState=='Questions')
            {
                if(event.oldIndex == 1)
                    btnAnotherPI3Pressed();
                    
                if(event.newIndex == 4)
                {
                    currentState='QuestionsClone';      
                                 
                }
                
                /*if(event.oldIndex == 2)
                {                    
                        anotherQuestion();
                }*/
                
                if(event.newIndex == 2)
                {
                     filldgCodeValue();
                     filldgCodeValue2();
                }
                
                if(event.newIndex == 5)
                {
                   
                   cmbQuestion.selectedIndex = 0;                   
                   var selectedIndex1= 0;
                   
                   //get length of Code/Category Scheme
                   if(arrQuestions.length != 1)
                   {
                       var CodeCatLength = arrQuestions[selectedIndex1].Length;
                       //get index into Code/Category arrays
                       var CodeCatRef = arrQuestions[selectedIndex1].CodeSchemeRef;
                       //refresh Translated Question Text and set Language of Translation to default
                       //clear CodeValueData of 
                       refreshdgCodeValue();
                       //reflecting Code value and Label fields in the datagrid based on the selected question
                       for(var i=0;i<CodeCatLength;i++)
                       {
                               
                               CodeValueData[i].value = arrCodeScheme[CodeCatRef + i].Value;
                               CodeValueData[i].label = arrCatScheme[CodeCatRef + i].Label; 
                               CodeValueData[i].transLabel = arrCatScheme[CodeCatRef + i].TransLabel;
                               CodeValueData[i].transLang = arrCatScheme[CodeCatRef + i].TransLang; 
                               //you should also display translabel and transLang
                            
                       }
                   }
                   filldgCodeValue2();
                }
                
                /*if(event.oldIndex == 5)
                {
                    anotherTransQuestion();                    
                } */                                   
                return;
            }
            else if(currentState=='QuestionsClone')
            {
                if(event.oldIndex == 4)
                {
                    btnAnotherPI3Pressed();
                    currentState='Questions';                                        
                }
                return;
            } 
            else if(currentState=='Data Collection')
            {
                if(event.oldIndex == 1)
                    btnAnotherPI3Pressed();
                    
                if(event.newIndex == 4)
                {
                    currentState='Data Collection Clone';      
                                 
                }                                    
                return;
            }
            else if(currentState=='Data Collection Clone')
            {
                if(event.oldIndex == 4)
                {
                    btnAnotherPI3Pressed();                    
                    currentState='Data Collection';                                        
                }
                return;
            } 
            else if(currentState=='Data Production')
            {
                if(event.newIndex == 3)
                {
                                                
                }    
            }
            // adding Responsibility on all the other cases
            if(event.oldIndex == 1)
            {
                if(btnEditIndDone.visible==true || btnEditOrgDone.visible==true||btnEditOrgDone6.visible==true)
                {
                        if(btnEditIndDone.visible==true)
                        {
                            if(btnEditOrgDone.visible==true)
                                btnEditOrgDonePressed();
                            btnEditIndDonePressed();
                            btnAnotherPI3.enabled=true;    
                        }                        
                        else if(btnEditOrgDone6.visible==true)
                        btnEditOrgDone6Pressed();                        
                }
            }
        }
        
        private function changeToClone(event:IndexChangedEvent)
        {            
            if(event.newIndex == 4)
            {
                currentState='Feedback';
            }
        }
        
        public function ConvertToXML():void
        {
            BaseEntered();            
            InstanceID=lblStudyID.text;
            varTopLevelReference = returnTopLevelReference();
            varLowerLevelReference = returnLowerLevelReference();
            var LifeCycleInformationXML:XML;
            var FundingLifeCycleEventXML:XML;
            var varAgency:String;
            var varOrgNum:int = 1;

            var oldestPI:Array;
               createArrColl();
               sortArrColl();                       
            var i:int =0;
            while(true)
            {
                if(i<arrColl.length)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].StudyProposal==true)
                    {
                    varAgency="Individual"+(arrColl[i].index-1);
                    break;
                    }
                else if(arrColl[i].id=="Organization" && arrColl[i].StudyProposal==true)
                    {
                    varAgency="Organization"+(arrColl[i].index-1);
                    break;
                    }
                else
                    i++;        
                }
                else
                    break;
                    
            }
            
            DDIInstanceXML=
            <ns1:DDIInstance xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ddi:instance:3_0 http://www.ddialliance.org/DDI/schema/ddi3.0/instance.xsd" xmlns:ns1="ddi:instance:3_0" xmlns:a="ddi:archive:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:dc="ddi:dcelements:3_0" xmlns:ns7="http://purl.org/dc/elements/1.1/" xmlns:cm="ddi:comparative:3_0" xmlns:d="ddi:datacollection:3_0" xmlns:l="ddi:logicalproduct:3_0" xmlns:c="ddi:conceptualcomponent:3_0" xmlns:ds="ddi:dataset:3_0" xmlns:p="ddi:physicaldataproduct:3_0" xmlns:pr="ddi:ddiprofile:3_0" xmlns:s="ddi:studyunit:3_0" xmlns:g="ddi:group:3_0" xmlns:pi="ddi:physicalinstance:3_0" xmlns:m3="ddi:physicaldataproduct_ncube_inline:3_0" xmlns:m1="ddi:physicaldataproduct_ncube_normal:3_0" xmlns:m2="ddi:physicaldataproduct_ncube_tabular:3_0" agency={varAgency} version="1.0" versionDate={cmbYear.text+"-"+(cmbMonth.dataProvider[cmbMonth.selectedIndex].data)+"-"+ cmbDate.text} id={"Instance_"+InstanceID}>            
            </ns1:DDIInstance> 
        
//-------------------------------------------------------creating Study Unit------------------------------------------------
            StudyUnitXML=
            <s:StudyUnit xmlns:r="ddi:reusable:3_0" xmlns:s="ddi:studyunit:3_0" id={"StudyUnit_"+InstanceID}>
            </s:StudyUnit>
            
            var CitationXML:XML = 
                <r:Citation xmlns:r="ddi:reusable:3_0">
                    <r:Title>{txtStudyTitle.text}</r:Title>                    
                </r:Citation>
                
            
                var CreatorXML:XML
                for(i=0;i<arrColl.length;i++)
                {                
                if(i<arrColl.length)
                {
                if(arrColl[i].StudyProposal == true  && arrColl[i].id=="Individual")
                    {
                    CreatorXML= 
                        <r:Creator xmlns:r="ddi:reusable:3_0">{arrColl[i].LName + "," +" "+ arrColl[i].FName + " " + arrColl[i].MName}</r:Creator>
                    CitationXML.appendChild(CreatorXML);
                    }
                 else if(arrColl[i].StudyProposal == true && arrColl[i].id=="Organization")   
                     {
                     CreatorXML =  
                            <r:Creator xmlns:r="ddi:reusable:3_0">{arrColl[i].OrgName}</r:Creator>
                    CitationXML.appendChild(CreatorXML);
                     }
                 }
                 else
                     break;             
                }        
                                            
            var AbstractXML:XML = 
                 <s:Abstract xmlns:s="ddi:studyunit:3_0" xmlns:r="ddi:reusable:3_0" id={"Abstract_"+InstanceID}><r:Content>{txtStudyAbstract.text}</r:Content></s:Abstract>
            var UniverseReferenceXML:XML =    
                <r:UniverseReference xmlns:r="ddi:reusable:3_0"><r:ID>{"StudyUniverse_"+InstanceID}</r:ID></r:UniverseReference>
                
            var PurposeXML:XML =
                <s:Purpose xmlns:s="ddi:studyunit:3_0" xmlns:r="ddi:reusable:3_0" id={"Purpose_"+InstanceID}>
                    <r:Content>{txtResearchQs.text}</r:Content>
                </s:Purpose>
                
            
            var CoverageXML:XML = 
                <r:Coverage xmlns:r="ddi:reusable:3_0">
                 <r:SpatialCoverage id={"SpatialCoverage_"+InstanceID}>
                    <r:Description>{txtSpatialCoverage.text}</r:Description>
                    <r:TopLevelReference>
                        <r:LevelReference>
                            <r:ID>{"Geography_"+varTopLevelReference+"_"+InstanceID}</r:ID>
                        </r:LevelReference>
                        <r:LevelName>{varTopLevelReference}</r:LevelName>
                    </r:TopLevelReference>
                    <r:LowestLevelReference>
                        <r:LevelReference>
                            <r:ID>{"Geography_"+varLowerLevelReference+"_"+InstanceID}</r:ID>
                        </r:LevelReference>
                        <r:LevelName>{varLowerLevelReference}</r:LevelName>
                    </r:LowestLevelReference>
                 </r:SpatialCoverage>
                </r:Coverage>;
                 

            
            var ConceptualComponentXML:XML =
                <c:ConceptualComponent xmlns:c="ddi:conceptualcomponent:3_0" id={"ConceptualComponent1_"+InstanceID}>                     
               </c:ConceptualComponent>;
               
            var UniverseSchemeXML:XML =    
               <c:UniverseScheme xmlns:c="ddi:conceptualcomponent:3_0" id={"UniverseScheme1_"+InstanceID}>                     
                </c:UniverseScheme>;
                
            var UniverseXML:XML=
                <c:Universe xmlns:c="ddi:conceptualcomponent:3_0" id={"StudyUniverse_"+InstanceID}>
                         <c:HumanReadable>
                             {txtStudyPopulation.text}
                         </c:HumanReadable>
                   </c:Universe>
               
              
            
               
            GeographicStructureSchemeXML = 
                <c:GeographicStructureScheme xmlns:c="ddi:conceptualcomponent:3_0" id={"GeographicStructureScheme1_"+InstanceID} />
                
            GeographicStructureXML =
                <r:GeographicStructure xmlns:r="ddi:reusable:3_0" id={"GeographicStructure1"} />
           //means there are no geographic levels selected yet...
           var GeographicLevelsFlag:Boolean = false;
            //--------- adding geographic structures according to checkboxes selected-------
            if(chkCity.selected == true)
            {            
            GeographyXML =     
                <r:Geography xmlns:r="ddi:reusable:3_0" id={"Geography_City_"+InstanceID}>
                    <r:Level>
                        <r:Name>CITY</r:Name>
                    </r:Level>
                </r:Geography>
            GeographicStructureXML.appendChild(GeographyXML);
            GeographicLevelsFlag = true;    
            }
            if (chkCounty.selected == true)
            {
            GeographyXML =     
                <r:Geography xmlns:r="ddi:reusable:3_0" id={"Geography_County_"+InstanceID}>
                    <r:Level>
                        <r:Name>COUNTY</r:Name>
                    </r:Level>
                </r:Geography>
            GeographicStructureXML.appendChild(GeographyXML);
            GeographicLevelsFlag = true;    
            }
            if(chkState.selected == true)
            {            
            GeographyXML =     
                <r:Geography xmlns:r="ddi:reusable:3_0" id={"Geography_State_"+InstanceID}>
                    <r:Level>
                        <r:Name>STATE</r:Name>
                    </r:Level>
                </r:Geography>
            GeographicStructureXML.appendChild(GeographyXML);
            GeographicLevelsFlag = true;
            }
            if(chkNation.selected == true)
            {            
            GeographyXML =     
                <r:Geography xmlns:r="ddi:reusable:3_0" id={"Geography_Nation_"+InstanceID}>
                    <r:Level>
                        <r:Name>NATION</r:Name>
                    </r:Level>
                </r:Geography>
            GeographicStructureXML.appendChild(GeographyXML);
            GeographicLevelsFlag = true;
            }  
            if(chkRegion.selected == true)
            {            
            GeographyXML =     
                <r:Geography xmlns:r="ddi:reusable:3_0" id={"Geography_Region_"+InstanceID}>
                    <r:Level>
                        <r:Name>REGION</r:Name>
                    </r:Level>
                </r:Geography>
            GeographicStructureXML.appendChild(GeographyXML);
            GeographicLevelsFlag = true;
            } 
            
            //----------- adding geographic locations according to checkboxes selected/textboxes entered
            var GeographicLocationSchemeXML:XML = 
                <c:GeographicLocationScheme xmlns:c="ddi:conceptualcomponent:3_0" id={"GeographicLocationScheme1_"+InstanceID} />
            
            var GeogLocationID:int = 1;
            var GeographicLocationXML:XML;     
            if(chkCity.selected == true )
                {
                    //split the text box contents on basis of the coma
                    var LocationName:Array = txtGeoCity.text.split(",");
                    var i:int;
                    for(i=0;i<LocationName.length;i++)
                    {                    
                    GeographicLocationXML = 
                        <r:GeographicLocation xmlns:r="ddi:reusable:3_0" id={"GeographicLocation"+GeogLocationID}>
                            <r:Name>{LocationName[i].toString()}</r:Name>
                            <r:AuthorityOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AuthorityOrganizationReference>
                            <r:GeographicLevelReference>
                                <r:ID>{"Geography_City_"+InstanceID}</r:ID>
                            </r:GeographicLevelReference>
                        </r:GeographicLocation>                        
                    GeographicLocationSchemeXML.appendChild(GeographicLocationXML);
                    GeogLocationID++;
                    }                                
                }    
            if(chkCounty.selected == true )
                {
                    var LocationName:Array = txtGeoCounty.text.split(",");
                    var i:int;
                    for(i=0;i<LocationName.length;i++)
                    {
                    GeographicLocationXML = 
                        <r:GeographicLocation xmlns:r="ddi:reusable:3_0" id={"GeographicLocation"+GeogLocationID}>
                            <r:Name>{LocationName[i].toString()}</r:Name>
                            <r:AuthorityOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AuthorityOrganizationReference>
                            <r:GeographicLevelReference>
                                <r:ID>{"Geography_County_"+InstanceID}</r:ID>
                            </r:GeographicLevelReference>
                        </r:GeographicLocation>                        
                    GeographicLocationSchemeXML.appendChild(GeographicLocationXML);
                    GeogLocationID++;
                    }                                
                }
            if(chkState.selected == true )
                {
                    var LocationName:Array = txtGeoState.text.split(",");
                    var i:int;
                    for(i=0;i<LocationName.length;i++)
                    {                    
                    GeographicLocationXML = 
                        <r:GeographicLocation xmlns:r="ddi:reusable:3_0" id={"GeographicLocation"+GeogLocationID}>
                            <r:Name>{LocationName[i].toString()}</r:Name>
                            <r:AuthorityOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AuthorityOrganizationReference>
                            <r:GeographicLevelReference>
                                <r:ID>{"Geography_State_"+InstanceID}</r:ID>
                            </r:GeographicLevelReference>
                        </r:GeographicLocation>                        
                    GeographicLocationSchemeXML.appendChild(GeographicLocationXML);
                    GeogLocationID++;
                    }                                
                }        
            if(chkNation.selected == true )
                {
                    var LocationName:Array = txtGeoNation.text.split(",");
                    var i:int;
                    for(i=0;i<LocationName.length;i++)
                    {
                    GeographicLocationXML = 
                        <r:GeographicLocation xmlns:r="ddi:reusable:3_0" id={"GeographicLocation"+GeogLocationID}>
                            <r:Name>{LocationName[i].toString()}</r:Name>
                            <r:AuthorityOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AuthorityOrganizationReference>
                            <r:GeographicLevelReference>
                                <r:ID>{"Geography_Nation_"+InstanceID}</r:ID>
                            </r:GeographicLevelReference>
                        </r:GeographicLocation>                        
                    GeographicLocationSchemeXML.appendChild(GeographicLocationXML);
                    GeogLocationID++;
                    }                                
                }    
            if(chkRegion.selected == true )
                {
                    var LocationName:Array = txtGeoRegion.text.split(",");
                    var i:int;
                    for(i=0;i<LocationName.length;i++)
                    {
                    GeographicLocationXML = 
                        <r:GeographicLocation xmlns:r="ddi:reusable:3_0" id={"GeographicLocation"+GeogLocationID}>
                            <r:Name>{LocationName[i].toString()}</r:Name>
                            <r:AuthorityOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AuthorityOrganizationReference>
                            <r:GeographicLevelReference>
                                <r:ID>{"Geography_Region_"+InstanceID}</r:ID>
                            </r:GeographicLevelReference>
                        </r:GeographicLocation>                        
                    GeographicLocationSchemeXML.appendChild(GeographicLocationXML);        
                    GeogLocationID++;
                    }                        
                }    
            //--------------------------creating Archive-------------------------
            
            var ArchiveXML:XML = 
                <a:Archive xmlns:a="ddi:archive:3_0"  xmlns:r="ddi:reusable:3_0" id={"Archive_" + InstanceID}>
                    <a:ArchiveSpecific>
                        <a:ArchiveOrganizationReference>
                            <r:ID>{varAgency}</r:ID>
                        </a:ArchiveOrganizationReference>
                    </a:ArchiveSpecific>
                </a:Archive>
        
                            //--- creating organization scheme----
         var OrganizationSchemeXML:XML = 
                    <a:OrganizationScheme xmlns:a="ddi:archive:3_0" id={"OrganizationScheme1_"+InstanceID}>        
                    </a:OrganizationScheme>

            var i:int;
            //adding all organizations first
            for(i=2;i<arrCollPIOrganization3Supplier.length;i++)
            {
            
            /*if(arrCollPIOrganization3Supplier[i].StudyProposal == true||arrCollPIOrganization3Supplier[i].FundingAgency == true)
            {*/
                var OrganizationXML:XML = 
                        <a:Organization xmlns:a="ddi:archive:3_0" id={"Organization"+(i-1)}>
                            <a:OrganizationName>{arrCollPIOrganization3Supplier[i].OrgName}</a:OrganizationName>
                            <a:Nickname>{arrCollPIOrganization3Supplier[i].Abbrev}</a:Nickname>
                            <a:Location id={"Location_Organization"+(i-1)}>
                                <a:Address>
                                    <a:Line>{arrCollPIOrganization3Supplier[i].StreetAdd}</a:Line>
                                    <a:City>{arrCollPIOrganization3Supplier[i].City}</a:City>
                                    <a:State>{arrCollPIOrganization3Supplier[i].State}</a:State>
                                </a:Address>
                                <a:Country>{arrCollPIOrganization3Supplier[i].Country}</a:Country>                                
                            </a:Location>
                        </a:Organization>                    
            
            OrganizationSchemeXML.appendChild(OrganizationXML);
          
            //}
                   
            }            
      
            //adding all individuals                        
            for(i=2;i<arrCollPIIndividual3.length;i++)
            {
                //if(arrCollPIIndividual3[i].StudyProposal == true||arrCollPIIndividual3[i].FundingAgency == true)
                //{
                    if(arrCollPIIndividual3[i].OrgIndex!=-1)
                       { 
                           var IndividualXML:XML = 
                           <a:Individual xmlns:a="ddi:archive:3_0" xmlns:r="ddi:reusable:3_0" id={"Individual"+(i-1)}>
                            <a:IndividualName>
                                <a:First>{arrCollPIIndividual3[i].FName}</a:First>
                                <a:Middle>{arrCollPIIndividual3[i].MName}</a:Middle>
                                <a:Last>{arrCollPIIndividual3[i].LName}</a:Last>
                            </a:IndividualName>
                            <a:Position>
                                <a:Title>{arrCollPIIndividual3[i].Position}</a:Title>
                            </a:Position>
                            <a:Relation>
                                <a:OrganizationReference>
                                    <r:ID>{"Organization"+(parseInt(arrCollPIIndividual3[i].OrgIndex)-1).toString()}</r:ID>
                                </a:OrganizationReference>
                                <r:Description>Affiliation</r:Description>
                            </a:Relation>
                        </a:Individual>
                OrganizationSchemeXML.appendChild(IndividualXML);                    
            
                       }
                    else
                    {
                         var IndividualXML:XML = 
                           <a:Individual xmlns:a="ddi:archive:3_0" xmlns:r="ddi:reusable:3_0" id={"Individual"+(i-1)}>
                            <a:IndividualName>
                                <a:First>{arrCollPIIndividual3[i].FName}</a:First>
                                <a:Middle>{arrCollPIIndividual3[i].MName}</a:Middle>
                                <a:Last>{arrCollPIIndividual3[i].LName}</a:Last>
                            </a:IndividualName>
                            <a:Position>
                                <a:Title>{arrCollPIIndividual3[i].Position}</a:Title>
                            </a:Position>                        
                        </a:Individual>
                OrganizationSchemeXML.appendChild(IndividualXML);
                    }
                //}
            }
            

 //----------------------adding contents of stage "Funding Information"-------------------------------------------------
            var FundingID:String;
            var FundingFlag:Boolean = false;
            
            var FundingInformationXML:XML = 
                <r:FundingInformation xmlns:r="ddi:reusable:3_0">                                                                
                </r:FundingInformation>;
                
            var GrantNoXML:XML = 
                <r:GrantNumber xmlns:r="ddi:reusable:3_0">{txtGrantNo.text}</r:GrantNumber>;    
        
            for(i=0;i<arrColl.length;i++)
                {                
                if(i<arrColl.length)
                {
                    if(arrColl[i].FundingAgency==true && arrColl[i].id=="Individual")
                        {
                        var AgencyOrganizationReferenceXML:XML =
                          <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                            <r:ID>{"Individual"+(arrColl[i].index-1)}</r:ID>
                          </r:AgencyOrganizationReference>    
                          FundingInformationXML.appendChild(AgencyOrganizationReferenceXML);
                          FundingFlag=true;
                        }
                     else if(arrColl[i].FundingAgency==true && arrColl[i].id=="Organization")   
                         {                             
                             var AgencyOrganizationReferenceXML:XML =
                              <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{"Organization"+(arrColl[i].index-1)}</r:ID>
                              </r:AgencyOrganizationReference>    
                              FundingInformationXML.appendChild(AgencyOrganizationReferenceXML);
                              FundingFlag=true;
                         }
                 }
                 else
                     break;             
                }        
         if (FundingFlag==true && txtGrantNo.text != "")                             
             FundingInformationXML.appendChild(GrantNoXML);   
//-----------------------------adding contents of Study Concepts -----------------------       
        var ConceptCount:int = 0;
         var ConceptScheme:XML =
             <c:ConceptScheme xmlns:c="ddi:conceptualcomponent:3_0" id={"ConceptScheme1_"+InstanceID}/>
        //adding concepts
         for(i=0;i<arrConcepts.length;i++)
         {
             if(arrConcepts[i].label=="")
                 break;
             var Concept:XML = 
                 <c:Concept xmlns:c="ddi:conceptualcomponent:3_0" xmlns:r="ddi:reusable:3_0" id={"Concept"+(i+1)}>
                     <r:Description>{arrConcepts[i].label}</r:Description>
                 </c:Concept>
             ConceptScheme.appendChild(Concept);
             ConceptCount++;    
         }    
        //adding concept groups
        var ConceptGroupsList:XMLList = new XMLList;
        var ConceptGroups:XMLList = new XMLList; 
                
                ConceptGroups = ConceptGroupListXML.children();                                
                if(ConceptGroups.length() == 2)
                    ConceptGroupsList = ConceptGroups[1].children();     
                                                           
                
                for(i=0;i<ConceptGroupsList.length();i++)
                {
                    
                        var ConceptGroupXML:XML = 
                        <c:ConceptGroup id={"ConceptGroup"+(i+1)} xmlns:c="ddi:conceptualcomponent:3_0" xmlns:r="ddi:reusable:3_0">
                             <r:Label>{ConceptGroupsList[i].@name}</r:Label>                             
                         </c:ConceptGroup>;    
                    
                        var ConceptXMLList:XMLList;                    
                        ConceptXMLList=ConceptGroupListXML.ConceptGroups.ConceptGroup[i].Concept;
                        for(var j:int=0;j<ConceptXMLList.length();j++)
                        {
                            var ConceptReferenceXML:XML = 
                                <c:ConceptReference xmlns:c="ddi:conceptualcomponent:3_0" xmlns:r="ddi:reusable:3_0">
                                    <r:ID>{ConceptXMLList[j].@id}</r:ID>    
                                </c:ConceptReference>;
                            ConceptGroupXML.appendChild(ConceptReferenceXML);        
                        }
                        ConceptScheme.appendChild(ConceptGroupXML);    
                }    
       
       //adding Conceptual Scheme to Conceptual component
                   if(ConceptCount != 0)              
                       ConceptualComponentXML.prependChild(ConceptScheme);
                
    //-------------adding contents of stage Questions-------------------------
    var varCategoryScheme:int=1,varCategory:int=1,varCodeScheme:int=1,varCode:int=1;
    //Arrays used to keep code and category schemes in order
    var arrCategorySchemeArray:Array = new Array;    
    var arrCodeSchemeArray:Array = new Array;
    
    var DataCollectionXML:XML = 
        <d:DataCollection xmlns:d="ddi:datacollection:3_0" id={"DataCollection1_"+InstanceID} />;
    if(arrQuestions.length != 1)
    var QuestionSchemeXML:XML =    
            <d:QuestionScheme xmlns:d="ddi:datacollection:3_0" id={"QuestionScheme1_"+InstanceID} />;
        

    var LogicalProductXML:XML = 
        <l:LogicalProduct xmlns:l="ddi:logicalproduct:3_0" id={"LogicalProduct_"+InstanceID}>            
        </l:LogicalProduct>;
    
    //adding questions as well as translated questions
        
    for(i=1;i<arrQuestions.length;i++)
    {
        if(arrQuestions[i].ResponseType=="Code")
        {                
            var QuestionItemXML:XML = new XML;

            if(arrQuestions[i].TransQText != " ")
            {
                QuestionItemXML = 
                <d:QuestionItem xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Q"+(i)}>                    
                    <d:QuestionText xml:lang={arrQuestions[i].LabelLang}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].label}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>            
                    <d:QuestionText xml:lang={arrQuestions[i].TransLan}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].TransQText}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>
                    <d:CodeDomain>
                        <r:CodeSchemeReference>
                            <r:ID>{"CodeScheme"+varCodeScheme+"_"+InstanceID}</r:ID>
                        </r:CodeSchemeReference>
                    </d:CodeDomain>                    
                </d:QuestionItem>    
                
                if(arrQuestions[i].ConceptRef != -1)
                {
                    var ConceptReferenceXML:XML = 
                    <d:ConceptReference xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0">
                        <r:ID>{"Concept"+(arrQuestions[i].ConceptRef+1)+"_"+InstanceID}</r:ID>
                    </d:ConceptReference>
                    QuestionItemXML.appendChild(ConceptReferenceXML);
                }
            }
            else
            {
                QuestionItemXML = 
                <d:QuestionItem xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Q"+(i)}>                        
                    <d:QuestionText xml:lang={arrQuestions[i].LabelLang}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].label}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>                                
                    <d:CodeDomain>
                        <r:CodeSchemeReference>
                            <r:ID>{"CodeScheme"+varCodeScheme+"_"+InstanceID}</r:ID>
                        </r:CodeSchemeReference>
                    </d:CodeDomain>                    
                </d:QuestionItem>
                
                if(arrQuestions[i].ConceptRef != -1)
                {
                    var ConceptReferenceXML:XML = 
                    <d:ConceptReference xmlns:d="ddi:datacollection:3_0"  xmlns:r="ddi:reusable:3_0">
                        <r:ID>{"Concept"+(arrQuestions[i].ConceptRef+1)+"_"+InstanceID}</r:ID>
                    </d:ConceptReference>
                    QuestionItemXML.appendChild(ConceptReferenceXML);
                }
            }
        
        QuestionSchemeXML.appendChild(QuestionItemXML);
        varCodeScheme++;    

        //----adding category scheme to logical product--------------//
        var CategorySchemeXML:XML = 
        <l:CategoryScheme xmlns:l="ddi:logicalproduct:3_0" id={"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
        </l:CategoryScheme>
        
        for(j=0;j<arrQuestions[i].Length;j++)
            {
                if(arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].TransLang != " ")
                {
                var CategoryXML:XML = 
                    <l:Category xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                        <r:Label xml:lang={arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Lang}>{arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Label}</r:Label>
                        <r:Label xml:lang={arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].TransLang}>{arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].TransLabel}</r:Label>
                    </l:Category>;    
                    CategorySchemeXML.appendChild(CategoryXML);
                    varCategory++;
                }
                else
                {
                var CategoryXML:XML = 
                    <l:Category xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                        <r:Label xml:lang={arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Lang}>{arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Label}</r:Label>                
                    </l:Category>;    
                    CategorySchemeXML.appendChild(CategoryXML);
                    varCategory++;
                }
            }        
        arrCategorySchemeArray.push(CategorySchemeXML);    
        arrQuestions[i].CodeCategoryID = varCategoryScheme;    
        varCategoryScheme++;
        }
    else if(arrQuestions[i].ResponseType=="Category")
        {                
            var QuestionItemXML:XML = new XML;

            if(arrQuestions[i].TransQText != " ")
            {
                QuestionItemXML = 
                <d:QuestionItem xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Q"+(i)}>                    
                    <d:QuestionText xml:lang={arrQuestions[i].LabelLang}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].label}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>            
                    <d:QuestionText xml:lang={arrQuestions[i].TransLan}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].TransQText}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>
                    <d:CategoryDomain>
                        <r:CategorySchemeReference>
                            <r:ID>{"CategoryScheme"+varCategoryScheme+"_"+InstanceID}</r:ID>
                        </r:CategorySchemeReference>
                    </d:CategoryDomain>                    
                </d:QuestionItem>    
                
                if(arrQuestions[i].ConceptRef != -1)
                {
                    var ConceptReferenceXML:XML = 
                    <d:ConceptReference xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0">
                        <r:ID>{"Concept"+(arrQuestions[i].ConceptRef+1)+"_"+InstanceID}</r:ID>
                    </d:ConceptReference>
                    QuestionItemXML.appendChild(ConceptReferenceXML);
                }
            }
            else
            {
                QuestionItemXML = 
                <d:QuestionItem xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Q"+(i)}>                    
                    <d:QuestionText xml:lang={arrQuestions[i].LabelLang}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].label}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>                                
                    <d:CategoryDomain>
                        <r:CategorySchemeReference>
                            <r:ID>{"CategoryScheme"+varCategoryScheme+"_"+InstanceID}</r:ID>
                        </r:CategorySchemeReference>
                    </d:CategoryDomain>                    
                </d:QuestionItem>
                
                if(arrQuestions[i].ConceptRef != -1)
                {
                    var ConceptReferenceXML:XML = 
                    <d:ConceptReference xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0">
                        <r:ID>{"Concept"+(arrQuestions[i].ConceptRef+1)+"_"+InstanceID}</r:ID>
                    </d:ConceptReference>
                    QuestionItemXML.appendChild(ConceptReferenceXML);
                }
            }
        
        QuestionSchemeXML.appendChild(QuestionItemXML);
            

        //----adding category scheme to logical product--------------//
        var CategorySchemeXML:XML = 
        <l:CategoryScheme xmlns:l="ddi:logicalproduct:3_0" id={"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
        </l:CategoryScheme>
        arrQuestions[i].CodeCategoryID = varCategoryScheme;
                
        for(j=0;j<arrQuestions[i].Length;j++)
            {
                if(arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].TransLang != " ")
                {
                var CategoryXML:XML = 
                    <l:Category xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                        <r:Label xml:lang={arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Lang}>{arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Label}</r:Label>
                        <r:Label xml:lang={arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].TransLang}>{arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].TransLabel}</r:Label>
                    </l:Category>;    
                    CategorySchemeXML.appendChild(CategoryXML);
                    varCategory++;
                }
                else
                {
                var CategoryXML:XML = 
                    <l:Category xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                        <r:Label xml:lang={arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Lang}>{arrCatScheme[(arrQuestions[i].CodeSchemeRef)+j].Label}</r:Label>                
                    </l:Category>;    
                    CategorySchemeXML.appendChild(CategoryXML);
                    varCategory++;
                }
            }        
        arrCategorySchemeArray.push(CategorySchemeXML);        
        varCategoryScheme++;
        }
        
    else if(arrQuestions[i].ResponseType=="Numeric")
        {
            var QuestionItemXML:XML = new XML;

            if(arrQuestions[i].TransQText != " ")
            {
                QuestionItemXML = 
                <d:QuestionItem xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Q"+(i)}>                    
                    <d:QuestionText xml:lang={arrQuestions[i].LabelLang}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].label}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>            
                    <d:QuestionText xml:lang={arrQuestions[i].TransLan}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].TransQText}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>
                    <d:NumericDomain type={arrNumeric[arrQuestions[i].NumericIndex].Type}>
                        <r:NumberRange>
                            <r:Low>{arrNumeric[arrQuestions[i].NumericIndex].Low}</r:Low> 
                            <r:High>{arrNumeric[arrQuestions[i].NumericIndex].High}</r:High>
                        </r:NumberRange>
                    </d:NumericDomain>                    
                </d:QuestionItem>    
                
                if(arrQuestions[i].ConceptRef != -1)
                {
                    var ConceptReferenceXML:XML = 
                    <d:ConceptReference xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0">
                        <r:ID>{"Concept"+(arrQuestions[i].ConceptRef+1)+"_"+InstanceID}</r:ID>
                    </d:ConceptReference>
                    QuestionItemXML.appendChild(ConceptReferenceXML);
                }
            }
            else
            {
                QuestionItemXML = 
                <d:QuestionItem xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Q"+(i)}>                    
                    <d:QuestionText xml:lang={arrQuestions[i].LabelLang}>
                        <d:LiteralText>
                            <d:Text>{arrQuestions[i].label}</d:Text>
                        </d:LiteralText>    
                    </d:QuestionText>                                
                    <d:NumericDomain type={arrNumeric[arrQuestions[i].NumericIndex].Type}>
                        <r:NumberRange>
                            <r:Low>{arrNumeric[arrQuestions[i].NumericIndex].Low}</r:Low> 
                            <r:High>{arrNumeric[arrQuestions[i].NumericIndex].High}</r:High>
                        </r:NumberRange>
                    </d:NumericDomain>                    
                </d:QuestionItem>
                
                if(arrQuestions[i].ConceptRef != -1)
                {
                    var ConceptReferenceXML:XML =  
                    <d:ConceptReference xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0">
                        <r:ID>{"Concept"+(arrQuestions[i].ConceptRef+1)+"_"+InstanceID}</r:ID>
                    </d:ConceptReference>
                    QuestionItemXML.appendChild(ConceptReferenceXML);
                }
            }
        
        QuestionSchemeXML.appendChild(QuestionItemXML);
        }    
    
    
    }    
    
    
    //----adding code scheme to logical product-------------------//
    varCategoryScheme=1;
    varCodeScheme=0;
    var CodeSchemeCounter:int = 1;
    for(i=1;i<arrQuestions.length;i++)
    {
        if(arrQuestions[i].ResponseType=="Code")
        {
            var CodeSchemeXML:XML =
            <l:CodeScheme xmlns:l="ddi:logicalproduct:3_0" id={"CodeScheme"+CodeSchemeCounter+"_"+InstanceID} />;
            arrQuestions[i].CodeCategoryID = CodeSchemeCounter;
            
            for(var k:int=0;k<arrQuestions[i].Length;k++)
            {
                
                var CodeXML:XML = 
                <l:Code xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                    <l:CategoryReference>
                        <r:ID>{"Category"+(k+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}</r:ID>
                    </l:CategoryReference>                
                    <l:Value>{arrCodeScheme[k+varCodeScheme].Value}</l:Value>
                </l:Code>;
                    
                CodeSchemeXML.appendChild(CodeXML);
            }            
            varCodeScheme=varCodeScheme+arrQuestions[i].Length;
            varCategoryScheme++;
            CodeSchemeCounter++;
            arrCodeSchemeArray.push(CodeSchemeXML);
        }
        else if(arrQuestions[i].ResponseType=="Category")
        {            
            varCodeScheme=varCodeScheme+arrQuestions[i].Length;
            varCategoryScheme++;        
        }
    }        

    
    //---------------------adding contents of Data Collection Stage---------------------------------------------------------
 
    
    //adding methodology
    var MethodologyXML:XML = 
    <d:Methodology xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" id={"Methodology_"+InstanceID}>
        <d:SamplingProcedure id={"Sampling_" + InstanceID}>
            <r:Content>{txtSamplingDescription.text}</r:Content>    
        </d:SamplingProcedure>        
    </d:Methodology>;
    
    //Data Collection Event    
        //finding Data Collection Responsibility
    var CollectingDataID:String;
    i=0;
                
                while(true)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].CollectingData==true)
                        {
                        CollectingDataID = "Individual"+(arrColl[i].index-1);
                        break;
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].CollectingData==true)
                        {
                        CollectingDataID = "Organization"+(arrColl[i].index-1);
                        break;
                        }
                    else
                    i++;
                    
                    if(i>=arrColl.length)
                        break;        
                }
      //creating data collection event          
      if(rdbSingle2.selected==true)
            {
            if(cmbDate24.text==" ")
                {
                    if(cmbMonth24.dataProvider[cmbMonth24.selectedIndex].data==99)
                    {
                            var Date24:String = cmbYear24.text;
                    }
                    
                    else
                        var Date24:String = cmbYear24.text+"-"+(cmbMonth24.dataProvider[cmbMonth24.selectedIndex].data); 
                    
                }
            else
                    var Date24:String = cmbYear24.text+"-"+(cmbMonth24.dataProvider[cmbMonth24.selectedIndex].data)+"-"+ cmbDate24.text;
                    
            var DataCollectionEventXML:XML = 
                    <d:CollectionEvent xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" id={"CollectionEvent_" + InstanceID}>
                        <d:DataCollectorOrganizationReference
                            ><r:ID>{CollectingDataID}</r:ID>
                        </d:DataCollectorOrganizationReference>
                        <d:DataCollectionDate>
                            <r:SimpleDate>{Date24}</r:SimpleDate>
                        </d:DataCollectionDate>
                    </d:CollectionEvent>
                    
            var ModeOfCollectionXML:XML = 
                    <d:ModeOfCollection xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" id={"ModeOfCollection_"+InstanceID}>
                        <r:Content>{cmbModeOfCollection.text}</r:Content>
                    </d:ModeOfCollection>;
                    
                    
            var CollectionSituationXML:XML =
                    <d:CollectionSituation xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" id={"CollectionSituation_"+InstanceID}>
                        <r:Content>{txtCollectionSituation.text}</r:Content>
                    </d:CollectionSituation>;
                    
            if(cmbModeOfCollection.text != "--")
                DataCollectionEventXML.appendChild(ModeOfCollectionXML);
            
            if(txtCollectionSituation.text != "")
                DataCollectionEventXML.appendChild(CollectionSituationXML);                        
                    
            }
            else
            {
                if(cmbDate25.text==" ")
                {
                    if(cmbMonth25.dataProvider[cmbMonth25.selectedIndex].data==99)
                    {
                            var Date25:String = cmbYear25.text;
                    }
                    else
                    var Date25:String = cmbYear25.text+"-"+(cmbMonth25.dataProvider[cmbMonth25.selectedIndex].data); 
                    
                }
                else
                    var Date25:String = cmbYear25.text+"-"+(cmbMonth25.dataProvider[cmbMonth25.selectedIndex].data)+"-"+ cmbDate25.text;
                     
                if(cmbDate26.text==" ")
                {
                    if(cmbMonth26.dataProvider[cmbMonth26.selectedIndex].data==99)
                    {
                            var Date26:String = cmbYear26.text;
                    }
                    else
                    var Date26:String = cmbYear26.text+"-"+(cmbMonth26.dataProvider[cmbMonth26.selectedIndex].data); 
                    
                }
                else
                    var Date26:String = cmbYear26.text+"-"+(cmbMonth26.dataProvider[cmbMonth26.selectedIndex].data)+"-"+ cmbDate26.text;

                                
              var DataCollectionEventXML:XML = 
                    <d:CollectionEvent xmlns:d="ddi:datacollection:3_0" xmlns:r="ddi:reusable:3_0" id={"CollectionEvent_" + InstanceID}>
                        <d:DataCollectorOrganizationReference
                            ><r:ID>{CollectingDataID}</r:ID>
                        </d:DataCollectorOrganizationReference>
                        <d:DataCollectionDate>
                            <r:StartDate>{Date25}</r:StartDate>
                            <r:EndDate>{Date26}</r:EndDate>
                        </d:DataCollectionDate>
                        <d:ModeOfCollection id={"ModeOfCollection_"+InstanceID}>
                            <r:Content>{cmbModeOfCollection.text}</r:Content>
                        </d:ModeOfCollection>
                        <d:CollectionSituation id={"CollectionSituation_"+InstanceID}>
                            <r:Content>{txtCollectionSituation.text}</r:Content>
                        </d:CollectionSituation>
                    </d:CollectionEvent>;
            }

DataCollectionXML.appendChild(MethodologyXML);
//event requires  a date 
if(rdbSingle2.selected == true || rdbRange2.selected == true)
    DataCollectionXML.appendChild(DataCollectionEventXML);
if(arrQuestions.length != 1)
    DataCollectionXML.appendChild(QuestionSchemeXML);

    //-------------adding contents of state Data Production--------------
    var DataRelationshipXML:XML = 
            <l:DataRelationship xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" id={"DataRelationship_" + InstanceID}>
                <l:LogicalRecord hasLocator="false" id={"LogicalRecord1_"+InstanceID}>
                    <r:Description>person record</r:Description>
                    <l:VariablesInRecord allVariablesInLogicalProduct="true" />
                </l:LogicalRecord>
            </l:DataRelationship>;
            
    if(arrVarPosition.length != 0 && arrVariables.length != 0)
        LogicalProductXML.prependChild(DataRelationshipXML);  
    
    //Variable Scheme
    var VariableSchemeXML:XML = 
        <l:VariableScheme id = {"VariableScheme1_"+InstanceID} xmlns:l="ddi:logicalproduct:3_0">
        </l:VariableScheme>;
        
    
    
    for(i=0;i<arrVariables.length;i++)
    {            
        //adding subuniverse into Universe Scheme            
        if(arrVariables[i].UniverseFlag == true)
        {
            var SubUniverseSchemeXML:XML = 
            <c:SubUniverse xmlns:c="ddi:conceptualcomponent:3_0" id={arrVariables[i].UniverseID}>
                <c:HumanReadable>{arrVariables[i].Universe}</c:HumanReadable>
            </c:SubUniverse>
            
            UniverseXML.appendChild(SubUniverseSchemeXML);         
        }            
        var varCodeSchemeID:String;    
        
        if(arrVarQs.length != 0)
        {    
            
        }

        //if a questions has not been referenced
        if(arrVariables[i].Questions == -1)
        {
            //if response domain is Code
            if(arrVariables[i].Domain == "Code")
            {
                //varCategoryScheme contains the count of Category Schemes so that each new Category Scheme added can get a new ID.
                    //create new Code and Category Scheme
                        //----adding category scheme to logical product--------------//
                        var CategorySchemeXML:XML = 
                        <l:CategoryScheme xmlns:l="ddi:logicalproduct:3_0" id={"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                        </l:CategoryScheme>;
                                                
                        //CodeSchemeCounter contains the count of Code Schemes so that each new Code Scheme added can get a new ID.
                        //set varCodeSchemeID
                        varCodeSchemeID = "CodeScheme"+CodeSchemeCounter+"_"+InstanceID;
                        var CodeSchemeXML:XML =
                        <l:CodeScheme xmlns:l="ddi:logicalproduct:3_0" id={"CodeScheme"+CodeSchemeCounter+"_"+InstanceID} />;
            
                        for(j=0;j<arrVariables[i].Length;j++)
                            {
                            var CategoryXML:XML = 
                            <l:Category xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                                <r:Label>{arrVarQs[arrVariables[i].VarQsRef + j].Label}</r:Label>                            
                            </l:Category>;    
                            CategorySchemeXML.appendChild(CategoryXML);
                            varCategory++;
                            
                            var CodeXML:XML = 
                            <l:Code xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                                <l:CategoryReference>
                                    <r:ID>{"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme+"_"+InstanceID}</r:ID>
                                </l:CategoryReference>                
                                <l:Value>{arrVarQs[arrVariables[i].VarQsRef + j].Value}</l:Value>
                            </l:Code>;                            
                            CodeSchemeXML.appendChild(CodeXML);
                            CodeSchemeCounter++;
                            }        
                            
                        
                        //LogicalProductXML.appendChild(CategorySchemeXML);
                        //LogicalProductXML.appendChild(CodeSchemeXML);
                        arrCategorySchemeArray.push(CategorySchemeXML);
                        arrCodeSchemeArray.push(CodeSchemeXML);
                        varCategoryScheme++;
                        varCodeScheme=varCodeScheme+arrVariables[i].Length;    
                        
                        var VariableXML:XML = 
                    <l:Variable id={"Variable"+(i+1)} xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                    
                        <r:Name>{arrVariables[i].Name}</r:Name>                    
                        <r:Label>{arrVariables[i].label}</r:Label>                    
                        <r:UniverseReference>                        
                                <r:ID>{arrVariables[i].UniverseID}</r:ID>                        
                        </r:UniverseReference>
                    </l:Variable>;
                    
                    if(arrVariables[i].Concept != -1)
                    {
                        var ConceptReferenceXML:XML = 
                        <l:ConceptReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Concept"+(arrVariables[i].Concept + 1)}</r:ID>                        
                        </l:ConceptReference>;
                        VariableXML.appendChild(ConceptReferenceXML);
                    }
                    
                    if(arrVariables[i].Questions != -1)
                    {
                        var QuestionReferenceXML:XML =     
                        <l:QuestionReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Q"+(arrVariables[i].Questions + 1)}</r:ID>                        
                        </l:QuestionReference>;
                        VariableXML.appendChild(QuestionReferenceXML);
                    }
                        
                    var RepresentationXML:XML =                         
                        <l:Representation xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <l:CodeRepresentation>
                                <r:CodeSchemeReference>
                                    <r:ID>{varCodeSchemeID}</r:ID>
                                </r:CodeSchemeReference>
                            </l:CodeRepresentation>
                        </l:Representation>
                       VariableXML.appendChild(RepresentationXML);    
                       
                VariableSchemeXML.appendChild(VariableXML);
            }
            //else if response domain is Numeric
            else
            {
                
                    var VariableXML:XML = 
                    <l:Variable id={"Variable"+(i+1)} xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                    
                        <r:Name>{arrVariables[i].Name}</r:Name>                    
                        <r:Label>{arrVariables[i].label}</r:Label>                    
                        <r:UniverseReference>                        
                                <r:ID>{arrVariables[i].UniverseID}</r:ID>                        
                        </r:UniverseReference>
                    </l:Variable>;
                    
                    if(arrVariables[i].Concept != -1)
                    {
                        var ConceptReferenceXML:XML = 
                        <l:ConceptReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Concept"+(arrVariables[i].Concept + 1)}</r:ID>                        
                        </l:ConceptReference>;
                        VariableXML.appendChild(ConceptReferenceXML);
                    }
                    
                    if(arrVariables[i].Questions != -1)
                    {
                        var QuestionReferenceXML:XML =     
                        <l:QuestionReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Q"+(arrVariables[i].Questions + 1)}</r:ID>                        
                        </l:QuestionReference>;
                        VariableXML.appendChild(QuestionReferenceXML);
                    }
                        
                  var RepresentationXML:XML =                         
                        <l:Representation xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <l:NumericRepresentation type={arrNumeric[arrVariables[i].NumericIndex].Type}>
                                <r:NumberRange>
                                    <r:Low>{arrNumeric[arrVariables[i].NumericIndex].Low}</r:Low>
                                    <r:High>{arrNumeric[arrVariables[i].NumericIndex].High}</r:High>
                                </r:NumberRange>
                            </l:NumericRepresentation>
                        </l:Representation>
                       VariableXML.appendChild(RepresentationXML);    
                       
                VariableSchemeXML.appendChild(VariableXML);
            } 
        }
        
        //else if a Question has been referenced
        else
        {    
            //------------- if Variable Representation is Code----------------------        
        if(arrVariables[i].Domain == "Code")            
            { 
                //------------- if Variable Domain type is Code or Category----------------------
            if(arrQuestions[arrVariables[i].Questions].ResponseType == "Code"||arrQuestions[arrVariables[i].Questions].ResponseType == "Category")
            {
                //if codes have been modified in Variables (Data Production stage)
                if(arrVarQs[arrVariables[i].VarQsRef].Condition == true)
                {                        
                    //varCategoryScheme contains the count of Category Schemes so that each new Category Scheme added can get a new ID.
                    //create new Code and Category Scheme
                        //----adding category scheme to logical product--------------//
                        var CategorySchemeXML:XML = 
                        <l:CategoryScheme xmlns:l="ddi:logicalproduct:3_0" id={"CategoryScheme"+varCategoryScheme+"_"+InstanceID}>
                        </l:CategoryScheme>;
                                                
                        //CodeSchemeCounter contains the count of Code Schemes so that each new Code Scheme added can get a new ID.
                        //set varCodeSchemeID
                        varCodeSchemeID = "CodeScheme"+CodeSchemeCounter+"_"+InstanceID;
                        var CodeSchemeXML:XML =
                        <l:CodeScheme xmlns:l="ddi:logicalproduct:3_0" id={"CodeScheme"+CodeSchemeCounter+"_"+InstanceID} />;
            
                        for(j=0;j<arrVariables[i].Length;j++)
                            {
                            var CategoryXML:XML = 
                            <l:Category xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0" xmlns:xml="http://www.w3.org/XML/1998/namespace" id={"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme}>
                                <r:Label>{arrVarQs[arrVariables[i].VarQsRef + j].Label}</r:Label>                            
                            </l:Category>;    
                            CategorySchemeXML.appendChild(CategoryXML);
                            varCategory++;
                            
                            var CodeXML:XML = 
                            <l:Code xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                                <l:CategoryReference>
                                    <r:ID>{"Category"+(j+1)+"_"+"CategoryScheme"+varCategoryScheme}</r:ID>
                                </l:CategoryReference>                
                                <l:Value>{arrVarQs[arrVariables[i].VarQsRef + j].Value}</l:Value>
                            </l:Code>;                            
                            CodeSchemeXML.appendChild(CodeXML);
                            CodeSchemeCounter++;
                            }        
                            
                        
                        //LogicalProductXML.appendChild(CategorySchemeXML);
                        //LogicalProductXML.appendChild(CodeSchemeXML);
                        arrCategorySchemeArray.push(CategorySchemeXML);
                        arrCodeSchemeArray.push(CodeSchemeXML);
                        varCategoryScheme++;
                        varCodeScheme=varCodeScheme+arrVariables[i].Length;                                     
                
                        var VariableXML:XML = 
                    <l:Variable id={"Variable"+(i+1)} xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                    
                        <r:Name>{arrVariables[i].Name}</r:Name>                    
                        <r:Label>{arrVariables[i].label}</r:Label>                    
                        <r:UniverseReference>                        
                                <r:ID>{arrVariables[i].UniverseID}</r:ID>                        
                        </r:UniverseReference>
                    </l:Variable>;
                    
                    if(arrVariables[i].Concept != -1)
                    {
                        var ConceptReferenceXML:XML = 
                        <l:ConceptReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Concept"+(arrVariables[i].Concept + 1)}</r:ID>                        
                        </l:ConceptReference>;
                        VariableXML.appendChild(ConceptReferenceXML);
                    }
                    
                    if(arrVariables[i].Questions != -1)
                    {
                        var QuestionReferenceXML:XML =     
                        <l:QuestionReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Q"+(arrVariables[i].Questions + 1)}</r:ID>                        
                        </l:QuestionReference>;
                        VariableXML.appendChild(QuestionReferenceXML);
                    }
                        
                    var RepresentationXML:XML =                         
                        <l:Representation xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <l:CodeRepresentation>
                                <r:CodeSchemeReference>
                                    <r:ID>{varCodeSchemeID}</r:ID>
                                </r:CodeSchemeReference>
                            </l:CodeRepresentation>
                        </l:Representation>
                       VariableXML.appendChild(RepresentationXML);    
                       
                VariableSchemeXML.appendChild(VariableXML);
                }
                //if codes have not been modified in Variables (Data Production stage)
                else
                    //set varCodeSchemeID to ID corresponding to question choosen
                    varCodeSchemeID = "CodeScheme"+arrQuestions[arrVariables[i].Questions].CodeCategoryID+"_"+InstanceID;
                    
                var VariableXML:XML = 
                    <l:Variable id={"Variable"+(i+1)} xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                    
                        <r:Name>{arrVariables[i].Name}</r:Name>                    
                        <r:Label>{arrVariables[i].label}</r:Label>                    
                        <r:UniverseReference>                        
                                <r:ID>{arrVariables[i].UniverseID}</r:ID>                        
                        </r:UniverseReference>
                    </l:Variable>;
                    
                    if(arrVariables[i].Concept != -1)
                    {
                        var ConceptReferenceXML:XML = 
                        <l:ConceptReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Concept"+(arrVariables[i].Concept + 1)}</r:ID>                        
                        </l:ConceptReference>;
                        VariableXML.appendChild(ConceptReferenceXML);
                    }
                    
                    if(arrVariables[i].Questions != -1)
                    {
                        var QuestionReferenceXML:XML =     
                        <l:QuestionReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Q"+(arrVariables[i].Questions + 1)}</r:ID>                        
                        </l:QuestionReference>;
                        VariableXML.appendChild(QuestionReferenceXML);
                    }
                        
                    var RepresentationXML:XML =                         
                        <l:Representation xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <l:CodeRepresentation>
                                <r:CodeSchemeReference>
                                    <r:ID>{varCodeSchemeID}</r:ID>
                                </r:CodeSchemeReference>
                            </l:CodeRepresentation>
                        </l:Representation>
                       VariableXML.appendChild(RepresentationXML);    
                       
                VariableSchemeXML.appendChild(VariableXML);
            }    
            }                        
            //if Variable Representation type is Numeric
            else if(arrVariables[i].Domain == "Numeric")
            {
                var VariableXML:XML = 
                    <l:Variable id={"Variable"+(i+1)} xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                    
                        <r:Name>{arrVariables[i].Name}</r:Name>                    
                        <r:Label>{arrVariables[i].label}</r:Label>                    
                        <r:UniverseReference>                        
                                <r:ID>{arrVariables[i].UniverseID}</r:ID>                        
                        </r:UniverseReference>
                    </l:Variable>;
                    
                    if(arrVariables[i].Concept != -1)
                    {
                        var ConceptReferenceXML:XML = 
                        <l:ConceptReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Concept"+(arrVariables[i].Concept + 1)}</r:ID>                        
                        </l:ConceptReference>;
                        VariableXML.appendChild(ConceptReferenceXML);
                    }
                    
                    if(arrVariables[i].Questions != -1)
                    {
                        var QuestionReferenceXML:XML =     
                        <l:QuestionReference xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">                        
                                <r:ID>{"Q"+(arrVariables[i].Questions + 1)}</r:ID>                        
                        </l:QuestionReference>;
                        VariableXML.appendChild(QuestionReferenceXML);
                    }
                        
                    var RepresentationXML:XML =                         
                        <l:Representation xmlns:l="ddi:logicalproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <l:NumericRepresentation type={arrNumeric[arrVariables[i].NumericIndex].Type}>
                                <r:NumberRange>
                                    <r:Low>{arrNumeric[arrVariables[i].NumericIndex].Low}</r:Low>
                                    <r:High>{arrNumeric[arrVariables[i].NumericIndex].High}</r:High>
                                </r:NumberRange>
                            </l:NumericRepresentation>
                        </l:Representation>
                       VariableXML.appendChild(RepresentationXML);    
                       
                VariableSchemeXML.appendChild(VariableXML);
            }    
        
        }            
    }//outer for
    
    //adding UniverseScheme into Conceptual Component
    UniverseSchemeXML.appendChild(UniverseXML);
    ConceptualComponentXML.appendChild(UniverseSchemeXML);
     
    //adding all Category and Code Schemes into LogicalProduct
    for(var i:int=0;i<arrCategorySchemeArray.length;i++)
    {
        LogicalProductXML.appendChild(arrCategorySchemeArray[i]);
    }
    for(var i:int=0;i<arrCodeSchemeArray.length;i++)
    {
        LogicalProductXML.appendChild(arrCodeSchemeArray[i]);
    }
    
    //adding varibles to Logical Product
    if(arrVariables.length != 0)
        LogicalProductXML.appendChild(VariableSchemeXML);
        
    if(arrVarPosition.length != 0)
    var PhysicalDataProductXML:XML =
        <p:PhysicalDataProduct xmlns:p="ddi:physicaldataproduct:3_0" xmlns:r="ddi:reusable:3_0" id={"PhysicalDataProduct_"+ InstanceID}>
            <p:PhysicalStructureScheme id="PhysicalStructureScheme_9413">
                <p:PhysicalStructure id={"PhysicalStructure1_"+InstanceID}>
                    <p:LogicalProductReference>
                        <r:ID>{"LogicalProduct_"+InstanceID}</r:ID>
                    </p:LogicalProductReference>
                    <p:GrossRecordStructure id={"GrossRecordStructure_"+InstanceID}>
                        <p:LogicalRecordReference>
                            <r:ID>{"LogicalRecord1_"+InstanceID}</r:ID>
                        </p:LogicalRecordReference>
                        <p:PhysicalRecordSegment id={"PhysicalRecordSegment1_"+InstanceID}>
                        </p:PhysicalRecordSegment>
                    </p:GrossRecordStructure>
                </p:PhysicalStructure>
            </p:PhysicalStructureScheme>            
        </p:PhysicalDataProduct>;
    
    if(arrVarPosition.length != 0)    
    var RecordLayoutSchemeXML:XML = 
        <p:RecordLayoutScheme xmlns:p="ddi:physicaldataproduct:3_0" xmlns:r="ddi:reusable:3_0" id={"RecordLayoutScheme_" + InstanceID}>                
        </p:RecordLayoutScheme>;
        
    if(arrVarPosition.length != 0)    
    var RecordLayoutXML:XML = 
        <p:RecordLayout xmlns:p="ddi:physicaldataproduct:3_0" xmlns:r="ddi:reusable:3_0" id={"RecordLayout1_" + InstanceID}>
            <p:PhysicalStructureReference>
                <r:ID>{"PhysicalStructure1_" + InstanceID}</r:ID>
                <p:PhysicalRecordSegmentUsed>{"PhysicalRecordSegment1_"+InstanceID}</p:PhysicalRecordSegmentUsed>
            </p:PhysicalStructureReference>    
            <p:CharacterSet>ASCII</p:CharacterSet>
            <p:ArrayBase>1</p:ArrayBase>            
        </p:RecordLayout>;        
        
        
    for(var i:int=0;i<arrVarPosition.length;i++)
    {        
        if(arrVarPosition[i].Width != "")    
            {        
                var DataItemXML:XML = 
                    <p:DataItem xmlns:p="ddi:physicaldataproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <p:VariableReference>
                                <r:ID>{arrVariables[arrVarPosition[i].Variable].Name}</r:ID>
                            </p:VariableReference>
                            <p:PhysicalLocation>
                                <p:StartPosition>{arrVarPosition[i].StartPos}</p:StartPosition>
                                <p:Width>{arrVarPosition[i].Width}</p:Width>
                            </p:PhysicalLocation>
                    </p:DataItem>;
            }        
        else
            {
                var DataItemXML:XML = 
                    <p:DataItem xmlns:p="ddi:physicaldataproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <p:VariableReference>
                                <r:ID>{arrVariables[arrVarPosition[i].Variable].Name}</r:ID>
                            </p:VariableReference>
                            <p:PhysicalLocation>
                                <p:StartPosition>{arrVarPosition[i].StartPos}</p:StartPosition>
                                <p:EndPosition>{arrVarPosition[i].EndPos}</p:EndPosition>
                            </p:PhysicalLocation>
                    </p:DataItem>;    
            }    
        /*else
            {
                var DataItemXML:XML = 
                    <p:DataItem xmlns:p="ddi:physicaldataproduct:3_0" xmlns:r="ddi:reusable:3_0">
                            <p:VariableReference>
                                <r:ID>{arrVariables[arrVarPosition[i].Variable].Name}</r:ID>
                            </p:VariableReference>
                            <p:PhysicalLocation>
                                <p:StartPosition>{arrVarPosition[i].StartPos}</p:StartPosition>
                                <p:Width>{arrVarPosition[i].Width}</p:Width>
                                <p:EndPosition>{arrVarPosition[i].EndPos}</p:EndPosition>
                            </p:PhysicalLocation>
                    </p:DataItem>;    
            }    */
    RecordLayoutXML.appendChild(DataItemXML);
    }    
    if(arrVarPosition.length != 0)
    {
        RecordLayoutSchemeXML.appendChild(RecordLayoutXML);    
        PhysicalDataProductXML.appendChild(RecordLayoutSchemeXML);
    }
    
    //creating PhysicalInstance information
    if(txtNumCases.text=="" && txtOverallRecord.text == "")
    {
    var PhysicalInstanceXML:XML = 
    <pi:PhysicalInstance xmlns:pi="ddi:physicalinstance:3_0" xmlns:r="ddi:reusable:3_0" id={"PhysicalInstance_"+InstanceID} >
        <pi:RecordLayoutReference>
            <r:ID>{"RecordLayout1_" +  InstanceID}</r:ID>
        </pi:RecordLayoutReference>
        <pi:DataFileIdentification id={"DataFileIdentification_File1_"+InstanceID}>
            <pi:URI>{txtDataIdentificationURI.text}</pi:URI>
        </pi:DataFileIdentification>        
    </pi:PhysicalInstance>;    
    }
    else if(txtNumCases.text=="")
    {
    var PhysicalInstanceXML:XML = 
    <pi:PhysicalInstance xmlns:pi="ddi:physicalinstance:3_0" xmlns:r="ddi:reusable:3_0" id={"PhysicalInstance_"+InstanceID} >
        <pi:RecordLayoutReference>
            <r:ID>{"RecordLayout1_" +  InstanceID}</r:ID>
        </pi:RecordLayoutReference>
        <pi:DataFileIdentification id={"DataFileIdentification_File1_"+InstanceID}>
            <pi:URI>{txtDataIdentificationURI.text}</pi:URI>
        </pi:DataFileIdentification>
        <pi:GrossFileStructure id="GrossFileStructure_File1_9413">            
            <pi:OverallRecordCount>{txtOverallRecord.text}</pi:OverallRecordCount>
        </pi:GrossFileStructure>
    </pi:PhysicalInstance>;
    }
    else if(txtOverallRecord.text == "")
    {
    var PhysicalInstanceXML:XML = 
    <pi:PhysicalInstance xmlns:pi="ddi:physicalinstance:3_0" xmlns:r="ddi:reusable:3_0" id={"PhysicalInstance_"+InstanceID} >
        <pi:RecordLayoutReference>
            <r:ID>{"RecordLayout1_" +  InstanceID}</r:ID>
        </pi:RecordLayoutReference>
        <pi:DataFileIdentification id={"DataFileIdentification_File1_"+InstanceID}>
            <pi:URI>{txtDataIdentificationURI.text}</pi:URI>
        </pi:DataFileIdentification>
        <pi:GrossFileStructure id="GrossFileStructure_File1_9413">
            <pi:CaseQuantity>{txtNumCases.text}</pi:CaseQuantity>            
        </pi:GrossFileStructure>
    </pi:PhysicalInstance>;
    }
    else
    {
    var PhysicalInstanceXML:XML = 
    <pi:PhysicalInstance xmlns:pi="ddi:physicalinstance:3_0" xmlns:r="ddi:reusable:3_0" id={"PhysicalInstance_"+InstanceID} >
        <pi:RecordLayoutReference>
            <r:ID>{"RecordLayout1_" +  InstanceID}</r:ID>
        </pi:RecordLayoutReference>
        <pi:DataFileIdentification id={"DataFileIdentification_File1_"+InstanceID}>
            <pi:URI>{txtDataIdentificationURI.text}</pi:URI>
        </pi:DataFileIdentification>
        <pi:GrossFileStructure id="GrossFileStructure_File1_9413">
            <pi:CaseQuantity>{txtNumCases.text}</pi:CaseQuantity>
            <pi:OverallRecordCount>{txtOverallRecord.text}</pi:OverallRecordCount>
        </pi:GrossFileStructure>
    </pi:PhysicalInstance>;
    }
    
//-------------------------creating LifeCycleInformation----------------------------------------------------------------                        
            //Study Proposal  
            i=0;
                while(true)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].StudyProposal==true)
                        {
                        varAgency = "Individual"+(arrColl[i].index-1);
                        break;
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].StudyProposal==true)
                        {
                        varAgency = "Organization"+(arrColl[i].index-1);
                        break;
                        }
                    else
                    i++;
                    if(i>=arrColl.length)
                        break;    
                }   
                       
            if(rdbSingle0.selected==true)
            {
            
            if(cmbDate.text==" ")
                {
                    if(cmbMonth.dataProvider[cmbMonth.selectedIndex].data==99)
                    {
                            var Date:String = cmbYear.text;
                    }
                    
                    else
                        var Date:String = cmbYear.text+"-"+(cmbMonth.dataProvider[cmbMonth.selectedIndex].data); 
                    
                }
            else
                    var Date:String = cmbYear.text+"-"+(cmbMonth.dataProvider[cmbMonth.selectedIndex].data)+"-"+ cmbDate.text;
                    
            var LifeCycleInformationXML:XML = 
                    <r:LifecycleInformation xmlns:r="ddi:reusable:3_0" >
                        <r:LifecycleEvent id={"StudyProposal_" + InstanceID}>
                            <r:Date>
                                <r:SimpleDate>{Date}</r:SimpleDate>
                            </r:Date>
                            <r:AgencyOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AgencyOrganizationReference>
                            <r:Description>Study Proposal</r:Description>
                        </r:LifecycleEvent>
                    </r:LifecycleInformation>
            }
            else
            {
                
                if(cmbDate0.text==" ")
                {
                    if(cmbMonth0.dataProvider[cmbMonth0.selectedIndex].data==99)
                    {
                            var Date0:String = cmbYear0.text;
                    }
                    else
                    var Date0:String = cmbYear0.text+"-"+(cmbMonth0.dataProvider[cmbMonth0.selectedIndex].data); 
                    
                }
                else
                    var Date0:String = cmbYear0.text+"-"+(cmbMonth0.dataProvider[cmbMonth0.selectedIndex].data)+"-"+ cmbDate0.text;
                     
                if(cmbDate1.text==" ")
                {
                    if(cmbMonth1.dataProvider[cmbMonth1.selectedIndex].data==99)
                    {
                            var Date1:String = cmbYear1.text;
                    }
                    else
                    var Date1:String = cmbYear1.text+"-"+(cmbMonth1.dataProvider[cmbMonth1.selectedIndex].data); 
                    
                }
                else
                    var Date1:String = cmbYear1.text+"-"+(cmbMonth1.dataProvider[cmbMonth1.selectedIndex].data)+"-"+ cmbDate1.text;

                                
                var LifeCycleInformationXML:XML = 
                    <r:LifecycleInformation xmlns:r="ddi:reusable:3_0" >
                        <r:LifecycleEvent id={"StudyProposal_" + InstanceID}>
                            <r:Date>
                                <r:StartDate>{Date0}</r:StartDate>
                                <r:EndDate>{Date1}</r:EndDate>
                            </r:Date>
                            <r:AgencyOrganizationReference>
                                <r:ID>{varAgency}</r:ID>
                            </r:AgencyOrganizationReference>
                            <r:Description>Study Proposal</r:Description>
                        </r:LifecycleEvent>
                    </r:LifecycleInformation>
            }                    
            
                        
            //Study Funding            
            
            if(rdbSingle20.selected==true)
            {
                i=0;
                while(true)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].FundingAgency==true)
                        {
                        FundingID = "Individual"+(arrColl[i].index-1);
                        break;
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].FundingAgency==true)
                        {
                        FundingID = "Organization"+(arrColl[i].index-1);
                        break;
                        }
                    else
                    i++;
                    if(i>=arrColl.length)
                        break;    
                }
                  if(cmbDate20.text==" ")
                {
                    if(cmbMonth20.dataProvider[cmbMonth20.selectedIndex].data==99)
                    {
                            var Date20:String = cmbYear20.text;
                    }
                    else
                    var Date20:String = cmbYear20.text+"-"+(cmbMonth20.dataProvider[cmbMonth20.selectedIndex].data); 
                    
                }
                else
                    var Date20:String = cmbYear20.text+"-"+(cmbMonth20.dataProvider[cmbMonth20.selectedIndex].data)+"-"+ cmbDate20.text;      
    
                FundingLifeCycleEventXML= 
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"StudyFunding_" + InstanceID}>
                            <r:Date>
                                <r:SimpleDate>{Date20}</r:SimpleDate>
                            </r:Date>
                            <r:AgencyOrganizationReference>
                                <r:ID>{FundingID}</r:ID>
                            </r:AgencyOrganizationReference>
                            <r:Description>Study Funding</r:Description>
                        </r:LifecycleEvent>                    
            }
            else if(rdbRange20.selected == true)
            {
                i=0;
                while(true)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].FundingAgency==true)
                        {
                        FundingID = "Individual"+(arrColl[i].index-1);
                        break;
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].FundingAgency==true)
                        {
                        FundingID = "Organization"+(arrColl[i].index-1);
                        break;
                        }
                    else
                    i++;    
                }
                if(cmbDate21.text==" ")
                {
                    if(cmbMonth21.dataProvider[cmbMonth21.selectedIndex].data==99)
                    {
                            var Date21:String = cmbYear21.text;
                    }
                    else
                    var Date21:String = cmbYear21.text+"-"+(cmbMonth21.dataProvider[cmbMonth21.selectedIndex].data); 
                    
                }
                else
                    var Date21:String = cmbYear21.text+"-"+(cmbMonth21.dataProvider[cmbMonth21.selectedIndex].data)+"-"+ cmbDate21.text;
                     
                if(cmbDate22.text==" ")
                {
                    if(cmbMonth22.dataProvider[cmbMonth22.selectedIndex].data==99)
                    {
                            var Date22:String = cmbYear22.text;
                    }
                    else
                    var Date22:String = cmbYear22.text+"-"+(cmbMonth22.dataProvider[cmbMonth22.selectedIndex].data); 
                    
                }
                else
                    var Date22:String = cmbYear22.text+"-"+(cmbMonth22.dataProvider[cmbMonth22.selectedIndex].data)+"-"+ cmbDate22.text;
                                
 
                 FundingLifeCycleEventXML =                      
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"StudyFunding_" + InstanceID}>
                            <r:Date>
                                <r:StartDate>{Date21}</r:StartDate>
                                <r:EndDate>{Date22}</r:EndDate>
                            </r:Date>
                            <r:AgencyOrganizationReference>
                                <r:ID>{FundingID}</r:ID>
                            </r:AgencyOrganizationReference>
                            <r:Description>Study Funding</r:Description>
                        </r:LifecycleEvent>                    
            }
            else
            {
                FundingLifeCycleEventXML =                     
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"StudyFunding_" + InstanceID}>
                            <r:AgencyOrganizationReference>
                                <r:ID>{FundingID}</r:ID>
                            </r:AgencyOrganizationReference>
                            <r:Description>Study Funding</r:Description>
                        </r:LifecycleEvent>                                    
            }
            
            //Study Concepts
            var ConceptsID:Array = new Array;
            var ConceptsLifeCycleEventXML:XML = new XML;
             
             if(rdbSingle17.selected==true)
            {                
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].StudyConcepts==true)
                        {
                        ConceptsID.push("Individual"+(arrColl[i].index-1)); 
                        
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].StudyConcepts==true)
                        {
                        ConceptsID.push("Organization"+(arrColl[i].index-1));
                        
                        }
                   }
      
                  if(cmbDate17.text==" ")
                {
                    if(cmbMonth17.dataProvider[cmbMonth17.selectedIndex].data==99)
                    {
                            var Date17:String = cmbYear17.text;
                    }
                    else
                    var Date17:String = cmbYear17.text+"-"+(cmbMonth17.dataProvider[cmbMonth17.selectedIndex].data); 
                    
                }
                else
                    var Date17:String = cmbYear17.text+"-"+(cmbMonth17.dataProvider[cmbMonth17.selectedIndex].data)+"-"+ cmbDate17.text;      
    
                
                ConceptsLifeCycleEventXML= 
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"StudyConcepts_" + InstanceID}>
                            <r:Date>
                                <r:SimpleDate>{Date17}</r:SimpleDate>
                            </r:Date>
                        </r:LifecycleEvent>
                            
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{ConceptsID[0]}</r:ID>
                            </r:AgencyOrganizationReference>
                    ConceptsLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Defining Concepts</r:Description>;
                    
                  ConceptsLifeCycleEventXML.appendChild(DescriptionXML);                                                      
                                            
            }
            else if(rdbRange17.selected == true)
            {
             
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].StudyConcepts==true)
                        {
                        ConceptsID.push("Individual"+(arrColl[i].index-1));
                        
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].StudyConcepts==true)
                        {
                        ConceptsID.push("Organization"+(arrColl[i].index-1));                    
                        }
                        
                }
                if(cmbDate18.text==" ")
                {
                    if(cmbMonth18.dataProvider[cmbMonth18.selectedIndex].data==99)
                    {
                            var Date18:String = cmbYear18.text;
                    }
                    else
                    var Date18:String = cmbYear18.text+"-"+(cmbMonth18.dataProvider[cmbMonth18.selectedIndex].data); 
                    
                }
                else
                    var Date18:String = cmbYear18.text+"-"+(cmbMonth18.dataProvider[cmbMonth18.selectedIndex].data)+"-"+ cmbDate18.text;
                     
                if(cmbDate19.text==" ")
                {
                    if(cmbMonth19.dataProvider[cmbMonth19.selectedIndex].data==99)
                    {
                            var Date19:String = cmbYear19.text;
                    }
                    else
                    var Date19:String = cmbYear19.text+"-"+(cmbMonth19.dataProvider[cmbMonth19.selectedIndex].data); 
                    
                }
                else
                    var Date19:String = cmbYear19.text+"-"+(cmbMonth19.dataProvider[cmbMonth19.selectedIndex].data)+"-"+ cmbDate19.text;
                                
 
                 ConceptsLifeCycleEventXML =                      
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"StudyConcepts_" + InstanceID}>
                            <r:Date>
                                <r:StartDate>{Date18}</r:StartDate>
                                <r:EndDate>{Date19}</r:EndDate>
                            </r:Date>
                        </r:LifecycleEvent>
                 
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{ConceptsID[0]}</r:ID>
                            </r:AgencyOrganizationReference>
                    ConceptsLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Defining Concepts</r:Description>;
                    
                  ConceptsLifeCycleEventXML.appendChild(DescriptionXML);
                                            
            }
            else
            {
                ConceptsLifeCycleEventXML =                     
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"StudyConcepts_" + InstanceID}> 
                        </r:LifecycleEvent>
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{ConceptsID[0]}</r:ID>
                            </r:AgencyOrganizationReference>;
                    ConceptsLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Defining Concepts</r:Description>;
                    
                  ConceptsLifeCycleEventXML.appendChild(DescriptionXML);                                       
            }
            
            
            //Questionnaire Design
            var QsDesignID:String = new String;
            var QsDesignLifeCycleEventXML:XML = new XML;
             
             if(rdbSingle11.selected==true)
            {                
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].QsDesign==true)
                        {
                        QsDesignID="Individual"+(arrColl[i].index-1);                         
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].QsDesign==true)
                        {
                        QsDesignID="Organization"+(arrColl[i].index-1);                        
                        }
                   }
      
                  if(cmbDate11.text==" ")
                {
                    if(cmbMonth11.dataProvider[cmbMonth11.selectedIndex].data==99)
                    {
                            var Date11:String = cmbYear11.text;
                    }
                    else
                    var Date11:String = cmbYear11.text+"-"+(cmbMonth11.dataProvider[cmbMonth11.selectedIndex].data);                     
                }
                else
                    var Date11:String = cmbYear11.text+"-"+(cmbMonth11.dataProvider[cmbMonth11.selectedIndex].data)+"-"+ cmbDate11.text;      
    
                
                QsDesignLifeCycleEventXML= 
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Instrument_" + InstanceID}>
                            <r:Date>
                                <r:SimpleDate>{Date11}</r:SimpleDate>
                            </r:Date>
                        </r:LifecycleEvent>
                            
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{QsDesignID}</r:ID>
                            </r:AgencyOrganizationReference>
                    QsDesignLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Instrument Design</r:Description>;
                    
                  QsDesignLifeCycleEventXML.appendChild(DescriptionXML);                                                      
                                            
            }
            else if(rdbRange11.selected == true)
            {
             
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].QsDesign==true)
                        {
                        QsDesignID="Individual"+(arrColl[i].index-1);                        
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].QsDesign==true)
                        {
                        QsDesignID="Organization"+(arrColl[i].index-1);                    
                        }                        
                }
                if(cmbDate12.text==" ")
                {
                    if(cmbMonth12.dataProvider[cmbMonth12.selectedIndex].data==99)
                    {
                            var Date12:String = cmbYear12.text;
                    }
                    else
                    var Date12:String = cmbYear12.text+"-"+(cmbMonth12.dataProvider[cmbMonth12.selectedIndex].data); 
                    
                }
                else
                    var Date12:String = cmbYear12.text+"-"+(cmbMonth12.dataProvider[cmbMonth12.selectedIndex].data)+"-"+ cmbDate12.text;
                     
                if(cmbDate13.text==" ")
                {
                    if(cmbMonth13.dataProvider[cmbMonth13.selectedIndex].data==99)
                    {
                            var Date13:String = cmbYear13.text;
                    }
                    else
                    var Date13:String = cmbYear13.text+"-"+(cmbMonth13.dataProvider[cmbMonth13.selectedIndex].data); 
                    
                }
                else
                    var Date13:String = cmbYear13.text+"-"+(cmbMonth13.dataProvider[cmbMonth13.selectedIndex].data)+"-"+ cmbDate13.text;
                                
 
                 QsDesignLifeCycleEventXML =                      
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Instrument_" + InstanceID}>
                            <r:Date>
                                <r:StartDate>{Date12}</r:StartDate>
                                <r:EndDate>{Date13}</r:EndDate>
                            </r:Date>
                        </r:LifecycleEvent>
                 
                 
                 var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{QsDesignID}</r:ID>
                            </r:AgencyOrganizationReference>
                 QsDesignLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                 var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Instrument Design</r:Description>;
                    
                 QsDesignLifeCycleEventXML.appendChild(DescriptionXML);
                                            
            }
            else
            {
                QsDesignLifeCycleEventXML =                     
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Instrument_" + InstanceID} />
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{QsDesignID}</r:ID>
                            </r:AgencyOrganizationReference>
                    QsDesignLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Instrument Design</r:Description>;
                    
                  QsDesignLifeCycleEventXML.appendChild(DescriptionXML);                                       
            }
            
            //Questionnaire Translation
            var QsTranslationID:Array = new Array;
            var QsTranslationLifeCycleEventXML:XML = new XML;
             
             if(rdbSingle14.selected==true)
            {                
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].QsTranslation==true)
                        {
                        ConceptsID.push("Individual"+(arrColl[i].index-1));                         
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].QsTranslation==true)
                        {
                        ConceptsID.push("Organization"+(arrColl[i].index-1));                        
                        }
                   }
      
                  if(cmbDate14.text==" ")
                {
                    if(cmbMonth14.dataProvider[cmbMonth14.selectedIndex].data==99)
                    {
                            var Date14:String = cmbYear14.text;
                    }
                    else
                    var Date14:String = cmbYear14.text+"-"+(cmbMonth14.dataProvider[cmbMonth14.selectedIndex].data); 
                    
                }
                else
                    var Date14:String = cmbYear14.text+"-"+(cmbMonth14.dataProvider[cmbMonth14.selectedIndex].data)+"-"+ cmbDate14.text;      
    
                
                QsTranslationLifeCycleEventXML= 
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Translation_" + InstanceID}>
                            <r:Date>
                                <r:SimpleDate>{Date14}</r:SimpleDate>
                            </r:Date>
                        </r:LifecycleEvent>
                            
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{ConceptsID[0]}</r:ID>
                            </r:AgencyOrganizationReference>
                    QsTranslationLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Questionnaire Translation</r:Description>;
                    
                  QsTranslationLifeCycleEventXML.appendChild(DescriptionXML);                                                      
                                            
            }
            else if(rdbRange14.selected == true)
            {
             
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].QsTranslation==true)
                        {
                        ConceptsID.push("Individual"+(arrColl[i].index-1));
                        
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].QsTranslation==true)
                        {
                        ConceptsID.push("Organization"+(arrColl[i].index-1));                    
                        }
                        
                }
                if(cmbDate15.text==" ")
                {
                    if(cmbMonth15.dataProvider[cmbMonth15.selectedIndex].data==99)
                    {
                            var Date15:String = cmbYear15.text;
                    }
                    else
                    var Date15:String = cmbYear15.text+"-"+(cmbMonth15.dataProvider[cmbMonth15.selectedIndex].data); 
                    
                }
                else
                    var Date15:String = cmbYear15.text+"-"+(cmbMonth15.dataProvider[cmbMonth15.selectedIndex].data)+"-"+ cmbDate15.text;
                     
                if(cmbDate16.text==" ")
                {
                    if(cmbMonth16.dataProvider[cmbMonth16.selectedIndex].data==99)
                    {
                            var Date16:String = cmbYear16.text;
                    }
                    else
                    var Date16:String = cmbYear16.text+"-"+(cmbMonth16.dataProvider[cmbMonth16.selectedIndex].data); 
                    
                }
                else
                    var Date16:String = cmbYear16.text+"-"+(cmbMonth16.dataProvider[cmbMonth16.selectedIndex].data)+"-"+ cmbDate16.text;
                                
 
                 QsTranslationLifeCycleEventXML =                      
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Translation_" + InstanceID}>
                            <r:Date>
                                <r:StartDate>{Date15}</r:StartDate>
                                <r:EndDate>{Date16}</r:EndDate>
                            </r:Date>
                        </r:LifecycleEvent>
                 
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{ConceptsID[0]}</r:ID>
                            </r:AgencyOrganizationReference>
                   QsTranslationLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Questionnaire Translation</r:Description>;
                    
                  QsTranslationLifeCycleEventXML.appendChild(DescriptionXML);
                                            
            }
            else
            {
                QsTranslationLifeCycleEventXML =                     
                        <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Translation_" + InstanceID} />
                 
                      var AgencyOrganizationReferenceXML:XML =
                            <r:AgencyOrganizationReference xmlns:r="ddi:reusable:3_0">
                                <r:ID>{ConceptsID[0]}</r:ID>
                            </r:AgencyOrganizationReference>
                   QsTranslationLifeCycleEventXML.appendChild(AgencyOrganizationReferenceXML);        
                  
                  
                  var DescriptionXML:XML=
                            <r:Description xmlns:r="ddi:reusable:3_0">Questionnaire Translation</r:Description>;
                    
                  QsTranslationLifeCycleEventXML.appendChild(DescriptionXML);                                       
            }
            
            
            
            //Data Collection 
            var DataCollLifeCycleEventXML:XML = new XML;
            
             if(rdbSingle2.selected==true)
            {
                DataCollLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Data_Collection_" + InstanceID}>
                    <r:Date>
                        <r:SimpleDate>{Date24}</r:SimpleDate>
                    </r:Date>
                    <r:AgencyOrganizationReference>
                        <r:ID>{CollectingDataID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>Data collection</r:Description>
                </r:LifecycleEvent>;
            }
            else if(rdbRange2.selected==true)
            {
               DataCollLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Data_Collection_" + InstanceID}>
                    <r:Date>
                        <r:StartDate>{Date25}</r:StartDate>
                        <r:EndDate>{Date26}</r:EndDate>
                    </r:Date>
                    <r:AgencyOrganizationReference>
                        <r:ID>{CollectingDataID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>Data collection</r:Description>
                </r:LifecycleEvent>;
            }
            else
            {
                DataCollLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Data_Collection_" + InstanceID}>
                    <r:AgencyOrganizationReference>
                        <r:ID>{CollectingDataID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>Data collection</r:Description>
                </r:LifecycleEvent>;
            }    
            
            //Sampling
            var SamplingID:String = new String;
            var SamplingLifeCycleEventXML:XML = new XML;
             
             if(rdbSingle1.selected==true)
            {                
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].Sampling==true)
                        {
                        SamplingID="Individual"+(arrColl[i].index-1);                         
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].Sampling==true)
                        {
                        SamplingID="Organization"+(arrColl[i].index-1);                        
                        }
                   }
      
                  if(cmbDate1.text==" ")
                {
                    if(cmbMonth1.dataProvider[cmbMonth1.selectedIndex].data==99)
                    {
                            var Date1:String = cmbYear1.text;
                    }
                    else
                    var Date1:String = cmbYear1.text+"-"+(cmbMonth1.dataProvider[cmbMonth1.selectedIndex].data);                     
                }
                else
                    var Date1:String = cmbYear1.text+"-"+(cmbMonth1.dataProvider[cmbMonth1.selectedIndex].data)+"-"+ cmbDate1.text;      
    
                SamplingLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Sampling_" + InstanceID}>
                    <r:Date>
                        <r:SimpleDate>{Date1}</r:SimpleDate>
                    </r:Date>
                    <r:AgencyOrganizationReference>
                        <r:ID>{SamplingID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>Sampling</r:Description>
                </r:LifecycleEvent>;
                                                                      
                                            
            }
            else if(rdbRange1.selected == true)
            {
             
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].Sampling==true)
                        {
                        SamplingID="Individual"+(arrColl[i].index-1);                        
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].Sampling==true)
                        {
                        SamplingID="Organization"+(arrColl[i].index-1);                    
                        }                        
                }
                if(cmbDate2.text==" ")
                {
                    if(cmbMonth2.dataProvider[cmbMonth2.selectedIndex].data==99)
                    {
                            var Date2:String = cmbYear2.text;
                    }
                    else
                    var Date2:String = cmbYear2.text+"-"+(cmbMonth2.dataProvider[cmbMonth2.selectedIndex].data); 
                    
                }
                else
                    var Date2:String = cmbYear2.text+"-"+(cmbMonth2.dataProvider[cmbMonth2.selectedIndex].data)+"-"+ cmbDate2.text;
                     
                if(cmbDate3.text==" ")
                {
                    if(cmbMonth3.dataProvider[cmbMonth3.selectedIndex].data==99)
                    {
                            var Date3:String = cmbYear3.text;
                    }
                    else
                    var Date3:String = cmbYear3.text+"-"+(cmbMonth3.dataProvider[cmbMonth3.selectedIndex].data); 
                    
                }
                else
                    var Date3:String = cmbYear3.text+"-"+(cmbMonth3.dataProvider[cmbMonth3.selectedIndex].data)+"-"+ cmbDate3.text;
                                
                 SamplingLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Sampling_" + InstanceID}>
                    <r:Date>
                        <r:StartDate>{Date2}</r:StartDate>
                        <r:EndDate>{Date3}</r:EndDate>
                    </r:Date>
                    <r:AgencyOrganizationReference>
                        <r:ID>{SamplingID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>Sampling</r:Description>
                </r:LifecycleEvent>;
            
            }
            else
            {
                    SamplingLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"Sampling_" + InstanceID}>
                    <r:AgencyOrganizationReference>
                        <r:ID>{SamplingID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>Sampling</r:Description>
                </r:LifecycleEvent>;
                                                
            }
            
            //Data Production
            var DataProductionID:String = new String;
            var DataProductionLifeCycleEventXML:XML = new XML;
             
             if(rdbSingle3.selected==true)
            {                
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].DataProduction==true)
                        {
                        DataProductionID="Individual"+(arrColl[i].index-1);                         
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].DataProduction==true)
                        {
                        DataProductionID="Organization"+(arrColl[i].index-1);                        
                        }
                   }
      
                  if(cmbDate5.text==" ")
                {
                    if(cmbMonth1.dataProvider[cmbMonth5.selectedIndex].data==99)
                    {
                            var Date1:String = cmbYear5.text;
                    }
                    else
                    var Date1:String = cmbYear5.text+"-"+(cmbMonth5.dataProvider[cmbMonth5.selectedIndex].data);                     
                }
                else
                    var Date1:String = cmbYear5.text+"-"+(cmbMonth5.dataProvider[cmbMonth5.selectedIndex].data)+"-"+ cmbDate5.text;      
    
                DataProductionLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"DataProduction_" + InstanceID}>
                    <r:Date>
                        <r:SimpleDate>{Date1}</r:SimpleDate>
                    </r:Date>
                    <r:AgencyOrganizationReference>
                        <r:ID>{DataProductionID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>DataProduction</r:Description>
                </r:LifecycleEvent>;
                                                                      
                                            
            }
            else if(rdbRange3.selected == true)
            {
             
                for(i=0;i<arrColl.length;i++)
                {
                    if(arrColl[i].id=="Individual" && arrColl[i].DataProduction==true)
                        {
                        DataProductionID="Individual"+(arrColl[i].index-1);                        
                        }
                    else if(arrColl[i].id=="Organization" && arrColl[i].DataProduction==true)
                        {
                        DataProductionID="Organization"+(arrColl[i].index-1);                    
                        }                        
                }
                if(cmbDate6.text==" ")
                {
                    if(cmbMonth6.dataProvider[cmbMonth6.selectedIndex].data==99)
                    {
                            var Date2:String = cmbYear6.text;
                    }
                    else
                    var Date2:String = cmbYear6.text+"-"+(cmbMonth6.dataProvider[cmbMonth6.selectedIndex].data); 
                    
                }
                else
                    var Date2:String = cmbYear6.text+"-"+(cmbMonth6.dataProvider[cmbMonth6.selectedIndex].data)+"-"+ cmbDate6.text;
                     
                if(cmbDate7.text==" ")
                {
                    if(cmbMonth7.dataProvider[cmbMonth7.selectedIndex].data==99)
                    {
                            var Date3:String = cmbYear7.text;
                    }
                    else
                    var Date3:String = cmbYear7.text+"-"+(cmbMonth7.dataProvider[cmbMonth7.selectedIndex].data); 
                    
                }
                else
                    var Date3:String = cmbYear7.text+"-"+(cmbMonth7.dataProvider[cmbMonth7.selectedIndex].data)+"-"+ cmbDate7.text;
                                
                 DataProductionLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"DataProduction_" + InstanceID}>
                    <r:Date>
                        <r:StartDate>{Date2}</r:StartDate>
                        <r:EndDate>{Date3}</r:EndDate>
                    </r:Date>
                    <r:AgencyOrganizationReference>
                        <r:ID>{DataProductionID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>DataProduction</r:Description>
                </r:LifecycleEvent>;
                             
            }
            else
            {
                DataProductionLifeCycleEventXML =     
                <r:LifecycleEvent xmlns:r="ddi:reusable:3_0" id={"DataProduction_" + InstanceID}>                    
                    <r:AgencyOrganizationReference>
                        <r:ID>{DataProductionID}</r:ID>
                    </r:AgencyOrganizationReference>
                    <r:Description>DataProduction</r:Description>
                </r:LifecycleEvent>;
                                                
            }
//-------------------------------------------------------------------------------------------------------------                        
          
            StudyUnitXML.appendChild(CitationXML);
            StudyUnitXML.appendChild(AbstractXML);
            StudyUnitXML.appendChild(UniverseReferenceXML);            
            if (FundingFlag == true)
                StudyUnitXML.appendChild(FundingInformationXML);
            StudyUnitXML.appendChild(PurposeXML);
            if(varLowerLevelReference != "NONE" && varTopLevelReference != "NONE" && txtSpatialCoverage.text != "")
                StudyUnitXML.appendChild(CoverageXML);                        
            GeographicStructureSchemeXML.appendChild(GeographicStructureXML);
            // if geographic levels are entered...
            if (GeographicLevelsFlag == true)
            {
                ConceptualComponentXML.appendChild(GeographicStructureSchemeXML);
                ConceptualComponentXML.appendChild(GeographicLocationSchemeXML);
            }                                    
            StudyUnitXML.appendChild(ConceptualComponentXML);
            StudyUnitXML.appendChild(DataCollectionXML);
            StudyUnitXML.appendChild(LogicalProductXML);
            if(arrVarPosition.length != 0)
                StudyUnitXML.appendChild(PhysicalDataProductXML);
            if(txtNumCases.text !="" && txtOverallRecord.text != "" && txtDataIdentificationURI.text != "")    
                StudyUnitXML.appendChild(PhysicalInstanceXML);
            
            ArchiveXML.appendChild(OrganizationSchemeXML);
            //adding LifeCycle Event Nodes
            if (rdbSingle20.selected == true || rdbRange20.selected == true)
                LifeCycleInformationXML.appendChild(FundingLifeCycleEventXML);
            if (rdbSingle17.selected == true || rdbRange17.selected == true)
                LifeCycleInformationXML.appendChild(ConceptsLifeCycleEventXML);
            if (rdbSingle11.selected == true || rdbRange11.selected == true)
                LifeCycleInformationXML.appendChild(QsDesignLifeCycleEventXML);
            if (rdbSingle2.selected == true || rdbRange2.selected == true)
                LifeCycleInformationXML.appendChild(DataCollLifeCycleEventXML);  
            if (rdbSingle1.selected == true || rdbRange1.selected == true)
                LifeCycleInformationXML.appendChild(SamplingLifeCycleEventXML);    
            if (rdbSingle14.selected == true || rdbRange14.selected == true)
                LifeCycleInformationXML.appendChild(QsTranslationLifeCycleEventXML);  
            if (rdbSingle3.selected == true || rdbRange3.selected == true)
                LifeCycleInformationXML.appendChild(DataProductionLifeCycleEventXML);      
                     
                           
            ArchiveXML.appendChild(LifeCycleInformationXML);                        
            StudyUnitXML.appendChild(ArchiveXML);
            DDIInstanceXML.appendChild(StudyUnitXML);            
            txtXMLOutput.text = DDIInstanceXML.toString();
        }   
        
       
        
        public function cmbFullName5Clicked():void
        {            
            if(cmbFullName5.text != "New" && cmbFullName5.text !=  "-------------------------------------")
                {                     
                     txtFName5.text = arrCollPIIndividual3.getItemAt(cmbFullName5.selectedIndex).FName;
                     txtLName5.text = arrCollPIIndividual3.getItemAt(cmbFullName5.selectedIndex).LName;
                     txtMName5.text =  arrCollPIIndividual3.getItemAt(cmbFullName5.selectedIndex).MName;
                     txtPosition5.text =  arrCollPIIndividual3.getItemAt(cmbFullName5.selectedIndex).Position;
                     txtFName5.enabled = false;
                     txtMName5.enabled = false;
                     txtLName5.enabled = false;
                     txtPosition5.enabled = false;
                     btnEditIndInfo.enabled = true;
                     btnIndDel.enabled = true;
                     btnEditOrgInfo.enabled = false;
                     btnOrgDel5.enabled = false;
                     cmbOrgName5.enabled = false;
                     // if this is -1, means there is no organization associated with this individual.                  
                     if (arrCollPIIndividual3.getItemAt(cmbFullName5.selectedIndex).OrgIndex==-1)
                    {
                        cmbOrgName5.selectedIndex = -1;
                    }
                    else
                    {
                        cmbOrgName5.selectedIndex = arrCollPIIndividual3.getItemAt(cmbFullName5.selectedIndex).OrgIndex;
                    }                                     
                    cmbOrgName5Clicked();
                    btnEditOrgInfo.enabled = false;
                    btnOrgDel5.enabled = false;
                   /* if(currentState=='Study Funding')
                        btnAnotherPI3.enabled = true;
                    else
                        btnAnotherPI3.enabled = false;*/                    
                }
            else if (cmbFullName5.text == "New")        
                {            
                
                txtFName5.text="";                
                txtLName5.text = "";
                txtMName5.text = "";
                txtPosition5.text = "";
                txtFName5.enabled = true;
                txtMName5.enabled = true;
                  txtLName5.enabled = true;
                  txtPosition5.enabled = true;
                  btnEditIndInfo.enabled = false;  
                  btnIndDel.enabled= false;
                cmbOrgName5.enabled = true;
                cmbOrgName5.selectedIndex = 0;
                  cmbOrgName5Clicked();
                  btnAnotherPI3.enabled = true;
                }
            else
                {
                
                txtFName5.text="";
                txtMName5.text = "";
                txtLName5.text = "";
                txtPosition5.text = "";
                txtFName5.enabled = false;
                txtMName5.enabled = false;
                  txtLName5.enabled = false;
                  txtPosition5.enabled = false;                                
                  btnEditIndInfo.enabled = true;           
                  btnIndDel.enabled= true          
                cmbOrgName5.enabled = false;
                cmbOrgName5.selectedIndex = 0;
                  cmbOrgName5Clicked();
                  btnEditIndInfo.enabled = false;
                  btnIndDel.enabled=false;
                  btnAnotherPI3.enabled = false;                  
                }    
        }
        
        public function cmbOrgName5Clicked():void
        {
          
            btnEditOrgInfo.label = "Edit Organization Information"
            if(cmbOrgName5.selectedIndex == -1)
            {
                txtOrgName5.text="";
                txtStreetAdd5.text = "";
                txtCity5.text = "";
                txtAbbrev5.text = "";
                txtCountry5.text = "";
                txtState5.text = "" ;
                //btnEditOrgInfo.label = "Add Organization"
                btnEditOrgInfo.enabled = false; 
                btnOrgDel5.enabled = false;               
                //cmbOrgName5.selectedIndex=arrCollPIOrganization3Supplier.length -1;
                txtOrgName5.enabled = false;
                txtAbbrev5.enabled = false;
                  txtStreetAdd5.enabled = false;
                  txtCity5.enabled = false;
                  txtState5.enabled = false;
                  txtCountry5.enabled = false;                  
                  btnEditOrgInfo.enabled = true;
                  btnOrgDel5.enabled = false;
            }
            else if(cmbOrgName5.text != "New" && cmbOrgName5.text !=  "-------------------------------------")
                { 
                txtOrgName5.text = arrCollPIOrganization3Supplier.getItemAt(cmbOrgName5.selectedIndex).OrgName;
                txtStreetAdd5.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName5.selectedIndex).StreetAdd;
                txtCity5.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName5.selectedIndex).City;
                txtAbbrev5.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName5.selectedIndex).Abbrev;
                txtCountry5.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName5.selectedIndex).Country;
                txtState5.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName5.selectedIndex).State;            
                txtOrgName5.enabled = false;
                txtAbbrev5.enabled = false;
                  txtStreetAdd5.enabled = false;
                  txtCity5.enabled = false;
                  txtState5.enabled = false;
                  txtCountry5.enabled = false;                  
                  btnEditOrgInfo.enabled = true;
                  btnOrgDel5.enabled = true;   
                    
                }
            else if (cmbOrgName5.text == "New")        
                {            
                
                txtOrgName5.text="";
                txtOrgName5.enabled = true;
                txtStreetAdd5.text = "";
                txtCity5.text = "";
                txtAbbrev5.text = "";
                txtCountry5.text = "";
                txtState5.text = "" ;
                txtAbbrev5.enabled = true;
                  txtStreetAdd5.enabled = true;
                  txtCity5.enabled = true;
                  txtState5.enabled = true;
                  txtCountry5.enabled = true;
                  btnEditOrgInfo.enabled = false;  
                  btnOrgDel5.enabled = false;
                }
            else
                {
                txtOrgName5.text="";
                txtStreetAdd5.text = "";
                txtCity5.text = "";
                txtAbbrev5.text = "";
                txtCountry5.text = "";
                txtState5.text = "" ;
                txtOrgName5.enabled = false;
                txtAbbrev5.enabled = false;
                  txtStreetAdd5.enabled = false;
                  txtCity5.enabled = false;
                  txtState5.enabled = false;
                  txtCountry5.enabled = false;                  
                  btnEditOrgInfo.enabled = false; 
                  btnOrgDel5.enabled = false;                    
                }    
                    
        }
        
        public function cmbOrgName6Clicked():void
        {
        
            
            if(cmbOrgName6.text != "New" && cmbOrgName6.text !=  "-------------------------------------")
                { 
                
                txtOrgName6.text =     arrCollPIOrganization3Supplier.getItemAt(cmbOrgName6.selectedIndex).OrgName;
                txtStreetAdd6.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName6.selectedIndex).StreetAdd;
                txtCity6.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName6.selectedIndex).City;
                txtAbbrev6.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName6.selectedIndex).Abbrev;
                txtCountry6.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName6.selectedIndex).Country;
                txtState6.text =  arrCollPIOrganization3Supplier.getItemAt(cmbOrgName6.selectedIndex).State;            
                btnEditOrgInfo6.enabled = true;
                btnDelOrg6.enabled = true;
                txtOrgName6.enabled = false;
                txtStreetAdd6.enabled = false;
                txtCity6.enabled = false;
                txtAbbrev6.enabled = false;
                txtCountry6.enabled = false;
                txtState6.enabled = false;
                }
            else if (cmbOrgName6.text == "New")            
                {
                btnEditIndInfo.enabled = true;
                btnIndDel.enabled=false;
                btnAnotherPI3.enabled = true;
                txtOrgName6.text = "";
                txtStreetAdd6.text = "";
                txtCity6.text = "";
                txtAbbrev6.text = "";
                txtCountry6.text = "";
                txtState6.text = "" ;
                txtOrgName6.enabled = true;
                btnEditOrgInfo6.enabled = false;
                btnDelOrg6.enabled = false;
                txtStreetAdd6.enabled = true;
                txtCity6.enabled = true;
                txtAbbrev6.enabled = true;
                txtCountry6.enabled = true;
                txtState6.enabled = true;
                }        
            else
                {
                
                txtOrgName6.text="";
                txtStreetAdd6.text = "";
                txtCity6.text = "";
                txtAbbrev6.text = "";
                txtCountry6.text = "";
                txtState6.text = "" ;
                btnEditOrgInfo6.enabled = false;
                btnDelOrg6.enabled = false;
                txtOrgName6.enabled = false;
                txtAbbrev6.enabled = false;
                  txtStreetAdd6.enabled = false;
                  txtCity6.enabled = false;
                  txtState6.enabled = false;
                  txtCountry6.enabled = false;                  
                  btnEditOrgInfo.enabled = true;     
                  btnOrgDel5.enabled = true;                
                }        
        }        
             function NewStudyEntered():void            
            {    
                            
                /*expandV1.end();
                  expandV1.play();
                  expandH.end();
                  expandH.play();
                  expandV2.end();
                  expandV2.play();*/
                   
            }
 

            public function btnPIBackClicked():void
            {
                //clearing all text boxes
                txtFName5.text = "";
                  txtMName5.text = "";
                  txtLName5.text = "";
                  txtPosition5.text = "";
                  
                  txtAbbrev5.text="";
                  txtStreetAdd5.text="";
                  txtCity5.text="";
                  txtState5.text="";
                  txtCountry5.text="";
                  
                txtAbbrev6.text="";
                txtStreetAdd6.text="";
                txtCity6.text="";
                txtState6.text="";
                txtCountry6.text="";
                if(arrCollPIOrganization3Supplier.length > 0)   
                {
                cmbOrgName5.selectedIndex = 0;
                cmbOrgName6.selectedIndex = 0;
                cmbOrgName5Clicked();
                cmbOrgName6Clicked();
                }                
                //hiding all cans and buttons
                btnPIBack.visible = false;
                  btnAnotherPI3.visible = false;
                  canOrganization3.visible = false;
                  canIndividual3.visible = false;
                  rdbOrganization3.visible = true;
                  rdbIndividual3.visible = true;
                  rdbOrganization3.selected = false;
                  rdbIndividual3.selected = false;


            }                  
           private function closeApp():void
           {
               /*currentState='Welcome';             
               Alert.show("into closeApp","");
               var urlString:String = "javascript:self.close()";
               var request:URLRequest = new URLRequest(urlString);
               navigateToURL(request, "_self");*/
           }      
            public function btnCopyToClipboardPressed():void
            {
                flash.system.System.setClipboard(txtXMLOutput.text);
                Alert.show("The XML code has been placed on your clipboard.","Operation Successfull!");
            }      
            
            private function IndRowNum(oItem:Object,iCol:int):String
              {
                var iIndex:int = arrCollPIIndividual3.getItemIndex(oItem);
                return String(iIndex);
              }
              
              private function OrgRowNum(oItem:Object,iCol:int):String
              {
                var iIndex:int = arrCollPIOrganization3Supplier.getItemIndex(oItem);
                return String(iIndex);
              }
              public var myTip,myTip1:ToolTip;
              public function handleMouseOver(event:MouseEvent):void
            {
                var s:String = "If day/month are not known, select blanks to indicate missing fields.";
                myTip = ToolTipManager.createToolTip(s,event.currentTarget.x + event.currentTarget.width +30+161, 
                   event.currentTarget.y+176+60) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 150;
                myTip.height = event.currentTarget.height;
            }
            public function handleMouseOver1(event:MouseEvent):void
            {
                var s:String = "If day/month are not known, select blanks to indicate missing fields.";
                myTip = ToolTipManager.createToolTip(s,event.currentTarget.x + event.currentTarget.width +30+161, 
                   event.currentTarget.y+176+60+64) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 150;
                myTip.height = event.currentTarget.height;
            }
            
            private function destroyBigTip():void {
                    ToolTipManager.destroyToolTip(myTip);
            }
            
            public function WelcomeRollover(event:MouseEvent):void
            {
                var s:String = "Study ID \ncan contain\nonly letters\nor numbers. ";
                myTip = ToolTipManager.createToolTip(s,355+381+10,550+23) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 80;
                myTip.height = 90;            
            }
            
            public function ConceptsRollOver(event:MouseEvent):void
            {
                var s:String = "Please list all individual \nconcepts here. \nYou can group concepts \nusing the 'Group \nConcepts' option. You can\nedit a Concept by selecting\nit.";
                myTip = ToolTipManager.createToolTip(s,event.currentTarget.x + event.currentTarget.width +30+161, 
                   event.currentTarget.y+176+60+30) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 150;
                myTip.height = event.currentTarget.height;
            }
            
            public function ConceptGroupsRollOver(event:MouseEvent):void
            {
                var s:String = "You can can add a new group by selecting member concepts and clicking on the 'Add Group' button.You can edit a concept/concept group by selecting in 'Concepts Explorer'";
                myTip = ToolTipManager.createToolTip(s,event.currentTarget.x + event.currentTarget.width +30+161, 
                   event.currentTarget.y+176+60+30) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 150;
                myTip.height = event.currentTarget.height;
            }
            
            public function VarPositionRollOver(event:MouseEvent):void
            {
                var s:String = "'Starting Position' and \n'Width'/'End Position'are \nneeded.";
                myTip = ToolTipManager.createToolTip(s,event.currentTarget.x + event.currentTarget.width +30+161, 
                   event.currentTarget.y+176+60+50) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 150;
                myTip.height = event.currentTarget.height;
            }
            
            public function GeogRollover():void
            {
                var s:String = "If there are multiple locations, enter the values in the corresponding textboxes in comma separated form.\n\nExample: Ann Arbor, Detroit, Chicago.";
                myTip = ToolTipManager.createToolTip(s,624+161,36+176+160) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 233;
                myTip.height = 95;
            }
            
            public function AffiliationRollover(event:MouseEvent):void
            {
                var s:String = "Organization \nname is \nmandatory if\ndefining\naffiliation.";
                myTip = ToolTipManager.createToolTip(s,event.currentTarget.x + event.currentTarget.width +30+161,event.currentTarget.y+176+60+70) as ToolTip;
                myTip.setStyle("backgroundColor",0xFFCC00);
                myTip.width = 100;
                myTip.height = event.currentTarget.height;
            }
            
            private function AccordianToolTipShown(evt:ToolTipEvent):void {
                var tt:ToolTip = evt.toolTip as ToolTip;               
                tt.x = accordion1.x;
                tt.y = (accordion1.y - tt.height);
                tt.rotation = 7;
                   tt.setStyle("border-style","errorTipAbove");
                   tt.setStyle("fontFamily","ComicSansMSEmbedded");
                   tt.setStyle("fontSize",12);
                   tt.setStyle("fontWeight","normal");
                   tt.setStyle("borderColor","haloOrange");
                   tt.setStyle("color","black");
            }
            
            private function exitStudyConcepts()
            {
                btnAnotherPI3Pressed()
                if(canConcepts.visible==true)
                {
                    AddConcepts();    
                    canConceptGroup.visible = false;
                    canConcepts.visible=true;                                        
                }
                else if(canConceptGroup.visible==true)
                {
                    if(txtConceptGroup.text!="")
                    {
                        AddConceptGroup();
                    }
                }
            }
            
            private const FILE_URL:String = "http://www-personal.umich.edu/~aalapd/DDI_Editor/DDIDataStructures.xlsx";
            private var fileRef:FileReference;
            private var urlReq:URLRequest;
            
            private function doEvent(evt:Event):void {
                /* Create shortcut to the FileReference object. */
                var fr:FileReference = evt.currentTarget as FileReference;   
             
                try {
                    /* Update the Model. */
                    fileRefModel.creationDate = fr.creationDate;
                    fileRefModel.creator = fr.creator;
                    fileRefModel.modificationDate = fr.modificationDate;
                    fileRefModel.name = fr.name;
                    fileRefModel.size = fr.size;
                    fileRefModel.type = fr.type;
                    /* Display the Text control. */
                    //txt.visible = true;
                } catch (err:*) {
                    /* uh oh, an error of sorts. */
                }
            } 
            
            private function downloadFile():void {
                /* URL of the file to download. */
                
                urlReq = new URLRequest(FILE_URL);     
                /* Clear existing array collection. */
                //arrColl = new ArrayCollection();
                /* Hide the Text control. */
                //txt.visible = false;
                /* Begin download. */
                fileRef.download(urlReq);
            }  
        ]]>    
    </mx:Script>
    <mx:Binding source="dgCodeValue.dataProvider as ArrayCollection"
            destination="CodeValueData" />
    <mx:Binding source="dgCodeValueTransQues.dataProvider as ArrayCollection"
            destination="CodeValueData" />            
    <mx:Binding source="dgValueRepresentationTypeCode.dataProvider as ArrayCollection"
            destination="ValueRepresentationTypeCode" />    
    <mx:Binding source="dgVarNames.dataProvider as ArrayCollection"
            destination="VariablesList" />
    <mx:Binding source="dgConceptGroup.dataProvider as ArrayCollection"
            destination="arrCollConcepts" />
    <mx:Binding source="dgValueRepresentationTypeCode.dataProvider as ArrayCollection"
            destination="CodeValueData2" />        
       

    <!--<mx:Binding source="lstEnteredVariables.dataProvider as Array"
            destination="VariablesList" />-->
    <mx:states>
        <mx:State name="Study Funding" enterState="StudyFundingEntered()" exitState="btnAnotherPI3Pressed()">
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:SetProperty target="{radiobutton2}" name="selected" value="true"/>
            <!--<mx:RemoveChild target="{canvas2}"/>-->
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:AddChild relativeTo="{accordion1}" position="firstChild">
                <mx:Canvas height="182" label="Date" id="canvas0" width="1001">
                    <mx:Canvas y="10" label="Date" id="canvas20" left="10" right="10" height="172">
                            <mx:Canvas x="40" y="58" width="344" height="77" id="canSingle20" visible="false" backgroundColor="#EBEAEA" backgroundAlpha="0.62" cornerRadius="12" borderStyle="solid" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()" borderColor="#B7BABC">
                                    <mx:Label x="10" y="24" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="195" y="24" dataProvider="{day}" id="cmbDate20" change="cmbD20=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="22" dataProvider="{month}" id="cmbMonth20" change="cmbM20=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="257" y="25" dataProvider="{year}" id="cmbYear20" editable="true" change="cmbY20=ComboBox(event.target).text.toString()" text="aalap"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:RadioButton x="40" y="28" label="Single" id="rdbSingle20" groupName="grpDate20" click="rdbSingle20Clicked()"/>
                            <mx:RadioButton x="107" y="28" label="Range" id="rdbRange20" groupName="grpDate20" click="rdbRange20Clicked()"/>
                            <mx:Canvas x="40" y="58" width="350" height="83" id="canRange20" visible="false" backgroundColor="#EBEAEA" backgroundAlpha="0.62" cornerRadius="12" borderStyle="solid" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="10" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:Label x="10" y="47" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="195" y="12" dataProvider="{day}" id="cmbDate21" change="cmbD21=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="10" dataProvider="{month}" id="cmbMonth21" change="cmbM21=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="257" y="13" dataProvider="{year}" id="cmbYear21" editable="true" change="cmbY21=ComboBox(event.target).text.toString()"></mx:ComboBox>
                                    <mx:ComboBox x="195" y="45" dataProvider="{day}" id="cmbDate22" change="cmbD22=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="45" dataProvider="{month}" id="cmbMonth22" change="cmbM22=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="257" y="46" dataProvider="{year}" id="cmbYear22" editable="true" change="cmbY22=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:Button x="135" y="143" label="Change type of Date" id="btnDateBack20" click="btnDateBack20Clicked()" visible="false"/>
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:RemoveChild target="{canvas}"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Grant" width="100%" height="100%">
                    <mx:Label x="10" y="35" text="Grant No" width="76" fontWeight="bold" fontSize="11"/>
                    <mx:TextInput x="94" y="33" id="txtGrantNo" borderColor="#B7BABC"/>
                    <mx:TextArea x="325" y="23" height="78" enabled="true" editable="false" backgroundColor="#FFCC00" borderStyle="outset" borderColor="#000000">
                        <mx:text><![CDATA[Defining a Funding Agency is mandatory for entering Grant No.
]]></mx:text>
                    </mx:TextArea>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{label1}" name="text" value="Study Funding"/>
            <mx:SetProperty target="{canvas2}" name="label" value="Funding Agency"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value=" Change type of Funding Agency"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="label" value="Add another Funding Agency"/>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="visible" value="false"/>
            <mx:RemoveChild target="{label7}"/>
            <mx:SetStyle target="{accordion1}" name="borderStyle" value="solid"/>
            
        </mx:State>
        <mx:State name="Help" basedOn="Welcome">
            <mx:RemoveChild target="{textarea2}"/>
            <mx:SetProperty target="{pnlTask}" name="width" value="1039"/>
            <mx:SetProperty target="{pnlTask}" name="height" value="533"/>
            <mx:SetProperty target="{pnlTask}" name="x" value="111"/>
            <mx:SetProperty target="{pnlTask}" name="y" value="155"/>
            <mx:RemoveChild target="{btnNewStudy}"/>
            <mx:SetProperty target="{pnlTask}" name="title" value="DDI Transformer Help"/>
            <mx:SetProperty target="{label6}" name="text" value="Help"/>
            <mx:RemoveChild target="{lnkDDIHome}"/>
            <mx:AddChild relativeTo="{controlbar1}" position="before">
                <mx:TextArea x="24" y="22" text="Help Documentation will come in here." width="256" height="23" editable="false"/>
            </mx:AddChild>
        </mx:State>
        <mx:State name="Welcome">
            <mx:RemoveChild target="{bar}"/>
            <mx:RemoveChild target="{radiobutton1}"/>
            <mx:RemoveChild target="{radiobutton2}"/>
            <mx:RemoveChild target="{radiobutton3}"/>
            <mx:RemoveChild target="{radiobutton4}"/>
            <mx:RemoveChild target="{radiobutton5}"/>
            <mx:RemoveChild target="{radiobutton6}"/>
            <mx:RemoveChild target="{lblVersion}"/>
            <mx:AddChild position="lastChild">
                <mx:VRule x="599" y="97" width="0" height="276"/>
            </mx:AddChild>
            <mx:AddChild position="lastChild">
                <mx:TextArea x="191" y="125" width="814" height="344" fontSize="18" fontFamily="Times New Roman" borderStyle="solid" editable="false" id="textarea2" backgroundAlpha="0.0" borderColor="#000000" backgroundColor="#DEF2FE" cornerRadius="12" fontWeight="bold" color="#000000" borderThickness="2">
                    <mx:text><![CDATA[
DDI 3.0 Editor-Lite is an authoring tool created at ICPSR to support the production of DDI 3.0 Instances. It generates DDI 3.0-XML markup providing  basic study and variable-level descriptions of simple, survey-type datasets.

DDI 3.0 Editor-Lite is designed to facilitate the documentation of a study's lifecycle from project design through production, but it may also be used to generate more limited content, or to create retrospective descriptions of research projects.

The Data Documentation Initiative (DDI) is an international effort to establish and promote a standard for technical documentation describing social science data. A membership-based Alliance supports and develops the DDI specification, which is written in XML. 

More information about the Alliance and the standard itself can be found at ]]></mx:text>
                </mx:TextArea>
            </mx:AddChild>
            <mx:SetStyle target="{lblDDI}" name="color" value="#000000"/>
            <mx:RemoveChild target="{canvas}"/>
            <mx:RemoveChild target="{canvas2}"/>
            <mx:RemoveChild target="{label1}"/>
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{accordion1}"/>
            <mx:SetProperty target="{radiobutton0}" name="visible" value="false"/>

            <mx:AddChild position="lastChild">
                <mx:Panel x="355" y="516" width="486" height="152" layout="absolute" title="What would you like to do Today?" id="pnlTask" cornerRadius="12" fontSize="12">
                    <mx:Button y="32" label="Start a new Study" width="161.5" height="22" fillAlphas="[1.0, 1.0, 1.0, 1.0]" fillColors="[#2B83C7, #2487D3, #2B83C7, #2B83C7]" click="currentState='New Study'" id="btnNewStudy" textAlign="left" x="152.25">
                        <mx:toolTip>Select this option if this is the first time that you are entering information about a study.</mx:toolTip>
                    </mx:Button>
                    <mx:ControlBar height="31" id="controlbar1">
            <mx:Spacer width="100%" id="spacer1"/>
            
        </mx:ControlBar>
                </mx:Panel>
            </mx:AddChild>
            <mx:SetProperty target="{lblDDI}" name="x" value="448"/>
            <mx:SetStyle name="borderStyle" value="outset"/>
            <mx:RemoveChild target="{label3}"/>
            
            <mx:SetProperty target="{myMenuBar}" name="buttonMode" value="true"/>
            <mx:SetStyle target="{myMenuBar}" name="cornerRadius" value="11"/>
            <mx:SetProperty target="{applicationcontrolbar1}" name="visible" value="false"/>
            <mx:SetProperty target="{myMenuBar}" name="visible" value="true"/>
            <mx:RemoveChild target="{button4}"/>
            <mx:RemoveChild target="{button5}"/>
            <mx:RemoveChild target="{button6}"/>
            <mx:RemoveChild target="{button7}"/>
            <mx:RemoveChild target="{button8}"/>
            <mx:RemoveChild target="{button3}"/>
            <mx:RemoveChild target="{button9}"/>
            <mx:RemoveChild target="{lblStudyID0}"/>
            <mx:AddChild position="lastChild">
                <mx:Label x="517" y="44" text="Welcome" width="161.5" textAlign="center" fontSize="16" fontWeight="bold" fontFamily="Verdana" id="label6"/>
            </mx:AddChild>
            <mx:RemoveChild target="{lblStudyID}"/>
            <mx:SetProperty target="{lblDDI}" name="text" value="DDI 3.0 Editor-Lite"/>
            <mx:AddChild position="lastChild">
                <mx:LinkButton x="788" y="415" label="http://www.ddialliance.org" id="lnkDDIHome" cornerRadius="12" width="208" textAlign="left" color="#000CFF" fontSize="12">
                    <mx:click>navigateToURL(new URLRequest('http://www.ddialliance.org'), 'quote')</mx:click>
                </mx:LinkButton>
            </mx:AddChild>
            <mx:SetStyle name="cornerRadius" value="6"/>
            <mx:SetStyle target="{lblDDI}" name="fontSize" value="22"/>
            <mx:SetProperty target="{button10}" name="y" value="10"/>
            <mx:RemoveChild target="{button10}"/>
            <mx:AddChild position="lastChild" target="{button10}"/>
            <mx:SetProperty target="{imgDDI}" name="source" value="@Embed('../assets/ddi logo.JPG')"/>
            <mx:SetProperty target="{button10}" name="visible" value="false"/>


            <!-- <mx:AddChild relativeTo="{pnlContainer}" position="lastChild"> 
                <mx:VRule x="487.2" y="10" width="5.5" height="280"/>
            </mx:AddChild> -->
        </mx:State>
    
        
        <mx:State name="Study Concepts" enterState="StudyConceptsEntered()" exitState="exitStudyConcepts()">

            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:AddChild relativeTo="{accordion1}" position="firstChild">
                <mx:Canvas height="217" label="Date" id="canvas8" width="981.5">
                    <mx:Canvas y="10" label="Date" id="canvas19" left="10" right="9" height="197">
                            <mx:Canvas x="49" y="66" width="344" height="77" id="canSingleDate17" visible="false" backgroundColor="#EBEAEA" backgroundAlpha="0.62" cornerRadius="12" borderStyle="solid" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="5.5" y="30" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="12"/>
                                    <mx:ComboBox x="190.5" y="30" dataProvider="{day}" id="cmbDate17" change="cmbD17=ComboBox(event.target).selectedIndex">                                            
                                    </mx:ComboBox>
                                    <mx:ComboBox x="102.5" y="28" dataProvider="{month}" id="cmbMonth17" change="cmbM17=ComboBox(event.target).selectedIndex">                                            
                                    </mx:ComboBox>
                                    <mx:ComboBox x="256.5" y="32" dataProvider="{year}" id="cmbYear17" editable="true" change="cmbY17=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:Canvas x="49" y="66" width="344" height="91" id="canRange17" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="10" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="12"/>
                                    <mx:Label x="10" y="47" text="End Date" width="75" height="18" fontWeight="bold" fontSize="12"/>
                                    <mx:ComboBox x="195" y="12" dataProvider="{day}" id="cmbDate18" change="cmbD18=ComboBox(event.target).selectedIndex">
                                            
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="10" dataProvider="{month}" id="cmbMonth18" change="cmbM18=ComboBox(event.target).selectedIndex">
                                            
                                    </mx:ComboBox>
                                    <mx:ComboBox x="261" y="14" dataProvider="{year}" id="cmbYear18" editable="true" change="cmbY18=ComboBox(event.target).text.toString()"></mx:ComboBox>
                                    <mx:ComboBox x="195" y="45" dataProvider="{day}" id="cmbDate19" change="cmbD19=ComboBox(event.target).selectedIndex">
                                            
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="45" dataProvider="{month}" id="cmbMonth19" change="cmbM19=ComboBox(event.target).selectedIndex">
                                            
                                    </mx:ComboBox>
                                    <mx:ComboBox x="261" y="47" dataProvider="{year}" id="cmbYear19" editable="true" change="cmbY19=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:RadioButton x="49" y="36" label="Single" id="rdbSingle17" click="rdbSingle17Clicked()" groupName="grpDate17"/>
                            <mx:RadioButton x="125" y="36" label="Range" id="rdbRange17" click="rdbRange17Clicked()" groupName="grpDate17"/>
                            <mx:Button x="142" y="165" label="Change type of Date" id="btnDateBack17"  click="btnDateBack17Clicked()" visible="false"/>
                        
                    
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:RemoveChild target="{canvas}"/>
            <mx:SetProperty target="{label1}" name="text" value="Study Concepts"/>
            <mx:SetProperty target="{radiobutton3}" name="selected" value="true"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Concepts" width="100%" height="100%"  borderStyle="none">
                    <mx:VRule x="589" y="37" width="1" height="252" id="vBarConcept" visible="false" strokeColor="#000000"/>
                    <mx:Canvas x="238" y="20" width="754" height="356" borderStyle="solid" backgroundColor="#EBEAEA" backgroundAlpha="0.62" cornerRadius="12" borderColor="#B7BABC" id="canConceptGroup" visible="false"  >
                        <mx:Button x="214" y="322" label="Add Group" id="btnNewConceptGroup0" click="AddConceptGroup()"/>
                        <mx:DataGrid x="58" y="85" editable="false" id="dgConceptGroup" enabled="true" dataProvider="{arrCollConcepts}" creationComplete="{intdgValueRepresentationTypeCode()}" height="189" width="450" visible="true">
                            <mx:columns>                                
                                <mx:DataGridColumn headerText="Concepts" dataField="label" width="150"/>
                                <mx:DataGridColumn headerText="Include in Group" dataField="grpInclude" editable="false" width="70" paddingLeft="12">
                                   <mx:itemRenderer>
                                          <mx:Component>
                                             <mx:CheckBox click="data.grpInclude=!data.grpInclude"  selected="{data.grpInclude}"/>
                                          </mx:Component>                        
                                      </mx:itemRenderer>
                                </mx:DataGridColumn>
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="43" y="40" text="Group Name" width="103" textAlign="center" fontSize="11" fontWeight="normal"/>
                        <mx:TextInput x="169" y="39" id="txtConceptGroup" borderStyle="inset" borderColor="#B7BABC"/>
                        <mx:TextArea x="582" y="10" height="334" enabled="true" editable="false" backgroundColor="#FFCC00" borderStyle="outset" borderColor="#000000">
                            <mx:text><![CDATA[You can add a new group by selecting member concepts and clicking on the 'Add Group' button. You can edit a concept or concept group by selecting them in 'Concepts Explorer'. To add further groups, select 'Concept Groups' in 'Concepts Explorer'. 
]]></mx:text>
                        </mx:TextArea>
                    </mx:Canvas>
                    <mx:Canvas x="21" y="20" width="214" height="356" borderStyle="solid" backgroundColor="#EBEAEA" backgroundAlpha="0.62" cornerRadius="12" borderColor="#B7BABC" id="canConceptGroup0" visible="true">
                        <mx:Tree x="10" y="36" id="treeConcepts" dataProvider="{ConceptGroupListXML}"  labelFunction="treeLabel" width="191" visible="true" showRoot="false" itemClick="TreeitemClickEvt(event)" height="308"></mx:Tree>
                        <mx:Label x="11" y="10" text="Concepts Explorer" width="191" fontWeight="normal" fontStyle="normal"/>
                    </mx:Canvas>
                    <mx:Canvas x="238" y="20" width="754" height="356" borderStyle="solid" backgroundColor="#EBEAEA" backgroundAlpha="0.62" cornerRadius="12"  borderColor="#B7BABC" id="canConcepts" visible="true" enabled="true">
                        <mx:Button x="244" y="257" label="Group Concepts" id="btnNewConceptGroup" click="AddConcepts()"/>
                        <mx:List x="166" y="67" dataProvider="{arrConcepts}" editable="true" creationComplete="initConceptList()" width="250" id="lstConcepts" alternatingItemColors="[0xEEEEEE, 0xDFDFDF]" enabled="true"></mx:List>
                        <mx:Label x="44" y="40" text="Individual Concepts" width="172" textAlign="center" fontSize="11" fontWeight="normal"/>
                        <mx:TextArea x="582" y="10" height="334" enabled="true" editable="false" backgroundColor="#FFCC00" borderStyle="outset" borderColor="#000000">
                            <mx:text><![CDATA[Please list individual concepts here. 
You can edit a concept by selecting it. 
You can group concepts using the 'Group Concepts' option.
]]></mx:text>
                        </mx:TextArea>
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:SetProperty target="{accordion1}" name="y" value="177"/>
            <mx:SetProperty target="{canvas2}" name="label" value="Responsibility"/>
            <mx:SetStyle target="{accordion1}" name="borderColor" value="#FFFFFF"/>
            <mx:SetStyle target="{accordion1}" name="borderStyle" value="none"/>
            <mx:SetProperty target="{accordion1}" name="errorString">
                <mx:value>Both Date and Responsibility are needed to create a description of the LifeCycle Event.</mx:value>
            </mx:SetProperty>
            <mx:RemoveChild target="{label7}"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value=" Change type of Responsibility"/>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetStyle name="borderStyle" value="solid"/>
            <mx:RemoveChild target="{btnAnotherPI3}"/>
        </mx:State>
        <mx:State name="Questions" enterState="QuestionsEntered()">
            <mx:RemoveChild target="{canvas}"/>
            
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:AddChild relativeTo="{accordion1}" position="firstChild">
                <mx:Canvas label="Questionnaire Design Date" width="100%" height="100%">
                    <mx:Canvas y="10" label="Date" id="canvas14" width="978" x="10" height="183">
                            
                            <mx:Canvas x="32" y="65" width="357" height="55" id="canSingleDate11" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="29" y="12" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="214" y="12" dataProvider="{day}" id="cmbDate11" change="cmbD11=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="126" y="10" dataProvider="{month}" id="cmbMonth11" change="cmbM11=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="282" y="12" dataProvider="{year}" id="cmbYear11" editable="true" change="cmbY11=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:Canvas x="32" y="65" width="343" height="84" id="canRange11" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="10" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:Label x="10" y="47" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="195" y="12" dataProvider="{day}" id="cmbDate12" change="cmbD12=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="10" dataProvider="{month}" id="cmbMonth12" change="cmbM12=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="263" y="12" dataProvider="{year}" id="cmbYear12" editable="true" change="cmbY12=ComboBox(event.target).text.toString()"></mx:ComboBox>
                                    <mx:ComboBox x="195" y="45" dataProvider="{day}" id="cmbDate13" change="cmbD13=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="45" dataProvider="{month}" id="cmbMonth13" change="cmbM13=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="263" y="45" dataProvider="{year}" id="cmbYear13" editable="true" change="cmbY13=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:RadioButton x="32" y="35" label="Single" id="rdbSingle11" groupName="rdbGrp11" click="rdbSingle11Clicked()"/>
                            <mx:RadioButton x="108" y="35" label="Range" id="rdbRange11" groupName="rdbGrp11" click="rdbRange11Clicked()"/>
                            <mx:Button x="140" y="161" label="Change type of Date" id="btnDateBack11" click="btnDateBack11Clicked()" visible="false"/>
                        
                    
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:SetProperty target="{radiobutton4}" name="selected" value="true"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Questions" width="100%" height="100%" backgroundColor="#FFFFFF" backgroundAlpha="0.0">
                    <mx:Label x="10" y="20" text="Concept" width="72" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="178" y="16" id="cmbConcept" dataProvider="{arrConcepts}" change="cmbCon=ComboBox(event.target).selectedIndex" width="175">
                        <mx:toolTip>You can choose not to include Concepts by selecting blanks from the bottom of the list</mx:toolTip>
                    </mx:ComboBox>
                    <mx:Label x="10" y="57" text="Question Text" width="99" fontWeight="bold" fontSize="11"/>
                    <mx:TextInput x="178" y="53" id="txtQsText"/>
                    <mx:Label x="455.5" y="54" text="Original Language" width="141" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="651" y="53" id="cmbOriginalLanguage" editable="true" enabled="true" dataProvider="{languages}" change="filldgCodeValue()">
                        <mx:toolTip>If your required language is not listed, please enter the code for that language in the Box. Please use the ISO 639-1 standard code for languages.</mx:toolTip>
                    </mx:ComboBox>
                    <mx:Label x="10" y="107" text="Question Response Domain" width="212" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="259" y="106" id="cmbQsResponse" editable="false" dataProvider="{questionResponse}" change="cmbQsResponseTypePressed(event)"></mx:ComboBox>
                    <mx:DataGrid x="10" y="163" editable="true" id="dgCodeValue" enabled="true" dataProvider="{CodeValueData}" creationComplete="{initdgCodeValue()}" height="217" width="563" visible="true">
                        <mx:columns>
                            <mx:DataGridColumn headerText="Value" dataField="value" width="20"/>
                            <mx:DataGridColumn headerText="Label" dataField="label" width="120"/>
                            <mx:DataGridColumn headerText="Original Language" dataField="originalLanguage" width="40"/>
                        </mx:columns>
                    </mx:DataGrid>
                    <mx:Button x="178" y="413" label="Save Question" width="191" click="anotherQuestion()" id="btnAnotherQuestion"/>
                    <mx:DataGrid x="10" y="164" editable="true" id="dgCodeValue0" enabled="true" dataProvider="{CodeValueData}" creationComplete="{initdgCodeValue()}" height="217" width="563" visible="false">
                        <mx:columns>                            
                            <mx:DataGridColumn headerText="Label" dataField="label" width="120"/>
                            <mx:DataGridColumn headerText="Original Language" dataField="originalLanguage" width="40"/>
                        </mx:columns>
                    </mx:DataGrid>
                    <mx:Canvas x="10" y="163" width="563" height="217" id="canNumeric" visible="false">
                        <mx:ComboBox x="168" y="10" id="cmbNumericType" dataProvider="{arrNumericType}"></mx:ComboBox>
                        <mx:Label x="0" y="12" text="Type" fontWeight="bold"/>
                        <mx:Label x="0" y="38" text="Range" fontWeight="bold"/>
                        <mx:TextInput x="168" y="63" id="txtNumericLow" width="66"/>
                        <mx:Label x="63" y="65" text="Low" fontWeight="normal"/>
                        <mx:Label x="63" y="103" text="High" fontWeight="normal"/>
                        <mx:TextInput x="168" y="101" id="txtNumericHigh" width="66"/>
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{label1}" name="text" value="Questions"/>
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Questionnaire Translation Date" width="100%" height="100%">
                    <mx:Canvas y="10" label="Date" id="canvas18" left="10" right="10" height="207">
                            <mx:Canvas x="22" y="66" width="352" height="75" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver1(event)" rollOut="destroyBigTip()" id="canSingleDate14" visible="false">
                                    <mx:Label x="9" y="11" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="194" y="11" dataProvider="{day}" id="cmbDate14" change="cmbD14=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="106" y="10" dataProvider="{month}" id="cmbMonth14" change="cmbM14=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="265" y="13" dataProvider="{year}" id="cmbYear14" editable="true" change="cmbY14=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:Canvas x="22" y="66" width="348" height="92" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver1(event)" rollOut="destroyBigTip()" id="canRange14" visible="false">
                                    <mx:Label x="9" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:Label x="9" y="47" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="194" y="12" dataProvider="{day}" id="cmbDate15" change="cmbD15=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="106" y="10" dataProvider="{month}" id="cmbMonth15" change="cmbM15=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="265" y="14" dataProvider="{year}" id="cmbYear15" editable="true" change="cmbY15=ComboBox(event.target).text.toString()"></mx:ComboBox>
                                    <mx:ComboBox x="194" y="45" dataProvider="{day}" id="cmbDate16" change="cmbD16=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="106" y="45" dataProvider="{month}" id="cmbMonth16" change="cmbM16=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="265" y="47" dataProvider="{year}" id="cmbYear16" editable="true" change="cmbY16=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:RadioButton x="22" y="36" label="Single" id="rdbSingle14" click="rdbSingle14Clicked()"/>
                            <mx:RadioButton x="87" y="36" label="Range" id="rdbRange14" click="rdbRange14Clicked()"/>
                            <mx:Button x="122" y="175" label="Change type of Date" id="btnDateBack14" click="btnDateBack14Clicked()" visible="false"/>                                            
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                 <mx:Canvas label="Translated Questions" width="100%" height="100%" id="canvas23">
                    <mx:Label x="10" y="20" text="Question" width="72" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="241" y="19" id="cmbQuestion" dataProvider="{arrQuestions}" change="QuestionSelected(event)" selectedIndex="0" width="200"></mx:ComboBox>
                    <mx:Label x="10" y="68" text="Translated Question Text" width="180" fontWeight="bold" fontSize="11"/>
                    <mx:TextInput x="241" y="65" id="txtTransQsText"/>
                    <mx:Label x="483.5" y="67" text="Language of Translation" width="175" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="677" y="66" id="cmbTransLanguage" editable="true" enabled="true" dataProvider="{languages}" change="filldgCodeValue2()">
                        <mx:toolTip>If your required language is not listed, please enter the code for that language in the Box. Please use the ISO 639-1 standard code for languages.</mx:toolTip>
                    </mx:ComboBox>
                    <mx:DataGrid x="10" y="173" editable="true" id="dgCodeValueTransQues" enabled="true" dataProvider="{CodeValueData}" creationComplete="{filldgCodeValue2()}" height="217" width="711" visible="true">
                        <mx:columns>
                            <mx:DataGridColumn headerText="Value" dataField="value" width="50"/>
                            <mx:DataGridColumn headerText="Original Label" dataField="label" width="75"/>
                            <mx:DataGridColumn headerText="Translated Label" dataField="transLabel" width="75"/>
                            <mx:DataGridColumn headerText="Language of Translation" dataField="transLang" width="70"/>
                        </mx:columns>
                    </mx:DataGrid>
                    <mx:Button x="251" y="412" label="Save Translated Question" width="191" click="anotherTransQuestion()" id="btnAnotherTransQuestion"/>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{lblStudyID}" name="y" value="44"/>
            <mx:SetStyle target="{lblStudyID}" name="fontSize" value="13"/>
            <mx:SetStyle target="{lblStudyID}" name="fontWeight" value="bold"/>
            <mx:SetProperty target="{canvas2}" name="label" value="Questionnaire Design Responsibility"/>
            <mx:RemoveChild target="{label7}"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value=" Back to Responsibility Selection"/>
            <mx:RemoveChild target="{btnAnotherPI3}"/>
            <mx:AddChild relativeTo="{canvas23}" position="before">
                <mx:Canvas label="Questionnaire Translation Responsibility" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{accordion1}" name="errorString">
                <mx:value>Both Date and Responsibility are needed to create a description of the LifeCycle Event.</mx:value>
            </mx:SetProperty>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value="Change type of Questionnaire Design Responsibility"/>
        </mx:State>
        <mx:State name="Data Collection" enterState="DataCollectionEntered()">
            <mx:RemoveChild target="{canvas}"/>
            
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:SetProperty target="{radiobutton6}" name="selected" value="true"/>
            <mx:SetProperty target="{label1}" name="text" value="Data Collection"/>
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:SetProperty target="{accordion1}" name="width" value="1002"/>
            <mx:SetProperty target="{accordion1}" name="x" value="160"/>
            <mx:AddChild relativeTo="{canvas2}" position="before">
                <mx:Canvas label="Sampling Date" width="100%" height="100%" id="canvas26">
                    <mx:Canvas x="50" y="63" width="343" height="84" id="canRange1" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                            <mx:Label x="10" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11"/>
                            <mx:Label x="10" y="47" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11"/>
                            <mx:ComboBox x="195" y="12" dataProvider="{day}" id="cmbDate2" change="cmbD2=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="107" y="10" dataProvider="{month}" id="cmbMonth2" change="cmbM2=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="263" y="12" dataProvider="{year}" id="cmbYear2" editable="true" change="cmbY2=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            <mx:ComboBox x="195" y="45" dataProvider="{day}" id="cmbDate3" change="cmbD3=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="107" y="45" dataProvider="{month}" id="cmbMonth3" change="cmbM3=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="263" y="45" dataProvider="{year}" id="cmbYear3" editable="true" change="cmbY3=ComboBox(event.target).text.toString()"></mx:ComboBox>
                    </mx:Canvas>
                    <mx:RadioButton x="50" y="19" label="Single" id="rdbSingle1" groupName="grpDate2" click="rdbSingle1Clicked()"/>
                    <mx:RadioButton x="162" y="19" label="Range" id="rdbRange1" groupName="grpDate" click="rdbRange1Clicked()"/>
                    <mx:Canvas x="32" y="65" width="357" height="55" id="canSingleDate1" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                            <mx:Label x="29" y="12" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11"/>
                            <mx:ComboBox x="214" y="12" dataProvider="{day}" id="cmbDate4" change="cmbD4=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="126" y="10" dataProvider="{month}" id="cmbMonth4" change="cmbM4=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="282" y="12" dataProvider="{year}" id="cmbYear4" editable="true" change="cmbY4=ComboBox(event.target).text.toString()"></mx:ComboBox>
                    </mx:Canvas>
                    <mx:Button x="125" y="160" label="Change type of Date" id="btnDateBack1"  click="btnDateBack1Clicked()" visible="false"/>
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{canvas2}" position="after">
                <mx:Canvas label="Sampling Description" width="100%" height="100%">
                    <mx:Label x="10" y="36" text="Description" width="74"/>
                    <mx:TextArea x="114" y="38" width="606" height="270" id="txtSamplingDescription"/>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="visible" value="false"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Data Collection Date" width="100%" height="100%">
                    <mx:RadioButton x="50" y="26" label="Single" id="rdbSingle2" groupName="grpDate2009" click="rdbSingle2Clicked()"/>
                    <mx:RadioButton x="152" y="26" label="Range" id="rdbRange2" groupName="grpDate2009" click="rdbRange2Clicked()"/>
                    <mx:Canvas x="32" y="65" width="357" height="55" id="canSingleDate2" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                            <mx:Label x="29" y="12" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11"/>
                            <mx:ComboBox x="214" y="12" dataProvider="{day}" id="cmbDate24" change="cmbD11=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="126" y="10" dataProvider="{month}" id="cmbMonth24" change="cmbM11=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="282" y="12" dataProvider="{year}" id="cmbYear24" editable="true" change="cmbY11=ComboBox(event.target).text.toString()"></mx:ComboBox>
                    </mx:Canvas>
                    <mx:Canvas x="50" y="63" width="343" height="84" id="canRange2" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                            <mx:Label x="10" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11"/>
                            <mx:Label x="10" y="47" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11"/>
                            <mx:ComboBox x="195" y="12" dataProvider="{day}" id="cmbDate25" change="cmbD12=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="107" y="10" dataProvider="{month}" id="cmbMonth25" change="cmbM12=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="263" y="12" dataProvider="{year}" id="cmbYear25" editable="true" change="cmbY12=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            <mx:ComboBox x="195" y="45" dataProvider="{day}" id="cmbDate26" change="cmbD13=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="107" y="45" dataProvider="{month}" id="cmbMonth26" change="cmbM13=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="263" y="45" dataProvider="{year}" id="cmbYear26" editable="true" change="cmbY13=ComboBox(event.target).text.toString()"></mx:ComboBox>
                    </mx:Canvas>
                    <mx:Button x="139" y="160" label="Change type of Date" id="btnDateBack2"  click="btnDateBack2Clicked()" visible="false"/>
                    <mx:Label x="10" y="10" text="* Mandatory Entry" fontSize="9" color="#FF0000" id="label4"/>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{canvas2}" name="label" value="Sampling Responsibility"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Data Collection Responsibility" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Mode of Collection and Collection Situation" width="100%" height="100%">
                    <mx:ComboBox x="179" y="24" id="cmbModeOfCollection" dataProvider="{ModeOfCollection}" change="cmbModeOfColl = cmbModeOfCollection.selectedIndex; "></mx:ComboBox>
                    <mx:Label x="10" y="25" text="Mode of Collection" fontWeight="bold" fontSize="11"/>
                    <mx:Label x="10" y="84" text="Collection Situation" fontWeight="bold" fontSize="11"/>
                    <mx:TextArea height="150" id="txtCollectionSituation" wordWrap="true" editable="true" enabled="true" width="275" y="87" x="179"/>
                    <mx:TextArea x="582" y="10" height="227" enabled="true" editable="false" backgroundColor="#FFCC00" borderStyle="outset" borderColor="#000000">
                        <mx:text>'Data Collection date' is mandatory for entering 'Mode of Collection' and/or 'Collection Situation'</mx:text>
                    </mx:TextArea>
                </mx:Canvas>
            </mx:AddChild>
            <mx:RemoveChild target="{label7}"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value="Change type of Sampling Responsibility"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="label" value="Add another Sampling Responsibility"/>
        </mx:State>
        
        <mx:State name="Data Collection Clone">
            <mx:SetProperty target="{canvas2}" name="label" value="Data Collection Responsibilty"/>
            <mx:RemoveChild target="{canvas}"/>
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:AddChild relativeTo="{accordion1}" position="firstChild">
                <mx:Canvas label="Sampling Date" width="100%" height="100%" id="a">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{a}" position="after">
                <mx:Canvas label="Sampling Responsibility" width="100%" height="100%" id="b">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{canvas2}" position="before">
                <mx:Canvas label="Sampling Description" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{canvas2}" position="before">
                <mx:Canvas label="Data Collection Date" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Mode of Collection and Collection Situation" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="visible" value="false"/>
            <mx:RemoveChild target="{label7}"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value="Change type of Data Collection Responsibility"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="label" value="Add another Data Collection Responsibility"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="width" value="270"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="x" value="604"/>
        </mx:State>
        
        <mx:State name="Data Production" enterState="DataProductionEntered()" exitState="btnAnotherPI3Pressed()">
            <mx:SetProperty target="{radiobutton5}" name="selected" value="true"/>
            <mx:SetProperty target="{label1}" name="text" value="Data Production"/>
            <mx:AddChild relativeTo="{canvas2}" position="before">
                <mx:Canvas label="Date" width="100%" height="100%">
                    <mx:Canvas y="10" label="Date" id="canvas1" width="978" x="10" height="183">
                            
                            <mx:Canvas x="32" y="65" width="357" height="55" id="canSingleDate3" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="29" y="12" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="214" y="12" dataProvider="{day}" id="cmbDate5" change="cmbD11=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="126" y="10" dataProvider="{month}" id="cmbMonth5" change="cmbM11=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="282" y="12" dataProvider="{year}" id="cmbYear5" editable="true" change="cmbY11=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:Canvas x="32" y="65" width="343" height="84" id="canRange3" visible="false" backgroundColor="#EBEAEA" cornerRadius="12" borderStyle="solid" backgroundAlpha="0.62" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()">
                                    <mx:Label x="10" y="12" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:Label x="10" y="47" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11"/>
                                    <mx:ComboBox x="195" y="12" dataProvider="{day}" id="cmbDate6" change="cmbD12=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="10" dataProvider="{month}" id="cmbMonth6" change="cmbM12=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="263" y="12" dataProvider="{year}" id="cmbYear6" editable="true" change="cmbY12=ComboBox(event.target).text.toString()"></mx:ComboBox>
                                    <mx:ComboBox x="195" y="45" dataProvider="{day}" id="cmbDate7" change="cmbD13=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="107" y="45" dataProvider="{month}" id="cmbMonth7" change="cmbM13=ComboBox(event.target).selectedIndex">
                                    </mx:ComboBox>
                                    <mx:ComboBox x="263" y="45" dataProvider="{year}" id="cmbYear7" editable="true" change="cmbY13=ComboBox(event.target).text.toString()"></mx:ComboBox>
                            </mx:Canvas>
                            <mx:RadioButton x="32" y="35" label="Single" id="rdbSingle3" groupName="rdbGrp11" click="rdbSingle3Clicked()"/>
                            <mx:RadioButton x="108" y="35" label="Range" id="rdbRange3" groupName="rdbGrp11" click="rdbRange3Clicked()"/>
                            <mx:Button x="143" y="161" label="Change type of Date" id="btnDateBack3" click="btnDateBack3Clicked()" visible="false"/>
                        
                    
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:RemoveChild target="{canvas}"/>
           
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Variables" width="100%" height="100%" >
                    <mx:Label x="10" y="10" text="Name" width="58" fontWeight="bold" fontSize="11"/>
                    <mx:TextInput x="101" y="10" id="txtVarName"/>
                    <mx:Label x="10" y="40" text="Label" width="58" fontWeight="bold" fontSize="11"/>
                    <mx:TextInput x="101" y="40" id="txtVarLabel"/>
                    <mx:Label x="10" y="84" text="Concept" width="58" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="101" y="84" id="cmbVarConcepts" dataProvider="{arrConcepts}" change="newConceptPressed(event)" width="175">
                        <mx:toolTip>You can choose not to include Concepts by selecting blanks from the bottom of the list</mx:toolTip>
                    </mx:ComboBox>
                    <mx:Label x="9" y="177" text="Universe" width="71" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="100" y="177" id="cmbVarUniverse" dataProvider="{Universe}" change="newUniversePressed(event)" selectedIndex="0" width="175"></mx:ComboBox>
                    <mx:Label x="412" y="86" text="Enter New Concept" fontWeight="bold" visible="false" id="lblNewConcept"/>
                    <mx:TextInput x="559" y="84" id="txtNewConcept" visible="false"/>
                    <mx:Label x="10" y="130" text="Questions" width="83" fontWeight="bold" fontSize="11"/>
                    <mx:List x="203" y="176" allowMultipleSelection="true" dataProvider="{arrQuestions}" id="cmbVarQuestions" enabled="true" height="97" width="359" wordWrap="true" change="QuestionSelected(event)" visible="false"></mx:List>
                    <mx:Label x="10" y="209" text="Enter New Universe" fontWeight="bold" visible="false" id="lblNewUniverse"/>
                    <mx:TextInput x="157" y="207" id="txtNewUniverse" visible="false" width="303"/>
                    <mx:Label x="10" y="237" text="Value Representation Type" fontWeight="bold" fontSize="11"/>
                    <mx:ComboBox x="223" y="235" id="cmbVarValueRepresentation" dataProvider="{valueRepresentation}" change="valueRepresentationPressed(event)"></mx:ComboBox>
                    <mx:DataGrid x="10" y="265" editable="true" id="dgValueRepresentationTypeCode" enabled="true" dataProvider="{CodeValueData2}" creationComplete="{intdgValueRepresentationTypeCode()}" height="126" width="450" visible="true">
                        <mx:columns>
                            <mx:DataGridColumn headerText="Value" dataField="value" width="50"/>
                            <mx:DataGridColumn headerText="Label" dataField="label" width="150"/>
                            <mx:DataGridColumn headerText="Missing" dataField="missing" editable="false" width="30" paddingLeft="12">
                               <mx:itemRenderer>
                                      <mx:Component>
                                         <mx:CheckBox click="data.missing=!data.missing"  selected="{data.missing}"/>
                                      </mx:Component>                        
                                  </mx:itemRenderer>
                            </mx:DataGridColumn>
                        </mx:columns>
                    </mx:DataGrid>
                    <mx:Canvas x="10" y="264" width="450" height="137" id="canVarNumeric" visible="false">
                        <mx:ComboBox x="168" y="10" id="cmbVarNumericType" dataProvider="{arrNumericType}"></mx:ComboBox>
                        <mx:Label x="0" y="12" text="Type" fontWeight="bold"/>
                        <mx:Label x="0" y="33" text="Range" fontWeight="bold"/>
                        <mx:TextInput x="168" y="58" id="txtVarNumericLow" width="66"/>
                        <mx:Label x="63" y="60" text="Low" fontWeight="normal"/>
                        <mx:Label x="63" y="98" text="High" fontWeight="normal"/>
                        <mx:TextInput x="168" y="96" id="txtVarNumericHigh" width="66"/>
                    </mx:Canvas>
                    <mx:Button x="161" y="400" label="Save Variable" width="178" click="anotherVariable()" id="btnAnotherVariable"/>
                    <mx:VRule x="612" y="62" width="1" height="379" strokeColor="#000000" visible="false"/>
                    <mx:Label x="742" y="129" text="Already Entered Variables" fontWeight="bold" fontSize="11" visible="false"/>
                    <mx:DataGrid x="698" y="165" id="dgVarNames" dataProvider="{arrVariables}" width="280" wordWrap="true" variableRowHeight="true" editable="false" sortableColumns="false" visible="false">
                        <mx:columns>
                            <mx:DataGridColumn headerText="Variable Names" dataField="Name" width="150"/>
                            <mx:DataGridColumn headerText="Variable Labels" dataField="label" width="150"/>
                        </mx:columns>
                    </mx:DataGrid>
                    <mx:ComboBox x="100" y="129" id="cmbVarConceptsQs" dataProvider="{arrQuestions}" change="QuestionSelected2(event)" selectedIndex="0" width="175">
                        <mx:toolTip>You can choose not to include Questions by selecting blanks from the top of the list</mx:toolTip>
                    </mx:ComboBox>
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Physical Data Description" width="100%" height="100%" backgroundAlpha="1.0">
                    <mx:Label x="10" y="30" text="Character Set" fontWeight="bold" fontSize="12"/>
                    <mx:ComboBox x="232" y="30" id="cmbCharSet" dataProvider="{CharSet}" editable="true" change="cmbCharS=ComboBox(event.target).text.toString()"></mx:ComboBox>
                    <mx:Canvas x="10" y="108" width="513" height="271" rollOut="destroyBigTip()" rollOver="VarPositionRollOver(event)" backgroundColor="#EBEAEA" backgroundAlpha="0.62" borderStyle="solid" cornerRadius="12">
                        <mx:Label x="73" y="148" text="Width" fontWeight="normal" fontSize="11"/>
                        <mx:TextInput x="232" y="146" id="txtWidth" width="73"/>
                        <mx:Label x="73" y="194" text="End Position" fontWeight="normal" fontSize="11"/>
                        <mx:TextInput x="232" y="192" id="txtEndPos" width="73"/>
                        <mx:Label x="10" y="10" text="Variable Position" width="126" fontWeight="bold" fontSize="12"/>
                        <mx:TextInput x="232" y="102" id="txtStartingPos" width="73"/>
                        <mx:Label x="73" y="54" text="Variable" fontWeight="normal" fontSize="11"/>
                        <mx:Label x="73" y="104" text="Starting Position" fontWeight="normal" fontSize="11"/>
                        <mx:ComboBox x="232" y="52" id="cmbVarPositionName" dataProvider="{arrVariables}" change="VarPositionNameClicked(event)" labelField="Name" width="175"></mx:ComboBox>
                        <mx:Button x="152" y="241" label="Save Variable Position" width="205" id="btnAnotherVarPos" click="anotherVarPos()"/>
                        <mx:Label x="254" y="172" text="OR" fontWeight="normal" fontStyle="italic"/>
                    </mx:Canvas>
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Data File" width="100%" height="100%">
                    <mx:TextInput x="239" y="59" id="txtNumCases" width="188"/>
                    <mx:TextInput x="239" y="90" id="txtOverallRecord" width="73"/>
                    <mx:Label x="29" y="64" text="Number of Cases" fontWeight="bold" fontSize="11"/>
                    <mx:Label x="29" y="93" text="Overall Record Count" fontWeight="bold" fontSize="11"/>
                    <mx:TextInput x="239" y="29" id="txtDataIdentificationURI" width="188"/>
                    <mx:Label x="29" y="31" text="Data File Identification URI" fontWeight="bold" fontSize="11"/>
                    <mx:Label x="22" y="26" text="* " fontSize="9" color="#FF0000"/>
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:SetProperty target="{button3}" name="enabled" value="true"/>
            <mx:SetStyle target="{radiobutton1}" name="fillColors" value="[#03FC15, #03FC15, #FEFCFC, #FEFEFE]"/>
            <mx:SetStyle target="{radiobutton2}" name="fillColors" value="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]"/>
            <mx:SetStyle target="{radiobutton3}" name="fillColors" value="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]"/>
            <mx:SetProperty target="{canvas2}" name="label" value="Responsibility"/>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="visible" value="false"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value="Change type of Responsibility"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="label" value="Add another Responsibility"/>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Study Abstract" width="100%" height="100%">
                    <mx:Label x="10" y="36" text="Study Abstract" width="96"/>
                    <mx:TextArea x="114" y="38" width="606" height="270" id="txtStudyAbstract"/>
                </mx:Canvas>
            </mx:AddChild>
        </mx:State>
        
        <mx:State name="New Study" basedOn="Welcome" enterState="NewStudyEntered()" >
            <mx:SetProperty target="{pnlTask}" name="height" value="194"/>
            <mx:RemoveChild target="{btnNewStudy}"/>
            <mx:AddChild relativeTo="{controlbar1}" position="before">
                <mx:HRule x="272" y="10" width="1" id="hrule" visible="true"/>
            </mx:AddChild>
            <mx:AddChild relativeTo="{controlbar1}" position="before">
                <mx:VRule x="272" y="10" height="1" id="vrule1" visible="true"/>
            </mx:AddChild>
            <mx:AddChild relativeTo="{pnlTask}" position="lastChild">
                <mx:VRule x="420" y="10" height="1" id="vrule2" visible="true"/>
            </mx:AddChild>
            <mx:SetProperty target="{pnlTask}" name="x" value="355"/>
            <mx:SetProperty target="{pnlTask}" name="y" value="500"/>
            <mx:AddChild position="lastChild">
                <mx:Label x="517" y="44" text="Welcome" width="161.5" textAlign="center" fontSize="16" fontWeight="bold" fontFamily="Verdana"/>
            </mx:AddChild>
            <mx:SetProperty target="{pnlTask}" name="title" value="Start a new Study"/>
            <mx:AddChild relativeTo="{controlbar1}" position="before">
                <mx:Canvas x="11" y="10" width="445" height="109" backgroundColor="#FFFFFF" rollOver="WelcomeRollover(event)" rollOut="destroyBigTip()">
                    <mx:TextInput x="192" y="10" id="txtInstanceID"/>
                    <mx:Label x="30" y="12" text="Enter New Study ID:" width="170.5"/>
                    <mx:Button x="206" y="56" label="Submit" width="102.5" height="22" fillAlphas="[1.0, 1.0, 1.0, 1.0]" fillColors="[#2B83C7, #2487D3]" click="newStudy()" id="btnSubmitNewStudy">
                    </mx:Button>
                </mx:Canvas>
            </mx:AddChild>
        </mx:State>
        <mx:State name="XMLOutput">
            <mx:SetProperty target="{label1}" name="text" value="DDI 3.0 Output"/>
            <mx:RemoveChild target="{canvas}"/>
            <mx:RemoveChild target="{canvas2}"/>
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:SetProperty target="{canvas7}" name="label"/>
            <mx:RemoveChild target="{label3}"/>
            <mx:AddChild relativeTo="{canvas7}" position="lastChild">
                <mx:Label x="110.75" y="20" text="You can create a file by copying and saving the code into an environment of your choice (Text/XML Editor)." fontSize="11"/>
            </mx:AddChild>
            <mx:RemoveChild target="{txtStudyPopulation}"/>
            <mx:AddChild relativeTo="{canvas7}" position="lastChild">
                <mx:TextArea x="110.75" y="63" width="778.5" height="462" id="txtXMLOutput"/>
            </mx:AddChild>
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:SetProperty target="{radiobutton0}" name="selected" value="true"/>
            <mx:AddChild position="lastChild">
                <mx:Button label="Next" width="87" height="22" id="button0" enabled="false" x="1076" y="775" fontSize="10"/>
            </mx:AddChild>
            <mx:SetProperty target="{accordion1}" name="errorString"/>
            <mx:SetEventHandler target="{accordion1}" name="toolTipShown"/>
            <mx:RemoveChild target="{label11}"/>
            <mx:AddChild relativeTo="{canvas7}" position="lastChild">
                <mx:Button x="865" y="19" label="Copy to Clipboard" click="btnCopyToClipboardPressed()"/>
            </mx:AddChild>
        </mx:State>
        <mx:State name="Study Proposal" exitState="btnAnotherPI3Pressed()" enterState="BaseEntered()">
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnAnotherPI3}" name="visible" value="false"/>
            <mx:SetProperty target="{cmbOrgName6}" name="includeInLayout" value="true"/>
            <mx:SetProperty target="{canOrganization3}" name="visible" value="false"/>
            <mx:SetProperty target="{btnEditOrgInfo}" name="width" value="214"/>
            <mx:SetStyle target="{canRange0}" name="borderStyle" value="solid"/>
            <mx:SetProperty target="{canRange0}" name="height" value="108"/>            
            <mx:SetStyle target="{canRange0}" name="cornerRadius" value="12"/>
            <mx:SetProperty target="{canRange0}" name="y" value="67"/>
            <mx:SetProperty target="{label8}" name="y" value="27"/>
            <mx:SetProperty target="{label9}" name="y" value="51"/>
            <mx:SetProperty target="{cmbMonth0}" name="y" value="25"/>
            <mx:SetProperty target="{cmbMonth1}" name="y" value="57"/>
            <mx:SetProperty target="{cmbDate0}" name="y" value="25"/>
            <mx:SetProperty target="{cmbYear0}" name="y" value="25"/>
            <mx:SetProperty target="{cmbYear1}" name="y" value="55"/>
            <mx:SetProperty target="{label8}" name="x" value="21"/>
            <mx:SetProperty target="{label9}" name="x" value="21"/>
            <mx:SetProperty target="{cmbMonth0}" name="x" value="118"/>
            <mx:SetProperty target="{cmbMonth1}" name="x" value="118"/>
            <mx:SetProperty target="{cmbDate0}" name="x" value="206"/>
            <mx:SetProperty target="{cmbYear0}" name="x" value="271"/>
            <mx:SetProperty target="{cmbYear1}" name="x" value="271"/>
            <mx:SetProperty target="{cmbDate1}" name="x" value="206"/>
            <mx:SetProperty target="{cmbDate1}" name="y" value="57"/>            
            <mx:SetProperty target="{canSingleDate0}" name="height" value="60"/>
            <mx:SetProperty target="{canSingleDate0}" name="y" value="85"/>
            <mx:SetProperty target="{label10}" name="y" value="17"/>
            <mx:SetProperty target="{cmbMonth}" name="y" value="15"/>
            <mx:SetProperty target="{cmbDate}" name="y" value="17"/>
            <mx:SetProperty target="{cmbYear}" name="y" value="17"/>
            <mx:SetProperty target="{canSingleDate0}" name="width" value="334"/>
            <mx:SetProperty target="{canSingleDate0}" name="x" value="37.5"/>
            <mx:SetStyle target="{canSingleDate0}" name="cornerRadius" value="12"/>
            <mx:SetProperty target="{canRange0}" name="visible" value="false"/>
            <mx:SetProperty target="{accordion1}" name="errorString"/>
            <mx:SetEventHandler target="{accordion1}" name="toolTipShown"/>
          <mx:SetProperty target="{btnPIBack}" name="label" value="Change type of Principal Investigator"/>
            
            
            
        </mx:State>
        <mx:State name="QuestionsClone">
            <mx:SetProperty target="{canvas21}" name="label" value="Questionnaire Design Date"/>
            <mx:SetProperty target="{canvas}" name="label" value="Questionnaire Design Date"/>
            <mx:AddChild relativeTo="{canvas2}" position="before">
                <mx:Canvas label="Questionnaire Design Responsibility" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{canvas2}" position="before">
                <mx:Canvas label="Questionnaire Translation Date" width="100%" height="100%" id="canvas24">
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{canvas2}" name="label" value="Questionnaire Translation Responsibility"/>
            <mx:RemoveChild target="{label7}"/>
            <mx:RemoveChild target="{canvas3}"/>
            <mx:RemoveChild target="{canvas4}"/>
            <mx:RemoveChild target="{canvas5}"/>
            <mx:RemoveChild target="{canvas6}"/>
            <mx:RemoveChild target="{canvas7}"/>
            <mx:RemoveChild target="{btnAnotherPI3}"/>
            <mx:AddChild relativeTo="{canvas24}" position="before">
                <mx:Canvas label="Questions" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:AddChild relativeTo="{accordion1}" position="lastChild">
                <mx:Canvas label="Translated Questions" width="100%" height="100%">
                </mx:Canvas>
            </mx:AddChild>
            <mx:SetProperty target="{radiobutton1}" name="selected" value="false"/>
            <mx:SetProperty target="{radiobutton4}" name="selected" value="true"/>
            <mx:SetProperty target="{btnPIBack}" name="visible" value="false"/>
            <mx:SetProperty target="{btnPIBack}" name="label" value="Change type of Questionnaire Translation Responsibility"/>
        </mx:State>
        <mx:State name="Feedback">
            <mx:RemoveChild target="{accordion1}"/>
            <mx:SetProperty target="{label1}" name="text" value="Debug Information"/>
            <mx:AddChild position="lastChild">
                <mx:TabNavigator x="161" y="187" width="979" height="513" borderStyle="outset" cornerRadius="12" backgroundColor="#C2DBF8">
                    <mx:Canvas label="Individuals and Organizations" width="100%" height="100%" borderStyle="solid" borderColor="#000000">
                        <mx:DataGrid x="10" y="295" id="adg6" width="877.5" height="125" dataProvider="{arrColl}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Row Num" labelFunction="OrgRowNum"/>
                                <mx:DataGridColumn headerText="ID" dataField="id"/>
                                <mx:DataGridColumn headerText="Time Stamp" dataField="TimeStamp"/>
                                <mx:DataGridColumn headerText="Organization Name" dataField="OrgName"/>
                                <mx:DataGridColumn headerText="Full Name" dataField="fullName"/>
                                <mx:DataGridColumn headerText="Creator Include" dataField="CreatorInclude"/>                        
                                <mx:DataGridColumn headerText="Study Proposal" dataField="StudyProposal"/>
                                <mx:DataGridColumn headerText="Funding Agency" dataField="FundingAgency"/> 
                                <mx:DataGridColumn headerText="Study Concepts" dataField="StudyConcepts"/> 
                                <mx:DataGridColumn headerText="Questions" dataField="QsDesign"/> 
                                <mx:DataGridColumn headerText="QuestionsClone" dataField="QsTranslation"/> 
                                 <mx:DataGridColumn headerText="Data Production" dataField="DataProduction"/>                                                       
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:DataGrid x="10" y="36" id="dgFeedbackPI" width="877.5" dataProvider="{arrCollPIIndividual3}" sortableColumns="false" height="98" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Row Num" labelFunction="IndRowNum"/>
                                <mx:DataGridColumn headerText="Time Stamp" dataField="TimeStamp"/>                                
                                <mx:DataGridColumn headerText="First Name" dataField="FName"/>
                                <mx:DataGridColumn headerText="Last Name" dataField="LName"/>
                                <mx:DataGridColumn headerText="Full Name" dataField="fullName"/>
                                <mx:DataGridColumn headerText="Org Index" dataField="OrgIndex"/>                        
                                <mx:DataGridColumn headerText="Creator Include" dataField="CreatorInclude"/>                        
                                <mx:DataGridColumn headerText="Study Proposal" dataField="StudyProposal"/>
                                <mx:DataGridColumn headerText="Funding Agency" dataField="FundingAgency"/>
                                <mx:DataGridColumn headerText="Study Concepts" dataField="StudyConcepts"/> 
                                <mx:DataGridColumn headerText="Questions" dataField="QsDesign"/> 
                                <mx:DataGridColumn headerText="TransQuestions" dataField="QsTranslation"/> 
                                <mx:DataGridColumn headerText="Data Production" dataField="DataProduction"/>                        
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="10" y="10" text="List of Individuals (arrCollPIIndividual3)" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:Label x="10" y="269" text="List of Organizations and individuals in order in which they were added" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:DataGrid x="10" y="168" id="adg8" width="877.5" height="93" dataProvider="{arrCollPIOrganization3Supplier}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Row Num" labelFunction="OrgRowNum"/>
                                <mx:DataGridColumn headerText="Time Stamp" dataField="TimeStamp"/>
                                <mx:DataGridColumn headerText="Organization Name" dataField="OrgName"/>
                                <mx:DataGridColumn headerText="Creator Include" dataField="CreatorInclude"/>                        
                                <mx:DataGridColumn headerText="Study Proposal" dataField="StudyProposal"/>
                                <mx:DataGridColumn headerText="Funding Agency" dataField="FundingAgency"/> 
                                <mx:DataGridColumn headerText="Study Concepts" dataField="StudyConcepts"/>
                                <mx:DataGridColumn headerText="Questions" dataField="QsDesign"/> 
                                <mx:DataGridColumn headerText="QuestionsClone" dataField="QsTranslation"/> 
                                <mx:DataGridColumn headerText="Data Production" dataField="DataProduction"/>                       
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="10" y="142" text="List of Organizations (arrCollPIOrganization3Supplier) " fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                    </mx:Canvas>
                    <mx:Canvas label="Questions" width="100%" height="100%" borderStyle="solid" borderColor="#000000">
                        <mx:DataGrid x="27.5" y="124" id="adg9" width="567.5" height="93" dataProvider="{arrQuestions}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Label" dataField="label"/>
                                <mx:DataGridColumn headerText="Label Language" dataField="LabelLang"/>
                                <mx:DataGridColumn headerText="Response Type" dataField="ResponseType"/>
                                <mx:DataGridColumn headerText="Concept Reference" dataField="ConceptRef"/>                        
                                <mx:DataGridColumn headerText="Code Scheme Ref" dataField="CodeSchemeRef"/>
                                <mx:DataGridColumn headerText="Length" dataField="Length"/>
                                <mx:DataGridColumn headerText="Code/Cat ID" dataField="CodeCategoryID"/>
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="27.5" y="98" text="Questions(arrQuestions)" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:Label x="622" y="108" text="(arrCodeScheme)" fontWeight="bold" width="107">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:DataGrid x="603" y="124" id="adg10" width="147" height="93" dataProvider="{arrCodeScheme}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Value" dataField="Value"/>
                                <mx:DataGridColumn headerText="Cat. Ref" dataField="CatRef"/>                        
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:DataGrid x="758" y="124" id="adg11" width="147" height="93" dataProvider="{arrCatScheme}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Language" dataField="Lang"/>
                                <mx:DataGridColumn headerText="Label" dataField="Label"/>  
                                <mx:DataGridColumn headerText="Trans.Language" dataField="TransLang"/>
                                <mx:DataGridColumn headerText="Trans.Label" dataField="TransLabel"/>                        
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="770" y="94" text="Category Scheme" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:Label x="631" y="94" text="Code Scheme" fontWeight="bold" width="81">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:Label x="776" y="108" text="(arrCatScheme)" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                    </mx:Canvas>
                    <mx:Canvas label="Variables" width="100%" height="100%">
                        <mx:DataGrid x="10" y="36" id="adg0" width="926.5" height="93" dataProvider="{arrVariables}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Label" dataField="label"/>
                                <mx:DataGridColumn headerText="Name" dataField="Name"/>
                                <mx:DataGridColumn headerText="Concept" dataField="Concept"/>
                                <mx:DataGridColumn headerText="Questions Index" dataField="Questions"/>                        
                                <mx:DataGridColumn headerText="Universe" dataField="Universe"/>
                                <mx:DataGridColumn headerText="Variable Representation Type" dataField="Domain"/>
                                <mx:DataGridColumn headerText="Variable Qs Ref (New)" dataField="VarQsRef"/>
                                <mx:DataGridColumn headerText="Length" dataField="Length"/>
                                <mx:DataGridColumn headerText="Universe Flag" dataField="UniverseFlag"/>
                                <mx:DataGridColumn headerText="UniverseID" dataField="UniverseID"/>
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="10" y="10" text="Variables (arrVariables)" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:Label x="10" y="149" text="Contains the questions for each variable(arrVarQs)" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                        <mx:DataGrid x="10" y="175" id="adg1" width="567.5" height="93" dataProvider="{arrVarQs}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Label" dataField="Label"/>
                                <mx:DataGridColumn headerText="Value" dataField="Value"/>
                                <mx:DataGridColumn headerText="Missing" dataField="Missing"/>
                                <mx:DataGridColumn headerText="Condition" dataField="Condition"/>                                
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:DataGrid x="10" y="325" id="adg2" width="567.5" height="93" dataProvider="{arrVarPosition}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Variable" dataField="Variable"/>
                                <mx:DataGridColumn headerText="Width" dataField="Width"/>
                                <mx:DataGridColumn headerText="Starting Position" dataField="StartPos"/>
                                <mx:DataGridColumn headerText="Ending Position" dataField="EndPos"/>                                                                
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="10" y="299" text="Variable Position (arrVarPosition)" fontWeight="bold">
                            <mx:toolTip>The names in parenthesis are actual data structure names in the code. You can look up the composition of these data structures along with description in the data structures documentation.</mx:toolTip>
                        </mx:Label>
                    </mx:Canvas>
                    <mx:Canvas label="Temporary Data Structures" width="100%" height="100%">
                        <mx:Label x="10" y="10" text="CodeValueData" fontWeight="bold"/>
                        <mx:DataGrid x="10" y="36" id="adg3" width="567.5" height="93" dataProvider="{CodeValueData}" sortableColumns="false" editable="true">
                            <mx:columns>
                                <mx:DataGridColumn headerText="Label" dataField="label"/>
                                <mx:DataGridColumn headerText="Value" dataField="value"/>
                                <mx:DataGridColumn headerText="Orig Lang" dataField="originalLanguage"/>
                                <mx:DataGridColumn headerText="Trans Lang" dataField="transLang"/>
                                <mx:DataGridColumn headerText="Trans Label" dataField="transLabel"/>                                                                
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:DataGrid x="10" y="186" id="adg4" width="618.5" height="109" dataProvider="{CodeValueData}" sortableColumns="false" editable="true">
                            <mx:columns>
                            <mx:DataGridColumn headerText="Label" dataField="label"/>
                            <mx:DataGridColumn headerText="Value" dataField="value"/>
                            <mx:DataGridColumn headerText="Orig Lang" dataField="originalLanguage"/>
                            <mx:DataGridColumn headerText="Trans Lang" dataField="translatedLanguage"/>    
                            <mx:DataGridColumn headerText="Missing" dataField="Missing"/>                                                                                          
                            </mx:columns>
                        </mx:DataGrid>
                        <mx:Label x="10" y="160" text="CodeValueData2" fontWeight="bold"/>                                                
                    </mx:Canvas>
                </mx:TabNavigator>
            </mx:AddChild>
            <mx:AddChild position="lastChild">
                <mx:Button x="836.5" y="157" label="Download Data Structures Documentation (Excel)">
                    <mx:click>downloadFile()</mx:click>
                </mx:Button>
            </mx:AddChild>
        </mx:State>
    </mx:states>
    
    <mx:Image width="96" height="54" scaleContent="true" left="10" top="5" id="imgDDI" source="@Embed(source='../assets/ddi logo.JPG')">
    
    </mx:Image>
    <mx:Label text="DDI 3.0 Editor - Lite" id="lblDDI" fontWeight="bold" fontSize="20" width="304" height="30" textAlign="center" color="#000000" top="10" x="520"/>
    <mx:Label y="48" text="Instance:" horizontalCenter="-38" id="lblVersion" fontWeight="bold" fontSize="14" width="84" height="30" textAlign="center" color="#000000" visible="false"/>
    <mx:HRule top="70" width="1250" x="10"/>
    <mx:HRule x="10" y="125" width="0" height="7"/>
    <mx:ProgressBar x="186.5" width="952.5" height="10" indeterminate="false" enabled="true" id="bar" mode="manual" direction="right" themeColor="#03FC15" label="Progress" labelPlacement="center" top="130"/>
    <mx:Button x="610.5" label="Questions" width="118.5" height="18" click="punit(&quot;Questions&quot;)" top="95" fontSize="10" id="button7"/>
    <mx:RadioButton x="1129.5" enabled="false" selected="false" themeColor="#000000" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton0" color="#000000" borderColor="#000000" fontWeight="bold" groupName="rdbGrpStages" top="77"/>
    <mx:RadioButton enabled="false" selected="true" themeColor="#711D7D" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton1" color="#000000" borderColor="#1728CE" fontWeight="bold" groupName="rdbGrpStages" x="181.5" top="77" iconColor="#D712DE"/>
    <mx:RadioButton x="338.5" enabled="false" selected="false" themeColor="#000000" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton2" borderColor="#000000" color="#000000" fontWeight="bold" groupName="rdbGrpStages" top="77"/>
    <mx:RadioButton x="492.5" enabled="false" selected="false" themeColor="#000000" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton3" borderColor="#000000" color="#000000" fontWeight="bold" groupName="rdbGrpStages" top="77"/>
    <mx:RadioButton x="662.5" enabled="false" selected="false" themeColor="#000000" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton4" color="#000000" borderColor="#000000" fontWeight="bold" groupName="rdbGrpStages" top="77"/>
    <mx:RadioButton x="815.5" enabled="false" selected="false" themeColor="#000000" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton6" color="#000000" borderColor="#000000" fontWeight="bold" groupName="rdbGrpStages" top="77"/>
    <mx:RadioButton x="994.5" enabled="false" selected="false" themeColor="#000000" fillAlphas="[1.0, 1.0]" fillColors="[#03FC15, #03FC15, #FFFFFF, #FFFFFF]" id="radiobutton5" color="#000000" borderColor="#000000" fontWeight="bold" groupName="rdbGrpStages" top="77"/>
    <mx:Text x="650" y="44" width="109" height="25" id="lblStudyID" enabled="true" fontSize="13" fontWeight="bold"/>
    <!--<mx:Panel layout="absolute" left="17" right="183" bottom="-360" top="660" id="pnlContainer" title="Study Proposal" cornerRadius="10">
        <mx:Canvas y="10" height="92" left="10" right="10" label="Date" id="canvas1">
            <mx:DateField x="123" y="56" id="dfSingleDate" showToday="true" enabled="true"/>
            <mx:DateField x="435" y="56"/>
            <mx:DateField x="734" y="56"/>
            <mx:Label x="52" y="58" text="Single Date" width="63" height="18"/>
            <mx:Label x="364" y="58" text="Start Date" width="63" height="18"/>
            <mx:Label x="663" y="58" text="End Date" width="63" height="18"/>
            <mx:Label x="10" y="10" text="Date" width="191" height="18" fontWeight="bold" fontSize="12"/>
        </mx:Canvas>
        <mx:Canvas y="110" height="194" left="10" right="10" label="Principal Investigator" id="canvas2">
            <mx:Label x="10" y="10" text="Principal Investigator" width="191" height="18" fontWeight="bold" fontSize="12"/>
            <mx:Label x="52" y="36" text="First Name" width="87" height="18"/>
            <mx:Label x="52" y="114" text="Name" width="63" height="18"/>
            <mx:Label x="343.5" y="36" text="Middle Name" width="79" height="18"/>
            <mx:Label x="659" y="36" text="Last Name" width="63" height="18"/>
            <mx:Label x="52" y="62" text="Position" width="63" height="18"/>
            <mx:Label x="52" y="88" text="Organization" width="87" height="18" fontWeight="bold"/>
            <mx:Label x="52" y="140" text="Street Address" width="92" height="18"/>
            <mx:Label x="52" y="166" text="City" width="92" height="18"/>
            <mx:Label x="368.5" y="166" text="State" width="38" height="18"/>
            <mx:Label x="674" y="166" text="Country" width="48" height="18"/>
            <mx:TextInput x="147" y="34" width="134" height="22" id="txtFName"/>
            <mx:TextInput x="147" y="60" width="134" height="22" id="txtPosition"/>
            <mx:TextInput x="437.5" y="34" width="134" height="22" id="txtMName"/>
            <mx:TextInput x="737" y="34" width="134" height="22" id="txtLName"/>
            <mx:TextInput x="147" y="112" width="134" height="22" id="txtOrgName"/>
            <mx:TextInput x="147" y="138" width="134" height="22" id="txtStreetAdd"/>
            <mx:TextInput x="147" y="162" width="134" height="22" id="txtCity"/>
            <mx:TextInput x="437.5" y="162" width="134" height="22" id="txtState"/>
            <mx:TextInput x="737" y="162" width="134" height="22" id="txtCountry"/>
        </mx:Canvas>
    </mx:Panel> -->
    <mx:Accordion id="accordion1" width="1002" x="161" height="591" y="176" fontSize="10" toolTipShown="AccordianToolTipShown(event)" errorString="Both Date and Funding Agency are needed to create a description of the LifeCycle Event." change="handleAccChange(event)">
        <mx:Canvas y="10" left="10" right="10" label="Date" id="canvas">
                <mx:Canvas y="10" label="Date" id="canvas21" width="922" x="10" height="223">                        
                        <mx:Canvas x="53" y="91" width="359" height="74" id="canRange0" visible="false" rollOver="handleMouseOver(event)" rollOut="destroyBigTip()" borderStyle="solid" cornerRadius="12" backgroundColor="#EBEAEA" backgroundAlpha="0.62">
                            <mx:Label x="19" y="15" text="Start Date" width="75" height="18" fontWeight="bold" fontSize="11" id="label8"/>
                            <mx:Label x="19" y="39" text="End Date" width="63" height="18" fontWeight="bold" fontSize="11" id="label9"/>
                            <mx:ComboBox x="204" y="13" dataProvider="{day}" id="cmbDate0" change="cmbD0=ComboBox(event.target).selectedIndex" >
                            </mx:ComboBox>
                            <mx:ComboBox x="116" y="13" dataProvider="{month}" id="cmbMonth0" change="cmbM0=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="269" y="13" dataProvider="{year}" id="cmbYear0" editable="true" change="cmbY0=ComboBox(event.target).text.toString()">
                            </mx:ComboBox>
                            <mx:ComboBox x="204" y="43" dataProvider="{day}" id="cmbDate1" change="cmbD1=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="116" y="45" dataProvider="{month}" id="cmbMonth1" change="cmbM1=ComboBox(event.target).selectedIndex">
                            </mx:ComboBox>
                            <mx:ComboBox x="269" y="43" dataProvider="{year}" id="cmbYear1" editable="true" change="cmbY1=ComboBox(event.target).text.toString()">
                            </mx:ComboBox>
                        </mx:Canvas>
                        <mx:RadioButton x="10" y="26" label="Single" id="rdbSingle0" groupName="grpDate0" click="rdbSingle0Clicked()"/>
                        <mx:RadioButton x="98" y="26" label="Range" id="rdbRange0" groupName="grpDate0" click="rdbRange0Clicked()"/>
                        <mx:Canvas x="74" y="106" width="327" height="52" id="canSingleDate0" visible="false" rollOut="destroyBigTip()" rollOver="handleMouseOver(event)" cornerRadius="12" borderStyle="solid" backgroundColor="#EBEAEA" backgroundAlpha="0.62">
                                <mx:Label x="0" y="12" text="Single Date" width="89" height="18" fontWeight="bold" fontSize="11" id="label10"/>
                                <mx:ComboBox x="185" y="12" dataProvider="{day}" id="cmbDate" change="cmbD=ComboBox(event.target).selectedIndex">
                                </mx:ComboBox>
                                <mx:ComboBox x="97" y="10" dataProvider="{month}" id="cmbMonth" change="cmbM=ComboBox(event.target).selectedIndex">
                                </mx:ComboBox>
                                <mx:ComboBox x="251" y="12" dataProvider="{year}" id="cmbYear" editable="true" change="cmbY=ComboBox(event.target).text.toString()">
                                </mx:ComboBox>
                        </mx:Canvas>
                        <mx:Label x="10" y="2" text="* Mandatory Entry" fontSize="9" color="#FF0000"/>
                        <mx:Button x="171" y="191" label="Change type of Date" click="btnDateBack0Clicked()" id="btnDateBack0" visible="false"/>
                </mx:Canvas>                   
        </mx:Canvas>
        
        <mx:Canvas y="110" left="10" right="10" label="Principal Investigator" id="canvas2" borderStyle="none" borderThickness="1">
            <mx:Canvas x="10" y="80" width="864" height="198" id="canOrganization3" visible="false" borderStyle="solid">
                <mx:Label x="7" y="63" text="Name" width="117" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="7" y="89" text="Street Address" width="105" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="7" y="115" text="City" width="92" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="296.5" y="112" text="State" width="61" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="585.25" y="115" text="Country" width="66" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="296.5" y="63" text="Abbreviation" width="117" height="18" fontSize="11" fontWeight="normal"/>
                <mx:TextInput x="402.5" y="62" width="134" height="22" id="txtAbbrev6" enabled="false"/>
                <mx:TextInput x="120" y="87" width="134" height="22" id="txtStreetAdd6" enabled="false"/>
                <mx:TextInput x="120" y="111" width="134" height="22" id="txtCity6" enabled="false"/>
                <mx:TextInput x="402.5" y="111" width="134" height="22" id="txtState6" enabled="false"/>
                <mx:TextInput x="698.25" y="111" width="134" height="22" id="txtCountry6" enabled="false"/>
                <mx:Label x="0" y="61" text="*" fontSize="9" color="#FF0000"/>
                <mx:ComboBox x="120" y="15" id="cmbOrgName6" editable="false" dataProvider="{arrCollPIOrganization3Supplier}" labelField="OrgName" maxWidth="134" width="134" change="cmbOrgName6Clicked()" height="23" selectedIndex="0"></mx:ComboBox>
                <mx:Button x="296.5" y="15.5" label="Edit Organization Information" width="204.5" id="btnEditOrgInfo6" click="btnEditOrgInfo6Pressed()" enabled="false"/>
                <mx:Button x="120" y="164" label="Change Organization Selection" id="btnEditOrgCancel6" click="btnEditOrgCancel6Pressed()" visible="false"/>
                <mx:Button x="529" y="164" label="Save Organization Information" id="btnEditOrgDone6" click="btnEditOrgDone6Pressed()" visible="false"/>
                <mx:Label x="10" y="16.5" text="Organization" width="117" height="18" fontSize="11" fontWeight="bold"/>
                <mx:TextInput x="120" y="62" width="134" id="txtOrgName6" enabled="false"/>
                <mx:Button x="538" y="15.5" label="Delete Organization" id="btnDelOrg6" click="delOrg(cmbOrgName6)" enabled="false"/>
            </mx:Canvas>
            <mx:Canvas y="56" height="329" label="Principal Investigator" id="canIndividual3" visible="false" width="982" x="10" borderStyle="solid">
                <mx:Label x="12" y="50" text="First Name" width="87" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="301.5" y="49" text="Middle Name" width="98" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="608" y="51" text="Last Name" width="75" height="18" fontSize="11" fontWeight="normal"/>
                <mx:Label x="10" y="90" text="Position" width="63" height="18" fontSize="11" fontWeight="bold"/>
                <mx:TextInput x="125" y="48" width="134" height="22" id="txtFName5" tabEnabled="false"/>
                <mx:TextInput x="125" y="89" width="134" height="22" id="txtPosition5"/>
                <mx:TextInput x="407.5" y="48" width="134" height="22" id="txtMName5"/>
                <mx:TextInput x="713" y="51" width="134" height="22" id="txtLName5"/>
                <mx:Label x="10" y="15" text="Name" width="105" height="18" fontWeight="bold" fontSize="11"/>
                <mx:Label x="6" y="48" text="*" fontSize="9" color="#FF0000"/>
                <mx:Label x="601" y="50" text="*" fontSize="9" color="#FF0000"/>
                <mx:ComboBox x="123" y="14" width="136" dataProvider="{arrCollPIIndividual3}" labelField="fullName" selectedIndex="0" id="cmbFullName5" change="cmbFullName5Clicked()"></mx:ComboBox>
                <mx:Canvas x="5" y="118" width="852" height="180" borderStyle="solid" enabled="true" id="canvas22" rollOver="AffiliationRollover(event)" rollOut="destroyBigTip()" borderColor="#B7BABC" cornerRadius="12" backgroundColor="#EBEAEA" backgroundAlpha="0.62">
                    <mx:Label x="11" y="31" text="Organization" width="117" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:Label x="11" y="10" text="Affiliation" width="105" height="18" fontWeight="bold" fontSize="11"/>
                    <mx:Label x="12" y="91" text="Street Address" width="105" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:Label x="12" y="117" text="City" width="92" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:Label x="301.5" y="114" text="State" width="61" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:Label x="608" y="119" text="Country" width="66" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:Label x="301.5" y="65" text="Abbreviation" width="117" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:TextInput x="407.5" y="64" width="134" height="22" id="txtAbbrev5"/>
                    <mx:TextInput x="125" y="89" width="134" height="22" id="txtStreetAdd5"/>
                    <mx:TextInput x="125" y="113" width="134" height="22" id="txtCity5"/>
                    <mx:TextInput x="407.5" y="113" width="134" height="22" id="txtState5"/>
                    <mx:ComboBox x="124" y="31" id="cmbOrgName5" editable="false" dataProvider="{arrCollPIOrganization3Supplier}" labelField="OrgName" maxWidth="134" width="134" change="cmbOrgName5Clicked()" selectedIndex="0" height="21"></mx:ComboBox>
                    <mx:TextInput x="125" y="64" width="134" id="txtOrgName5" visible="true" enabled="true"/>
                    <mx:Label x="11" y="65" text="Name" width="117" height="18" fontSize="11" fontWeight="normal"/>
                    <mx:TextInput x="708" y="118" width="134" height="22" id="txtCountry5"/>
                    <mx:Button x="301.5" y="27" label="Edit Organization Information" width="222" enabled="false" id="btnEditOrgInfo" click="btnEditOrgInfoPressed()"/>
                    <mx:Button x="526" y="146" label="Save Organization Information" id="btnEditOrgDone" click="btnEditOrgDonePressed()" visible="false"/>
                    <mx:Button x="93" y="146" label="Change Organization Selection" id="btnEditOrgCancel" click="btnEditOrgCancelPressed()" visible="false"/>
                    <mx:Button x="544" y="27" label="Delete Organization" click="delOrg(cmbOrgName5)" id="btnOrgDel5" visible="true"/>
                </mx:Canvas>
                <mx:Button x="301.5" y="14" label="Edit  Individual Information" width="213.5" id="btnEditIndInfo" click="btnEditIndInfoPressed()"/>
                <mx:Button x="125" y="302" label="Change Individual Selection" id="btnEditIndCancel" click="btnEditIndCancelPressed()" visible="false" borderColor="#B7BABC"/>
                <mx:Button x="578" y="302" label="Save Changes" id="btnEditIndDone" click="btnEditIndDonePressed()" visible="false" width="186" borderColor="#B7BABC" fillAlphas="[1.0, 1.0]" fillColors="[#C7E4F9, #C7E4F9]"/>
                <mx:Button x="543" y="14" label="Delete Individual" click="delInd()" id="btnIndDel" visible="true"/>
            </mx:Canvas>
            <mx:RadioButton x="10" y="30" groupName="rdbQsGrpResponsibility10" id="rdbIndividual3" label="Individual" click="rdbIndividual3Clicked(event)" visible="true"/>
            <mx:RadioButton x="149" y="30" groupName="rdbQsGrpResponsibility10" id="rdbOrganization3" label="Organization" click="rdbOrganization3Clicked(event)" visible="true"/>
            <mx:Button x="635" y="393" label="Add another Principal Investigator" width="239" id="btnAnotherPI3" click="btnAnotherPI3Pressed()" visible="false"/>
            <mx:Label x="10" y="10" text="* Mandatory Entry" fontSize="9" color="#FF0000" id="label7"/>
            <mx:Button x="10" y="393" label=" Back to Principal Investigator Selection" id="btnPIBack" click="btnPIBackClicked()" visible="false"/>
        </mx:Canvas>
        <mx:Canvas label="Research Question(s) " width="100%" height="100%" fontStyle="normal" id="canvas3">
            <mx:TextArea id="txtResearchQs" wordWrap="true" editable="true" enabled="true" width="550" x="107" height="300" y="36"/>
            <mx:Label text="Description" width="89" fontWeight="bold" id="label2" top="37" left="10" fontSize="11"/>
            <mx:Label x="10" y="10" text="* Mandatory Entry" fontSize="9" color="#FF0000"/>
        </mx:Canvas>
        <mx:Canvas label="Study Title" width="100%" height="100%" id="canvas4">
            <mx:TextInput x="138" y="36" width="211" editable="true" enabled="true" id="txtStudyTitle"/>
            <mx:Label x="10" y="37" text="Study Title" width="102" fontWeight="bold" fontSize="11"/>
            <mx:Label x="10" y="8" text="* Mandatory Entry" fontSize="9" color="#FF0000"/>
        </mx:Canvas>
        <mx:Canvas label="Spatial Coverage" width="100%" height="100%" id="canvas5">
            <mx:Label x="10" y="14" text="General" fontWeight="bold" width="78" fontSize="11"/>
            <mx:TextArea height="300" id="txtSpatialCoverage" wordWrap="true" editable="true" enabled="true" width="550" x="96" y="14"/>
            <mx:Label x="10" y="31" text="Description" fontWeight="bold" width="89" fontSize="11"/>
            <mx:TextArea x="714" y="13" height="301" enabled="true" editable="false" backgroundColor="#FFCC00" borderStyle="outset" borderColor="#000000">
                <mx:text>Geographic Levels also need to be specified if describing Spatial Coverage.</mx:text>
            </mx:TextArea>
        </mx:Canvas>
        <mx:Canvas label="Geographic Levels Covered" width="100%" height="100%" id="canvas6" fontStyle="normal">
            <mx:Label x="10" y="10" text="check all that apply" width="142" fontStyle="italic"/>
            <mx:Canvas x="88" y="36" width="528" height="212" rollOut="destroyBigTip()" rollOver="GeogRollover()" borderStyle="solid" cornerRadius="12" backgroundColor="#EBEAEA" backgroundAlpha="0.62" borderColor="#B7BABC">
                <mx:CheckBox x="77.5" y="17" label="City" fontWeight="bold" id="chkCity" fontSize="11"/>
                <mx:Label x="205.5" y="21" text="Location" fontWeight="bold" fontSize="11"/>
                <mx:TextInput x="290.5" y="57" id="txtGeoCounty">
                </mx:TextInput>
                <mx:TextInput x="290.5" y="125" id="txtGeoNation">
                </mx:TextInput>
                <mx:TextInput x="290.5" y="19" id="txtGeoCity">
                </mx:TextInput>
                <mx:CheckBox x="77.5" y="122" label="Nation" fontWeight="bold" id="chkNation" fontSize="11"/>
                <mx:Label x="205.5" y="126" text="Location" fontWeight="bold" fontSize="11"/>
                <mx:TextInput x="290.5" y="158" id="txtGeoRegion">
                </mx:TextInput>
                <mx:CheckBox x="77.5" y="155" label="Region" fontWeight="bold" id="chkRegion" fontSize="11"/>
                <mx:Label x="205.5" y="159" text="Location" fontWeight="bold" fontSize="11"/>
                <mx:CheckBox x="77.5" y="88" label="State" fontWeight="bold" id="chkState" fontSize="11"/>
                <mx:Label x="205.5" y="92" text="Location" fontWeight="bold" fontSize="11"/>
                <mx:CheckBox x="77.5" y="54" label="County" fontWeight="bold" id="chkCounty" fontSize="11"/>
                <mx:Label x="205.5" y="58" text="Location" fontWeight="bold" fontSize="11"/>
                <mx:TextInput x="290.5" y="90" id="txtGeoState">
                </mx:TextInput>
                <mx:Label x="77.5" y="176" text="(Cross National)" fontStyle="italic" fontSize="11"/>
            </mx:Canvas>
        </mx:Canvas>
        <mx:Canvas label="Study Population" width="100%" height="100%" id="canvas7">
            <mx:TextArea height="300" id="txtStudyPopulation" wordWrap="true" editable="true" enabled="true" width="550" y="33" x="100"/>
            <mx:Label x="10" y="33" text="Description" width="89" fontWeight="bold" fontSize="11" id="label3"/>
            <mx:Label x="10" y="8" text="* Mandatory Entry" fontSize="9" color="#FF0000" id="label11"/>
        </mx:Canvas>

    </mx:Accordion>
    <mx:Label x="161" y="145" text="Study Proposal" width="264" fontSize="14" fontWeight="bold" id="label1"/>
    <mx:Button x="131" label="Study Proposal" width="118.5" height="18" click="punit(&quot;Study Proposal&quot;)" top="95" fontSize="10" id="button4"/>
    <mx:Button x="442.5" label="Study Concepts" width="118.5" height="18" click="punit(&quot;Study Concepts&quot;)" top="95" fontSize="10" id="button6"/>
    <mx:Button x="765.5" label="Data Collection" width="118.5" height="18" click="punit(&quot;Data Collection&quot;)" top="95" fontSize="10" id="button8"/>
    <mx:Button x="287" label="Study Funding" width="118.5" height="18" click="punit(&quot;Study Funding&quot;)" top="95" fontSize="10" id="button5"/>
    <mx:Button x="940.5" label="Data Production" width="118.5" height="18" click="punit(&quot;Data Production&quot;)" top="95" fontSize="10" id="button9"/>
    <mx:Button x="1080.5" width="118.5" height="18" click="finish()" enabled="true" label="Finish" id="button3" top="95" fontSize="10"/>
    
    <mx:transitions>
      <mx:Transition id="welcome" fromState="Welcome" toState="New Study">
            <mx:Sequence targets="{[pnlTask]}">
                <mx:RemoveChildAction/>    
                <mx:Resize target="{pnlTask}"/>
                <mx:AddChildAction/>                                    
            </mx:Sequence>
        </mx:Transition>
     <mx:Transition id="help" fromState="Welcome" toState="Help">
            <mx:Sequence targets="{[pnlTask]}">
                <mx:RemoveChildAction/>    
                <mx:Resize target="{pnlTask}"/>
                <mx:AddChildAction/>
            </mx:Sequence>
        </mx:Transition>
        <mx:Transition id="help1" fromState="New Study" toState="Help">
            <mx:Sequence targets="{[pnlTask]}">
                <mx:RemoveChildAction/>    
                <mx:Resize target="{pnlTask}"/>
                <mx:AddChildAction/>
            </mx:Sequence>
        </mx:Transition>   
      <mx:Transition fromState="*" toState="*">
    
    <mx:Sequence target="{accordion1}">
          <mx:WipeDown id="wipeOut" duration="1000"/>          
    </mx:Sequence>
  </mx:Transition> 
 </mx:transitions>



    <mx:Text x="596" y="44" width="57" height="25" id="lblStudyID0" enabled="true" fontSize="13" fontWeight="bold" text="Study:"/>
    <mx:ApplicationControlBar dock="true" paddingTop="0" paddingBottom="0" id="applicationcontrolbar1" x="10" y="0" fillAlphas="[1.0, 1.0]" fillColors="[#E4E3EF, #E6E6F8]">        
                <mx:MenuBar id="myMenuBar" labelField="@label" cornerRadius="11" itemClick="menuBarHandler(event)" fillAlphas="[1.0, 1.0]" fillColors="[#B0C1F8, #8BA4F7, #B5C5F8, #B5C5F8]" themeColor="#7AC5F4" fontSize="12" fontWeight="bold">
                 <mx:XMLList>
                    <menuitem label="Open New Study" >
                        <menuitem label="Open New Study" data="OpenNew" />                        
                    </menuitem>
                    
                 </mx:XMLList>
                </mx:MenuBar>
        </mx:ApplicationControlBar>
        
        <mx:Array id="validatorArray">
            <mx:StringValidator id="firstNameValidator"
                source="{txtFName5}"
                property="text"
                required="true"/>
            <mx:StringValidator id="lastNameValidator"
                source="{txtLName5}"
                property="text"
                required="true" />
            <mx:StringValidator id="OrgValidator"
                source="{txtOrgName6}"
                property="text"
                required="true" />
            <mx:StringValidator id="ResearchValidator"
                source="{txtResearchQs}"
                property="text"
                required="true"/>
            <mx:StringValidator id="StudyTitleValidator"
                source="{txtStudyTitle}"
                property="text"
                required="true" />
            <mx:StringValidator id="StudyPopulationValidator"
                source="{txtStudyPopulation}"
                property="text"
                required="true" />
            <mx:StringValidator id="DataIdentificationURIValidator"
                source="{txtDataIdentificationURI}"
                property="text"
                required="true" />            
        </mx:Array>
        
        <mx:Model id="fileRefModel">
        <file>
            <creationDate>{""}</creationDate>
            <creator>{""}</creator>
            <modificationDate>{""}</modificationDate>
            <name>{""}</name>
            <size>{""}</size>
            <type>{""}</type>
        </file>
        </mx:Model>   

        <mx:Style>
        @font-face {
            src: local("Comic Sans MS");
            fontWeight: normal;
            fontFamily: ComicSansMSEmbedded;
        }

    </mx:Style>


        <mx:Button label="Debug Information" click="currentState = 'Feedback'" id="button10" x="1050" y="18">
                <mx:toolTip>This option gives information about internal data structures of the application. Information stored within these structures gets converted to XML on hitting the 'Finish' button.</mx:toolTip>
        </mx:Button>
</mx:Application>