var mbdVersion="0.0.5",version_db_002="0.0.2",version_db_current="0.0.3",global={},gPois=null,gModeSport=null,gModePosition=null,myTimeOut=null,gDbHelper=null,gDeviceProtocol=null,sessionLanguage=null,geolocationInternalError=new Error("Internal error"),strMessageNotSupported="Votre navigateur n'est pas compatible. Mobifamily est compatible avec l'iPhone, Android 2, et les navigateurs HTML5 ",geolocationNotSupportedError=new Error(strMessageNotSupported+"(geolocation)"),localDatabaseNotSupportedError=new Error(strMessageNotSupported+"(database)"),jQT;initJQTouch();var tempRequest=null,gpsSource=null,plateforme=null,plateformePrefix=null,mainTitle=null,audioElement=null,carMarker=null,docMarker=null,dogMarker=null;function mbdInit(){try{jQuery.ajaxSetup({cache:true});init_localisation();login_localisation();gDeviceProtocol=new deviceProtocol;gDbHelper=new DbHelper;gDbHelper.createDb();gDbHelper.checkConnection(processCheckConnection);initGeolocationSupport();plateforme=="dev"&&$("#goodsScreenLinkLi").removeAttr("style")}catch(a){alert(a.message)}}function initJQTouch(){try{jQT=new $.jQTouch({icon:"apple-touch-icon.png",addGlossToIcon:false,statusBar:"black"})}catch(a){}}function initGeolocationSupport(){if(typeof navigator.geolocation=="undefined"){global.geo=null;throw geolocationNotSupportedError;}else global.geo=navigator.geolocation}function processCheckConnection(a){if(a.rows.length>0){var b=a.rows.item(0);b.Value!=""&&gDbHelper.getDeviceByIdDevice(b.Value,buildDeviceProtocol)}}function buildDeviceProtocol(b){var a=b.rows.item(0);gDeviceProtocol.currentLogin=a.Login;gDeviceProtocol.idUserServer=a.IdUserServer;gDeviceProtocol.identifierDevice=a.IdentifierDevice;gDeviceProtocol.idDevice=a.IdDevice;updatePage()}function mbdMain(){try{main_localisation();gDbHelper.getAllPois()}catch(a){alert(a.message)}}function mbdExit(){gModeSport!=null&&alert(exitWithLostSport)}function unload(){}function on_authenticate(){gDeviceProtocol.login(document.getElementById("LoginId").value,document.getElementById("PasswordId").value);$("#LoginOkLi").attr("style","display:none");$("#LoginCreateLi").attr("style","display:none");$("#authInfo").removeAttr("style")}function on_createAccount(){newAccountLocalisation()}function on_createAccountOk(){if(document.getElementById("LoginId").value!="")if(document.getElementById("EmailId").value!=""&&document.getElementById("EmailId").value==document.getElementById("confirmEmailId").value){gDeviceProtocol.loginCreate(document.getElementById("LoginId").value,document.getElementById("PasswordId").value,document.getElementById("EmailId").value);$("#NewAccountOkLi").attr("style","display:none");$("#CancelNewAccountLi").attr("style","display:none")}else alert(emailError);else alert(emptyLogin)}function updatePage(){gDeviceProtocol.currentLogin.toLowerCase()=="simu"?(gpsSource="mock"):(gpsSource="real");goPage("mainScreen");mbdMain()}var gIsMapInitialized=false;function on_map(){map_localisation();if(!gIsMapInitialized){initialize();gIsMapInitialized=true}clearMap();if(!gModeSport&&!gModePosition||!gModeSport.isRunning&&!gModePosition){gModeSport=null;gModePosition=new mbdRequest;gModePosition.setType(20);gModePosition.initialize(mapPosition);gModePosition.start()}if(gModeSport&&gModeSport.isRunning){for(i in gModeSport.arrayPositions)gModeSport.arrayPositions[i].marker&&gModeSport.arrayPositions[i].marker.setMap(map);gModeSport.referenceId&&drawRefTrace(gModeSport.arrayPositionsRef);map.setZoom(gZoom)}goPage("map")}function mapPosition(a){drawMyPosition(a)}function stopModePosition(){gModePosition.stop();drawMyPosition(null);gModePosition=null}function on_sport(){lockSportDisplay=0;sport_localisation();if(gModeSport&&gModeSport.isRunning){goPage("sportRunning");sportRunning_localisation()}else{if(gModeSport&&!gModeSport.isRunning){if(gpsSource!="mock")gModeSport.stopGeolocation();else gModeSport.gMockGps.stopGeolocationMock();gModeSport=null}displaySportStarting();gModeSport=new mbdRequest;gModeSport.initialize(sportPosition);goPage("sportRunning")}}function sportPosition(a){if(gModeSport!=null){displaySportReady();if(gModeSport.arrayPositionsRef&&getTwoPointsDistance(gModeSport.arrayPositionsRef[0],a)>20)canStart=false;else canStart=true;if(gModeSport.isRunning){displaySportPosition(a);drawTrace(a);if(gModeSport.arrayPositionsRef)if(gModeSport.arrayPositions.length==1){initialisation(gModeSport.arrayPositionsRef,gModeSport.arrayPositions[0]);if(getTwoPointsDistance(gModeSport.arrayPositionsRef[0],gModeSport.arrayPositions[0])<20){var c=getClosestWpt(0,gModeSport.arrayPositionsRef),b=getDistGeodesique(gModeSport.arrayPositionsRef,0,c);updateRefInfos(b,0)}else alert("depart erreur")}else gModeSport.arrayPositions[gModeSport.arrayPositions.length-1].toSave&&checkReference2(gModeSport,updateRefInfos,gModeSport.arrayPositions[gModeSport.arrayPositions.length-1])}else showDiv("sportStart");gpsSource=="mock"&&gModeSport&&gModeSport.arrayPositions.length==0&&gModeSport.gMockGps.restartPosition()}}function on_ref_change(){var a=document.forms.selectReference.listReference.options[document.forms.selectReference.listReference.selectedIndex].value;if(a!="nothing"){gModeSport.setReferenceId(a);gDbHelper.getPositions(a,gModeSport.setArrayRefPositions)}else gModeSport.setReferenceId(null)}function sportStart(){if(canStart){sportRunning_localisation();var a=document.getElementById("RequestNameId").value;gModeSport.setName(a);gModeSport.setType(document.forms.selectType.listTypeRequest.options[document.forms.selectType.listTypeRequest.selectedIndex].value);if(gModeSport.arrayPositionsRef)reference_localisation();else no_reference_localisation();!gModeSport.isRunning&&gModeSport.start()}else alert("Trop loin du d\u00e9part!")}function sportStop(){var a=confirm(sportAskStop);a&&processStop()}function refStop(){alert(finish);processStop()}function processStop(){gModeSport.stop();gModeSport.getName()==""&&gModeSport.setName(convertDate(gModeSport.getStartTime()));var a=confirm(saveWeb);if(a)if(navigator.onLine){gModeSport.setSaveToWeb(true);gDeviceProtocol.traceUpload(gModeSport,false,gDbHelper.addRequest)}else confirm(noNetwork);else gDbHelper.addRequest(gModeSport);hideDiv("sportStopLi");removeTrace();gModeSport=null;goPage("mainScreen")}function stopMockSport(){gModeSport&&gModeSport.stop();hideDiv("sportStopLi");removeTrace();gModeSport=null;goPage("mainScreen")}function on_waypoint(){gModeSport.setLastWpt()}function on_historical(){history_localisation();$("#histoScreen ul li:gt(0)").remove();gDbHelper.getRequestsFromCurrentUser(addResultLine,displayNoRequest);goPage("histoScreen")}function on_change_requestName(){var b=$("#sportRunningScreenTitle").data("idRequest"),a=prompt(enterNewName,a);a!=null&&gDbHelper.changeRequestName(b,a,displayUpdateName)}function on_delete(){var b=confirm(deleteRequest);if(b){var a=$("#sportRunningScreenTitle").data("idRequest");gDbHelper.deleteRequest(a);on_historical()}}function on_history_map(){if(!gIsMapInitialized){initialize();gIsMapInitialized=true}clearMap();map_localisation();var a=$("#sportRunningScreenTitle").data("idRequest");gDbHelper.getPositions(a,drawHistoryTrace);goPage("map")}function on_stat_graph(){graph_localisation();var a=$("#sportRunningScreenTitle").data("idRequest");gDbHelper.getPositions(a,drawGraph)}function on_ok_graph(){backFromGraph()}function on_poi(){poi_localisation();deletePoiList();display_poiList();goPage("poiScreen")}function refresh_pois(){deletePoiList();display_poiList()}function deletePoiList(){$("#poiList li:gt(0)").remove()}function on_deletePoi(){var b=confirm(deletePoi);if(b){var a=$("#newPoiTitle").data("idPoi");gDbHelper.deletePoi(a);goPage("poiScreen")}}function on_poi_map(){if(!gIsMapInitialized){initialize();gIsMapInitialized=true}clearMap();map_localisation();lockLongClick=false;$("#newPoiTitle").data("idPoi")!=""&&center_poi(currentPoi);goPage("map")}function on_cancel_newPoi(){goPage("poiScreen")}function on_goods(){goods_localisation();goPage("goodsScreen")}function on_mapFromGoods(){on_map();carMarker!=null&&carMarker.setMap(null);docMarker!=null&&docMarker.setMap(null);dogMarker!=null&&dogMarker.setMap(null);var d=$("#check1").attr("value"),e=$("#check2").attr("value"),f=$("#check3").attr("value");if(d!=""){var a={};a.coords={};a.coords.latitude=44;a.coords.longitude=3.5;carMarker=drawGood(a,"car.png")}if(e!=""){var b={};b.coords={};b.coords.latitude=43.8;b.coords.longitude=3.8;docMarker=drawGood(b,"doc.png")}if(f!=""){var c={};c.coords={};c.coords.latitude=44.2;c.coords.longitude=3.6;dogMarker=drawGood(c,"dog.png")}map.setZoom(9)}function on_settings(){settings_Localisation();goPage("settingsScreen")}function on_disconnect(){checkCurrentSport();clearMap();gDbHelper.disconnectDevice(gDeviceProtocol.idUserServer);gDeviceProtocol=new deviceProtocol;goPage("authenticationScreen")}function on_exit(){var a=confirm(confirmExit);if(a){checkCurrentSport();clearMap();self.close()}}function checkCurrentSport(){if(gModeSport!=null){if(gModeSport.arrayPositions.length>0){var b=confirm(exit);if(b){gModeSport.stop();var a=confirm(saveWeb);if(a){gModeSport.setSaveToWeb(true);gDeviceProtocol.traceUpload(gModeSport,false,gDbHelper.addRequest)}else gDbHelper.addRequest(gModeSport)}hideDiv("sportStopLi");removeTrace()}gModeSport.stop();gModeSport=null}}function xmlhttpPost(d,c,b){var e=false,a=this;if(window.XMLHttpRequest)a.xmlHttpReq=new XMLHttpRequest;else if(window.ActiveXObject)a.xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");a.xmlHttpReq.open("POST",d,true);a.xmlHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");a.xmlHttpReq.onreadystatechange=function(){a.xmlHttpReq.readyState==4&&b(a.xmlHttpReq.responseText)};a.xmlHttpReq.send(c)}function dbPosition(b,e,a,d,f,g,c){this.timestamp=b;this.coords={};this.coords.latitude=e;this.coords.longitude=a;this.coords.altitude=d;this.coords.heading=f;this.coords.speed=g;this.coords.accuracy=c}function dbPoi(h,c,b,f,e){this.coords={};this.coords.latitude=c;this.coords.longitude=b;this.id=h;this.type=f;this.name=e;var d=new google.maps.LatLng(c,b),a=null;switch(f){case"0":a="img/POI_0.png";break;case"1":a="img/POI_1.png";break;case"2":a="img/POI_2.png";break;case"3":a="img/POI_3.png";break;case"20":a="img/POI_20.png";break;case"21":a="img/POI_21.png";break;case"22":a="img/POI_22.png";break;case"23":a="img/POI_23.png"}this.marker=new google.maps.Marker({position:d,icon:a});var g={position:d,content:e};this.infoWindow=new google.maps.InfoWindow;this.infoWindow.setOptions(g)}function on_new_poi(){newPoi_localisation();display_new_poi();currentPoi=null;latlngNewPoi=null;goPage("newPoiScreen")}function on_ok_poi(){if(document.getElementById("poiNameInput").value!="")if(latlngNewPoi){var a=document.forms.f.listTypePoi.options[document.forms.f.listTypePoi.selectedIndex].value;gDbHelper.addPoi(latlngNewPoi.lng(),latlngNewPoi.lat(),a,document.getElementById("poiNameInput").value);latlngNewPoi=null;goPage("poiScreen")}else{alert(noPoiCoordinates);on_poi_map()}else alert(noPoiName)}function on_update_poi(){if($("#newPoiTitle").data("idPoi")!=null){var a=document.forms.f.listTypePoi.options[document.forms.f.listTypePoi.selectedIndex].value;if(latlngNewPoi){gDbHelper.updatePoi($("#newPoiTitle").data("idPoi"),latlngNewPoi.lng(),latlngNewPoi.lat(),a,document.getElementById("poiNameInput").value);latlngNewPoi=null}else gDbHelper.updatePoi($("#newPoiTitle").data("idPoi"),document.getElementById("poiLongInput").value,document.getElementById("poiLatInput").value,a,document.getElementById("poiNameInput").value)}}function on_cancel_updatePoi(){if($("#newPoiTitle").data("idPoi")!=null){var a=$("#newPoiTitle").data("idPoi");for(i in gPois)if(gPois[i].id==a){displayPoi(gPois[i]);gDbHelper.getPoi(gPois[i],constructPoi);return}}}function constructPoi(a){tempPoi=new dbPoi(a.IdPoi,a.Latitude,a.Longitude,a.Type,a.Name)}function on_upload(){gDbHelper.getRequest($("#sportRunningScreenTitle").data("idRequest"),buildRequest,displayErrorUpload)}
