var map;var geocoder;var directions;var direction2;var departure=new GLatLng(),arrival=new GLatLng(),event_location=new GLatLng();var redAIcon=new GIcon(G_DEFAULT_ICON);redAIcon.image="http://www.google.com/mapfiles/markerA.png";var redBIcon=new GIcon(G_DEFAULT_ICON);redBIcon.image="http://www.google.com/mapfiles/markerB.png";var redMarkerA=new GMarker(new GLatLng(),{icon:redAIcon,clickable:false});var redMarkerB=new GMarker(new GLatLng(),{icon:redBIcon,clickable:false});var callback_to_call=true;var find_only=false;function initialize(){if(GBrowserIsCompatible()){if(document.getElementById('map_canvas')){map=new GMap2(document.getElementById("map_canvas"),{size:new GSize(500,500)});map.setUIToDefault();map.disableScrollWheelZoom();geocoder=new GClientGeocoder();geocoder.setBaseCountryCode("fr");directions=new GDirections(map);direction2=new GDirections(map)}}else{alert("Navigateur incompatible :-(")}}$(window).unload(function(){GUnload()});function display_new_trip(a,b,c){direction2.clear();direction2.load("from:"+a+" to: "+b);GEvent.addListener(direction2,"addoverlay",function(){if(direction2.getMarker(0).getLatLng().distanceFrom(event_location)<200){direction2.getMarker(0).hide()}else if(direction2.getMarker(1).getLatLng().distanceFrom(event_location)<200){direction2.getMarker(1).hide()}direction2.getPolyline().setStrokeStyle({color:'#2F852F',opacity:.7});hide_loader()})}function find_route_addoverlay(){if(callback_to_call&&directions!="undefined"){callback_to_call=false;directions.getPolyline().setStrokeStyle({color:'#AC0000',opacity:.7});var b=directions.getMarker(0);var c=directions.getMarker(1);map.removeOverlay(redMarkerA);map.removeOverlay(redMarkerB);b.hide();c.hide();redMarkerA.setLatLng(b.getLatLng());redMarkerB.setLatLng(c.getLatLng());map.addOverlay(redMarkerA);map.addOverlay(redMarkerB);if($("#id_ride_id").length==0){$("#id_distance").val(this.getDistance().meters);$("#id_price").next().remove();$("#id_price").after('<span>(~'+this.getDistance().html+')</span>')}if(!find_only){var d=$('#id_departure_lat');var e=$('#id_departure_lng');var f=$('#id_arrival_lat');var g=$('#id_arrival_lng');var h=$('#id_departure_addr').val();if(!h){h=$('#id_departure').val()}var i=$('#id_arrival_addr').val();if(!i){i=$('#id_arrival').val()}$("#results_container").html('');if($("#e_return").val()=='1'){$.ajax({type:"GET",url:"/",data:({"arrival_lat":d.val(),"arrival_lng":e.val(),"departure_lat":f.val(),"departure_lng":g.val(),"distance":$("#id_distance").val(),"event":$("#id_event").val(),"return":1,"arrival_addr":h,"departure_addr":i}),success:function(a){$("#results_container").html(a)},async:false})}else{$.ajax({type:"GET",url:"/",data:({"departure_lat":d.val(),"departure_lng":e.val(),"arrival_lat":f.val(),"arrival_lng":g.val(),"distance":$("#id_distance").val(),"event":$("#id_event").val(),"departure_addr":h,"arrival_addr":i}),success:function(a){$("#results_container").html(a)},async:false})}$("div.ride").corner("round 8px")}$("#switch_dest").click(switchArrDest);hide_loader()}}function find_route(a){if(($("#id_arrival").val()=="")||($("#id_departure").val()==="")||($("#suggestions_id_departure").hasClass("error"))||($("#suggestions_id_arrival").hasClass("error"))||($("#suggestions_id_departure.used").length==0)||($("#suggestions_id_arrival.used").length==0)){return false}display_loader();$("#switch_dest").unbind('click');if(a!="undefined"){find_only=a}$("#suggestions_departure").slideUp().empty();$("#suggestions_arrival").slideUp().empty();var b=new GLatLng($('#id_departure_lat').val(),$('#id_departure_lng').val());var c=$('#id_departure_addr').val();if(!c){c=$('#id_departure').val()}var d=new GLatLng($('#id_arrival_lat').val(),$('#id_arrival_lng').val());var e=$('#id_arrival_addr').val();if(!e){e=$('#id_arrival').val()}directions.clear();direction2.clear();directions.loadFromWaypoints([b,d]);callback_to_call=true;GEvent.addListener(directions,"addoverlay",find_route_addoverlay);GEvent.addListener(directions,"error",function(){if(!find_only){$("#results_container").empty()}$("#results_container").prepend('<div id="results_search" class="error">'+bad_ride+'</div>');$("#switch_dest").click(switchArrDest);hide_loader()})}done_ride=false;function display_loader(){var a=$("#loader_background");if(!a.is(':visible')){a.animate({opacity:0},0).show().fadeTo('fast',0.8)}else{a.fadeTo('fast',0.8)}}function hide_loader(){$("#loader_background").fadeTo('fast',0,function(){$(this).hide()})}var typewatch=function(){var c=0;return function(a,b){clearTimeout(c);c=setTimeout(a,b)}}();function addslashes(a){return(a+'').replace(/([\\"'])/g,"\\$1").replace(/\u0000/g,"\\0")}jQuery.fn.fadeToggle=function(a,b,c){return this.animate({opacity:'toggle'},a,b,c)};function compare(a){display_loader();var b=$(a).parent().attr("id").replace("result_","");$("#results_container div:not(#details_"+b+") div.details").parent().hide();$("#details_"+b).fadeToggle();var c=$('#address_'+b+' > .departure').html();var d=$('#address_'+b+' > .arrival').html();display_new_trip(c,d,b)}function detail(){$this=$(this);$("#results_container div.ride:not(#"+$this.parent().attr('id')+") div.details").hide();$this.siblings('div.details').fadeToggle()}function more(){start=$("#history_table > tr").length-1;$.get("/search/more_history?start="+start,function(a){$("#history").append(a)},"html")}function search_comate(){value=$("#name_comate").val();if(value!=""){$.post("/me/search_comates/",{"name":value},function(a){$("#special_message").empty();$("#comates_results").empty().html(a);$(".comate").corner("round 8px")},"html")}return false}function fixModifyForm(){var a=$("#search_form");var b=a[0];if(!$("#id_roundtrip",b).attr("checked")){$("#id_returnTime_0").parent().parent().hide()}$("p.favoriteday",b).each(function(){if(!$("input",this).attr("checked")){$("em",this).hide()}});$reg_trip=$("#id_regulartrip[type=checkbox]",b);if($reg_trip.length!=0&&!$reg_trip.attr("checked")){$("p.favoriteday",a[0]).parent().hide()}if(!$("#id_drives_0").attr("checked")){$("#id_price").parent().hide();$("#id_places").parent().hide()}}function modifyRideCallback(a,b){$("#search_form").remove();$("#map_canvas").before(b);find_route(true);$("#results_container div.ride").each(function(){$this=$(this);$this.removeClass('disabled');$('a',this).show();$('input').attr('readonly',false)});$("#trip_"+a).addClass('disabled').find('input').attr('readonly',true).end().find('a').hide();fixModifyForm();displayCalendars();$("#id_departure, #id_arrival").focus(function(){$(this).addClass('focused')});$("#id_departure, #id_arrival").keypress(input_keypress);$("#id_departure, #id_arrival").blur(input_blur);hide_loader()}function modifyRide(e){display_loader();var b=$(this).parents('div.ride').attr('id').substr(5);$.post($(this).attr('href'),'ride_id='+b,function(a){modifyRideCallback(b,a)});return false}function findRoute(e){find_route();return false}function fill(a,b){var c=$("span.coo",b);var d=c.text().split(',');b.removeChild(c[0]);var e=b.innerHTML;$("#"+a).val(e);$("#"+a+"_addr").val(e);$("#suggestions_"+a).slideUp().empty();$("#"+a+"_lat").val(d[1]);$("#"+a+"_lng").val(d[0])}function browse_suggestions(e,a,b){if(e.keyCode==13){if(a.find('li.selected').length>0){a.find('li.selected').trigger('click')}else if(a.find('li').length>0){a.find('li:first').trigger('click')}b.trigger('blur',[e.keyCode]);return true}if(e.keyCode==40&&a.is(':visible')){var c=a.find("li.selected");if(c.next().length>0){c.removeClass("selected");c.next().addClass("selected")}else{c.removeClass("selected");a.find("ul > li:first").addClass("selected")}return true}if(e.keyCode==38&&a.is(':visible')){var c=a.find("li.selected");if(c.prev().length>0){c.removeClass("selected");c.prev().addClass("selected")}else{c.removeClass("selected");a.find("ul > li:last").addClass("selected")}return true}return false}function processGeocoderResponse(b,c,f){var d="<ul class='sugg'>";if(b.Status.code==200){$.each(b.Placemark,function(i,a){d+="<li>";d+=a.address+"<span class='coo'>"+a.Point.coordinates+"</span></li>"});d+="</ul>";$("#suggestions_"+c).removeClass('error').html(d);$("#submit").attr("disabled",false).removeClass("disabled");f(d)}else if(b.Status.code==602){$("#suggestions_"+c).html(unknown).slideDown().addClass("error");$("#submit").attr("disabled",true).addClass("disabled")}}function suggest(b,f){var c=b.attr("id");var d=b.val();$("#suggestions_"+c).addClass('used');if(d==""){$("#suggestions_"+c).fadeOut().empty();return false}geocoder.getLocations(d+locale_suffix,function(a){processGeocoderResponse(a,c,f)})}function input_keypress(e){var b=$(this);var c=b.attr("id");var d=$("#suggestions_"+c);if(browse_suggestions(e,d,b)){e.preventDefault();return false}else{d.slideUp().empty()}typewatch(function(){if(b.hasClass('focused')){suggest(b,function(a){if(a){$("#suggestions_"+c).corner("bottom 5px").slideDown()}})}},500)}function input_blur(e,d){$("#id_departure, #id_arrival").unbind('keypress',input_keypress);var f=$(this);var g=f.attr("id");f.removeClass('focused');setTimeout(function(){},1);suggest(f,function(a){if(a){var b=$("#suggestions_"+g).find("ul > li:first");fill(g,b[0]);var c=$("#search_form");if((c.attr("action")=="/")&&(d==13)){find_route(false)}else if((d==13)||(c.attr("action")=="/me/rides")){find_route(true)}}});$("#id_departure, #id_arrival").bind('keypress',input_keypress)}function places_callback(a){$("#places_"+a.key+' input[name=less]').attr('disabled',a.less);$("#places_"+a.key+' input[name=more]').attr('disabled',a.more);$("#places_"+a.key+' span').text(a.places)}function places_submit(e){e.preventDefault();$.post($(this).parents('form.places').attr('action'),$(this).attr('name')+'=1&ride_id='+$(this).parents('form.places').find('input[name=ride_id]').val(),places_callback,'json');return false}function displayCalendars(){$('#id_startTime_0').datepick({showOn:'both',buttonImageOnly:true,buttonImage:mediaurl+'images/calendar.gif',showAnim:'fadeIn',dateFormat:dateformat,prevText:'<span>&nbsp;</span>',currentText:'M y',nextText:'<span>&nbsp;</span>',navigationAsDateFormat:true,showStatus:true,minDate:new Date(),changeMonth:false,changeYear:false,onSelect:function(a,b){$('#id_returnTime_0').datepick('option',{minDate:b})}});$('#id_returnTime_0').datepick({showOn:'both',buttonImageOnly:true,buttonImage:mediaurl+'images/calendar.gif',showAnim:'fadeIn',dateFormat:dateformat,prevText:'<span>&nbsp;</span>',currentText:'M y',nextText:'<span>&nbsp;</span>',navigationAsDateFormat:true,showStatus:true,minDate:new Date(),changeMonth:false,changeYear:false})}function initiateTooltip(d,f){d.simpletip({persistent:true,focus:true,position:'bottom',showEffect:'fade',hideEffect:'fade',offset:[0,3],content:'',onBeforeShow:function(a){var b=$("#chatwindow-"+this.getParent().attr("id").split("-")[1]);var c=this.getParent();this.getParent().addClass('opened').children('span').empty();this.update(b.parent().html());b.parent().remove();c.find('form').submit(function(e){chatSubmit(e,$(this));return false})},onShow:function(){var a=this.getParent()[0];if(!this.getParent().hasClass('just_new')){$.post(url_chat,{'action':'loaded','id_user':$('input[type=text]',a).attr('name').split('-')[1]})}else{this.getParent().removeClass('just_new')}this.getParent().removeClass('new');$('input[type=text]',a).focus();$('div.tooltip',a).css('z-index',z_index);$('div.chat',a).each(function(){this.scrollTop=4815162342});z_index+=1},onBeforeHide:function(){},onBeforeReduce:function(){this.getParent().removeClass('opened');this.getParent().append('<span> </span>')},onHide:function(){var a=this.getParent()[0];$.post(url_chat,{'action':'close','id_user':$('input[type=text]',a).attr('name').split('-')[1]});this.getParent().remove();$("#conversations_list > li").each(function(){$(this).simpletip().updatePos(null)})},onReduce:function(){var a=this.getParent()[0];$.post(url_chat,{'action':'reduce','id_user':$('input[type=text]',a).attr('name').split('-')[1]});$('div.chat_container',a).appendTo("#chat_windows").wrap('<div></div>');$("#conversations_list > li").each(function(){$(this).simpletip().updatePos(null)})},onClear:function(){var a=this.getParent()[0];$('div.chat h4',a).remove();$('div.chat dl',a).empty();$.post(url_chat,{'action':'clear','id_user':$('input[type=text]',a).attr('name').split('-')[1]})}});if(!f){d.simpletip().show()}}function chatSubmit(e,b){input=b.find('input[type=text]');var c=input.val();if(c!=''){b.unbind('submit').bind('submit',function(){return false});b.parents('div.tooltip').addClass('progress');input.val('');$.ajax({'url':url_chat,'type':'POST','cache':false,'data':{'id_user':input.attr('name').split('-')[1],'action':'post','message':c},'success':updateChatCallback,'error':function(){input.val(c+' '+input.val())},'complete':function(){var a=input.parent().siblings('div.chat');a[0].scrollTop=4815162342;b.bind('submit',function(e){chatSubmit(e,$(this));return false});b.parents('div.tooltip').removeClass('progress')}})}}function updateChatCallback(c){if(!c){return false}var d=$("#chat_applets");var e=d[0];var f=$("#conversations_list",e);var g=$(c);$('div.chat_container',c).each(function(){var a=this;var b=$("#"+a.id+" div.chat",e);if(b.length>0){$(a).find('dl > *').each(function(){if($("#"+this.id,b[0]).length==0){$("dl:last",b[0]).append(this);b[0].scrollTop=4815162342}})}else{$(this).appendTo("#chat_windows").addClass('new').wrap('<div></div>')}});g.find('li').each(function(){var a=$("#"+this.id);var b=$(this);if(a.length==0){b.addClass('just_new');f.append(this)}else if($("div.chat_container",a[0]).length==0){a.after(this).remove()}initiateTooltip($("#"+this.id),!b.hasClass('opened'))})}function initChat(){callChat(true)}function updateChat(){callChat(false)}function callChat(a){if(a){var b='init'}else{var b='update'}$.ajax({url:url_chat,type:'POST',data:{'action':b},success:updateChatCallback,error:function(){},dataType:'html'})}function openChat(){var a=$(this);var b=a.attr("id").split("-")[1];var c=$("#conversation-"+b);if((c.length==0)&&($("#chatwindow-"+b).length==0)){$.post(url_chat,{'action':'load','id_user':b},updateChatCallback,'html')}else if(c.length==0){$("#conversations_list").append("<li id='conversation-"+b+"' class='opened'>"+a.siblings('span.name').text()+"<span></span></li>");initiateTooltip($("#conversation-"+b),false)}else{$("#conversation-"+b).simpletip().show()}}function switchArrDest(a){var b=$("#id_departure");var c=$("#id_arrival");var d=b.val();b.val(c.val());$("#id_departure_addr").val(c.val());c.val(d);$("#id_arrival_addr").val(d);var e=$("#id_departure_lat").val();var f=$("#id_departure_lng").val();$("#id_departure_lat").val($("#id_arrival_lat").val());$("#id_departure_lng").val($("#id_arrival_lng").val());$("#id_arrival_lat").val(e);$("#id_arrival_lng").val(f);if(b.attr('readOnly')){c.attr('readOnly',true).addClass('disabled');b.removeAttr('readOnly').removeClass('disabled')}else if(c.attr('readOnly')){b.attr('readOnly',true).addClass('disabled');c.removeAttr('readOnly').removeClass('disabled')}if(b.parent().parent().hasClass('pub')){find_route(true)}else{find_route()}}function more(e){$.get($(this).attr('href'),{},function(a){$('div.ride','<div>'+a+'</div>').insertAfter("#results_container div.ride:last").corner("round 8px");var b=$("#more",a);if(b.length==0){$("#more").remove()}else{$("#more").html(b.html())}},'html');e.preventDefault()}$(document).ready(function(){$('#top_menu li').corner('bottom');$('#outline').corner();$('#lateral > ul.sub_menu li').corner("round 6px");$("#results_container div.ride").corner("round 8px");$("#footer_container").corner('tr tl');$("#loader_background").fadeOut();$("#id_departure, #id_arrival").focus(function(){$(this).addClass('focused')}).keypress(input_keypress).blur(input_blur);$("#lateral > img.lang").click(change_lang);var a=$("#results_container, #comates_results");a.listen('click','span.contact',openChat);$("#more a").live('click',more);$("#suggestions_id_arrival, #suggestions_id_departure").listen('click','li',function(){fill($(this).parent().parent().attr('id').replace('suggestions_',''),this)});$('#conversations_list div.tooltip').live('click',function(){$(this).css('z-index',z_index);z_index+=1});initChat();var b=setInterval(updateChat,15000)});
