/**
 * Change leadership
 * 		Change leadership form, collect input from user 
 *
 * @package 	forms
 * @author    	Sundar Murthi sundaramurthis@gmail.com
 * @date      	2008-07-25
 * @copyright 	TCM
 * 
 * @version 	1.0
 *
 * @Req ID  	2.2.4.11	( Change leadership)
 * 
 * 2.2.3.3 Publication department
 * 2.2.3.8 Company name
 * 2.2.3.9 Form and capital parameter(create store with the code $COMPANY_FORM = "forme_societe");
 * 2.2.3.12 Full headquarters
 * 2.2.3.32 Change leadership
 * 2.2.3.24 Decided parameter(create store with the code $DECIDED_BY_03 = "decide_par")
 * 2.2.3.33 Application date
 * 2.2.3.17 Physical and moral person parameter("New physical leader", "News moral leader")
 * 2.2.3.21 RCS Register
 * 
 * Eval 02
 * req 2.6 dynamic rcs city
 */
 
function initAds09() {
	var ads09FormAndCapital =  Elements.newFormAndCapital('COMPANY_TYPE'); 
	var ads09Desided		=  Elements.newDecided('DECIDED_BY_ASS_GEN_MIX_GER_ASSOC_U_CONS');
	 
	var ads09PhysicalAndMoralPerson = Elements.newPhysicalAndMoralPerson('Nouveau dirigeant personne physique','Nouveau dirigeant personne morale','pm1');
	 	
 	ads09PhysicalAndMoralPerson[0].on('collapse', function(){
		if(getManagerIdAds09() == 91 || getManagerIdAds09() == 38 || getManagerIdAds09() == 321){// Eval 5 req 2.2
			Elements.disableChild(ads09PhysicalAndMoralPerson[0]);
			return;
		}
 		ads09PhysicalAndMoralPerson[1].expand();
 		Elements.enableChild(ads09PhysicalAndMoralPerson[1]);
 	 });
	 ads09PhysicalAndMoralPerson[0].on('expand', function(){
		 if(getManagerIdAds09() == 91 || getManagerIdAds09() == 38 || getManagerIdAds09() == 321){// Eval 5 req 2.2
			Elements.enableChild(ads09PhysicalAndMoralPerson[0]);
		 }
	 	 ads09PhysicalAndMoralPerson[1].collapse();
	 	 Elements.disableChild(ads09PhysicalAndMoralPerson[1]);
 	 });
 	 ads09PhysicalAndMoralPerson[1].on('collapse', function(){
 		if(getManagerIdAds09() == 91 || getManagerIdAds09() == 38 || getManagerIdAds09() == 321){// Eval 5 req 2.2
 			Elements.disableChild(ads09PhysicalAndMoralPerson[1]);
			return;
		}
	 	ads09PhysicalAndMoralPerson[0].expand();
	 	Elements.enableChild(ads09PhysicalAndMoralPerson[0]);
 	 });
	 ads09PhysicalAndMoralPerson[1].on('expand', function(){
		if(getManagerIdAds09() == 91 || getManagerIdAds09() == 38 || getManagerIdAds09() == 321){
			Elements.enableChild(ads09PhysicalAndMoralPerson[1]);
		}
	 	ads09PhysicalAndMoralPerson[0].collapse();
	 	Elements.disableChild(ads09PhysicalAndMoralPerson[0]);
	 	// eval 5
	 	if(getManagerIdAds09() == 45 || getManagerIdAds09() == 46){
    		//Representative person for Moral person become optional. 2.2.3
    		ads09.items.items[11].items.items[6].disable();
    		ads09.items.items[11].items.items[7].disable();
    		ads09.items.items[11].items.items[8].disable();
    		ads09.items.items[11].items.items[9].disable();
    		ads09.items.items[11].items.items[10].disable();
    		ads09.items.items[11].items.items[11].disable();
    		Elements.disableChild(ads09.items.items[11].items.items[11]);
    		
    		ads09.items.items[11].items.items[7].getEl().up('.x-form-item').setDisplayed(false);
    		ads09.items.items[11].items.items[8].getEl().up('.x-form-item').setDisplayed(false);
    		ads09.items.items[11].items.items[9].getEl().up('.x-form-item').setDisplayed(false);
    		ads09.items.items[11].items.items[10].getEl().up('.x-form-item').setDisplayed(false);
    		
    		ads09.items.items[11].items.items[6].hide();
    		ads09.items.items[11].items.items[7].hide();
    		ads09.items.items[11].items.items[8].hide();
    		ads09.items.items[11].items.items[9].hide();
    		ads09.items.items[11].items.items[10].hide();
    		ads09.items.items[11].items.items[11].hide();
    	}
 	 });
	 
	 var ads09PhysicalAndMoralPersonOp = Elements.newPhysicalAndMoralPerson('Nouveau dirigeant personne physique','Nouveau dirigeant personne morale','pm2');
	 ads09PhysicalAndMoralPersonOp[0].on('collapse', function(){
		ads09PhysicalAndMoralPersonOp[1].expand();
		if(!ads09PhysicalAndMoralPersonOptional.collapsed)
			Elements.enableChild(ads09PhysicalAndMoralPersonOp[1]);
	 });
	 ads09PhysicalAndMoralPersonOp[0].on('expand', function(){
		ads09PhysicalAndMoralPersonOp[1].collapse();
		Elements.disableChild(ads09PhysicalAndMoralPersonOp[1]);
	 });
	 
	 ads09PhysicalAndMoralPersonOp[1].on('collapse', function(){
		ads09PhysicalAndMoralPersonOp[0].expand();
		if(!ads09PhysicalAndMoralPersonOptional.collapsed)
			Elements.enableChild(ads09PhysicalAndMoralPersonOp[0]);
	 });
	 ads09PhysicalAndMoralPersonOp[1].on('expand', function(){
		ads09PhysicalAndMoralPersonOp[0].collapse();
		Elements.disableChild(ads09PhysicalAndMoralPersonOp[0]);

	 	// eval 5
	 	if(getManagerIdAds09() == 45 || getManagerIdAds09() == 46){
	 		//Representative person for Moral person become optional. 2.2.3
	 		ads09.items.items[12].items.items[2].items.items[6].disable();
	 		ads09.items.items[12].items.items[2].items.items[7].disable();
	 		ads09.items.items[12].items.items[2].items.items[8].disable();
	 		ads09.items.items[12].items.items[2].items.items[9].disable();
	 		ads09.items.items[12].items.items[2].items.items[10].disable();
	 		ads09.items.items[12].items.items[2].items.items[11].disable();
	 		
	 		Elements.disableChild(ads09.items.items[12].items.items[2].items.items[11]);
	 		
	 		ads09.items.items[12].items.items[2].items.items[7].getEl().up('.x-form-item').setDisplayed(false);
	 		ads09.items.items[12].items.items[2].items.items[8].getEl().up('.x-form-item').setDisplayed(false);
	 		ads09.items.items[12].items.items[2].items.items[9].getEl().up('.x-form-item').setDisplayed(false);
	 		ads09.items.items[12].items.items[2].items.items[10].getEl().up('.x-form-item').setDisplayed(false);
	 		
	 		ads09.items.items[12].items.items[2].items.items[6].hide();
	 		ads09.items.items[12].items.items[2].items.items[7].hide();
	 		ads09.items.items[12].items.items[2].items.items[8].hide();
	 		ads09.items.items[12].items.items[2].items.items[9].hide();
	 		ads09.items.items[12].items.items[2].items.items[10].hide();
	 		ads09.items.items[12].items.items[2].items.items[11].hide();
	 	}
	 });
	 
	 var ads09PhysicalAndMoralPersonOptional	= new Ext.form.FieldSet({
 		labelWidth: 240,
        title: 'Remplacement du commissaire au compte suppléant',
        autoHeight:true,
		autoWidth:true,
		collapsible: false,
		checkboxToggle:true,
        defaultType: 'textfield',
        checkboxName: 'lastLeadershipAds09ReplacementOption',
        items: Elements.changeLeadershipNominationDirigeant
        	.concat(ads09PhysicalAndMoralPersonOp)
	 });
	 
	 ads09PhysicalAndMoralPersonOptional.on('collapse', function(){
		 Elements.disableChild(ads09.items.items[12]);
		 ads09.items.items[12].items.items[2].collapse();
	 });
	 
	 ads09PhysicalAndMoralPersonOptional.on('expand', function(){
		 Elements.enableChild(ads09.items.items[12]);
		 ads09.items.items[12].items.items[2].collapse();
		 Elements.disableChild(ads09.items.items[12].items.items[2]);
		 if(ads09.items.items[10].collapsed && ads09.items.items[11].collapsed){
			 Elements.enableChild(ads09.items.items[10]);
			 ads09.items.items[10].expand(); 
		 }
	 });
	 
	 var titreCoGer		= [new Ext.form.FieldSet({
 										labelWidth: 240,
 										title: 'S\'il ne reste qu\'un seul gerant, indiquer son nom',
 										autoHeight:true,
 										autoWidth:true,
 										collapsible: false,
 										checkboxToggle:true,
 										collapsed: true,
 										defaultType: 'textfield',
 										checkboxName: '1_pm3',
 										items :[new Ext.form.ComboBox({
											fieldLabel: 'Civilité ',
											hiddenName:'ad_civility_pm3',
											store: Elements.civilityStore,
											valueField:'id',
											displayField:'value',
											typeAhead: true,
											mode: 'local',
											editable: false,
											triggerAction: 'all',
											emptyText:'Sélectionnez civilité',
											selectOnFocus:true,
											width: 350,
											allowBlank:false
										}),{
									       fieldLabel: 'Nom ',
									       name: 'ad_last_name_pm3',
									       allowBlank:false,
									       width: 350
										}]
	 							})];
	 
	 ads09 = new Ext.FormPanel({
	     labelWidth: 250,
	     frame:true,
	     title: 'Modification de dirigeant',
	     bodyStyle:'padding:5px 5px 0',
	     defaultType: 'textfield',
	     itemCls: 'form-label-style',
	     items: Elements.clone(Elements.publication)
	     				.concat(Elements.companyNameAcronym)
	     				.concat(ads09FormAndCapital)
	     				.concat(Elements.getfullHeadquarters())
	     				.concat(Elements.changeLeadership)
	     				.concat(ads09Desided)
	     				.concat(Elements.clone(Elements.applicationDate))
	     				.concat(ads09PhysicalAndMoralPerson)
	     				.concat(ads09PhysicalAndMoralPersonOptional)
	     				.concat(titreCoGer)
	     				.concat(Elements.clone(Elements.rcsRegister))
	});
	 
	 var ads09ChangeLeadershipNominationDirigeant = ads09.items.items[12].items.items[0];
	 
	 ads09ChangeLeadershipNominationDirigeant.on('collapse', function(){
		 Elements.disableChild(ads09.items.items[12].items.items[0]);
	 });
	 
	 ads09ChangeLeadershipNominationDirigeant.on('expand', function(){
		 Elements.enableChild(ads09.items.items[12].items.items[0]);
	 });
	
	//Eval 02 Req 2.6
    ads09.items.items[4].items.items[1].items.items[0].items.items[0].items.items[0].on('blur',function(obj){
    	var departmentNumber = obj.getValue().substring(0,2);
    	ads09.items.items[14].store.baseParams = {dbProperty : 'RCS_CITY_'+departmentNumber};
    	ads09.items.items[14].store.load({add : false});
    	ads09.items.items[14].clearValue();
    });
    
    // Eavl 05 Req 2.2.1
    ads09.selectChange = function(managerId){
    	var colDef = ads09PhysicalAndMoralPersonOptional.collapsed;
    	if(managerId == 45 || managerId == 46){
    		Elements.enableChild(ads09PhysicalAndMoralPersonOptional);
    		ads09PhysicalAndMoralPersonOptional.show();
    		ads09PhysicalAndMoralPersonOptional.expand();
    		if(!ads09PhysicalAndMoralPersonOptional.collapsed){
    			Elements.enableChild(ads09PhysicalAndMoralPersonOptional);
    			if(ads09.items.items[12].items.items[2].collapsed){
    				ads09.items.items[12].items.items[2].collapse();
    				Elements.disableChild(ads09.items.items[12].items.items[2]);
    			}else{
    				Elements.disableChild(ads09.items.items[12].items.items[1]);
    			}
    		}
    		if(ads09.items.items[12].items.items[0].collapsed) {
    			Elements.disableChild(ads09.items.items[12].items.items[0]);
    		}
    		if(!ads09.items.items[11].collapsed){
    			ads09.items.items[11].items.items[6].disable();
	    		ads09.items.items[11].items.items[7].disable();
	    		ads09.items.items[11].items.items[8].disable();
	    		ads09.items.items[11].items.items[9].disable();
	    		ads09.items.items[11].items.items[10].disable();
	    		ads09.items.items[11].items.items[11].disable();
	    		Elements.disableChild(ads09.items.items[11].items.items[11]);
	    		
	    		ads09.items.items[11].items.items[7].getEl().up('.x-form-item').setDisplayed(false);
	    		ads09.items.items[11].items.items[8].getEl().up('.x-form-item').setDisplayed(false);
	    		ads09.items.items[11].items.items[9].getEl().up('.x-form-item').setDisplayed(false);
	    		ads09.items.items[11].items.items[10].getEl().up('.x-form-item').setDisplayed(false);
	    		
	    		ads09.items.items[11].items.items[6].hide();
	    		ads09.items.items[11].items.items[7].hide();
	    		ads09.items.items[11].items.items[8].hide();
	    		ads09.items.items[11].items.items[9].hide();
	    		ads09.items.items[11].items.items[10].hide();
	    		ads09.items.items[11].items.items[11].hide();
    		}
    		if(!ads09.items.items[12].items.items[2].collapsed) {
        		ads09.items.items[12].items.items[2].items.items[6].disable();
        		ads09.items.items[12].items.items[2].items.items[7].disable();
        		ads09.items.items[12].items.items[2].items.items[8].disable();
        		ads09.items.items[12].items.items[2].items.items[9].disable();
        		ads09.items.items[12].items.items[2].items.items[10].disable();
        		ads09.items.items[12].items.items[2].items.items[11].disable();
        		Elements.disableChild(ads09.items.items[12].items.items[2].items.items[11]);
        		
        		ads09.items.items[12].items.items[2].items.items[7].getEl().up('.x-form-item').setDisplayed(false);
        		ads09.items.items[12].items.items[2].items.items[8].getEl().up('.x-form-item').setDisplayed(false);
        		ads09.items.items[12].items.items[2].items.items[9].getEl().up('.x-form-item').setDisplayed(false);
        		ads09.items.items[12].items.items[2].items.items[10].getEl().up('.x-form-item').setDisplayed(false);
        		
        		ads09.items.items[12].items.items[2].items.items[6].hide();
        		ads09.items.items[12].items.items[2].items.items[7].hide();
        		ads09.items.items[12].items.items[2].items.items[8].hide();
        		ads09.items.items[12].items.items[2].items.items[9].hide();
        		ads09.items.items[12].items.items[2].items.items[10].hide();
        		ads09.items.items[12].items.items[2].items.items[11].hide();
    		}
    	}else{
    		Elements.disableChild(ads09PhysicalAndMoralPersonOptional);
    		Elements.disableChild(ads09PhysicalAndMoralPersonOptional.items.items[1]);
    		Elements.disableChild(ads09PhysicalAndMoralPersonOptional.items.items[2]);
    		ads09PhysicalAndMoralPersonOptional.collapse();
    		ads09PhysicalAndMoralPersonOptional.hide();
    		if(!ads09.items.items[11].collapsed){
    			ads09.items.items[11].items.items[6].enable();
	    		ads09.items.items[11].items.items[7].enable();
	    		ads09.items.items[11].items.items[8].enable();
	    		ads09.items.items[11].items.items[9].enable();
	    		ads09.items.items[11].items.items[10].enable();
	    		ads09.items.items[11].items.items[11].enable();
	    		Elements.enableChild(ads09.items.items[11].items.items[11]);
	    		
	    		ads09.items.items[11].items.items[7].getEl().up('.x-form-item').setDisplayed(true);
	    		ads09.items.items[11].items.items[8].getEl().up('.x-form-item').setDisplayed(true);
	    		ads09.items.items[11].items.items[9].getEl().up('.x-form-item').setDisplayed(true);
	    		ads09.items.items[11].items.items[10].getEl().up('.x-form-item').setDisplayed(true);
	    		
	    		ads09.items.items[11].items.items[6].show();
	    		ads09.items.items[11].items.items[7].show();
	    		ads09.items.items[11].items.items[8].show();
	    		ads09.items.items[11].items.items[9].show();
	    		ads09.items.items[11].items.items[10].show();
	    		ads09.items.items[11].items.items[11].show();
    		}
    	}
    	// Evolution E5 2.2.2
    	if(managerId == 91 || managerId == 38){
    		ads09.items.items[6].expand();
    		ads09.items.items[6].checkbox.setVisible(false);
    	}else{
    		ads09.items.items[6].checkbox.setVisible(true);
    	}
    	// Evolution E5 2.2.4
    	if(managerId == 91 || managerId == 38 || managerId == 321){
    		titreCoGer[0].show();
    		if(titreCoGer[0].expand && !titreCoGer[0].collapsed){
    			titreCoGer[0].expand();
    		}else if(titreCoGer[0].collapse){
    			titreCoGer[0].collapse();
    		}
    		if(!titreCoGer[0].collapse){
    			Elements.enableChild(titreCoGer[0]);
    		}
    	}else{
    		if(titreCoGer[0].collapse && titreCoGer[0].collapsed){
    			titreCoGer[0].collapse();
    		}
    		titreCoGer[0].hide();
    		Elements.disableChild(titreCoGer[0]);
    	}
    	if(colDef){
    		ads09PhysicalAndMoralPersonOptional.expand();
    		ads09PhysicalAndMoralPersonOptional.collapse();
    	}
    };
    
    ads09.items.items[5].on('select', function(obj,record, index){
    	if(record){
    		ads09.selectChange(record.get('extra'));
    	}else{
    		ads09.selectChange(-1);
    	}
    });
    
    titreCoGer[0].items.items[0].store.load({add :false });
    titreCoGer[0].items.items[0].store.on('load',function(){
    	if(getManagerIdAds09() != 321 && getManagerIdAds09() > -1){
	    	titreCoGer[0].hide();
	    	Elements.disableChild(ads09.items.items[13]);
	    	
    	}
    	if(getManagerIdAds09() > 0){
    		ads09.selectChange(getManagerIdAds09());
    	}
    	
    });
    
    titreCoGer[0].on('collapse', function(){
    	Elements.disableChild(ads09.items.items[13]);
	});
    
    titreCoGer[0].on('expand', function(){
		Elements.enableChild(ads09.items.items[13]);
	});
    
    ads09.items.items[6].on('collapse', function(){
    	Elements.disableChild(ads09.items.items[6]);
	});
    ads09.items.items[6].on('expand', function(){
		Elements.enableChild(ads09.items.items[6]);
	});
}

