/*POP UP*/
function popup(pop_url,pop_width,pop_height) {
	pop_left = (window.screen.availWidth / 2) - (pop_width / 2);
	pop_top = (window.screen.availHeight / 2) - (pop_height / 2);
	window.open(pop_url,"","left=" + pop_left + ",top=" + pop_top + ",width=" + pop_width + ",height=" + pop_height + ",scrollbars=yes,noresize");
}

/*FERME/OUVRE UN BLOC*/
function display_block(nom){
	if(document.getElementById(nom).style.display == 'none') document.getElementById(nom).style.display = 'block';
	else document.getElementById(nom).style.display = 'none';
}

/*AFFICHE LES FLASH*/
function RunFoo(filename, width, height) {
	document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\""+width+"\" height=\""+height+"\">");
	document.write("<param name=\"movie\" value=\""+filename+"\" />");
	document.write("<param name=\"quality\" value=\"high\" />");
	document.write("<param name=\"menu\" value=\"false\" />");
	document.write("<param name=\"wmode\" value=\"transparent\" />");
	document.write("<embed src=\""+filename+"\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" menu=\"false\" width=\""+width+"\" height=\""+height+"\" wmode=\"transparent\"></embed>");
	document.write("</object>");
}

//FONCTION AJAX
function getXhr(){
	var xhr = null; 
	if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){
		try{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else{
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	} 
	return xhr
}

//AFFICHE AVEC AJAX
function ouvre_page(div,page,variable,type){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			document.getElementById(div).innerHTML = xhr.responseText;
		}
	}
	xhr.open(type,page,true);
	if(type=="POST"){
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send(variable);
	}
	else xhr.send(null);
}



/* ************************************* SITE ************************************* */
//sélectionne la ou les carrosseries pour la recherche
function choix_carrosserie(id){
	if(document.getElementById('bloc_carrosserie_'+id).className=='select_carrosserie') var type = 'suppr';
	else var type = 'ajout';
	
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			var reponse = xhr.responseText;
			
			var liste_select = '';
			
			var tab1 = reponse.split('|');
			var tab2 = new Array();
			for(var i=0;i<tab1.length;i++){
				tab2 = tab1[i].split('_');
				
				if(tab2[1]==1){
					document.getElementById('bloc_carrosserie_'+tab2[0]).className = 'select_carrosserie';
					
					if(liste_select!='') liste_select = liste_select+'|'+tab2[0];
					else liste_select = tab2[0];
				}
				else document.getElementById('bloc_carrosserie_'+tab2[0]).className = '';
			}

			document.getElementById('id_carrosserie').value = liste_select;
		}
	}
	xhr.open('GET', 'index.php?choix_carrosserie='+id+'&type='+type, true);
	xhr.send(null);
}

//enregistre l'alerte email
function enr_alerte_email(){
	var variables = 'nom='+document.forms.form_alerte.nom.value+'&prenom='+document.forms.form_alerte.prenom.value+'&email='+document.forms.form_alerte.email.value+'&energie='+document.forms.form_alerte.energie.value;
	variables = variables+'&id_carrosserie='+document.forms.form_alerte.id_carrosserie.value+'&prix_min='+document.forms.form_alerte.prix_min.value+'&prix_max='+document.forms.form_alerte.prix_max.value;
	variables = variables+'&id_marque='+document.forms.form_alerte.id_marque.value+'&id_modele='+document.forms.form_alerte.id_modele.value+'&mensualite='+document.forms.form_alerte.mensualite.value+'&envoi_alerte=ok';
	
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			var reponse = xhr.responseText;
			if(reponse==1){
				document.getElementById('alerte_form').style.display = 'none';
				document.getElementById('alerte_envoyee').style.display = 'block';
			}
			else document.getElementById('erreur_alerte').innerHTML = '<img src="images/warning.jpg">'+reponse;
		}
	}
	xhr.open('POST', 'alerte_email.php', true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(variables);
}

//envoi la fiche d'un véhicule à un ami
function envoyer_ami(){	
	var variables = 'id='+document.forms.form_ami.id.value+'&nom='+document.forms.form_ami.nom.value+'&nom_ami='+document.forms.form_ami.nom_ami.value+'&email_ami='+document.forms.form_ami.email_ami.value;
	variables = variables+'&message='+document.forms.form_ami.message.value+'&envoi_ami=ok';
	
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			var reponse = xhr.responseText;
			var tab = reponse.split('|');
			
			if(tab[1]=="ok") document.forms.form_ami.reset();
			
			document.getElementById('erreur_alerte').innerHTML = '<img src="images/warning.jpg">'+tab[0];
		}
	}
	xhr.open('POST', 'envoi_ami.php', true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(variables);
}

//affioche les modèles en fonction d'une marque
function select_modeles(id_marque, page){
	ouvre_page('liste_modeles', 'recherche.php?select_modele=ok&id_marque='+id_marque+'&page='+page, '', 'GET');
}



