var nbStep = 0;

function addStep()
{
	nbStep = nbStep+1;
	//alert(nbStep);
	
	var content = '';

	for(var i=1; i<(nbStep+1); i++){
		var rue = '';
		var ville = '';
		
		if(i<nbStep){
			rue 	= oCSTools.$("itineraire_map_way_step"+ i).value;
			ville 	= oCSTools.$("itineraire_map_town_step"+ i).value;
		}
		
		//content += '<input type="hidden" name="lat_step'+ i +'" id="lat_start"/>';
		//content += '<input type="hidden" name="long_step'+ i +'" id="long_start"/>';
		content += '<div class="curve04content">';
		content += '	<div class="formheading">Ã©tape '+ i +'</div>';
		content += '	<div id="map_way_container" class="content-left-container-formcolumn02 content-wrapper-left">';
		content += '		<label>n&deg; et rue, m&eacute;tro, quartier, gare...</label>';
		content += '		<input value="'+ rue +'" type="text" id="itineraire_map_way_step'+ i +'" name="itineraire_map_way_step'+ i +'"/>';
		content += '		<span id="itineraire_map_way_step'+ i +'_errors"></span>';
		content += '	</div>';
		content += '	<div class="grid-m8"></div>';
		content += '	<div id="map_town_container" class="content-left-container-formcolumn02 content-wrapper-left">';
		content += '		<label>ville, code postal</label>';
		content += '		<input value="'+ ville +'" type="text" id="itineraire_map_town_step'+ i +'" name="itineraire_map_town_step'+ i +'"/>';
		content += '		<span id="itineraire_map_town_step'+ i +'_errors"></span>';
		content += '	</div>';
		content += '	<div class="clear-spacer"></div>';
		content += '	<div class="content-left-spacer-bottom10"></div>';
		content += '</div>';
	}
	
	oCSTools.$("addEtape").innerHTML = content;
	return false;
}

// Geocode the fields
function DoGeocode(typeform)
{

	// Clean errors
	oCSTools.$(typeform + "_map_geocoding_errors").innerHTML = '';
	oCSTools.$(typeform + "_map_way_start_errors").innerHTML = '';
	oCSTools.$(typeform + "_map_town_start_errors").innerHTML = '';

	if(typeform == 'itineraire'){

		oCSTools.$(typeform + "_map_way_end_errors").innerHTML = '';
		oCSTools.$(typeform + "_map_town_end_errors").innerHTML = '';
		for(var i=1; i<(nbStep+1); i++){
			oCSTools.$(typeform + "_map_way_step"+ i +"_errors").innerHTML = '';
			oCSTools.$(typeform + "_map_town_step"+ i +"_errors").innerHTML = '';
		}

		// Create the addresses
		var oGeoAddresses = [
		new CSGeoAddress(oCSTools.$(typeform + "_map_way_start").value, oCSTools.$(typeform + "_map_town_start").value,	'')
		,new CSGeoAddress(oCSTools.$(typeform + "_map_way_end").value, oCSTools.$(typeform + "_map_town_end").value,	'')
		];

		for(var i=1; i<(nbStep+1); i++){
			oGeoAddresses.push(new CSGeoAddress(oCSTools.$(typeform + "_map_way_step"+ i).value, oCSTools.$(typeform + "_map_town_step"+ i).value,	''));
		}

	}else{
		// Create the addresses
		var oGeoAddresses = [
		new CSGeoAddress(oCSTools.$(typeform + "_map_way_start").value, oCSTools.$(typeform + "_map_town_start").value,
		'')
		];
	}

	// Create the geocoder
	var oGeoCoder = new CSGeoCoder();

	// Geocode
	oGeoCoder.geocode(oGeoAddresses, GeocodeCallBack);
	oGeoCoder.typeform = typeform;
	
	return false;
}

