﻿    var nbSelection = 0;
    var nbLAV = 0;
    var LAVHeight = 20;
    var flagLAVOpen=true;
    var LAVlistContent = "";
    var ETAPlistContent = "";
    var SELECTIONContent = "";
    var LAVETAPSWITCH = 1;
    var LAVETAPSTATE= 1;
    var INFODECContent = "";
    var RECHERCHEContent = "";
    var DETAILContent = "";
    var IDRECHSWITCH = 1;
    var windowSetting = 0;
    var VIL_CODE = "";
    var PARCODE = "";
    var ELECODE = "";
    var ELETYPE = 0;
    var mapSelectId = 1;
    var destWindow = 1;
    var pointerLat = 0;
    var pointerLong = 0;
    var pointerTitle = "";
    var pointerVisible = false;
    var pointerToDisplay = false;
    var itineraryOnly = false;
    var createMode = false;
    var initiatePointer = false;
    var startOng = 0;
    
    // ------------------------------
    // Gestion du panier de sélection
    // ------------------------------

    function writeSelection()
    {
	if (typeof(selectionSpan)!='undefined'){
        if (nbSelection > 0)
        {
            selectionSpan.innerHTML = "[" + nbSelection + "]";
		}
		else 
		    selectionSpan.innerHTML = "[0]";

	}
    }
    
    function setSelection(value)
    {
        nbSelection = value;
        writeSelection();
    }
    
     function setandDisplaySelection(result)
     {
       SELECTIONContent = result.HTMLSelection;
       IDRECHSWITCH = 3;
       displaySELECTION();
       setSelection(result.nbElement);
     }

     function showTheSelection()
     {
       IDRECHSWITCH = 3;
       displaySELECTION();
     }

    function setSELECTIONinHeader(theValue)
    {
        MWGroupeService.getSelectionCount(theValue, SELECTIONNbOnRequestComplete);
     }
         
     function SELECTIONNbOnRequestComplete(result)
     {
        setSelection(result);
     }

    function insertItineraryInSelection(Code)
    {
        insertItineraryInSelection2(2, Code);
    }
    
    function insertItineraryInSelection2(Type, Code)
    {
       var searchParameters = new Object();
        searchParameters.LavType = Type;
        searchParameters.queryString = Code;
    
        MWGroupeService.insertItineraryInSelection(searchParameters, SelectionOnRequestComplete);
    }
    
    function insertElementInSelection(Type,Lattitude, Longitude,Code,Name,Pays,Ville) {
        insertElementInSelectionPosition(Type,Lattitude, Longitude,Code,Name,Pays,Ville,0);
    }
    
    function insertElementInSelectionPosition(Type,Lattitude, Longitude,Code,Name,Pays,Ville,Position) {
        var searchParametersGROUPE = new Object();
        searchParametersGROUPE.Type = Type;
        searchParametersGROUPE.Code = Code;
        searchParametersGROUPE.Name = Name;
        searchParametersGROUPE.Pays = Pays;
        searchParametersGROUPE.Ville = Ville;
        searchParametersGROUPE.Lattitude = Lattitude;
        searchParametersGROUPE.Longitude = Longitude;
        searchParametersGROUPE.Position = Position;
        MWGroupeService.insertElementInSelection(searchParametersGROUPE, SelectionOnRequestComplete);
    }
    
    var notePosition;
    var notePays;
    var noteVille;
    
    function addNote(Position,Pays,Ville)
    {
    	FP_changeProp(/*id*/'Notecouche1',0,'style.visibility','visible');
    	FP_changeProp(/*id*/'Notecouche2',0,'style.visibility','visible');
     	FP_changeProp(/*id*/'buttonCreateNote',0,'style.visibility','visible');
       
        notePosition = Position;
        notePays = Pays;
        noteVille = Ville;
    }
    
    function createNote()
    {
        var title = document.getElementById("NoteTitleID").value;
	    var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
        var description = oEditor.GetXHTML(true);
        insertNoteInSelection(title,notePays,noteVille,description,notePosition);
        closeCreateNote();
    }
    
    function modifyNoteStart(Position, name, accroche)
    {
    
        document.getElementById("NoteTitleID").value = name;
	    var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
        oEditor.SetHTML(accroche);
        
    	FP_changeProp(/*id*/'Notecouche1',0,'style.visibility','visible');
    	FP_changeProp(/*id*/'Notecouche2',0,'style.visibility','visible');
    	FP_changeProp(/*id*/'buttonModifyNote',0,'style.visibility','visible');
        
        notePosition = Position;
    }
    
    function modifyNoteEnd()
    {
        var title = document.getElementById("NoteTitleID").value;
	    var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
        var description = oEditor.GetXHTML(true);
        var searchParametersNote = new Object();
        searchParametersNote.Code = "";
        searchParametersNote.Name = title;
        searchParametersNote.Pays = "";
        searchParametersNote.Ville = "";
        searchParametersNote.Accroche = description;
        searchParametersNote.Position = notePosition - 1;
        MWGroupeService.ModifyNoteInSelection(searchParametersNote, SelectionOnRequestComplete);
        closeCreateNote();
    }
    
    function closeCreateNote()
    {
	    FP_changeProp(/*id*/'Notecouche1',0,'style.visibility','hidden');
	    FP_changeProp(/*id*/'Notecouche2',0,'style.visibility','hidden');
    	FP_changeProp(/*id*/'buttonCreateNote',0,'style.visibility','hidden');
    	FP_changeProp(/*id*/'buttonModifyNote',0,'style.visibility','hidden');
    }

    function insertNoteInSelection(Name,Pays,Ville,Accroche,Position)
    {
        var searchParametersNote = new Object();
        searchParametersNote.Code = "";
        searchParametersNote.Name = Name;
        searchParametersNote.Pays = Pays;
        searchParametersNote.Ville = Ville;
        searchParametersNote.Accroche = Accroche;
        searchParametersNote.Position = Position - 1;
        MWGroupeService.insertNoteInSelection(searchParametersNote, SelectionOnRequestComplete);
    }
    
    
     function addFiche(Position,Country,City)
    {
        var RsltElem = document.getElementById("OwnerID");
        var Owner = RsltElem.innerText;
        if (Owner.length > 0)
        {        
            RsltElem = document.getElementById("INCountryName2");
            RsltElem.innerText = Country;
            RsltElem = document.getElementById("INCityName2");
            RsltElem.innerText = City;
	        FP_changeProp(/*id*/'Tipcouche1',0,'style.visibility','visible');
	        FP_changeProp(/*id*/'Tipcouche2',0,'style.visibility','visible');
	        notePosition = Position;
	        
	        var RsltElem3 = document.getElementById("Tipcouche1");
            RsltElem3.style.height = document.documentElement.scrollHeight ;


            var searchParametersCityList = new Object();
            searchParametersCityList.Type = 0;
            searchParametersCityList.Pays = Country;
            searchParametersCityList.Ville = City;
            MWLavService.getCityLAVList(searchParametersCityList, listCityLAVOnRequestComplete);
        }
        else
            alert("Vous ne pouvez pas créer de fiches sans être connecté.");
    }
    
    function createTheSelectionTip()
    {
        closeCreateSelectionTip();
        var lavCode = "";
        var RsltElem = document.getElementById("Lavs01");
        for (var i=0; i < RsltElem.options.length ; i++)
        {
            if (RsltElem.options[i].selected == true)
            {
                lavCode = RsltElem.options[i].value;
                break;
           }
       }
        var category = 0;
        RsltElem = document.getElementById("TipCategoryID");
        for (var i=0; i < RsltElem.options.length ; i++)
        {
            if (RsltElem.options[i].selected == true)
            {
                category = RsltElem.options[i].value;
                break;
           }
       }
        var title = document.getElementById("TipTitleID").value;
        var tags = document.getElementById("TipsTagsID").value;

        var oEditor = FCKeditorAPI.GetInstance('FCKeditor2') ;
        var description = oEditor.GetXHTML(true);	

        var privacyStatus = 1;
        RsltElem = document.getElementById("privacyID1");
        if (RsltElem.checked == true)
        {
            privacyStatus = 0;
        }
                
        var insertTIPParameters = new Object();
        insertTIPParameters.lavCode = lavCode;
        insertTIPParameters.Title = title;
        insertTIPParameters.Description = description;
        insertTIPParameters.Category = category;
        insertTIPParameters.PrivacyStatus = privacyStatus;
        insertTIPParameters.tags = tags;
        insertTIPParameters.isCountry = false;

        MWInfoDecService.createTip(insertTIPParameters, createTheSelectionTipComplete);
    }
    
    function createTheSelectionTipComplete(result)
    {
        alert(result.Message + ".");
        if (result.errorCode == 0)
        {
            insertElementInSelectionPosition(5,result.Lattitude, result.Longitude,result.Code,result.Title,result.CountryName,result.CityName,notePosition);
        }
	    FP_changeProp(/*id*/'addImgcouche1',0,'style.visibility','visible');
	    FP_changeProp(/*id*/'addImgcouche2',0,'style.visibility','visible');
    }
    
    function closeAddImage()
    {
	    FP_changeProp(/*id*/'addImgcouche1',0,'style.visibility','hidden');
	    FP_changeProp(/*id*/'addImgcouche2',0,'style.visibility','hidden');
    }


    function closeCreateSelectionTip()
    {
	    FP_changeProp(/*id*/'Tipcouche1',0,'style.visibility','hidden');
	    FP_changeProp(/*id*/'Tipcouche2',0,'style.visibility','hidden');
    }
    
     function listCityLAVOnRequestComplete(result)
     {
 	    var RsltElem = document.getElementById("Lavs01");
        RsltElem.options.length = 0;
       for (var i=0; i < result.length; i++)
       {
            var theOption = document.createElement("option");
            RsltElem.options.add(theOption);
            theOption.innerText = result[i].Name;
            theOption.value = result[i].Code;
       }
    }
    
    function addDate(Position)
    {

        var posX = document.body.clientWidth - 400;
        var posY = 200 + Position*28;
        
    	FP_changeProp(/*id*/'Datecouche2',0,'style.top',posY);
    	FP_changeProp(/*id*/'Datecouche2',0,'style.left',posX);
    	
    	FP_changeProp(/*id*/'Datecouche1',0,'style.visibility','visible');
    	FP_changeProp(/*id*/'Datecouche2',0,'style.visibility','visible');
        
        notePosition = Position;
    }
    
    function createDate(theDate)
    {
        var searchParametersDate = new Object();
        searchParametersDate.elementIndex = notePosition;
        searchParametersDate.theDate = theDate;
        MWGroupeService.setElementStartDateInSelection(searchParametersDate, SelectionOnRequestComplete);
    
        //alert("Insert date [" + theDate + "] at position " + notePosition); 
        closeCreateDate();
    }
    
    function closeCreateDate()
    {
	    FP_changeProp(/*id*/'Datecouche1',0,'style.visibility','hidden');
	    FP_changeProp(/*id*/'Datecouche2',0,'style.visibility','hidden');
    }
    
    function deleteElementFromSelection(theValue) {
        MWGroupeService.deleteElementFromSelection(theValue, SelectionOnRequestComplete);
    }

    function moveUpElementInSelection(theValue) {
        MWGroupeService.moveUpElementInSelection(theValue, SelectionOnRequestComplete);
    }

    function moveDownElementInSelection(theValue) {
        MWGroupeService.moveDownElementInSelection(theValue, SelectionOnRequestComplete);
    }

    function moveUpETAPinList(theValue) {
        MWGroupeService.moveUpETAPinList(theValue, SelectionOnRequestComplete);
    }

    function moveDownETAPinList(theValue) {
        MWGroupeService.moveDownETAPinList(theValue, SelectionOnRequestComplete);
    }

    function clearSelection()
    {
        MWGroupeService.clearSelection("", SelectionOnRequestComplete);
    }
    
    function loadSelection(theValue) {
        MWGroupeService.loadSelection(theValue, SelectionOnRequestComplete);
    }

     function SelectionOnRequestComplete(result)
     {
            setandDisplaySelection(result);
     }

    function firstdisplaySELECTION() {
        MWGroupeService.getFormatedSelection("", firstSELECTIONOnRequestComplete);
    }

     function firstSELECTIONOnRequestComplete(result)
     {
         if (result.nbElement > 0)
         {
            setandDisplaySelection(result);
         }
     }

     function firstFullOnRequestComplete(result)
     {
         if (result.nbElement > 0)
         {
                
           SELECTIONContent = result.HTMLSelection;
           setSelection(result.nbElement);
           if (RECHERCHEContent.length < 100 && INFODECContent.length < 5)
           {
                displaySELECTION();
           }
         }       
     }
                 
    // -------------------------------------------------------------------------------------
    // Gestion de la carte
    // -------------------------------------------------------------------------------------
     function clearMap()
     {
        map.DeleteAllPushpins();
        map.DeleteAllPolylines();
        pointerVisible = false;
     }
    
    function DrawPoly()
     {
       var points = new Array(
          new VELatLong(45.01188,-111.06687),
          new VELatLong(45.01534,-104.06324),
          new VELatLong(41.01929,-104.06),
          new VELatLong(41.003,-111.05878)
          // new VELatLong(45.01188,-111.06687)
          );

       poly = new VEPolygon('1',points);
       poly.SetOutlineWidth(3);
       poly.SetOutlineColor(new VEColor(0,150,100,1.0));
       poly.SetFillColor(new VEColor(0,150,100,0.5));
       
       var mypoly = new VEPolyline('1', points, new VEColor(0,150,100,0.5), 2);

       map.AddPolyline(mypoly);
       // map.AddPolygon(poly);
       map.SetMapView(points);
     }	      
     
     function endPan()
     {
     // alert("fin pan");
     }      

     function GetMap()
     {
        // if (window.console){window.console('Begin to get Map');}
       
        map = new VEMap('myMap');
        try{
        map.LoadMap(new VELatLong(35.7719999, 10.5434), 5, 'r', false);
        }catch(e){
        // if (window.console){window.console('Erreur loading map');}
        }
        map.AttachEvent("onclick", userHasCLicked) ;
        
        map.AttachEvent("onchangeview", viewHasChanged);
        // map.AttachEvent("onendcontinuouspan", endPan);

        VEPushpin.ShowDetailOnMouseOver = true;
        VEPushpin.OnMouseOverCallback = pinPointed;
        // DrawPoly();
        // AddPin(15, null);
        // AddMyLayer(VELayerType.VECollection,'53ECAC610CCE6A81!101','images/hiking_icon.gif');
        // AddMyLayer(VELayerType.GeoRSS,'GeoRSSTest.xml','images/hiking_icon.gif');  
         // if (window.console){window.console('End to get Map');}                            
     }      
    
     function AddPointer(Title, Lat, Long)
     {
        pointerLat = Lat;
        pointerLong = Long;
        pointerTitle = Title;
        pointerTitle = pointerTitle.replace("'","&#39;");
        pointerToDisplay = true;
        // alert("Add" + pointerToDisplay);
        drawPointer();
     }   
     
     function removePointer()
     {
        if (pointerVisible)
        {
            pointerVisible = false;
            map.DeletePushpin(1000);
        }
        pointerToDisplay = false;
     }
     
     function drawPointer()
     {
     // alert(pointerToDisplay);
     // alert(pointerVisible);
        if (pointerToDisplay)
        {
            if (pointerVisible)
            {
                pointerVisible = false;
                map.DeletePushpin(1000);
            }
            var pin = new VEPushpin(1000, new VELatLong(pointerLat , pointerLong), "images/pointer2.gif",
                      pointerTitle,"");
            map.AddPushpin(pin);
            pointerVisible = true;
            
        }
     }  
    
     function AddAPin(Code, Img, Type, Title, Lat, Long)
     {
            var pinTitle = Title;
            pinTitle = pinTitle.replace("'","&#39;");
            pinID = Code;
            var PinImg = null;
            var extraTxt = "";
            if (Img.length > 1)
                PinImg = Img; 
            else   
                {        
                PinImg = "images/icPrest" + Type + ".gif";
                }
            var internalLink = "";
            if (createMode)
            {
                if (Type == 16)
                    internalLink = "+ <a href='javascript:countryHasBeenSelected(\""+ pinID +"\","+ Lat +","+ Long +")'>choisir ce pays pour la nouvelle fiche</a>"+extraTxt;
                else
                {
                if (Type == 17)
                    internalLink = "+ <a href='javascript:cityHasBeenSelected(\""+ pinID +"\","+ Lat +","+ Long +")'>choisir cette ville pour la nouvelle fiche</a>"+extraTxt;
                else
                    internalLink = "+ <a href='javascript:lavHasBeenSelected(\""+ pinID +"\","+ Lat +","+ Long +")'>choisir ce lieu pour la nouvelle fiche</a>"+extraTxt;
                }
            }
            else
            {
                internalLink = "+ <a href='javascript:rechargeInfoDecouverte("+Type+",\""+pinID+"\")'>cliquez ici pour voir la fiche de ce lieu</a>"+extraTxt;
            }
            try { 
                                   
                AddClickablePin(pinID,new VELatLong(Lat , Long), PinImg, pinTitle, internalLink);
                // pin = new VEPushpin(pinID, new VELatLong(Lat , Long), PinImg,
                //           pinTitle,internalLink);
                // map.AddPushpin(pin);
                }
            catch (ex)
            {
            }
     } 


    function AddClickablePin(pinID,location, icon_url, title, details, iconStyle)
    {
	    var pin = new VEPushpin(pinID, location, icon_url, title, details, iconStyle);
	    map.AddPushpin(pin);
	    var element = document.getElementById(pinID);
	    element.onclick = EventHandlerOnClick;
    }
    function EventHandlerOnClick(e)
    {
	    if (e!=null)
	    {
		    document.getElementById(e.currentTarget.id + "_" + map.GUID).onmouseover();
	    } else
	    {
		    document.getElementById(window.event.srcElement.id).onmouseover();
	    }
    }
    
    //--------------- Gestion de VE ----------------------------
     var map = null;
     var pinID = 1;
     var lastPointedPin = null;
     var pinX = null;
     var pinY = null;
     var showClick = false;
     var layerid = 1;
     var poly = null;
      
    function onFeedLoad(feed)
    {
        //DoAlert('RSS or Collection loaded. There are '+feed.length+' items in this list.');
    }
    
    function AddMyLayer(type,source,icon)
    {
        var veLayerSpec = new VELayerSpecification();
        veLayerSpec.Type = type;
        veLayerSpec.ID = layerid;
        veLayerSpec.LayerSource = source;
        veLayerSpec.Method = 'get';
        veLayerSpec.FnCallback = onFeedLoad;
        veLayerSpec.IconUrl = icon;
        map.AddLayer(veLayerSpec);
    	
        layerid++;
    }  
                                    
     function userHasCLicked(e)
     {    
        if (showClick) 
        { 
            manageUserClick(e.view.LatLong.Latitude,e.view.LatLong.Longitude,e.view.zoomLevel);    
		}
     }
     
     function pinPointed(x, y, title, details)
     {
        lastPointedPin = unescape(title);
        pinX = x;
        pinY = y;
     }
     
     function FindLoc()
     {            
     	map.FindLocation(document.getElementById('txtWhere').value);
     }

     function boldMenu(menuItem)
     {
       var RsltElem = document.getElementById(menuItem);
       // alert(menuItem);
       // alert(RsltElem.style.fontweight);
       RsltElem.style.fontWeight = "bold";
     }

