function getPropType() {
    getIPropType();
}



function getIPropType() {
    var postfix = '';
    if (arguments.length > 0) {
        postfix = arguments[0];
    }
    if (!document.getElementById) return;
	var fieldChoice = document.getElementById('type'+postfix);
	if (fieldChoice == null) return;
	var type = fieldChoice != null ? fieldChoice.value : "";
	switch(type) {
		case "":
			document.getElementById('residential_sale'+postfix).style.display = "inline";
			setStyleByName('tmp_c_stype_1','display','none');
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
			break;
		case "1":       // residential for sale
			document.getElementById('residential_sale'+postfix).style.display = "inline";
			setStyleByName('tmp_c_stype_1','display','inline');
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
            var v = getValueByName('tmp_c_stype_1');
            if (v != null) {
                setValueByName('c_stype', v);
            }
			break;
		case "4":       // commercial for sale
			document.getElementById('residential_sale'+postfix).style.display = "none";
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "inline";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
			break;
		case "6":       // land for sale
			document.getElementById('residential_sale'+postfix).style.display = "none";
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "inline";
			break;
		case "3":       // vacation rentals
			document.getElementById('residential_sale'+postfix).style.display = "none";
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "inline";
			document.getElementById('land'+postfix).style.display = "none";
			break;
		case "2":       // residential for rent
			document.getElementById('residential_sale'+postfix).style.display = "none";
			document.getElementById('residential_rent'+postfix).style.display = "inline";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
            var v = getValueByName('tmp_c_stype_2');
            if (v != null) {
                setValueByName('c_stype', v);
            }
			break;
		case "5":       // commercial for lease
			document.getElementById('residential_sale'+postfix).style.display = "none";
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "inline";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
			break;
		case "fc":      // foreclosures
			document.getElementById('residential_sale'+postfix).style.display = "none";
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "inline";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
			break;
		default:
			document.getElementById('residential_sale'+postfix).style.display = "inline";
			document.getElementById('residential_rent'+postfix).style.display = "none";
			document.getElementById('commercial_sale'+postfix).style.display = "none";
			document.getElementById('commercial_rent'+postfix).style.display = "none";
			document.getElementById('foreclosure'+postfix).style.display = "none";
			document.getElementById('vacation_rentals'+postfix).style.display = "none";
			document.getElementById('land'+postfix).style.display = "none";
			break;
	}

	clearHideElements(fieldChoice.value, postfix);
}

function setValueByName(elementName, newValue){
	var obj = document.getElementsByName(elementName);
	//if(obj.length == 0)
	//	alert('obj.length 0 for '+elementName);
	for(var i=0; i<obj.length; ++i){
		obj[i].value = newValue;
	}
}

function setStyleByName(elementName, style, value){
	var obj = document.getElementsByName(elementName);
	for(var i=0; i<obj.length; ++i){
		obj[i].style[style]=value;
	}
}

function getValueByName(elementName, newValue){
	var obj = document.getElementsByName(elementName);
	for(var i=0; i<obj.length; ++i){
        if (obj[i].selectedIndex != null) {
            return obj[i].options[obj[i].selectedIndex].value;
        }
        if (obj[i].value != null) {
            return obj[i].value;
        }
	}
    return null;
}

function setCheckedByName(elementName, value){
	var obj = document.getElementsByName(elementName);
	for(var i=0; i<obj.length; ++i){
		obj[i].checked = value;
	}
}


function clearHideElements(propertyType, postfix){
	if(document.getElementById('residential_rent'+postfix).style.display == "none"
		&& document.getElementById('residential_sale'+postfix).style.display == "none"	){
		setValueByName('c_stype','');
	}
	if(document.getElementById('criteria_col_3'+postfix) != null && (document.getElementById('criteria_col_3'+postfix).style.display == "none")){
		setValueByName('minbedroom','');
		setValueByName('minbathroom','');
		setValueByName('c_rooms','');
	}
	if( (document.getElementById('size'+postfix) != null && (document.getElementById('size'+postfix).style.display == "none")) ){
		setValueByName('minsurface','');
		setValueByName('maxsurface','');
	}
	if((document.getElementById('lot_size'+postfix) != null && document.getElementById('lot_size'+postfix).style.display == "none") ){
		setValueByName('minlsurface','');
		setValueByName('maxlsurface','');
	}
	if(document.getElementById('year_build'+postfix) != null && document.getElementById('year_build'+postfix).style.display == "none"){
		setValueByName('c_yrblt_lo','');
		setValueByName('c_yrblt_hi','');
	}

	if(document.getElementById('commercial_rent'+postfix) != null && document.getElementById('commercial_rent'+postfix).style.display == "none"){
		//clear "annually"
		setCheckedByName('c_price_freq',false);
	}
}



