var selectedDepartCode;var selectedArriveeCode;var logEnabled=false;var nbHorairesMaxParLigne;var forceDisplayHoraires;var useCachedLines;var resultsContainer;var resultsDiv;var resultsGoDivLoader;var resultsTerminalADivLoader;var resultsBravoFlyDivLoader;var resultsLastminuteDivLoader;var resultsEbookersDivLoader;var resultsEdreamsDivLoader;var resultsOpodoDivLoader;var resultsVivacancesDivLoader;var resultsXLDivLoader;var divLoaders;var logDiv;var requests;var responsesReceived;var totalReceivedItems;var stopSearchFlag;var prices;var resultsArray;var minPrice;var defaultMinPrice=10000;var displayedMinPrice;var maxPrice;var resultBgColor;var resultBgColorHover;var filtersDisplayed;var filterPriceMax;var filterDirect;var filterHoraireAllerMin;var filterHoraireAllerMax;var filterHoraireRetourMin;var filterHoraireRetourMax;var displayTenItems;var hWidth;var bWidth;var urlBase;var sliderPrix;var departAutoCompleter;var arriveeAutoCompleter;var useProxy;var proxyURL;var pathToProxy;var affilieName;var sequenceResultsId;var resultsLineStatus;var tokenId;var selectedLayout;function initVars(C,A,B,E,D){selectedDepartCode="PAR";selectedArriveeCode="PAR";nbHorairesMaxParLigne=5;useCachedLines=false;resultsContainer=$("cpv_rescontainer");resultsDivSummary=$("cpv_summary");resultsDiv=$("cpv_res");resultsGoDivLoader=$("cpv_resgoloader");resultsTerminalADivLoader=$("cpv_resterminalaloader");resultsBravoFlyDivLoader=$("cpv_resbravoflyloader");resultsLastminuteDivLoader=$("cpv_reslastminuteloader");resultsEbookersDivLoader=$("cpv_resebookersloader");resultsEdreamsDivLoader=$("cpv_resedreamsloader");resultsOpodoDivLoader=$("cpv_resopodoloader");resultsVivacancesDivLoader=$("cpv_resvivacancesloader");resultsXLDivLoader=$("cpv_resxlloader");divLoaders=new Array();logDiv=$("cpv_log");requests=new Array();responsesReceived=0;totalReceivedItems=0;stopSearchFlag=false;prices=new Array();resultsArray=new Array();minPrice=defaultMinPrice;maxPrice=0;resultBgColor="#FFF";resultBgColorPair="#FAFAFA";resultBgColorHover="#F5F7FE";filtersDisplayed=false;filterPriceMax=10000;filterDirect=false;filterHoraireAllerMin=0;filterHoraireAllerMax=24;filterHoraireRetourMin=0;filterHoraireRetourMax=24;displayTenItems=true;hWidth=$("cpv_slider-prix-handle").getWidth();bWidth=$("cpv_slider-prix-bar").getWidth();sliderPrix=new Control.Slider("cpv_slider-prix-handle","cpv_slider-prix-bar",{range:$R(0,1000),sliderValue:1000,onSlide:function(F){updateSlidePrixValue(F)},onChange:function(F){updateSlidePrixValue(F);filterPrice(F)}});affilieName=C;urlBase=A;useProxy=E;pathToProxy=B;selectedLayout=D;if(selectedLayout=="default1000"){nbHorairesMaxParLigne=5}else{nbHorairesMaxParLigne=3}sequenceResultsId=0;resultsLineStatus=new Array()}function setBgPos(A){if(maxPrice!=minPrice){var B=A*hWidth/(maxPrice-minPrice);var C=-bWidth+(A*bWidth)/(maxPrice-minPrice);$("cpv_slider-prix-c").setStyle({backgroundPosition:Math.round(C-B)+"px"})}}function sortNumber(B,A){return B-A}function triHoraire(B,A){if(B!=null&&B.heureDepart!=undefined&&A!=null&&A.heureDepart!=undefined){return B.heureDepart>A.heureDepart}else{return -1}}function myLog(C,A){if(logEnabled){var B="<div style='border: 1px dotted #000;width:100%;'>";B+="<div style='margin-top:10px;font-weight:bold;font-size:1.2em;'>"+C+"</div>";B+="<div style='margin-left:5px;padding:5px;font-size:0.8em;'>"+A+"</div>";B+="</div>";logDiv.innerHTML+=B}}function resetInput(){$("cpv_depart").value="";$("cpv_arrivee").value="";$("cpv_date_depart").value="";$("cpv_date_retour").value="";selectedDepartCode="";selectedArriveeCode=""}function resetResults(){requests=new Array();responsesReceived=0;totalReceivedItems=0;sequenceResultsId=0;resultsLineStatus=new Array();divLoaders=new Array();stopSearchFlag=false;$("cpv_stopSearchSpan").innerHTML=' - <a href="javascript:stopSearch();">Arrêter</a>';$("cpv_inProgress").style.visibility="visible";displayFilters(false,false);forceDisplayHoraires=$("cpv_displayHoraires").checked;resultsContainer.style.visibility="hidden";$("cpv_inProgress").style.visibility="visible";$("cpv_stats").style.visibility="hidden";resultsDivSummary.style.visibility="visible";resultsDiv.innerHTML="";$("cpv_ressum").innerHTML="0";$("cpv_inProgressPercent").innerHTML="0 %";$("cpv_minPrix").innerHTML="---,-- &euro;";prices=new Array();resultsArray=new Array();$("cpv_direct").checked=false;filterDirect=false;minPrice=defaultMinPrice;displayedMinPrice=minPrice;maxPrice=0;filterPriceMax=10000;sliderPrix.range=$R(0,10000);sliderPrix.setValue(10000);filterHoraireAllerMin=0;filterHoraireAllerMax=24;$("cpv_horairesAllerSelect").value="0024";filterHoraireRetourMin=0;filterHoraireRetourMax=24;$("cpv_horairesRetourSelect").value="0024";displayTenItems=true;try{closeCalendar()}catch(A){myLog("Erreur au moment de la fermeture du calendrier",A)}}function checkInputs(){var A=true;if($("cpv_depart").value.length<3){$("cpv_depart_label").style.color="red";$("cpv_depart").className="cpv_input_error";$("cpv_depart").focus();A=false}else{$("cpv_depart_label").style.color="";$("cpv_depart").className="cpv_input"}if($("cpv_arrivee").value.length<3){$("cpv_arrivee_label").style.color="red";$("cpv_arrivee").className="cpv_input_error";if(A){$("cpv_arrivee").focus()}A=false}else{$("cpv_arrivee_label").style.color="";$("cpv_arrivee").className="cpv_input"}if($("cpv_date_depart").value==""){$("cpv_date_depart_label").style.color="red";$("cpv_date_depart").className="cpv_input_error";if(A){displayCalendar($("cpv_date_depart"),"dd/mm/yyyy",$("cpv_date_depart"))}A=false}else{if(compareDates(parseDate($("cpv_date_depart").value),new Date())<0){$("cpv_date_depart_label").style.color="red";$("cpv_date_depart").className="cpv_input_error";A=false}else{$("cpv_date_depart_label").style.color="";$("cpv_date_depart").className="cpv_input"}$("cpv_date_retour_label").style.color="";$("cpv_date_retour").className="cpv_input";if($("cpv_date_retour").value!=""){if(compareDates(parseDate($("cpv_date_retour").value),parseDate($("cpv_date_depart").value))<0){$("cpv_date_retour_label").style.color="red";$("cpv_date_retour").className="cpv_input_error";A=false}}}return A}function addLines(D){myLog("Ajout des lignes","nombre de propositions : "+D.vols.propositions.length);var C=0;if(D!=undefined&&D.vols!=undefined&&D.vols.propositions!=undefined&&D.vols.propositions.length>0){for(C=0;C<D.vols.propositions.length;C++){if(D.vols.propositions[C]!=undefined){var B=D.vols.propositions[C].prixTTC;if(resultsArray[B]==null){resultsArray[B]=new Array();prices.push(B)}var A=resultsArray[B].length;var E=D.vols.propositions[C];resultsArray[B][A]=new Array();resultsArray[B][A]["partenaire"]=D.vols.partenaire;resultsArray[B][A]["globalLink"]=D.vols.globalLink;resultsArray[B][A]["data"]=E;resultsArray[B][A]["rendu"]="";sequenceResultsId++;resultsArray[B][A]["id"]=sequenceResultsId;resultsLineStatus[sequenceResultsId]=false;if(E.horairesAller!=null&&E.horairesAller.length>0&&E.horairesAller[0]!=null){E.horairesAller.sort(triHoraire)}if(E.horairesRetour!=null&&E.horairesRetour.length>0&&E.horairesRetour[0]!=null){E.horairesRetour.sort(triHoraire)}if(B-maxPrice>0){maxPrice=parseFloat(B)}if(B-minPrice<0){minPrice=parseFloat(B)}totalReceivedItems+=D.vols.propositions.length}}displaySliderRange();prices.sort(sortNumber);displayTableau()}if(totalReceivedItems>0){displayFilters(true,$("cpv_date_retour").value!="")}else{if(responsesReceived==requests.length){resultsDiv.innerHTML="Aucun vol ne correspond à votre recherche555."}}}function updateSlidePrixValue(A){setBgPos(A);$("cpv_sliderPrixSelected").innerHTML="Prix du vol : <b>"+formatPrice(Math.ceil(Math.round(A*100)/100))+" &euro;</b> maxi"}function displaySliderRange(){sliderPrix.range=$R(Math.ceil(minPrice),Math.ceil(maxPrice));$("cpv_sliderPrixRange").innerHTML=formatPrice(maxPrice)+" &euro;";setBgPos(maxPrice);updateSlidePrixValue(maxPrice)}function displayTableau(){if(responsesReceived==0){return }myLog("Mise a jour du tableau final",prices);showFilterLoader();if(selectedLayout=="default1000"){displayTableauMode1000px()}else{displayTableauMode600px()}setTimeout("hideFilterLoader()",500);resultsContainer.style.visibility="visible";resultsDivSummary.style.visibility="visible";if(minPrice!=defaultMinPrice&&minPrice<displayedMinPrice){displayedMinPrice=minPrice;$("cpv_minPrix").innerHTML=formatPrice(minPrice)+" &euro;";new Effect.Highlight($("cpv_divMinPrix"),{startcolor:"#FFFF6D",endcolor:"#FFFFFF"})}}function displayTableauMode1000px(){var U=0;var S=0;var M=[];var Q=[];var F=0;var W=false;var P=new Date().getTime();var B=0;resultsDiv.innerHTML="";var J=[];for(U=0;U<prices.length;U++){var X=prices[U];if(X-filterPriceMax>0){break}var C=resultsArray[X];var N;var O;var R;var Y;var I;var G;for(S=0;S<C.length;S++){M=[];O=C[S]["partenaire"];R=C[S]["globalLink"];G=C[S]["id"];N=C[S]["data"];Y=N.deepLink;if(Y!=""){I=Y}else{I=R}if(displayTenItems&&F>=10){if(F==10){Q[Q.length]="<div style='text-align:left;padding:5px 200px;;font-size:14px;border-top: 2px solid #C8D6F0;'><a href='javascript:displayMoreItems();'>Montrer tous les résultats</a> >>"}F++;continue}if(filterDirect&&(N.nbEscalesAller!="0"||(N.aeroportDepartRetour!=""&&N.nbEscalesRetour!="0"))){continue}if(!horairesInRange(N.horairesAller,filterHoraireAllerMin,filterHoraireAllerMax)){continue}if(N.aeroportDepartRetour!=""){if(!horairesInRange(N.horairesRetour,filterHoraireRetourMin,filterHoraireRetourMax)){continue}}if(!W){Q[Q.length]="<div style='height:15px;margin:15px 0px 3px 0px;width:100%;'><table width='100%'><tr><td width='10%'  class='cpv_mainTableHeader' style='text-align:center;' >Compagnie</td><td width='10%' style='text-align:center;' class='cpv_mainTableHeader'>tarif TTC</td>";if(N.aeroportDepartRetour!=""){Q[Q.length]="<td width='35%' class='cpv_mainTableHeader' style='padding-left:20px;'>Aller</td>";Q[Q.length]="<td width='35%' class='cpv_mainTableHeader' style='padding-left:20px;'>Retour</td>"}else{Q[Q.length]="<td width='70%' class='cpv_mainTableHeader' style='padding-left:20px;'>Informations vol</td>"}Q[Q.length]="<td width='10%' class='cpv_mainTableHeader' style='text-align:center;'>Partenaire</td>";Q[Q.length]="</tr></table></div>";W=true}if(!useCachedLines||C[S]["rendu"]==""){if(C[S]["rendu"]==""){J[J.length]=G}var T=false;if(N.aeroportDepartRetour!=""){T=true}var H=resultBgColor;if(F%2==0){H=resultBgColorPair}M[M.length]="<div id='cpv_vol"+G+"' style='padding:3px 0px;border-top: 2px solid #C8D6F0;width:100%;background-color:"+H+";'  onmouseover='javascript:detailModeAllerRetour(\""+G+'", "'+H+"\", true);' onmouseout='javascript:detailModeAllerRetour(\""+G+'", "'+H+"\", false);' onclick='window.open(\""+I+"\");return false;'>";M[M.length]="<table width='100%'><tr>";M[M.length]="<td rowspan=2 width='10%' style='text-align:center;' class='cpv_rescell1'>"+N.compagnieAller+"</td>";M[M.length]="<td rowspan=2 width='10%' style='text-align:center;' class='cpv_rescell1'><a href='"+I+"' target='_blank' class='cpv_prix'>"+formatPrice(X)+" &euro;</a></td>";M[M.length]="<td valign='top' width='35%'><table cellpadding=0 cellspacing=0 width='100%' class='cpv_rescell'><tr>";M[M.length]="<td align='center' width='20%' class='cpv_rescell'>";M[M.length]="<span style='font-size:1.0em;'>";var Z="";if(N.nbEscalesAller=="0"){Z="direct"}else{if(N.nbEscalesAller=="1"){Z="1 escale"}else{if(N.nbEscalesAller!=""){Z=N.nbEscalesAller+" escales"}}}if(N.escalesAller=""){Z+=" ("+N.escalesAller+")"}M[M.length]="<b>"+Z+"</b>";M[M.length]="</span>";M[M.length]="</td>";var A="";if(T){A="vertical-align:top;"}M[M.length]="<td width='80%' style='padding-left:5px;"+A+"' class='cpv_rescell'>";var L="";if(N.horairesAller!=null&&N.horairesAller.length>0&&N.horairesAller[0]!=null){L=N.horairesAller[0].dureeVol}M[M.length]="<nobr>"+N.aeroportDepartAller+"</nobr> - <nobr>"+N.aeroportArriveeAller+"</nobr><br>";var V="&nbsp;";if(L!=""){V="Durée du vol: "+L}M[M.length]="<div style='color:#999;'>"+V+"</div>";if(T){if(!resultsLineStatus[G]&&!forceDisplayHoraires){M[M.length]="<div id='cpv_horAller"+G+"' style='margin-top:5px;display:none; '>"}else{M[M.length]="<div id='cpv_horAller"+G+"' style='margin-top:5px;visibility:visible; '>"}M[M.length]=printHorairesAller(N.horairesAller);M[M.length]="</div>"}M[M.length]="</td>";M[M.length]="</tr></table>";M[M.length]="</td>";M[M.length]="<td valign='top' width='35%'><table width='100%' cellpadding=0 cellspacing=0 class='cpv_rescell'><tr>";if(T){M[M.length]="<td align='center' width='20%' class='cpv_rescell'>";M[M.length]="<span style='font-size:1.0em;'>";var D="";if(N.nbEscalesRetour=="0"){D="direct"}else{if(N.nbEscalesRetour=="1"){D="1 escale"}else{if(N.nbEscalesRetour!=""){D=N.nbEscalesRetour+" escales"}}}if(N.escalesRetour=""){D+=" ("+N.escalesRetour+")"}M[M.length]="<b>"+D+"</b>";M[M.length]="</span>";M[M.length]="</td>";M[M.length]="<td  width='80%' style='padding-left:5px;vertical-align:top;' class='cpv_rescell' valign='top'>";var L="";if(N.horairesRetour!=null&&N.horairesRetour.length>0&&N.horairesRetour[0]!=null){L=N.horairesRetour[0].dureeVol}M[M.length]="<nobr>"+N.aeroportDepartRetour+"</nobr> - <nobr>"+N.aeroportArriveeRetour+"</nobr><br>";var V="&nbsp;";if(L!=""){V="Durée du vol: "+L}M[M.length]="<div style='color:#999;'>"+V+"</div>";var K="<td style='color:#999;text-align:left;padding-right:5px;' class='cpv_rescell'>Départ<br>Arrivée</td>";if(!resultsLineStatus[G]&&!forceDisplayHoraires){M[M.length]="<div id='cpv_horRetour"+G+"' style='margin-top:5px;display:none; '>"}else{M[M.length]="<div id='cpv_horRetour"+G+"' style='margin-top:5px;visibility:visible; '>"}M[M.length]=printHorairesRetour(N.horairesRetour);M[M.length]="</div>";M[M.length]="</td>"}else{M[M.length]="<td class='cpv_rescell'>";M[M.length]="<div id='cpv_horAller"+G+"' style='visibility:visible; '>";M[M.length]=printHorairesAller(N.horairesAller);M[M.length]="</div>";M[M.length]="</td>"}M[M.length]="</tr></table>";M[M.length]="</td>";M[M.length]="<td rowspan=2 width='10%' style='text-align:center;' class='cpv_rescell1'><a href='"+I+"' target='_blank'>"+O+"<br><img src='http://www2.compavols.com/images/redirect.gif' border=0></a></div></td>";M[M.length]="</tr>";M[M.length]="</table>";M[M.length]="</div>";C[S]["rendu"]=M.join("")}Q[Q.length]=C[S]["rendu"];F++}}if(!displayTenItems&&F>10){Q[Q.length]="<div style='text-align:left;padding:5px 200px;;font-size:14px;border-top: 2px solid #C8D6F0;'><a href='javascript:displayLessItems();'><< Afficher uniquement les 10 meilleurs résultats</a>"}if(F>0){resultsDiv.innerHTML=Q.join("");for(k=0;k<J.length;k++){new Effect.Highlight($("cpv_vol"+J[k]),{startcolor:"#FFFF6D",endcolor:"#FFFFFF"})}}else{if(responsesReceived==requests.length){resultsDiv.innerHTML="<div style='text-align:center; font-size:16px;margin-bottom:50px;'>Aucun vol ne correspond à vos critères de recherche.</div>"}}showVolsTrouvesGlobal(F,$("cpv_ressum"));var E=new Date().getTime();return F}function displayTableauMode600px(){var U=0;var S=0;var M=[];var Q=[];var F=0;var W=false;var P=new Date().getTime();var B=0;resultsDiv.innerHTML="";var J=[];for(U=0;U<prices.length;U++){var X=prices[U];if(X-filterPriceMax>0){break}var C=resultsArray[X];var N;var O;var R;var Y;var I;var G;for(S=0;S<C.length;S++){M=[];O=C[S]["partenaire"];R=C[S]["globalLink"];G=C[S]["id"];N=C[S]["data"];Y=N.deepLink;if(Y!=""){I=Y}else{I=R}if(displayTenItems&&F>=10){if(F==10){Q[Q.length]="<div style='text-align:left;padding:5px 200px;;font-size:14px;border-top: 2px solid #C8D6F0;'><a href='javascript:displayMoreItems();'>Montrer tous les résultats</a> >>"}F++;continue}if(filterDirect&&(N.nbEscalesAller!="0"||(N.aeroportDepartRetour!=""&&N.nbEscalesRetour!="0"))){continue}if(!horairesInRange(N.horairesAller,filterHoraireAllerMin,filterHoraireAllerMax)){continue}if(N.aeroportDepartRetour!=""){if(!horairesInRange(N.horairesRetour,filterHoraireRetourMin,filterHoraireRetourMax)){continue}}if(!W){Q[Q.length]="<div style='height:15px;margin:15px 0px 3px 0px;width:100%;'><table width='100%'><tr><td width='10%' class='cpv_mainTableHeader' style='text-align:center;'>Compagnie</td><td width='10%' style='text-align:center;' class='cpv_mainTableHeader'>tarif TTC</td>";if(N.aeroportDepartRetour!=""){Q[Q.length]="<td width='35%' class='cpv_mainTableHeader' style='padding-left:20px;'>Aller</td>";Q[Q.length]="<td width='35%' class='cpv_mainTableHeader' style='padding-left:20px;'>Retour</td>"}else{Q[Q.length]="<td width='70%' class='cpv_mainTableHeader' style='padding-left:20px;'>Informations vol</td>"}Q[Q.length]="<td width='10%' class='cpv_mainTableHeader' style='text-align:center;'>Partenaire</td>";Q[Q.length]="</tr></table></div>";W=true}if(!useCachedLines||C[S]["rendu"]==""){if(C[S]["rendu"]==""){J[J.length]=G}var T=false;if(N.aeroportDepartRetour!=""){T=true}var H=resultBgColor;if(F%2==0){H=resultBgColorPair}M[M.length]="<div id='cpv_vol"+G+"' style='padding:3px 0px;border-top: 2px solid #C8D6F0;width:100%;background-color:"+H+";'  onmouseover='javascript:detailModeAllerRetour(\""+G+'", "'+H+"\", true);' onmouseout='javascript:detailModeAllerRetour(\""+G+'", "'+H+"\", false);' onclick='window.open(\""+I+"\");return false;'>";M[M.length]="<table width='100%'><tr>";M[M.length]="<td rowspan=2 width='10%' style='text-align:center;' class='cpv_rescell1'>"+N.compagnieAller+"</td>";M[M.length]="<td rowspan=2 width='10%' style='text-align:center;' class='cpv_rescell1'><a href='"+I+"' target='_blank' class='cpv_prix'><nobr>"+formatPrice(X)+" &euro;</nobr></a></td>";M[M.length]="<td valign='top' width='35%'><table cellpadding=0 cellspacing=0 width='100%' class='cpv_rescell'><tr>";M[M.length]="<td align='center' width='20%' class='cpv_rescell'>";M[M.length]="<span style='font-size:1.0em;'>";var Z="";if(N.nbEscalesAller=="0"){Z="direct"}else{if(N.nbEscalesAller=="1"){Z="1 escale"}else{if(N.nbEscalesAller!=""){Z=N.nbEscalesAller+" escales"}}}if(N.escalesAller=""){Z+=" ("+N.escalesAller+")"}M[M.length]="<b>"+Z+"</b>";M[M.length]="</span>";M[M.length]="</td>";var A="";if(T){A="vertical-align:top;"}M[M.length]="<td width='80%' style='padding-left:5px;"+A+"' class='cpv_rescell'>";var L="";if(N.horairesAller!=null&&N.horairesAller.length>0&&N.horairesAller[0]!=null){L=N.horairesAller[0].dureeVol}M[M.length]="<nobr>"+N.aeroportDepartAller+"</nobr> - <nobr>"+N.aeroportArriveeAller+"</nobr><br>";var V="&nbsp;";if(L!=""){V="Durée du vol: "+L}M[M.length]="<div style='color:#999;'>"+V+"</div>";if(!resultsLineStatus[G]&&!forceDisplayHoraires){M[M.length]="<div id='cpv_horAller"+G+"' style='margin-top:5px;display:none; '>"}else{M[M.length]="<div id='cpv_horAller"+G+"' style='margin-top:5px;visibility:visible; '>"}M[M.length]=printHorairesAller(N.horairesAller);M[M.length]="</div>";M[M.length]="</td>";M[M.length]="</tr></table>";M[M.length]="</td>";if(T){M[M.length]="<td valign='top' width='35%'><table width='100%' cellpadding=0 cellspacing=0 class='cpv_rescell'><tr>";M[M.length]="<td align='center' width='20%' class='cpv_rescell'>";M[M.length]="<span style='font-size:1.0em;'>";var D="";if(N.nbEscalesRetour=="0"){D="direct"}else{if(N.nbEscalesRetour=="1"){D="1 escale"}else{if(N.nbEscalesRetour!=""){D=N.nbEscalesRetour+" escales"}}}if(N.escalesRetour=""){D+=" ("+N.escalesRetour+")"}M[M.length]="<b>"+D+"</b>";M[M.length]="</span>";M[M.length]="</td>";M[M.length]="<td  width='80%' style='padding-left:5px;vertical-align:top;' class='cpv_rescell' valign='top'>";var L="";if(N.horairesRetour!=null&&N.horairesRetour.length>0&&N.horairesRetour[0]!=null){L=N.horairesRetour[0].dureeVol}M[M.length]="<nobr>"+N.aeroportDepartRetour+"</nobr> - <nobr>"+N.aeroportArriveeRetour+"</nobr><br>";var V="&nbsp;";if(L!=""){V="Durée du vol: "+L}M[M.length]="<div style='color:#999;'>"+V+"</div>";var K="<td style='color:#999;text-align:left;padding-right:5px;' class='cpv_rescell'>Départ<br>Arrivée</td>";if(!resultsLineStatus[G]&&!forceDisplayHoraires){M[M.length]="<div id='cpv_horRetour"+G+"' style='margin-top:5px;display:none; '>"}else{M[M.length]="<div id='cpv_horRetour"+G+"' style='margin-top:5px;visibility:visible; '>"}M[M.length]=printHorairesRetour(N.horairesRetour);M[M.length]="</div>";M[M.length]="</td>";M[M.length]="</tr></table>";M[M.length]="</td>"}M[M.length]="<td rowspan=2 width='10%' style='text-align:center;' class='cpv_rescell1'><a href='"+I+"' target='_blank'>"+O+"<br><img src='http://www2.compavols.com/images/redirect.gif' border=0></a></div></td>";M[M.length]="</tr>";M[M.length]="</table>";M[M.length]="</div>";C[S]["rendu"]=M.join("")}Q[Q.length]=C[S]["rendu"];F++}}if(!displayTenItems&&F>10){Q[Q.length]="<div style='text-align:left;padding:5px 200px;;font-size:14px;border-top: 2px solid #C8D6F0;'><a href='javascript:displayLessItems();'><< Afficher uniquement les 10 meilleurs résultats</a>"}if(F>0){resultsDiv.innerHTML=Q.join("");for(k=0;k<J.length;k++){new Effect.Highlight($("cpv_vol"+J[k]),{startcolor:"#FFFF6D",endcolor:"#FFFFFF"})}}else{if(responsesReceived==requests.length){resultsDiv.innerHTML="<div style='text-align:center; font-size:16px;margin-bottom:50px;'>Aucun vol ne correspond à vos critères de recherche.</div>"}}showVolsTrouvesGlobal(F,$("cpv_ressum"));var E=new Date().getTime();return F}function printHorairesAller(A){return printHoraires(A,filterHoraireAllerMin,filterHoraireAllerMax)}function printHorairesRetour(A){return printHoraires(A,filterHoraireRetourMin,filterHoraireRetourMax)}function printHoraires(C,D,H){var F=new Array();var I="<td style='color:#999;text-align:left;padding-right:5px;padding-bottom:5px;' class='cpv_rescell'>Départ<br>Arrivée</td>";F[F.length]="<table cellpadding=0 cellspacing=0><tr>"+I;var B=0;var A="#666";var G;for(var E=0;E<C.length;E++){if(C[E]!=undefined){if(!horaireInRange(C[E].heureDepart,D,H)){continue}if(B==nbHorairesMaxParLigne){F[F.length]="</tr><tr>"+I;B=0}G=C[E].heureDepart.substring(0,2);if(G<=5){A="#66F"}else{if(G<=11){A="#8BD"}else{if(G<=17){A="#AA6"}else{A="#666"}}}F[F.length]="<td style='padding-left:5px;padding-bottom:5px;color:"+A+";' class='cpv_rescell'>"+C[E].heureDepart+"<br>"+C[E].heureArrivee+"</td>";B++}}F[F.length]="</tr></table>";return F.join("")}function sendRequests(){resetResults();var N="<img src='http://www2.compavols.com/images/ajax-loader.gif' height=16 width=16 />";resultsGoDivLoader.innerHTML=N;resultsTerminalADivLoader.innerHTML=N;resultsBravoFlyDivLoader.innerHTML=N;resultsLastminuteDivLoader.innerHTML=N;resultsEbookersDivLoader.innerHTML=N;resultsEdreamsDivLoader.innerHTML=N;resultsOpodoDivLoader.innerHTML=N;resultsVivacancesDivLoader.innerHTML=N;resultsXLDivLoader.innerHTML=N;var G="requestId="+tokenId+"&format=ALLJSON";var B="/govoyages-requester.php5?"+G;var J="/terminalA-requester.php5?"+G;var O="/bravoFly-requester.php5?"+G;var D="/lastminute-requester.php5?"+G;var K="/ebookers-requester.php5?"+G;var P="/edreams-requester.php5?"+G;var H="/opodo-requester.php5?"+G;var E="/vivacances-requester.php5?"+G;var M="/xl-requester.php5?"+G;var F=[["Go Voyages",B,resultsGoDivLoader],["Opodo",H,resultsOpodoDivLoader],["Terminal A",J,resultsTerminalADivLoader],["BravoFly",O,resultsBravoFlyDivLoader],["Lastminute",D,resultsLastminuteDivLoader],["eBookers",K,resultsEbookersDivLoader]];for(var I=0;I<F.length;I++){var A=F[I][0];var L=F[I][1];var C=F[I][2];requestPartenaire(A,L,C,requests)}}function comparer(){logDiv.innerHTML="";if(!checkInputs()){return }if(requestToken()){sendRequests()}if(typeof customCompavolsCallBack=="function"){customCompavolsCallBack($("cpv_depart").value,$("cpv_arrivee").value)}}function requestToken(){myLog("Demande de token",$("cpv_depart").value+","+$("cpv_arrivee").value);var aeroportDepart=$("cpv_depart").value;var aeroportArrivee=$("cpv_arrivee").value;var date_depart_param=$("cpv_date_depart").value;var date_retour_param=$("cpv_date_retour").value;var aeroport_depart_param=$("cpv_depart").value;var aeroport_arrivee_param=$("cpv_arrivee").value;var params="&date_depart="+date_depart_param+"&date_retour="+date_retour_param+"&aeroport_depart_code="+selectedDepartCode+"&aeroport_arrivee_code="+selectedArriveeCode+"&aeroport_depart="+aeroport_depart_param+"&aeroport_arrivee="+aeroport_arrivee_param+"&origine="+affilieName;var urlRequestToken="";if(useProxy){urlRequestToken=urlBase+"/"+pathToProxy+"?srv=requestToken"+params}else{urlRequestToken=urlBase+"/requestToken.php5?fakeparam=1"+params}myLog("Execution de la requete",urlRequestToken);var req=new Ajax.Request(urlRequestToken,{method:"get",onSuccess:function(transport){var response=transport.responseText;myLog("Récupération du token",response);var responseJSON=eval("("+response+")");if(responseJSON.status=="ok"){myLog("Récupération du token : OK","token="+responseJSON.token);selectedDepartCode=responseJSON.iata1;selectedArriveeCode=responseJSON.iata2;$("cpv_depart").value=responseJSON.name1;$("cpv_arrivee").value=responseJSON.name2;tokenId=responseJSON.token;sendRequests()}else{myLog("Récupération du token : Probleme","Affichage des autocompletion en cours");if(responseJSON.iata1==""){$("cpv_depart_label").style.color="red";departAutoCompleter.activate();myLog("Autocompletion actives","")}else{if(responseJSON.iata2==""){$("cpv_arrivee_label").style.color="red";arriveeAutoCompleter.activate();myLog("Autocompletion actives","")}}}},onFailure:function(){}})}function initAutoCompletion(){var A;if(useProxy){A=pathToProxy+"?srv=airports"}else{A="airports.php5"}departAutoCompleter=new Ajax.Autocompleter("cpv_depart","cpv_depart_update",A,{method:"get",paramName:"q",minChars:"2",updateElement:setSelectionDepart,frequency:"0.2"});arriveeAutoCompleter=new Ajax.Autocompleter("cpv_arrivee","cpv_arrivee_update",A,{method:"get",paramName:"q",minChars:"2",updateElement:setSelectionArrivee,frequency:"0.2"});$("cpv_depart").focus()}function setSelectionDepart(A){$("cpv_depart").value=A.firstChild.firstChild.nodeValue+" ("+A.id+")";selectedDepartCode=A.id}function setSelectionArrivee(A){$("cpv_arrivee").value=A.firstChild.firstChild.nodeValue+" ("+A.id+")";selectedArriveeCode=A.id}function autofeedfortest(){selectedDepartCode="MRS";selectedArriveeCode="PAR";$("cpv_depart").value="marseille";$("cpv_arrivee").value="paris";$("cpv_date_depart").value="20/11/2008";$("cpv_date_retour").value="30/11/2008"}function detailModeAllerRetour(B,C,A){if(A){$("cpv_vol"+B).style.backgroundColor=resultBgColorHover}else{$("cpv_vol"+B).style.backgroundColor=C}}function detail(B,A){if(A){$("cpv_vol"+B).style.backgroundColor="#DAE2F0";$("cpv_hor"+B).style.visibility="visible"}else{$("cpv_vol"+B).style.backgroundColor="#FFF";$("cpv_hor"+B).style.visibility="hidden"}}function displayFilters(B,A){if(B&&!filtersDisplayed){$("cpv_filters").style.visibility="visible";if(A){$("cpv_horairesRetourDiv").style.display="block"}else{$("cpv_horairesRetourDiv").style.display="none"}filtersDisplayed=true}else{if(!B&&filtersDisplayed){$("cpv_filters").style.visibility="hidden";$("cpv_horairesRetourDiv").style.display="none";filtersDisplayed=false}}}function hideFilterLoader(){$("cpv_filterLoader").style.visibility="hidden"}function showFilterLoader(){$("cpv_filterLoader").style.visibility="visible"}function filterPrice(A){showFilterLoader();filterPriceMax=A;displayTableau();setTimeout("hideFilterLoader()",500)}function filterDirectChange(){showFilterLoader();filterDirect=$("cpv_direct").checked;displayTableau();setTimeout("hideFilterLoader()",500)}function resetDepart(){selectedDepartCode=""}function resetArrivee(){selectedArriveeCode=""}function setFocus(A){document.getElementById(A).focus()}function formatPrice(A){var B=String(Math.round(A));if(B==null){return""}else{return B.replace(/\./i,",")}}function filterHorairesAller(){showFilterLoader();var A=$("cpv_horairesAllerSelect").value;filterHoraireAllerMin=A.substring(0,2);filterHoraireAllerMax=A.substring(2,4);displayTableau();setTimeout("hideFilterLoader()",500)}function filterHorairesRetour(){showFilterLoader();var A=$("cpv_horairesRetourSelect").value;filterHoraireRetourMin=A.substring(0,2);filterHoraireRetourMax=A.substring(2,4);displayTableau();setTimeout("hideFilterLoader()",500)}function horairesInRange(B,A,C){if(B==null){return true}for(k=0;k<B.length;k++){if(B[k]!=undefined){if(horaireInRange(B[k].heureDepart,A,C)){return true}}}return false}function horaireInRange(C,A,B){var D=C.substring(0,2);if(D-A>=0&&D-B<=0){return true}return false}function trim(C){var C=C.replace(/^\s\s*/,""),A=/\s/,B=C.length;while(A.test(C.charAt(--B))){}return C.slice(0,B+1)}function displayCalendarAller(A){if($("calendarDiv")!=undefined&&$("calendarDiv").style.display=="block"){closeCalendar()}displayCalendar($("cpv_date_depart"),"dd/mm/yyyy",A)}function displayCalendarRetour(D){if($("calendarDiv")!=undefined&&$("calendarDiv").style.display=="block"){closeCalendar()}if($("cpv_date_depart").value!=""){var C=parseDate($("cpv_date_depart").value);var F=new Date();if($("cpv_date_retour").value!=""){F=parseDate($("cpv_date_retour").value)}if($("cpv_date_retour").value==""||compareDates(C,F)>0){C.setDate(C.getDate()+7);var B="";var A="";var E="";if(C.getDate()<=9){B="0"+C.getDate()}else{B=C.getDate()}if(C.getMonth()<=8){A="0"+(C.getMonth()+1)}else{A=C.getMonth()+1}if(C.getYear()<=1900){E=C.getYear()+1900}else{E=C.getYear()}$("cpv_date_retour").value=B+"/"+A+"/"+E}}displayCalendar($("cpv_date_retour"),"dd/mm/yyyy",D)}function displayMoreItems(){displayTenItems=false;displayTableau()}function displayLessItems(){displayTenItems=true;displayTableau()}function parseDate(D){if(D==""){return""}var A=new Date;var C=/\b(\d{1,2})[\/-](\d{1,2})[\/-](\d{2,4})\b/;var B=C.exec(D);A.setYear(B[3]);A.setMonth(B[2]-1);A.setDate(B[1]);return A}function compareDates(B,A){diff=B.getTime()-A.getTime();return(diff==0?diff:diff/Math.abs(diff))}function requestPartenaire(currentPart,currentURL,currentDivLoader,requests){myLog("Execution de la requete",currentURL);if(useProxy){currentURL=urlBase+"/"+pathToProxy+"?srv=requester&url="+encodeURIComponent(currentURL)}else{currentURL=urlBase+currentURL}var req=new Ajax.Request(currentURL,{method:"get",onSuccess:function(transport){var response=transport.responseText;myLog("Reponse recue de "+currentPart,response);responsesReceived++;if(!stopSearchFlag){try{if(response==null||response.length<10||trim(response)==""){showVolsTrouves(0,currentDivLoader)}else{var responseJSON=eval("("+response+")");if(responseJSON.assertErrors!=undefined){for(var i=0;i<responseJSON.assertErrors.length;i++){$(responseJSON.assertErrors[i].name+"_label").style.color="red"}showVolsTrouves(0,currentDivLoader)}else{if(responseJSON.vols.requestId==tokenId){addLines(responseJSON);showVolsTrouves(responseJSON.vols.propositions.length,currentDivLoader)}else{myLog("Retour de la précédente requête - non pris en compte","Recu: "+responseJSON.vols.requestId+", attendu: "+tokenId)}}}}catch(err){myLog("Erreur "+currentPart,err.description);showVolsTrouves(0,currentDivLoader)}}notifyRequestEnd()},onFailure:function(){responsesReceived++;currentDivLoader.innerHTML="";notifyRequestEnd()}});requests.push(req);divLoaders.push(currentDivLoader)}function requestAlternatives(B){myLog("Execution de la requete",B);if(useProxy){B=urlBase+"/"+pathToProxy+"?srv=requester&url="+encodeURIComponent(B)}else{B=urlBase+B}var A=new Ajax.Request(B,{method:"get",onSuccess:function(E){var C=E.responseText;myLog("Reponse recue",C);try{myLog("Retour de la précédente requête",C)}catch(D){myLog("Erreur",D.description)}},onFailure:function(){myLog("Erreur","failure sur "+B)}})}function checkForEnd(){if(responsesReceived==requests.length){notifyEnd()}}function notifyRequestEnd(){var A=Math.round(100*responsesReceived/requests.length);$("cpv_inProgressPercent").innerHTML=A+" %";checkForEnd()}function showVolsTrouves(A,B){if(A==1){B.innerHTML="1 vol trouvé"}else{if(A>1){B.innerHTML=A+" vols trouvés"}else{B.innerHTML="0 vol trouvé"}}}function showVolsTrouvesGlobal(A,B){B.innerHTML=A+""}function stopSearch(){stopSearchFlag=true;for(var A=0;A<divLoaders.length;A++){if(divLoaders[A].innerHTML.indexOf("load")>0){divLoaders[A].innerHTML=""}}$("cpv_stopSearchSpan").innerHTML="";notifyEnd()}function notifyEnd(){$("cpv_inProgress").style.visibility="hidden";$("cpv_stats").style.visibility="visible"}function showHoraire(A){$("cpv_spanShowHorAller"+A).innerHTML="";$("cpv_spanShowHorAller"+A).style.display="none";if($("cpv_spanShowHorRetour"+A)!=undefined&&$("cpv_horRetour"+A)!=undefined){$("cpv_spanShowHorRetour"+A).innerHTML="";$("cpv_spanShowHorRetour"+A).style.display="none"}$("cpv_horAller"+A).style.visibility="visible";$("cpv_horAller"+A).style.display="block";if($("cpv_spanShowHorRetour"+A)!=undefined&&$("cpv_horRetour"+A)!=undefined){$("cpv_horRetour"+A).style.visibility="visible";$("cpv_horRetour"+A).style.display="block"}resultsLineStatus[A]=true}function forceDisplayHorairesChange(){showFilterLoader();forceDisplayHoraires=$("cpv_displayHoraires").checked;displayTableau();setTimeout("hideFilterLoader()",500)}function showMoreCriteres(){Effect.SlideDown("cpv_morecriteres");$("cpv_morecriteres_command").innerHTML=""}function parseJSON(json){try{if(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(json)){var j=eval("("+json+")");return j}}catch(e){}throw new SyntaxError("parseJSON")}function favoris(){if(navigator.appName!="Microsoft Internet Explorer"){window.sidebar.addPanel("Compavols - Billets d'avion au meilleur prix","http://www2.compavols.com/","")}else{window.external.AddFavorite("http://www2.compavols.com/","Compavols - Billets d'avion au meilleur prix")}}function sendIdea(){var B=true;var A=$("cpv_idea_email").value;var E=$("cpv_idea_comment").value;var D=$("cpv_idea_prenom").value;$("cpv_idea_comment_label").style.color="";$("cpv_idea_email_label").style.color="";if(trim(E).length==0){$("cpv_idea_comment_label").style.color="red";$("cpv_idea_comment").focus();B=false}else{if(trim(A).length==0){$("cpv_idea_email_label").style.color="red";$("cpv_idea_email").focus();B=false}}if(B){$("cpv_idea_envoi").disabled=true;$("cpv_idea_envoi").value="En cours...";var C=new Ajax.Request("boiteaidees-save.php5",{method:"post",postBody:"email="+A+"&comment="+E+"&prenom="+D,onSuccess:function(G){var F=G.responseText;myLog("Idée envoyée",F);$("cpv_idea_form").style.display="none";$("cpv_idea_sent").style.display="block"},onFailure:function(){}})}}function initFormData(C,A,B,D){$("cpv_depart").value=C;$("cpv_arrivee").value=A;$("cpv_date_depart").value=B;$("cpv_date_retour").value=D}function initCompaVols(A,B,D,C,E){initVars(A,B,D,C,E);initAutoCompletion();resetInput()};