// ------------------------ Affichage des pins sur la carte -----------
function ListDetLAVList(Type,Query)
{
    // Type : 1 = Lieux à visiter 
    //            Query = nom de la ville typiquement
   var searchParameters = new Object();
    searchParameters.LavType = Type;
    searchParameters.queryString = Query;

    MWLavService.getLavList(searchParameters, LAVDet2OnRequestComplete);
}

function ListDetLAVList_s()
{
    MWLavService.getDetLAVList("", LAVDet2OnRequestComplete);
}

function ListDetLAVList_i(Latitude, Longitude, ZoomLevel, Origin)
{
    if (!itineraryOnly)
    {
        var searchParDec = new Object();
        searchParDec.Latitude = Latitude;
        searchParDec.Longitude = Longitude;
        searchParDec.ZoomLevel = ZoomLevel;
        searchParDec.Origin = Origin;
        searchParDec.Type = mapSelectId;
        // alert(Type);
        
        if (Latitude != null && Longitude != null && ZoomLevel!= 1)
            MWLavService.getDecLAVList(searchParDec, LAVDet3OnRequestComplete);
    }
}

 function LAVDet3OnRequestComplete(result)
 {
    clearMap();
    // map.DeleteAllPushpins();
    pointerVisible = false;
    LAVDet2OnRequestComplete(result);
 }

 function LAVDet2OnRequestComplete(result)
 {
   for (var i=0; i < result.length; i++)
   {
        if(result[i].Lattitude != 0 && result[i].Longitude != 0)
        {
            AddAPin(result[i].Code, "", result[i].Type,  result[i].Name,    result[i].Lattitude, result[i].Longitude);
        }
   }
   
   if (initiatePointer)
   {
       for (var i=0; i < result.length; i++)
       {
            if (result[i].Type == ELETYPE && result[i].Code == ELECODE)
            {
                pointerLat = result[i].Lattitude;
                pointerLong = result[i].Longitude;
                pointerTitle = result[i].Name;
                pointerTitle = pointerTitle.replace("'","&#39;");
                pointerToDisplay = true;
           }
       }
       initiatePointer = false;
   }
   
   drawPointer();
 }

