// JavaScript Document
function cleanSearch()
{
	$('region').value	= '';
	$('region_levenshtein').setProperty('checked', false);
	$('region_result').set('html', '');
	$('departement').value	= '';
	$('departement_levenshtein').setProperty('checked', false);
	$('departement_result').set('html', '');
	$('ville').value	= '';
	$('ville_levenshtein').setProperty('checked', false);
	$('ville_result').set('html', '');
	$('search').value	= '';
	$('search_levenshtein').setProperty('checked', false);
	$('search_result').set('html', '');
	
	$('monde_continent').value	= '';
	$('view_monde_pays').set('html', '');
	
	$('pays').value	= 1;
}

function changeGeocodage(id)
{
	createSlide('geo_monde', 'hide');
	createSlide('recherche', 'block');
	cleanSearch();
	
	if (id == 'france') {
		sliderV('geo_monde', 'off');
		sliderV('recherche', 'on');
	}
	else {
		sliderV('geo_monde', 'on');
		sliderV('recherche', 'off');
	}
}

function viewPays()
{
		createSlide('view_monde_pays', 'hide');
		var continent	= $('monde_continent').value;
		
		if (continent != '') {
			var req = new Request ({
				url 				: '/geocodage/searchPays/?id='+continent,
				method			: 'get',
				evalScripts	: true,
				onSuccess		: function (text, xml) {
					$('view_monde_pays').set('html', text);
					sliderV('view_monde_pays', 'on');
				}
			});
			
			req.send();
		}
		else {
			sliderV('view_monde_pays', 'off');
		}
		
		setTimeout("sliderV('geo_monde', 'on');", 500);
}

function viewRegion()
{
	createSlide('region_result', 'hide');
	var region			= $('region').value;
	var levenshtein	= $('region_levenshtein').getProperty('checked');
	
	if (levenshtein == true) {
		levenshtein = 1;
	}
	else {
		levenshtein = '';
	}
	
	if (region.length > 0) {
		var req = new Request ({
			url 				: '/geocodage/searchregion/?pays='+$('pays').value+'&search='+region+'&levenshtein='+levenshtein,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (text, xml) {
				$('region_result').set('html', text);
				sliderV('region_result', 'on');
			}
		});
		
		req.send();
	}
	else {
		$('region_result').set('html', '');
		sliderV('region_result', 'on');
	}
	
	sliderV('recherche', 'on');
}

function viewDepartement()
{
	createSlide('departement_result', 'hide');
	var departement	= $('departement').value;
	var levenshtein	= $('departement_levenshtein').getProperty('checked');
	
	if (levenshtein == true) {
		levenshtein = 1;
	}
	else {
		levenshtein = '';
	}
	
	if (departement.length > 0) {
		var req = new Request ({
			url 				: '/geocodage/searchdepartement/?pays='+$('pays').value+'&search='+departement+'&levenshtein='+levenshtein,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (text, xml) {
				$('departement_result').set('html', text);
				sliderV('departement_result', 'on');
			}
		});
		
		req.send();
	}
	else {
		$('departement_result').set('html', '');
		sliderV('departement_result', 'on');
	}
	
	sliderV('recherche', 'on');
}

function viewVille()
{
	createSlide('ville_result', 'hide');
	var ville				= $('ville').value;
	var levenshtein	= $('ville_levenshtein').getProperty('checked');
	
	if (levenshtein == true) {
		levenshtein = 1;
	}
	else {
		levenshtein = '';
	}
	
	if (ville.length > 0) {
		var req = new Request ({
			url 				: '/geocodage/searchville/?pays='+$('pays').value+'&search='+ville+'&levenshtein='+levenshtein,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (text, xml) {
				$('ville_result').set('html', text);
				sliderV('ville_result', 'on');
			}
		});
		
		req.send();
	}
	else {
		$('ville_result').set('html', '');
		sliderV('ville_result', 'on');
	}
	
	sliderV('recherche', 'on');
}

function searchGeocodage(div, levenshtein)
{
	createSlide('geocodage_result', 'hide');
	var searchGeo			= $('geocodage').value;
	
	if (searchGeo.length > 0) {
		var req = new Request.HTML({
			url 				: '/geocodage/search/?zone='+$('zone').value+'&search='+searchGeo+'&levenshtein='+levenshtein+'&div='+div,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (tree, elems, html, js) {
				sliderCancel('geocodage_result');
				$(div).setStyle('display', 'block');
				$('geocodage_result').set('html', html);
			}
		}).chain(function() {
			sliderV('geocodage_result', 'on');
		});
		
		req.send();
	}
	else {
		$('geocodage_result').set('html', '');
		sliderV('geocodage_result', 'on');
		$(div).setStyle('display', 'none');
	}
}