// Called when the geocoding has finished
function GeocodeCallBack(oGeoCoder, aResults, bErrors, bAmbiguities)
{
	
	var typeform = oGeoCoder.typeform;
	
	if (bErrors || bAmbiguities)
	{
	
		var oResult = '';
		var map_geocoding_errors = '';

		for(var i=0; i<aResults.length; i++){

			oResult = aResults[i];

			if (bErrors) map_geocoding_errors += oResult.sErrorMessage;

			if(i == 0){
				// Display way suggestions
				if (oResult.aSuggestionsAddress.length > 0)
				oCSTools.$(typeform + "_map_way_start_errors").innerHTML = 'Veuillez pr&eacute;ciser: ';
				for (var nCnt = 0; nCnt < oResult.aSuggestionsAddress.length; nCnt++)
				{
					oCSTools.$(typeform + "_map_way_start_errors").innerHTML +=
					"<a href='#' onclick='oCSTools.$(\""+ typeform +"_map_way_start\").value = \"" +
					oResult.aSuggestionsAddress[nCnt] + "\"; return false;'>" + oResult.aSuggestionsAddress[nCnt]
					+ "</a>; ";
				}
				// Display town suggestions
				if (oResult.aSuggestionsTown.length > 0)
				oCSTools.$(typeform + "_map_town_start_errors").innerHTML = 'Veuillez pr&eacute;ciser: ';
				for (var nCnt = 0; nCnt < oResult.aSuggestionsTown.length; nCnt++)
				{
					oCSTools.$(typeform + "_map_town_start_errors").innerHTML +=
					"<a href='#' onclick='oCSTools.$(\""+ typeform +"_map_town_start\").value = \"" +
					oResult.aSuggestionsTown[nCnt] + "\"; return false;'>" + oResult.aSuggestionsTown[nCnt] +
					"</a>; ";
				}
			}else if(i == 1){
				// Display way suggestions
				if (oResult.aSuggestionsAddress.length > 0)
				oCSTools.$(typeform + "_map_way_end_errors").innerHTML = 'Veuillez pr&eacute;ciser: ';
				for (var nCnt = 0; nCnt < oResult.aSuggestionsAddress.length; nCnt++)
				{
					oCSTools.$(typeform + "_map_way_end_errors").innerHTML +=
					"<a href='#' onclick='oCSTools.$(\""+ typeform +"_map_way_end\").value = \"" +
					oResult.aSuggestionsAddress[nCnt] + "\"; return false;'>" + oResult.aSuggestionsAddress[nCnt]
					+ "</a>; ";
				}
				// Display town suggestions
				if (oResult.aSuggestionsTown.length > 0)
				oCSTools.$(typeform + "_map_town_end_errors").innerHTML = 'Veuillez pr&eacute;ciser: ';
				for (var nCnt = 0; nCnt < oResult.aSuggestionsTown.length; nCnt++)
				{
					oCSTools.$(typeform + "_map_town_end_errors").innerHTML +=
					"<a href='#' onclick='oCSTools.$(\""+ typeform +"_map_town_end\").value = \"" +
					oResult.aSuggestionsTown[nCnt] + "\"; return false;'>" + oResult.aSuggestionsTown[nCnt] +
					"</a>; ";
				}
			}else{
				// Display way suggestions
				if (oResult.aSuggestionsAddress.length > 0)
				oCSTools.$(typeform + "_map_way_step"+ (i-1) +"_errors").innerHTML = 'Veuillez pr&eacute;ciser: ';
				for (var nCnt = 0; nCnt < oResult.aSuggestionsAddress.length; nCnt++)
				{
					oCSTools.$(typeform + "_map_way_step"+ (i-1) +"_errors").innerHTML +=
					"<a href='#' onclick='oCSTools.$(\""+ typeform +"_map_way_step"+ (i-1) +"\").value = \"" +
					oResult.aSuggestionsAddress[nCnt] + "\"; return false;'>" + oResult.aSuggestionsAddress[nCnt]
					+ "</a>; ";
				}
				// Display town suggestions
				if (oResult.aSuggestionsTown.length > 0)
				oCSTools.$(typeform + "_map_town_step"+ (i-1) +"_errors").innerHTML = 'Veuillez pr&eacute;ciser: ';
				for (var nCnt = 0; nCnt < oResult.aSuggestionsTown.length; nCnt++)
				{
					oCSTools.$(typeform + "_map_town_step"+ (i-1) +"_errors").innerHTML +=
					"<a href='#' onclick='oCSTools.$(\""+ typeform +"_map_town_step"+ (i-1) +"\").value = \"" +
					oResult.aSuggestionsTown[nCnt] + "\"; return false;'>" + oResult.aSuggestionsTown[nCnt] +
					"</a>; ";
				}

			}

		}

		if (bErrors) oCSTools.$(typeform + "_map_geocoding_errors").innerHTML =	map_geocoding_errors;

	}
	else
	{
		var theRes = 'itineraire_resultat';
		if(typeform == 'plan'){
			theRes = 'plan_resultat';
		}


		// build the query
		var query = '';
		for(var i=0; i<aResults.length; i++){
			if(i == 0){
				query += '&lat_start='+aResults[i].nWGS84Lat;
				query += '&long_start='+aResults[i].nWGS84Long;
			}else if(i == 1){
				query += '&lat_end='+aResults[i].nWGS84Lat;
				query += '&long_end='+aResults[i].nWGS84Long;
			}else{
				query += '&lat_step'+ (i-1) +'='+aResults[i].nWGS84Lat;
				query += '&long_step'+ (i-1) +'='+aResults[i].nWGS84Long;
			}
		}
		query += '&map_way_start='+oCSTools.$(typeform + "_map_way_start").value;
		query += '&map_town_start='+oCSTools.$(typeform + "_map_town_start").value;

		if(typeform == 'itineraire'){
			query += '&map_way_end='+oCSTools.$(typeform + "_map_way_end").value;
			query += '&map_town_end='+oCSTools.$(typeform + "_map_town_end").value;

			var time = 0;
			if(oCSTools.$("time").checked){
				time = 1;
			}
			var pedestrian = 0;
			if(oCSTools.$("pedestrian").checked){
				pedestrian = 1;
			}
			query += '&time='+time;
			query += '&pedestrian='+pedestrian;

			for(var i=1; i<(nbStep+1); i++){
				query += '&map_way_step'+ i +'='+oCSTools.$(typeform + "_map_way_step"+ i).value;
				query += '&map_town_step'+ i +'='+oCSTools.$(typeform + "_map_town_step"+ i).value;
			}
			query += '&nbstep='+nbStep;
		}

		document.location.href='/itineraire-et-plan/'+ theRes +'.html?'+query;
	}
}