//---------------- Affichage des itinéraires sur la carte -----------------------------
function affectMenu(lavRB, hotRB, restRB)
{
    var RsltElem = document.getElementById("rad01");
    RsltElem.checked=lavRB;
    RsltElem = document.getElementById("rad02");
    RsltElem.checked=hotRB;
    RsltElem = document.getElementById("rad03");
    RsltElem.checked=restRB;
}

function showSelection()
{
    clearMap();
    itineraryOnly = true;
    affectMenu(false, false, false);
    LoadItinerary(19, "");
}

function showItinerary(Code)
{
    clearMap();
    
    itineraryOnly = true;
    affectMenu(false, false, false);
    
    LoadItinerary(13, Code);
    rechargeDetail(2, Code);
}

function LoadItinerary(Type, Query)
{
    // Query = code du parcours
   var searchParameters = new Object();
    searchParameters.LavType = Type;
    searchParameters.queryString = Query;

    MWLavService.getLavList(searchParameters, ITILoadOnRequestComplete);
}

function LoadItinerary_s()
{
    MWLavService.getDetLAVList("", ITILoadOnRequestComplete);
}

 function ITILoadOnRequestComplete(result)
 {
        // alert("nbPoints = " + result.length);
        // for (var i=0; i < result.length; i++)
        // {
        //   alert("point : " + result[i].Code + "," + result[i].Type + "," + result[i].Name + "," + result[i].Lattitude + "," + result[i].Longitude);
        // }
 
       var points = new Array();
       for (var i=0; i < result.length; i++)
       {
           if(result[i].Lattitude != 0 && result[i].Longitude != 0)
           {
               points.push(new VELatLong(result[i].Lattitude,result[i].Longitude));
           }
       }
       poly = new VEPolygon('1',points);
       poly.SetOutlineWidth(3);
       poly.SetOutlineColor(new VEColor(0,150,100,1.0));
       poly.SetFillColor(new VEColor(0,150,100,0.5));       
       var mypoly = new VEPolyline('1', points, new VEColor(0,150,100,0.5), 2);
       map.AddPolyline(mypoly);
       // map.AddPolygon(poly);
       map.SetMapView(points);
       
        for (var i=0; i < result.length; i++)
        {
            if(result[i].Lattitude != 0 && result[i].Longitude != 0)
            {
                AddAPin(result[i].Code, "", result[i].Type,  result[i].Name,    result[i].Lattitude, result[i].Longitude);
            }
        }

 }
 
  // --------------------------------------------------------------
  // Gestion du zoom et de la localisation courante sur la carte
  // --------------------------------------------------------------
    function SetCurrentViewZoneComplete(theValue) {
        MWSearchService.getCurrentGeoViewZone(theValue, onSetCurrentViewZoneComplete);
    }
  
    function onSetCurrentViewZoneComplete(result)
    {
        if(result.Lattitude_1 != 0 && result.Longitude_1  != 0)
        {
           var points = new Array(new VELatLong((result.Lattitude_1 + result.Lattitude_2)/2,(result.Longitude_1 + result.Longitude_2)/2));
           map.SetMapView(points);
           map.SetZoomLevel(result.zoomLevelMin);
        }
    }


  // -----------------------------------------------------------------  
  // Gestion des fenêtres principales (détail, info dec et résultats) 
  // -----------------------------------------------------------------  
    var resultW = 450;
    
    function swapSizes(direction)
    {
        var RsltElem = document.getElementById("resultsColID");
        if (direction == -1)
        {
            if (resultW < 700)
            {
                resultW += 100;
                RsltElem.style.width = resultW;
            }
        }
        else
        {
            if (resultW > 450)
            {
                resultW -= 100;
                RsltElem.style.width = resultW;
            }
        }
    }

    // -------------------- Gestion des fenêtres --------------------------
    function setOngletsMAIN()
    {
           var RsltElemINFODEV = document.getElementById("ongletINFODEC");
           var RsltElemRECH = document.getElementById("ongletRECH");
           var RsltElemSELECTION = document.getElementById("ongletSELECTION");
           var RsltElemDET = document.getElementById("ongletDET");
           switch (IDRECHSWITCH)
           {
           case (1):
                RsltElemINFODEV.className = "onglet_oui";
                RsltElemDET.className = "onglet_non";
                RsltElemSELECTION.className = "onglet_non";
                RsltElemRECH.className = "onglet_non";
                break;
           case (2):
                RsltElemINFODEV.className = "onglet_non";
                RsltElemDET.className = "onglet_oui";
                RsltElemSELECTION.className = "onglet_non";
                RsltElemRECH.className = "onglet_non";
                break;
           case (3):
                RsltElemINFODEV.className = "onglet_non";
                RsltElemDET.className = "onglet_non";
                RsltElemSELECTION.className = "onglet_oui";
                RsltElemRECH.className = "onglet_non";
                break;
           case (4):
                RsltElemINFODEV.className = "onglet_non";
                RsltElemDET.className = "onglet_non";
                RsltElemSELECTION.className = "onglet_non";
                RsltElemRECH.className = "onglet_oui";
                break;
           }
    }   

    function displayINFODEC()
    {
       IDRECHSWITCH = 1;
       var RsltElem = document.getElementById("infoDecSpan");
       RsltElem.innerHTML = INFODECContent;
       if (windowSetting == 1)
           setOngletsMAIN();
    }

    function displayDET()
    {
       IDRECHSWITCH = 2;
       var RsltElem = document.getElementById("infoDecSpan");
       RsltElem.innerHTML = DETAILContent;
       if (windowSetting == 1)
           setOngletsMAIN();
    }

    function displaySELECTION()
    {
       IDRECHSWITCH = 3;
       var RsltElem = document.getElementById("infoDecSpan");
       RsltElem.innerHTML = SELECTIONContent;
       // openLavImg();
       if (windowSetting == 1)
            setOngletsMAIN();
    }

    function displayRECH()
    {
       IDRECHSWITCH = 4;
       var RsltElem = document.getElementById("infoDecSpan");
       RsltElem.innerHTML = RECHERCHEContent;
       if (windowSetting == 1)
           setOngletsMAIN();
    }
    
    function startOnglet()
    {
     if (startOng != 0)
        return startOng;
     inpString = getQueryVariable("action");
     if (inpString != undefined)
        return 4;
     inpString = getQueryVariable("displayGr");
     if (inpString != undefined)
        return 3;
        
     return 4;
    }

    function displayContentInWindow(Title, Content, WindowType)
    {
        switch (WindowType)
        {
        case (1) :
            INFODECContent = Content;
            displayINFODEC();
            break;
        case (2) :
            DETAILContent = Content;
            displayDET();
            break;
        case (3) :
            SELECTIONContent = Content;
            displaySELECTION();
            break;
        case (4) :
            if (windowSetting == 0)
            { 
                var RsltElem = document.getElementById("ListTitle");
                RsltElem.innerHTML = Title;
                RsltElem = document.getElementById("LAVDetSpan");
                RsltElem.innerHTML = Content;
            }
            else
            {
                RECHERCHEContent = Content;
                if (startOnglet() == 4)
                    displayRECH();
            }
            break;
        case (5) :
            break;
        case (6) :
            break;
        }
        startOng=0;
    }
    
  // --------------------------- affichage liste de résultats --------------------    
    var WindowTitle = "";

    function displaySimpleList(Type, Query)
    {
        var searchParameters = new Object();
        searchParameters.LavType = Type;
        searchParameters.queryString = Query;        
        MWLavService.getLavListHTML(searchParameters, IDOnListSimpleComplete);
    }
 
    function displayList(Type, Query)
    {
        var searchParameters = new Object();
        searchParameters.LavType = Type;
        searchParameters.queryString = Query;        
        switch (Type)
        {
        case (1) :
           WindowTitle = "Lieux à visiter";
           break;
        case (2) :
           WindowTitle = "Itinéraires";
           break;
        case (4) :
           WindowTitle = "Hôtels";
           break;   
        } 
        MWLavService.getLavListHTML(searchParameters, IDOnListeResultComplete);
    }
    
    function displayListNoMap(Type, Query)
    {
        var searchParameters = new Object();
        searchParameters.LavType = Type;
        searchParameters.queryString = Query;        
        switch (Type)
        {
        case (1) :
           WindowTitle = "Lieux à visiter";
           break;
        case (2) :
           WindowTitle = "Itinéraires";
           break;
        case (4) :
           WindowTitle = "Hôtels";
           break;   
        } 
        MWLavService.getLavListHTML(searchParameters, IDOnListeResultCompleteNoMap);
    }

     function rechargeListResultFromOther() 
     {
        var RsltElem = document.getElementById("slinput");
        var adresse = "Resultat_1.aspx?inp="+RsltElem.value;
        
        if (document.getElementById("C1ID").checked == true)
                adresse += "&C1=ON";
        if (document.getElementById("C2ID").checked == true)
                adresse += "&C2=ON";
        if (document.getElementById("C3ID").checked == true)
                adresse += "&C3=ON";
                
        window.location = adresse;
     }

     function rechargeListResultDD() 
     {
        RsltElem = document.getElementById("Type2searchID");
        var virgPos1 = 0;
        var virgPos2 = RsltElem.value.indexOf(",", 0);
        var nomVille = RsltElem.value.substring(virgPos1, virgPos2);
        virgPos1 = virgPos2 + 1;
        virgPos2 = RsltElem.value.indexOf(",", virgPos1);
        var nomPays = RsltElem.value.substring(virgPos1, virgPos2);
        virgPos1 = virgPos2 + 1;
        virgPos2 = RsltElem.value.indexOf(",", virgPos1);
        var nomType = RsltElem.value.substring(virgPos1, virgPos2);
        virgPos1 = virgPos2 + 1;
        virgPos2 = RsltElem.value.indexOf(",", virgPos1);
        var STo = RsltElem.value.substring(virgPos1, virgPos2);
        virgPos1 = virgPos2 + 1;
        virgPos2 = RsltElem.value.indexOf(",", virgPos1);
        var SMt = RsltElem.value.substring(virgPos1, virgPos2);
        virgPos1 = virgPos2 + 1;
        var SPl = RsltElem.value.substring(virgPos1);
        // alert(STo + ":" + SMt + ":" + SPl + ":" + nomType + " " + nomVille + " " + nomPays);
        launchSearch(STo, SMt, SPl, nomType + " " + nomVille + " " + nomPays);
     }

     function launchSearch(searchForProductTO, searchForMembersTrip, searchForPlaces, sValue)
     {
        var searchStringParam = new Object();
        searchStringParam.searchForProductTO = searchForProductTO;
        searchStringParam.searchForMembersTrip = searchForMembersTrip;
        searchStringParam.searchForPlaces = searchForPlaces;
        searchStringParam.queryString = sValue;        
       
        MWSearchService.getSearchResult(searchStringParam, IDOnListeResultComplete);
     }

     function rechargeListResult() 
     {
        startOng=4;
        
        var searchForMembersTrip = document.getElementById("C1ID").checked;            
        var searchForProductTO = document.getElementById("C2ID").checked;
        var searchForPlaces = document.getElementById("C3ID").checked;
        RsltElem = document.getElementById("slinput");
        
        launchSearch(searchForProductTO, searchForMembersTrip, searchForPlaces, RsltElem.value);
     }

     function rechargepListResult(Country,City) 
     {
        // alert(City);
        
        if (City == "00" || City == "0")
        {
            MWSearchService.getSearchResultbyCountry(Country, IDOnListeResultComplete);
        }
        else
        {
            Query = "" + Country + "/" + City; 
            MWSearchService.getSearchResultbyCity(Query, IDOnListeResultComplete);
        }
        
     }

     function IDOnListeResultComplete(result)
     {
        displayContentInWindow(WindowTitle, result, 4);
        SetCurrentViewZoneComplete("current");
        MWInfoDecService.getDefaultInfoDec("", displayDefaultInfoDec);
     }

     function IDOnListeResultCompleteNoMap(result)
     {
        displayContentInWindow(WindowTitle, result, 4);
     }

     function IDOnListSimpleComplete(result)
     {
        displayContentInWindow(WindowTitle, result, 1);
     }

