/* *********************************************************
** POSTCODES.JS - Javascript Database Program by ZD-Net
** =========================================================
** This file contains data and functions for the execution 
** of the Australia Post delivery processing.
** Please maintain this header and enjoy!
** And please contact us regarding use of this script.
**
** Author                Ver  Date     Comments
** ======                ===  ====     ========
** Rick Scott            1.0  01/08/00 Grand debut: shopcart.js
** BluePrint Web Designs 5.0  15/03/01 Australia Postcode version
**
** Copyright 2001, Rick Scott/BluePrint Web Designs
** All rights reserved.
** Contact: BluePrint Web Designs on (Australia) 0404-850840.
** or via 'http://oncellars.com.au/aboutus.htm#blueprint'
********************************************************* */

var currReg = "Q4";
var firstReg = "N1";          //do not reset
var lastReg = "W5";           //do not reset
var currZoneID = currReg;    // ID of current content page

//** REGIONS **
var N1 = "New South Wales: Urban";
var N2 = "New South Wales: Rural";
var NF = "New South Wales: Norfolk Island";
var NT = "Northern Territory";
var Q1 = "Queensland South";
var Q2 = "Queensland Central";
var Q3 = "Queensland North";
var Q4 = "Queensland West";
var S1 = "South Australia: Urban";
var S2 = "South Australia: Rural";
var T1 = "Tasmania";
var V1 = "Victoria: Urban";
var V2 = "Victoria: Rural";
var W1 = "Western Australia: South";
var W2 = "Western Australia: Central";
var W3 = "Western Australia: North";
var XX = "Invalid Postcodes";


//** ERROR MESSAGES **
var noPostcodeMsg = "No postcode provided for processing ...";
var invalidPostcodeMsg = "Postcode entered not found on our Postcode Tables ...";

//** ITEM OBJECT CONSTRUCTOR FUNCTION **
function Zone(start, end, country, region)
  {
  this.start = start;              // start of range (string)
  this.end = end;                  // end of range (string)
  this.country = country;          // country code (string: AUS)
  this.region = region;            // AusPost Zone for Postcode (string)
  }

var zones = new Array();      // holds all Postcode objects in list
var zcount = -1;               // enables Zone objs to be added/deleted anywhere in zones[]

/* INVENTORY LIST *************************************** */
// Most of the functionality derives from this inventory list.
// CAUTION:
// DO NOT modify the first and last lines of the entries:
//   zones[++zcount] = new Item(
//   );
// Make sure each argument -- except the last! -- is followed by a , (comma).

zones[++zcount] = new Zone(
"9960", 
"9999", 
"AUS", 
"Q4"
);

zones[++zcount] = new Zone(
"9920", 
"9959", 
"AUS", 
"Q3"
);

zones[++zcount] = new Zone(
"9880", 
"9919", 
"AUS", 
"Q2"
);

zones[++zcount] = new Zone(
"9800", 
"9879", 
"AUS", 
"XX"
);

zones[++zcount] = new Zone(
"9700", 
"9799", 
"AUS", 
"Q1"
);

zones[++zcount] = new Zone(
"9600", 
"9699", 
"AUS", 
"XX"
);

zones[++zcount] = new Zone(
"9597", 
"9599", 
"AUS", 
"Q2"
);

zones[++zcount] = new Zone(
"9400", 
"9596", 
"AUS", 
"Q1"
);

zones[++zcount] = new Zone(
"9300", 
"9399", 
"AUS", 
"XX"
);

zones[++zcount] = new Zone(
"9000", 
"9299", 
"AUS", 
"Q1"
);

zones[++zcount] = new Zone(
"8000", 
"8999", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"7000", 
"7999", 
"AUS", 
"T1"
);

zones[++zcount] = new Zone(
"6800", 
"6999", 
"AUS", 
"W1"
);

zones[++zcount] = new Zone(
"6700", 
"6799", 
"AUS", 
"W3"
);

zones[++zcount] = new Zone(
"6206", 
"6699", 
"AUS", 
"W2"
);

zones[++zcount] = new Zone(
"6000", 
"6205", 
"AUS", 
"W1"
);

zones[++zcount] = new Zone(
"5800", 
"5999", 
"AUS", 
"S1"
);

zones[++zcount] = new Zone(
"5750", 
"5799", 
"AUS", 
"XX"
);

zones[++zcount] = new Zone(
"5200", 
"5749", 
"AUS", 
"S2"
);

zones[++zcount] = new Zone(
"5000", 
"5199", 
"AUS", 
"S1"
);

zones[++zcount] = new Zone(
"4900", 
"4999", 
"AUS", 
"XX"
);

zones[++zcount] = new Zone(
"4806", 
"4899", 
"AUS", 
"Q4"
);

zones[++zcount] = new Zone(
"4700", 
"4805", 
"AUS", 
"Q3"
);

zones[++zcount] = new Zone(
"4550", 
"4699", 
"AUS", 
"Q2"
);

zones[++zcount] = new Zone(
"4500", 
"4549", 
"AUS", 
"Q1"
);

zones[++zcount] = new Zone(
"4450", 
"4499", 
"AUS", 
"Q3"
);

zones[++zcount] = new Zone(
"4300", 
"4449", 
"AUS", 
"Q2"
);

zones[++zcount] = new Zone(
"4000", 
"4299", 
"AUS", 
"Q1"
);

zones[++zcount] = new Zone(
"3984", 
"3999", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3980", 
"3983", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3979", 
"3979", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3978", 
"3972", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3945", 
"3971", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3926", 
"3944", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3921", 
"3925", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3910", 
"3920", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3812", 
"3909", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3750", 
"3811", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3691", 
"3749", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3689", 
"3690", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"3444", 
"3688", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3425", 
"3443", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3342", 
"3424", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3335", 
"3341", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"3221", 
"3334", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"3000", 
"3220", 
"AUS", 
"V1"
);

zones[++zcount] = new Zone(
"2900", 
"2999", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2899", 
"2899", 
"AUS", 
"NF"
);

zones[++zcount] = new Zone(
"2891", 
"2898", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2890", 
"2890", 
"AUS", 
"N1"
);

zones[++zcount] = new Zone(
"2881", 
"2889", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2880", 
"2880", 
"AUS", 
"S2"
);

zones[++zcount] = new Zone(
"2787", 
"2879", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2740", 
"2786", 
"AUS", 
"N1"
);

zones[++zcount] = new Zone(
"2731", 
"2739", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"2720", 
"2730", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2717", 
"2719", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"2716", 
"2716", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2715", 
"2715", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"2649", 
"2714", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2648", 
"2648", 
"AUS", 
"V2"
);

zones[++zcount] = new Zone(
"2575", 
"2647", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2555", 
"2574", 
"AUS", 
"N1"
);

zones[++zcount] = new Zone(
"2531", 
"2554", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2500", 
"2530", 
"AUS", 
"N1"
);

zones[++zcount] = new Zone(
"2487", 
"2499", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"2485", 
"2486", 
"AUS", 
"Q1"
);

zones[++zcount] = new Zone(
"2264", 
"2484", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"1000", 
"2263", 
"AUS", 
"N1"
);

zones[++zcount] = new Zone(
"0800", 
"0999", 
"AUS", 
"NT"
);

zones[++zcount] = new Zone(
"0300", 
"0799", 
"AUS", 
"XX"
);

zones[++zcount] = new Zone(
"0200", 
"0299", 
"AUS", 
"N2"
);

zones[++zcount] = new Zone(
"0000", 
"0199", 
"AUS", 
"XX"
);


