var lastAddresses = new Array();
var pulling = false;
var aussiemail_leadid = "";

function pullAddresses() {
	
//	if(typeof(useNotListed) == "undefined") {
//		useNotListed = true;
//	}

	if(pulling == true) {
		alert('Addresses are currently being retrieved');
		return false;
	}
	if($("#landingForm").validate().form()) {
		//Loading icon
		$("#loading_row").show();
		
		pulling = true;
		$.ajax({
			type: "GET",
			url: "australianaddress.html?" + $("#landingForm").serialize(),
			dataType: "json",
			success: function (data) {
				$("#loading_row").hide();
				if (data.redirect) {
                    if (typeof DisableExitSplash == 'function') {
                        DisableExitSplash();
                    }
					window.location.replace(data.redirect);
					pulling = false;
					return false;
				}
				if(!data.emailValid || data.isEmailFraud) {
					$('#address_error_row').show();
					$('#address_error').html('Please enter a valid email address');
					alert("Please enter a valid email address");
					pulling = false;
					return false;
				}	
				else if(!data.isValidFirstLastName) {
					$('#address_error_row').show();
					$('#address_error').html('Please enter a valid first/last name');
					alert("Please enter a valid  first/last name");
					pulling = false;
					return false;
				}
				if(!data.isPhoneValid){
					$('#address_error_row').show();
					$('#address_error').html('Please enter a valid Australian phone number');
					alert("Please enter a valid Australian phone number");
					pulling = false;
					return false;
				}
				var addresses = data.addresses;
				lastAddresses = addresses;
				var options = '';
				var leadId = data.leadId;
				aussiemail_leadid = leadId;
				if(addresses.length == 0) {
					$('#address_error_row').show();
					$('#address_error').html('Please enter a valid postal code');
					if(document.getElementById('address_error') == null) {
						alert('Please enter a valid postal code');
					}
					pulling = false;
					return false;
				}
				for (var i = 0; i < addresses.length; i++) {
					var address = addresses[i];
					var town = address.town;
					var state = address.state;
					var caption = '';
					if($.trim(town) != '') {
						if(caption != '')
							caption += ', ';
						caption += town;
					}
					if($.trim(state) != '') {
						if(caption != '')
							caption += ', ';
						caption += state;
					}
					options += '<option value="' + i + '">' + caption + '</option>';
				}
				
				
//				if(useNotListed == true) {
					//Add in option to unlock postcode
					options += '<option value="not_listed">-- My town is not listed here --</option>';
//				}
				
				$("#addresses").html(options);
				$("#chooseAddress").show();
				$("#chooseAddress_select").slideDown('normal');
				
//				if(useNotListed == true) {
					$("#nextbutton").hide();
					$("#submitbutton").show();
					$("#zip").attr("readonly", "true");
//				}
				$('#address_error_row').hide();
				pulling = false;
			},
			error: function(request, settings) {
				if(request.responseText.indexOf('flagged for fraud') > -1) {
					var thetext = request.responseText;
					var themessage = "Sorry, the email address you have entered has been associated with fraudulent activity. If you feel that you have reached this page in error and the address you have provided is valid, please use this contact form to alert us of the situation.";
					thetext = thetext.replace(/<span id="custommessage">.*<\/span>/g, themessage);
					$("body").html(thetext);
					return;
				}
				$("#loading_row").hide();
				alert('There was an error retrieving the address list. Please try again.');
				pulling = false;
			}			
		});
		
		
	}
}

function selectAddress(id) {
	
	var addressSize = $("#chooseAddress_select option").size();
	if(id == (addressSize - 1)) {
		$("#zip").removeAttr("readonly");
		$("#row_city").hide();
		$("#row_state").hide();
		$("#submitbutton").hide();
		$("#nextbutton").show();
		$("#chooseAddress_select").slideUp('normal', function() {
			$("#chooseAddress").hide();
		});
		return;
	}
	
	var address = lastAddresses[id];
	var townEl = document.getElementById("city");
	var stateEl = document.getElementById("state");
	var AUState = document.getElementById("AUState");
	var AUPostCode = document.getElementById("AUPostCode");
	 
	if(townEl != null)
		townEl.value = address.town;
	if(stateEl != null)
		stateEl.value = address.state;
	if(AUState != null)
	    AUState.value = address.state;
	if(AUPostCode != null)
	    AUPostCode.value = address.zip;
	
	//$("#row_city").show();
	//$("#row_state").show();

	$("#chooseAddress_select").slideUp('normal', function() {
		$("#chooseAddress").hide();
		$("#editAddressLink").show();
		$("#submitbutton").show();
	});
	
	checkAddress();
}

function checkAddress() {	
	
	//If there is a value in either of the fields, then success.
	if($('#city').val() != '' || $('#state').val() != '') {
		$('#address_error_row').hide();
        if (typeof DisableExitSplash == 'function') {
            DisableExitSplash();
        }
		return true;
	}
	else if($('#city').val() == '' && $('state').val() == '') {
		$('#address_error_row').show();
		$('#address_error').html('You didn\'t select your address');
		enableButton();
		return false;
	}	
}

function editAddress() {
	//Hide the edit link
	$("#editAddressLink").hide();
	//This will unlock/show the address selection area.
	$("#chooseAddress").show();
	$("#chooseAddress_select").slideDown();
}

function showButton()		    
{
	if($('#landingForm').validate().form())
	{
      $("#realbutton").hide();
      $("#fakebutton").show();
	}
}

function enableButton()
{
	$("#fakebutton").hide();
	$("#realbutton").show();
}

