function ajaxRequest(requestUrl, outputId) {
	var req = null;
	var outputDiv = document.getElementById(outputId);
	//outputDiv.innerHTML = "Started...";
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject('Microsoft.XMLHTTP');
	}
	req.onreadystatechange = function() {
		outputDiv.innerHTML = '<div style="text-align:center;"><br /><br /><br /><img src="/images/loader.gif" alt="" /><br /><br />Chargement...</div>';
		if (req.readyState == 4) {
			if (req.status == 200) {
				outputDiv.innerHTML = req.responseText;
			} else {
				//outputDiv.innerHTML = "Error: returned status code " + req.status + " " + req.statusText;
			}
		}
	};
	req.open("GET", requestUrl, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function modifySearch() {
	var order = document.getElementById('order');
	order = order.options[order.selectedIndex].value;
	var nb_rooms = document.getElementById('nb_rooms');
	nb_rooms = nb_rooms.options[nb_rooms.selectedIndex].value;
	var transac = document.getElementById('transac');
	transac = transac.options[transac.selectedIndex].value;
	var inputs = document.getElementsByTagName('input');
	var productId;
	var fss;
	var products = '';
	for (i in inputs) {
		if (inputs[i].id && inputs[i].id.substring(0, 7) == 'product') {
			productId = inputs[i].id.substring(7, inputs[i].id.length);
			fss = document.getElementById('fullscreen' + productId);
			products += productId + '-' + inputs[i].value + '-' + (fss ? fss.options[fss.selectedIndex].value : 0) + '|';
		}
	}
	products = products.substring(0, products.length - 1);
	var requestUrl = task + ".php?id_company=" + id_company + "&order=" + order + "&nb_rooms=" + nb_rooms + "&transac=" + transac + '&products=' + products
	 + '&selected=' + document.getElementById('selected_only').checked + '&fullscreens=' + (fss ? document.getElementById('fs_only').checked : 'false'); // + '&rand=' + Math.round(Math.random()*100000);
	ajaxRequest(requestUrl, 'content');
}

function selectAll(selected) {
	var vignettes = document.getElementsByTagName('div');
	var vignetteId;
	var productId;
	var product;
	for (i in vignettes) {
		if ((vignetteId = vignettes[i].id) && vignetteId.substring(0, 8) == 'vignette') {
			vignettes[i].className = selected ? 'selected' : 'vignette';
			productId = vignetteId.substring(8, vignetteId.length);
			product = document.getElementById('product' + productId);
			nbSelected += selected ? (product.value == 'N' ? 1 : 0) : (product.value == 'Y' ? -1 : 0);
			product.value = selected ? 'Y' : 'N';
			document.getElementById('mini_icone' + productId).style.visibility = selected ? 'visible' : 'hidden';
			if (document.getElementById('selected_only').checked) {
				vignettes[i].style.display = selected && !document.getElementById('fs_only').checked ? 'block' : 'none';
			}
		}
	}
	document.getElementById('nb_selected').innerHTML = nbSelected;
}

function selectOne(i) {
	var vignette = document.getElementById('vignette' + i);
	vignette.className = vignette.className == 'vignette' ? 'selected' : 'vignette';
	var product = document.getElementById('product' + i);
	nbSelected += product.value == 'Y' ? -1 : 1;
	product.value = product.value == 'N' ? 'Y' : 'N';
	var mini_icone = document.getElementById('mini_icone' + i);
	mini_icone.style.visibility = product.value == 'N' ? 'hidden' : 'visible';
	if (document.getElementById('selected_only').checked) {
		vignette.style.display = product.value == 'N' ? 'none' : 'block';
	}
	document.getElementById('nb_selected').innerHTML = nbSelected;
}

function fullScreen(i) {
	var fs = document.getElementById('fs' + i);
	var fss = document.getElementById('fullscreen' + i);
	var isFs = fss.options[fss.selectedIndex].value != 0;
	fs.className = isFs ? 'yes' : 'no';
	fss.className = isFs ? 'fullscreen yes' : 'fullscreen no';
	if (document.getElementById('fs_only').checked && !isFs) {
		document.getElementById('vignette' + i).style.display = 'none';
	}
}

function fsOnly() {
	var onlyFs = document.getElementById('fs_only').checked;
	var onlyS = document.getElementById('selected_only').checked;
	var vignettes = document.getElementsByTagName('div');
	var vignetteId;
	var vignetteType;
	var productId;
	var vignette;
	var fss;
	for (i in vignettes) {
		if (vignetteId = vignettes[i].id) {
			vignetteType = vignetteId.substring(0, 8);
			if (vignetteType == 'vignette' || vignetteType == 'no_photo') {
				productId = vignetteId.substring(8, vignetteId.length);
				fss = document.getElementById('fullscreen' + productId);
				if (fss.options[fss.selectedIndex].value == 0) {
					vignettes[i].style.display = onlyFs ? 'none' : (onlyS ? (vignettes[i].className == 'selected' ? 'block' : 'none') : 'block');
				}
			}
		}
	}
}

function selectedOnly() {
	var onlyS = document.getElementById('selected_only').checked;
	var fsO = document.getElementById('fs_only');
	var onlyFs = fsO ? fsO.checked : false;
	var vignettes = document.getElementsByTagName('div');
	var vignetteId;
	var vignette;
	var vignetteType;
	var fss;
	for (i in vignettes) {
		if (vignetteId = vignettes[i].id) {
			vignette = document.getElementById(vignetteId);
			vignetteType = vignetteId.substring(0, 8);
			if ((vignetteType == 'vignette' && vignette.className != 'selected') || vignetteType == 'no_photo') {
				fss = document.getElementById('fullscreen' + vignetteId.substring(8, vignetteId.length));
				vignette.style.display = onlyS ? 'none' : (onlyFs ? (fss.options[fss.selectedIndex].value != 0 ? 'block' : 'none') : 'block');
				vignette.style.display = onlyS ? 'none' : 'block';
			}
		}
	}
}

function showEmail(mail, listing) {
	if (!listing) {
		document.getElementById('params').style.display = mail ? 'none' : 'block';
	} else {
		document.getElementById('button').style.marginTop = mail ? '125px' : '0';
	}
	document.getElementById('email').style.display = mail ? 'block' : 'none';
	document.getElementById('generate').innerHTML = mail ? '<img src="../images/puce_mail.png" align="absbottom" /> Envoyer par mail' : '<img src="../images/puce_zip.png" align="absbottom" /> Télécharger';
}

function emptyEmail(field, empty, string) {
	if (empty) {
		if (field.value == string) field.value = '';
	} else {
		if (field.value == '') field.value = string;
	}
}

function verifySelected() {
	if (nbSelected == 0) {
		alert("Vous n'avez sélectionné aucun bien.");
		return false;
	}
	return true;
}

function verifyMail(string) {
	var mail = /^[\w\-]+(\.[\w\-]+)*@[\w\-]+(\.[\w\-]+)*\.[\w\-]{2,}$/;
	return mail.test(string);
}

function verifyForm(form) {
	if (!verifyMail(form.from.value)) {
		alert("L'adresse de l'expéditeur est invalide.");
		return false;
	}
	if (!verifyMail(form.to.value)) {
		alert("L'adresse du destinataire est invalide.");
		return false;
	}
	return true;
}

function doForm(form) {
	if (verifySelected() && (form.zip.checked || (form.mail.checked && verifyForm(form)))) {
		overlib(OLiframeContent('', 320, 240, 'iframebox', 0, 'auto'), STICKY, MODAL, MIDX, 0, MIDY, 0);
		return true;
	}
	return false;
}

function selectMultipleAll(selectId, selected) {
	var selectBox = document.getElementById(selectId);
	for (i in selectBox.options) {
		selectBox.options[i].selected = selected ? 'selected' : '';
	}
}

function openListing(idCompany, pano) {
	window.open('http://www.cyber-immo.net/engine/listing.php?id_company=' + idCompany + (pano ? '&pano=1' : ''), '', 'width=800,height=600,scrollbars=1');
}