$(document).ready(function() {
	processSelectOnLoad();
});

function processSelectOnLoad() {
	if ($("#country").length > 0){
		
		countryId = $("#country").val();
		
		if (countryId == '') {
				
			$('#state')
			    .find('option')
			    .remove();
			$('#state').append($("<option></option>").attr("value",'').text('--State--'));
			
		} else {
			
			$.post("/location/getCountryFromIdJson", { q: countryId },
			function(data){
				$('#phoneCountryCode')
				    .find('option')
				    .remove();
				
				$('#faxCountryCode')
				    .find('option')
				    .remove();
				
				$('#mobileCountryCode')
				    .find('option')
				    .remove();
				
				$('#phoneCountryCode').append($("<option></option>").attr("value",data.countryCode).text(data.countryCode));
				$('#faxCountryCode').append($("<option></option>").attr("value",data.countryCode).text(data.countryCode));
				$('#mobileCountryCode').append($("<option></option>").attr("value",data.countryCode).text(data.countryCode));
				
			},
			"json");
			
			$.post("/location/getStatesForCountryJson", { q: countryId },
			function(data){
				
				$('#state')
				    .find('option')
				    .remove();
				
				$('#state').append($("<option></option>").attr("value",'').text('--State--'));
				
				$.each(data, function(i, a) {
					$('#state').append($("<option></option>").attr("value",a.stateId).text(a.state + " (" + a.stateCode + ")"));
				});
				
				if ($('#stateId').val() != '' ) {
					stateId = $('#stateId').val();
					$("#state option[value='"+stateId+"']").attr('selected', 'selected');
					
					$.post("/location/getSuburbForStateJson", { q: stateId },
					function(data){
						$('#suburb')
						    .find('option')
						    .remove();
						
						$('#suburb').append($("<option></option>").attr("value",'').text('--Suburb--'));
						
						$.each(data, function(i, a) {
							$('#suburb').append($("<option></option>").attr("value",a.suburbId).text(a.suburb));
						});
						
						if ($('#suburbId').val() != '' ) {
							suburbId = $('#suburbId').val();
							$("#suburb option[value='"+suburbId+"']").attr('selected', 'selected');
						}
						
						stateText = $("#state option:selected").text();
						
						$('#phoneStateCode')
						    .find('option')
						    .remove();
						$('#phoneStateCode').append($("<option></option>").attr("value",stateId).text(stateText));
						
						$('#faxStateCode')
						    .find('option')
						    .remove();
						$('#faxStateCode').append($("<option></option>").attr("value",stateId).text(stateText));
								
						$.fancybox.hideActivity();
					},
					"json");
					
				}
			},
			"json");
			
			
		}
	}
	
	$("#state").change(function () {
		stateId = $("#state").val();
		
		$.fancybox.showActivity();
		
		if (stateId == '') {
				
			$('#suburb')
			    .find('option')
			    .remove();
			$('#suburb').append($("<option></option>").attr("value",'').text('--Suburb--'));
			$.fancybox.hideActivity();
		} else {
			$.post("/location/getSuburbForStateJson", { q: stateId },
			function(data){
				$('#suburb')
				    .find('option')
				    .remove();
				
				$('#suburb').append($("<option></option>").attr("value",'').text('--Suburb--'));
				
				$.each(data, function(i, a) {
					$('#suburb').append($("<option></option>").attr("value",a.suburbId).text(a.suburb));
				});
				
				/*
				if ($('#suburbId').length > 0) {
					suburbId = $('#suburbId').val();
					$("#suburb option[value='"+suburbId+"']").attr('selected', 'selected');
				}
				*/
				stateText = $("#state option:selected").text();
				
				$('#phoneStateCode')
				    .find('option')
				    .remove();
				$('#phoneStateCode').append($("<option></option>").attr("value",stateId).text(stateText));
				
				$('#faxStateCode')
				    .find('option')
				    .remove();
				$('#faxStateCode').append($("<option></option>").attr("value",stateId).text(stateText));
						
				$.fancybox.hideActivity();
			},
			"json");
		}
	});
	
	$("#suburb").change(function () {
		suburbId = $("#suburb").val();
		
		$.fancybox.showActivity();
		
		if (suburbId == '') {
				
			$('#postCode').val('');
			$.fancybox.hideActivity();
		} else {
			$.post("/location/getSuburbFromIdJson", { q: suburbId },
			function(data){
				$('#postCode').val(data.postCode);
				
				$.fancybox.hideActivity();
			},
			"json");
		}
	});
	
}

