/**
	mva.js
	Creation Date:16/07/2009
	History:
	version			Description											Author			Date
	1		 Creation of file											D.CALLET		16/07/2009
**/
var currentID = 0;
var nbPers = 0;
var garantie = '';
var formule = 'EQUITEO';
var ajaxEnabled = true;
var fieldCheckValue = "";
var fieldCheckInterval;
var fieldCheckElement;
var showHideArray = new Array();
showHideArray[0] = "on";
showHideArray[2] = "off";
showHideArray[4] = "off";
showHideArray[6] = "off";
showHideArray[8] = "off";

var heightArray = new Array();
heightArray[0] = 0;
heightArray[2] = 0;
heightArray[4] = 0;
heightArray[6] = 0;
heightArray[8] = 0;
var tweenArray = new Array();
var numFieldYear = new Array();
var numFieldMonth = new Array();
var numFieldDay = new Array();
var valYear = new Array();
var valMonth = new Array();
var valDay = new Array();
var pers = new Array();

Ext.onReady(function(){
    Ext.QuickTips.init();
    // turn on validation errors beside the field globally
    Ext.form.Field.prototype.msgTarget = 'side';

/*	if(Ext.get("lesaviezvous") != null){
		var pagePanel = new Ext.Panel({});
		pagePanel.body = Ext.get("lesaviezvous");
		var mgr = pagePanel.getUpdater();
		mgr.update({
		        url: './index.php?module=mva&class=home&event=getlesaviezvous',
		        callback: function(el,res,resp,opt){
		        }
		});
	}
*/
    if(Ext.isIE && (Ext.get("navigation")!=null)) Ext.get("navigation").setStyle("padding-top","50px");
    if(Ext.isIE && (Ext.get("julie_tarif")!=null)){
    	Ext.get("julie_tarif").setStyle("margin-left","0px");
    	Ext.get("div_garantie").setStyle("margin-left","3px");
	}
	if(Ext.get("smallformid") != null){
		Ext.get("smallformid").hide();
		Ext.get("cnt").hide();
		//Get Session
		var  getSession = new Ext.data.Store({
			proxy: new Ext.data.HttpProxy({url: 'index.php?module=mva&class=devis&event=session'}),
			reader: new Ext.data.JsonReader({},[ 'nbpers','y_0','d_0','m_0','y_1','d_1','m_1','y_2',
												'd_2','m_2','y_3','d_3','m_3','y_4','d_4','m_4',
												'n_1','p_1','s_1','n_2','p_2','s_2','n_3','p_3','s_3',
												'n_4','p_4','s_4']),
			remoteSort: false
		});
		getSession.load({
			callback:function(){
				// Year Number field
//				alert(getSession.getCount());
				numFieldYear[currentID] = new Ext.form.NumberField({
					name:"numyear"+currentID,
					allowBlank:false,
					cls:"text",
					emptyText:'aaaa',
					value:getSession.getAt(0).data.y_0,
					maxLength:4,
					autoCreate:{tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: 4},
					renderTo:'year_'+currentID,
					width:50,
					listeners:{
						'blur':function(){
							CalculDevis();
						}
					}
				});
				// Month Number field
				numFieldMonth[currentID] = new Ext.form.NumberField({
					name:"nummonth"+currentID,
					allowBlank:false,
					cls:"text",
					emptyText:'mm',
					value:getSession.getAt(0).data.m_0,
					maxLength:4,
					autoCreate:{tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: 2},
					renderTo:'month_'+currentID,
					width:50,
					listeners:{
						'blur':function(){
							CalculDevis();
						}
					}
				});
				// Day Number field
				numFieldDay[currentID] = new Ext.form.NumberField({
					name:"numday"+currentID,
					allowBlank:false,
					cls:"text",
					emptyText:'jj',
					value:getSession.getAt(0).data.d_0,
					maxLength:4,
					autoCreate:{tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: 2},
					renderTo:'day_'+currentID,
					width:50,
					listeners:{
						'blur':function(){
							CalculDevis();
						}
					}
				});
				if(getSession.getAt(0).data.nbpers>1){
					AddPeople(getSession.getAt(0).data.n_1,getSession.getAt(0).data.p_1,getSession.getAt(0).data.s_1,getSession.getAt(0).data.d_1,getSession.getAt(0).data.m_1,getSession.getAt(0).data.y_1);
					if(getSession.getAt(0).data.nbpers>2){
						AddPeople(getSession.getAt(0).data.n_2,getSession.getAt(0).data.p_2,getSession.getAt(0).data.s_2,getSession.getAt(0).data.d_2,getSession.getAt(0).data.m_2,getSession.getAt(0).data.y_2);
						if(getSession.getAt(0).data.nbpers>3){
							AddPeople(getSession.getAt(0).data.n_3,getSession.getAt(0).data.p_3,getSession.getAt(0).data.s_3,getSession.getAt(0).data.d_3,getSession.getAt(0).data.m_3,getSession.getAt(0).data.y_3);
							if(getSession.getAt(0).data.nbpers>4){
								AddPeople(getSession.getAt(0).data.n_4,getSession.getAt(0).data.p_4,getSession.getAt(0).data.s_4,getSession.getAt(0).data.d_4,getSession.getAt(0).data.m_4,getSession.getAt(0).data.y_4);
							}
						}
					}
				}
			}
		});

	}
	if(Ext.get("faq") != null){
		getFAQ.load({
			callback: function(){
				html = '<table width="90%" cellspacing="0" cellpadding="0" id="table_optimiz" class="faqtable"><thead><tr><td></td></tr></thead><tbody>';
				for(i=0;i<getFAQ.getCount();i++){
					html += '<tr><td class="normal" colspan="2"><a href="#" class="faq" onclick="return showSection( this );">&#147;'+getFAQ.getAt(i).data.titre+'&#148;</a></td>';
					html += '</tr><tr><td class="normal" style="width:11%;"><td class="special"><div><p style="text-align:justify;padding:10px;background-color:#ffffff;">'+getFAQ.getAt(i).data.texte+'</p><div class="bas_fleche"></div></div></td></tr>';
				}
				html += '</tbody><tfoot><tr><td></td></tr></tfoot></table>';
				Ext.get("faq").update(html);
				faqLoad();
				}
			});
	}
	//Update work progress
var  getCurrentGarantie= new Ext.data.Store({
	proxy: new Ext.data.HttpProxy({url: 'index.php?module=mva&class=devis&event=garantie'}),
	reader: new Ext.data.JsonReader({},[ 'garantie']),
	remoteSort: false
});

	getCurrentGarantie.load({
		callback: function(){
			garantie = getCurrentGarantie.getAt(0).data.garantie;
		}
	});
});