// --------------------------- affichage infodecouverte --------------------    
function GoToLatLongInfoDec(Lat, Long, Code, Type)
{
    rechargeInfoDecouverte(Type, Code);
    if(Lat != 0 && Long != 0)
    {
       // Zoom sur la carte
       var points = new Array(new VELatLong(Lat.replace(",","."),Long.replace(",",".")) );
       map.SetMapView(points);
              
       var s=map.GetMapStyle();  
       // if (s==VEMapStyle.Hybrid) 
       map.SetZoomLevel(14);
    }
    AddPointer("", Lat.replace(",","."),Long.replace(",","."));
}

 function rechargeInfoDecouverte_s(theValue) {
    destWindow = 1;
    MWInfoDecService.getFormatedInfoDecouverte(theValue, IDOnRequestComplete);
}

function showTip(Code,Page)
{
    var searchParametersPage = new Object();
    searchParametersPage.LavType = 13;
    searchParametersPage.queryString = Code;
    searchParametersPage.Page = Page;
    destWindow = 1;

    MWInfoDecService.getTipHTMLDescriptionPage(searchParametersPage, IDOnRequestComplete);
}

 function IDOnRequestComplete(result)
 {
    displayContentInWindow("Decouverte", result, destWindow);
 }


 function displayDefaultInfoDec(result)
 {
   if (result.HTMLInfoDec.length > 1)
        INFODECContent = result.HTMLInfoDec;
   if (result.statusDisplay == 1 || (SELECTIONContent.length < 2 && RECHERCHEContent.length < 80))
       displayINFODEC();
 }
 
 function displayDefaultGroupe(result)
 {
   if (result.HTMLInfoDec.length > 1)
        DETAILContent = result.HTMLInfoDec;
   if (result.statusDisplay == 1 || (SELECTIONContent.length < 2 && RECHERCHEContent.length < 80))
       displayDET();
 }
 
 
 // --------------------------- Gestion affichage détail d'un produit --------------------    
 function GoToLatLongDet(Lat, Long, Code, Type)
{
    switch (Type)
    {  
        case (2):
        case (6):
        case (7):
        case (8):
        case (10):
        case (11):
        case (19):
            rechargeDetail(Type, Code);
            break;
        case (17):
            var virgPos1 = 0;
            var virgPos2 = Code.indexOf("/", 0);
            var Country = Code.substring(virgPos1, virgPos2);
            virgPos1 = virgPos2 + 1;
            var City = Code.substring(virgPos1);
            rechargeInfoCityDecouverte(City, Country);
            break;
        case (-1):
            rechargeInfoCountryDecouverte(Code);
            break;
        default: 
            rechargeInfoDecouverte(Type, Code);
            break;
    }
           
    if(Lat != 0 && Long != 0 && Long != "" && Lat != ""  )
    {
       var points = new Array(new VELatLong(Lat.replace(",","."),Long.replace(",",".")) );
       map.SetMapView(points);
       var s=map.GetMapStyle();  
       // if (s==VEMapStyle.Hybrid) 
        map.SetZoomLevel(14);
        if (Type==-1) map.SetZoomLevel(4);
       AddPointer("", Lat.replace(",","."),Long.replace(",","."));
    }
}

 function rechargeCountryList() 
 {
    displaySimpleList(16,"");
 }
 
 function rechargeCityList(countryName) 
 {
    displaySimpleList(17,countryName);
 }
 
 function rechargeInfoCityDecouverte(City, Country) 
 {
    var searchParametersCityList = new Object();
    searchParametersCityList.Type = 13;
    searchParametersCityList.Pays = Country;
    searchParametersCityList.Ville = City;
    destWindow = 1;
    MWInfoDecService.getCityHTMLFullDescription(searchParametersCityList, IDOnRequestComplete);
 }
 
 function rechargeInfoCountryDecouverte(Country) 
 {
    var searchParametersCityList = new Object();
    searchParametersCityList.Type = 16;
    searchParametersCityList.Pays = Country;
    searchParametersCityList.Ville = "";
    destWindow = 1;
    MWInfoDecService.getCountryHTMLFullDescription(searchParametersCityList, IDOnRequestComplete);
 }
 
 function rechargeInfoDecouverte(Type, Query) 
 {
    var searchParameters = new Object();
    searchParameters.LavType = Type;
    searchParameters.queryString = Query;
    destWindow = 1;
    MWInfoDecService.getObjectHTMLFullDescription(searchParameters, IDOnRequestComplete);
 }
 
 function rechargeDetail(Type, Query) 
 {
    var searchParameters = new Object();
    searchParameters.LavType = Type;
    searchParameters.queryString = Query;

    MWInfoDecService.getObjectHTMLFullDescription(searchParameters, DETOnRequestComplete);
 }

 function DETOnRequestComplete(result)
 {
    displayContentInWindow("Détail", result, 2);
 }
 
 