function showPopupDreamHouseSearch() {
	var ni = document.getElementById('map');
	var newdiv = document.createElement('div');
	var divIdName = 'overlay_image';
	newdiv.setAttribute('id',divIdName);
	newdiv.innerHTML = '<a href="javascript: drawBoundaries();" onmouseout="javascript: hidePopupDreamHouseSearch();"><img src="images/dream_home_search.jpg" border="0" /></a>';
	ni.appendChild(newdiv);
}

function hidePopupDreamHouseSearch() {
	var d = document.getElementById('map');
	var olddiv = document.getElementById('overlay_image');
	d.removeChild(olddiv);
}

function view_satellite() {
    if (document.map) {
        var map = document.map;
        if (map.getCurrentMapType() == G_HYBRID_MAP) {
            map.setMapType(G_NORMAL_MAP);
            document.getElementById('map_controls_street_satellite').src = '/personal/immobel/images/map_controls_views.jpg';
        } else {
            map.setMapType(G_HYBRID_MAP);
            document.getElementById('map_controls_street_satellite').src = '/personal/immobel/images/map_controls_views_street.jpg';
        }
    }
}

function zoom(v) {
    if (document.map) {
        var map = document.map;
        var newZoom = map.getZoom() + v;
        if (typeof maxZoomLevel != 'undefined') {
            if (newZoom > maxZoomLevel) {
                newZoom = maxZoomLevel;
            }
        }
        map.setZoom(newZoom);
        if (!isMapSearch) {
            repositionMarkers(map);
        }
        showCurrentZoom();
    }
}

function showCurrentZoom() {
    if (document.map) {
        var map = document.map;
        var zoom = 19 - map.getZoom();
        if (zoom <= 0) {
            zoom = 0;
        }
        if (zoom > 19) {
            zoom = 19;
        }

        var elem = document.getElementById('map_controls_cardinal');
        if (elem) {
            elem.style.left = "" + (22 + zoom * 5) + "px";
        }
        //document.getElementById('map_controls_cardinal').src = '/personal/immobel/images/map_controls_cardinal_' + zoom + '.jpg';
    }    
}

function pan(x, y) {
    if (document.map) {
        var map = document.map;
        map.panDirection(x, y);
    }
}


function sync_combo(elem) {
  for (var i = 0; i < elem.form.elements.length; i++) {
    var e = elem.form.elements[i];
    if (e != elem && e.name == elem.name) {
      e.selectedIndex = elem.selectedIndex;
    }
  }
}


function sync_stype(elem) {
    var form = elem.form;
    if (elem.selectedIndex >= 0) {
        var value = elem.options[elem.selectedIndex].value;
        if (form.c_stype != null) {
            form.c_stype.value = value;
        }

        for (var i = 0; i < elem.form.elements.length; i++) {
            var e = elem.form.elements[i];
            if (e != elem && (e.name == 'tmp_c_stype_1' || e.name == 'tmp_c_stype_2')) {
                if (e.options) {
                    for (var j = 0; j < e.options.length; j++) {
                        if (e.options[j].value == value) {
                            e.selectedIndex = j;
                            break;
                        }
                    }
                }
            }

        }
    }
}


function sync_text(elem) {
  for (var i = 0; i < elem.form.elements.length; i++) {
    var e = elem.form.elements[i];
    if (e != elem && e.name == elem.name) {
      e.value = elem.value;
    }
  }
}


function set_shcu(elem) {
    if (elem && elem.form && elem.form.shcu) {
        var val = elem.options[elem.selectedIndex].value;
        if (val) {
            elem.form.shcu.value = val;
        }
    }
}

function form_onsubmit(form) {
	// check search by MLS#
    if (form.c_mls && trim(form.c_mls.value).length > 0) {
        // search by MLS#
        var mlsForm = document.mls_number_form;
        mlsForm.c_mls.value = trim(form.c_mls.value);
//        if (form.glexMarket) {
//            mlsForm.glexMarket = getSelectValue(form.glexMarket);
//        }
        mlsForm.submit();
        return true;
    } else {
        // set MLS# to empty string
        if (form.c_mls) {
            form.c_mls.value = "";
        }
    }
    
	if(isMapSearch || isWide()){
		//ajax:
		submitSearchForm();
		return;
	}
	//std:
	if (locationHint && form.c_location && form.c_location.value && form.c_location.value == locationHint) {
	    form.c_location.value = "";
	}
	
	if(typeof  correctPrices != 'undefined'){
		correctPrices(true);
	}
	if(typeof  correctMinprice  != 'undefined' && correctMinprice || typeof  correctMaxprice  != 'undefined' && correctMaxprice){
		return false;
	}
	form.submit();
    return true;
}


function setElementDisplay(elem, display) {
    var el = document.getElementById(elem);
    if (el != null) {
        el.style.display = display;
    }
}