function AddPeople(n,p,s,d,m,y){
	currentID++;nbPers++;
	pers[currentID] = "on";
	if(nbPers > 4){
		Ext.MessageBox.alert('Information','Limit&eacute; &agrave; cinq personnes');
		nbPers--;
		return;
	}
	if(n == null) n="";
	if(p == null) p="";
	if(s == null) s="H";
	html = '<tr id="p'+currentID+'"><td><input type="text" class="text" size="20" value="'+n+'" id="name_'+currentID+'" name="name_'+currentID+'" /></td><td><input type="text" id="firstname_'+currentID+'" class="text" size="20" name="firstname_'+currentID+'" value="'+p+'"/></td>';
	html += '<td><select name="sexe_'+currentID+'" id="sexe_'+currentID+'"><option value="H">Homme</option><option value="F">Femme</option></select></td>';
//	html += '<td><input type="text" class="text" maxlength="2" size="1" id="day_'+currentID+'" name="day_'+currentID+'" /></td>';
	html += '<td><div id="day_'+currentID+'"></div></td>';
	html += '<td><div id="month_'+currentID+'"></div></td>';
//	html += '<td><input type="text" class="text" maxlength="2" size="1" id="month_'+currentID+'" name="month_'+currentID+'" /></td>';
	//html += '<td><input type="text" class="text" maxlength="4" size="1" onblur="CalculDevis();" id="year_'+currentID+'" name="year_'+currentID+'" /></td><td><img title="Supprimer la personne" src="./images/delete.png" onclick="DeletePerson(\'p'+currentID+'\');"/></td></tr>';
	html += '<td><div id="year_'+currentID+'"></div></td><td><img title="Supprimer la personne" src="./images/delete.png" onclick="DeletePerson(\'p'+currentID+'\');"/></td></tr>';
	html += '<tr><td colspan=99><div id="p'+currentID+'error"></div></td></tr>';
	Ext.get('bodyform').insertHtml("beforeEnd",html);
	// Number field
	numFieldYear[currentID] = new Ext.form.NumberField({
		name:"numyear"+currentID,
		allowBlank:false,
		cls:"text",
		value:y,
		maxLength:4,
		emptyText:'aaaa',
		autoCreate:{tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: 4},
		renderTo:'year_'+currentID,
		width:50,
		listeners:{
			'blur':function(){
				CalculDevis();
			}
		}
	});
	// Month Number field
	numFieldMonth[currentID] = new Ext.form.NumberField({
		name:"nummonth"+currentID,
		allowBlank:false,
		cls:"text",
		value:m,
		emptyText:'mm',
		maxLength:4,
		autoCreate:{tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: 2},
		renderTo:'month_'+currentID,
		width:50,
		listeners:{
			'blur':function(){
//				CalculDevis();
			}
		}
	});
	// Day Number field
	numFieldDay[currentID] = new Ext.form.NumberField({
		name:"numday"+currentID,
		allowBlank:false,
		cls:"text",
		value:d,
		emptyText:'jj',
		maxLength:4,
		autoCreate:{tag: 'input', type: 'text', size: '20', autocomplete: 'off', maxlength: 2},
		renderTo:'day_'+currentID,
		width:50,
		listeners:{
			'blur':function(){
//				CalculDevis();
			}
		}
	});

}
//Update work progress
var  calculDevis = new Ext.data.Store({
	proxy: new Ext.data.HttpProxy({url: 'index.php?module=mva&class=devis&event=calculdevis'}),
	reader: new Ext.data.JsonReader({},[ 'success','prix','prixcomplet','t1','t2','t3','t4','t12','t13','t23','t123','plaf']),
	remoteSort: false
});


