mi MENU

Minimum 80 characters required

cover Desmond Mok
Avatar logo | Desmond Mok | 360° 3D virtual tour photographer
  • Desmond Mok
    | 360 3D photographer

  • 30
    Singapore | Singapore
    ProPnex Realty Pte Ltd ProPnex Realty Pte Ltd
  • Category :

    Real Estate Professional

  • I speak: Chinese (Mandarin), English
  • 0 Like(s)
    19781 View(s)
    Share profile

About me
Being a real estate salesperson in Singapore over 17 years of experience, I take pride in serving many of my clients in their real estate needs and their wealth creation investment plan. Whether upgrading from HDB to private property or condominium to landed property with proper financial calculation and advice with a smooth and hassle-free transaction. My passion is serving my clients in their selling, buying or investing in new launch properties. Buying and selling in real estate require several procedures and a timeline in order to complete a smooth transaction, therefore I take a good and careful approach in making sure that every detail of transactions is in a proper manner. With a strong dedication to provide worthy and quality service to my client, such strong purposes have driven me to stay competitive in the real estate industry. From traditional marketing to digital marketing so as to help my clients to market their property whether in selling or leasing within a short period of time, engaging them in the latest information update of the property news and movement.
... Show More
... Show Less
characters:minumum 80/maximum 2000
 

Please to provide a secure URL with httpS

Please enter location

Please enter language

Please to select your preference language for website and for receiving email

Please fill in the "about" field

Please select a profile picture

` } // --------- END SHARE } html +=`
${IsPro} ${IsPrivate} ${IsPublished} ${tourPrice} ${isDeleteTime} ${unarchiveStatus}
`; if (window.isEmptyValue(data[i].deleted_at) && data[i].is_restoring == 0) { html += `
${parseUnicode(data[i]['Title'])}
`; } else { html += `
${parseUnicode(data[i]['Title'])}
`; } html += `
${((parseUnicode(data[i]['Address']) !== null) ? parseUnicode(data[i]['Address']) : '-')}
${ (data[i].category_data) ? AppGlobal.trans(`tourcategory.${data[i].category_data.Slug}`): ''}
${Desciption}

${((Hash != '') ? Hash : '-')}

