// JavaScript Document

function swapThatDiv(div,id) {

	thisDiv 		= document.getElementById(div);
	thisImg 		= document.getElementById(id);
	
	var menuOn 		= '/images/menuItem_on.jpg';
	var menuOff 	= '/images/menuItem.jpg';
	
	var dynMenus 	= new Array('menu03','menu04','menu05','menu06');
	var dynImg 		= new Array('img03','img04','img05','img06');
	
	var thisDynMenu;
	var thisDynImg;
	
	if(thisDiv.style.display=='none') {
	
		thisDiv.style.display 	= 'inline';
		thisImg.src 			= menuOn;
		thisImg.width 			= '11';
		thisImg.height 			= '10';
		
		if(div=='menu03'||div=='menu04'||div=='menu05'||div=='menu06') {
		
			for(i=0;i<=dynMenus.length;i++) {
			
				if(dynMenus[i]!=div) {
				
					if(dynMenus[i]) {
					
						thisDynMenu = document.getElementById(dynMenus[i]);
						thisDynImg	= document.getElementById(dynImg[i]);
						
						thisDynMenu.style.display	= 'none';
						thisDynImg.src 				= menuOff;
						thisDynImg.width 			= '10';
						thisDynImg.height 			= '11';
					
					}
				
				}
			
			}
		
		}
		
	} else {
	
		thisDiv.style.display = 'none';
		thisImg.src = menuOff;
		thisImg.width 			= '10';
		thisImg.height 			= '11';
	
	}

}
	
function popMenu(sel,target){
	var t=document.getElementById(target);
	var gcat=sel.options[sel.selectedIndex];
	var gtypes=grouptypes[gcat.value];
	var topt=null;
	if(t){
		for(i=t.length-1;i>0;i--){
			t.remove(i);
		}
		for(j in gtypes){
			topt=document.createElement('option');
			topt.value=j;
			topt.text=gtypes[j];
			try{
				t.add(topt,null);
			}catch(e){
				t.add(topt);
			}
		}
		if( gcat.value == 0 ){
			t.disabled=true;	
		}else{
			t.disabled=false;
		}
	}
}

function checkPrice() {

	var priceMin = document.getElementById('min').value;
	var priceMax = document.getElementById('max').value;
	
	if(IsNumeric(priceMin)&&IsNumeric(priceMax)) {
		
		if((parseInt(priceMin))<(parseInt(priceMax))) {
		
			document.getElementById('price_error').style.display='none';
			document.getElementById('price_error_content').innerHTML='';
		
		} else if((parseInt(priceMin))===(parseInt(priceMax))) {
		
			document.getElementById('price_error').style.display='none';
			document.getElementById('price_error_content').innerHTML='';
		
		} else if((parseInt(priceMin))>(parseInt(priceMax))) {
		
			document.getElementById('price_error').style.display='inline';
			document.getElementById('price_error_content').innerHTML='Your Minimum price cannot be larger than your Maximum price!';
		
		} 
		
	} else {
	
		document.getElementById('price_error').style.display='none';
		document.getElementById('price_error_content').innerHTML='';
	
	}

}

function clearSuburbs(control){
var suburbText = document.getElementById('suburb');
suburbText.value = '';
for(var i = 0;i < control.length;i++){
control.options[i].selected = false;
}
control.options[0].selected = true;
}

var apaIndex = new Object;
apaIndex.populated = false;

function apaComplete () {
	if (!document.getElementById) return;
	var text   = document.getElementById('suburb');
	var select = document.getElementById('suburbs');
	if (!apaIndex.populated) apaBuildIndex();
	var suburb = text.value.match(/,*([^,]+)$/);
	if (suburb) {
	var name = suburb[1].toUpperCase().replace(/^\s*/, '').replace(/\s*$/, '');
	for (var i = apaIndex[name.charAt(0)]; i < select.options.length; i++) {
	if (select.options[i].text.toUpperCase().indexOf(name) == 0) {
	select.selectedIndex = i;
	break;
	}
	else {
	select.selectedIndex = -1;
	} } } 
}

function apaInsert () {
	if (!document.getElementById) return false;
	var text = document.getElementById('suburb');
	var select = document.getElementById('suburbs');
	text.focus();
	var suburb = select.options[select.selectedIndex];
	if (select.selectedIndex == 0) {
	text.value = '';
	return true;
	}
	var textSuburbs = text.value.split(/\s*,\s*/);
	if (!textSuburbs) return false;
	var pattern = new RegExp('\s*' + suburb.text + '\s*$');
	for (var i = 0; i < textSuburbs.length; i++) {
	if (pattern.exec(textSuburbs[i])) return false;
	}
	var newvalue = text.value.replace(
	/(^|,)([^,]*)$/,
	"$1 " + suburb.text + ', '
	);
	text.value = newvalue;
	return false; 
}

function apaBuildIndex () {
	if (!document.getElementById) return;
	var select = document.getElementById('suburbs');
	for (var i = select.options.length; i--;) {
	apaIndex[select.options[i].text.toUpperCase().charAt(0)] = i;
	} apaIndex.populated = true;
}

