﻿var tableHead = "<tr><th>Raison sociale</th><th>Adresse</th><th>Téléphone</th><th>Email</th></tr>";

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();
}

function onDepartmentOver(departmentLabel) {
    /*
    $("#d").html(departmentLabel).show();
    showResults();
    */
}

function onCityFinded(city, contenu, contenuPrint) {


    if(city.length > 1) {

    //	$('#ville').val("");

    }

    if(contenu != 'null') {




        for(k=0;k<city.length;k++) {

            cityname = city[0];

        }


        if(city == 'null') {

            $("#n").html("");
            $("#n").hide();
        }
        else {

            if(cityname != undefined && cityname.length != 1) {

                $("#n").html(cityname);
                $("#n").show();
            } else {

                $("#n").html(city);
                $("#n").show();
            }
        }





        showResults();

        var randomHtmlContent = makeArrayAndRandom(contenu);
        var randomHtmlPrintContent = makeArrayAndRandomPrint(contenuPrint);
        //$("#r").show();
		$("#r").removeClass();
        $("#r").html(randomHtmlContent);
        $("#r_print").html('<table class="table_print" cellpadding="0" cellspacing="0">' + tableHead + randomHtmlPrintContent + '</table>');
	    $("#print").show();

        $("#img").hide();

    }

    else {

        $('#ville').val("");
		
		$("#print").hide();
		showResults();
		$("#r").removeClass();
        $("#r").html("<br />Il n'y a aucun résultat pour la recherche demandée");
		
    }


}

function citySearch() {

    var ville = $('#ville').val();
    document.getElementById("flashmovie").searchCity(ville);

    return false;
}


//Fonction qui 'randomise' un tableau
 function Rand_Tableau(tab_){
    var i;
    var Num;
    var Nbr = tab_.length;
    var Tab = new Array();
    //-- Copie le contenu
    Tab = Tab.concat(tab_);
    //-- Lance la boucle

    while( Nbr> 0){
        //-- Recup nombre aleatoire
        Num = Math.floor(Math.random() * Nbr);
        //-- 1 de moins a traiter
        Nbr--;
        //-- Stock l'element tire
        szTmp = Tab[Num];
        //-- Decalage les valeur du tableau
        for( i= Num; i < Nbr; i++)
        Tab[i] = Tab[i+1]
        //-- Stock l'element tire en fin
        Tab[ Nbr] = szTmp;
    }
    //-- On peut remettre dans l'ordre du tirage
    Tab.reverse();
    //-- Retourne resultat
    return( Tab);
}

//Fonction qui cr�� un tableau avec la valeur du htmlcontent et qui le m�lange
function makeArrayAndRandom(htmlContent) {
    htmlContent = decodeURIComponent(htmlContent);
    var randArray = htmlContent.split('</address>');
    var newArray = Rand_Tableau(randArray);
    var chaineFinale = "";

    var list1   =   '';
    var list2   =   '';
    var list3   =   '';

    for(i = 0; i < newArray.length; i++) {
        if(newArray[i].length > 1) {

            var temp_var    =   newArray[i] + '</address>';
            temp_var        =   temp_var.replace(",", "");

            if (newArray[i].indexOf('"myHome"') != -1) {
                list3   =   list3 + temp_var;
			}
			else
			{
				if (newArray[i].indexOf('"inOne"') != -1) {
					list1   =   list1 + temp_var;
				}
				else {
					list2   =   list2 + temp_var;
				}
			}


            //Le tableau est mis dans une chaine de caract�re

        }
    }
    chaineFinale = list3 + list1 + list2;



    return chaineFinale;
}

//Fonction qui cr�� un tableau avec la valeur du htmlprintcontent et qui le m�lange
function makeArrayAndRandomPrint(htmlContent) {
    htmlContent = decodeURIComponent(htmlContent);
    var randArray = htmlContent.split('</tr>');
    var newArray = Rand_Tableau(randArray);
    var chaineFinale = "";

    var list1   =   '';
    var list2   =   '';
    var list3   =   '';

    for(i = 0; i < newArray.length; i++) {
        if(newArray[i].length > 1) {

            var temp_var    =   newArray[i] + '</tr>';
            temp_var        =   temp_var.replace(",", "");

            if (newArray[i].indexOf('"myHome"') != -1) {
                list3   =   list3 + temp_var;
			}
			else
			{
				if (newArray[i].indexOf('"inOne"') != -1) {
					list1   =   list1 + temp_var;
				}
				else {
					list2   =   list2 + temp_var;
				}
			}


            //Le tableau est mis dans une chaine de caract�re

        }
    }
    chaineFinale = list3 + list1 + list2;



    return chaineFinale;
}