function DeletePerson(id){
	Ext.Msg.buttonText.yes = "oui";
	Ext.Msg.buttonText.no = "non";
	Ext.Msg.confirm('Confirmation de la suppression','Etes-vous s&ucirc;r de vouloir supprimer la personne?',
					function(btn, text){
						if (btn == 'yes'){
							Ext.get(id).remove();
							nbPers--;
							pers[id]="off";
							CalculDevis();
						}
					});
}

function CalculDevis(){
	check_ok = true;
	for(i=0;i<=currentID;i++){
//		alert('Sexe?:'+i+"-"+Ext.get("sexe_"+i).getValue());
		if(Ext.get("sexe_"+i) != null){
			calculDevis.setBaseParam("sexe_"+i,Ext.get("sexe_"+i).getValue());
			calculDevis.setBaseParam("year_"+i,numFieldYear[i].getValue());
			if(!checkYear(i)) {
				check_ok = false;
			}else{
				calculDevis.setBaseParam("people_"+i,1);
			}
		}else{
			calculDevis.setBaseParam("people_"+i,0);
		}
	}
	if(garantie == ""){
		Ext.get('error_garantie').update('<span style="font-size:8pt;color:red;">Vous devez sélectionner une garantie</span>');
		check_ok = false;
	}else Ext.get('error_garantie').update('');
	calculDevis.setBaseParam("garantie",garantie);
	calculDevis.setBaseParam("formule",formule);
	if(check_ok){
		calculDevis.load({
			callback: function(){
				if(calculDevis.getAt(0).data.success && calculDevis.getAt(0).data.prix!=0){
					Ext.get("smallformid").show();
					Ext.get("cnt").show();
					Ext.get("prime").update(calculDevis.getAt(0).data.prix);
					Ext.get("prime").highlight('#dbe8f0');

					if(calculDevis.getAt(0).data.prix != calculDevis.getAt(0).data.prixcomplet){
						plaf = calculDevis.getAt(0).data.plaf;
						html =  "<span style='color: rgb(9, 37, 125)'><table><tr><td width='250'><b>Plafond de votre prime mensuelle:&nbsp;&nbsp;&nbsp;</span style><span style='color: rgb(232, 85, 34)'>"+plaf+" &euro;</span style></b></td></tr></table><br/>";
						html += "<span style='font-size:8pt;color:black'>Jusqu'&agrave; &eacute;ch&eacute;ance principale, quels que soient vos soins rembours&eacute;s, <b>votre prime mensuelle &agrave; payer ne d&eacute;passera pas le plafond</b> indiqu&eacute; ci-dessus<br/><br/>Pour en savoir plus, cliquez sur <b>Recevoir le devis par email</b></span style>";
						html += "<input type='hidden' name='prix' value='"+calculDevis.getAt(0).data.prix+"'>";
						Ext.get("cnt").update(html);
						Ext.get("smallformid").setStyle();
						Ext.get("cnt").highlight('#dbe8f0');
					}else{
						html = "Le montant de votre prime mensuelle en formule classique (sans option) est de<b> "+calculDevis.getAt(0).data.prixcomplet+"&euro; pour l'ensemble des personnes &agrave; assurer</b>.<br/><br/>";
						html += "Pour information, le montant de cette prime mensuelle est fixe. Il ne varie pas en fonction des types de soins pour lesquels vous &ecirc;tes rembours&eacute;s.";
						html += "<input type='hidden' name='prix' value='"+calculDevis.getAt(0).data.prix+"'>";
						Ext.get("cnt").update(html);
						Ext.get("cnt").highlight('#dbe8f0');

					}
				}
			}
		});
	}
}

