/**
 * Company by actions simplified
 * 		Company by actions simplified  form, collect input from user 
 *
 * @package 	forms
 * @author    	Sundar Murthi sundaramurthis@gmail.com
 * @date      	2008-07-25
 * @copyright 	TCM
 * 
 * @version 	2.0 
 *
 * @Req ID  	2.2.4.5	 (Company by actions simplified)
 *
 * 
 *	2.2.3.3 Publication department
 *	2.2.3.4 Place act
 *	2.2.3.6 Date of the act
 *	2.2.3.7 Social object
 *	2.2.3.8 Company name
 *	2.2.3.11 Simple headquarters
 *	2.2.3.13 Duration
 *	2.2.3.14 Capital
 *	2.2.3.17 Physical and moral person parameter(Physical president person, Moral president person)
 *	2.2.3.17 Physical and moral person parameter(Physical commissioner holder auditor, Moral commissioner holder auditor)
 *	2.2.3.17 Physical and moral person parameter(Physical commissioner deputy auditor, Moral commissioner deputy auditor)
 *	2.2.3.22 Element for company by actions simplified
 *	2.2.3.21 RCS Register
 *  
 *  Eval 01
 *  2.5 The forms "Company by actions simplified" (Ads03) contains a lot of managers. 
 *        We have to add a new one, but only a physical manager, this new manager is the General Director.
 *  2.6 list dynamic rcs city based on postal code
 **/
function initAds03() {
	var ads03PhysicalAndMoralPerson1 =  Elements.newPhysicalAndMoralPerson('Président personne physique','Président personne morale','pm1');
		ads03PhysicalAndMoralPerson1[0].on('collapse', function(){
		 		ads03PhysicalAndMoralPerson1[1].expand();Elements.enableChild(ads03PhysicalAndMoralPerson1[1]);
	 	 });
		 ads03PhysicalAndMoralPerson1[0].on('expand', function(){
		 		ads03PhysicalAndMoralPerson1[1].collapse();Elements.disableChild(ads03PhysicalAndMoralPerson1[1]);
	 	 });
	 	 ads03PhysicalAndMoralPerson1[1].on('collapse', function(){
		 		ads03PhysicalAndMoralPerson1[0].expand();Elements.enableChild(ads03PhysicalAndMoralPerson1[0]);
	 	 });
		 ads03PhysicalAndMoralPerson1[1].on('expand', function(){
		 		ads03PhysicalAndMoralPerson1[0].collapse();Elements.disableChild(ads03PhysicalAndMoralPerson1[0]);
	 	 }); 
	 	 
	var ads03PhysicalAndMoralPerson2 =  Elements.newPhysicalAndMoralPerson('Commissaire aux comptes titulaire personne physique','Commissaire aux comptes titulaire personne morale','pm2');
		ads03PhysicalAndMoralPerson2[0].on('collapse', function(){
				Elements.disableChild(ads03PhysicalAndMoralPerson2[0]);
	 	 });
		 ads03PhysicalAndMoralPerson2[0].on('expand', function(){
		 		ads03PhysicalAndMoralPerson2[1].collapse();
		 		Elements.enableChild(ads03PhysicalAndMoralPerson2[0]);
	 	 });
	 	 ads03PhysicalAndMoralPerson2[1].on('collapse', function(){
	 	 		Elements.disableChild(ads03PhysicalAndMoralPerson2[1]);
	 	 });
		 ads03PhysicalAndMoralPerson2[1].on('expand', function(){
		 		ads03PhysicalAndMoralPerson2[0].collapse();
		 		Elements.enableChild(ads03PhysicalAndMoralPerson2[1]);
	 	 }); 
	ads03PhysicalAndMoralPerson2[0].collapsed		= true;
	 	 
	var ads03PhysicalAndMoralPerson3 =  Elements.newPhysicalAndMoralPerson('Commissaire aux comptes suppléant personne physique','Commissaire aux comptes suppléant personne morale','pm3');
	 	ads03PhysicalAndMoralPerson3[0].on('collapse', function(){
		 		Elements.disableChild(ads03PhysicalAndMoralPerson3[0]);
	 	 });
		 ads03PhysicalAndMoralPerson3[0].on('expand', function(){
		 		Elements.enableChild(ads03PhysicalAndMoralPerson3[0]);
		 		ads03PhysicalAndMoralPerson3[1].collapse();
	 	 });
	 	 ads03PhysicalAndMoralPerson3[1].on('collapse', function(){
	 	 		Elements.disableChild(ads03PhysicalAndMoralPerson3[1]);
	 	 });
		 ads03PhysicalAndMoralPerson3[1].on('expand', function(){
		 		Elements.enableChild(ads03PhysicalAndMoralPerson3[1]);
		 		ads03PhysicalAndMoralPerson3[0].collapse();
	 	 }); 
	ads03PhysicalAndMoralPerson3[0].collapsed		= true;
	
	ads03 = new Ext.FormPanel({
		 labelWidth: 250,
	     frame:true,
	     title: 'Création : Société par actions simplifiée',
	     bodyStyle:'padding:5px 5px 0',
	     defaultType: 'textfield',
	     itemCls: 'form-label-style',
	     items: Elements.newCompanyType('COMPANY_TYPE_SAS') 
			.concat(Elements.publication)
			.concat(Elements.placeAct)
			.concat(Elements.clone(Elements.dateOfAct))
			.concat(Elements.socialObject)
			.concat(Elements.companyName)
			.concat(Elements.companySigle)
			.concat(Elements.getSimpleHeadquarters())
			.concat(Elements.duration)
			.concat(Elements.capital)
			.concat(ads03PhysicalAndMoralPerson1)
			.concat(Elements.newPhysicalPerson('Directeur général','pm4','true')) // Eval 1. Req 2.5
			.concat(ads03PhysicalAndMoralPerson2)
			.concat(ads03PhysicalAndMoralPerson3)
			.concat(Elements.companyByActionsSimplified)
			.concat(Elements.clone(Elements.rcsRegister))
	});
	
	ads03.items.items[18].on('collapse',function(){
		Elements.disableChild(ads03.items.items[18]);
	});
	ads03.items.items[18].on('expand',function(){
		Elements.enableChild(ads03.items.items[18]);
	});
	
	 //Eval 02 Req 2.6
    ads03.items.items[7].items.items[1].items.items[0].items.items[0].items.items[0].on('blur',function(obj){
    	var departmentNumber = obj.getValue().substring(0,2);
    	ads03.items.items[23].store.baseParams = {dbProperty : 'RCS_CITY_'+departmentNumber};
    	ads03.items.items[23].store.load({add : false});
    	ads03.items.items[23].clearValue();
    });
}

