var mytime = "";

function changenombre(name,typebien) {
	try {
		document.getElementById(name).change_nombre(typebien);
	}
	catch (e) {
		setTimeout('changenombre("'+name+'","'+typebien+'")', 100);
	}
}

function getnb(name) {
	try {
		thisMovie(name).getNumber();
	}
	catch (e) {
		// alert(e.description);
		// setTimeout('getnb("'+name+'")', 100);
	}
}
	
// Initialise les valeurs du formulaire
function init_form() {

	var searchform = document.getElementById("searchform");
	var searchform1 = document.getElementById("searchform1");
	var typebien = "";
	
	searchform.form_canton_select.value = '';
	searchform.form_region_select.value = '';
	searchform.form_commune_select.value = '';
	searchform.form_long_min.value = '';
	searchform.form_long_max.value = '';
	searchform.form_lat_min.value = '';
	searchform.form_lat_max.value = '';
	searchform.item_nb.value = '';
	
	for(type in types) {
		if($("#" + type).attr('checked')) {
		
			$("#type_" + type).attr('value', type);
			typebien += 'nombre_' + type + '-';
		}
	}
	
	if(typebien.charAt(typebien.length-1) == '-') {
		typebien = typebien.substring(0,typebien.length-1);
	}
	
	if(typebien == "") {
		typebien = "nombre_tot";
	}
	
	// changenombre("map_romande_buy", "' + typebien + '");
	//document.getElementById("map_romande_buy").change_nombre(typebien);
	
	ajaxFunction();
}

	//Récupère les valeurs des champs du formulaire, envoie la requete ajax avec les bonnes valeurs puis récupère le résultat
function ajaxFunction(){
	var searchform = document.getElementById("searchform");
	var searchform1 = document.getElementById("searchform1");
	
	var typebien = "";
	
	for(type in types) {
		if($("#" + type).attr('checked')) {
			typebien += type + "_";
		}
	}
	
	if(typebien.charAt(typebien.length-1) == '-') {
		typebien = typebien.substring(0,typebien.length-1);
	}
	
	var form_options_montagne = "";
	
	var formrubr = searchform.form_rubr.value;
	var formbudgetde = searchform.form_budget_de.value;
	var formbudgeta = searchform.form_budget_a.value;
	var formnbrpiecesde = searchform.form_nbrpieces_de.value;
	var formnbrpiecesa = searchform.form_nbrpieces_a.value;
	var formsurfacede = searchform.form_surface_de.value;
	var formsurfacea = searchform.form_surface_a.value;
	
	var formcantonselect = searchform.form_canton_select.value;
	var formregionselect = searchform.form_region_select.value;
	var formcommuneselect = searchform.form_commune_select.value;
	var formlongmin = searchform.form_long_min.value;
	var formlongmax = searchform.form_long_max.value;
	var formlatmin = searchform.form_lat_min.value;
	var formlatmax = searchform.form_lat_max.value;
	
	var form_options_vue = "";
	var form_options_neuf = "";
	var form_options_piscine = "";
	var form_options_etranger = "";
	
	/*
	if(searchform.form_options_vue.checked){ 
		form_options_vue = searchform.form_options_vue.value;
	}
	*/
	
	if(searchform.form_options_neuf.checked) form_options_neuf = searchform.form_options_neuf.value;
	if(searchform.form_options_piscine.checked) form_options_piscine = searchform.form_options_piscine.value;
	if(searchform.form_options_etranger.checked) form_options_etranger = searchform.form_options_etranger.value;
	
	var ajourdhui = new Date();
	mytime = ajourdhui.getTime();
	search(mytime);
	return;
	
	if($('#derham').val() == '1' || formbudgetde!="" || formbudgeta!="" || formnbrpiecesde!="" || formnbrpiecesa!="" || formsurfacede!="" || formsurfacea!="" || formlongmin!="" || formlongmax!="" || formlatmin!="" || formlatmax!="" || form_options_vue!="" || form_options_neuf!="" || form_options_piscine!="" || form_options_etranger!="" || form_options_montagne!="") {		
		var ajourdhui = new Date();
		mytime = ajourdhui.getTime();
		
		setTimeout('search("' + mytime + '")', 800);
	}
	else if((formcantonselect!="" && formcantonselect!="null") || formregionselect!="" || formcommuneselect!="") {
		
		if(formregionselect!="") {
			
			if(formcommuneselect!="") {
				countItems('', formregionselect, typebien, formcommuneselect);
			}
			else {
				countItems('', formregionselect, typebien, '');
			}
		}
		else if(formcantonselect != "") {
			countItems(formcantonselect, formregionselect, typebien, '');
		}
	}
	else if(typebien != "") {
		var myCount = 0;
		
		for(type in types) {
			if($("#" + type).attr('checked')) {
				myCount += types[type];
			}
		}

		searchform.item_nb.value = myCount;
		getnb("decompteur", myCount);
	}
	else {
		searchform.item_nb.value = totalCount;
		getnb("decompteur", myCount);
	}
}

	// Sélectionne le flash dont le nom est donné en paramètre
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        //return window[movieName];
    	return document[movieName];
    }
    else {
        return document[movieName];
    }
}

	// Récupère le nombre de résultats pour le compteur flash
function javaNumber() {
        return document.searchform.item_nb.value;
}