`; if (data[i].user_data['UserId'] == userId) { html += `
`; html +=`
`; } if ('' == ProfileId && !$('#trash').hasClass('active')) { $(".tour-add-box-container").remove(); html += `
add-img
${window.isFrench ? 'Créer / Publier ' : 'Create / Post '}
`; } else { if (window.isEmptyValue(html) && localStorage.getItem('Offset-Portfolio') == 0) { html = `
Oops! There are no public virtual tour in this portfolio for now
`; } } return html; } function cloneYVTour(res,YVtour_id){ $('#temp_yv_id').val(YVtour_id); $('#YVTourId').val('') $('.loadingOverlay-YV').hide(); $('#CreateTourYV #YVTourImage').show(); var TourImage = ''; $('.YVTourDetails').show(); // $('#popupWrapper').hide(); $('#popupWrapper').html(''); if(res.image_data){ var pattern = /^((http|https):\/\/)/; if(pattern.test(res.image_data['ThumbImage'])) { var TourImage = res.image_data['ThumbImage']; } else { var TourImage = APP_URL + res.image_data['ThumbImage']; } } $('#CreateTourYV .modal-title').text("Edit Tour"); // $('#CreateTourYV #save-tour-btn').text("Save"); $('.YVNextBtn').attr('onclick','YVeditTour('+ YVtour_id +')'); $('#CreateTourYV #YVTourId').val(''); $('#CreateTourYV #YVTourAction').val('add'); // $('#CreateTourYV #YVTourUrl').val(res['TourUrl']); $('#CreateTourYV #YVTourCategoryId option').removeAttr('selected') if(res['CategoryId'] != null && res['CategoryId'] != 0) { $("#CreateTourYV #YVTourCategoryId option[value='"+res['CategoryId']+"']").attr("selected","true"); setTimeout(function(){ $('#YVTourCategoryId').val(res['CategoryId']); },50); } else { $("#CreateTourYV #YVTourCategoryId option[value='']").attr('selected', 'true'); $('#YVTourCategoryId').val(''); } if(res['IsCommentAllow'] == 1){ $('#YVIsCommentAllow').prop('checked',true); } else { $('#YVIsCommentAllow').prop('checked',false); } $('#CreateTourYV #YVEnergyConsumption').val(res['EnergyConsumption']); $('#CreateTourYV #YVGreenhouseGasEmissions').val(res['GreenhouseGasEmissions']); if(res['Energy_version']==2){ $('#option'+res['Energy_class']).prop('checked','true'); $('#radio-one').prop('checked','true'); $('#CreateTourYV #YVEnergyConsumption_url').val(res['EnergyConsumption']); $('#CreateTourYV #YVGreenhouseGasEmissions_url').val(res['GreenhouseGasEmissions']); $('.energy-rule-v2').show(); $('.energy-rule-v1').hide(); }else{ $('#radio-two').prop('checked','true'); } $('#CreateTourYV #YVTitle').val(parseUnicode(res['Title'])); $('#CreateTourYV #YVAddress').val(parseUnicode(res['Address'])); $('#CreateTourYV #YVPrice').val(res['Price']); if(res['Currency'] != null){ $('#CreateTourYV #YVtourCurrency').val(res['Currency']); }else{ $('#CreateTourYV #YVtourCurrency').val('CHF'); } $('#CreateTourYV #YVDesciption').val(parseUnicode(res['Desciption'])); $('#CreateTourYV #YVOtherInformation').val(parseUnicode(res['OtherInformation'])); if(TourImage == ''){ $('#CreateTourYV #YVTourImage').hide(); } else{ $('#CreateTourYV #YVTourImage').attr('src',TourImage); } $('.hashtags').tagsinput('removeAll'); if (res['HashTags']) { //var hashtags = data[i].HashTags.split(","); var hashtags = res['HashTags'].split(/[ ,-]+/); var hashlen = hashtags.length; for (var k = 0; k < hashlen; k++) { var hasvalue = parseUnicode(hashtags[k]).replace(/\//g, "-"); var hasvalued = parseUnicode(hashtags[k]); if (hasvalued.indexOf("#") > -1) { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } else { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } } } var IsPremium = ``; if(res.category_data){ var Category = res.category_data.Slug; } else { var Category = ''; } // var Locations = res.country_data.CountryName; var Locations = parseUnicode(res.Country); if( InCountries(Locations) && Category.indexOf("real-estate") >= 0){ $('.YV_energy_gas_otherinfo').show(); } else { $('.YV_energy_gas_otherinfo').hide(); } var minimum = 80; var characterCount = $('#YVDesciption').val().replace(/\s\s+/g, ' ').length, current = $('#YVcurrent'), maximum = $('#YVmaximum'), theCount = $('#YVthe-count'); characterCount = minimum - characterCount; if(characterCount < 0) { current.text(0); } else{ current.text(characterCount); } $('.YVNextBtn').attr('onclick','createTourYV()'); setTimeout(()=>{ $('.YVTourDetails').show(); $('.YVTourDetailsWrapper').show(); $('#CreateTourYV').modal(); $('#popupWrapper').html(''); },300); localStorage.setItem("modalTourID", TourId); localStorage.setItem("YVtour_id", YVtour_id); localStorage.setItem("TourFunction", 'createTourYV'); } function cloneUrlTour(res){ $('#CreateTour #TourImage').show(); var TourImage = ''; if(res.image_data){ var pattern = /^((http|https):\/\/)/; if(pattern.test(res.image_data['ThumbImage'])) { TourImage = res.image_data['ThumbImage']; } else { TourImage = APP_URL + res.image_data['ThumbImage']; } } $('#CreateTour #TourUrl').val(res['TourUrl']); $('#CreateTour #Title').val(parseUnicode(res['Title'])); $('#CreateTour #Address').val(parseUnicode(res['Address'])); $('#CreateTour #Price').val(res['Price']); if(res['IsCommentAllow'] == 1){ $('#IsCommentAllow').prop('checked',true); } else{ $('#IsCommentAllow').prop('checked',false); } $('#CreateTour #tourCategoryId option').removeAttr('selected') if(res['CategoryId'] != null) { $("#CreateTour #tourCategoryId option[value='"+res['CategoryId']+"']").attr("selected","true"); } else { $("#CreateTour #tourCategoryId option[value='']").attr('selected', 'true'); } if(res['Currency'] != ''){ $('#CreateTour #tourCurrency').val(res['Currency']); }else{ } $('#CreateTour #Desciption').val(parseUnicode(res['Desciption'])); $('#CreateTour #TourImage').attr('src',TourImage); $('.hashtags').tagsinput('removeAll'); if (res['HashTags']) { //var hashtags = data[i].HashTags.split(","); var hashtags = res['HashTags'].split(/[ ,-]+/); var hashlen = hashtags.length; for (var k = 0; k < hashlen; k++) { var hasvalue = parseUnicode(hashtags[k]).replace(/\//g, "-"); var hasvalued = parseUnicode(hashtags[k]); if (hasvalued.indexOf("#") > -1) { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } else { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } } } $('#CreateTour #EnergyConsumption').val(res['EnergyConsumption']); $('#CreateTour #GreenhouseGasEmissions').val(res['GreenhouseGasEmissions']); $('#CreateTour #OtherInformation').val(parseUnicode(res['OtherInformation'])); var IsPremium = ``; if(res.category_data){ var Category = res.category_data.Slug; } else { var Category = ''; } // var Locations = res.country_data.CountryName; var Locations = parseUnicode(res.Country); // InCountries if(InCountries(Locations) && Category.indexOf("real-estate") >= 0){ $('.energy_gas_otherinfo').show(); } else { $('.energy_gas_otherinfo').hide(); } var minimum = 80; var characterCount = $('#Desciption').val().replace(/\s\s+/g, ' ').length, current = $('#current'), maximum = $('#maximum'), theCount = $('#the-count'); characterCount = minimum - characterCount; if(characterCount < 0) { current.text(0); } else{ current.text(characterCount); } $('#CreateTour').modal('show'); postTourUrl($('.CreateTourModal #TourUrl').val()); localStorage.setItem("IsDuplicateTour", 1); localStorage.setItem("modalTourID", TourId); localStorage.setItem("TourFunction", 'duplicateTour'); } function editTour(TourId){ swal(`You can delete this visit, or you can modify it if you are on a Pro or Gold subscription.`,'','warning'); return false; var url = route('tour.get-tour-by-id'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'TourId' : TourId, }, success: function (res) { $('#CreateTour #TourImage').show(); var TourImage = ''; if(res.image_data){ var pattern = /^((http|https):\/\/)/; if(pattern.test(res.image_data['ThumbImage'])) { TourImage = res.image_data['ThumbImage']; } else { TourImage = APP_URL + res.image_data['ThumbImage']; } } if(TourImage=='' || (!TourImage)){ $('.custom-files .btn-default').removeAttr("onclick"); $('.custom-files .btn-default').attr('onclick',"$('.tourimage').trigger('click')"); }else if("1"){ $('.custom-files .btn-default').attr('onclick','showSubscriptionAlert()'); } // var TourImage = APP_URL+res.image_data['ThumbImage']; $('#CreateTour .modal-title').text("Edit Tour"); $('#CreateTour #save-tour-btn').text("Save"); $('#CreateTour #TourId').val(TourId); $('#CreateTour #TourAction').val('edit'); $('#CreateTour #TourUrl').val(res['TourUrl']); $('#CreateTour #Title').val(parseUnicode(res['Title'])); $('#CreateTour #Address').val(parseUnicode(res['Address'])); $('#CreateTour #Price').val(res['Price']); $('#url-radio-two').prop('checked','true'); if(res['IsCommentAllow'] == 1){ $('#IsCommentAllow').prop('checked',true); } else{ $('#IsCommentAllow').prop('checked',false); } $('#CreateTour #tourCategoryId option').removeAttr('selected') if(res['CategoryId'] != null) { $("#CreateTour #tourCategoryId option[value='"+res['CategoryId']+"']").attr("selected","true"); } else { $("#CreateTour #tourCategoryId option[value='']").attr('selected', 'true'); } if(res['Currency'] != ''){ $('#CreateTour #tourCurrency').val(res['Currency']); }else{ } $('#CreateTour #Desciption').val(parseUnicode(res['Desciption'])); $('#CreateTour #TourImage').attr('src',TourImage); $('.hashtags').tagsinput('removeAll'); if (res['HashTags']) { //var hashtags = data[i].HashTags.split(","); var hashtags = res['HashTags'].split(/[ ,-]+/); var hashlen = hashtags.length; for (var k = 0; k < hashlen; k++) { var hasvalue = parseUnicode(hashtags[k]).replace(/\//g, "-"); var hasvalued = parseUnicode(hashtags[k]); if (hasvalued.indexOf("#") > -1) { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } else { $('.hashtags').tagsinput('add', parseUnicode(hasvalued)); } } } $('#CreateTour #EnergyConsumption').val(res['EnergyConsumption']); $('#CreateTour #GreenhouseGasEmissions').val(res['GreenhouseGasEmissions']); $('#CreateTour #OtherInformation').val(parseUnicode(res['OtherInformation'])); if(res['Energy_version']==2){ $('#url-radio-one').prop('checked','true'); $('#urlOption'+res['Energy_class']).prop('checked','true'); $('#CreateTour #EnergyConsumption_url').val(res['EnergyConsumption']); $('#CreateTour #GreenhouseGasEmissions_url').val(res['GreenhouseGasEmissions']); $('.url-energy-rule-v2').show(); $('.url-energy-rule-v1').hide(); } var IsPremium = ``; if(res.category_data){ var Category = res.category_data.Slug; } else { var Category = ''; } // var Locations = res.country_data.CountryName; var Locations = parseUnicode(res.Country); // InCountries if(InCountries(Locations) && Category.indexOf("real-estate") >= 0){ $('.energy_gas_otherinfo').show(); } else { $('.energy_gas_otherinfo').hide(); } var minimum = 80; var characterCount = $('#Desciption').val().replace(/\s\s+/g, ' ').length, current = $('#current'), maximum = $('#maximum'), theCount = $('#the-count'); characterCount = minimum - characterCount; if(characterCount < 0) { current.text(0); } else{ current.text(characterCount); } $('#CreateTour').modal('show'); localStorage.setItem("modalTourID", TourId); localStorage.setItem("TourFunction", 'editTour'); } }); } function cloneTour(TourId){ swal({ title: "Please enter the name of the clone tour", content: "input", inputPlaceholder: unescape(`Email`), buttons: [unescape(`Cancel`),unescape(`Ok`)], dangerMode: true }).then(name => { if (name) { setTimeout(function(){ $('.loadingOverlay').show(); },50); setTimeout(function(){ let url = route('tour.CloneTour',[TourId,name]) ; $.ajax({ type: "GET", url: url, success: function (res) { if(res.success){ location.reload(); return false; $('.loadingOverlay').hide(); // $('#tour-'+TourId).slideUp('slow'); swal("Your tour has been deleted", { icon: "success", confirmButtonText: "Ok", }); } else { $('.loadingOverlay').hide(); $.each(res.error, function(key, value) { swal(value, ``, `error`); return false; }); } } }); },200); } }); } $(document).on('click','#hire-me-btn',function(){ pricing(); $('html, body').animate({ 'scrollTop' : $(".dashbord-pricing-container").position().top }); }); // Pricing Section function pricing(){ $('.dashbord-portfolio-container, .dashbord-reviews-container, .dashbord-favourite-container , .dashbord-booking-container,.dashbord-payment-container, .dashbord-calendar-container').hide(); $('.dashbord-pricing-container').show(); $('.dashbord-menu-item').removeClass('text-orange activate'); $('.dashbord-pricing-menu').addClass('text-orange activate'); if (history.pushState) { var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '#'+'pricing'; var canurl = window.location.protocol + "//" + window.location.host + window.location.pathname ; window.history.pushState({path:newurl},'',newurl); deletetags(); setAlternateUrl("pricing"); replaceRobotTag(); $('head').append(``); } if(WURFL.form_factor != "Smartphone" && WURFL.form_factor!="Tablet"){ setTimeout(()=>{ $(function () { $("#plan_pricing").sortable({ tolerance: 'pointer', revert: 'invalid', placeholder: 'grid placeholder tile', forceHelperSize: true, helper : 'clone', items: "> div:not(.pricing-add-box)", update: function() { var tour = $("#plan_pricing").sortable("toArray", {attribute:'id'}); let url = route('profile-pricing-update'); let data = {}; data['order'] = tour; let res = PostRequest(url,data); } }); }); },100); } } $('.mileage-charges').keyup(function(event){ $(this).val( $(this) .val() .replace(/[^0-9\.,]/g, "") ); if (event.which != 46 && event.which != 44 && (event.which < 48 || event.which > 57)) { event.preventDefault(); } }); $('.price').keyup(function(event){ $(this).val( $(this) .val() .replace(/[^0-9\.,]/g, "") ); if (event.which != 46 && event.which != 44 && (event.which < 48 || event.which > 57)) { event.preventDefault(); } if($(this).val() < 1 || $(this).val() == ''){ $('.website-price').html(0); } else{ var price = AddPlatformFee($(this).val().replace(',','.')); price=price.replaceAll(',',"'"); $('.website-price').html(price); } }); $('.modal-close-icon').on('click', function(e){ $('#AddNewPlan').modal('hide'); }); function editPlan(id){ $('#pricing-action').val('edit'); getpricingplan(id); $('#AddNewPlan').modal('show'); } function DeletePlan(id){ deleteplan(id); } $(document).on("click",".delete-plan-btn",function(event) { deleteplan($(this).attr('data-val')); // return false; }); function deleteplan(PlanId){ swal({ title: "Are you sure?", text: "Once deleted, you will not be able to recover this pack.", icon: "warning", buttons: [unescape(`Cancel`),unescape(`Ok`)], // confirmButtonText: "Ok", // cancelButtonText: "Cancel", // buttons: true, dangerMode: true, }) .then((willDelete) => { if (willDelete) { var url = route('profile.deletepricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'PlanId' : PlanId, }, success: function (res) { $('#plan-'+PlanId).slideUp('slow'); $('#plan-'+PlanId).remove(); swal("Your pack plan has been deleted!", { icon: "success", confirmButtonText: "Ok", }); } }); } }); } function getpricingplan(PlanId){ var Action = $('.action').val(); var url = route('profile.getpricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'Action' : Action, 'PlanId' : PlanId, }, success: function (res) { $('.package').val(parseUnicode(res.PlanName)); // $('.searchtag').tagsinput('add', res.PlanSearchTag); $('.price').val(res.PlanPrice); var price = AddPlatformFee(res.PlanPrice); $('.website-price').html(price); $('.mileage-charges').val(res.MileageCharges); $('.plan-image').attr('src',res.Thumbnail).show(); // $(".currency-selector option[value='"+res.Currency+"']").attr("selected","selected"); $('#PriceCategoryId option').removeAttr('selected') $("#PriceCategoryId option[value='"+res.CategoryId+"']").attr("selected","selected"); $('#AddNewPlan #PlanId').val(PlanId); $('#packprice_textarea').val(parseUnicode(res.PlanDetails)); // CKEDITOR.instances.packprice_textarea.setData( ); $('#pricing-action').val('edit'); var EditPlanText= "Edit price plan package"; $('#AddNewPlan .modal-title').html(EditPlanText); } }); } $('#AddNewPlan').on('hidden.bs.modal', function () { $('#packprice_textarea').val(''); // CKEDITOR.instances["packprice_textarea"].setData(''); $('.website-price').text('0'); $('.plan-image').attr('src','').hide(); $(this) .find("input,textarea,select") .val('') .end() .find("input[type=checkbox], input[type=radio]") .prop("checked", "") .end(); }); // $('#add-plan-btn').click(function(){ var AddPlanText= "Add a new price plan package"; $('#AddNewPlan .modal-title').html(AddPlanText); $('#AddNewPlan input[type=text]').val(''); $('#AddNewPlan .searchtag').tagsinput('removeAll'); $('#AddNewPlan #PriceCategoryId option').removeAttr('selected') $("#AddNewPlan #PriceCategoryId option[value='']").attr("selected","selected"); }) function savepricing(){ $('.loadingOverlay').show(); var fd = new FormData(); var files = $('#plan-image')[0].files[0]; if(files){ fd.append('plan-image',files); } var PlanId = $('#PlanId').val(); var Action = $('#pricing-action').val(); var PlanName = $('.package').val(); var PlanSearchTag = '';//$('.searchtag').val(); var PlanPrice = $('.price').val().replace(',','.'); var MileageCharges = '';//$('.mileage-charges').val().replace(',','.'); // var Currency = $('.currency-selector').val(); var PlanDetails = $('#packprice_textarea').val();//CKEDITOR.instances["packprice_textarea"].getData(); var CategoryId = $('#PriceCategoryId option:selected').val(); fd.append('Action',Action); fd.append('PlanId',PlanId); fd.append('PlanTitle',PlanName); fd.append('PlanSearchTag',PlanSearchTag); fd.append('PlanPrice',PlanPrice); fd.append('PlanDetails',PlanDetails); fd.append('MileageCharges',MileageCharges); fd.append('PriceCategory',CategoryId); var url = route('profile.savepricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: fd, contentType: false, processData: false, // data: { // 'Action' : Action, // 'PlanId' : PlanId, // 'PlanTitle' : PlanName, // 'PlanSearchTag' : PlanSearchTag, // 'PlanPrice' : PlanPrice, // // 'Currency' : Currency, // 'PlanDetails' : PlanDetails, // 'MileageCharges': MileageCharges // }, success: function (res) { if(res.error){ $.each(res.error, function(key, value){ $('.loadingOverlay').hide(); swal("Klapty",value,'warning'); return false; }); return false; } $('#pricing-action').val('add'); $('#AddNewPlan input[type=text]').val(''); $('#AddNewPlan .searchtag').tagsinput('removeAll'); $('#AddNewPlan').modal('hide'); html = ''; var planData = res.data; var price = AddPlatformFee(PlanPrice); if(Action == 'edit'){ $('.plan-'+planData.PlanId+' .plantitle').html(parseUnicode(planData.PlanName)); $('.plan-'+planData.PlanId+' .plan-price-degite').html(price); $('.plan-'+planData.PlanId+' .plan-feature-container').html(''); $.each( JSON.parse(planData.PlanDetails), function( key, value ) { html += '

'+parseUnicode(value)+'

'; }); $('.plan-'+planData.PlanId+' .plan-feature-container').append(html); $('.loadingOverlay').hide(); window.location.reload(); }else{ $('.loadingOverlay').hide(); var SessionUserId = ""; var UserType = ""; price=price.replaceAll(',',"'"); html +=`
Price and cost Desmond Mok ${planData.PlanName}
`; if(planData.UserId == SessionUserId && UserType == "2"){ html +=`
`; } else { UserSlug = res.UserArr.Slug; PlanSlug = planData.Slug; html +=`
`; } html +=`
${price} ${planData.Currency}
`; html +=`
${parseUnicode(planData.PlanName)}
`; if(planData.CategoryId != null){ html += `${planData.Category}` } featureArr = JSON.parse(planData.PlanDetails); if(featureArr){ separator = ','; implodedArray = featureArr.join(separator); html += '

'+parseUnicode(implodedArray)+'

'; } html +=`
`; $( html ).insertBefore( $( ".pricing-detail-box-add-container" ) ); } $('#AddNewPlan').modal('hide'); pricing(); } }); } function isEmpty(obj) { for(var key in obj) { if(obj.hasOwnProperty(key)) return false; } return true; } function OpenDetails(PlanId){ $('.loadingOverlay').show(); setTimeout(function(){ var data = getRequest(route('get-pricing-plan-details',[PlanId])); var image= APP_URL + 'public/assets/img/user-sm.png'; if(data.userdata.ProfileImage){ image = data.userdata.ProfileImage; } else if(data.userdata.SocialProfileImage){ image = data.userdata.SocialProfileImage; } var Thumbnail = APP_URL +'public/assets/img/rsz_1pack-price-default.jpg'; if(data.Thumbnail){ Thumbnail = data.Thumbnail; } var rating = 0; if(!isEmpty(data.userdata.rating_data)){ var rating_count = 0; for (var i = 0; i < data.userdata.rating_data.length; i++) { rating = data.userdata.rating_data[i].Rating; rating_count++; } rating = rating/rating_count; rating = parseFloat(rating.toFixed(1)); } var feature = ''; var featureArr = JSON.parse(data.PlanDetails); if(featureArr){ separator = ','; implodedArray = featureArr.join(separator); feature += '

'+parseUnicode(implodedArray)+'

'; } var onclick = `addbooking('${data.PlanId}','${data.userdata.Slug}','${parseUnicode(data.PlanName)}','${AddPlatformFee(data.PlanPrice)}','${data.Currency}','${data.userdata.UserId}','${data.userdata.country_data?.CountryName}')`; var html = ``; $('.pricingplanDetails').html(html); $('#PricingPlanDetailModal').modal(); $('.loadingOverlay').hide(); },50); } // Review Section function reviews(){ setTimeout(function(){ $('html, body').animate({ 'scrollTop' : $(".dashbord-reviews-container").position().top }); },500); $('.dashbord-portfolio-container, .dashbord-pricing-container, .dashbord-favourite-container , .dashbord-booking-container, .dashbord-payment-container, .dashbord-calendar-container').hide(); $('.dashbord-reviews-container').show(); $('.dashbord-menu-item').removeClass('text-orange activate'); $('.dashbord-reviews-menu').addClass('text-orange activate'); if (history.pushState) { var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '#'+'reviews'; var canurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '#'+'reviews'; window.history.pushState({path:newurl},'',newurl); deletetags(); replaceRobotTag(); setAlternateUrl("reviews"); $('head').append(``); } } function add(ths,sno){ for (var i=1;i<=5;i++){ var cur=document.getElementById("star"+i) cur.className="fa fa-star fa-2x" } for (var i=1;i<=sno;i++){ var cur=document.getElementById("star"+i) if(cur.className=="fa fa-star fa-2x"){ cur.className="fa fa-star fa-2x checked" } } $('.booking-rating').val(sno); } function AddReview(BookingId,ParentReviewId=0){ var Review = $('.review-textarea').val(); var UserId = $('.booking-review-UserId').val(); var rating = $('.booking-rating').val(); var url = route('profile.addreview'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'UserId' : UserId, 'Review' : Review, 'BookingId' : BookingId, 'ParentReviewId' : ParentReviewId, 'Rating': rating, }, success: function (res) { if(ParentReviewId == 0 ){ GetMyBookingById(BookingId) } else { GetBookingById(BookingId) } // GetBookingById(BookingId); $('.booking-review-box').hide(); swal("Klapty","Congratulations, review successfully added","success"); } }); } function deliverBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.deliverbooking'); $('.booking-status').html("Pending   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'BookingId' : BookingId, }, success: function (res) { GetBookingById(BookingId); $('.booking-pending-count').html(res['Pending']); $('.booking-completed-count').html(res['Completed']); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); } }); } function completeBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.completebooking'); $('.booking-status').html("Pending   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'BookingId' : BookingId, }, success: function (res) { GetBookingById(BookingId); $('.booking-pending-count').html(res['Pending']); $('.booking-completed-count').html(res['Completed']); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); } }); } function canceldeliverBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.canceldeliveredbooking'); $('.booking-status').html("Delivered   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $('.booking-delivered-box').hide(); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "Sij3FTsDF1VpSMz0WCW5q3V6n1BJTln6mP7HKjuA" }, data: { 'BookingId' : BookingId, }, success: function (res) { GetMyBookingById(BookingId); $('.booking-pending-count').html(res['Pending']); $('.booking-completed-count').html(res['Completed']); $('.go-back-btn').attr("onclick","GetMyBooking(0,'Tab')"); } }); } async function ToggleProfileView() { await TourPin(); await initMap(); await addMarkers(); $('#hide-on-show-map').hide(); $('#profile-page-map').show(function() { google.maps.event.trigger(map, 'resize'); if (typeof latlngbounds !== 'undefined' && !latlngbounds.isEmpty()) { map.fitBounds(latlngbounds); } }); $('#share-map-button').show(); $("#remove-close-btn").removeClass("d-none"); $('#show-profile-map').addClass('bg-orange-outline-btn'); } function ToggleProfileMap(){ $('#hide-on-show-map').show(); $('#share-map-button').hide(); $('#profile-page-map').hide(); $("#remove-close-btn").addClass("d-none"); $('#show-profile-map').removeClass('bg-orange-outline-btn'); } var map, infowindow, markers = []; var geocoder; var map; var markerCluster; var photographers = []; var tourload = 0; var mapPageNo = 0; var maplastPage = null; var avglat = 0; var avglong=0; var zoom=1; async function TourPin(filter=''){ locations = [] var filter_one={}; filter_one['Slug']='desmond-mok'; if(filter!=''){ filter_one=filter; } let data = []; await window.request( route('get-profile-tour-pin'), 'post', filter_one, (success) => { data = success; }, (error) => { console.log(error); } ); zoom = data['zoom'] ?? 2; avglat = data['avglat'] ?? 0; avglong=(data['avglong']) ?? 0; for(let item of data.data){ locations.push({ Address: item?.Address ?? '', Latitude: item?.Latitude ?? 0.0, Longitude: item?.Longitude ?? 0.0, TourId: item?.TourId ?? 0 }); } } function initMap() { const locationRio = { lat: 47.559601, lng: 7.588576 }; const lat = parseFloat(avglat); const lng = parseFloat(avglong); $('#profile-page-map').css('height', '533px'); map = new google.maps.Map(document.getElementById('profile-page-map'), { zoom: (zoom + 1), minZoom: 2, center: { lat: isNaN(lat) ? locationRio.lat : lat, lng: isNaN(lng) ? locationRio.lng : lng }, gestureHandling: 'greedy', streetViewControl: false, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.LEFT_TOP }, mapTypeControl: false, fullscreenControl: false }); } async function addMarkers() { if (!locations || locations.length === 0) return; const latlngbounds = new google.maps.LatLngBounds(); const markers = []; for (let item of locations) { const infowindow = new google.maps.InfoWindow(); const myLatLng = new google.maps.LatLng(item.Latitude, item.Longitude); const marker = new google.maps.Marker({ position: myLatLng, map: map, title: parseUnicode(item.Address), icon: "https://www.klapty.com/public/images/place_pin.png" }); latlngbounds.extend(marker.position); marker.addListener('click', async () => { clicklocations = {}; $('.gm-ui-hover-effect').trigger('click'); const html = GetTourById(item.TourId); await window.request( route("tour.get-tour-by-id",{tour:item.TourId}), 'post', {}, (success) =>{ infowindow.setContent(TourByIdHtml(success)); infowindow.set("pixelOffset", new google.maps.Size(220, 200)); infowindow.open(map, marker); }, (error) =>{ console.log(error) }, (status) =>{ if (status) { $('.tour-loadingOverlay').show(); } else { $('.tour-loadingOverlay').hide(); } } ); $('.tour-loadingOverlay').show(); let k = 0; locations.forEach((loc, idx) => { if (parseFloat(loc.Latitude).toFixed(9) === marker.position.lat().toFixed(9) && parseFloat(loc.Longitude).toFixed(9) === marker.position.lng().toFixed(9)) { clicklocations[idx] = loc.TourId; k++; } }); if (k > 1) { const data = { Tours: clicklocations }; const url = route("tour.get-map-data", data); const res = await PostRequest(url, data); const htmlTours = TourHtml(res.tours); $('#TourList').html(htmlTours); $('#TourListmodal').modal(); } $('.tour-loadingOverlay').hide(); }); markers.push(marker); } map.fitBounds(latlngbounds); map.setCenter(latlngbounds.getCenter()); markerCluster = new MarkerClusterer(map, markers, { maxZoom: 12, imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' }); } -->