function afficheId(baliseId)
{
  if (document.getElementById && document.getElementById(baliseId) != null)
    {
    document.getElementById(baliseId).style.visibility='visible';
    document.getElementById(baliseId).style.display='block';
    }
}

function cacheId(baliseId)
{
  	if (document.getElementById && document.getElementById(baliseId) != null)
    	{
    	document.getElementById(baliseId).style.visibility='hidden';
    	document.getElementById(baliseId).style.display='none';
    }
}

function disableId(baliseId)
{
  if (document.getElementById && document.getElementById(baliseId) != null)
    {
    	document.getElementById(baliseId).disabled='disabled';    
    }
}

function unableId(baliseId)
{
  	if (document.getElementById && document.getElementById(baliseId) != null)
    	{
    		document.getElementById(baliseId).disabled='';
    	}
}
  
function virifierPays(majlistsitres){
   if(document.getElementById && document.getElementById("devis_pays")){
	   var pays = document.getElementById("devis_pays").value;
	   
	   if(pays == 'FRANCE'){
	  		
	  	 cacheId('span_pays_autre');
		 // effacer le signalement d'erreur sur la 2eme commune (Etrangere) s'il y avait une deja
	  	 document.getElementById('optionnel_commune_autre').value='';
	  	 document.getElementById('optionnel_code_postal_autre').value='';
	  	 // coloriage
	  	 supprimeCssClassErreurByIdElement('optionnel_commune_autre','bhcene_error');
	  	 supprimeCssClassErreurByIdElement('optionnel_code_postal_autre','bhcene_error');
	  	 //label erreur
	  	 //supprimeCssClassErreurByIdElement('optionnelLabelCP3','erreur_champ');
	  	 supprimeCssClassErreurByIdElement('optionnelLabelCommune3','erreur_champ');
	  	 //span erreur
	  	 //document.getElementById('optionnelErreurCP3').style.visibility='hidden';
	  	 document.getElementById('optionnelErreurCommune3').style.visibility='hidden';

	  	 afficheId('span_code_postal_commune');

	  	 /*unableId('optionnelCp2');
	  	 unableId('optionnel_commune_secondaire');
	  
	  	 disableId('optionnel_code_postal_autre');
	  	 disableId('optionnel_commune_autre');
	  	*/	 
	  	if (majlistsitres)
	   		majListSituationResidence('code_postal_residence');
	   }else{
	  	 cacheId('span_code_postal_commune');
	  	 afficheId('span_pays_autre');
	  	 
	  	 // effacer le signalement d'erreur sur la 2eme commune (Française) s'il y avait une deja
	  	 document.getElementById('optionnel_code_postal_autre').value='';
	  	 document.getElementById('optionnel_commune_autre').value='';
	  	 // coloriage
	  	 supprimeCssClassErreurByIdElement('optionnel_commune_secondaire','bhcene_error');
	  	 supprimeCssClassErreurByIdElement('optionnelCp2','bhcene_error');
	  	 //label erreur
	  	 supprimeCssClassErreurByIdElement('optionnellabelCP2','erreur_champ');
	  	 supprimeCssClassErreurByIdElement('optionnelLabelCommune2','erreur_champ');
	  	 //span erreur
	  	 document.getElementById('optionnelErreurCP2').style.visibility='hidden';
	  	 document.getElementById('optionnel_erreurCommune2').style.visibility='hidden';

	  	 /*unableId('optionnel_code_postal_autre');
	  	 unableId('optionnel_commune_autre');
	  
	  	 disableId('optionnelCp2');
	  	 disableId('optionnel_commune_secondaire'); */
	  	if (majlistsitres)
	   		majListSituationResidence('optionnel_code_postal_autre');
	   }

   }   	 
}