function checkYear(id){
	dateToday = new Date();
	Year = dateToday.getFullYear();
	if(numFieldYear[id].getValue() != ""){
		if((Year - numFieldYear[id].getValue()) > 65) {
			//Ext.get(id).setStyle("border","2px solid red");
			Ext.get('error').update('<span style="font-size:8pt;color:red;">Vous devez avoir moins de 66 ans pour souscrire</span>');
			return false;
		}else if(((Year - numFieldYear[id].getValue()) < 18) && (id == '0')) {
			//Ext.get(id).setStyle("border","2px solid red");
			Ext.get('p'+id+'error').update('<span style="font-size:8pt;color:red;">1- La 1&egrave;re personne &agrave; assurer doit imp&eacute;rativement &ecirc;tre le souscripteur et donc &ecirc;tre majeure</span>');
			return false;
		}else{
			if(id=='0') Ext.get('p'+id+'error').update('');
			//Ext.get(id).setStyle("border","");
			Ext.get('error').update('');
			return true;
		}
	}else{
			//Ext.get(id).setStyle("border","");
			//alert(Ext.get('p'+id+'error'));
			Ext.get('error').update('');
			return true;
	}
}

function ChangeGarantie(val){
	garantie = Ext.get(val).getValue();
	CalculDevis();
}

function ChangeFormule(val){
	formule = Ext.get(val).getValue();
	CalculDevis();
}

function faqLoad( )
{
	var mtable = document.getElementById( "table_optimiz" );

	var i = 0;
	var i2 = 0;
	var iList;

	while( i < mtable.rows.length - 2 )
	{
		heightArray[i] = mtable.rows[i+2].offsetHeight - 1;
		if( i != 0 )
		{
			showHideArray[i] = "off";
			i2 = 0;
			iList = mtable.rows[i+2].getElementsByTagName( "div" );
			while( i2 < iList.length )
			{
				iList[i2].style.overflow = "hidden";
				iList[i2].style.height = 0;
				i2++;
			}
		}
		else
		{
			i2 = 0;
			iList = mtable.rows[i+2].getElementsByTagName( "div" );

			while( i2 < iList.length )
			{
				iList[i2].style.overflow = "hidden";
				iList[i2].style.height = heightArray[i];
				i2++;
			}
		}



		i += 2;
	}
}

//Get FAQ
var  getFAQ = new Ext.data.Store({
	proxy: new Ext.data.HttpProxy({url: 'index.php?module=mva&class=faq&event=getfaq'}),
	reader: new Ext.data.JsonReader({},[ 'id','titre','texte','ordre']),
	remoteSort: false
});