function searchPays(div, levenshtein)
{
	createSlide('geocodage_result', 'hide');
	var searchGeo			= $('geocodage').value;
	
	if (searchGeo.length > 0) {
		var req = new Request.HTML({
			url 				: '/geocodage/searchpays/?search='+searchGeo+'&levenshtein='+levenshtein+'&div='+div,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (tree, elems, html, js) {
				sliderCancel('geocodage_result');
				$(div).setStyle('display', 'block');
				$('geocodage_result').set('html', html);
				eval(js);
			}
		}).chain(function() {
			sliderV('geocodage_result', 'on');
		});
		
		req.send();
	}
	else {
		$('geocodage_result').set('html', '');
		sliderV('geocodage_result', 'on');
		$(div).setStyle('display', 'none');
	}
}

function searchRegion(div, idPays, levenshtein)
{
	createSlide('geocodage_result', 'hide');
	var searchGeo			= $('geocodage').value;
	
	if (searchGeo.length > 0) {
		var req = new Request.HTML({
			url 				: '/geocodage/searchregion/?pays='+idPays+'&search='+searchGeo+'&levenshtein='+levenshtein+'&div='+div,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (tree, elems, html, js) {
				sliderCancel('geocodage_result');
				$(div).setStyle('display', 'block');
				$('geocodage_result').set('html', html);
				eval(js);
			}
		}).chain(function() {
			sliderV('geocodage_result', 'on');
		});
		
		req.send();
	}
	else {
		$('geocodage_result').set('html', '');
		sliderV('geocodage_result', 'on');
		$(div).setStyle('display', 'none');
	}
}

function searchDepartement(div, idPays, idRegion, levenshtein)
{
	createSlide('geocodage_result', 'hide');
	var searchGeo			= $('geocodage').value;
	
	if (searchGeo.length > 0) {
		var req = new Request.HTML({
			url 				: '/geocodage/searchdepartement/?pays='+idPays+'&region='+idRegion+'&search='+searchGeo+'&levenshtein='+levenshtein+'&div='+div,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (tree, elems, html, js) {
				sliderCancel('geocodage_result');
				$(div).setStyle('display', 'block');
				$('geocodage_result').set('html', html);
				eval(js);
			}
		}).chain(function() {
			sliderV('geocodage_result', 'on');
		});
		
		req.send();
	}
	else {
		$('geocodage_result').set('html', '');
		sliderV('geocodage_result', 'on');
		$(div).setStyle('display', 'none');
	}
}

function searchVille(div, levenshtein)
{
	createSlide('geocodage_result', 'hide');
	var searchGeo			= $('geocodage').value;
	
	if (searchGeo.length > 0) {
		var req = new Request.HTML({
			url 				: '/geocodage/searchville/?zone='+$('zone').value+'&search='+searchGeo+'&levenshtein='+levenshtein+'&div='+div,
			method			: 'get',
			evalScripts	: true,
			onSuccess		: function (tree, elems, html, js) {
				sliderCancel('geocodage_result');
				$(div).setStyle('display', 'block');
				$('geocodage_result').set('html', html);
				eval(js);
			}
		}).chain(function() {
			sliderV('geocodage_result', 'on');
		});
		
		req.send();
	}
	else {
		$('geocodage_result').set('html', '');
		sliderV('geocodage_result', 'on');
		$(div).setStyle('display', 'none');
	}
}

function selectGeocodage(div, label, idPays, idRegion, idDept, idVille, typeVille, idCP, idZT)
{
	resetGeocodage(div, label, idPays, idRegion, idDept, idVille, typeVille, idCP, idZT);
	
	if ($('categorie_hierachie')) {
		sousCategorie('0', false , 0);
		if (label != '') {
			$('form_liste').submit();
		}
	}
}

function resetGeocodage(div, label, idPays, idRegion, idDept, idVille, typeVille, idCP, idZT)
{
	createSlide('geocodage_result', 'show');
	
	$('geocodage').value			= label;
	$('pays_id').value				= idPays;
	$('region_id').value			= idRegion;
	$('departement_id').value	= idDept;
	$('ville_id').value				= idVille;
	$('ville_type').value			= typeVille;
	$('cp_id').value					= idCP;
	$('zt_id').value					= idZT;
	
	sliderV('geocodage_result', 'off');
	
	$(div).setStyle('display', 'none');
}

function changePays()
{
	var pays	= $('monde_pays').value;
	
	if (pays != '') {
		$('pays').value = pays;
		sliderV('recherche', 'on');
	}
	else {
		sliderV('recherche', 'off');
		$('pays').value	= 1;
	}
}
