jQuery(function(){ $('.segment').each(function(){ var search = $(this).find('.tab').attr('href').match(/sect=(\w+)/)[1]; var segment = $(this); if($(this).find('.pane.open').length) $(document).data('selected-search', segment); $(this).find('.tab').click(function(e){ e.preventDefault(); if($(document).data('selected-search').hasClass(search)) return; var close = $(document).data('selected-search'); var open = segment; toggleSearch(open, close, search); }); }); $('div.home img').live('mousedown', function(e){ e.preventDefault(); }); var inMotion = false; var toggleSearch = function(open, close, search){ if(inMotion) return; inMotion = true; var width = close.width(); var closed = open.width(); var paneWidth = open.find('.pane').outerWidth(); var paneHeight = open.find('.pane').outerHeight(); open.css('clip', 'rect(0px '+paneWidth+'px '+paneHeight+'px '+(paneWidth - 75)+'px)'); close.css('clip', 'rect(0px '+paneWidth+'px '+paneHeight+'px 0px)'); open.find('.pane').animate({ clip: 'rect(0px '+paneWidth+'px '+paneHeight+'px 0px)' }); close.find('.pane').animate({ clip: 'rect(0px '+paneWidth+'px '+paneHeight+'px '+(paneWidth - 20)+'px)' }); open.animate({ width: width }, { step: function(w){ w -= closed; if(width - w > closed) close.width(width - w); else close.width(closed); }, complete: function(){ inMotion = false; } }); $('div.content-section:visible').fadeOut('fast', function(){ $('div.content-section.'+search).fadeIn('fast'); }); $(document).data('selected-search', open); document.cookie="LJHooker-Last-SearchType=" + search; }; $('div.search-form div.map-area a.change').click(function(e){ e.preventDefault(); $(this).closest('div.search-form').find('a.search-map').trigger('click'); }); $('div.search-form div.map-area a.remove').click(function(e){ e.preventDefault(); var form = $(this).closest('div.search-form'); var area = form.find('div.map-area'); var misc = form.find('div.misc-input'); var surround = form.find('input.surround'); area.find('input').remove(); area.hide(); misc.show(); surround.val(1); misc.find('input').trigger('blur'); }); var mappingArea = function(codes, names, type){ var area = $('div.search-form:visible div.map-area'); var misc = $('div.search-form:visible div.misc-input'); var surround = $('div.search-form:visible input.surround'); area.find('input').remove(); var fieldName; if(type == 'state'){ surround.val(0); fieldName = area.attr('className').match(/state-(\w+)/)[1]; area.find('span.text').html(names[0]); } else if(type == 'region'){ surround.val(0); fieldName = area.attr('className').match(/region-(\w+)/)[1]; area.find('span.text').html(names[0]); } else { surround.val(1); fieldName = area.attr('className').match(/suburb-(\w+)/)[1]; if(names.length > 3){ area.find('span.text').html(''+names.length+' suburbs selected'); } else { area.find('span.text').html(names.join(", ")); } } $.each(codes, function(){ area.append(''); }); area.show(); misc.hide(); misc.find('input[type="text"]').val(''); }; $(document).bind('suburbSelect', function(e, suburbs, names){ if(!suburbs.length) return; mappingArea(suburbs, names, 'suburb'); }); $(document).bind('regionSelect', function(e, region, name){ if(!region) return; mappingArea([region], [name], 'region'); }); $(document).bind('stateSelect', function(e, state, name){ if(!state) return; mappingArea([state], [name], 'state'); }); $('div.home div.finance-calc #loan').numeric(","); $('div.home div.finance-calc #term').numeric(","); $('form#calc-form').submit(function(e){ e.preventDefault(); var payment = $("div.home div.finance-calc #repayment").val(); var interest = $("div.home div.finance-calc #interest").val(); var term = parseInt($("div.home div.finance-calc #term").val()); var frequency = $("div.home div.finance-calc #frequency").val(); if(!interest.match(/^([0-9\.]+)/)){ alert("Please enter a numeric interest rate!"); return; } else { interest = parseFloat(interest.match(/^([0-9\.]+)/)[1]); if(isNaN(interest)){ alert("Please enter a numeric interest rate!"); return; } } if(!payment.match(/([0-9\.]+)$/)){ alert("Please enter a numeric loan repayment!"); return; } else { payment = parseFloat(payment.match(/([0-9\.]+)$/)[1]); if(isNaN(payment)){ alert("Please enter a numeric loan repayment!"); return; } } if(!term || isNaN(term)){ term = 25; $("div.home div.finance-calc #term").val(term); } interest = interest / 100; var n, i; if(frequency == 'weekly'){ n = term * 52; i = interest / 52; } else if(frequency == 'fortnightly'){ n = term * 26; i = interest / 26; } else if(frequency == 'monthly'){ n = term * 12; i = interest / 12; } else { return false; } var amount = (payment / i)*(1 - Math.pow((1 + i), -1 * n)); //var payment = (loan * interest * Math.pow(1 + interest / f, r)) / (f * (Math.pow(1 + interest / f, r) - 1)); $('div.home div.search div.search-form div.finance-calc input.loan-total').val('$' + NumberFormat(amount, 2)); }); $('form#finance-form').submit(function(e){ var input = $('div.contact-finance-form input[name=broker]'); if(input.attr('defaultValue') == input.val() || isEmpty(input.val())){ e.preventDefault(); alert('Please enter a post code or suburb to find your financial consultant'); } }); $('form#agent-form').submit(function(e){ var input = $('div.contact-agent-form input[name=suburb]'); if(input.attr('defaultValue') == input.val() || isEmpty(input.val())){ e.preventDefault(); alert('Please enter a post code or suburb to find your financial consultant'); } }); function isEmpty(value){ if(!jQuery.trim(value)){ return true; } else { return false; } } });