function closeSections( openFirst )
{
	var mtable = document.getElementById( "table_optimiz" );

	var i = 0;
	var i2 = 0;
	var iList;

	while( i < mtable.rows.length - 2 )
	{


		i2 = 0;
		iList = mtable.rows[i+2].getElementsByTagName( "div" );

		if( !tweenArray[ i ] )
			tweenArray[ i ] = new Array();

		while( i2 < iList.length )
		{
			iList[i2].style.overflow = "hidden";

			if( tweenArray[ i ][i2] )
				tweenArray[ i ][i2].stop();

			tweenArray[ i ][i2] = new Tween( iList[i2].style,'height',Tween.strongEaseOut, mtable.rows[ i + 2 ].offsetHeight -1, 0 , 1,'px' );
			tweenArray[ i ][i2].start();

			i2++;
		}

		showHideArray[i] = "off";
		i += 2;
	}

	if( openFirst )
	{
		i = 0;
		i2 = 0;
		iList = mtable.rows[i+2].getElementsByTagName( "div" );

		while( i2 < iList.length )
		{
			iList[i2].style.overflow = "hidden";

			if( tweenArray[ i ][i2] )
				tweenArray[ i ][i2].stop();

			tweenArray[ i ][i2] = new Tween( iList[i2].style,'height',Tween.strongEaseOut, 0, heightArray[ i ] , 1,'px' );
			tweenArray[ i ][i2].start();

			i2++;
		}
		showHideArray[i] = "on";
	}
}

function showSection( elem )
{
	var rowI = elem.parentNode.parentNode.sectionRowIndex;
	var i = 0;

	var mtable = document.getElementById( "table_optimiz" );

	if( !heightArray[ rowI ] )
		heightArray[ rowI ] = mtable.rows[ rowI + 2 ].offsetHeight -1;

	var iList = mtable.rows[ rowI + 2 ].getElementsByTagName( "div" );
	var t1;
	var t2;
	var t3;

	if( showHideArray[rowI] == "off" )
	{
		closeSections( false );
		while( i < iList.length )
		{
			if( !tweenArray[ rowI ] )
				tweenArray[ rowI ] = new Array();

			if( showHideArray[rowI] == "off" )
			{
				if( tweenArray[ rowI ][i] )
					tweenArray[ rowI ][i].stop();
				tweenArray[ rowI ][i] = new Tween( iList[i].style,'height',Tween.strongEaseOut, 0, heightArray[ rowI ], 1,'px' );
				tweenArray[ rowI ][i].start();
			}

			else if( showHideArray[rowI] == "on" )
			{
				iList[i].style.overflow="hidden";
				if( tweenArray[ rowI ][i] )
					tweenArray[ rowI ][i].stop();
				tweenArray[ rowI ][i] = new Tween( iList[i].style,'height',Tween.strongEaseOut,mtable.rows[ rowI + 2 ].offsetHeight -1,0,1,'px' );
				tweenArray[ rowI ][i].start();
			}
			i++;
		}

		showHideArray[rowI] = "on";
	}
	else
	{
		if( rowI != 0 )
			closeSections( true );
	}

	return false;
}


function checkFieldDevis(){
	openEmail();

/*	for(i=1;i<=currentID;i++){
		if(!checkYear(i)){
			return;
		}else{
		}
	}
	*/
}

//Update work progress
var  saveDevis = new Ext.data.Store({
	proxy: new Ext.data.HttpProxy({url: 'index.php?module=mva&class=devis&event=savedevis'}),
	reader: new Ext.data.JsonReader({},[ 'success','message']),
	remoteSort: false
});

function trim (myString)
{
return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}
 