function apaRegion (id) {
 if (!document.getElementById) return;
 var select     = document.getElementById('suburbs');
 var regionId   = document.getElementById('region');
 var region     = apaSuburbs[id];
 apaRegionId    = id;
 regionId.value = id;
 

 if (!apaSuburbs[id]) return;
 // populate select
 // remove all optgroups from the select
 var eachGroup;
 while (eachGroup = select.firstChild) {
 select.removeChild(eachGroup);
 }
 select.length        = 0;
  while (select.options.length > 1) {
 select.options.remove(1);
 }

 addOption(allLocationLabel(region.name), id, select);

 select.selectedIndex = 0;
 for (var i = 0; i < region.places.length; i++) {
 addOption(region.places[i].name, region.places[i].name, select);
 if (region.places[i].places != null && region.places[i].places.length > 0) {
 var optGroup = document.createElement("optgroup");
 optGroup.label = 'In and around ' + unescape(region.places[i].name) + '...';
 select.appendChild(optGroup);
 for (var j = 0; j < region.places[i].places.length; j ++) {
 addOption(
 region.places[i].places[j].name,
 region.places[i].places[j].name,
 optGroup
 );
 }
 }
 }
 // populate index
 if (!apaSuburbsIndex[id]) {
 apaSuburbsIndex[id] = new Object;
 for (var i = select.options.length; i--;) {
 var text = select.options[i].text.replace(/^\*{3} All /,'').replace(/ Suburbs \*{3}$/,'');
 apaSuburbsIndex[id][text.toUpperCase().charAt(0)] = i;
 }
 apaSuburbsIndex[id].populated = true;
 }
}
 function allLocationLabel(name) {
 return '*** All ' + name + ' Suburbs ***';
}
function addOption(selectId, txt, val, defSel){
	// if Safari/Konqueror
	if(window.webkit) {	
		var element = $(selectId);
		var newone = new Option(txt,val,defSel);
		element.add(newone,element.options[element.options.length]);
	// if Internet Explorer (any)
	} else if(window.ie) {
		var objOption = new Option(txt, val, defSel, defSel);
		$(selectId).options.add(objOption);
	// if Mozilla/Gecko/Opera
	} else {
		var objOption = new Option(txt, val, defSel);
		$(selectId).options.add(objOption);
	}
}

function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
	  
   return IsNumber;
   
}

function cs(f,b) { window.location.reload( false ); }
function ns(f,b) { window.location = b; }

function CreateBookmarkLink(title,url) {

if (window.sidebar) { // Mozilla Firefox Bookmark
	window.sidebar.addPanel(title, url,"");
} else if( window.external ) { // IE Favorite
	window.external.AddFavorite( url, title); }
else if(window.opera && window.print) { // Opera Hotlist
	return true; }
}
 
function imageManager(img,url) {
	var width = 780;
	var height = 600;
	if(url) { imgURL = url; }
	if (typeof SymRealWinOpen != 'undefined') {
		if(navigator.appVersion.indexOf("MSIE")!=-1) { /* ie */
			window.open = SymRealWinOpen;
		} else {
			alert('Norton Internet Security may block this popup.\nPlease disable your popup blocker if you experience any problems.');
		}
	}
	w=window.open(imgURL + img,'imageManager','menubar=no,toolbar=no,status=no,width='+width+',height='+height+',resizable=no,scrollbars=no');
	w.focus();
}
	
var numImages = 0; // total images
var currentImage = 1; // current image
var imageCycle; // image cycle interval var

// start cycle
function startImageCycle(){							    
	if(!imageCycle){
		imageCycle = setInterval('cycleImages()', 3500);
		}
	}

// fade in mozilla
var fadein_opacity = 0.04;							 
var fadein_img = '';
function fadein(opacity) {
	if (typeof opacity != 'undefined') fadein_opacity = opacity;
	if (fadein_opacity < 0.99 && fadein_img && fadein_img.style && typeof fadein_img.style.MozOpacity != 'undefined') {
		fadein_opacity += .05;
		fadein_img.style.MozOpacity = fadein_opacity;
		setTimeout("fadein()", 10);
		}
	}

// cycle
function cycleImages(){
	if(numImages < 2){		   
		stopImageCycle();	
		return;					   
		}
	if(currentImage > numImages){
		currentImage = 1;
		}
	if(currentImage < 1){
		currentImage = numImages;
		}
	var thisImage = eval("objImage"+currentImage);
	
	// set up fade for ie
	if(typeof document.getElementById('mainPhoto').filters != "undefined"){
		document.getElementById('mainPhoto').filters[0].Apply();
		}
	// change image
	document.getElementById('mainPhoto').src = thisImage.src;
	document.getElementById('mainPhotoLink').href = 'javascript:startImageCycles();';
	document.getElementById('mainPhotoLink').target = '_parent';
	document.getElementById('location').innerHTML = 'Image ' + currentImage + ' of ' + numImages + '.';
	//play fade for ie
	if(typeof document.getElementById('mainPhoto').filters != "undefined"){
		document.getElementById('mainPhoto').filters[0].Play();
		}
	else{
		fadein_img = document.getElementById('mainPhoto');
		fadein(0.04);
		}
	currentImage++;
	}		

// stop cycle
function stopImageCycle(){
	clearInterval(imageCycle);
	imageCycle=false;
	swapPauseButton();
	}	

// next image cycle
function nextImageCycle(){
	stopImageCycle();
	cycleImages();
	}

// previous image cycle
function backImageCycle(){
	stopImageCycle();
	currentImage--;
	currentImage--;
	cycleImages();
	}	