function google_map(ido, keido, mode){
	this.mode = mode;
	this.ido = ido;
	this.keido = keido;
	this.markers = new Array();
	this.all_tabs = new Array();
	this.div = document.getElementById("map");

	this.map=new GMap2(this.div);
	this.geocoder = new GClientGeocoder();
	if (!this.ido && !this.keido){
		if (domain == 'kanagawa-movimap.net') {
			this.ido = 35.44389;
			this.keido = 139.63829;
		} else if (domain == 'movimap.net') {
			this.ido = 33.5525090;
			this.keido = 130.4364570;
		} else {
			this.ido = 33.5525090;
			this.keido = 130.4364570;
		}
		//alert("緯度経度データがありません");
	}
	this.init_point = new GLatLng(this.ido, this.keido);
	this.map.setCenter(this.init_point);
	this.map.setZoom(16);
	this.map.addControl(new GSmallMapControl());
	//this.map.addControl(new GLargeMapControl());
	if (document.getElementById("map_mode")) {
		if (document.getElementById("map_mode").innerHTML == 'search') {
			this.map.addControl(new GMapTypeControl());
		}
		//else alert(document.getElementById("map_mode").innerHTML);
	}
	//賃貸物件に使うアイコン
	this.icon = new GIcon();
	this.icon.image = "/images/pin_rental.png";
	this.icon.shadow = "/images/pin_shade_bukken.png";
	this.icon.iconSize = new GSize(32, 38);
	this.icon.shadowSize = new GSize(61, 38);
	this.icon.iconAnchor = new GPoint(15, 36);
	this.icon.infoWindowAnchor = new GPoint(15, 0);

	//不動産に使うアイコン
	this.icon2 = new GIcon();
	this.icon2.image = "/images/pin_fudosan.png";
	this.icon2.shadow = "/images/pin_shade_fudosan.png";
	this.icon2.iconSize = new GSize(32, 45);
	this.icon2.shadowSize = new GSize(61, 45);
	this.icon2.iconAnchor = new GPoint(15, 36);
	this.icon2.infoWindowAnchor = new GPoint(15, 0);

	//売買物件に使うアイコン
	this.icon3 = new GIcon();
	this.icon3.image = "/images/pin_sale.png";
	this.icon3.shadow = "/images/pin_shade_bukken.png";
	this.icon3.iconSize = new GSize(32, 38);
	this.icon3.shadowSize = new GSize(61, 38);
	this.icon3.iconAnchor = new GPoint(15, 36);
	this.icon3.infoWindowAnchor = new GPoint(15, 0);

	//マップを目的地までずらす関数
	this.center_map = function(center) {
		this.map.panTo(center);
		//alert("ok "+center.toString());
		if (this.mode == "edit") {
			this.markers[this.markers.length-1].setPoint(center);
		}
	};

	//登録時の「ズレ過ぎ」の計算に使用されるマップの中心を更新。
	this.set_hardcenter = function(center) {
		this.ido=center.lat();
		this.keido=center.lng();
	};

	this.autozoom = function() {
		//alert("welcome to autozoom");
		//bounds = new GBounds(this.markers);
		var bounds = new GLatLngBounds();
		for (var i = 0; i < this.markers.length; i+=1) {
			bounds.extend(this.markers[i].getPoint());
		}
		var sw = bounds.getSouthWest();
		var ne = bounds.getNorthEast();
		var y2 = ne.lat();
		var x2 = ne.lng();
		var y1 = sw.lat();
		var x1 = sw.lng();
		var percent = 20;
		x1 -= (x2 - x1)*percent/100;
		x2 += (x2 - x1)*percent/100;
		y1 -= (y2 - y1)*percent/100;
		y2 += (y2 - y1)*percent/100;
		bounds.extend(new GLatLng(y1,x1));
		bounds.extend(new GLatLng(y2,x2));
		bounds.extend(new GLatLng(y1,x2));
		bounds.extend(new GLatLng(y2,x1));
		//alert(sw.lat()+','+sw.lng()+' / '+ne.lat()+','+ne.lng()+' /// '+y1+','+x1+' / '+y2+','+x2);
		var zoom = this.map.getBoundsZoomLevel(bounds);
		var bounds_center = bounds.getCenter();
		//検索結果無し no results
		if (this.markers.length<1){
			//alert(this.markers.length);
			zoom = 11;
			if (domain == 'kanagawa-movimap.net') {
				bounds_center = new GLatLng(35.44389,139.63829);
			} else if (domain == 'movimap.net') {
				bounds_center = new GLatLng(33.606578,130.417972);
			} else {
				bounds_center = new GLatLng(33.606578,130.417972);
			}
		}
		//alert(zoom+" "+bounds.getCenter().toString());
		this.center_map(bounds_center);
		//this.add_marker(bounds_center);
		this.map.setZoom(zoom);
	};

	this.get_results_data = function() {
		if (document.getElementById("map_mode")) {
			this.map_mode=document.getElementById("map_mode").innerHTML;
		}
		if (document.getElementById("map_search")) {
			this.map_search=document.getElementById("map_search").innerHTML;
		}
		if (document.getElementById("map_ido")) {
			this.map_ido=document.getElementById("map_ido").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_ido.pop(); }
		}
		if (document.getElementById("map_keido")) {
			this.map_keido=document.getElementById("map_keido").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_keido.pop(); }
		}
		if (document.getElementById("map_name")) {
			this.map_name=document.getElementById("map_name").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_name.pop(); }
		}
		if (document.getElementById("map_jusho")) {
			this.map_jusho=document.getElementById("map_jusho").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_jusho.pop(); }
		}
		if (document.getElementById("map_madori")) {
			this.map_madori=document.getElementById("map_madori").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_madori.pop(); }
		}
		if (document.getElementById("map_chinryo")) {
			this.map_chinryo=document.getElementById("map_chinryo").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_chinryo.pop(); }
		}
		if (document.getElementById("map_kakaku")) {
			this.map_kakaku=document.getElementById("map_kakaku").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_kakaku.pop(); }
		}
		if (document.getElementById("map_id")) {
			this.map_id=document.getElementById("map_id").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_id.pop(); }
		}
		if (document.getElementById("map_chintaibaibai")) {
			this.map_chintaibaibai=document.getElementById("map_chintaibaibai").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_chintaibaibai.pop(); }
		}
		if (document.getElementById("map_fudosan_id")) {
			this.map_fudosan_id=document.getElementById("map_fudosan_id").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_fudosan_id.pop(); }
		}
		if (document.getElementById("map_fudosan_user")) {
			this.map_fudosan_user=document.getElementById("map_fudosan_user").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_fudosan_user.pop(); }
		}
		if (document.getElementById("map_fudosan_name")) {
			this.map_fudosan_name=document.getElementById("map_fudosan_name").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_fudosan_name.pop(); }
		}
		if (document.getElementById("map_fudosan_jusho")) {
			this.map_fudosan_jusho=document.getElementById("map_fudosan_jusho").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_fudosan_jusho.pop(); }
		}
		if (document.getElementById("map_fudosan_phone")) {
			this.map_fudosan_phone=document.getElementById("map_fudosan_phone").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_fudosan_phone.pop(); }
		}
		if (document.getElementById("map_fudosan_mail")) {
			this.map_fudosan_mail=document.getElementById("map_fudosan_mail").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_fudosan_mail.pop(); }
		}
		if (document.getElementById("map_pictures")) {
			this.map_pictures=document.getElementById("map_pictures").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_pictures.pop(); }
		}
		if (document.getElementById("map_logos")) {
			this.map_logos=document.getElementById("map_logos").innerHTML.split("|");
			if (this.map_mode == "search") { this.map_logos.pop(); }
		}
	};

	this.attach_click = function(pointer) {
		this.idokeido_listener = GEvent.addListener(this.map, "click", function(click_overlay, click_point) {
			if ( click_overlay !== null ) { return; }
			map1.center_map(click_point);
			var field_ido = document.getElementById("ido");
			if(field_ido) {
				field_ido.value = click_point.lat();
			}
			var field_keido = document.getElementById("keido");
			if(field_keido) {
				field_keido.value = click_point.lng();
			}
			if(map1.markers[map1.markers.length-1]) {
				var point_backup = new GLatLng(map1.ido,map1.keido);
				if (click_point.distanceFrom(point_backup)>1000) {
					//document.getElementById("idokeido_msg").innerHTML = "計算した緯度経度から１キロも外れるが、いいですか？";
					//alert(document.getElementById("idokeido_msg"));
					my_form.idokeido_msg.id.innerHTML = "計算した緯度経度から１キロも外れるが、いいですか？";
				} else { document.getElementById("idokeido_msg").innerHTML = ""; }
			}
		});
	};

	this.add_marker = function(point) {
		if (this.map_search == 'mixed') {
			if (this.markers.length === 0) {
				this.add_marker_fudosan(point);
			} else if (this.map_chintaibaibai[this.markers.length] == '売買') {
				this.add_marker_sale(point);
			} else {
				this.add_marker_rental(point);
			}
		}else if (this.map_search == 'fudosan') {
			this.add_marker_fudosan(point);
		}else if (this.map_mode == 'kakunin') {
			if (this.map_search == '賃貸') {
				this.add_marker_rental(point);
			}else if (this.map_search == '売買') {
				this.add_marker_sale(point);
			}else if (this.map_search == 'user') {
				this.add_marker_fudosan(point);
			}
		}else if (this.map_mode == 'home') {
			this.add_marker_fudosan(point);
		} else if (this.map_chintaibaibai) {
			//alert(this.map_id[this.markers.length]);
			if (this.map_chintaibaibai[this.markers.length] == '売買') {
				this.add_marker_sale(point);
			} else {
				this.add_marker_rental(point);
			}
		}else if (this.map_mode == 'edit') {
			if (this.map_search == 'user') {
				this.add_marker_fudosan(point);
			} else {
				this.add_marker_rental(point);
			}
		} else {
			this.add_marker_rental(point);
		}
	};

	this.add_marker_rental = function(point) {
		this.markers.push(new GMarker(point, this.icon));
		this.map.addOverlay(this.markers[this.markers.length-1]);
	};

	this.add_marker_sale = function(point) {
		this.markers.push(new GMarker(point, this.icon3));
		this.map.addOverlay(this.markers[this.markers.length-1]);
	};

	this.add_marker_fudosan = function(point) {
		this.markers.push(new GMarker(point, this.icon2));
		this.map.addOverlay(this.markers[this.markers.length-1]);
	};

	this.change_marker = function(rentalsale) {
		var latlng = this.markers[this.markers.length-1].getPoint();
		/*var old_rentalsale;
		if(this.markers[this.markers.length-1].getIcon().image.indexOf('rental')) {
			old_rentalsale = 'rental';
		} else {//if(this.markers[this.markers.length-1].getIcon().image.indexOf('sale')) {
			old_rentalsale = 'sale';
		}
		if(rentalsale != old_rentalsale){*/
			//alert("old_rentalsale="+old_rentalsale+" rentalsale="+rentalsale+" len="+this.markers.length)
			GEvent.removeListener(this.idokeido_listener);
			this.map.removeOverlay(this.markers[this.markers.length-1]);
			if(rentalsale=='sale') {
				this.add_marker_sale(latlng);
			} else {
				this.add_marker_rental(latlng);
			}
		//}
		if (this.map_mode == "edit") {
			map1.attach_click(map1.markers[this.markers.length-1], 0);
			var marker = map1.markers[this.markers.length-1];
		}
	};

	this.tabbed_info = function() {
		if (this.map_jusho.length != this.markers.length) {
			alert ("インフォウィンドーのデータは正しく読み込む事が出来ませんでした");
			return 1;
		}
		this.tabs = new Array();
		var i = 0;
		var logo_size;
		var bukken_info = "";
		var fudosan_info = "";
		if (this.map_search == 'fudosan') {
			for (i = 0; i < this.map_jusho.length; i+=1) {
				if (this.map_logos[i]) {
					logo_size = resize_image(pictures_url + this.map_logos[i], 80, 60);
				}
				fudosan_info  = "<div class=\"balloon\">";
				if (this.map_logos[i]) {
					fudosan_info += "<div class=\"balloon_img\"><img src=\"" + pictures_url + this.map_logos[i] + "\" alt=\"" + this.map_fudosan_name[i] + "ロゴ\" width=\"" + logo_size[0] + "\" height=\"" + logo_size[1] + "\" /></div>";
				}
				fudosan_info += "<div class=\"balloon_right\">";
				fudosan_info += "<h2>" + this.map_fudosan_name[i] + "</h2>";
				fudosan_info += "<h3>" + this.map_jusho[i] + "</h3>";
				fudosan_info += "<p class=\"balloon_tel\">TEL " + this.map_fudosan_phone[i] + "</p>";
				fudosan_info += "<p class=\"balloon_detail\"><a href=\"" + users_url + env_url + this.map_fudosan_user[i] + "\"><strong>会社の詳細</strong></a></p>";
				fudosan_info += "<p class=\"balloon_contact\"><a href=\"" + home_url + env_url + "contact/fudosan/" + this.map_id[i] + "\"><strong>お問合せ</strong></a></p>";
				fudosan_info += "<br class=\"close\" /></div><br class=\"close\" /></div>";
				this.tabs.push(fudosan_info);
				this.add_window(i);
			}
		} else if (this.map_search == 'mixed') {
			for (i = 0; i < 1; i+=1) {
				if (this.map_logos[i]) {
					logo_size = resize_image(pictures_url + this.map_logos[i], 80, 60);
				}
				fudosan_info  = "<div class=\"balloon\">";
				if (this.map_logos[i]) {
					fudosan_info += "<div class=\"balloon_img\"><img src=\"" + pictures_url + this.map_logos[i] + "\" alt=\"" + this.map_fudosan_name[i] + "ロゴ\" width=\"" + logo_size[0] + "\" height=\"" + logo_size[1] + "\" /></div>";
				}
				fudosan_info += "<div class=\"balloon_right\">";
				fudosan_info += "<h2>" + this.map_fudosan_name[i] + "</h2>";
				fudosan_info += "<h3>" + this.map_jusho[i] + "</h3>";
				fudosan_info += "<p class=\"balloon_tel\">TEL " + this.map_fudosan_phone[i] + "</p>";
				fudosan_info += "<p class=\"balloon_detail\"><a href=\"" + users_url + env_url + this.map_fudosan_user[i] + "\"><strong>会社の詳細</strong></a></p>";
				fudosan_info += "<p class=\"balloon_contact\"><a href=\"" + home_url + env_url + "contact/fudosan/" + this.map_id[i] + "\"><strong>お問合せ</strong></a></p>";
				fudosan_info += "<br class=\"close\" /></div><br class=\"close\" /></div>";
				this.tabs.push(fudosan_info);
				this.add_window(i);
			}
			for (i = 1; i < this.map_jusho.length; i+=1) {
				if (this.map_logos[i]) {
					logo_size = resize_image(pictures_url + this.map_logos[i], 80, 60);
				}
				bukken_info  = "<div class=\"balloon\">";
				if (this.map_pictures[i]) {
					bukken_info += "<div class=\"balloon_img\"><img src=\"" + thumbs_url + this.map_pictures[i] + "\" alt=\"" + this.map_name[i] + "\" width=\"80\" height=\"60\" /></div>";
				}
				bukken_info += "<div class=\"balloon_right\">";
				bukken_info += "<h2>" + this.map_name[i] + "</h2>";
				bukken_info += "<h3>" + this.map_jusho[i] + "</h3>";
				if (this.map_chintaibaibai[i]=="賃貸") {
					bukken_info += "<p class=\"balloon_tel\">間取り：" + this.map_madori[i] + "｜賃料：￥" + this.map_chinryo[i] + "</p>";
					bukken_info += "<p class=\"balloon_bukken_detail\"><a href=\"" + rental_url + env_url + this.map_id[i] + "\"><strong>物件の詳細</strong></a></p>";
				} else if (this.map_chintaibaibai[i]=="売買") {
					bukken_info += "<p class=\"balloon_tel\">間取り：" + this.map_madori[i] + "｜価格：" + this.map_kakaku[i] + "</p>";
					bukken_info += "<p class=\"balloon_bukken_detail\"><a href=\"" + sale_url + env_url + this.map_id[i] + "\"><strong>物件の詳細</strong></a></p>";
				}
				bukken_info += "<p class=\"balloon_contact\"><a href=\"" + home_url + env_url + "contact/bukken/" + this.map_id[i] + "\"><strong>お問合せ</strong></a></p>";
				bukken_info += "<br class=\"close\" /></div><br class=\"close\" /></div>";
				fudosan_info  = "<div class=\"balloon\">";
				if (this.map_logos[i]) {
					fudosan_info += "<div class=\"balloon_img\"><img src=\"" + pictures_url + this.map_logos[i] + "\" alt=\"" + this.map_fudosan_name[i] + "ロゴ\" width=\"" + logo_size[0] + "\" height=\"" + logo_size[1] + "\" /></div>";
				}
				fudosan_info += "<div class=\"balloon_right\">";
				fudosan_info += "<h2>" + this.map_fudosan_name[i] + "</h2>";
				fudosan_info += "<h3>" + this.map_jusho[i] + "</h3>";
				fudosan_info += "<p class=\"balloon_tel\">TEL " + this.map_fudosan_phone[i] + "</p>";
				fudosan_info += "<p class=\"balloon_detail\"><a href=\"" + users_url + env_url + this.map_fudosan_user[i] + "\"><strong>会社の詳細</strong></a></p>";
				fudosan_info += "<p class=\"balloon_contact\"><a href=\"" + home_url + env_url + "contact/fudosan/" + this.map_fudosan_id[i] + "\"><strong>お問合せ</strong></a></p>";
				fudosan_info += "<br class=\"close\" /></div><br class=\"close\" /></div>";
				this.tabs.push(new info_tabs("物件",	bukken_info, "不動産", fudosan_info ));
				this.add_tabs(i);
			}
		} else {
			for (i = 0; i < this.map_jusho.length; i+=1) {
				if (this.map_logos[i]) {
					logo_size = resize_image(pictures_url + this.map_logos[i], 80, 60);
				}
				bukken_info  = "<div class=\"balloon\">";
				if (this.map_pictures[i]) {
					bukken_info += "<div class=\"balloon_img\"><img src=\"" + thumbs_url + this.map_pictures[i] + "\" alt=\"" + this.map_name[i] + "\" width=\"80\" height=\"60\" /></div>";
				}
				bukken_info += "<div class=\"balloon_right\">";
				bukken_info += "<h2>" + this.map_name[i] + "</h2>";
				bukken_info += "<h3>" + this.map_jusho[i] + "</h3>";
				if (this.map_chintaibaibai[i]=="賃貸") {
					bukken_info += "<p class=\"balloon_tel\">間取り：" + this.map_madori[i] + "｜賃料：￥" + this.map_chinryo[i] + "</p>";
					bukken_info += "<p class=\"balloon_bukken_detail\"><a href=\"" + rental_url + env_url + this.map_id[i] + "\"><strong>物件の詳細</strong></a></p>";
				} else if (this.map_chintaibaibai[i]=="売買") {
					bukken_info += "<p class=\"balloon_tel\">間取り：" + this.map_madori[i] + "｜価格：" + this.map_kakaku[i] + "</p>";
					bukken_info += "<p class=\"balloon_bukken_detail\"><a href=\"" + sale_url + env_url + this.map_id[i] + "\"><strong>物件の詳細</strong></a></p>";
				}
				bukken_info += "<p class=\"balloon_contact\"><a href=\"" + home_url + env_url + "contact/bukken/" + this.map_id[i] + "\"><strong>お問合せ</strong></a></p>";
				bukken_info += "<br class=\"close\" /></div><br class=\"close\" /></div>";
				fudosan_info  = "<div class=\"balloon\">";
				if (this.map_logos[i]) {
					fudosan_info += "<div class=\"balloon_img\"><img src=\"" + pictures_url + this.map_logos[i] + "\" alt=\"" + this.map_fudosan_name[i] + "ロゴ\" width=\"" + logo_size[0] + "\" height=\"" + logo_size[1] + "\" /></div>";
				}
				fudosan_info += "<div class=\"balloon_right\">";
				fudosan_info += "<h2>" + this.map_fudosan_name[i] + "</h2>";
				fudosan_info += "<h3>" + this.map_fudosan_jusho[i] + "</h3>";
				fudosan_info += "<p class=\"balloon_tel\">TEL " + this.map_fudosan_phone[i] + "</p>";
				fudosan_info += "<p class=\"balloon_detail\"><a href=\"" + users_url + env_url + this.map_fudosan_user[i] + "\"><strong>会社の詳細</strong></a></p>";
				fudosan_info += "<p class=\"balloon_contact\"><a href=\"" + home_url + env_url + "contact/fudosan/" + this.map_fudosan_id[i] + "\"><strong>お問合せ</strong></a></p>";
				fudosan_info += "<br class=\"close\" /></div><br class=\"close\" /></div>";
				this.tabs.push(new info_tabs("物件",	bukken_info, "不動産", fudosan_info ));
				this.add_tabs(i);
			}
		}
	};

	this.add_tabs = function(index) {
		GEvent.addListener(this.markers[index], "click", function() {
			this.openInfoWindowTabsHtml(map1.tabs[index].tabs);
			for (i=0; i<results.length; i=i+1) {
				if (i != index){
					//results[i].className = 'results';
					results[i].className = 'clickable_list_item';
				}
			}
			//return this.className = 'results_selected';
			results[index].className = 'clickable_list_item_selected';
			return results[index].className;
		});
	};

	this.add_window = function(index) {
		GEvent.addListener(this.markers[index], "click", function() {
			this.openInfoWindowHtml(map1.tabs[index]);
			for (i=0; i<results.length; i=i+1) {
				if (i != index) {
					//results[i].className = 'results';
					results[i].className = 'clickable_list_item';
				}
			}
			//return this.className = 'results_selected';
			results[index].className = 'clickable_list_item_selected';
			return results[index].className;
		});
	};

	this.attach_click_to_result = function(element, counter) {
		element.style.cursor = 'pointer';
		//element.onmouseover = function(){ return this.className = 'results_over'; };
		//element.onmouseout = function(){ return this.className = 'results'; };
		element.onclick = function(counter){ 
			for (i=0; i<results.length; i=i+1) {
				if (i != counter) {
					//results[i].className = 'results';
					results[i].className = 'clickable_list_item';
				}
			}
			//return this.className = 'results_selected';
			this.className = 'clickable_list_item_selected';
			return this.className;
		};
		//element.className = 'results_selected';
		GEvent.addDomListener(element, "click", function() {
			//map1.center_map(map1.markers[counter].getPoint());
			if (map1.map_search == 'fudosan') {
				map1.markers[counter].openInfoWindowHtml(map1.tabs[counter]);
			} else if (map1.map_search == 'mixed') {
				if (counter === 0) {
					map1.markers[counter].openInfoWindowHtml(map1.tabs[counter]);
				} else {
					map1.markers[counter].openInfoWindowTabsHtml(map1.tabs[counter].tabs);
				}
			} else {
				map1.markers[counter].openInfoWindowTabsHtml(map1.tabs[counter].tabs);
			}
		});
	};

	return true;
}