// Geocode the fields light
function DoGeocodeLight(typeform)
{

	if(typeform == 'itineraire'){
		
		if(oCSTools.$(typeform + "_map_way_start").value == "" || oCSTools.$(typeform + "_map_way_start").value == "n°, rue, métro"){
			alert("Veuillez remplir l'adresse de départ");
			return false;
		}
		if(oCSTools.$(typeform + "_map_town_start").value == "" || oCSTools.$(typeform + "_map_town_start").value == "ville de départ"){
			alert("Veuillez remplir la ville de départ");
			return false;
		}
		if(oCSTools.$(typeform + "_map_way_end").value == "" || oCSTools.$(typeform + "_map_way_end").value == "n°, rue, métro"){
			alert("Veuillez remplir l'adresse d'arrivée");
			return false;
		}
		if(oCSTools.$(typeform + "_map_town_end").value == "" || oCSTools.$(typeform + "_map_town_end").value == "ville d’arrivée"){
			alert("Veuillez remplir la ville d'arrivée");
			return false;
		}

		// Create the addresses
		var oGeoAddresses = [
		new CSGeoAddress(oCSTools.$(typeform + "_map_way_start").value, oCSTools.$(typeform + "_map_town_start").value,	'')
		,new CSGeoAddress(oCSTools.$(typeform + "_map_way_end").value, oCSTools.$(typeform + "_map_town_end").value,	'')
		];

	}else{
		if(oCSTools.$(typeform + "_map_way_start").value == "" || oCSTools.$(typeform + "_map_way_start").value == "n°, rue, métro"){
			alert("Veuillez remplir l'adresse de départ");
			return false;
		}
		if(oCSTools.$(typeform + "_map_town_start").value == "" || oCSTools.$(typeform + "_map_town_start").value == "ville"){
			alert("Veuillez remplir la ville de départ");
			return false;
		}

		// Create the addresses
		var oGeoAddresses = [
		new CSGeoAddress(oCSTools.$(typeform + "_map_way_start").value, oCSTools.$(typeform + "_map_town_start").value,
		'')
		];
	}

	// Create the geocoder
	var oGeoCoder = new CSGeoCoder();

	// Geocode
	oGeoCoder.geocode(oGeoAddresses, GeocodeCallBackLight);
	oGeoCoder.typeform = typeform;
	
	return false;
}

