Ext.onReady(function() {
	Ext.QuickTips.init();
	Ext.QuickTips.enable();
	Ext.BLANK_IMAGE_URL = 'scripts/ext/resources/images/default/s.gif';
	// turn on validation errors beside the field globally
	Ext.form.Field.prototype.msgTarget = 'side';
	var cp = new Ext.state.CookieProvider();
	Ext.state.Manager.setProvider(cp);
	var form_calc;
	var cook = Ext.state.Manager.getProvider();
	var objInstantStep = {
			nom : "",
			prenom : "",
			mail : ""
	};
	var ttIsoleTitre="Isolé";
	var ttIsoleTxt="Cochez cette case si vous êtes la seule personne à composer le « ménage »";
	var ttPacTitre2="Ménage ou personnes à charge";
	var ttPacTxt2="Cochez cette case si votre conjoint/cohabitant est déjà affilié ou souhaite s’affilier chez Partenamut , ou si vous avez des personnes à votre charge."; 
	ttPacTxt2+="Une personne à charge est une personne qui dispose des droits aux soins de santé par l’intermédiaire d’un titulaire. Il peut s’agir d’un enfant, d’un conjoint, d’un cohabitant ou d’un ascendant pour autant que ses revenus annuels n’excèdent pas 2191,85 EUR bruts par trimestre (montant au 01/01/2009).";
	var ttAssCompTitre="Assurance complémentaire";
	var ttAssCompTxt="L’assurance complémentaire vous offre un ensemble  d'interventions financières, de services et d’avantages, spécifiquement conçus par Partenamut  pour ses membres, afin de compléter la couverture \"légale\" offerte par l'assurance obligatoire"; 
	ttAssCompTxt+="<br>L'affiliation à l'assurance complémentaire est obligatoire pour tout membre de Partenamut.";
	ttAssCompTxt+="<br>La cotisation est payable anticipativement pour une année complète. Elle peut être payée annuellement, semestriellement, trimestriellement  et  si le paiement se fait par domiciliation bancaire, mensuellement."; 
	ttAssCompTxt+="<br>Chez Partenamut, vous ne payez qu’une seule cotisation pour toute la famille !";
	var ttFondReservTitre="Fonds de réserve";
	var ttFondReservTxt="Cette cotisation annuelle légale permet aux mutualités de faire face à d'éventuels dépassements du budget destiné au remboursement des soins de santé prévus par l'Inami (assurance obligatoire). Elle est fiscalement déductible.";
	var ttAssDepTitre="Assurance dépendance";
	var ttAssDepTxt="L'assurance dépendance est une assurance instituée par la Communauté flamande. Elle intervient financièrement dans une série de situations pour les personnes dépendantes. Cette assurance est obligatoire pour toute personne de plus de 25 ans habitant le territoire de la Région flamande, y compris les communes à facilités. La cotisation est annuelle et payable avant le 30 avril de l'année concernée.";
	var txtDisclaimer="La présente simulation est réalisée sur base de données générales. Elle ne peut pas tenir compte de chaque situation particulière. Elle ne comprend pas les cotisations d'assurance obligatoire, qui sont dues dans certaines situations assez rares et qui sont d'ailleurs identiques pour toutes les mutualités. Cette simulation est donc purement indicative, et n'engage d'aucune manière Partenamut.";
	var ttCalcAssHospTitre="Hospitalia";
	var ttCalcAssHospTxt="Hospitalia est une assurance facultative offrant plusieurs niveaux de couverture des frais liés à une hospitalisation.";
	ttCalcAssHospTxt+="L’affiliation à Hospitalia n’est possible qu’avant l’âge de 65 ans (60 ans pour Hospitalia ambulatoire)";
	var ttCalcAssDentTitre="Dentalia Plus";
	var ttCalcAssDentTxt="Dentalia Plus est une couverture soins dentaires facultative "
					+"La liste des prestations remboursées par Dentalia Plus est longue : les soins dentaires préventifs et curatifs, les prothèses et implants, sans oublier l’orthodontie. "
					+"L'affiliation à Dentalia Plus n'est possible qu'avant l'âge de 60 ans.";
	objInstantStep.nom = cook.get('nom');
	objInstantStep.prenom = cook.get('prenom'); 
	objInstantStep.mail = cook.get('mail');
	function buildResTt() {
		if (Ext.get("ttAssComp")) {
			var ttAssComp = new Ext.ToolTip({
						target : "ttAssComp",
						title : ttAssCompTitre,
						dismissDelay:0,
						html : 	ttAssCompTxt
					});
		}
		if (Ext.get("ttFondReserv")) {
			var ttFondReserv = new Ext.ToolTip({
						target : "ttFondReserv",
						title : ttFondReservTitre,
						dismissDelay:0,
						html : 	ttFondReservTxt
					});
		}
		if (Ext.get("ttAssDep")) {
			var ttAssDep = new Ext.ToolTip({
						target : "ttAssDep",
						title : ttAssDepTitre,
						dismissDelay:0,
						html : 	ttAssDepTxt
					});
		}
		if (Ext.get("ttCalcAssHosp")) {
			var ttCalcAssHosp = new Ext.ToolTip({
						target : "ttCalcAssHosp",
						title : ttCalcAssHospTitre,
						dismissDelay:0,
						html : 	ttCalcAssHospTxt
					});
		}
		if (Ext.get("ttCalcAssDent")) {
			var ttCalcAssDent = new Ext.ToolTip({
						target : "ttCalcAssDent",
						title : ttCalcAssDentTitre,
						dismissDelay:0,
						html : 	ttCalcAssDentTxt
					});
		}
	}
	function chooseLoc(item, checked) {
		if (item.inputValue == '1' && checked == true) {
			form_calc.getForm().findField("frmCalc_cp_etranger").disable();
			form_calc.getForm().findField("frmCalc_cp_belge").enable();
		}
		else if (item.inputValue == '2' && checked == true) {
			form_calc.getForm().findField("frmCalc_cp_belge").disable();
			form_calc.getForm().findField("frmCalc_cp_etranger").enable();
		}
	}
	function sub_calc() {
		document.location.hash='#topform'
		form_calc.getForm().submit({
			success : function(form, action) {
				divCot=Ext.get("id_coti");
				divCot.update("<h1>Simulation du coût de votre cotisation</h1>");
				divCot.insertHtml("beforeEnd","<p>- Assurance complémentaire : "+action.result.assComp+"€ / mois / titulaire <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttAssComp'></p>");
				divCot.insertHtml("beforeEnd","<p>- Fonds de réserve (par an) : "+action.result.fondReserv+"€ <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttFondReserv'></p>");
				if(action.result.isAssDep){
					divCot.insertHtml("beforeEnd","<p>- Assurance dépendance (par an) : "+action.result.assDep+"€ <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttAssDep'></p>");
				}
				divCot.insertHtml("beforeEnd","<p>"+txtDisclaimer+"</p>");
				divCot.insertHtml("beforeEnd","<p class='ExtCalcPromo'><a href='hospitalia_Devis.jsp' target='_blank'>Je souhaite aussi calculer la cotisation facultative pour Hospitalia</a> <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttCalcAssHosp'></p>");
				divCot.insertHtml("beforeEnd","<p class='ExtCalcPromo'><a href='dentalia_Devis.jsp' target='_blank'>Je souhaite aussi calculer la cotisation facultative pour Dentalia Plus</a> <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttCalcAssDent'></p>");
				buildResTt();
			},
			failure : function(form, action) {
				switch (action.failureType) {
					case Ext.form.Action.CLIENT_INVALID :
						// Ext.Msg.alert("Failure",
						// "Form fields may not be submitted with invalid
						// values");
						break;
					case Ext.form.Action.CONNECT_FAILURE :
						Ext.Msg.alert("Failure", "Ajax communication failed");
						break;
					case Ext.form.Action.SERVER_INVALID :
						Ext.Msg.alert("Failure", action.result.msg);
				}
			}
		});		
	}
	form_calc = new Ext.FormPanel({		
		url: 'servlet/CalculCoti',
		bodyStyle:'padding:10px 0 0 10px; border:none;',	
		labelWidth: 280,                
		defaults : {
			validationEvent : false
		},
		items : [{
			xtype : 'datefield',
			name : 'frmCalc_dna',
			fieldLabel : 'Introduisez votre date de naissance (jj/mm/aaaa)',
			//labelStyle : 'width:280px',
			width : '560px',
			allowBlank : false,
			format : 'd/m/Y',
			altFormats : 'dmY|d/m/Y|d-m-Y',
			validateOnBlur : false
		}, {
			xtype : 'label',
			html : '<p class="ExtCalcTitle">Entrez votre code postal</p>'
		}, {
			xtype : 'panel',
			layout : 'column',
			height : 30,				
			bodyBorder : false,
			border : false,
			hideBorders : true,
			items : [{
				xtype : "radio",
				boxLabel : "belge",
				name : "rb_location",
				handler : chooseLoc,
				inputValue : "1",
				columnWidth: .15,
				checked: true,
				hideLabel : true
			}, {
				xtype : 'textfield',
				name : 'frmCalc_cp_belge',
				width : '50px',
				allowBlank : false,
				validateOnBlur : false,
				hideLabel : true
			}]
		}, {
			xtype : 'panel',
			layout : 'column',
			bodyBorder : false,
			border : false,
			hideBorders : true,
			items : [{
				xtype : "radio",
				boxLabel : "étranger",
				name : "rb_location",
				handler : chooseLoc,
				inputValue : "2",
				columnWidth: .15,
				hideLabel : true
			}, {
				xtype : 'textfield',
				name : 'frmCalc_cp_etranger',
				width : '50px',
				allowBlank : false,
				validateOnBlur : false,
				disabled: true,
				hideLabel : true
			}]
		}, 
		/*
		{
			xtype : 'label',
			html : '<p class="ExtCalcTitle">Choisissez votre situation</p>'
		}, {
			xtype : "radio",
			boxLabel : "Isolé <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttIsole'>",
			name : "rb_sit",
			inputValue : "1",
			hideLabel : true,
			checked: true
		}, {
			xtype : "radio",
			boxLabel : "Ménage ou personnes à charge <img src='scripts/ext/resources/images/default/window/icon-info.gif' height='15' id='ttPac2'>",
			name : "rb_sit",
			inputValue : "2",
			hideLabel : true
		}, 
		*/
		{
			xtype : 'label',
			html : '<br />'
		},  {
			xtype : 'button',
			name: 'bt_sub_calc',
			text: 'Calculer',
			handler : sub_calc
		}]
	});
	form_calc.render(Ext.get("form_calc"));
	if (Ext.get("ttIsole")) {
		var ttIsole = new Ext.ToolTip({
					target : "ttIsole",
					title : ttIsoleTitre,
					dismissDelay:0,
					html : 	ttIsoleTxt
					});
	}
	if (Ext.get("ttPac2")) {
		var ttPac2 = new Ext.ToolTip({
					target : "ttPac2",
					title : ttPacTitre2,
					dismissDelay:0,
					html : 	ttPacTxt2
				});
	}
});