function info_tabs(label1, body1, label2, body2){
	this.label1 = label1;
	this.label2 = label2;
	this.body1 = body1;
	this.body2 = body2;
	this.tab1 = new GInfoWindowTab(this.label1,this.body1);
	this.tab2 = new GInfoWindowTab(this.label2,this.body2);
	this.tabs = [ this.tab1, this.tab2 ];

	return true;
}

function form(){
	//take names（フィールドなどの使えるidをオブジェクトで登録）

	//if (typeof map1 != "undefined") { this.map = map1; }
	this.form = new form_field(document.getElementById('form1'));
	this.msgid = new form_field(document.getElementById('form_msg'));
	this.todofuken = new form_field(document.getElementById('todofuken'));
	this.todofuken.msgid = new form_field(document.getElementById('todofuken_msg'));
	this.shikuchoson = new form_field(document.getElementById('shikuchoson'));
	this.shikuchoson.msgid = new form_field(document.getElementById('shikuchoson_msg'));
	this.ooazamachichome = new form_field(document.getElementById('ooazamachichome'));
	this.ooazamachichome.msgid = new form_field(document.getElementById('ooazamachichome_msg'));
	this.gaikufugochiban = new form_field(document.getElementById('gaikufugochiban'));
	this.gaikufugochiban.msgid = new form_field(document.getElementById('gaikufugochiban_msg'));
	this.jusho = new form_field(document.getElementById('jusho'));
	this.jusho.msgid = new form_field(document.getElementById('jusho_msg'));
	this.get_idokeido = new form_field(document.getElementById('get_idokeido'));
	this.chintaibaibai = new form_field(document.getElementById('chintaibaibai'));
	this.chintaibaibai.msgid = new form_field(document.getElementById('chintaibaibai_msg'));
	this.kakaku = new form_field(document.getElementById('kakaku'));
	this.kakaku.msgid = new form_field(document.getElementById('kakaku_msg'));
	this.chinryo = new form_field(document.getElementById('chinryo'));
	this.chinryo.msgid = new form_field(document.getElementById('chinryo_msg'));
	this.kyouekihi = new form_field(document.getElementById('kyouekihi'));
	this.kyouekihi.msgid = new form_field(document.getElementById('kyouekihi_msg'));
	this.reikin = new form_field(document.getElementById('reikin'));
	this.reikin.msgid = new form_field(document.getElementById('reikin_msg'));
	this.shikikin = new form_field(document.getElementById('shikikin'));
	this.shikikin.msgid = new form_field(document.getElementById('shikikin_msg'));
	this.kakaku_tr = new form_field(document.getElementById('kakaku_tr'));
	this.chinryo_tr = new form_field(document.getElementById('chinryo_tr'));
	this.kyouekihi_tr = new form_field(document.getElementById('kyouekihi_tr'));
	this.reikin_tr = new form_field(document.getElementById('reikin_tr'));
	this.shikikin_tr = new form_field(document.getElementById('shikikin_tr'));
	this.shikikin_tr = new form_field(document.getElementById('shikikin_tr'));

	this.hokenryou_tr = new form_field(document.getElementById('hokenryou_tr'));
	this.keiyakukikan_tr = new form_field(document.getElementById('keiyakukikan_tr'));

	this.kanrihi_tr = new form_field(document.getElementById('kanrihi_tr'));
	this.kanrikeitai_tr = new form_field(document.getElementById('kanrikeitai_tr'));
	this.shuuzenkin_tr = new form_field(document.getElementById('shuuzenkin_tr'));
	this.tochikenri_tr = new form_field(document.getElementById('tochikenri_tr'));
	this.youtochiiki_tr = new form_field(document.getElementById('youtochiiki_tr'));
	this.shidoumenseki_tr = new form_field(document.getElementById('shidoumenseki_tr'));
	this.setsudou_tr = new form_field(document.getElementById('setsudou_tr'));
	this.yousekiritsu_tr = new form_field(document.getElementById('yousekiritsu_tr'));
	this.kenpeiritsu_tr = new form_field(document.getElementById('kenpeiritsu_tr'));
	this.kokudouhou_tr = new form_field(document.getElementById('kokudouhou_tr'));
	this.shitokeikaku_tr = new form_field(document.getElementById('shitokeikaku_tr'));
	this.chisei_tr = new form_field(document.getElementById('chisei_tr'));
	this.chimoku_tr = new form_field(document.getElementById('chimoku_tr'));
	this.tochimenseki_tr = new form_field(document.getElementById('tochimenseki_tr'));
	this.tatemonomenseki_tr = new form_field(document.getElementById('tatemonomenseki_tr'));
	this.balcony_tr = new form_field(document.getElementById('balcony_tr'));
	this.hanbaikosuu_tr = new form_field(document.getElementById('hanbaikosuu_tr'));
	this.shougakkou_tr = new form_field(document.getElementById('shougakkou_tr'));
	this.chuugakkou_tr = new form_field(document.getElementById('chuugakkou_tr'));

	this.ct_shinchikubukken = new form_field(document.getElementById('ct_shinchikubukken'));
	this.ct_tsuujoobukken = new form_field(document.getElementById('ct_tsuujoobukken'));
	this.ct_shinchikumansion = new form_field(document.getElementById('ct_shinchikumansion'));
	this.ct_chuukomansion = new form_field(document.getElementById('ct_chuukomansion'));
	this.ct_shinchikuikkodate = new form_field(document.getElementById('ct_shinchikuikkodate'));
	this.ct_chuukoikkodate = new form_field(document.getElementById('ct_chuukoikkodate'));
	this.ct_uritochi = new form_field(document.getElementById('ct_uritochi'));
	this.ct_jigyouyoubukken = new form_field(document.getElementById('ct_jigyouyoubukken'));
	this.ct_sonota = new form_field(document.getElementById('ct_sonota'));

	this.kanseiyotei_tr = new form_field(document.getElementById('kanseiyotei_tr'));
	this.genjou_tr = new form_field(document.getElementById('genjou_tr'));

	this.chikunentype = new form_field(document.getElementById('chikunentype'));
	this.kouzou_tr = new form_field(document.getElementById('kouzou_tr'));
	this.tatemonokaisuu_tr = new form_field(document.getElementById('tatemonokaisuu_tr'));
	this.chikakaisuu_tr = new form_field(document.getElementById('chikakaisuu_tr'));
	this.shozaikaisuu_tr = new form_field(document.getElementById('shozaikaisuu_tr'));
	this.senyuumenseki_tr = new form_field(document.getElementById('senyuumenseki_tr'));
	this.madorishousai_tr = new form_field(document.getElementById('madorishousai_tr'));
	this.chuushajo_tr = new form_field(document.getElementById('chuushajo_tr'));
	this.soukosuu_tr = new form_field(document.getElementById('soukosuu_tr'));

	this.kanrihi_tr = new form_field(document.getElementById('kanrihi_tr'));
	this.kanrikeitai_tr = new form_field(document.getElementById('kanrikeitai_tr'));
	this.shuuzenkin_tr = new form_field(document.getElementById('shuuzenkin_tr'));
	this.youtochiiki_tr = new form_field(document.getElementById('youtochiiki_tr'));
	this.shidoumenseki_tr = new form_field(document.getElementById('shidoumenseki_tr'));
	this.setsudou_tr = new form_field(document.getElementById('setsudou_tr'));
	this.yousekiritsu_tr = new form_field(document.getElementById('yousekiritsu_tr'));
	this.kenpeiritsu_tr = new form_field(document.getElementById('kenpeiritsu_tr'));
	this.kokudouhou_tr = new form_field(document.getElementById('kokudouhou_tr'));
	this.shitokeikaku_tr = new form_field(document.getElementById('shitokeikaku_tr'));
	this.chisei_tr = new form_field(document.getElementById('chisei_tr'));
	this.chimoku_tr = new form_field(document.getElementById('chimoku_tr'));
	this.tochimenseki_tr = new form_field(document.getElementById('tochimenseki_tr'));
	this.tatemonomenseki_tr = new form_field(document.getElementById('tatemonomenseki_tr'));
	this.balcony_tr = new form_field(document.getElementById('balcony_tr'));
	this.hanbaikosuu_tr = new form_field(document.getElementById('hanbaikosuu_tr'));
	this.shougakkou_tr = new form_field(document.getElementById('shougakkou_tr'));
	this.chuugakkou_tr = new form_field(document.getElementById('chuugakkou_tr'));
	this.shunkounen_tr = new form_field(document.getElementById('shunkounen_tr'));
	this.madori_tr = new form_field(document.getElementById('madori_tr'));

	this.bukken_option = new form_field(document.getElementById('bukken_option'));
	this.idokeido_msg = new form_field(document.getElementById('idokeido_msg'));
	this.ido = new form_field(document.getElementById('ido'));
	this.keido = new form_field(document.getElementById('keido'));
	this.input_fields = new Array();
	this.input_array = document.getElementsByTagName('input');
	for (i=0; i<this.input_array.length; i=i+1) {
		this.input_fields.push(new form_field(this.input_array[i]));
	}
	this.select_boxes = new Array();
	this.select_array = document.getElementsByTagName('select');
	for (i=0; i<this.select_array.length; i=i+1) {
		this.select_boxes.push(new form_field(this.select_array[i]));
	}
	this.textarea_items = new Array();
	this.textareas_array = document.getElementsByTagName('textarea');
	for (i=0; i<this.textareas_array.length; i=i+1) {
		this.textarea_items.push(new form_field(this.textareas_array[i]));
	}
	this.table_tds = new Array();
	this.td_array = document.getElementsByTagName('td');
	for (i=0; i<this.td_array.length; i=i+1) {
		this.table_tds.push(new form_field(this.td_array[i]));
	}
	//検索フォーム用
	this.btn_rent = new form_field(document.getElementById('btn_rent'));
	this.btn_sale = new form_field(document.getElementById('btn_sale'));
	this.btn_comp = new form_field(document.getElementById('btn_comp'));
	this.btn_rent_link = new form_field(document.getElementById('btn_rent_link'));
	this.btn_sale_link = new form_field(document.getElementById('btn_sale_link'));
	this.btn_comp_link = new form_field(document.getElementById('btn_comp_link'));
	this.sample_text = new Array();
	this.sample_text_array = document.getElementsByTagName('input');
	for (i=0; i<this.sample_text_array.length; i=i+1) {
		if (this.sample_text_array[i].className == 'sample_text') {
			this.sample_text.push(new form_field(this.sample_text_array[i]));
		}
	}

	this.form_error_table = document.getElementById('form_error_table');
	if (this.form_error_table) {
		if (this.form_error_table.rows.length < 1) {
			this.form_error_table.className = "invisible";
		}
	}
	//物件フォームの築年タイプのオプションのHTML中身を変数に保管
	if(this.ct_shinchikubukken.id) { this.ct_shinchikubukken_html = '<option label="'+this.ct_shinchikubukken.id.innerHTML+'" id="ct_shinchikubukken" value="'+this.ct_shinchikubukken.id.innerHTML+'">'+this.ct_shinchikubukken.id.innerHTML+'</option>'; }
	if(this.ct_tsuujoobukken.id) { this.ct_tsuujoobukken_html = '<option label="'+this.ct_tsuujoobukken.id.innerHTML+'" id="ct_tsuujoobukken" value="'+this.ct_tsuujoobukken.id.innerHTML+'">'+this.ct_tsuujoobukken.id.innerHTML+'</option>'; }
	if(this.ct_shinchikumansion.id) { this.ct_shinchikumansion_html = '<option label="'+this.ct_shinchikumansion.id.innerHTML+'" id="ct_shinchikumansion" value="'+this.ct_shinchikumansion.id.innerHTML+'">'+this.ct_shinchikumansion.id.innerHTML+'</option>'; }
	if(this.ct_chuukomansion.id) { this.ct_chuukomansion_html = '<option label="'+this.ct_chuukomansion.id.innerHTML+'" id="ct_chuukomansion" value="'+this.ct_chuukomansion.id.innerHTML+'">'+this.ct_chuukomansion.id.innerHTML+'</option>'; }
	if(this.ct_shinchikuikkodate.id) { this.ct_shinchikuikkodate_html = '<option label="'+this.ct_shinchikuikkodate.id.innerHTML+'" id="ct_shinchikuikkodate" value="'+this.ct_shinchikuikkodate.id.innerHTML+'">'+this.ct_shinchikuikkodate.id.innerHTML+'</option>'; }
	if(this.ct_chuukoikkodate.id) { this.ct_chuukoikkodate_html = '<option label="'+this.ct_chuukoikkodate.id.innerHTML+'" id="ct_chuukoikkodate" value="'+this.ct_chuukoikkodate.id.innerHTML+'">'+this.ct_chuukoikkodate.id.innerHTML+'</option>'; }
	if(this.ct_uritochi.id) { this.ct_uritochi_html = '<option label="'+this.ct_uritochi.id.innerHTML+'" id="ct_uritochi" value="'+this.ct_uritochi.id.innerHTML+'">'+this.ct_uritochi.id.innerHTML+'</option>'; }
	if(this.ct_jigyouyoubukken.id) { this.ct_jigyouyoubukken_html = '<option label="'+this.ct_jigyouyoubukken.id.innerHTML+'" id="ct_jigyouyoubukken" value="'+this.ct_jigyouyoubukken.id.innerHTML+'">'+this.ct_jigyouyoubukken.id.innerHTML+'</option>'; }
	//alert('<option label="'+this.ct_jigyouyoubukken_html+'" id="'+this.ct_jigyouyoubukken_name+'" value="'+this.ct_jigyouyoubukken_html+'">'+this.ct_jigyouyoubukken_html+'</option>');
	//alert("LOL "+this.chikunentype.id.options.item(2).text);

	//築年タイプのプルダウンメニューのid文字列から、そのテキストを出力
	this.ct_option_id2text = function(option) {
		if(option == 'ct_shinchikubukken') { return '新築物件'; }
		else if(option == 'ct_tsuujoobukken') { return '通常物件'; }
		else if(option == 'ct_shinchikumansion') { return '新築マンション'; }
		else if(option == 'ct_chuukomansion') { return '中古マンション'; }
		else if(option == 'ct_shinchikuikkodate') { return '新築一戸建'; }
		else if(option == 'ct_chuukoikkodate') { return '中古一戸建'; }
		else if(option == 'ct_uritochi') { return '売土地'; }
		else if(option == 'ct_jigyouyoubukken') { return '事業用物件'; }
		else if(option == 'ct_test') { return 'テスト'; }
		else { return false; }
	};
	//this.ct_option_id2text('ct_uritochi');

	//トップページの切り替える検索フォーム
	this.tabbed_search_box_attach = function() {
		if(this.btn_rent_link.id.hasChildNodes()){
			for(var i=0;i<this.btn_rent_link.id.childNodes.length;i++){
				this.btn_rent_link.id.parentNode.insertBefore(this.btn_rent_link.id.childNodes[i].cloneNode(true),this.btn_rent_link.id);
			}
		}
		this.btn_rent_link.id.parentNode.removeChild(this.btn_rent_link.id);
		//this.btn_rent.id.style.cursor = 'pointer';
		this.btn_sale.id.style.cursor = 'pointer';
		this.btn_comp.id.style.cursor = 'pointer';
		this.btn_rent.id.onclick = function() {
			//document.getElementById('btn_rent').className = 'btn_rent_off';
			my_form.tabbed_search_box_switch(document.getElementById('btn_rent'));
		};
		this.btn_sale.id.onclick = function() {
			//document.getElementById('btn_sale').className = 'btn_sale_on';
			my_form.tabbed_search_box_switch(document.getElementById('btn_sale'));
		};
		this.btn_comp.id.onclick = function() {
			//document.getElementById('btn_comp').className = 'btn_comp_on';
			my_form.tabbed_search_box_switch(document.getElementById('btn_comp'));
		};
	};

	this.tabbed_search_box_switch = function(id) {
		var btn = new Array();
		var domain;
		if(id.id != 'btn_rent') { btn.push(document.getElementById('btn_rent')); }
		if(id.id != 'btn_sale') { btn.push(document.getElementById('btn_sale')); }
		if(id.id != 'btn_comp') { btn.push(document.getElementById('btn_comp')); }
		if(id.className.indexOf('_off') >= 0) {
			id.style.cursor = 'default';
			id.className  = id.className.replace('_off','_on');
			for(var i = 0; i < btn.length; i = i +1) {
				btn[i].className = btn[i].className.replace('_on','_off');
				btn[i].style.cursor = 'pointer';
			}
		} /*else if(id.className.indexOf('_on') >= 0) {
			id.style.cursor = 'default';
			id.className = id.className.replace('_on','_off');
			for(var i = 0; i < btn.length; i = i + 1) {
				btn[i].className = btn[i].className.replace('_off','_on');
				btn[i].style.cursor = 'pointer';
			}
		}*/
		if(id.id == 'btn_rent') { domain = 'rental'; }
		if(id.id == 'btn_sale') { domain = 'sale'; }
		if(id.id == 'btn_comp') { domain = 'users'; }
		if(this.form.id.action.indexOf('rental') >= 0 && domain != 'rental') {
			this.form.id.action = this.form.id.action.replace('rental',domain);
		}
		if(this.form.id.action.indexOf('sale') >= 0 && domain != 'sale') {
			this.form.id.action = this.form.id.action.replace('sale',domain);
		}
		if(this.form.id.action.indexOf('users') >= 0 && domain != 'users') {
			this.form.id.action = this.form.id.action.replace('users',domain);
		}
	};

	//築年タイプのプルダウンメニューから項目を削除
	this.ct_option_remove = function(option) {
		for(var j = 0; j < this.chikunentype.id.options.length; j += 1) {
			if(this.chikunentype.id.options.item(j).text == this.ct_option_id2text(option)) {
				this.chikunentype.id.remove(j);
			}
		}
	};
	//this.ct_option_remove('ct_sonota');

	//築年タイプのプルダウンメニューに項目を追加
	this.ct_option_add = function(option) {
		element = document.createElement('option');
		element.text = this.ct_option_id2text(option);
		element.value = this.ct_option_id2text(option);
		element.id = option;
		element.label = this.ct_option_id2text(option);
		// HTMLSelectElement.add()でのIEのバグ対策
		try { // これは標準じゃないけどIEで動くコード
			this.chikunentype.id.add(element, 1);
		} catch( e ) { // これは普通というか標準です
			this.chikunentype.id.add(element, null);
		}
	};
	//this.ct_option_add('ct_test');

	//築年タイプのプルダウンメニューの項目の配列の中のインデックス番号を確認
	this.ct_option_find = function(option) {
		for(var k = 0; k < this.chikunentype.id.options.length; k += 1) {
			if(this.chikunentype.id.options.item(k).text == this.ct_option_id2text(option)) {
				return k;
			}
		}
		return false;
	};
	//alert(this.ct_option_find('ct_uritochi'));

	//住所をまとめるメソッド
	this.concat_jusho=function() {
		if(this.jusho.id) {	
			this.jusho.id.value = this.todofuken.id.value+this.shikuchoson.id.value+this.ooazamachichome.id.value+this.gaikufugochiban.id.value;
		}
		if(this.jusho.msgid.id) {
			this.jusho.msgid.id.innerHTML = this.jusho.id.value;
		}
	};

	//色々とイベント・ハンドラーを付ける
	this.attach_events=function() {
		for (i = 0; i < this.input_fields.length; i=i+1) {
			if (this.input_fields[i].id.name != "get_idokeido") {
				this.input_fields[i].id.onkeyup = function(){ return validate_input(this); };
				this.input_fields[i].id.onblur  = function(){ return validate_input(this); };
				this.input_fields[i].id.onclick = function(){ return validate_input(this); };
			}
		}
		for (i = 0; i < this.select_boxes.length; i=i+1) {
			//alert(this.select_boxes[i].id);
			this.select_boxes[i].id.onkeyup = function(){ return validate_input(this); };
			this.select_boxes[i].id.onblur  = function(){ return validate_input(this); };
			this.select_boxes[i].id.onclick = function(){ return validate_input(this); };
		}
		for (i = 0; i < this.textarea_items.length; i=i+1) {
			//alert(this.textarea_items[i].id);
			this.textarea_items[i].id.onkeyup = function(){ return charsleft(this); };
			this.textarea_items[i].id.onblur  = function(){ return charsleft(this); };
			this.textarea_items[i].id.onclick = function(){ return charsleft(this); };
			//this.textarea_items[i].id.onkeyup = function(){ return validate_input(this); };
			//this.textarea_items[i].id.onblur  = function(){ return validate_input(this); };
			//this.textarea_items[i].id.onclick = function(){ return validate_input(this); };
		}
		if(this.form.id) {
			this.form.id.onsubmit = function(){
				if(my_form.msgid.id) {
					my_form.msgid.id.innerHTML = "";
					my_form.msgid.id.innerHTML = "ご入力を確認中・・・";
					my_form.msgid.id.style.color = '#e60012';
				}
			};
		}
		if (this.get_idokeido.id) {
			this.get_idokeido.id.style.cursor = 'pointer';
			this.get_idokeido.id.onclick = function(){ 
				return my_form.get_idokeido_by_jusho(this);
			};
		}
		for (i = 0; i < this.sample_text.length; i=i+1) {
			this.sample_text[i].id.onfocus = function (){ 
				this.value = "";
				this.onfocus = function(){ return; };
			};
		}
	};

	//住所から緯度経度を計算
	this.get_idokeido_by_jusho = function(the_input) {
		//バリデーションではなく住所から緯度経度を調べる
		//引数名が解りにくくて申し訳ないです
		var input_value = this.todofuken.id.value;
		var input_required = this.shikuchoson.id.value;
		var input_type = this.ooazamachichome.id.value;
		var input_error_id = 'idokeido';
		this.idokeido_msg.id.innerHTML = "";
		var address = this.todofuken.id.value+this.shikuchoson.id.value+this.ooazamachichome.id.value+this.gaikufugochiban.id.value;
		//make_request(input_value, input_required, input_type, input_error_id);
		map1.geocoder.getLatLng(
			address,
			function(point) {
				if (!point) {
					my_form.idokeido_msg.id.innerHTML = "「" + address + "」は認識出来ませんでした。";
					//alert("「" + address + "」は認識出来ませんでした。");
				} else {
// 					map.setCenter(point, 13);
// 					var marker = new GMarker(point);
// 					map.addOverlay(marker);
// 					marker.openInfoWindowHtml(address);
					if (map1) {
						map1.center_map(point);
						map1.set_hardcenter(point);
					}
					my_form.ido.id.value = point.y;
					my_form.keido.id.value = point.x;
				}
			}
		);
	};
/*
			} else if (input_error_id =="idokeido" && typeof response_hairetsu[1] != "undefined" && typeof response_hairetsu[2] != "undefined") {
					//alert(response_hairetsu[1]+" "+response_hairetsu[2]);
					//alert(http_request.responseText);
					my_form.ido.id.value = response_hairetsu[1];
					my_form.keido.id.value = response_hairetsu[2];
					if (map1) {
						var point_backup = new GLatLng(response_hairetsu[1], response_hairetsu[2]);
						map1.center_map(point_backup);
						map1.set_hardcenter(point_backup);
					}
			}else{
*/

	this.switch_chintaibaibai = function() {
		if(this.chintaibaibai.id.value =="賃貸") {
			if(map1) { map1.change_marker('rental'); }
			if(!this.ct_option_find('ct_shinchikubukken')) { this.ct_option_add('ct_shinchikubukken'); }
			if(!this.ct_option_find('ct_tsuujoobukken')) { this.ct_option_add('ct_tsuujoobukken'); }
			if(this.ct_shinchikumansion.id) { this.ct_option_remove('ct_shinchikumansion'); }
			if(this.ct_chuukomansion.id) { this.ct_option_remove('ct_chuukomansion'); }
			if(this.ct_shinchikuikkodate.id) { this.ct_option_remove('ct_shinchikuikkodate'); }
			if(this.ct_chuukoikkodate.id) { this.ct_option_remove('ct_chuukoikkodate'); }
			if(this.ct_uritochi.id) { this.ct_option_remove('ct_uritochi'); }
			if(this.ct_jigyouyoubukken.id) { this.ct_option_remove('ct_jigyouyoubukken'); }
			if(this.ct_shinchikubukken.id) { this.ct_shinchikubukken.id.disabled = false; }
			if(this.ct_tsuujoobukken.id) { this.ct_tsuujoobukken.id.disabled = false; }
			if(this.ct_shinchikumansion.id) { this.ct_shinchikumansion.id.disabled = true; }
			if(this.ct_chuukomansion.id) { this.ct_chuukomansion.id.disabled = true; }
			if(this.ct_shinchikuikkodate.id) { this.ct_shinchikuikkodate.id.disabled = true; }
			if(this.ct_chuukoikkodate.id) { this.ct_chuukoikkodate.id.disabled = true; }
			if(this.ct_uritochi.id) { this.ct_uritochi.id.disabled = true; }
			if(this.ct_jigyouyoubukken.id) { this.ct_jigyouyoubukken.id.disabled = true; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = ""; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = ""; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = ""; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = ""; }
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = ""; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = ""; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = ""; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = "invisible"; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = "invisible"; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = "invisible"; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = "invisible"; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = "invisible"; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = "invisible"; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			//if(this.kakaku.id) { this.kakaku.id.value = ""; }
		} else if(this.chintaibaibai.id.value =="売買") {
			if(map1) { map1.change_marker('sale'); }
			if(this.ct_shinchikubukken.id) { this.ct_option_remove('ct_shinchikubukken'); }
			if(this.ct_tsuujoobukken.id) { this.ct_option_remove('ct_tsuujoobukken'); }
			if(!this.ct_option_find('ct_shinchikumansion')) { this.ct_option_add('ct_shinchikumansion'); }
			if(!this.ct_option_find('ct_chuukomansion')) { this.ct_option_add('ct_chuukomansion'); }
			if(!this.ct_option_find('ct_shinchikuikkodate')) { this.ct_option_add('ct_shinchikuikkodate'); }
			if(!this.ct_option_find('ct_chuukoikkodate')) { this.ct_option_add('ct_chuukoikkodate'); }
			if(!this.ct_option_find('ct_uritochi')) { this.ct_option_add('ct_uritochi'); }
			if(!this.ct_option_find('ct_jigyouyoubukken')) { this.ct_option_add('ct_jigyouyoubukken'); }
			if(this.ct_shinchikubukken.id) { this.ct_shinchikubukken.id.disabled = true; }
			if(this.ct_tsuujoobukken.id) { this.ct_tsuujoobukken.id.disabled = true; }
			if(this.ct_shinchikumansion.id) { this.ct_shinchikumansion.id.disabled = false; }
			if(this.ct_chuukomansion.id) { this.ct_chuukomansion.id.disabled = false; }
			if(this.ct_shinchikuikkodate.id) { this.ct_shinchikuikkodate.id.disabled = false; }
			if(this.ct_chuukoikkodate.id) { this.ct_chuukoikkodate.id.disabled = false; }
			if(this.ct_uritochi.id) { this.ct_uritochi.id.disabled = false; }
			if(this.ct_jigyouyoubukken.id) { this.ct_jigyouyoubukken.id.disabled = false; }
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = ""; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = ""; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = ""; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = ""; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = ""; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = ""; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = ""; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = ""; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = ""; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = ""; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = ""; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			//if(this.chinryo.id) { this.chinryo.id.value = ""; }
			//if(this.kyouekihi.id) { this.kyouekihi.id.value = ""; }
			//if(this.reikin.id) { this.reikin.id.value = ""; }
			//if(this.shikikin.id) { this.shikikin.id.value = ""; }
		} else {
			if(!this.ct_option_find('ct_shinchikubukken')) { this.ct_option_add('ct_shinchikubukken'); }
			if(!this.ct_option_find('ct_tsuujoobukken')) { this.ct_option_add('ct_tsuujoobukken'); }
			if(!this.ct_option_find('ct_shinchikumansion')) { this.ct_option_add('ct_shinchikumansion'); }
			if(!this.ct_option_find('ct_chuukomansion')) { this.ct_option_add('ct_chuukomansion'); }
			if(!this.ct_option_find('ct_shinchikuikkodate')) { this.ct_option_add('ct_shinchikuikkodate'); }
			if(!this.ct_option_find('ct_chuukoikkodate')) { this.ct_option_add('ct_chuukoikkodate'); }
			if(!this.ct_option_find('ct_uritochi')) { this.ct_option_add('ct_uritochi'); }
			if(!this.ct_option_find('ct_jigyouyoubukken')) { this.ct_option_add('ct_jigyouyoubukken'); }
			if(this.ct_shinchikubukken.id) { this.ct_shinchikubukken.id.disabled = false; }
			if(this.ct_tsuujoobukken.id) { this.ct_tsuujoobukken.id.disabled = false; }
			if(this.ct_shinchikumansion.id) { this.ct_shinchikumansion.id.disabled = false; }
			if(this.ct_chuukomansion.id) { this.ct_chuukomansion.id.disabled = false; }
			if(this.ct_shinchikuikkodate.id) { this.ct_shinchikuikkodate.id.disabled = false; }
			if(this.ct_chuukoikkodate.id) { this.ct_chuukoikkodate.id.disabled = false; }
			if(this.ct_uritochi.id) { this.ct_uritochi.id.disabled = false; }
			if(this.ct_jigyouyoubukken.id) { this.ct_jigyouyoubukken.id.disabled = false; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = ""; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = ""; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = ""; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = ""; }
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.bukken_option.id) { this.bukken_option.id.className = ""; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = ""; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = ""; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = ""; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = ""; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = ""; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = ""; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = ""; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = ""; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = ""; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = ""; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = ""; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = ""; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = ""; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = ""; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		}
	};

	this.switch_chikunentype = function() {
		if(this.chikunentype.id.value =="新築物件") {
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = ""; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = ""; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = ""; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = ""; }
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = ""; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = ""; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = ""; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = "invisible"; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = ""; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = ""; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = ""; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = ""; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = "invisible"; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = "invisible"; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = "invisible"; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = "invisible"; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = "invisible"; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = "invisible"; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else if(this.chikunentype.id.value =="通常物件") {
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = ""; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = ""; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = ""; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = ""; }
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = ""; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = ""; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = ""; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = "invisible"; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = ""; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = ""; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = ""; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = "invisible"; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = "invisible"; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = "invisible"; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = "invisible"; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = "invisible"; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = "invisible"; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else if(this.chikunentype.id.value =="新築マンション") {
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = ""; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = ""; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = ""; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = ""; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = ""; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = ""; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = ""; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = "invisible"; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = "invisible"; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = "invisible"; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = "invisible"; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = "invisible"; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = "invisible"; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = ""; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = ""; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else if(this.chikunentype.id.value =="中古マンション") {
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = ""; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = ""; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = ""; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = ""; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = ""; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = ""; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = "invisible"; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = "invisible"; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = "invisible"; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = "invisible"; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = "invisible"; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = "invisible"; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = ""; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else if(this.chikunentype.id.value =="新築一戸建") {
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = "invisible"; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = "invisible"; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = "invisible"; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = ""; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = "invisible"; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = ""; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else if(this.chikunentype.id.value =="中古一戸建") {
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = "invisible"; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = "invisible"; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = "invisible"; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = "invisible"; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = "invisible"; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = "invisible"; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = "invisible"; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = ""; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else if(this.chikunentype.id.value =="売土地") {
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = "invisible"; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = "invisible"; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = "invisible"; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = "invisible"; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = "invisible"; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = "invisible"; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = "invisible"; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = "invisible"; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = "invisible"; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = ""; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = ""; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = ""; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = ""; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = ""; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = ""; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = "invisible"; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = "invisible"; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = "invisible"; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = "invisible"; }
			if(this.madori_tr.id) { this.madori_tr.id.className = "invisible"; }
		} else if(this.chikunentype.id.value =="事業用物件") {
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = "invisible"; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = "invisible"; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = "invisible"; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = "invisible"; }
			if(this.bukken_option.id) { this.bukken_option.id.className = "invisible"; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = "invisible"; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = "invisible"; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = "invisible"; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = "invisible"; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = "invisible"; }
			if(this.tochikenri_tr.id) { this.tochikenri_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = "invisible"; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = "invisible"; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = ""; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = "invisible"; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = ""; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = ""; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = "invisible"; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = "invisible"; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = "invisible"; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = ""; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = ""; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = "invisible"; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = "invisible"; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = "invisible"; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = "invisible"; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		} else {
			if(this.chinryo_tr.id) { this.chinryo_tr.id.className = ""; }
			if(this.kyouekihi_tr.id) { this.kyouekihi_tr.id.className = ""; }
			if(this.reikin_tr.id) { this.reikin_tr.id.className = ""; }
			if(this.shikikin_tr.id) { this.shikikin_tr.id.className = ""; }
			if(this.kakaku_tr.id) { this.kakaku_tr.id.className = ""; }
			if(this.bukken_option.id) { this.bukken_option.id.className = ""; }
			if(this.hokenryou_tr.id) { this.hokenryou_tr.id.className = ""; }
			if(this.keiyakukikan_tr.id) { this.keiyakukikan_tr.id.className = ""; }
			if(this.kanrihi_tr.id) { this.kanrihi_tr.id.className = ""; }
			if(this.kanrikeitai_tr.id) { this.kanrikeitai_tr.id.className = ""; }
			if(this.shuuzenkin_tr.id) { this.shuuzenkin_tr.id.className = ""; }
			if(this.kouzou_tr.id) { this.kouzou_tr.id.className = ""; }
			if(this.tatemonokaisuu_tr.id) { this.tatemonokaisuu_tr.id.className = ""; }
			if(this.chikakaisuu_tr.id) { this.chikakaisuu_tr.id.className = ""; }
			if(this.shozaikaisuu_tr.id) { this.shozaikaisuu_tr.id.className = ""; }
			if(this.senyuumenseki_tr.id) { this.senyuumenseki_tr.id.className = ""; }
			if(this.madorishousai_tr.id) { this.madorishousai_tr.id.className = ""; }
			if(this.chuushajo_tr.id) { this.chuushajo_tr.id.className = ""; }
			if(this.soukosuu_tr.id) { this.soukosuu_tr.id.className = ""; }
			if(this.kanseiyotei_tr.id) { this.kanseiyotei_tr.id.className = ""; }
			//if(this.genjou_tr.id) { this.genjou_tr.id.className = ""; }
			if(this.youtochiiki_tr.id) { this.youtochiiki_tr.id.className = ""; }
			if(this.shidoumenseki_tr.id) { this.shidoumenseki_tr.id.className = ""; }
			if(this.setsudou_tr.id) { this.setsudou_tr.id.className = ""; }
			if(this.yousekiritsu_tr.id) { this.yousekiritsu_tr.id.className = ""; }
			if(this.kenpeiritsu_tr.id) { this.kenpeiritsu_tr.id.className = ""; }
			if(this.kokudouhou_tr.id) { this.kokudouhou_tr.id.className = ""; }
			if(this.shitokeikaku_tr.id) { this.shitokeikaku_tr.id.className = ""; }
			if(this.chisei_tr.id) { this.chisei_tr.id.className = ""; }
			if(this.chimoku_tr.id) { this.chimoku_tr.id.className = ""; }
			if(this.tochimenseki_tr.id) { this.tochimenseki_tr.id.className = ""; }
			if(this.tatemonomenseki_tr.id) { this.tatemonomenseki_tr.id.className = ""; }
			if(this.balcony_tr.id) { this.balcony_tr.id.className = ""; }
			if(this.hanbaikosuu_tr.id) { this.hanbaikosuu_tr.id.className = ""; }
			if(this.shougakkou_tr.id) { this.shougakkou_tr.id.className = ""; }
			if(this.chuugakkou_tr.id) { this.chuugakkou_tr.id.className = ""; }
			if(this.shunkounen_tr.id) { this.shunkounen_tr.id.className = ""; }
			if(this.madori_tr.id) { this.madori_tr.id.className = ""; }
		}
	};

	this.validate_all = function() {
		alert("validate all");
		var number_of_errors = 0;
		for (table_td in this.table_tds) {
			if (table_td.id.className == "rules"){
				if (table_td.id.innerHTML == '確認済み' || table_td.id.innerHTML === '' ) {
					table_td.id.style.color = '#000000';
				} else {
					number_of_errors = number_of_errors + 1; 
					table_td.id.style.color = '#e60012';
				}
			}
		}
		if (number_of_errors > 0) {
			form_error = "入力された項目を全て再確認下さい。受け取れない値のとなりに赤字の警告が出ています";
			if(this.msgid.id) {
				this.msgid.id.innerHTML = "";
				this.msgid.id.innerHTML = form_error;
				this.msgid.id.style.color = '#e60012';
			}
			number_of_errors = 0;
			return false;
		} else {
			return true;
		}
	};

	return true;
}

function form_field(id) {
	this.id = id;
	this.msgid = null;
	//触ったら１回消えるフィールド用のカウンター
	this.delete_count = 0;
	
	return true;
}

function charsleft(the_input) {
	var input_value = "";
	var input_class = "";
	var input_required = "";
	var input_type = "";
	var input_error_id = "";
	//alert("validating input");
	input_value = the_input.value;
	input_class = the_input.className.split(' ');
	input_required = input_class[1];
	input_type = input_class[2];
	input_error_id = input_class[3];
	var current_chars = input_value.length;
	var chars_left = input_type - current_chars;
	var chars_over = - chars_left;
	if (chars_left>=0) {
		var reply_text = "文字残数： "+chars_left;
	} else {
		var reply_text = "入力が"+chars_over+"文字長過ぎます。";
	}
	if(input_type){
		if(document.getElementById(input_error_id)) {
			document.getElementById(input_error_id).innerHTML = reply_text;
		}
	}
}

function validate_input(the_input) {
	var input_value = "";
	var input_class = "";
	var input_required = "";
	var input_type = "";
	var input_error_id = "";
	//alert("validating input");
	if(the_input.name=="todofuken" || the_input.name=="shikuchoson" || the_input.name=="ooazamachichome" || the_input.name=="gaikufugochiban"){
		my_form.concat_jusho();
	} else if(the_input.name=="chintaibaibai") {
		my_form.switch_chintaibaibai();
	} else if(the_input.name=="chikunentype") {
		my_form.switch_chikunentype();
	} else if(the_input.name=="yuubin") {
		//バリデーションではなく郵便番号から住所を調べましょう
		//引数名が解りにくくて申し訳ないです
		input_value = the_input.value;
		input_class = "";
		input_required = "";
		input_type = "";
		input_error_id = "jusho";
		make_request(input_value, input_required, input_type, input_error_id);
	}
	var error=0;
	input_value = the_input.value;
	input_class = the_input.className.split(' ');
	input_required = input_class[1];
	input_type = input_class[2];
	input_error_id = input_class[3];
	if(input_error_id=="password2_msg" && document.getElementById("password")){
		if(the_input.value!=document.getElementById("password").value) {
			reply_text = "パスワードが一致していません";
			document.getElementById(input_error_id).innerHTML = "";
			document.getElementById(input_error_id).innerHTML = reply_text;
			//document.getElementById(input_error_id).appendChild(document.createTextNode(reply_text));
			error=1;
			//alert(the_input.value+document.getElementById("password").value);
		} else {
			document.getElementById(input_error_id).innerHTML = "";
		}
	}
	if(input_error_id=="mail2_msg" && document.getElementById("mail")){
		if(the_input.value!=document.getElementById("mail").value) {
			reply_text = "メールアドレスが一致していません";
			document.getElementById(input_error_id).innerHTML = "";
			document.getElementById(input_error_id).innerHTML = reply_text;
			//document.getElementById(input_error_id).appendChild(document.createTextNode(reply_text));
			error=1;
			//alert(the_input.value+document.getElementById("mail").value);
		} else {
			//alert("mail2 ok");
			document.getElementById(input_error_id).innerHTML = "";
		}
	}
	if(error!=1) {
		make_request(input_value, input_required, input_type, input_error_id);
	}
}

function make_request(input_value, input_required, input_type, input_error_id) {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('XMLHTTPインスタンスを作成出来なかった為、AJAXを諦めます。');
		return false;
	}
	http_request.onreadystatechange = function() {
		handle_validation_response(http_request, input_required, input_type, input_error_id);
	};
	//alert(input_error_id);
	if (input_error_id =="jusho") {
		url = "/"+env_url+"?action=get_jusho_by_yuubin&input_value=";
	}else if (input_error_id =="idokeido") {
		url = "/"+env_url+"?action=get_idokeido_by_jusho&input_value=";
	}else{
		url = "/"+env_url+"?action=validate_ajax&input_value=";
	}
	url = encodeURI(url+input_value+"&input_required="+input_required+"&input_type="+input_type+"&input_error_id="+input_error_id);
	//my_form.idokeido_msg.id.innerHTML = encodeURI(url);
	//alert(url);
	//if (input_error_id == 'idokeido') alert(url);
	http_request.open('GET', url, true);
	http_request.send(null);
}

function handle_validation_response(http_request, input_required, input_type, input_error_id) {
	if (http_request.readyState == 4) {
		//alert("handle_validation_response");
		if (http_request.status == 200) {
			var response_hairetsu = http_request.responseText.split("|");
			var reply = response_hairetsu[1];
			var reply_text = "";
			//my_form.idokeido_msg.id.innerHTML = "input_error_id:"+input_error_id+" | "+response_hairetsu[1]+" | "+response_hairetsu[2];
			//my_form.idokeido_msg.id.innerHTML = "input_error_id:"+input_error_id+" | http_request.responseText="+http_request.responseText;
			//alert("input_error_id:"+input_error_id+" | http_request.responseText="+http_request.responseText);
			if (input_error_id =="jusho") {
				if(typeof response_hairetsu[1] =="undefined") { response_hairetsu[1] = ""; }
				if(typeof response_hairetsu[2] =="undefined") { response_hairetsu[2] = ""; }
				if(typeof response_hairetsu[3] =="undefined") { response_hairetsu[3] = ""; }
				//alert(http_request.responseText);
				my_form.todofuken.id.value = response_hairetsu[1];
				my_form.shikuchoson.id.value = response_hairetsu[2];
				my_form.ooazamachichome.id.value = response_hairetsu[3];
				var gaikufugochiban = my_form.gaikufugochiban.id.value;
				my_form.jusho.value = response_hairetsu[1]+response_hairetsu[2]+response_hairetsu[3]+gaikufugochiban;
			} else if (input_error_id =="idokeido" && typeof response_hairetsu[1] != "undefined" && typeof response_hairetsu[2] != "undefined") {
					//alert(response_hairetsu[1]+" "+response_hairetsu[2]);
					//alert(http_request.responseText);
					my_form.ido.id.value = response_hairetsu[1];
					my_form.keido.id.value = response_hairetsu[2];
					if (map1) {
						var point_backup = new GLatLng(response_hairetsu[1], response_hairetsu[2]);
						map1.center_map(point_backup);
						map1.set_hardcenter(point_backup);
					}
			}else{
				if(document.getElementById(input_error_id)) {
					
					document.getElementById(input_error_id).innerHTML = "";
					switch(reply) {
					case "ok":
						//reply_text = "確認済み";
						reply_text = '<img src="/images/ok_mark.gif" align="absmiddle" width="17" height="17" />';
						break;
					case "required":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 必須';
						break;
					case "7figures":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角７桁をハイフン無しで入力下さい';
						break;
					case "badmail":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 入力されたメールアドレスを再確認下さい';
						break;
					case "badphone":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角の数字とハイフンのみでご入力下さい';
						break;
					case "badnumber":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角数字とドット一つでご入力下さい';
						break;
					case "not_int":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角数字でご入力下さい';
						break;
					case "low_kakaku":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 10000以上の価格を入力下さい';
						break;
					case "headtail0-9a-zA-Z":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 頭と尻は半角英数か数字にして下さい';
						break;
					case "2symbol":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 連続記号はご入力しないで下さい';
						break;
					case "^a-zA-Z":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 頭は半角英数にして下さい';
						break;
					case "0-9a-zA-Z-._":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角英数、数字、「_-」記号でご入力下さい';
						break;
					case "2-64":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角２〜６４文字でご入力下さい';
						break;
					case "6-64":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角６〜６４文字でご入力下さい';
						break;
					case "10-16":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 半角１０〜１６文字でご入力下さい';
						break;
					case "no_http":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 「http://」からURLをご入力下さい';
						break;
					case "bad_url":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> 正しいURLをご入力下さい';
						break;
					case "kanjichoume":
						reply_text = '<img src="/images/bad_mark.gif" align="absmiddle" width="17" height="17" /> ◯丁目は漢字でご入力下さい';
						break;
					default:
						reply_text = reply;
					}
					//document.getElementById(input_error_id).appendChild(document.createTextNode(reply_text));
					document.getElementById(input_error_id).innerHTML = reply_text;
				}
			}
		//} else {
		//	alert('AJAXリクエストで問題がありました。');
		}
	}
}

function show_embed_video(embed_div) {
	if (document.getElementById("video_url")) {
		//var video_url="http://www.unitedrooms.tv/0078/0078_000001_8100022.wmv";
		var video_url=document.getElementById("video_url").innerHTML;
	}
	object = '<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" width="320" height="280" ';
	object += 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" ';
	object += 'id="WinMediPlay" type="application/x-oleobject">';
	object += '<param name="src" value="' + video_url + '" />';
	object += '<param name="autoStart" value="false" />';
	object += '<param name="showControls" value="true" />';
	object += '<embed type="video/x-ms-asf-plugin" ';
	object += 'pluginspace="http://www.microsoft.com/windows95/downloads/contents/wurecommended/s_wufeatured/mediaplayer/default.asp" ';
	object += 'src="' + video_url + '" name="mediaplayer" showcontrols=2 showdisplay=0 showstatusbar=0 autostart=0 width="320" height="280"></embed>';
	object += '</object>';
	embed_div.innerHTML = object;
	embed_div.onclick = function(){ 
		return;
	};
}

function resize_image(src, max_width, max_height) {
	picture = new Image();
	picture.src = src;
	//alert("picture.src="+src+" picture.width="+picture.width+" picture.height="+picture.width);
	var width;
	var height;
	if (picture.width / picture.height >= max_width / max_height) {
		width = max_width;
		height = picture.height * (max_width / picture.width);
	} else {
		height = max_height;
		width = picture.width * (max_height / picture.height);
	}
	var size = new Array();
	size.push(width);
	size.push(height);
	//alert("picture.width="+picture.width+" picture.height="+picture.width+" width="+width+" height="+height);
	return size;
}

function start_slideshow() {
	this.id_current = 0;
	this.slideshow_width = 320;
	this.slideshow_height = 280;
	this.slideshow_delay = 5000;
	this.pictures = new Array();
	if (document.getElementById("slideshow_urls")) {
		this.slideshow_urls=document.getElementById("slideshow_urls").innerHTML.split("|");
		this.slideshow_urls.pop();
	}
	this.movie_div = document.getElementById("slideshow");
	if (this.slideshow_urls.length > 0) {
		//this.movie_div.innerHTML = '<div style="width:320px; height:280px; background-color:#000;" align="center"><img src="" alt="スライドショー" id="imageDiaporama" /></div>';
		this.movie_div.innerHTML = '<div style="width:320px; height:280px; background-color:#000;" align="center"><table width="320" height="280" cellpadding="0" cellspacing="0" bgcolor="#000000"><tr><th><img src="" alt="スライドショー" id="imageDiaporama" /></th></tr></table></div>';
	}
	for (counter=0; counter<this.slideshow_urls.length; counter+=1) {
		this.pictures.push(new Image());
	}
	for (counter=0; counter<this.slideshow_urls.length; counter+=1) {
		this.pictures[counter].src = pictures_url + this.slideshow_urls[counter];
		//alert(this.pictures[counter].src);
		//this.pictures[counter].src = "http://www.movimap.net/"+env_url+"test_pictures/" + this.slideshow_urls[counter];
	}
	this.only_one_pic = 0;
	if (this.pictures.length == 1) {
		this.pictures.push(new Image());
		this.pictures[this.pictures.length-1].src = pictures_url + this.slideshow_urls[counter-1];
		this.only_one_pic = 1;
	}
/*	if (this.pictures.length > 1) {
		this.pictures.push(new Image());
		this.pictures[this.pictures.length-1].src = "http://www.movimap.net/"+env_url+"images/no_movie.jpg";
	}*/

	this.next_slide = function() {
		var img = $('imageDiaporama');
		img.src = this.pictures[this.id_current].src;
		if (!this.only_one_pic) { Element.hide('imageDiaporama'); }
		img.src = this.pictures[this.id_current].src;
		if (!this.only_one_pic) { Effect.Appear('imageDiaporama'); }
		//alert("before resizing: "+img.width+"x"+img.height);
		if (this.pictures[this.id_current].width / this.pictures[this.id_current].height >= this.slideshow_width / this.slideshow_height) {
			img.width = slideshow_width;
			img.height = this.pictures[this.id_current].height * (this.slideshow_width / this.pictures[this.id_current].width);
		} else {
			img.height = slideshow_height;
			img.width = this.pictures[this.id_current].width * (this.slideshow_height / this.pictures[this.id_current].height);
		}
		//alert("after resizing: "+img.width+"x"+img.height);
		if (this.pictures.length > 1) {
			window.setTimeout("this.next_slide()",this.slideshow_delay);
		}
		if (this.id_current < (this.pictures.length-1)) this.id_current++;
		else this.id_current = 0;
	};

	if (this.pictures.length > 0) {
		this.next_slide();
	}
}

function detailed_search_toggle() {
	var on = document.getElementById("detailed_search_on");
	var off = document.getElementById("detailed_search_off");
	on.style.cursor = 'pointer';
	on.onclick = function(){ 
		Effect.toggle('detailed_search_box','appear');
		Effect.toggle(this);
	};
	off.style.cursor = 'pointer';
	off.onclick = function(){ 
		Effect.toggle('detailed_search_box','appear');
		Effect.toggle('detailed_search_on');
	};
}

function detect_environment() {
	var the_pathname = window.location.pathname;
	var the_pathname_array = the_pathname.split("/");
	var the_environment = the_pathname_array[1];
	if(the_environment=="secret") { return the_environment+'/'; }
	if(the_environment=="development") { return the_environment+'/'; }
	if(the_environment=="kanagawa") { return the_environment+'/'; }
	return '';
}

function detect_domain() {
	var the_fqdn = window.location.host;
	var the_fqdn = the_fqdn.split(".");
	var the_domain = the_fqdn[1] + '.' + the_fqdn[2];
	return the_domain;
}

function movimap() {
	//get data from xhtml

	domain = detect_domain();
	home_url = "http://www." + domain + "/";
	rental_url = "http://rental." + domain + "/";
	sale_url = "http://sale." + domain + "/";
	users_url = "http://users." + domain + "/";
	env_url = detect_environment();
	//alert(env_url);
	/*if(env_url=="kanagawa/") { env_url = env_url+"kngw_"; }
	else if(env_url=="secret/") { env_url = env_url+"test_"; }
	else if(env_url=="development/") { env_url = env_url+"test_"; }*/
	pictures_url = home_url+env_url+"pictures/";
	thumbs_url = home_url+env_url+"thumbs/";
	//alert(pictures_url);

	var map_ido = new Array();
	var map_keido = new Array();
	var map_mode = "";
	if (document.getElementById("map_mode")) {
		map_mode=document.getElementById("map_mode").innerHTML;
	}
	if (document.getElementById("map_ido")) {
		map_ido=document.getElementById("map_ido").innerHTML.split("|");
		if (map_mode == "search") { map_ido.pop(); }
	}
	if (document.getElementById("map_keido")) {
		map_keido=document.getElementById("map_keido").innerHTML.split("|");
		if (map_mode == "search") { map_keido.pop(); }
	}
	//create map
	//if (GBrowserIsCompatible() && typeof map_ido!='undefined' && typeof map_keido!='undefined' && typeof map_mode!='undefined') {
	if ('function' == typeof GBrowserIsCompatible) {
		if (GBrowserIsCompatible() && map_ido && map_keido && map_mode) {
			map1 = new google_map(map_ido[0], map_keido[0], map_mode);
			if (map_mode == "search" || map_mode == "kakunin" || map_mode == "home" || map_mode == "edit" || document.getElementById("map_chintaibaibai")) {
				map1.get_results_data();
			}
			if (map_ido.length>0) {
				// 逆にする？まだ何かが足りない
				//for (var i = map_ido.length - 1; i >= 0; i-=1) {
				for (var i = 0; i < map_ido.length; i+=1) {
					var point = new GLatLng(map_ido[i],map_keido[i]);
					map1.add_marker(point);
				}
			}
			if (map_mode == "search") {
				map1.autozoom();
				map1.tabbed_info();
			}
			if (map_mode == "edit") {
				map1.attach_click(map1.markers[map1.markers.length-1], 0);
				var marker = map1.markers[map1.markers.length-1];
			}
		}
	}
	//validate form
	if(document.getElementById("form1")) {
		my_form = new form();
		if (my_form.jusho.id) {
			my_form.concat_jusho();
		}
		if (my_form.chintaibaibai.id && map_mode) {
			my_form.switch_chintaibaibai();
			my_form.switch_chikunentype();
		}
		if (my_form.input_fields.length>0) {
			my_form.attach_events();
		}
		if (my_form.btn_rent.id) {
			my_form.tabbed_search_box_attach();
		}
	}
	if(document.getElementById("embed_video")) {
		document.getElementById("embed_video").style.cursor = 'pointer';
		document.getElementById("embed_video").onclick = function(){ 
			return show_embed_video(this);
		};
	} else if (document.getElementById("movie") && document.getElementById("slideshow_urls")) {
		start_slideshow();
	}
	if (document.getElementById("detailed_search_box") 
		&& document.getElementById("detailed_search_on") 
		&& document.getElementById("detailed_search_off")) {
			detailed_search_toggle();
	}

	divs = document.getElementsByTagName('div');
	if (divs) {
		results = new Array();
		for (i=0; i<divs.length; i=i+1) {
			//if (divs[i].className == 'results') {
			if (divs[i].className == 'clickable_list_item') {
				results.push(divs[i]);
			}
		}
		if (document.getElementById("map")) {
			for (i=0; i<results.length; i=i+1) {
				map1.attach_click_to_result(results[i], i);
			}
		}
	}
	
}

window.onload = function() {
	movimap();
};