function getViewOnlyAds03(values,pm11,pm21,pm12,pm22,pm13,pm23,pm14){
	if(pm11 == 1){
		Elements.expandPanel(ads03,"1_pm1")
	}else{
		Elements.collapsePanel(ads03,"1_pm1")
	}
	
	if(pm21 == 1){
		Elements.expandPanel(ads03,"2_pm1")
	}else{
		Elements.collapsePanel(ads03,"2_pm1")
	}
	
	if(pm12 == 1){
		Elements.expandPanel(ads03,"1_pm2")
	}else{
		Elements.collapsePanel(ads03,"1_pm2")
	}
	
	if(pm22 == 1){
		Elements.expandPanel(ads03,"2_pm2")
	}else{
		Elements.collapsePanel(ads03,"2_pm2")
	}
	
	if(pm13 == 1){
		Elements.expandPanel(ads03,"1_pm3")
	}else{
		Elements.collapsePanel(ads03,"1_pm3")
	}
	
	if(pm23 == 1){
		Elements.expandPanel(ads03,"2_pm3")
	}else{
		Elements.collapsePanel(ads03,"2_pm3")
	}
	var viewObject 	= Elements.viewClone([ads03])[0];
	Elements.populateValues(values, viewObject);
	
	if(pm14 !=1){
		Elements.disableChild(viewObject.items.items[15]);
		viewObject.items.items[14].hidden = true;
		viewObject.items.items[14].title = "";
		viewObject.items.items[14].initialConfig.width='0';
		viewObject.items.items[14].setVisible(false);
	}
	
	return viewObject;
}