function initMaResidence(){
 
   	//initCommune('code_postal_residence', 'privatisBO.codeInsee', 'liste_Commune');
 	// Instancier par defaut avec 'FRANCE'
 	var pays = 'FRANCE';
 	
 		
	// Recuperer la valeur du champ pays
 	if(document.getElementById && document.getElementById("devis_pays")){
	   pays = document.getElementById("devis_pays").value;
	}
	
	// Recuperer la valeur du champ residence secondaire: si c'est une residence principale
 	if (document.getElementById && document.getElementById("reside_principale").checked == true) {
 	  cacheId('residenceSecondaire');
 	   cacheId('span_pays_autre');
	   afficheId('span_code_postal_commune');
	  	
 	 } else {	
 		afficheId('residenceSecondaire');
 	   if (pays == 'FRANCE'){
	  	
	  	//initCommune('code_postale_residence_secondaire','privatisBO.codeInsee_secondaire','ListeCommuneSecondaire');
    
	  	 cacheId('span_pays_autre');
	  	 afficheId('span_code_postal_commune');
	  	 
	  	/*disableId('optionnel_code_postal_autre');
	  	 disableId('optionnel_commune_autre');
	  	 
	  	 unableId('optionnelCp2');
	  	 unableId('optionnel_commune_secondaire'); */
	  	 
	  	 //document.getElementsByName("privatisBO.commune_cp_secondaire")[0].option[0].value = '';	  	 
	  	// document.getElementById("code_postale_residence_secondaire").value ='';
	  		
	  	 
	   }else{
	  	 cacheId('span_code_postal_commune');
	  	 afficheId('span_pays_autre');
	  	 
	  /*	 unableId('optionnel_code_postal_autre');
	  	 unableId('optionnel_commune_autre');
	  
	  	 //document.getElementById("id_commune_autre").value ='';
	  	 
	  	 disableId('optionnelCp2');
	  	 disableId('optionnel_commune_secondaire'); */
	  	 
  	 	// on retire la concatenation de champ de spring (car plusieur champ pointe sur la meme propriete du BO)
	  	 var toSelect = document.getElementById("optionnel_commune_autre").value;
		 var iDeb = toSelect.indexOf(",",0);
		 if(iDeb!=-1){
			toSelect = toSelect.substring(iDeb+1);
		 }
		 document.getElementById("optionnel_commune_autre").value = toSelect;
	   }
   }
}

function traiterCasResidencePrincipale() {

	// Cacher la DIV residence secondaire
	cacheId('residenceSecondaire');
	
	// Repositionner le pays avec la valeur FRANCE
	document.getElementById("devis_pays").value = 'FRANCE';
	virifierPays(false);
	
	// Vider les champs CP et commune pour la residence secondaire
	document.getElementById("optionnelCp2").value="";
	document.getElementById("optionnel_commune_secondaire").value="";
	
	// LC 04/12/09 Evol Activation Locataire pour Résidence Secondaire 
	majListSituationResidence('code_postal_residence');
}
function traiterCasResidenceSecondaire() {
	// Afficher la residence secondaire
	afficheId('residenceSecondaire');
	// LC 04/12/09 Evol Activation Locataire pour Résidence Secondaire 
   	if(document.getElementById && document.getElementById("devis_pays")){
	   var pays = document.getElementById("devis_pays").value;
	   
	   if(pays == 'FRANCE')
			majListSituationResidence('code_postal_residence');
		else
			majListSituationResidence('optionnel_code_postal_autre');
	}
}
function viderLesOptins(idmail){
	var grpRadio1 = null;
	var grpRadio2 = null;
	if(idmail == 'devis_hab_email2'){
		//Mail du client a changé
		grpRadio1 = document.getElementsByName('clientBO.optin_groupama');
		grpRadio2 = document.getElementsByName('clientBO.optin_partenaire');
	}else{
		//Mail du prospect a changé
		grpRadio1 = document.getElementsByName('prospectBO.optin_groupama');
		grpRadio2 = document.getElementsByName('prospectBO.optin_partenaire');
	}
	grpRadio1[0].checked = false;
	grpRadio1[1].checked = false;
	grpRadio2[0].checked = false;
	grpRadio2[1].checked = false;
}
function testCpHabit(idFormulaire, idCp, idErrCp, idChampPreced, idErrChampPreced) {
	// Test si la zone input est vide
 	var CP_regexp=/^\d{5}$/
 	var saisie = document.getElementById(idCp).value; 
	if(saisie == null || saisie == '' || !saisie.match(CP_regexp)){
   		testSaisieUtilisateur(idFormulaire, idErrCp, idCp, '');
   	}else{
   		testSaisieUtilisateur(idFormulaire, idErrChampPreced, idChampPreced, '');
   	}
}
 function testAndSubmitHabitEtape1(){
 	var retour = true;
 	// si c'est une residence principale
 	if (document.getElementById("reside_principale").checked == true) {
 		supprimeCssClassErreurByIdElement('optionnel_commune_secondaire','bhcene_error');
		supprimeCssClassErreurByIdElement('optionnelLabelCommune2','erreur_champ');
		document.getElementById('optionnel_erreurCommune2').style.visibility='hidden';
 	
 	} else {
 	 	var pays = document.getElementById("devis_pays").value;
 	 	
		if(pays != 'FRANCE'){
		    var cp = document.getElementById('optionnel_code_postal_autre').value;
		    var commune = document.getElementById('optionnel_commune_autre').value;
		    
		    if (commune == "" || commune == null ){
			  	 ajouteCssClassErreurByIdElement('optionnel_commune_autre','bhcene_error');
			  	 ajouteCssClassErreurByIdElement('optionnelLabelCommune3','erreur_champ');
			  	 document.getElementById('optionnelErreurCommune3').style.visibility='visible';
			  	 retour = false;
		    }
	 	} 
	 	if(!verifCodePostal('optionnelCp2', 'optionnellabelCP2', 'optionnelErreurCP2')) {
				retour = false;
		}
		var commune = document.getElementById('optionnel_commune_secondaire').value;
		 	
		if (commune == "" || commune == null ){
			 ajouteCssClassErreurByIdElement('optionnel_commune_secondaire','bhcene_error');
			 ajouteCssClassErreurByIdElement('optionnelLabelCommune2','erreur_champ');
			 document.getElementById('optionnel_erreurCommune2').style.visibility='visible';
			 retour = false;
		}
	 }
 	if(testSaisieUtilisateur('devis_habitation1', 'erreurFin', '', '') == false){
 	 	retour = false;
 	 } 
	 if(retour==true){
	 	document.getElementById('devis_habitation1').submit();
	 }
}

