function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function moveOptions(theSelFrom, theSelTo){
	var dropDownIndex = theSelFrom.selectedIndex;
	var dropDownText = theSelFrom.options[dropDownIndex].text;
	var dropDownValue = theSelFrom.options[dropDownIndex].value;
	
	if (dropDownIndex == 0 && dropDownValue.length == 0) { // default item (ALL)
		// add all items from list 'from' to list 'to'
		for (i=1; i < theSelFrom.options.length; i++) {
			addOption(theSelTo, theSelFrom.options[i].text, theSelFrom.options[i].value);
		}
		// sort list 'to'
		sortSelect(theSelTo);
		// remove all from list 'from'
		theSelFrom.options.length = 0;

		// add default item on top
		var len = theSelTo.options.length+1;
		var options = new Array (len);
		options[0] = new Option(dropDownText, dropDownValue); // set default item as first element
		for (var i = 0; i < options.length-1; i++) {
			options[i+1] = new Option (
					theSelTo.options[i].text,
					theSelTo.options[i].value,
					theSelTo.options[i].defaultSelected,
					theSelTo.options[i].selected
				);
		}
		// remove all items from list 'to'
		theSelTo.options.length = 0;
		// assign new items to list 'to'
		for (var i = 0; i < options.length; i++) {
			theSelTo.options[i] = options[i];
		}
	}
	else if(dropDownValue.length > 0) 
	{
		deleteOption(theSelFrom, dropDownIndex);
		addOption(theSelTo, dropDownText, dropDownValue);
		//listsort(theSelTo,0);
		sortSelect(theSelTo);

		if(NS4) history.go(0);
	}
}
function addOption(theSel, theText, theValue) {
	first1 = theText.substring(0, 2)
	first2 = theText.substring(2, theText.length) 
	
	if (first1 == "+ ") {
		theText = "- " + first2
	}
	else {
		theText = "+ " + first2
	}
	
	var newOpt = new Option(theText, theValue);
	theSel.options[theSel.length] = newOpt;
}

function deleteOption(theSel, theIndex){ 
	var selLength = theSel.length;
	if(selLength>0){
		theSel.options[theIndex] = null;
	}
}
function sortSelect (select, compareFunction) {
  if (!compareFunction) {
    compareFunction = compareText;
	}
  var options = new Array (select.options.length);
  for (var i = 0; i < options.length; i++) {
    options[i] = new Option (
        select.options[i].text,
        select.options[i].value,
        select.options[i].defaultSelected,
        select.options[i].selected
      );
	}
  options.sort(compareFunction);
  select.options.length = 0;
  for (var i = 0; i < options.length; i++) {
    select.options[i] = options[i];
	}
}
function compareText (option1, option2) {
  return option1.text < option2.text ? -1 :
    option1.text > option2.text ? 1 : 0;
}