function saveDevisCall(form){
	var i=0;
	var error = false;
	for(i=0;i<5;i++){
		var strError="";
		var j=1;
		if(Ext.get("p"+i) != null){
			Ext.get("name_"+i).setStyle('border','');
			Ext.get("firstname_"+i).setStyle('border','');
			if(trim(Ext.get("name_"+i).getValue()) == ""){
				Ext.get("name_"+i).setStyle('border','solid 2px red');
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- Veuillez saisir un nom</div>';
			}
			saveDevis.setBaseParam("name_"+i,Ext.get("name_"+i).getValue());
			if(trim(Ext.get("firstname_"+i).getValue()) == ""){
				Ext.get("firstname_"+i).setStyle('border','solid 2px red');
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- Veuillez saisir un pr&eacute;nom</div>';
			}
			saveDevis.setBaseParam("firstname_"+i,Ext.get("firstname_"+i).getValue());
			saveDevis.setBaseParam("sexe_"+i,Ext.get("sexe_"+i).getValue());
			saveDevis.setBaseParam("day_"+i,numFieldDay[i].getValue());
			saveDevis.setBaseParam("month_"+i,numFieldMonth[i].getValue());
			dateToday = new Date();
			Year = dateToday.getFullYear();
			if((numFieldDay[i].getValue() == "") || (numFieldDay[i].getValue() > 31) || (numFieldDay[i].getValue() < 1)){
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- Veuillez saisir un jour de naissance correct</div>';
			}
			if((numFieldMonth[i].getValue() == "") || (numFieldMonth[i].getValue() > 12) || (numFieldMonth[i].getValue() < 1)){
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- Veuillez saisir un mois de naissance correct</div>';
			}
			if(numFieldYear[i].getValue() == ""){
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- Veuillez saisir une ann&eacute;e de naissance</div>';
			}else if((Year - numFieldYear[i].getValue()) > 65) {
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- Vous devez avoir moins de 66 ans pour souscrire</div>';
			}else if(((Year - numFieldYear[i].getValue()) < 18) && (i == 0)) {
				strError += '<div style="font-size:8pt;color:red;">'+(j++)+'- La 1&egrave;re personne &agrave; assurer doit imp&eacute;rativement &ecirc;tre le souscripteur et donc &ecirc;tre majeure</div>';
			}
			saveDevis.setBaseParam("year_"+i,numFieldYear[i].getValue());
			valYear[i] = numFieldYear[i].getValue();
			valMonth[i] = numFieldMonth[i].getValue();
			valDay[i] = numFieldDay[i].getValue();
			if(strError != ""){
				Ext.get("p"+i+"error").update(strError);
				error = true
			}
		}
	}
	saveDevis.setBaseParam("choix_formule",formule);
	if(garantie !='') saveDevis.setBaseParam("choix_garantie",garantie);
	else {
		error = true;
		Ext.get('error_garantie').update('<span style="font-size:8pt;color:red;">Vous devez sélectionner une garantie</span>');
	}
	if(!error){
		CalculDevis();
		saveDevis.load({
			callback:function(){
				if(!form) openEmail();
				if(form) document.getElementById( "formdevis" ).submit();
			}
		});
	}
}

//Update work progress
var  subDevis = new Ext.data.Store({
	proxy: new Ext.data.HttpProxy({url: 'index.php?module=mva&class=details&event=subscribe'}),
	reader: new Ext.data.JsonReader({},[ 'success','tit_address','tit_prof','tit_postcode','tit_town','tit_phone','tit_email','tit_country','bank_name','bank_code','bank_guichet','account','date_effect','key','bank_adress1','postal_code','town','name','firstname','secu_0','secu_1','secu_2','secu_3','secu_4','aff_0','aff_1','aff_2','aff_3','aff_4', 'rib']),
	remoteSort: false
});