// --------------------------------------
//         Diaporama  
// --------------------------------------
var indImage = 0;
var maxImage = 0;
var ImagesArticle = new Array;
var ImagesAlt = new Array;
var ImagesType = new Array;

function prev_Image()
{
	indImage--;
	if (indImage < 0) indImage=0;
	var RsltElem = document.getElementById("panorama_r3_c3");
	RsltElem.src = ImagesArticle[indImage];
	RsltElem = document.getElementById("indexImage");
	RsltElem.value = (indImage+1) + "/" + maxImage;
    RsltElem = document.getElementById("legendePhoto");
    RsltElem.innerHTML = ImagesAlt[indImage];
}
function next_Image()
{
	indImage++;
	if (indImage > maxImage-1) indImage=maxImage-1;
	var RsltElem = document.getElementById("panorama_r3_c3");
	RsltElem.src = ImagesArticle[indImage];
	RsltElem = document.getElementById("indexImage");
	RsltElem.value = (indImage+1) + "/" + maxImage;
    RsltElem = document.getElementById("legendePhoto");
    RsltElem.innerHTML = ImagesAlt[indImage];
}

function closeDiaporama()
{
	FP_changeProp(/*id*/'couche1',0,'style.visibility','hidden');
	FP_changeProp(/*id*/'couche2',0,'style.visibility','hidden');
}

