browserName = navigator.appName; 
browserVer = parseInt(navigator.appVersion);  
if (browserName == "Netscape" && browserVer >= 3) { browserCheck = "ok"; }  
else {       
if (browserName == "Microsoft Internet Explorer" && browserVer >= 3) 
{ browserCheck = "ok"; }      
else { browserCheck = "bad"; }  
}  
if (browserCheck == "ok") 
{   
b0a = new Image(); b0a.src = "but0.gif";
b0b = new Image(); b0b.src = "but0a.gif";
b1a = new Image(); b1a.src = "but1.gif";
b1b = new Image(); b1b.src = "but1a.gif";
b2a = new Image(); b2a.src = "but2.gif";
b2b = new Image(); b2b.src = "but2a.gif";
b3a = new Image(); b3a.src = "but3.gif";
b3b = new Image(); b3b.src = "but3a.gif";
b4a = new Image(); b4a.src = "but4.gif";
b4b = new Image(); b4b.src = "but4a.gif";
b5a = new Image(); b5a.src = "but5.gif";
b5b = new Image(); b5b.src = "but5a.gif"; 
}  
function imgswap( Iname1, Iname2) 
{ 
if (browserCheck == "ok") 
{ 
document [Iname1].src = eval(Iname2 + ".src"); } }    


function Zoom(theImage,theTitle,x,y) 
{     
var x1 = x + 24     
var y1 = y + 80 	
var newWindow = null         
newWindow = window.open("","","width="+x1+",height="+y1+",scrollbars=no,resizable=yes")   	
if (newWindow !=null) 
{ 		
newWindow.focus() 		
var newimage = "<HTML><link rel='stylesheet' type='text/css' HREF='newpage.css'><HEAD><TITLE>" +theTitle+ "</TITLE></HEAD>" 		
newimage += "<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 CLASS='popup'><FORM><DIV align=\"center\"><IMG SRC=" +theImage+ " WIDTH=" +x+ " HEIGHT=" +y+ " BORDER=0 VSPACE=10 CLASS='popup'><BR>" 		
newimage += "<FONT CLASS='popup'><B>" +theTitle+ "</B></FONT><BR>" 		
newimage += "<IMG SRC='space.gif' WIDTH=1 HEIGHT=10><BR>" 		
newimage += "<INPUT TYPE='button' CLASS='popup' VALUE='Close This Window' onClick='javascript:window.close()'></FORM></DIV>" 		
newimage += "</BODY></HTML>" 		
newWindow.document.write(newimage) 		
newWindow.document.close() 	} } 