function getManagerIdAds09(){
	if(ads09
			&& ads09.items.items[5].value 
			&& ads09.items.items[5].store 
			&& ads09.items.items[5].store.data){// Eval 5 req 2.2
		var data = ads09.items.items[5].store.data;
		for(var v in data.items){
			 if(v && data.items[v].data 
					 && data.items[v].data.id == ads09.items.items[5].value){
				 return data.items[v].data.extra;
			 }
		 }
	}
	return -1;
}

function getViewOnlyAds09(values,pm11,pm21,pm12,pm22,pm13,lastLeadership09,lastLeadership09_2){
	if(pm11 == 1){
		Elements.expandPanel(ads09,"1_pm1")
	}else{
		Elements.collapsePanel(ads09,"1_pm1")
	}
	
	if(pm21 == 1){
		Elements.expandPanel(ads09,"2_pm1")
	}else{
		Elements.collapsePanel(ads09,"2_pm1")
	}
	
	if(pm12 == 1 || pm22 == 1 || lastLeadership09_2 == 1){
		Elements.expandPanel(ads09,"lastLeadershipAds09ReplacementOption")
		if(pm12 == 1){
			Elements.expandPanel(ads09,"1_pm2")
		}else{
			Elements.collapsePanel(ads09,"1_pm2")
		}
		
		if(pm22 == 1){
			Elements.expandPanel(ads09,"2_pm2")
		}else{
			Elements.collapsePanel(ads09,"2_pm2")
		}
		
		if(lastLeadership09_2 == 1){
			Elements.expandPanel(ads09,"lastLeadershipAds09_2");
		}else{
			Elements.collapsePanel(ads09,"lastLeadershipAds09_2");
		}
	}else{
		Elements.collapsePanel(ads09,"lastLeadershipAds09ReplacementOption");
	}
	
	if(pm13 == 1){
		Elements.expandPanel(ads09,"1_pm3")
	}else{
		Elements.collapsePanel(ads09,"1_pm3")
	}
	
	if(lastLeadership09 == 1){
		Elements.expandPanel(ads09,"lastLeadershipAds09");
	}else{
		Elements.collapsePanel(ads09,"lastLeadershipAds09");
	}
	

	var viewObject 	= Elements.viewClone([ads09])[0];
	Elements.populateValues(values, viewObject);
	return viewObject;
}