function showDiaporama(Type, Query)
{
   var searchParameters = new Object();
    searchParameters.LavType = Type;
    searchParameters.queryString = Query;

    MWInfoDecService.getObjectMediaList(searchParameters, MediaOnRequestComplete);
}

function MediaOnRequestComplete(result)
{
   maxImage = result.length;
   
   for (var i=0; i < result.length; i++)
   {
    var filename = result[i].filename;
    ImagesType[i] = "image";
    ImagesAlt[i] = result[i].legend;
    ImagesArticle[i] = "img/" + filename;
   }
   
    FirstImage = ImagesArticle[0];

	FP_changeProp(/*id*/'couche1',0,'style.visibility','visible');
	FP_changeProp(/*id*/'couche2',0,'style.visibility','visible');
	
	var RsltElem = document.getElementById("couche1");
    RsltElem.style.height = document.documentElement.scrollHeight ;

	if (indImage > maxImage-1) indImage=maxImage-1;
	var RsltElem = document.getElementById("panorama_r3_c3");
	RsltElem.src = ImagesArticle[indImage];
	RsltElem = document.getElementById("indexImage");
	RsltElem.value = (indImage+1) + "/" + maxImage;
    RsltElem = document.getElementById("legendePhoto");
    RsltElem.innerHTML = ImagesAlt[indImage];
}

    // --------------------------------------------
    // fonctions génériques de gestion de fenêtres
    // --------------------------------------------

     function hideWindow(WindowId)
     {
       var RsltElem = document.getElementById(WindowId);
       RsltElem.style.position = "absolute";
       RsltElem.style.visibility = "hidden";
     }
     
     function showWindow(WindowId)
     {
       var RsltElem = document.getElementById(WindowId);
       RsltElem.style.position = "relative";
       RsltElem.style.visibility = "visible";
     }

    function openWindow(WindowId)
    {
       var behavior = $object(WindowId);
        if (behavior) 
            behavior._doOpen();
    }
    
    function closeWindow(WindowId)
    {
       var behavior = $object(WindowId);
        if (behavior) 
            behavior._doClose();
    }

// ---------------------------------------------------------------
//       fonctions génériques 
// ---------------------------------------------------------------
function getSelectedValue(ddListID)
{
    var returnValue = "";
    
    RsltElem = document.getElementById(ddListID);
    for (var i=0; i < RsltElem.options.length ; i++)
    {
        if (RsltElem.options[i].selected == true)
        {
            returnValue = RsltElem.options[i].value;
            break;
       }
   }
   return returnValue;
}

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  // alert('Query Variable ' + variable + ' not found');
}

    function FP_changeProp() {//v1.0
     var args=arguments,d=document,i,j,id=args[0],o=FP_getObjectByID(id),s,ao,v,x;
     d.$cpe=new Array(); if(o) for(i=2; i<args.length; i+=2) { v=args[i+1]; s="o"; 
     ao=args[i].split("."); for(j=0; j<ao.length; j++) { s+="."+ao[j]; if(null==eval(s)) { 
      s=null; break; } } x=new Object; x.o=o; x.n=new Array(); x.v=new Array();
     x.n[x.n.length]=s; eval("x.v[x.v.length]="+s); d.$cpe[d.$cpe.length]=x;
     if(s) eval(s+"=v"); }
    }

    function FP_getObjectByID(id,o) {//v1.0
     var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
     else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
     if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
     for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
     f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
     for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
     return null;
    }

//-----------------------------------------
// Fonctions pour initialisations
//-----------------------------------------
function centerCity(PARCODE)
{
    if (PARCODE == 'FRA_ARL')
    {
        VIL_CODE = 'Arles';
        map.SetCenterAndZoom(new VELatLong(43.6760043263635,4.627819061279286), 14);
        channelID = 1;
    }        
    if (PARCODE == 'SUI_GEN') 
    {
        VIL_CODE = 'Genève';
        map.SetCenterAndZoom(new VELatLong(46.20270578484184 ,6.14573478698729), 14);
    }
    if (PARCODE == 'ITA_BOL')
    {
        VIL_CODE = 'Bologne';
        map.SetCenterAndZoom(new VELatLong(44.49491352576272,11.342697143554676), 14);
    }
    if (PARCODE == 'ESP_TOL') 
    {
        VIL_CODE = 'Tolede';
        map.SetCenterAndZoom(new VELatLong(39.86179016415041 , -4.0250730514526385), 14);
    }
    if (PARCODE == 'GRE_CRE') 
    {
        VIL_CODE = 'Crete';
        map.SetCenterAndZoom(new VELatLong(35.19625600786369,24.878540039062486), 8);
    }
    if (PARCODE == 'TCH_OLO') 
    {
        VIL_CODE = 'Olomouc';
        map.SetCenterAndZoom(new VELatLong(49.5902388211818,17.25514411926269), 14);
    }
    if (PARCODE == 'HON_PEC') 
    {
        VIL_CODE = 'Pecs';
        map.SetCenterAndZoom(new VELatLong(46.07876794375849,18.234558105468757), 14);
    }
    if (PARCODE == 'FRA_BAR')
    {
        VIL_CODE = 'Nice';
        map.SetCenterAndZoom(new VELatLong(43.774897,7.497855), 10);
    }      
}