function buildStateList() {
	countryId = $("#deliveryLocationCountry").val();
	
	$.post("/location/getStatesForCountryJson", { q: countryId },
	function(data){
		$('#deliveryLocationState')
		    .find('option')
		    .remove();
		
		$('#deliveryLocationState').append($("<option></option>").attr("value",'').text('--State--'));
		
		$.each(data, function(i, a) {
			$('#deliveryLocationState').append($("<option></option>").attr("value",a.stateId).text(a.state + " (" + a.stateCode + ")"));
		});
	},
	"json");
}

function buildSuburbList() {
	$("#deliveryLocationState").change(function () {
		stateId = $("#deliveryLocationState").val();
		
		$.fancybox.showActivity();
		
		if (stateId == '') {
				
			$('#deliveryLocationSuburb')
			    .find('option')
			    .remove();
			$('#deliveryLocationSuburb').append($("<option></option>").attr("value",'').text('--Suburb--'));
			$.fancybox.hideActivity();
		} else {
			$.post("/location/getSuburbForStateJson", { q: stateId },
			function(data){
				$('#deliveryLocationSuburb')
				    .find('option')
				    .remove();
				
				$('#deliveryLocationSuburb').append($("<option></option>").attr("value",'').text('--Suburb--'));
				
				$.each(data, function(i, a) {
					$('#deliveryLocationSuburb').append($("<option></option>").attr("value",a.suburbId).text(a.suburb));
				});
						
				$.fancybox.hideActivity();
			},
			"json");
		}
	});
}

function buildDeliveryLocation() {
	$("#deliveryLocationSuburb").change(function () {
		suburbId = $("#deliveryLocationSuburb").val();
		
		$.fancybox.showActivity();
		
		if (suburbId == '') {
			//$('#postCode').val('');
			$.fancybox.hideActivity();
		} else {
			$.post("/location/getSuburbFromIdJson", { q: suburbId },
			function(data){
				
				if (data.deliveryCharges) {
					if (data.deliveryCharges == 0.01) {
						$('#divDeliveryMessage').html('Congratulations!!!<br /> We provide delivery service in selected suburb.' + '<br />Delivery Charge: FREE');
					} else {
						$('#divDeliveryMessage').html('Congratulations!!!<br /> We provide delivery service in selected suburb.' + '<br />Delivery Charge: ' + data.deliveryCharges);
					}
				} else {
					$('#divDeliveryMessage').html('Sorry!!!<br /> We do not deliver in selected suburb.');
				}
				
				$.fancybox.hideActivity();
			},
			"json");
		}
	});
}


function buildDeliveryZipcode() {
	$("#formZipcode").submit(function(e) {
		e.preventDefault();
		
		zipcode = $("#deliveryLocationZipCode").val();
		
		$.fancybox.showActivity();
		
		if (zipcode == '') {
			//$('#postCode').val('');
			$.fancybox.hideActivity();
		} else {
			$.post("/location/getSuburbFromPostCodeJson", { q: zipcode },
			function(data){
				
				if (data.deliveryCharges) {
					if (data.deliveryCharges == 0.01) {
						$('#divDeliveryMessage').html('Congratulations!!!<br /> We provide delivery service in selected suburb.' + '<br />Delivery Charge: FREE');
					} else {
						$('#divDeliveryMessage').html('Congratulations!!!<br /> We provide delivery service in selected suburb.' + '<br />Delivery Charge: ' + data.deliveryCharges);
					}						
				} else {
					$('#divDeliveryMessage').html('Sorry!!!<br /> We do not deliver in selected suburb.');
				}
				
				$.fancybox.hideActivity();
			},
			"json");
		}
	});
}


