$(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);
});
}
});
});
});