function majListSituationResidence(idCP) {
	var listSituationResidence;
	var idcontext = document.getElementById("idcontext").value;
	var resSec=false;
	if (document.getElementsByName('privatisBO.residenceSecondaire')[1].checked) resSec=true;
	var url = idcontext+"/FormWizard?ACTION=getListSituationResidence&codePostal="+document.getElementById(idCP).value+
	"&resSec="+resSec+"&codePostalRS="+document.getElementById('optionnelCp2').value+"&pays="+document.getElementById('devis_pays').value;
	var request = new Ajax.Request(url,{method: 'get',asynchronous: false});  			
  	listSituationResidence = eval(request.transport.responseText);
  	var options_situation=document.getElementById('situation_residence').options;
  	if (options_situation.length-1!=(listSituationResidence.size()/2)) {
  		var codeSel="";
  		for (var i=1; i<options_situation.length; i++) {
  			if (options_situation[i].selected==true)
  				codeSel=options_situation[i].value;
  		}
  		
  		var idtarget="container_list_sit_resid";
  		document.getElementById(idtarget).innerHTML = "";
  		
  		var content="<select id=\"situation_residence\" name=\"privatisBO.situation_residence\" class=\"taille185 space\" onchange=\"testSaisieUtilisateur('devis_habitation1', 'erreurSituationResid', this.id, '')\">\n";
  		content+="<option value=\"\"> - Choisissez - </option>\n";

  		for (var i=0; i<listSituationResidence.size(); i=i+2) {
  			if (listSituationResidence[i]==codeSel)
  			
  				var coche="selected";
  			else
  				var coche="";
  			content+="<option value=\""+listSituationResidence[i]+"\" "+coche+">"+listSituationResidence[i+1]+"</option>\n";
  		}
  		content+="</select>\n";
  		document.getElementById(idtarget).innerHTML = content;
  	}
}

function changeCommune(idInputCp, idSelectCommune, lastCommune, idLabelCp, idLabelCom, idSpanErrCp, idSpanErrCom)
{	
	getCommuneHtmlHabit(idInputCp,idSelectCommune,lastCommune,idLabelCp,idLabelCom,idSpanErrCp,idSpanErrCom);
	if(document.getElementById(idInputCp)!=null && document.getElementById(idInputCp).value.length == 5) {
		var pays = document.getElementById("devis_pays").value;
	   	if(pays == 'FRANCE') 
			majListSituationResidence('code_postal_residence');
		else
			majListSituationResidence('optionnel_code_postal_autre');
	}
}