// -------------------------------------
// Gestion des reservations
// -------------------------------------
var ResaParamName = new Array();
var ResaParamValue = new Array();

 function initResaParam()
 {
    ResaParamName = new Array();
    ResaParamValue = new Array();
 }

function addResaParam(name,value)
{
	var flag=true;
	for (i=0; i<ResaParamName.length; i++)
	{
		if (ResaParamName[i] == name)
			{
			ResaParamValue[i] = value;
			flag=false;
			break;
			}
	}
	if (flag)
	{
		ResaParamName.push(name);
		ResaParamValue.push(value);
	}
}

    function getintResaParam(ParamName)
    {
        var intValue = 0;
	    for (i=0; i<ResaParamName.length; i++)
	    {
		    if (ResaParamName[i] == ParamName)
			    {
			    intValue = ResaParamValue[i];
			    break;
			    }
	    }
	    return intValue;
    }
    
    function getstringResaParam(ParamName)
    {
        var stringValue = "";
	    for (i=0; i<ResaParamName.length; i++)
	    {
		    if (ResaParamName[i] == ParamName)
			    {
			    stringValue = ResaParamValue[i];
			    break;
			    }
	    }
	    return stringValue;
    }

 function resaStep(nbadult, nbchild, nbbaby, startdate, enddate, type, code) 
 {
    var resaParameters = new Object();
    resaParameters.NbAdult = nbadult;
    resaParameters.NbChild = nbchild;
    resaParameters.NbBaby = nbbaby;
    resaParameters.startDate = startdate;
    resaParameters.endDate = enddate;
    resaParameters.Type = type;
    resaParameters.Code = code;
    MWResaService.getAvailRooms(resaParameters, resaOnRequestComplete);
 }
  
 function bookElement(type, code) 
 {
    initResaParam();
    var resaParameters = new Object();
    resaParameters.NbAdult = 0;
    resaParameters.NbChild = 0;
    resaParameters.NbBaby = 0;
    resaParameters.startDate = '15/12/2006';
    resaParameters.endDate = '18/12/2006';
    resaParameters.Type = type;
    resaParameters.Code = code;
    MWResaService.getAvailRooms(resaParameters, resaOnRequestComplete);
}

 function bookHotel(code)
 {
   var nbadult = getintResaParam('nbAdulte');
   var nbchild = getintResaParam('nbEnfant');
   var nbbaby = getintResaParam('nbBebe');
   var datedeb = getstringResaParam('DateDebut');
   var datefin = getstringResaParam('DateFin');
    // alert(code);
    resaStep(nbadult, nbchild, nbbaby, datedeb, datefin, 4, code);
 }

 function resaOnRequestComplete(result)
 {
    displayContentInWindow("Détail", result, 2);
 }
 
 function sendResa()
 {
    var theString = "http://www.memo.fr/envoiresa.asp?";
    for (i=0; i<ResaParamName.length; i++)
	{
	theString += ResaParamName[i] + "=" + ResaParamValue[i] + "&" ;
	}
    window.open(theString,'Envoi','resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=0,menubar=0,width=500,height=400');
 }
  
  // --------------------------------
  //      Gestion du compte
  // --------------------------------
  function closeCountryList(theIndex)
  {
   var RsltElem = document.getElementById("HiddenlistContent"+theIndex);
   var RsltElem2 = document.getElementById("listContent"+theIndex);
   var RsltElem3 = document.getElementById("ouvferm"+theIndex);
   
  
   if (RsltElem.innerHTML == ".")
   {
       RsltElem3.innerHTML = "<img src='images/ouvrir.gif' border='0' />";
       RsltElem.innerHTML = "";
       RsltElem2.style.display = "none";
   }
   else
   {
       RsltElem3.innerHTML = "<img src='images/fermer.gif' border='0' />";
       RsltElem.innerHTML = ".";
       RsltElem2.style.display = "inline";
   }
  }

  function closeCityList(theIndex)
  {
   var RsltElem = document.getElementById("cHiddenlistContent"+theIndex);
   var RsltElem2 = document.getElementById("clistContent"+theIndex);
   var RsltElem3 = document.getElementById("couvferm"+theIndex);
   
  
   if (RsltElem.innerHTML == ".")
   {
       RsltElem3.innerHTML = "<img src='images/empty.gif' border='0' width='30' height='1'/><img src='images/ouvrir.gif' border='0' />";
       RsltElem.innerHTML = "";
       RsltElem2.style.display = "none";
   }
   else
   {
       RsltElem3.innerHTML = "<img src='images/empty.gif' border='0' width='30' height='1'/><img src='images/fermer.gif' border='0' />";
       RsltElem.innerHTML = ".";
       RsltElem2.style.display = "inline";
   }
  }  
  
function deleteGroupe(code)
 {  
    // alert("hello");
    MWGroupeService.deleteGroupeFromDatabase(code, setandDisplayVoyagesList);
 } 

 function setandDisplayVoyagesList(result)
 {       
   var RsltElem = document.getElementById("VoyagesList");
   RsltElem.innerHTML = result;
 }
 
 function deleteTip(code)
 {
    if (window.confirm('Voulez-vous supprimer cette fiche de façon définitive ?')) 
    {
    MWInfoDecService.deleteTipFromDatabase(code, setandDisplayFichesList);
    }
 }
 
 function setandDisplayFichesList(result)
 {       
   var RsltElem = document.getElementById("FichesList");
   RsltElem.innerHTML = result;
 }
 
 function deleteleLAV(code, type)
 {
    if (window.confirm('Voulez-vous supprimer ce lieu de façon définitive ?')) 
    {
    var searchParametersLAV = new Object();
    searchParametersLAV.Type = type;
    searchParametersLAV.Code = code;
    searchParametersLAV.Name = "";
    searchParametersLAV.Lattitude = "";
    searchParametersLAV.Longitude = "";
    
    MWLavService.deleteLAV(searchParametersLAV, setandDisplayLocusList);
    }
 }

 function setandDisplayLocusList(result)
 {       
   alert(result.ReturnMessage);
   var RsltElem = document.getElementById("MesVillesList");
   RsltElem.innerHTML = result.HTMLList;
 }
 
 var LAVCode = "";
 var LAVType = ""; 
 
 function renameLAV(code, name, type, Position)
 {
    var posX = 100;
    var posY = 100 + Position*28;
    
    var RsltElem = document.getElementById("OldLocusNameID");
    RsltElem.innerHTML = name;

    LAVCode = code;
    LAVType = type;
    
	FP_changeProp(/*id*/'LocusNamecouche2',0,'style.top',posY);
	FP_changeProp(/*id*/'LocusNamecouche2',0,'style.left',posX);
	
	FP_changeProp(/*id*/'LocusNamecouche1',0,'style.visibility','visible');
	FP_changeProp(/*id*/'LocusNamecouche2',0,'style.visibility','visible');
}

