mi MENU

Un minimum de 80 caractères est requis

cover Penang Property Angel
Avatar logo | Penang Property Angel | Photographe visite virtuelle 360° 3D
  • Penang Property Angel
    | photographe visite virtuelle 3D 360

  • George Town | Malaisie
  • Catégorie :

    Professionnel de l'Immobilier

  • Je parle: Chinois (mandarin), Anglais, Malay
  • 0 J'aime
    84179 Vue(s)
    Partager le profil

À propos de moi

Penang Property Angel is a professional real estate agency firm which is approved by and registered with the Board of Valuers, Appraisers and Estate Agents under the Valuers, Appraisers and Estate Agents Act 1981.

 

Connect with Penang Property Angel today to begin viewing listings of your choice residences and rewarding commercial zones in the island that have been called home and investment portfolios by many local and international investors. Whatever your needs, rely on the expertise and the resources of Penang Property Angel's team of realtors, legal advisors and bankers to ensure that you get the most out of your investment in Penang island.

 

Please explore the website to learn more about the area, the firm’s top quality services and to begin your search for your ideal home in Penang island. The entire team is looking forward to hearing from you when you are ready to secure your dream home.

 

 

 

 

... Montrer Plus
... Montrer Moins
caractères :80 minimum/2000 maximum
 

L'URL de la visite demande un lien sécurisé httpS

Merci de préciser l'adresse (puis de cliquer sur une proposition de la liste déroulante)

Merci de préciser votre langue

Sélectionner la langue de préférence pour le site internet et la réception des emails

Veuillez renseigner le champ à propos de

Veuillez sélectionner votre photo de profil

` } // --------- END SHARE } html +=`
${IsPro} ${IsPrivate} ${IsPublished} ${tourPrice}
`; html += `
${parseUnicode(data[i]['Title'])}
${((parseUnicode(data[i]['Address']) !== null) ? parseUnicode(data[i]['Address']) : '-')}
${ (data[i].category_data) ? trans.tourcategory[data[i].category_data.Slug] : ''}
${Desciption}

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

