$(window).load(function(){ if($('input[name="useMap"]').val()){ var latitude = parseFloat($('input[name="latitude"]').val()); var longitude = parseFloat($('input[name="longitude"]').val()); var streetView = false; var streetLoaded = false; if($('a.streetview').length){ $(document).bind('locationAvailable', function(){ var client = new GStreetviewClient(); client.getNearestPanoramaLatLng(new GLatLng(latitude, longitude), function(latLng){ if(latLng){ $('a.streetview').show(); streetView = $('
'); $('a.streetview').fancybox({ content: streetView, onStart: function(){ if(!streetLoaded){ google.load('maps', '2', { 'callback': function(){ if(GBrowserIsCompatible()){ if(!latitude || !longitude){ $(document).bind('locationAvailable', function(){ initStreetview(latitude, longitude); }); loadLocation(); } else { initStreetview(latitude, longitude); } } } }); streetLoaded = true; } } }); } }); }); } var initStreetview = function(latitude, longitude){ var icon = new GIcon(); icon.image = "/images/ljhooker/mapicons/house16.png"; icon.printImage = "/images/ljhooker/mapicons/house16.gif"; icon.mozPrintImage = "/images/ljhooker/mapicons/house16.gif"; icon.iconSize = new GSize(16, 16); icon.iconAnchor = new GPoint(8, 8); icon.infoWindowAnchor = new GPoint(8, 8); var map = new GMap2(streetView.find('div.street-map')[0]); var point = new GLatLng(latitude, longitude); map.setCenter(point, 18, G_NORMAL_MAP); map.addControl(new GLargeMapControl()); map.addControl(new GMenuMapTypeControl()); map.addOverlay(new GStreetviewOverlay()); map.addOverlay(new GMarker(point, { icon: icon, zIndexProcess: function(){ return -281251; } })); var control = new StreetviewControl(new GLatLng(latitude, longitude), map, streetView.find('div.streetview')); streetView.data('control', control); }; var loadLocation = function(){ if(!latitude || !longitude){ var country = $('input[name="country"]').val(); var address = $('input[name="address"]').val(); var geocode = new GClientGeocoder(); geocode.setBaseCountryCode(country); geocode.getLocations(address, function(x){ if(x.Status.code == 200){ var coords = x.Placemark[0].Point.coordinates; var point = new GLatLng(coords[1], coords[0]); latitude = point.lat(); longitude = point.lng(); $(document).trigger('locationAvailable'); } }); } else { $(document).trigger('locationAvailable'); } }; google.load('maps', '2', { callback: loadLocation } ); var mapLoaded = false; var div = $('
'); $('a.view-on-map').fancybox({ content: div, scrolling: 'no', onStart: function(){ if(!mapLoaded){ google.load('maps', '2', { 'callback': function(){ if(GBrowserIsCompatible()){ if(!latitude || !longitude){ $(document).bind('locationAvailable', function(){ initMap(latitude, longitude); }); loadLocation(); } else { initMap(latitude, longitude); } } } }); mapLoaded = true; } } }); var initMap = function(lat, lng){ var map = new GMap2($('div.map')[0]); var point = new GLatLng(lat, lng); map.setCenter(point, 17, G_NORMAL_MAP); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GOverviewMapControl()); map.addOverlay(new GMarker(point)); $('div.map').data('map', map); }; } }); jQuery(function(){ $('a.virtual-tour').fancybox({ href: "?part=virtualtour", width: 1000, height: 840, padding: 0, margin: 0, scrolling: 'no', autoDimensions: false }); if($('div.detail-floorplans').length){ var floorplans = $('div.detail-floorplans').detach(); $('a.floorplans').fancybox({ content: floorplans, width: 520, height: 220, scrolling: 'no', onStart: function(){ $.get('?part=floorplan&prepress=1', function(data){ if(data.match(/OK/)) $('div.detail-floorplans p.loading').html(' Click here to view floorplan'); else $('div.detail-floorplans p.loading').html('An error occurred! The file could not be generated.'); }); } }); } $('div.virtual-tours div.paging a').live('click', function(e){ e.preventDefault(); $('div.virtual-tours').parent().load(this.href); }); var brochure = $('div.detail-brochure').detach(); $('a.function.print').fancybox({ content: brochure, width: 520, height: 220, scrolling: 'no', onStart: function(){ $.get('?part=brochure&prepress=1', function(data){ if(data.match(/OK/)){ $('div.detail-brochure p.loading').html(' Click here to view brochure'); } else { $('div.detail-brochure p.loading').html('An error occurred! The file could not be generated.'); } }); } }); var refer = $('div.detail-refer').detach(); $('a.function.send').click(function(e){ e.preventDefault(); var upn = $(this).attr('href'); $.fancybox({ content: refer, width: 420, height: 420, scrolling: 'no', autoDimensions: false, onStart: function(){ $.get('/'+upn, { 'part': 'detailrefer' }, function(data){ $('div.detail-refer').html(data); $('div.detail-refer').append(''); }); } }); }); var rotate = function(container, direction){ var thumbnail = container.find('img:'+((direction == 'left') ? 'first' : 'last')); var wrapper, width; if(direction == 'left'){ width = 0; wrapper = $.effects.createWrapper(thumbnail).css({'overflow': 'hidden', 'position': 'relative'}); } else { width = thumbnail.outerWidth(); wrapper = $.effects.createWrapper(thumbnail).css({'overflow': 'hidden', 'position': 'relative', 'width': '0px'}); wrapper.remove(); container.prepend(wrapper); } thumbnail.css({'right': '0', 'left': 'auto', 'position': 'absolute'}); wrapper.animate({'width': width}, false, false, function(){ thumbnail.css({'position': 'static'}); $.effects.removeWrapper(thumbnail); if(direction == 'left'){ thumbnail.remove(); container.append(thumbnail); } }); }; $('form.contact-form').submit(function(e){ e.preventDefault(); if(!$(this).find('input[name="name"]').val()){ alert("Please enter your name"); } else if(!$(this).find('input[name="phone"]').val()){ alert("Please enter your contact phone number"); } else if(!$(this).find('input[name="email"]').val()){ alert("Please enter your email address"); } else if(!$(this).find('input[name="email"]').val().match(Type.mail)){ alert("That email address is not valid! Please enter your email address"); } else { if($(this).find('textarea').data('submit')) $(this).find('textarea').data('submit')(); var req = $(this).serialize(); $.get("?act=enquire&"+req, function(data){ if(data.match(/OK/)){ alert("The message was sent successfully!"); } else if(data.match(/ERROR: (.+)/)){ alert(data.match(/ERROR: (.+)/)[1]); } else { alert("An error occurred while sending the message!"); } }); } }); $('form.finance-enquiry-form').submit(function(e){ e.preventDefault(); if(!$(this).find('input[name="name"]').val()){ alert("Please enter your name"); } else if(!$(this).find('input[name="phone"]').val()){ alert("Please enter your contact phone number"); } else if(!$(this).find('input[name="email"]').val()){ alert("Please enter your email address"); } else if(!$(this).find('input[name="email"]').val().match(Type.mail)){ alert("That email address is not valid! Please enter your email address"); } else { if($(this).find('textarea').data('submit')) $(this).find('textarea').data('submit')(); var req = $(this).serialize(); $.get("?act=broker-enquire&"+req, function(data){ if(data.match(/OK/)){ alert("The message was sent successfully!"); } else if(data.match(/ERROR: (.+)/)){ alert(data.match(/ERROR: (.+)/)[1]); } else { alert("An error occurred while sending the message!"); } }); } }); $('div.finance a.calculate').click(function(e){ e.preventDefault(); var amount = $('div.finance input[name="loan-amount"]').val(); var interest = $('div.finance input[name="interest-rate"]').val(); var term = $('div.finance input[name="loan-term"]').val(); var frequency = $('div.finance select[name="repayment-frequency"]').val(); amount = amount.replace(/[^0-9.]/g, ''); if(!amount || isNaN(parseFloat(amount)) || amount < 0){ alert('Please enter a valid amount'); } else if(!interest || isNaN(parseFloat(interest)) || interest < 0){ alert('Please enter a valid interest rate'); } else if(!term || isNaN(parseFloat(term)) || term < 0){ alert('Please enter a valid term for the loan!'); } else if(frequency != 'monthly' && frequency != 'fortnightly' && frequency != 'weekly' && frequency != 'yearly'){ alert('Please enter a valid repayment frequency!'); } else { amount = parseFloat(amount); interest = parseFloat(interest); term = parseFloat(term); var r, f; if(frequency == 'yearly'){ r = term; f = 100; } else if(frequency == 'weekly'){ r = term * 52; f = 5200; } else if(frequency == 'fortnightly'){ r = term * 26; f = 2600; } else if(frequency == 'monthly'){ r = term * 12; f = 1200; } var payment = (amount * interest * Math.pow(1 + interest / f, r)) / (f * (Math.pow(1 + interest / f, r) - 1)); $('div.finance input[name="repayment-amount"]').val(NumberFormat(payment, 2, ",")); } }); $('div.image-thumbnails div.scroll-left').click(function(){ if($(this).hasClass('inactive') || $('div.image-thumbnails div.thumbnails img').length <= 4) return; var thumbnails = $(this).closest('div.image-thumbnails').find('div.thumbnails'); if($('div.image-thumbnails div.thumbnails img:last').hasClass('first-image')) $(this).addClass('inactive'); else $('div.image-thumbnails div.scroll-right').removeClass('inactive'); rotate(thumbnails, 'right'); }); $('div.image-thumbnails div.scroll-right').click(function(){ if($(this).hasClass('inactive') || $('div.image-thumbnails div.thumbnails img').length <= 4) return; var thumbnails = $(this).closest('div.image-thumbnails').find('div.thumbnails'); if($($('div.image-thumbnails div.thumbnails img')[4]).hasClass('last-image')) $(this).addClass('inactive'); else $('div.image-thumbnails div.scroll-left').removeClass('inactive'); rotate(thumbnails, 'left'); }); $('div.image-thumbnails div.thumbnails img:first').addClass('first-image'); $('div.image-thumbnails div.thumbnails img:last').addClass('last-image'); $('div.image-thumbnails img.thumbnail').live('click', function(){ var position = this.className.match(/(position-\d+)/)[1]; $('img.main-image').hide(); $('img.main-image.'+position).show(); }); $('a.main-image-popup').fancybox(); $('a.photo-gallery').click(function(e){ e.preventDefault(); $('img.main-image:first').trigger('click'); }); def = $('div.email-form').html(); var emailForm = $('div.email-form').detach(); $('#send-us-email').click(function(e){ e.preventDefault(); var upn = $(this).attr('href'); $.fancybox({ content: emailForm, width: 320, height: 380, scrolling: 'no', autoDimensions: false, onStart: function(){ $.get('/'+upn, { 'part': 'emailagentform' }, function(data){ $('div.email-form').html(data); $('div.email-form').append(''); }); } }); $('div.email-form').html(def); }); $('#email-broker').click(function(e){ e.preventDefault(); var upn = $(this).attr('href'); $.fancybox({ content: emailForm, width: 320, height: 380, scrolling: 'no', autoDimensions: false, onStart: function(){ $.get('/'+upn, { 'part': 'emailbrokerform' }, function(data){ $('div.email-form').html(data); }); } }); $('div.email-form').html(def); }); var holidayBooking = $('div.holiday-booking').detach(); $('a.holiday-booking').click(function(e){ e.preventDefault(); var upn = $(this).attr('href'); $.fancybox({ content: holidayBooking, width: 830, height: 600, scrolling: 'no', onStart: function(){ $.get('/'+upn, { 'part': 'holidaybooking' }, function(data){ $('div.holiday-booking').html(data); }); } }); }); });