//Fonction qui trie un tableau par ordre alphab�tique de la ville
function orderByCity(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
        var temp = leTableau[j].split('<br />');
        ville = temp[2].substr(6) + '&&';
        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 ville
function makeArrayAndOrderByCity(htmlContent) {

    var randArray = htmlContent.split('</address>');
    var newArray = orderByCity(randArray);
    return newArray;
}



function onDepartmentZoom(department) {

    // Tag XITI pour suivi d'action.
    xitiTag('department', department.name);
    showResults();
    //$("#r").show();
	$("#r").removeClass();

        if(department.name == "Paris") {

            var departement = "Région Parisienne";

        }
        else {

            var departement = department.name;
        }


    $("#d").html(departement);
    $("#dep option[@value=" + department.id + "]").attr("selected", "selected");

            var ifSearch = document.getElementById("formCitySearch");
        if(ifSearch == null){

                htmlContent = decodeURIComponent(document.getElementById("flashmovie").getCitiesHtmlContent(department.id));

                var finalHtmlContent = makeArrayAndRandom(htmlContent);
                $("#r").html(finalHtmlContent);

				
                htmlPrintContent = decodeURIComponent(document.getElementById("flashmovie").getCitiesHtmlPrintContent(department.id));

                var finalHtmlPrintContent = makeArrayAndRandomPrint(htmlPrintContent);
                $("#r_print").html('<table class="table_print" cellpadding="0" cellspacing="0">' + tableHead + finalHtmlPrintContent + '</table>');
				
        }
        else {

            //Valeur du style de la div qui affiche la ville
            display = $("#n").css("display");


            if ($('#ville').val() == "") {

                $("#n").hide();
                htmlContent = decodeURIComponent(document.getElementById("flashmovie").getCitiesHtmlContent(department.id));

                var finalHtmlContent = makeArrayAndRandom(htmlContent);
                $("#r").html(finalHtmlContent);
				
				
                htmlPrintContent = decodeURIComponent(document.getElementById("flashmovie").getCitiesHtmlPrintContent(department.id));

                var finalHtmlPrintContent = makeArrayAndRandomPrint(htmlPrintContent);
                $("#r_print").html('<table class="table_print" cellpadding="0" cellspacing="0">' + tableHead + finalHtmlPrintContent + '</table>');
				
            }
            else {
			
                    $('#ville').val("");
            }
        }
    var stringFinded = finalHtmlContent.indexOf('class="inOne"', 0);

    if(stringFinded != -1) {
        $("#legende").show();
    }
    else {
        $("#legende").hide();
    }

    $("#d").show();
    $("#print").show();
    $("#img").hide();
    makeGoogleMapLinks();


}

function onDepartmentUnZoom(department) {

    showResults();
    $("#dep option:first").attr("selected", "selected");
    $("#d").hide();
    $("#n").hide();
    $("#legende").hide();
    //$("#r").hide();
	$("#r").addClass('cache');
    $("#r").html("");
    $("#r_print").html("");
    $("#img").show();
    $("#print").hide();
}

function onCityClick(name, htmlcontent) {



    showResults();
    $("#n").show();

    name = name.substr(0,name.length - 2);
    $("#n").html(name);

    // Tag XITI pour suivi d'action.
    xitiTag('city', name);

    var finalHtmlContent = makeArrayAndRandom(htmlcontent);
    var temp = decodeURIComponent(finalHtmlContent);

  $("#r").html(temp);
    var stringFinded = temp.indexOf('class="inOne"', 0);

    if(stringFinded != -1) {
        $("#legende").show();
    }
    else {
        $("#legende").hide();
    }
   // $("#r").html(htmlcontent);
   makeGoogleMapLinks();
   $("#print").show();
}

$(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");
	$("#print").show();
}

function makeGoogleMapLinks() {

    //Si le formulaire de recherche est pr�sent, on n'affiche pas les liens google map
    var ifSearch = document.getElementById("formCitySearch");
    if(ifSearch == null){
            $("#r address").each(
               function () {
                   $(this).after('<a onclick="window.open(this.href, \'gmap\', \'resizable=yes,menubar=no,status=no,menubar=no,width=850,height=650\');return false;" href="http://maps.google.fr/maps?f=q&hl=fr&geocode=&q=' + $(this).text() + ', FRANCE">afficher le plan</a>');
               }
            );
    }

}

function flashSignal(signal) {
    switch (signal) {
        case "onMapLoaded":
            populateDepartmentsList();
            break;
        default:
            break;
    }
}



function testArrond() {

        document.getElementById("flashmovie").testArrond() ;


        return false;

}


function returnTestArrond(contenu) {


    alert(contenu);


}















