$(document).ready(function() {
	$('input#submitLeftColFind').attr("disabled","disabled");
	$('input#submitLeftColFind').css("cursor","default");	
});

(function($) {									  
	var t = setTimeout('', 1000);
	var f = '';
	var fn = false;
	var fl = false;
	var action = {};
	var location = '';
	var dealer = '';
	
	action.MultipleDealers = {};
	action.HandleData = {};
		
	action.MultipleDealers.DealerName = function(n) {
		f = 'name';
		$('li.'+f).addClass('focused').append('<div class="results"><ul class="loading"></ul></div>');
		$.ajax({
	      url: '/toyota/main/actions/getDealerDetails',
	      data: 'dealerName=' + n,
	      dataType: 'json',
	      error: function() { action.HandleError('There has been an error on the server.'); },
	      success: function(data, textStatus) {
			if (data[0]) {
				action.HandleData.dealer(data);
			} else {
				action.HandleError('Please enter a valid Dealer name.');
			}
	      }
	    });
		
	};
	
	action.MultipleDealers.SuburbPostcode = function(l) {
		f = 'location';
		$('li.'+f).addClass('focused').append('<div class="results"><ul class="loading"></ul></div>');
		$.ajax({
	      url: '/toyota/main/actions/getPostcodeSuburbInfo',
		  data: 'suburbpostcode=' + l,
	      dataType: 'json', 
	      error: function(XMLHttpRequest, textStatus, errorThrown) { action.HandleError('There has been an error on the server.'+XMLHttpRequest+textStatus+errorThrown); },
	      success: function(data, textStatus) {
			if (textStatus === 'success') {
		  		action.HandleData.location(data);
			} else {
				action.HandleError('Please enter a valid postcode or suburb.');
			}
	      }
	    });
	};
	
	action.MultipleDealers.HomeSuburbPostcode = function(l) {
		f = 'find-a-dealer';
		$('dd.find-a-dealer form fieldset').addClass('focused').append('<div class="results"><ul class="loading"></ul></div>');
		$.ajax({
	      url: '/toyota/main/actions/getPostcodeSuburbInfo',
		  data: 'suburbpostcode=' + l,
	      dataType: 'json', 
	      error: function(XMLHttpRequest, textStatus, errorThrown) { action.HomeHandleError('There has been an error on the server.'); },
	      success: function(data, textStatus) {
			if (textStatus === 'success') {
		  		action.HandleData.HomeLocation(data);
			} else {
				action.HomeHandleError('Please enter a valid postcode or suburb.');
			}
	      }
	    });
	};
	
	
	action.HandleData.dealer = function(data) {
		dealer = data;
		var dealerLength = dealer.length;
		$('li.'+f+' .results ul').removeClass('loading');
		for(i=0; i < dealerLength; i++) {
			$('li.'+f+' .results ul').append('<li rel="'+i+'">'+dealer[i].dealerName+', '+dealer[i].suburb+' '+dealer[i].postcode+'</li>');
		}
		var list_height = $('li.'+f+' .results ul').height();
		if (list_height >= 180) {
			$('li.'+f+' .results ul').css({'height': '180px', 'overflow': 'auto'}).addClass('overflown');
		}
		$('li.'+f+' .results ul li').hover(
			function() {
				$('li.'+f+' .results ul li').removeClass('hover');
				$(this).addClass('hover');
			},
			function() {
				$(this).removeClass('hover');
			}
		);
		$('li.'+f+' .results ul li:first').addClass('hover');
		$('li.'+f+' .results ul li').click(function() {
			$('.focused').removeClass('focused');	
			var e = this;
			var i = $(e).attr('rel');	
			var text = $(e).text();
			if (dealerLength == 1) {
				var title = 'local'; 
			} else {
				var title = 'nearest';
			}
			$('input[name="dName"]').val(text);
			$('.dealer-search-results h4').html('Your local Toyota dealer:');
			$('.dealer-search-results ol').empty();
			$('.dealer-search-results ol').append('<li class="dealer"><label>'+dealer[i].dealerName+'<br />'+dealer[i].suburb+' '+dealer[i].postcode+'</label><div class="inputs"><input type="radio" name="dealerChoice" class="radio" rel="'+i+'" /></div></li>')
			$('.dealer-search-results li.dealer:first input').attr('rel', i);		
			$('.dealer-search-results li.dealer:first input').attr('checked', 'checked');	
			$('.dealer-search-results').show();
			$('li.'+f+' .results').remove();
			$('#dealerId').val(dealer[i].dealerId);
			$('#dealerName').val(dealer[i].dealerName);
			$('#dealerSuburb').val(dealer[i].suburb);
			$('#dealerState').val(dealer[i].state);
			$('#dealerPostcode').val(dealer[i].postcode);
			$('#dealerPhone').val(dealer[i].telephone);
			$('#dealerAddress').val(dealer[i].address);
			$('.dealer-search-results input').click(function() {
				var e = this;
				var r = $(e).attr('rel');
				$('#dealerId').val(dealer[r].dealerId);
				$('#dealerName').val(dealer[r].dealerName);
				$('#dealerSuburb').val(dealer[r].suburb);
				$('#dealerState').val(dealer[r].state);
				$('#dealerPostcode').val(dealer[r].postcode);
				$('#dealerPhone').val(dealer[r].telephone);
				$('#dealerAddress').val(dealer[r].address);
			});
			$('input[name="dName"]').focus();
		});
	};
	
	action.HandleData.location = function(data) {
		location = data;
		var locationLength = location.length;
		$('li.'+f+' .results ul').removeClass('loading');
		for(i=0; i < locationLength; i++) {
			$('li.'+f+' .results ul').append('<li rel="'+i+'">'+location[i].suburb+', '+location[i].postcode+' '+location[i].state+'</li>');
		}
		var list_height = $('li.'+f+' .results ul').height();
		if (list_height >= 180) {
			$('li.'+f+' .results ul').css({'height': '180px', 'overflow': 'auto'}).addClass('overflown');
		}
		$('li.'+f+' .results ul li').hover(
			function() {
				$(this).addClass('hover');
			},
			function() {
				$(this).removeClass('hover');
			}
		);
		
		$('li.'+f+' .results ul li').click(function() {
			$('.focused').removeClass('focused');	
			var e = this;
			var i = $(e).attr('rel');	
			var text = $(e).text();
			$('.dealer-search-results .other-dealers').remove();	
			$('.dealer-search-results li.dealer label').empty();
			$('input[name="location"]').val(text);
			$('li.'+f+' .results').remove();
			$('.dealer-search-results').addClass('loading');
			$.ajax({
		      url: '/toyota/main/actions/getDealerDetails',
		      data: 'suburb=' + location[i].suburb + '&postcode=' + location[i].postcode,
		      dataType: 'json',
		      error: function() { action.HandleError('There has been an error on the server.'); },
		      success: function(data, textStatus) {
				var dealer = data;
				var dealerLength = dealer.length;
				if (dealerLength == 1) {
					var title = 'Your local Toyota dealer:'; 
				} else {
					var title = 'Your nearest Toyota dealers:';
				}
				$('.dealer-search-results h4').html(title);
				$('.dealer-search-results ol').empty();
				$('.dealer-search-results ol').append('<li class="dealer"><label>'+dealer[0].dealerName+'<br />'+dealer[0].suburb+' '+dealer[0].postcode+'</label><div class="inputs"><input type="radio" name="dealerChoice" class="radio" rel="'+0+'" /></div></li>')
				$('.dealer-search-results li.dealer:first input').attr('rel', '0');		
				$('.dealer-search-results li.dealer:first input').attr('checked', 'checked');	
				if (dealerLength != 1) {
					for(p = 1; p<dealerLength; p++) {
						if (p != i) {
							$('.dealer-search-results ol').append('<li class="dealer"><label>'+dealer[p].dealerName+'<br />'+dealer[p].suburb+' '+dealer[p].postcode+'</label><div class="inputs"><input type="radio" name="dealerChoice" class="radio" rel="'+p+'" /></div></li>')
						}
					}
				}
				$('.dealer-search-results').removeClass('loading');
				$('.dealer-search-results').show();	
				$('#dealerId').val(dealer[0].dealerId);
				$('#dealerName').val(dealer[0].dealerName);
				$('#dealerSuburb').val(dealer[0].suburb);
				$('#dealerState').val(dealer[0].state);
				$('#dealerPostcode').val(dealer[0].postcode);
				$('#dealerPhone').val(dealer[0].telephone);
				$('#dealerAddress').val(dealer[0].address);
				$('.dealer-search-results input').click(function() {
					var e = this;
					var r = $(e).attr('rel');
					$('#dealerId').val(dealer[r].dealerId);
					$('#dealerName').val(dealer[r].dealerName);
					$('#dealerSuburb').val(dealer[r].suburb);
					$('#dealerState').val(dealer[r].state);
					$('#dealerPostcode').val(dealer[r].postcode);
					$('#dealerPhone').val(dealer[r].telephone);
					$('#dealerAddress').val(dealer[r].address);
				});
				$('input[name="location"]').focus();
		      }
		    });
		});
	};
	
	
	action.HandleData.HomeLocation = function(data) {
		location = data;
		var locationLength = location.length;
		$('dd.find-a-dealer form fieldset .results ul').removeClass('loading');
		for(i=0; i < locationLength; i++) {
			$('dd.find-a-dealer form fieldset ul').append('<li rel="'+i+'">'+location[i].suburb+', '+location[i].postcode+' '+location[i].state+'</li>');
		}
		var list_height = $('dd.find-a-dealer form fieldset .results ul').height();
		if (list_height >= 180) {
			$('dd.find-a-dealer form fieldset .results ul').css({'height': '180px', 'overflow': 'auto'}).addClass('overflown');
		}
		$('dd.find-a-dealer form fieldset .results ul li').hover(
			function() {
				$(this).addClass('hover');
			},
			function() {
				$(this).removeClass('hover');
			}
		);
		$('dd.find-a-dealer form fieldset .results ul li').click(function() {
			$('input#submitLeftColFind').removeAttr("disabled");
			$('input#submitLeftColFind').css("cursor","pointer");
			var e = this;
			var i = $(e).attr('rel');	
			var text = $(e).text();
			$('input[id="home-location"]').val(text);
			$('dd.find-a-dealer form fieldset .results').remove();
			$('#suburb').val(location[i].suburb);
			$('#postcode').val(location[i].postcode);
			$('#xcoord').val(location[i].xcoord);
			$('#ycoord').val(location[i].ycoord);
			$('input[id="home-location"]').focus();
		});
	};
	
	action.HandleError = function(message) {
		$('li.'+f+' .results ul').removeClass('loading');
		$('li.'+f+' .results ul').append('<li>No results could be found. '+message+'</li>');
	}
	
	action.HomeHandleError = function(message) {
		$('li.'+f+' .results ul').removeClass('loading');
		$('li.'+f+' .results ul').append('<li>No results could be found. '+message+'</li>');
	}
	
	$('input[name="dName"]').keydown(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 13:
				return false;
				break;
		}
	});

	$('input[name="dName"]').keypress(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 13:
				return false;
				break;
		}
	});
	
	$('input[name="dName"]').keyup(function(k) {
		var kc = k.keyCode;
		switch (kc) {
			case 38:
				var st = $('li.' + f + ' .results ul').scrollTop();
				var d = $('li.'+f+' .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('li.'+f+' .results ul li.hover').attr('rel');
					if(r != null) {
						r--;
						$('li.'+f+' .results ul li.hover').removeClass('hover');
						if(r < 0) {
							$('li.'+f+' .results ul li:last').addClass('hover');
						} else {
							$('li.'+f+' .results ul li[rel="'+r+'"]').addClass('hover');
						}
					} else {
						$('li.'+f+' .results ul li:last').addClass('hover');
					}
					if($('li.'+f+' .results ul').hasClass('overflown')) {
						var p = $('li.'+f+' .results ul li.hover').position();
						if (st > 0) {
							var pt = st - ( $('li.' + f + ' .results ul li.hover').outerHeight() + 10 );
							$('li.' + f + ' .results ul').scrollTop(pt);
						} else {
							$('li.' + f + ' .results ul').scrollTop('0');
						}
					}
				}
				break;
			case 40:
				var st = $('li.' + f + ' .results ul').scrollTop();
				var d = $('li.'+f+' .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('li.'+f+' .results ul li.hover').attr('rel');
					if(r != null) {
						r++;
						$('li.'+f+' .results ul li.hover').removeClass('hover');
						if(r > d) {
							$('li.'+f+' .results ul li:first').addClass('hover');
						} else {
							$('li.'+f+' .results ul li[rel="'+r+'"]').addClass('hover');
						}
					} else {
						$('li.'+f+' .results ul li:first').addClass('hover');
					}
					if($('li.'+f+' .results ul').hasClass('overflown')) {
						var p = $('li.'+f+' .results ul li.hover').position();
						if (p.top > 120) {
							var pt = st + $('li.' + f + ' .results ul li.hover').outerHeight();
							$('li.' + f + ' .results ul').scrollTop(pt);
						} else {
							$('li.' + f + ' .results ul').scrollTop('0');
						}
					}
				}
				break;
			case 13:
				var d = $('li.'+f+' .results ul');
				if(d != 0) {
					var r = $('li.'+f+' .results ul li.hover').attr('rel');
					if(r != null) {
						$('.focused').removeClass('focused');	
						var i = r	
						var text = $('li.'+f+' .results ul li[rel="'+r+'"]').text();
						$('input[name="dName"]').val(text);
						$('.dealer-search-results h4').html('Your local Toyota dealer:');
						$('.dealer-search-results ol').empty();
						$('.dealer-search-results ol').append('<li class="dealer"><label>'+dealer[i].dealerName+'<br />'+dealer[i].suburb+' '+dealer[i].postcode+'</label><div class="inputs"><input type="radio" name="dealerChoice" class="radio" rel="'+i+'" /></div></li>')
						$('.dealer-search-results li.dealer:first input').attr('rel', i);		
						$('.dealer-search-results li.dealer:first input').attr('checked', 'checked');	
						$('.dealer-search-results').show();
						$('li.'+f+' .results').remove();
						$('#dealerId').val(dealer[i].dealerId);
						$('#dealerName').val(dealer[i].dealerName);
						$('#dealerSuburb').val(dealer[i].suburb);
						$('#dealerState').val(dealer[i].state);
						$('#dealerPostcode').val(dealer[i].postcode);
						$('#dealerPhone').val(dealer[i].telephone);
						$('#dealerAddress').val(dealer[i].address);
						$('.dealer-search-results input').click(function() {
							var e = this;
							var r = $(e).attr('rel');
							$('#dealerId').val(dealer[r].dealerId);
							$('#dealerName').val(dealer[r].dealerName);
							$('#dealerSuburb').val(dealer[r].suburb);
							$('#dealerState').val(dealer[r].state);
							$('#dealerPostcode').val(dealer[r].postcode);
							$('#dealerPhone').val(dealer[r].telephone);
							$('#dealerAddress').val(dealer[r].address);
						});
						$('input[name="dName"]').focus();
					}
				}
				return false;
				break;
			default:
				var e = this;
				var i = $(e).val().length;
				i < 3 ? $('li.name .results').remove() : '';
				var n = $('input[name="dName"]').val();
				clearTimeout(t);
				if (i >= 3 && fn == false) {
					t = setTimeout(function(){
						fn = false;
						$('.focused').removeClass('focused');
						$('li.location .results').remove();
						$('li.name .results').remove();
						action.MultipleDealers.DealerName(n);
					}, 1000);
				}
				break;
		}
	});
	
	$('input[name="location"]').keydown(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 13:
				return false;
				break;
		}
	});

	$('input[name="location"]').keypress(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 13:
				return false;
				break;
		}
	});
	
	$('input[name="location"]').keyup(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 38:
				var st = $('li.' + f + ' .results ul').scrollTop();
				var d = $('li.'+f+' .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('li.'+f+' .results ul li.hover').attr('rel');
					if(r != null) {
						r--;
						$('li.'+f+' .results ul li.hover').removeClass('hover');
						if(r < 0) {
							$('li.'+f+' .results ul li:last').addClass('hover');
						} else {
							$('li.'+f+' .results ul li[rel="'+r+'"]').addClass('hover');
						}
					} else {
						$('li.'+f+' .results ul li:last').addClass('hover');
					}
					if($('li.'+f+' .results ul').hasClass('overflown')) {
						var p = $('li.'+f+' .results ul li.hover').position();
						if (st > 0) {
							var pt = st - $('li.' + f + ' .results ul li.hover').outerHeight();
							$('li.' + f + ' .results ul').scrollTop(pt);
						} else {
							$('li.' + f + ' .results ul').scrollTop('0');
						}
					}
				}
				break;
			case 40:
				var st = $('li.' + f + ' .results ul').scrollTop();
				var d = $('li.'+f+' .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('li.'+f+' .results ul li.hover').attr('rel');
					if(r != null) {
						r++;
						$('li.'+f+' .results ul li.hover').removeClass('hover');
						if(r > d) {
							$('li.'+f+' .results ul li:first').addClass('hover');
						} else {
							$('li.'+f+' .results ul li[rel="'+r+'"]').addClass('hover');
						}
					} else {
						$('li.'+f+' .results ul li:first').addClass('hover');
					}
					if($('li.'+f+' .results ul').hasClass('overflown')) {
						var p = $('li.'+f+' .results ul li.hover').position();
						if (p.top > 120) {
							var pt = st + $('li.' + f + ' .results ul li.hover').outerHeight();
							$('li.' + f + ' .results ul').scrollTop(pt);
						} else {
							$('li.' + f + ' .results ul').scrollTop('0');
						}
					}
				}
				break;
			case 13:
				var d = $('li.'+f+' .results ul');
				if(d != 0) {
					var r = $('li.'+f+' .results ul li.hover').attr('rel');
					if(r != null) {
						$('.focused').removeClass('focused');	
						var i = r;	
						var text = $('li.'+f+' .results ul li[rel="'+r+'"]').text();
						$('.dealer-search-results .other-dealers').remove();	
						$('.dealer-search-results li.dealer label').empty();
						$('input[name="location"]').val(text);
						$('li.'+f+' .results').remove();
						$('.dealer-search-results').addClass('loading');
						$.ajax({
					      url: '/toyota/main/actions/getDealerDetails',
					      data: 'suburb=' + location[i].suburb + '&postcode=' + location[i].postcode,
					      dataType: 'json',
					      error: function() { action.HandleError('There has been an error on the server.'); },
					      success: function(data, textStatus) {
							var dealer = data;
							var dealerLength = dealer.length;
							if (dealerLength == 1) {
								var title = 'Your local Toyota dealer:'; 
							} else {
								var title = 'Your nearest Toyota dealers:';
							}
							$('.dealer-search-results h4').html(title);
							$('.dealer-search-results ol').empty();
							$('.dealer-search-results ol').append('<li class="dealer"><label>'+dealer[0].dealerName+'<br />'+dealer[0].suburb+' '+dealer[0].postcode+'</label><div class="inputs"><input type="radio" name="dealerChoice" class="radio" rel="'+0+'" /></div></li>')
							$('.dealer-search-results li.dealer:first input').attr('rel', '0');		
							$('.dealer-search-results li.dealer:first input').attr('checked', 'checked');	
							if (dealerLength != 1) {
								for(p = 1; p<dealerLength; p++) {
									if (p != i) {
										$('.dealer-search-results ol').append('<li class="dealer"><label>'+dealer[p].dealerName+'<br />'+dealer[p].suburb+' '+dealer[p].postcode+'</label><div class="inputs"><input type="radio" name="dealerChoice" class="radio" rel="'+p+'" /></div></li>')
									}
								}
							}
							$('.dealer-search-results').removeClass('loading');
							$('.dealer-search-results').show();	
							$('#dealerId').val(dealer[0].dealerId);
							$('#dealerName').val(dealer[0].dealerName);
							$('#dealerSuburb').val(dealer[0].suburb);
							$('#dealerState').val(dealer[0].state);
							$('#dealerPostcode').val(dealer[0].postcode);
							$('#dealerPhone').val(dealer[0].telephone);
							$('#dealerAddress').val(dealer[0].address);
							$('.dealer-search-results input').click(function() {
								var e = this;
								var r = $(e).attr('rel');
								$('#dealerId').val(dealer[r].dealerId);
								$('#dealerName').val(dealer[r].dealerName);
								$('#dealerSuburb').val(dealer[r].suburb);
								$('#dealerState').val(dealer[r].state);
								$('#dealerPostcode').val(dealer[r].postcode);
								$('#dealerPhone').val(dealer[r].telephone);
								$('#dealerAddress').val(dealer[r].address);
							});
							$('input[name="location"]').focus();
					      }
					    });
					}
				}
				return false;
				break;
			default:
				var e = this;
				var i = $(e).val().length;
				i < 3 ? $('li.location .results').remove() : '';
				var l = $('input[name="location"]').val();
				clearTimeout(t);
				if (i >= 3 && fn == false) {
					t = setTimeout(function(){
						fn = false;
						$('.focused').removeClass('focused');
						$('li.location .results').remove();
						$('li.name .results').remove();
						action.MultipleDealers.SuburbPostcode(l);
					}, 1000); 
				}
				break;
		}
	});
	
	$('input[id="home-location"]').keydown(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 13:
				return false;
				break;
		}
	});

	$('input[id="home-location"]').keypress(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 13:
				return false;
				break;
		}
	});

	$('input[id="home-location"]').keyup(function(k) {
		var kc = k.keyCode;
		switch(kc) {
			case 38:
				var st = $('dd.find-a-dealer .results ul').scrollTop();
				var d = $('dd.find-a-dealer .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('dd.find-a-dealer .results ul li.hover').attr('rel');
					if(r != null) {
						r--;
						$('dd.find-a-dealer .results ul li.hover').removeClass('hover');
						if(r < 0) {
							$('dd.find-a-dealer .results ul li:last').addClass('hover');
						} else {
							$('dd.find-a-dealer .results ul li[rel="'+r+'"]').addClass('hover');
						}
					} else {
						$('dd.find-a-dealer .results ul li:last').addClass('hover');
					}
					if($('dd.find-a-dealer .results ul').hasClass('overflown')) {
						var p = $('dd.find-a-dealer .results ul li.hover').position();
						if (st > 0) {
							var pt = st - $('dd.find-a-dealer .results ul li.hover').outerHeight();
							$('dd.find-a-dealer .results ul').scrollTop(pt);
						} else {
							$('dd.find-a-dealer .results ul').scrollTop('0');
						}
					}
				}
				break;
			case 40:
				var st = $('dd.find-a-dealer .results ul').scrollTop();
				var d = $('dd.find-a-dealer .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('dd.find-a-dealer .results ul li.hover').attr('rel');
					if(r != null) {
						r++;
						$('dd.find-a-dealer .results ul li.hover').removeClass('hover');
						if(r > d) {
							$('dd.find-a-dealer .results ul li:first').addClass('hover');
						} else {
							$('dd.find-a-dealer .results ul li[rel="'+r+'"]').addClass('hover');
						}
					} else {
						$('dd.find-a-dealer .results ul li:first').addClass('hover');
					}
					if($('dd.find-a-dealer .results ul').hasClass('overflown')) {
						var p = $('dd.find-a-dealer .results ul li.hover').position();
						if (p.top > 120) {
							var pt = st + $('dd.find-a-dealer .results ul li.hover').outerHeight();
							$('dd.find-a-dealer .results ul').scrollTop(pt);
						} else {
							$('dd.find-a-dealer .results ul').scrollTop('0');
						}
					}
				}
				break;
			case 13:
				var d = $('dd.find-a-dealer form fieldset .results ul li:last').attr('rel');
				if(d != null) {
					var r = $('dd.find-a-dealer form fieldset .results ul li.hover').attr('rel');
					if(r != null) {
						var i = r;	
						var text = $('dd.find-a-dealer form fieldset .results ul li[rel="'+r+'"]').text();
						$('input[id="home-location"]').val(text);
						$('dd.find-a-dealer form fieldset .results').remove();
						$('#suburb').val(location[i].suburb);
						$('#postcode').val(location[i].postcode);
						$('#xcoord').val(location[i].xcoord);
						$('#ycoord').val(location[i].ycoord);
						$('input[id="home-location"]').focus();
					} else {
						$('li.'+f+' .results ul li:first').addClass('hover');
						$('li.' + f + ' .results ul').scrollTop('0');
					}
				}
				return false;
				break;
			default:
				var e = this;
				var i = $(e).val().length;
				i < 3 ? $('dd.find-a-dealer form fieldset .results').remove() : '';
				var l = $('input[id="home-location"]').val();
				clearTimeout(t);
				if (i >= 3 && fn == false) {
					t = setTimeout(function(){
						fn = false;
						$('dd.find-a-dealer form fieldset').removeClass('focused');
						$('dd.find-a-dealer form fieldset .results').remove();
						action.MultipleDealers.HomeSuburbPostcode(l);
					}, 1000); 
				}
				break;
		}
	});
	
})(jQuery);
