function showSearch() {
    $("#flashresults form").show();
}

function hideSearch() {
    $("#flashresults form").hide();
}

function showResults() {
    $("#results").show();
}

function hideResults() {
    $("#results").hide();
}

function showMap() {
    $("#f").show();
}

function hideMap() {
    $("#f").hide();
}


var regExpBeginning = /^\s+/;

var regExpEnd       = /\s+$/;

function trim(aString) {

    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");

}

//Fonction qui trie un tableau par ordre de dpt
function orderByDpt(leTableau) {
		
	var temp_tableau = leTableau;
	var stringVille = "";
	var contentSort = "";
	
	//Boucle sur le tableau
	for(j = 0;j < (leTableau.length - 1); j++) {
	
		//On récupère le code postal et la ville

		ville = trim(leTableau[j]).substring(24,26) + '&&';		

		stringVille  = stringVille  + ville + leTableau[j] + '%%';
		
	}		
	
	var arrayVille = stringVille.split('%%');
	var textfinal = "";
	newArrayVille = arrayVille.sort();
	
	//Boucle sur la liste des villes
	for(k = 1; k < (newArrayVille.length); k++) {
	
		var temp = newArrayVille[k].split('&&');
		var text = temp[1] + '</address>';
		textfinal = textfinal + text;
	}
	return textfinal;
}





//Fonction qui créé un tableau avec la valeur du htmlcontent et qui le tri par dpt
function makeArrayAndOrderByDpt(htmlContent) {

	var randArray = htmlContent.split('</address>');
	var newArray = orderByDpt(randArray);
	return newArray;	
}


function onDepartmentOver(departmentLabel) {
	/*
    $("#d").html(departmentLabel).show();
    showResults();
    */
}


function onDepartmentZoom(department) {

	$(".otherTag").hide();
	$("#other option[@value=nothing]").attr("selected", "selected");	
	$("#legende").show();
	showResults();
	$("#r").show();
	
		if(department.name == "Paris") {
		
			var departement = "Region Parisienne";
		
		}
		else {
		
			var departement = department.name;
		}
	
    $("#d").html(departement);
	$("#dep option[@value=" + department.id + "]").attr("selected", "selected");	
	
	htmlContent = decodeURIComponent(document.getElementById("flashmovie").getCitiesHtmlContent(department.id));
	
	
	/*Si région parisienne, tri par département*/
	if(department.name == "Paris") {
	
		htmlContent = makeArrayAndOrderByDpt(htmlContent);
	}
	
	$("#r").html(htmlContent);
    $("#d").show();
	$("#print").show();
	$("#img").hide();


}

function onDepartmentUnZoom(department) {
	
    showResults();
	$("#dep option:first").attr("selected", "selected");
    $("#d").hide();
    $("#n").hide();
	$("#legende").hide();
	$("#r").hide();
	$("#r").html("");
	$("#img").show();
	$("#print").hide();
}

function onCityClick(name, htmlcontent) {

	$(".otherTag").hide();
	$("#other option[@value=nothing]").attr("selected", "selected");	
    showResults();
    $("#n").show();
	$("#n").html(name);
	var temp = decodeURIComponent(htmlcontent);
	$("#r").html(temp);
}

$(function () {hideResults();$("#d").hide();$("#n").hide();$("#print").hide();});


function selectDepartment() {
	if ($("#dep").val() != "") {
    document.getElementById("flashmovie").ActiveDepartment($("#dep").val());
	}
    return false;
}


function compare(a, b)
{
  var v1    =   a.id;
  var v2    =   b.id;
  
  if (v1 == 'paris') {
  	v1 = 75;
  }
  if (v2 == 'paris') {
    v2 = 75;
  }
  
  if (v1 == '2a') {
  	v1 = 20;
  }
  if (v2 == '2a') {
    v2 = 20;
  }
  if (v1 == '2b') {
  	v1 = 20.1;
  }
  if (v2 == '2b') {
    v2 = 20.1;
  }
	
  if (v1 < v2)
     return -1;
  if (v1 > v2)
     return 1;
  return 0;
}

function populateDepartmentsList() {
	var departmentsList    =   eval(document.getElementById("flashmovie").getDepartmentsList());
	
	departmentsList.sort(compare);
	
	var tab_length = 0;
	if (navigator.userAgent.indexOf("MSIE") > -1)
	{
		tab_length = departmentsList.length - 1;
		$("#img").hide();
		$("#img").show();
	}
	else
	{
		tab_length = departmentsList.length;
	}
	
	for(i = 0; i < tab_length; i ++) {
		  $("#dep").append("<option value='" + departmentsList[i].id + "'>" + departmentsList[i].label + "</option>");
	}
	$("#dep option:first").attr("selected","selected");
}


function flashSignal(signal) {
	switch (signal) {
        case "onMapLoaded":
            populateDepartmentsList();
            break;
        default:
            break;
	}
}
