
/*
	Fonction qui traîte le retour AJAX
*/
function refreshFormCallback(response)
{
	$nbr = response.substr(0, response.indexOf('|'));
	$('liste_resultats').innerHTML = response.substr(response.indexOf('|') + 1);
}

/*
	Effectue la requête AJAX de recherche sans validation
*/
function refreshFormAjaxNoValid(from) 
{ 
	//ajaxQueryCallback('interfaces/ajx_recherche.php', 'refreshFormCallback', ajaxFormData(document.recherche_trajet)+'from='+from); 
	
	$('liste_resultats').innerHTML = '<img src="img/icon/loading.gif" style="vertical-align:middle; margin: 5px;" /> Recherche en cours...';
	
	var xhr_object = ajaxGetXMLHTTP(); 

	xhr_object.open("POST", "interfaces/ajx_recherche.php", true); 
	 
	xhr_object.onreadystatechange = function() 
	{ 
		if(xhr_object.readyState == 4) 
		{
			$('nombre_resultats').innerHTML = xhr_object.responseText.substr(0, xhr_object.responseText.indexOf('|'));
			$('liste_resultats').innerHTML = xhr_object.responseText.substr(xhr_object.responseText.indexOf('|') + 1);
		}
	} 

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send(ajaxFormData(document.recherche_trajet)+'from='+from); 
}
/*
	Effectue la requête AJAX de recherche avec validation
*/

function refreshFormAjax(from) 
{ 
	if(validator.check())
	{
		refreshFormAjaxNoValid(from); 
		$('creer_alerte').style.display = "block";
		$('creer_alerte2').style.display = "block";
		$('bottompanel').style.display = "block";
	}
}

/*
	Rafraichie la liste de résultats
*/
function refreshForm() 
{ 
	flashProxy.call('resetTrajet'); 
	refreshFormAjax(0); 
	return; 
	
	$('liste_resultats').innerHTML = 'chargement'; 
	setTimeout('refreshFormAjax()', 2000); 
}

/*
	Affiche la page de résultat suivante ou précédente
*/
function refreshFormPage(from) 
{ 
	refreshFormAjax(from);
}
/*
	Affiche la page de résultat suivante ou précédente sans validation
*/
function refreshFormPageNoValid(from)
{
	refreshFormAjaxNoValid(from); 
	$('creer_alerte').style.display = "block";
	$('creer_alerte2').style.display = "block";
	$('bottompanel').style.display = "block";
}

/*
	Décoche tous les jours quand l'utilisateur choisi une date du calendrier
*/
function unChecked() 
{ 
	document.recherche_trajet.typetrajet.value='0'; 
	$('lundi').checked = false; 
	$('mardi').checked = false; 
	$('mercredi').checked = false; 
	$('jeudi').checked = false; 
	$('vendredi').checked = false; 
	$('samedi').checked = false; 
	$('dimanche').checked = false; 
}

/*
	Remise à zero et affichage de tous les trajets
*/
function resetForm() 
{ 
	flashProxy.call('resetTrajet'); 
	$('vdepart').value=''; 
	$('varrive').value=''; 
	$('date').value=''; 
	unChecked(); 
	document.recherche_trajet.statut.value = '3';
	refreshFormAjaxNoValid(0);
	$('creer_alerte').style.display = "none";
	$('creer_alerte2').style.display = "none";
	
	$('trajet_titre').innerHTML = "Géolocalisation";
	$('infopanel').innerHTML = 'Sélectionnez un trajet ci-contre pour afficher les détails de celui-ci';
	$('bottompanel').style.display = "none";
}

/*
	Validation du formulaire de recherche
*/
function checkRecherche() 
{ 
	if(($('vdepart').value=='' && $('varrive').value !='') || ($('vdepart').value!='' && $('varrive').value =='') || ($('vdepart').value!='' && $('varrive').value !=''))
	{
		//if(($('vdepart').value!='' && checkVilleExistsInput($('vdepart'), 'de départ')) || $('vdepart').value=='')
		//{
			//if(($('varrive').value!='' && checkVilleExistsInput($('varrive'), 'arrivée')) || $('varrive').value=='')
				//return true;
			//else
				return true;
		//}
		//else
			//return false;
	}
	else 
	{ 
		alert('Vous devez préciser soit la ville d\'arrivée soit la ville de départ');
		return false;
	} 
}

/*
	Proposer un trajet avec les critère de recherche
*/
function createTrajet() 
{
	if(checkRecherche())
	{
		document.forms.recherche_trajet.action='trajet.php'; 
		document.forms.recherche_trajet.submit();
		return true; 
	}
	else
		return false;
}

/*
	Créer une alerte avec les critère de recherche
*/
function createAlerte() 
{
	if(checkRecherche())
	{
		document.recherche_trajet.action='interfaces/form_alerte.php'; 
		document.recherche_trajet.submit();
		document.location = 'profil.php?tab=5';
		return true;
	}
	else
		return false;
}

/*
	Afficher les détails d'un trajet
*/
function viewTrajetDetail(id)
{
	var xhr_object = ajaxGetXMLHTTP(); 

	xhr_object.open("POST", "interfaces/ajx_trajet.php", true); 
	 
	xhr_object.onreadystatechange = function() 
	{ 
		if(xhr_object.readyState == 4) 
		{
			var trajet = eval('(' + xhr_object.responseText + ')');
			
			$('bottompanel').style.display = "block";
			$('trajet_titre').innerHTML = trajet.titre;
			$('infopanel').innerHTML = trajet.html.replace("\"", '"');
			
			flashProxy.call('resetTrajet');
			if(trajet.no_itineraire == true)
				flashProxy.call('noTrajet');
			else
				setTrajet(trajet.itineraire, trajet.trajet);
		}
	} 

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send("trajet="+id); 
}

/*
	Modifie le trajet afficher sur la carte flash
*/
function setTrajet(itineraire, id)
{
	var trajet = new Array();
	
	for(var i = 0; i<itineraire.length; i++)
	{
		trajet.push(new Array(itineraire[i].ville, itineraire[i].x, itineraire[i].y));
	}
	
	flashProxy.call('mapTrajet', id, trajet);
}

/*
	Afficher la page de mise en relation
*/
function miseEnRelation()
{
	if($('current_selection').value != '') 
	{ 
		document.location='miseenrelation_1.php?trajet='+$('current_selection').value; 
		return true;
	}
	else 
		return false;
}