/* Fonctions principales */


function replaceAll(oldStr,findStr,repStr) {
  var srchNdx = 0;  // srchNdx will keep track of where in the whole line
                    // of oldStr are we searching.
  var newStr = "";  // newStr will hold the altered version of oldStr.
  while (oldStr.indexOf(findStr,srchNdx) != -1)  
                    // As long as there are strings to replace, this loop
                    // will run. 
  {
    newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
                    // Put it all the unaltered text from one findStr to
                    // the next findStr into newStr.
    newStr += repStr;
                    // Instead of putting the old string, put in the
                    // new string instead. 
    srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
                    // Now jump to the next chunk of text till the next findStr.           
  }
  newStr += oldStr.substring(srchNdx,oldStr.length);
                    // Put whatever's left into newStr.             
  return newStr;
}


function strtrim() {
   return this.replace(/^\s+/,'').replace(/\s+$/,'');
}

String.prototype.trim = strtrim; 


function change_value_propriety(element,valeur,visibili){
	
	$(element).value = valeur;	
	
	if(visibili=="none" && valeur == ""){
		$(element).disabled = true;

	}else{
		$(element).disabled = false;

	}

}
	
function change_divs_propriety(element,valeur,visibili){
	

	$(element).value = valeur;	
	$("div_"+element).style.display = visibili;

	//$("div_ok_"+element).style.display = visibili;	
	//if(visibili=="none" && valeur == ""){ 
	/* Suppression des valeurs inutiles */
	if(visibili=="none"){
		$(element).disabled = true;
		$("div_error_"+element+"_text").style.display = visibili;
		$("div_error_"+element).style.display = visibili;

	}else{
		$(element).disabled = false;
		
	}
	/*if(element=="productType") {
		alert(element + " : " + $(element).disabled);
	}*/
	
}


function change_columns_propriety(element,valeur,visibili){
	
	
	
	$("div_"+element).style.display = visibili;

	//$("div_ok_"+element).style.display = visibili;	
	if(visibili=="none" && valeur == ""){
		
		$("div_error_"+element+"_text").style.display = visibili;
		$("div_error_"+element).style.display = visibili;
	
	}
}


function change_bloc_columns_wait(blocName){
	if(blocName!="enfantsAChargeCols" && blocName!="localisationDuBienCols" && blocName!="revenusSeulsCols"){
		setTimeout('change_bloc_columns("'+blocName+'",0);',500);
	}
	else{
		//setTimeout('change_bloc_columns("'+blocName+'",0);',500);
	}
}


function change_bloc_columns(blocName,taillePlus){
		
	divs = $(blocName).getElementsByTagName("div");
	
	calc = 0;
	calcul = "";

	for(i=0; i < divs.length; i++){		
		if(divs[i].id.indexOf("formElement_",0)>=0 || divs[i].id.indexOf("div_error_",0)>=0 && divs[i].id.indexOf("_text",0)>=0 ) {
			calc+=$(divs[i].id).offsetHeight;
		}
	}

	if($("realisationProjet").value=="1"){
		calc+=25;
	}
	
	if(blocName=="renseignementsCols" || blocName=="renseignementsProCols"){
		calc+=10;
	}
	
	if(blocName=="revenusCols"){ 
		calc+=40;
	}
	
	if(blocName=="banquePrincipalActuelleCols"){
		calc+=10;
	}
	
	if(blocName=="creditsEnCoursCols"){
		calc+=40;
	}
		
	$(blocName).style.height = calc+"px";
		
}


function change_select_propriety(element,valeurs,labels,visibili){

	var valeur = $(element).value;
	
	var arrayDesValeurs = valeurs.split(";");
	var arrayDesLabels = labels.split(";");	
	$(element).options.length=0;
	for(i=0; i < arrayDesValeurs.length; i++){
		$(element).options[i] = new Option(arrayDesLabels[i],arrayDesValeurs[i]);
	}
	$(element).value = valeur;
	$("div_"+element).style.display = visibili;

    //$("div_"+element).style.display = visibili;
}


/* Page 1 */

/* fonction dynamique de caclul */

// Q001(A) //
function change_type_operations(element,typeChange){
	
	rachat_pret_immo();
	signe_compromis();
	budget_projet();
	change_type_produits("productType","other");
	change_type_bien("bienType","other");
	//change_type_travaux("travauxType","other");
	change_type_usage("usageType","other");
	change_precision_projet("precisionProjet","other");
	
}


// Q100
function rachat_pret_immo(){

var operationType = document.getElementById("operationType").value;
       if (operationType != "rachat_de_pret_immobilier") {
               document.getElementById("rachatpretimmo").style.display="none";
				
        } else{
               document.getElementById("rachatpretimmo").style.display="block";
				
       }
} 


// Q200
function signe_compromis(){

var operationType = document.getElementById("operationType").value;
       if (operationType == "rachat_de_pret_immobilier") {
               document.getElementById("compromis").style.display="none";
				
        } else{
               document.getElementById("compromis").style.display="block";
				
       }
} 


// Q300
function budget_projet(){

var operationType = document.getElementById("operationType").value;
       if (operationType == "rachat_de_pret_immobilier") {
               document.getElementById("budgetprojet").style.display="none";
				
        } else{
               document.getElementById("budgetprojet").style.display="block";
				
       }
} 


// Q001(B) //
function change_type_produits(element,typeChange){
	
	change_type_bien("bienType","other");
	//change_type_travaux("travauxType","other");
	
	var valeur = $(element).value;
	
	if(typeChange!="this" && $("loader").value=="0"){
		valeur = "1";
	}
	
	if($("operationType").value=="construction") { // Si l'opération construction seule on masque les produits
		var visible  = "none";
		
		change_divs_propriety(element,valeur,visible);
	}else{
		
		if($("operationType").value=="travaux_seuls") { // Si l'opération est 'travaux seuls' on affiche que 3 choix
			arrayDesValeurs =  "maison;appartement;5";
			arrayDesLabels = maison+";"+appartement+";"+autres;
		}
		else{
			arrayDesValeurs =  "maison;appartement;terrain;terrain_et_construction;5";
			arrayDesLabels = maison+";"+appartement+";"+terrain+";"+terrain_construction+";"+autres;
		}
	
		var visible  = "block";
		change_divs_propriety(element,valeur,visible);
		change_select_propriety(element,arrayDesValeurs,arrayDesLabels,visible);
	}

}


// Q001-01 //
function change_type_bien(element,typeChange){
	//change_type_travaux("travauxType","other");

	
	var visible  = "block";
	var valeur = $(element).value;
	
	if($("operationType").value=="acquisition" && $("productType").value=="terrain"
		|| $("operationType").value=="travaux_seuls" || $("operationType").value=="rachats_de_pret_immobilier"
	) {
		var visible  = "none";
		valeur  = "1";
	}
	if($("operationType").value=="acquisition" && $("productType").value=="terrain_et_construction"
		|| $("operationType").value=="construction"
	) {
		var visible  = "none";
		valeur  = "2";
	}

	change_divs_propriety(element,valeur,visible);
}


// Q001-03 //
function change_type_usage(element,typeChange){
	
	change_precision_projet("precisionProjet","other");
	
	var visible  = "block";
	var valeur = $(element).value;	
	
	change_divs_propriety(element,valeur,visible);
}


// Q002-01-04 //
function change_precision_projet(element,typeChange){

	var visible  = "block";
	var valeur = $(element).value;

	if($("usageType").value!="4") {
		var visible  = "none";
		valeur  = "";
	}
	
	change_divs_propriety(element,valeur,visible);
}