// Called when the geocoding has finished
function GeocodeCallBackLight(oGeoCoder, aResults, bErrors, bAmbiguities)
{
	
	var typeform = oGeoCoder.typeform;
	
		var theRes = 'itineraire_resultat';
		if(typeform == 'plan'){
			theRes = 'plan_resultat';
		}


		// build the query
		var query = '';
		for(var i=0; i<aResults.length; i++){
			if(i == 0){
				query += '&lat_start='+aResults[i].nWGS84Lat;
				query += '&long_start='+aResults[i].nWGS84Long;
			}else if(i == 1){
				query += '&lat_end='+aResults[i].nWGS84Lat;
				query += '&long_end='+aResults[i].nWGS84Long;
			}
		}
		query += '&map_way_start='+oCSTools.$(typeform + "_map_way_start").value;
		query += '&map_town_start='+oCSTools.$(typeform + "_map_town_start").value;

		if(typeform == 'itineraire'){
			query += '&map_way_end='+oCSTools.$(typeform + "_map_way_end").value;
			query += '&map_town_end='+oCSTools.$(typeform + "_map_town_end").value;

			var time = 0;
			var pedestrian = 0;
			query += '&time='+time;
			query += '&pedestrian='+pedestrian;

			query += '&nbstep=0';
		}

		document.location.href='http://auto.orange.fr/itineraire-et-plan/'+ theRes +'.html?'+query;
}

function showIti(){
    $('#right_deplacer_iti').show();
    $('#right_deplacer_plan').hide();
    $('#right_deplacer_trafic').hide();

    $("#se_deplacer_itineraire").addClass("active");
    $("#se_deplacer_plans").removeClass("active");
    $("#se_deplacer_trafic").removeClass("active");

    $("#right_deplacer_fond").addClass("content-container-right-deplacerbg2");
    $("#right_deplacer_fond").removeClass("content-container-right-deplacerbg");
}
function showPlan(){
    $('#right_deplacer_iti').hide();
    $('#right_deplacer_plan').show();
    $('#right_deplacer_trafic').hide();

    $("#se_deplacer_itineraire").removeClass("active");
    $("#se_deplacer_plans").addClass("active");
    $("#se_deplacer_trafic").removeClass("active");

    $("#right_deplacer_fond").addClass("content-container-right-deplacerbg");
    $("#right_deplacer_fond").removeClass("content-container-right-deplacerbg2");
}
function showTrafic(){
    $('#right_deplacer_iti').hide();
    $('#right_deplacer_plan').hide();
    $('#right_deplacer_trafic').show();
    
    $("#se_deplacer_itineraire").removeClass("active");
    $("#se_deplacer_plans").removeClass("active");
    $("#se_deplacer_trafic").addClass("active");

    $("#right_deplacer_fond").addClass("content-container-right-deplacerbg2");
    $("#right_deplacer_fond").removeClass("content-container-right-deplacerbg");
}