function format_number(str){
	str += '';
	x = str.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function get_selected_suburbs() {
	var opts = document.getElementById('suburbs_2').options;
	var selected_suburbs = document.getElementById('selected_suburbs');
	var flag = false;
	if (opts.length > 0) {
		var s = '';
		flag = true;
		for (i = 0; i < opts.length; i++) {
			s += opts[i].value + ',';
		}
	}
	
	if (flag == true) {
		s = s.substr(0, s.length - 1);
		selected_suburbs.value = s;
	}
	return true;
}
/*function get_suburbs() {
	new Ajax.Updater('div_suburbs', '/property/combo_suburbs/' + id, {asynchronous:true, evalScripts:true});
}*/

function get_suburbs(action, id, opt, img, flag){

	if (flag == false) {
		var selectbox = document.getElementById('suburbs_2');
		var i;
		for(i=selectbox.options.length-1;i>=0;i--) {
			selectbox.remove(i);
		}
	}
	i = Math.random();
	
	toggle_waiting_image(img, 'block');
	

	jQuery.ajax({
		url: action + '/' + id + '/' + opt + '/' + i,
		dataType: 'html',
		success: function(html){ 
			jQuery('#div_suburbs').html(html);
			toggle_waiting_image(img, 'none');
		}
	});
}

function toggle_tabs(clicker, tabs) {
	
	all_tabs = $(tabs).getElementsByTagName('li');
	for (i = 0; i < all_tabs.length; i++) {
		li = all_tabs[i];
		li.className = '';
	}
	clicker.className = 'current_tab';
	
}
function hide_show_land_area(id, opt) {
	$(id).style.display = opt;
}

function save_property(url, img_cont) {
	
	var nocacheTimestamp = new Date();
	
	if (url) {
		toggle_waiting_image(img_cont, 'block');
		url = url + '/' + nocacheTimestamp.getTime();
		
		jQuery.ajax({
			url: url,
			dataType: 'html',
			success: function(html){ 
				jQuery('#my_saved_properties').html(html);
				toggle_waiting_image(img_cont, 'none');
			}
		});
	}	 
}

function get_tab(url, opt, flag) {
	
	var nocacheTimestamp = new Date();
	
	url = url + '/' + opt;
	
	var opt2 = get_radio_value(document.frm_advanced_search.commercialListingType);
	
	url = url + '/' + opt2 + '/' + nocacheTimestamp.getTime();
    //alert(url);
    var pars = '';
	
	var img = 'img_tabs';
	
    jQuery.ajax({
			
			url: url,
			type: "POST",
			data: pars,
			dataType: 'html',
			beforeSend: function () {toggle_waiting_image(img, 'block');},
			success: function(html) {
				document.getElementById('tab_area').innerHTML = html;
			    toggle_waiting_image(img, 'none');
				if (flag == 'listing') {
					//set_listing_sliders();
				}
				else {
					set_sliders(opt);
				}
			},
			timeout: 40000,
		    error: function(){
		        alert('Error: The operation failed to complete');
		    }

		});

}

function get_tab_listing(url_main, opt, opt2) {
	
	var nocacheTimestamp = new Date();
	
	url = url_main + '/get_tab/' + opt;
	
	url = url + '/' + opt2 + '/' + nocacheTimestamp.getTime();

    var pars = '';
	
	var img = 'img_tabs';
	
    jQuery.ajax({
			
			url: url,
			type: "POST",
			data: pars,
			dataType: 'html',
			beforeSend: function () {toggle_waiting_image(img, 'block');},
			success: function(html) {
				
				document.getElementById('tab_area').innerHTML = html;
			    toggle_waiting_image(img, 'none');
				
				url = '';
				
				url = url_main + '/get_sliders/' + opt;
	
				url = url + '/' + opt2 + '/' + nocacheTimestamp.getTime();
				
				get_sliders_listing(url, opt, opt2);
				
			},
			timeout: 40000,
		    error: function(){
		        alert('Error: The operation failed to complete');
		    }

		});

}

function get_sliders_listing(url, opt1, opt2) {
	
	var nocacheTimestamp = new Date();
	
	url = url + '/' + opt1 + '/' + opt2;
	url = url + '/' + nocacheTimestamp.getTime();
    //alert(url);
    var pars = '';
	
	img = 'img_tabs';
	
	var div = 'div_sliders';
	
    jQuery.ajax({
			
			url: url,
			type: "POST",
			data: pars,
			dataType: 'html',
			beforeSend: function () {toggle_waiting_image(img, 'block');},
			success: function(html) {
				
				document.getElementById(div).innerHTML = html;
			    toggle_waiting_image(img, 'none');
				
				
				
				set_listing_sliders();
			},
			timeout: 40000,
		    error: function(){
		        //alert('Error: The operation failed to complete');
		    }

		});
	
}


function set_sliders(opt1, opt2) {
	
	var property_type = '';
	
	switch (opt1) {
		case 'c':
			property_type = 'commercial';
			break;
			
		case 'l':
			property_type = 'land';
			break;
			
		case 'r':

			if (opt2 == 'b') {
				property_type = 'residential';
			}
			else {
				property_type = 'rental';
			}
			
			break;
			
		case 'ru':
			property_type = 'rural';
			break;
	}

	set_type_value(property_type);
	
	if (opt1 == 'c' || opt1 == 'l') {
		if (opt2 == 'b') {
			slider_area(0, 60, 50, 60, '_commercial', '', 'area_from', 'area_to');
			slider_price(0, 50, 100000, 50, '_commercial', '', 'price_from', 'price_to');
			slider_land_area(0, 50, 100, 50, '_commercial', '', 'land_area_from', 'land_area_to');
			set_label('Price');
		}
		else {
			slider_area(0, 60, 50, 60, '_commercial', '', 'area_from', 'area_to');
			slider_price(0, 50, 20000, 50, '_commercial', '', 'price_from', 'price_to');
			set_label('Annual');
		}
		
	}
	
	if (opt1 == 'r' || opt1 == 'ru') {
		
		if (opt2 == 'b') {
			slider_bed(0, 5, 1, 5, '_residential', '', 'bed_from', 'bed_to');
			slider_price(0, 50, 100000, 50, '_residential', '', 'price_from', 'price_to');
			slider_land_area(0, 50, 100, 50, '_residential', '', 'land_area_from', 'land_area_to');
			set_label('Price');
		}
		else {
			slider_bed(0, 5, 1, 5, '_residential', '', 'bed_from', 'bed_to');
			slider_price(0, 30, 100, 30, '_residential', '', 'price_from', 'price_to');
			set_label('Weekly');
		}
	}
}

function set_type_value(value) {
	document.getElementById('propertyType').value = value;
}

function get_sliders(url, div, opt1, opt2, flag) {
	
	var nocacheTimestamp = new Date();
	
	div = (div) ? div : 'div_sliders';
	
	url = url + '/' + opt1 + '/' + opt2;
	url = url + '/' + nocacheTimestamp.getTime();
    //alert(url);
    var pars = '';
	
	img = 'img_tabs';
	
    jQuery.ajax({
			
			url: url,
			type: "POST",
			data: pars,
			dataType: 'html',
			beforeSend: function () {toggle_waiting_image(img, 'block');},
			success: function(html) {
				
				document.getElementById(div).innerHTML = html;
			    toggle_waiting_image(img, 'none');
				if (flag == 'listing') {
					set_listing_sliders();	
				}
				else {
					set_sliders(opt1, opt2);
				}
			},
			timeout: 40000,
		    error: function(){
		        //alert('Error: The operation failed to complete');
		    }

		});
	
}




function toggle_waiting_image(img_cont, status) { 
	document.getElementById(img_cont).style.display = status;
}

function remove_property(url, img_cont) {
	
	var nocacheTimestamp = new Date();
	
	if (url) {
		url = url + '/' + nocacheTimestamp.getTime();
		toggle_waiting_image(img_cont, 'block');
		  
		jQuery.ajax({
			url: url,
			dataType: 'html',
			success: function(html){ 
				jQuery('#my_saved_properties').html(html);
				toggle_waiting_image(img_cont, 'none');
			}
		});
	  
	  
	}
	return false;
}
function change_label(id, label) {
	document.getElementById(id).innerHTML = label;
}
function select_value(ctrl, value) {
	var ctrl = $(ctrl);
	var selected_index = '';
	
	for (i=0;i<ctrl.options.length;i++) {
		if (ctrl.options[i].value == value) {
			selected_index = i;
			break;
		}
		
	}
	
	if (selected_index) {
		ctrl.selectedIndex = selected_index;
	}
	
}
function check_email(email) {
	
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email)) {
		return false;
	}
	else {
		return true;
	}
}
function check_email_all(emails) {
	
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var flag = true;
	
	if (emails == '') {
		return false;
	}
	
	emails = emails.split(',');
	for (i = 0; i < emails.length; i++) {
		email = emails[i];
		if (!filter.test(email)) {
			flag = false;
			break;
		}
		
	}
	return flag;
}
function get_radio_value(field) {
	for (var i=0; i < field.length; i++) {
	   if (field[i].checked) {
		  var rad_val = field[i].value;
		}
	 }
	 
	 return rad_val;
}
function get_home_page_sliders(url, t, opt) {
	
	var nocacheTimestamp = new Date();
	
	
	
    //alert(url);
    var pars = '';
	
	img = 'img_search';
	div = 'home_page_sliders';

	type = document.getElementById(t).value;

	type = type ? type : '0';
	
	url = url + '/' + type + '/' + opt;
	url = url + '/' + nocacheTimestamp.getTime();

	jQuery.ajax({
				
		url: url,
		type: "POST",
		data: pars,
		dataType: 'html',
		beforeSend: function () {toggle_waiting_image(img, 'block');},
		success: function(html) {
			
			document.getElementById(div).innerHTML = html;
			toggle_waiting_image(img, 'none');
			
			if (type == 'residential') {
				$('label_rent_lease').innerHTML = 'Rent';
			}
			else {
				$('label_rent_lease').innerHTML = 'Lease';
			}
			
			set_home_sliders(type, opt);
		},
		timeout: 40000,
		error: function(){
			//alert('Error: The operation failed to complete');
		}
	
	});
	
}

function set_home_sliders(type, opt) {
	
	if (type == '0' || (type != 'residential' && type != 'rural')) {
		slider_area(0, 60, 50, 60, '');
		if (opt == 'sale') {
			slider_price(0, 50, 100000, 50, '');
			set_label('Price');
		}
		else {
			slider_price(0, 50, 20000, 50, '');	
			set_label('Annual');
		}
	}
	else if (type == 'residential' || type == 'rural') {
		slider_bed(0, 5, 1, 5, '');
		if (opt == 'sale') {
			slider_price(0, 50, 100000, 50, '');
			set_label('Price');
		}
		else {
			slider_price(0, 30, 100, 30, '');
			set_label('Weekly');
		}
	}
}

function set_label(label) {
	$('lbl_price').innerHTML = label;
}
function get_dropdown_value(id) {
	var e = $(id);
	var val = e.options[e.selectedIndex].value;
	return val;
}
function get_slider_value(id, interval) {
	var val = get_dropdown_value(id);
	return val/interval;
}