function renameLocus()
{
    closeRenameLocus();
    
    var RsltElem = document.getElementById("NewLocusNameID");
    var name = RsltElem.value;

    var searchParametersLAV = new Object();
    searchParametersLAV.Type = LAVType;
    searchParametersLAV.Code = LAVCode;
    searchParametersLAV.Name = name;
    searchParametersLAV.Lattitude = "";
    searchParametersLAV.Longitude = "";
    
    MWLavService.renameLAV(searchParametersLAV, setandDisplayLocusList);    
}

function closeRenameLocus()
{
	FP_changeProp(/*id*/'LocusNamecouche1',0,'style.visibility','hidden');
	FP_changeProp(/*id*/'LocusNamecouche2',0,'style.visibility','hidden');
}
  
  function closeTipCountryList(theIndex)
  {
   var RsltElem = document.getElementById("THiddenlistContent"+theIndex);
   var RsltElem2 = document.getElementById("TlistContent"+theIndex);
   var RsltElem3 = document.getElementById("Touvferm"+theIndex);
   
  
   if (RsltElem.innerHTML == ".")
   {
       RsltElem3.innerHTML = "<img src='images/ouvrir.gif' border='0' />";
       RsltElem.innerHTML = "";
       RsltElem2.style.display = "none";
   }
   else
   {
       RsltElem3.innerHTML = "<img src='images/fermer.gif' border='0' />";
       RsltElem.innerHTML = ".";
       RsltElem2.style.display = "inline";
   }
  }

  function closeTipCityList(theIndex)
  {
   var RsltElem = document.getElementById("T2HiddenlistContent"+theIndex);
   var RsltElem2 = document.getElementById("T2listContent"+theIndex);
   var RsltElem3 = document.getElementById("T2ouvferm"+theIndex);
   
  
   if (RsltElem.innerHTML == ".")
   {
       RsltElem3.innerHTML = "<img src='images/empty.gif' border='0' width='30' height='1'/><img src='images/ouvrir.gif' border='0' />";
       RsltElem.innerHTML = "";
       RsltElem2.style.display = "none";
   }
   else
   {
       RsltElem3.innerHTML = "<img src='images/empty.gif' border='0' width='30' height='1'/><img src='images/fermer.gif' border='0' />";
       RsltElem.innerHTML = ".";
       RsltElem2.style.display = "inline";
   }
  }  
  
  
  
  /************************************ NEW *************************************/


//Gets all controls from the form into a name/value array
function getParameters()
 {  
    // alert('enter getparam');
    
    var arrayList = new Array();
    var taille=0;
    var FormElements=document.forms[0].elements;
    //Gets input fields
    //var collInput = document.all.tags('input');
    var obj = null;
    var res = '';
    
    // alert('enter boucle getparam');
    
    for(var nb=0;nb<FormElements.length;nb++)
    {
        obj = FormElements[nb];
        id= obj.id+'';
        if(
        (obj.id != '__VIEWSTATE') && 
        (obj.id != '__EVENTVALIDATION') && 
        (obj.id != '__EVENTTARGET') && 
        (obj.id != '__EVENTARGUMENT') && 
        (obj.id != '__LASTFOCUS') &&
        (obj.id != 'MWFSBAPIProductResult') &&
        (obj.id != 'ctl00_MWERROR') &&
        (obj.id != 'MWERROR') &&
        (obj.id != 'MWPOBOOKING')
        
         )         
        {           
            if (obj.type=='radio'){
                if (obj.checked){
                    arrayList.push(new Array(obj.name, obj.value) ); 
                }
            }else{
                arrayList.push(new Array(obj.name, obj.value) );        
          }  
                res += obj.name + " : " + obj.value + "\n";      
        }
    }
    // alert(res);
    return arrayList;
 }
 
//------------------------------------------------------------------------------------------------------
//                          New booking Functions for sequenceur step
//------------------------------------------------------------------------------------------------------
 function GetNextStep(objectType, stepID) 
 {
  // alert( ' - objectType:'+ objectType + ' - stepID:'+ stepID); 
  //  wsThrow.init();
    var parameters = getParameters();    
 //   wsThrow.addProcess();
    MWResaService.GetNextStep(objectType, stepID, parameters, resaOnRequestComplete);
  //  wsThrow.stop();
 }
 
 function GetNextStepByCode(code, objectType, stepID) 
 {
  //  alert('code:' + code + ' - objectType:'+ objectType + ' - stepID:'+ stepID); 
  //  wsThrow.init();
    var parameters = getParameters();
  //  wsThrow.addProcess();
    MWResaService.GetNextStepByCode(code, objectType, stepID, parameters, resaOnRequestComplete);
//    wsThrow.stop();
 }
 
 function GetSelectionNextStep(stepID) 
 { 
 //   wsThrow.init();
    var parameters = getParameters();    
 //   wsThrow.addProcess();
    MWResaService.GetSelectionNextStep(stepID, parameters, resaOnRequestComplete);
 //   wsThrow.stop();
 }
function ExternalTesting(code){ 
    if (typeof(MWResaService) ==  'object'){
        GetNextStepByCode(code, 4, 0);
    }else{
        setTimeout("ExternalTesting('"+ code+"')",500);  
    }
 }
 externalMode=getQueryVariable('externalMode'); 
 externalCode=getQueryVariable('externalCode'); 
 if (externalMode=='testing'){
    setTimeout("ExternalTesting('"+ externalCode+"')",3000);  
 }
 //------------------------------------------------------------------------------------------------------
//                          New booking Functions for sequenceur step
//------------------------------------------------------------------------------------------------------
/*
 function wsAsync(){    
    
    this.activProcess;
    this.onProgress;
    this.inLog;    
    this.max=0;
    
    this.display = function Display(){  
      window.scrollTo(0, 0);   
      document.getElementById('PopupWait').style.visibility='visible';
    }
    this.init = function init(){
      this.activProcess=0;
      this.max=0;
      this.onProgress=true;     
      document.getElementById('msgWait').innerHTML='';      
      this.display();     
    }   
    this.unDisplay = function unDisplay(){      
      document.getElementById('PopupWait').style.visibility='hidden';      
    }
    
    this.stop = function stop(){      
      this.onProgress=false;     
      this.check();
    }  
    
    this.clear = function clear(){
      this.activProcess=0;      
      document.getElementById('msgWait').innerHTML='';      
      this.unDisplay();
    } 
    
    this.addProcess = function addProcess(){      
      this.activProcess=this.activProcess+1; 
      if (this.activProcess>this.max) {
        this.max=this.activProcess;
      } 
    } 
    
     this.progressBar = function progressBar(){    
      document.getElementById('progressWait').innerHTML= Math.round(((this.max-this.activProcess)/this.max)*100) + ' %'; 
    }  
    
    this.delProcess = function delProcess(){
      //this.progressBar();         
      this.activProcess=this.activProcess-1;     
    }  
    
    this.addMsg = function addMsg(str){
     
      if (document.getElementById('msgWait').innerHTML==''){  
        document.getElementById('msgWait').innerHTML=str;       
        
      }else{
       document.getElementById('msgWait').innerHTML=document.getElementById('msgWait').innerHTML + '<br>' + str;    
      }       
    } 
     
    this.check  = function check(){           
        if (this.activProcess==0 &&  !this.onProgress){            
            this.clear();           
        }  
    }
}
var wsThrow=new wsAsync();
*/