function subscribe(){
	//RIB
	subDevis.setBaseParam("bank_name",Ext.get("bank_name").getValue());
	subDevis.setBaseParam("bank_code",Ext.get("bank_code").getValue());
	subDevis.setBaseParam("bank_guichet",Ext.get("bank_guichet").getValue());
	subDevis.setBaseParam("account",Ext.get("account").getValue());
	subDevis.setBaseParam("key",Ext.get("key").getValue());
	subDevis.setBaseParam("name",Ext.get("name").getValue());
	subDevis.setBaseParam("firstname",Ext.get("firstname").getValue());
	subDevis.setBaseParam("bank_adress1",Ext.get("bank_adress1").getValue());
	subDevis.setBaseParam("bank_adress2",Ext.get("bank_adress2").getValue());
	subDevis.setBaseParam("postal_code",Ext.get("postal_code").getValue());
	subDevis.setBaseParam("town",Ext.get("town").getValue());
	subDevis.setBaseParam("dat_prel",Ext.get("dat_prel").getValue());//Ext.get("prel").getValue()
	//Informations Titulaire
	subDevis.setBaseParam("tit_civ",Ext.get("tit_civ").getValue());
	subDevis.setBaseParam("tit_adress1",Ext.get("tit_adress1").getValue());
	subDevis.setBaseParam("tit_adress2",Ext.get("tit_adress2").getValue());
	subDevis.setBaseParam("tit_phone",Ext.get("tit_phone").getValue());
	subDevis.setBaseParam("tit_postcode",Ext.get("tit_postcode").getValue());
	subDevis.setBaseParam("tit_email",Ext.get("tit_email").getValue());
	subDevis.setBaseParam("tit_town",Ext.get("tit_town").getValue());
	subDevis.setBaseParam("tit_country",Ext.get("tit_country").getValue());
	subDevis.setBaseParam("tit_prof",Ext.get("tit_prof").getValue());
	subDevis.setBaseParam("tit_csp",Ext.get("tit_csp").getValue());
	subDevis.setBaseParam("date_effect",Ext.get("date_effect").getValue());
	var i=0;
	for(i=0;i<5;i++){
		if(Ext.get("p"+i) != null){
			subDevis.setBaseParam("secu_"+i,Ext.get("secu_"+i).getValue());
			subDevis.setBaseParam("aff_"+i,Ext.get("aff_"+i).getValue());
			subDevis.setBaseParam("reg_"+i,Ext.get("reg_"+i).getValue());
		}
	}
	subDevis.load({
		callback:function(r,opt,suc){
			if(suc){
				var error = false;
				//Titulaire
				if(r[0].data.tit_postcode == '0'){
					Ext.get("error_tit_postcode").update('<span style="color:red;font-size:8pt;">Le code postal est requis</span>');
					error = true;
				}else Ext.get("error_tit_postcode").update('');
				if(r[0].data.date_effect == '0'){
					Ext.get("error_dateeffect").update('<span style="color:red;font-size:8pt;">La date d\'effet n\'est pas correcte.</span>');
					error = true;
				}else Ext.get("error_dateeffect").update('');
				if(r[0].data.tit_address == '0'){
					Ext.get("error_tit_adress1").update('<span style="color:red;font-size:8pt;">L\'adresse est requise</span>');
					error = true;
				}else Ext.get("error_tit_adress1").update('');
				if(r[0].data.tit_prof == '0'){
					Ext.get("error_tit_prof").update('<span style="color:red;font-size:8pt;">La profession est requise</span>');
					error = true;
				}else Ext.get("error_tit_prof").update('');
				if(r[0].data.tit_town == '0'){
					Ext.get("error_tit_town").update('<span style="color:red;font-size:8pt;">La ville est requise</span>');
					error = true;
				}else Ext.get("error_tit_town").update('');
				if(r[0].data.tit_phone == '0'){
					Ext.get("error_tit_phone").update('<span style="color:red;font-size:8pt;">Le t&eacute;l&eacute;phone n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_tit_phone").update('');
				if(r[0].data.tit_email == '0'){
					Ext.get("error_tit_email").update('<span style="color:red;font-size:8pt;">L\'email n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_tit_email").update('');
				if(r[0].data.tit_country == '0'){
					Ext.get("error_tit_country").update('<span style="color:red;font-size:8pt;">Le pays est requis</span>');
					error = true;
				}else Ext.get("error_tit_country").update('');
				//bank
				if(r[0].data.bank_name == '0'){
					 Ext.get("error_bank_name").update('<span style="color:red;font-size:8pt;">Le nom de la banque est requis</span>');
					error = true;
				}else Ext.get("error_bank_name").update('');
				if(r[0].data.bank_code == '0'){
					Ext.get("error_bank_code").update('<span style="color:red;font-size:8pt;">Le code banque n\'est pas valable</span>');
					error = true;
				}else Ext.get("error_bank_code").update('');
				if(r[0].data.bank_guichet == '0'){
					Ext.get("error_bank_guichet").update('<span style="color:red;font-size:8pt;">Le code guichet n\'est pas valable</span>');
					error = true;
				}else Ext.get("error_bank_guichet").update('');
				if(r[0].data.account == '0'){
					Ext.get("error_account").update('<span style="color:red;font-size:8pt;">Votre num&eacute;ro de compte n\'est pas valable</span>');
					error = true;
				}else Ext.get("error_account").update('');
				if(r[0].data.key == '0'){
					Ext.get("error_key").update('<span style="color:red;font-size:8pt;">La cl&eacute; banque n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_key").update('');
				if(r[0].data.bank_adress1 == '0'){
					Ext.get("error_bank_adress1").update('<span style="color:red;font-size:8pt;">L\'adresse de la banque est requise</span>');
					error = true;
				}else Ext.get("error_bank_adress1").update('');
				if(r[0].data.town == '0'){
					Ext.get("error_town").update('<span style="color:red;font-size:8pt;">La ville est requise</span>');
					error = true;
				}else Ext.get("error_town").update('');
				if(r[0].data.name == '0'){
					Ext.get("error_name").update('<span style="color:red;font-size:8pt;">Le nom est requis</span>');
					error = true;
				}else Ext.get("error_name").update('');
				if(r[0].data.postal_code == '0'){
					Ext.get("error_postal_code").update('<span style="color:red;font-size:8pt;">Le code postal n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_postal_code").update('');
				if(r[0].data.firstname == '0'){
					Ext.get("error_firstname").update('<span style="color:red;font-size:8pt;">Le pr&eacute;nom est requis</span>');
					error = true;
				}else Ext.get("error_firstname").update('');
				if(r[0].data.rib == '0'){
					Ext.get("error_rib").update('<span style="color:red;font-size:8pt;">Votre relev&eacute; d\'identit&eacute; bancaire n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_rib").update('');
				if(r[0].data.secu_0 == '0'){
					Ext.get("error_tit_secu_0").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro de securit&eacute; sociale n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_tit_secu_0").update('');
				if(r[0].data.secu_1 != ''){
					if(r[0].data.secu_1 == '0'){
						Ext.get("error_tit_secu_1").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro de securit&eacute; sociale n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_secu_1").update('');
				}
				if(r[0].data.secu_2 != ''){
					if(r[0].data.secu_2 == '0'){
						Ext.get("error_tit_secu_2").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro de securit&eacute; sociale n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_secu_2").update('');
				}
				if(r[0].data.secu_3 != ''){
					if(r[0].data.secu_3 == '0'){
						Ext.get("error_tit_secu_3").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro de securit&eacute; sociale n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_secu_3").update('');
				}
				if(r[0].data.secu_4 != ''){
					if(r[0].data.secu_4 == '0'){
						Ext.get("error_tit_secu_4").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro de securit&eacute; sociale n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_secu_4").update('');
				}
				if(r[0].data.aff_0 == '0'){
					Ext.get("error_tit_aff_0").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro d\'affili&eacute; n\'est pas valide</span>');
					error = true;
				}else Ext.get("error_tit_aff_0").update('');
				if(r[0].data.aff_1 != ''){
					if(r[0].data.aff_1 == '0'){
						Ext.get("error_tit_aff_1").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro d\'affili&eacute; n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_aff_1").update('');
				}
				if(r[0].data.aff_2 != ''){
					if(r[0].data.aff_2 == '0'){
						Ext.get("error_tit_aff_2").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro d\'affili&eacute; n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_aff_2").update('');
				}
				if(r[0].data.aff_3 != ''){
					if(r[0].data.aff_3 == '0'){
						Ext.get("error_tit_aff_3").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro d\'affili&eacute; n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_aff_3").update('');
				}
				if(r[0].data.aff_4 != ''){
					if(r[0].data.aff_4 == '0'){
						Ext.get("error_tit_aff_4").update('<span style="color:red;font-size:8pt;">Le num&eacute;ro d\'affili&eacute; n\'est pas valide</span>');
						error = true;
					}else Ext.get("error_tit_aff_4").update('');
				}
				if(!error) document.getElementById( "formdevis" ).submit();
				else Ext.get('error_alert').update('Certaines informations fournies sont erron&eacute;es! Veuillez les corriger.');
			}
		}
	});
}

function sendMail( )
{
	if( check_email( Ext.get( "real_send_email" ).getValue() ) )
	{
		document.getElementById( "DEVIS_SEND_EMAIL" ).value = document.getElementById( "real_send_email" ).value;
		document.getElementById( "devisMainForm" ).submit();
		return false;
	}
	else
	{
		return false;
	}
}

function check_email(e)
{
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
	for(i=0; i < e.length ;i++)
	{
		if(ok.indexOf(e.charAt(i))<0)
		{
			return (false);
		}
	}

	if (document.images)
	{
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two))
		{
			return (-1);
		}

	}
}

function loaddevis(){
	if(Ext.get("devis_info") != null){
		var pagePanel = new Ext.Panel({});
		pagePanel.body = Ext.get("devis_info");
		var mgr = pagePanel.getUpdater();
		mgr.update({
		        url: './index.php?module=mva&class=getdevis&event=getdevis&dev='+Ext.get("devisid").getValue(),
		        callback: function(el,res,resp,opt){
		        }
		});
	}

}