// Assigne la valeur correcte au type de recherche géographique (par commune / région / district)
// puis réinitialise les données concernant les communes, les régions et les coordonnées GPS
function update_canton(cantonchoisi) {
	document.searchform.form_canton_select.value = cantonchoisi;
	document.searchform.form_region_select.value = '';
	document.searchform.form_commune_select.value = '';
	document.searchform.form_long_min.value = '';
	document.searchform.form_long_max.value = '';
	document.searchform.form_lat_min.value = '';
	document.searchform.form_lat_max.value = '';
	
	ajaxFunction();
}

// Assigne la bonne valeur de région et réinitialise les communes et appelle la fonction ajax pour le calcul du nombre d'objets
function update_regionselect(regionchoisie) {
	var listregions = document.searchform.form_region_select.value;
	
	if(listregions.match(regionchoisie)) {
		listregions = listregions.replace(regionchoisie,'');
		listregions = listregions.replace('__','_');
		document.searchform.form_commune_select.value = '';
	}
	else {
		if(listregions=="") listregions = regionchoisie;
		else listregions += "_" + regionchoisie ;
		document.searchform.form_commune_select.value = '';
	}
	
	if(listregions.charAt(listregions.length-1) == '_') listregions = listregions.substring(0,listregions.length-1);
	if(listregions.charAt(0) == '_') listregions = listregions.substring(1,listregions.length);
	
	document.searchform.form_region_select.value = listregions;
	ajaxFunction();
}

	// Assigne la bonne valeur de commune et appelle la fonction ajax pour le calcul du nombre d'objets
function update_communeselect(communechoisie, etat) {
	var listcommune = document.searchform.form_commune_select.value.split('_');
	
	var tab = new Array;
	
	for(i=0; i < listcommune.length; i++) {
		if(listcommune[i]!=communechoisie) tab.push(listcommune[i]);
	}
	
	if(etat == 1) tab.push(communechoisie);
	
	//alert('commune : ' + communechoisie + '\n etat : ' + etat + '\n liste : ' + tab.join('_'));
	document.searchform.form_commune_select.value = tab.join('_');
	ajaxFunction();
}


// Assigne la bonne valeur pour les coordonnées GPS, appelle la fonction du flash qui trace le rectangle correspondant sur la map
// ainsi que celle ajax pour le calcul du nombre d'objets
function update_coords(longmin, longmax, latmin, latmax) {
	// document.getElementById("map_romande_buy").load_gps_coord(longmin, longmax, latmin, latmax);
        
	document.searchform.form_canton_select.value = 'gps';
	document.searchform.form_long_min.value = longmin;
	document.searchform.form_long_max.value = longmax;
	document.searchform.form_lat_min.value = latmin;
	document.searchform.form_lat_max.value = latmax;
	setTimeout('ajaxFunction()', 100);
}

// Ouvre une popup
function popup_form(url, titre, largeur, hauteur, scroll) {
	window.open(url,'googlepopup','width=' + largeur + ', height=' + hauteur + ', scrollbars=' + scroll);
}


// Stock la valeur du type de bien puis l'envoie au flash pour l'affichage du nombre par type de bien pour les communes
function changeval(myname, myvalue)
{
	if($("#" + myname).attr('checked')) {
		
		$("#type_" + myname).attr('value', myvalue);
	}
	else {
		$("#type_" + myname).attr('value', '');
	}

	var typebien = "";
	
	for(type in types) {
		if($("#" + type).attr('checked')) {
			typebien += "nombre_" + type + "-";
		}
	}
	
	if(typebien.charAt(typebien.length-1) == '-') { 
		typebien = typebien.substring(0, typebien.length-1);
	}
	
	if(typebien == "") {
		typebien = "nombre_tot"; 
	}
	
	//document.getElementById("map_romande_buy").change_nombre(typebien);
}


//Récupère les valeurs des champs du formulaire, envoie la requete ajax avec les bonnes valeurs puis récupère le résultat
function directsearch(host, langue){
	if(document.referenceform.ref_num.value == "") {
	    alert("Vous devez entrer un numéro de référence\ndans le champ destiné à cet effet!");
	}
	else {
		var ajaxRequest;  // The variable that makes Ajax possible!
		
		try{
			// Opera 8.0+, Firefox, Safari
			ajaxRequest = new XMLHttpRequest();
		} catch (e){
			// Internet Explorer Browsers
			try{
				ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try{
					ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e){
					// Something went wrong
					alert("Your browser broke!");
					return false;
				}
			}
		}
		// Create a function that will receive data sent from the server
		ajaxRequest.onreadystatechange = function(){
			if(ajaxRequest.readyState == 4){
				document.referenceform.id_num.value = ajaxRequest.responseText;
					
				if(ajaxRequest.responseText && ajaxRequest.responseText!="vide") {
					window.location.href = "http://" + host + "/" + langue + "/vente/acheter/results/detail.php?idContent=" + ajaxRequest.responseText + "&act=acheter";
				}
				else alert("Aucune fiche ne correspond au numéro\nde référence que vous avez donné!");
			}
		}
		
		var queryString = "?refnum=" + document.referenceform.ref_num.value + "&lang=" + langue + "&refRubr=1";
		
		//alert("/scripts/php/vente/direct_ref.php" + queryString);
		ajaxRequest.open("GET", "/scripts/php/vente/direct_ref.php" + queryString, true);
		ajaxRequest.send(null);
	}
	return false;
}