`; if (data[i].user_data['UserId'] == userId) { html += `
`; } html +=`
`; } if ('' == ProfileId ) { $(".tour-add-box-container").remove(); html += `
add-img
${window.isFrench ? 'Créer / Publier ' : 'Create / Post '}
`; } else { if (html == '') { if (localStorage.getItem('Offset-Portfolio') == 0) { html = `
Oups ! Il n'y a pas de visite virtuelle publique dans ce portfolio pour le moment
`; } } } return html; } function duplicateTour(TourId){ // // swal("Klapty","You do not have any subscription. Please subscribe to the plan.",'error'); // return; // $('.loadingOverlay').show(); window.location.href = route('pricing-360-tours'); return false; var url = route('tour.get-tour-by-id'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, data: { 'TourId' : TourId, }, success: function (res) { if(res.YVTourId!=null){ cloneYVTour(res,res.YVTourId) console.log(res.YVTourId) return false; } cloneUrlTour(res); return false; $('#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 #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']); 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'); localStorage.setItem("IsDuplicateTour", 1); localStorage.setItem("modalTourID", TourId); localStorage.setItem("TourFunction", 'duplicateTour'); } }); } function duplicateTour(tour_id){ Swal.fire({ title: 'Вы уверены?', text: "Это действие нельзя отменить!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Да, отправить запрос' }).then((result) => { if (result.isConfirmed) { // $.ajax({ // url: '/your-url', // Укажите ваш URL // method: 'POST', // Или GET, если нужно // data: { // key: 'value', // Данные, которые отправляете // }, // success: function(response) { // // Успешный ответ // Swal.fire( // 'Отправлено!', // 'Ваш запрос был успешно выполнен.', // 'success' // ); // }, // error: function(xhr, status, error) { // // Обработка ошибок // Swal.fire( // 'Ошибка!', // 'Произошла ошибка при выполнении запроса.', // 'error' // ); // } // }); } }); } 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']; } } // var TourImage = APP_URL+res.image_data['ThumbImage']; $('#CreateTourYV .modal-title').text("Modifier la visite"); // $('#CreateTourYV #save-tour-btn').text("Sauvegarder"); $('.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(`Vous pouvez supprimer cette visite, ou encore, vous pouvez la modifier si vous êtes sous la formule Pro ou Gold.`,'','warning'); return false; var url = route('tour.get-tour-by-id'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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("Modifier la visite"); $('#CreateTour #save-tour-btn').text("Sauvegarder"); $('#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 deleteTour(TourId){ swal({ title: unescape(`Êtes vous certain de vouloir supprimer la visite ? Cette action est irréversible, merci d'entrer ici votre email pour confirmer la suppression.`), content: "input", inputPlaceholder: unescape(`Email`), buttons: [unescape(`Annuler`),unescape(`D'accord`)], dangerMode: true }).then(name => { if (name) { setTimeout(function(){ $('.loadingOverlay').show(); },50); setTimeout(function(){ let url = route('tour.deleteTour',[TourId,name]) ; $.ajax({ type: "GET", url: url, success: function (res) { if(res.success){ $('.loadingOverlay').hide(); $('#tour-'+TourId).slideUp('slow'); swal("Votre visite a été supprimée!", { icon: "success", confirmButtonText: "Ok", }); } else { $('.loadingOverlay').hide(); $.each(res.error, function(key, value) { swal(value, ``, `error`); return false; }); } } }); },200); } }); } function cloneTour(TourId){ swal({ title: "Please enter the name of the clone tour", content: "input", inputPlaceholder: unescape(`Email`), buttons: [unescape(`Annuler`),unescape(`D'accord`)], 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("Votre visite a été supprimée!", { 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: "Êtes-vous sûr?", text: "Une fois supprimé, vous ne pourrez plus récupérer ce pack.", icon: "warning", buttons: [unescape(`Annuler`),unescape(`D'accord`)], // confirmButtonText: "D'accord", // cancelButtonText: "Annuler", // buttons: true, dangerMode: true, }) .then((willDelete) => { if (willDelete) { var url = route('profile.deletepricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, data: { 'PlanId' : PlanId, }, success: function (res) { $('#plan-'+PlanId).slideUp('slow'); $('#plan-'+PlanId).remove(); swal("Votre pack tarif a été supprimé!", { icon: "success", confirmButtonText: "D'accord", }); } }); } }); } function getpricingplan(PlanId){ var Action = $('.action').val(); var url = route('profile.getpricingplan'); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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= "Modifier le tarif du pack"; $('#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= "Ajouter un nouveau pack tarif"; $('#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': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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 +=`
Tarif et coût Penang Property Angel ${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': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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","Félicitations, l'avis a été envoyé","success"); } }); } function deliverBooking(BookingId){ $(this).removeClass('booking-pending'); var url = route('profile.deliverbooking'); $('.booking-status').html("En attente   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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("En attente   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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("Livré   " ); $('.go-back-btn').attr("onclick","GetBooking(0,'Tab')"); $('.booking-delivered-box').hide(); $.ajax({ type: "POST", url: url, headers: {'X-CSRF-TOKEN': "EyZZOacUM0Zkqmomd7wOUe1Ldp0bHsxxvCCiaLvZ" }, 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')"); } }); } function ToggleProfileView(){ // var height = $('.section-top-border').height(); // var headerheight = $('#header').height(); // $('#profile-page-map').css('height',$(window).height() - height - headerheight - 50 ,'important'); $('#hide-on-show-map').hide(); $('#profile-page-map').show(function(){ google.maps.event.trigger(map, 'resize'); map.setCenter(latlngbounds.getCenter()); map.fitBounds(latlngbounds); }); $('#share-map-button').show(); $("#remove-close-btn").removeClass("d-none"); $('#show-profile-map').addClass('bg-orange-outline-btn'); // $('#hide-on-show-map, #profile-page-map').toggle(200); // $('#profile-page-map, #portfolio').toggle(200); // $('#profile-page-map').css('display','block','important'); // $('.search-bar-location, .search-bar-tour').toggle(); } 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'); } TourPin(); initMap(); addMarkers(); var map, infowindow, markers = []; var geocoder; var map; var markerCluster; var locations = []; var photographers = []; var tourload = 0; var mapPageNo = 0; var maplastPage = null; var avglat=0; var avglong=0; var zoom=1; function TourPin(filter=''){ locations = []; var filter_one={}; filter_one['Slug']='penang-property-angel'; if(filter!=''){ filter_one=filter; } var data = GetTour(route('get-profile-tour-pin'),filter_one); zoom=data['zoom']; avglat=data['avglat']; avglong=(data['avglong']); for (var i = 0; i < data['data'].length; i++) { locations.push([ data['data'][i].Address, data['data'][i].Latitude, data['data'][i].Longitude, data['data'][i].TourId ]); } } function initMap() { $('#profile-page-map').css('height','533' ,'important'); var locationRio = { lat: 47.559601, lng: 7.588576 }; map = new google.maps.Map(document.getElementById('profile-page-map'), { zoom: (zoom+1), minZoom: 2, center: { lat: avglat, lng: avglong }, gestureHandling: 'greedy', streetViewControl: false, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.LEFT_TOP }, mapTypeControl:false, fullscreenControl: false }); } function addMarkers() { markers = []; latlngbounds = new google.maps.LatLngBounds(); for (var i = 0; i < locations.length; i++) { var beach = locations[i], myLatLng = new google.maps.LatLng(beach[1], beach[2]), marker = new google.maps.Marker({ position: myLatLng, title: parseUnicode(beach[0]), icon: "https://www.klapty.com/public/images/place_pin.png" }); latlngbounds.extend(marker.position); var content = beach[3]; infowindow = new google.maps.InfoWindow(); google.maps.event.addListener(marker, 'click', (function (marker, content, infowindow) { return function () { clicklocations = {}; $('.gm-ui-hover-effect').trigger('click'); var html = GetTourById(content); infowindow.setContent(html); infowindow.set("pixelOffset", new google.maps.Size(220, 200)); infowindow.open(map, this); $('.tour-loadingOverlay').show(); setTimeout(function () { var k = 0; var html = ''; for (var j = 0; j < locations.length; j++) { if (locations[j][1] == marker.position.lat() && parseFloat(locations[j][2]).toFixed(9) == marker.position.lng().toFixed(9)) { if (k > 1) { $('.gm-ui-hover-effect').trigger('click'); $('.tour-loadingOverlay').show(); } clicklocations[j] = locations[j][3]; k++; } } if (k > 1) { data = {}; data["Tours"] = clicklocations; var url = route("tour.get-map-data", data); res = PostRequest(url, data); var html = TourHtml(res.tours); $('#TourList').html(html); $('#TourListmodal').modal(); $('.tour-loadingOverlay').hide(); } if (k == 1 || k == 0) { $('.tour-loadingOverlay').hide(); } }, 100); }; })(marker, content, infowindow)); marker.setMap(map); // Keep marker instances in a global array markers.push(marker); } map.setCenter(latlngbounds.getCenter()); map.fitBounds(latlngbounds); markerCluster = new MarkerClusterer(map, markers,{ maxZoom: 12, imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' }); } $( window ).resize(function() { // console.log($('.edit-tour-btn').height()); // if($('.edit-tour-btn').height() != $('.duplicate-tour-btn').height()){ // // console.log("edit: "+ $('.edit-tour-btn').height()+" - duplicate"+$('.duplicate-tour-btn').height()); // console.log("length: "+$(".tour-detail-box-container:first .duplicate-tour-btn br").length); // if( $(".tour-detail-box-container:first .duplicate-tour-btn br").length <=1){ // // $(".duplicate-tour-btn br").append("

"); // // $("br").insertAfter($( ".duplicate-tour-btn br" )); // $( ".duplicate-tour-btn span" ).prepend( "
" ); // console.log("if"); // }else{ // console.log("if-1"); // // $('.duplicate-tour-btn span br').last().remove(); // } // }else{ // console.log("else"); // $('.duplicate-tour-btn span br').last().remove(); // } }) -->