/* ************************************* PRIVATE ************************************* */
//STYLE DE TEXTE
function style_texte(debut, fin, preview, champ) {
	var input = document.getElementById(champ);
	input.focus();
	if(typeof document.selection != 'undefined') {
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = debut + insText + fin;
		range = document.selection.createRange();
		if (insText.length == 0) range.move('character', -fin.length);
		else range.moveStart('character', debut.length + insText.length + fin.length);
		range.select();
	}
	else if(typeof input.selectionStart != 'undefined') {
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + debut + insText + fin + input.value.substr(end);
		var pos;
		if (insText.length == 0) pos = start + debut.length;
		else pos = start + debut.length + insText.length + fin.length;
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	else {
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos)) {
		  pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length) pos = input.value.length;
		var insText = prompt("Veuillez entrer le texte à formater:");
		input.value = input.value.substr(0, pos) + debut + insText + fin + input.value.substr(pos);
	}
	
	if(preview!='') preview_texte(preview, champ);
}

//PREVISUALISATION DES TEXTES
function preview_texte(preview, champ){
	ouvre_page(preview, 'index.php', 'preview=ok&texte='+document.getElementById(champ).value, 'POST');
}

//AFFICHE LE DETAIL D'UNE ALERTE OU D'UN MAIL
function aff_detail_liste(id, page){
	if(document.getElementById('ligne_mails_'+id).className=='ligne_mails'){
		var mot_ereg = new RegExp("ligne_mails_","g");	
		var liste_mails = document.getElementById('liste_mails').getElementsByTagName('div');
		for(var i=0;i<liste_mails.length;i++){
			if(liste_mails[i].id.match(mot_ereg)){
				if(liste_mails[i].id=="ligne_mails_"+id){
					liste_mails[i].className = 'ligne_mails_gras';
					document.getElementById('detail_mails').style.display = 'block';
					ouvre_page('detail_mails', page+'.php?aff_detail='+id, '', 'GET');
				}
				else liste_mails[i].className = 'ligne_mails';
			}
		}
	}
}

//GOOGLE MAP
function centreCarte(){
	var center = marker.getPoint();
	window.setTimeout(function(){maCarte.panTo(center);}, 1000);
}
 
function afficheCoordonnees(point){
	document.getElementById('lat').value = point.lat();
	document.getElementById('lng').value = point.lng();
}

function cree_adresse(){
	geocodeAdresse(document.getElementById('adresse').value+', '+document.getElementById('cp').value+' '+document.getElementById('ville').value+' FRANCE');
}
 
function geocodeAdresse(addresse){
	if(geoCodeur){
		geoCodeur.getLatLng(
			addresse,
			function(point) {
				if(!point) var point = new google.maps.LatLng(50.4424, 2.85583);

				marker = new google.maps.Marker(point, {draggable: true});
				google.maps.Event.addListener(marker, 'dragend', function(point) {
					centreCarte();
				});
				google.maps.Event.addListener(marker, "drag", function(point) {
					afficheCoordonnees(point);
				});
				maCarte.clearOverlays();
				maCarte.addOverlay(marker);
				maCarte.setCenter(point, 15);
				afficheCoordonnees(point);
			}
		);
	}
}

//VERIFIE LA FICHE VEHICULE AVANT ENREGISTREMENT
function enr_fiche_vehicule(){
	var formulaire = document.forms.form_vehicule;

	var variables = 'num_police='+formulaire.num_police.value+'&id_marque='+formulaire.id_marque.value+'&marque_new='+formulaire.marque_new.value+'&annee='+formulaire.annee.value+'&prix='+formulaire.prix.value;
	variables = variables+'&kilometrage='+formulaire.kilometrage.value+'&nb_portes='+formulaire.nb_portes.value+'&puissance='+formulaire.puissance.value+'&id='+formulaire.id.value+'&verif_champs=ok';
	
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			var reponse = xhr.responseText;
			if(reponse==1) formulaire.submit();
			else alert(reponse);
		}
	}
	xhr.open('POST', 'fiche_vehicule.php', true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(variables);
}

//VERIFIE LES TEXTES SIMPLES AVANT ENREGISTREMENT
function verif_contenu_simple(){
	if(document.forms.form_txt.titre.value==''){
		alert('Veuillez saisir un titre');
		return;
	}
	if(document.forms.form_txt.texte.value==''){
		alert('Veuillez saisir un texte');
		return;
	}
	
	document.forms.form_txt.submit();
}

//VERIFIE LES INFORMATIONS DES CONCESSIONS AVANT ENREGISTREMENT
function verif_concession(){
	if(document.forms.form_concession.adresse.value=='' || document.forms.form_concession.cp.value=='' || document.forms.form_concession.ville.value==''){
		alert('Veuillez saisir l\'adresse complète de la concession');
		return;
	}
	
	document.forms.form_concession.submit();
}

//VERIFIE LES INFORMATIONS DES PARTENAIRES AVANT ENREGISTREMENT
function verif_partenaire(){
	if(document.forms.form_partenaire.nom.value==''){
		alert('Veuillez saisir le nom du partenaire');
		return;
	}
	if(document.forms.form_partenaire.adresse.value=='' || document.forms.form_partenaire.cp.value=='' || document.forms.form_partenaire.ville.value==''){
		alert('Veuillez saisir l\'adresse complète du partenaire');
		return;
	}
	
	document.forms.form_partenaire.submit();
}

//VERIFIE LES INFORMATIONS DES OFFRES D'EMPLOI AVANT ENREGISTREMENT
function verif_recrutement(){
	if(document.forms.form_recrutement.titre.value==''){
		alert('Veuillez saisir le titre de l\'offre');
		return;
	}
	if(document.forms.form_recrutement.description.value==''){
		alert('Veuillez saisir la description de l\'offre');
		return;
	}
	
	document.forms.form_recrutement.submit();
}