function CurrencyPopup(QueryString)
{
CurrencyWindow = window.open ('', 'CurrencyWindow', 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,height=170,width=600')
CurrencyWindow.focus()
CurrencyWindow.location.href = 'http://www.xe.com/ecc/input.cgi?Template=sw&'+QueryString
}

function BrowserIsIE6() { return (navigator.userAgent.match(/MSIE 6\./)); }

// Start of User Editable Constants //

var suburbs = { // the array key must match the CSS ID of a given suburb
  'trinitypark':['o_bluewater'],
  'palmcove':['e_paradise','o_argentea'],
  'smithfield':['e_southpoint','o_canopy'],
  'caravonica':['e_redpeak'],
  'redlynch':['o_redlynch'],
  'cairnscity':['e_kanimbla'],
  'mountsheridan':['e_forest','o_avenue'],
  'centenaryheights':[],
  'edmonton':['o_kingfisher','e_silkwood','o_stony'],
  'gordonvale':['e_fairways','o_pyramid','o_riverstone','e_nelson','e_goldsborough']


};


var row_font_colour = '#242424';

var odd_row_colour = '#E6EDDD';
var even_row_colour = '#D6E1C7';

var odd_row_bg_image = "url('list1.gif')";
var even_row_bg_image = "url('list2.gif')";

var sel_row_colour = '#AED08A';
var sel_row_bg_image = "url('list3.gif')";

var button_background = BrowserIsIE6() ? "transparent url('g-button.gif')" : "transparent url('g-button.png')";
var button_background_selected = BrowserIsIE6() ? "transparent url('g-button-selected.gif')" : "transparent url('g-button-selected.png')";
var button_width = "18px";
var button_height = "18px";
// alert(button_background);
// End of User Editable Constants //


var Flies = new Object;
Flies['nav'] = new Object;

//Pre-Populate Object with suburbs set to false
for(var i in suburbs){
  Flies['nav'][i] = false;
}

function highlightEstates(id,state) {  

  // If this method is being called from a mouseOut event
  // - then return all suburbs to their original colour after 5 seconds
  if(state == false){
    var exception_suburb = false;
    SuburbIsUnselected(id);
  }
  else{
    var exception_suburb = id;
    swatAllFlies();
  }

  clearAllEstateColours(exception_suburb);
  clearAllSuburbColours();

  //Highlight Suburb Dot for currently selected Estate
  // ID(id).style.backgroundColor = 'transparent';
  ID(id).style.background = button_background_selected;
  ID(id).style.width = button_width;
  ID(id).style.height = button_height;

  //Highlight Estates that match the currently hovered suburb
  for(var i in suburbs[id]) {
    if(state == true){ // If mouse has entered map rectangle
      ID(suburbs[id][i]).parentNode.style.backgroundColor = sel_row_colour;
      ID(suburbs[id][i]).parentNode.style.backgroundImage = sel_row_bg_image;
    }
  }
}


function highlightSuburb(estate,state) {  
  // If the user moves their mouse away from an Estate Row
  // Then, clear return all estates on the list to their correct colour.
  if(state == false){
    clearAllEstateColours(false);
    clearAllSuburbColours();
    return true;
  }
  
  //CSS Hover Effect
  clearAllEstateColours(false);
  clearAllSuburbColours();

  //Show currently hovered row as selected CSS
  ID(estate).parentNode.style.backgroundImage = sel_row_bg_image;
  ID(estate).parentNode.style.backgroundColor = sel_row_colour;
  ID(estate).style.color = row_font_colour;
  
  for( var i in suburbs ){
    if(in_array(estate, suburbs[i])){
      if(state == true){
        ID(i).style.background = button_background_selected;
        ID(i).style.width = button_width;
        ID(i).style.height = button_height;
      }
    }  
  }
}

// Return all Suburb dots to unselected
function clearAllSuburbColours(){
  //unselect previously selected dots
  
  for( var i in suburbs ){
      ID(i).style.background = button_background;
      ID(i).style.width = button_width;
      ID(i).style.height = button_height;
  }
}

//Return all Estate Rows to their original Colours
function clearAllEstateColours(exception_suburb){

  for( var id in suburbs){
    if(id == exception_suburb || Flies['nav'][id] != false){
      continue;
    }
    for(var i in suburbs[id]) {
      estate = suburbs[id][i]
      part = estate.substr(0,1);
      ID(estate).parentNode.style.backgroundColor = part == 'o' ? odd_row_colour : even_row_colour;
      ID(estate).parentNode.style.backgroundImage = part == 'o' ? odd_row_bg_image : even_row_bg_image;
    }
  }
}

function swatAllFlies(){
  for( var id in suburbs){
    Flies['nav'][id] = false;
  }
}

function SuburbIsUnselected(suburb) {
  swatAllFlies();
  Flies['nav'][suburb] = setTimeout("hideASuburbsEstates('"+suburb+"')", 750);
}

function hideASuburbsEstates(suburb){

  if(Flies['nav'][suburb] == false)
    return true;
    
  for( var id in suburbs){
    if(id==suburb){
  
      for(var i in suburbs[id]) {
        estate = suburbs[id][i];
        part = estate.substr(0,1);
        ID(estate).parentNode.style.backgroundColor = part == 'o' ? odd_row_colour : even_row_colour;
        ID(estate).parentNode.style.backgroundImage = part == 'o' ? odd_row_bg_image : even_row_bg_image;
      }
  
    }
  }
  ID(suburb).style.background = button_background;
  Flies['nav'][suburb] = false;
}


function in_array(needle,haystack) {
  for(var i in haystack){
    if(haystack[i] == needle)
      return true;
  }
  return false;
}        

// Helper function
function ID(id){
  return document.getElementById(id);
}

//IE hack to make background Images cache..
var version=0
if (navigator.appVersion.indexOf("MSIE")!=-1){
temp=navigator.appVersion.split("MSIE");
version=parseFloat(temp[1]);
document.execCommand("BackgroundImageCache",false,true);
}

