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

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

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

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

// 基本Util
var baseUtil = {
	toNum : function(n) {
		try {
			return parseInt(n,10);
		} catch ( ex ) {
			return 0;
		}
	},
	toPX : function(n) {
		var z = n;
		if (typeof n == "string") {
			try {
				z = parseInt(n);
			} catch( e ) {
				return n;
			}
		}
		return z + "px";
	},
	getTimeDistance : function (start_time, end_time) {
		var regex = "^(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9])$";
		if (start_time.match(regex) && end_time.match(regex)) {
			var start = start_time.split(":");
			var end = end_time.split(":");
			var use = new Array(end[0] - start[0], end[1] - start[1]);
			if (use[1] < 0) {
				use[0]--;
				use[1] = 60 + use[1];
			}
			if (use[0] < 0) {
				use[0] = 24 + use[0];
			}
			if (use[1].toString().length == 1) {
				use[1] = "0"+use[1];
			}
			if (use[0].toString().length == 1) {
				use[0] = "0"+use[0];
			}

			return use[0]+":"+use[1];
		} else {
			return "";
		}
	},
	getMinute : function(time, over24) {
		var regex = "^(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9])$";
		if (time.match(regex)) {
			var times = time.split(":");
			var t = times[0] * 60 + Math.floor(times[1] / 60) + (times[1] % 60);
			return over24 ? t + (24 * 60) : t;
		} else {
			return 0;
		}
	},
	createDate : function(dateString) {
		var date = null;
		if (dateString.match(/((\d{2})?\d{2})\/(\d{1,2})/) ||
			dateString.match(/((\d{2})?\d{2})-(\d{1,2})/) ||
			dateString.match(/((\d{0})?\d{4})(\d{2})/)) {
			var year = RegExp.$1;
			var month = RegExp.$3;
			var day = 1;

			if (RegExp.$2 == "" && year.length == 2) { year = "19" + year; }
			year = year - 0; month = month - 1; day = day - 0;

			if (year > 1900 && year < 2100 && month >= 0 && month <= 11 && day >= 1 && day <= 31) {
				date = new Date(year, month, day, 0, 0, 0, 0);
				if (!(date.getFullYear() == year && date.getMonth() == month && date.getDate() == day)) { date = null; }
			}
		}
		return date;
	},
	getEventSrc : function (ev) {
		ev  = ev || window.event;
		var src = ev.target || ev.srcElement;
		return src;
	},
	getOffsetPosition : function(obj) {
		var element = obj.offsetParent;
		var valueT = 0, valueL = 0;
		do {
			valueT += element.offsetTop  || 0;
			valueL += element.offsetLeft || 0;
			element = element.offsetParent;
		} while (element);
		return new Array(valueT, valueL);
	},
	formatNumber : function(n, disp) {
		if (typeof disp === "undefined") disp = false;
		var s = "" + n;
		var p = s.indexOf(".");
		if (p < 0) { // 小数点が見つからなかった時
			p = s.length; // 仮想的な小数点の位置とする
		}
		var r = s.substring(p, s.length); // 小数点の桁と小数点より右側の文字列
		for (var i = 0; i < p; i++) {
			var c = s.substring(p - 1 - i, p - 1 - i + 1);
			if (c < "0" || c > "9") {
				r = s.substring(0, p - i) + r;
				break;
			}
			if (i > 0 && i % 3 == 0) r = "," + r;
			r = c + r; // 数字を一桁追加する。
		}
		if (disp && r == "") r = 0;
		return r;
	}
};

// ドキュメントコントロール
var documentControl = {
	IE : !!(window.attachEvent && !window.opera),
	Opera : !!window.opera,
	WebKit : navigator.userAgent.indexOf("AppleWebKit/") > -1,
	Gecko : navigator.userAgent.indexOf("Gecko") > -1 && navigator.userAgent.indexOf("KHTML") == -1,
	MobileSafari : !!navigator.userAgent.match(/Apple.*Mobile.*Safari/),
	isChild : !!window.opener,
	initScript : new Array(),
	getElement : function(id) {
		return document.getElementById(id);
	},
	go : function(url, form_id) {
		if (typeof form_id === "undefined") form_id = "";
		var form = null;
		if (form_id != "") form = document.getElementById(form_id);
		if (form == null) {
			if (url !== undefined) {
				document.location = url;
			} else {
				document.location = document.location;
			}
		} else {
			form.action = url;
			form.submit();
		}
		return false;
	},
	logout : function(dir) {
		if (window.confirm('ログアウトします。\nよろしいですか？')) {
			this.go(dir+'top_logout.php');
		}
		return false;
	},
	goMyPage : function(dir) {
		if (window.confirm('マイページへ移動します。\nよろしいですか？')) {
			this.go(dir+'my_page_mail.php');
		}
		return false;
	},
	setCenter : function() {
		var body = document.body;
		var clientWidth = body.clientWidth;
		var base = documentControl.getElement('base');
		if (base) {
			var offsetWidth = base.offsetWidth;
			var width = (clientWidth - offsetWidth) / 2
			if (width > 0) {
				base.style.left = width;
			}
		}
	},
	observeEvent : function(element, name, observer){
		if (element.addEventListener) {
			element.addEventListener(name, observer, false);
		} else if (element.attachEvent) {
			element.attachEvent('on' + name, observer);
		}
	},
	removeEvent : function(element, name, observer) {
		if(window.removeEventListener) {
			element.removeEventListener(name, observer, false);
		} else {
			element.detachEvent("on"+name, observer);
		}
	},
	cancelEvent : function(ev) {
		ev = ev || window.event;
		if (ev.preventDefault) {
			ev.preventDefault()
		} else {
			ev.returnValue = false;
			ev.cancelBubble = true;
		}
	},
	openChild : function(url, width, height, param) {
		var opts = new Array;

		if (width !== undefined) opts.push("width=" + width);
		if (height !== undefined) opts.push("height=" + height);
		if (param !== undefined) {
			opts.push(param);
		} else {
			opts.push("menubar=no,toolbar=no,location=no,status=no,resizable=no");
		}
		window.open(url, "dialog", opts.join(","));
	},
	appendInit : function(script) {
		this.initScript.push(script);
	},
	doInit : function() {
		for (s in documentControl.initScript) documentControl.initScript[s]();
	},
	closeWindow : function(){
		window.opener = window;
		var win = window.open(location.href,"_self");
		win.close();
	},
	showPrompt : function(mes, def) {
		var res = window.prompt(mes, def);
		if (res != null) {
			if (document.all){
				res_b = escape(res);
				pos = res_b.indexOf("%00");
				if (pos != -1) res_b = res_b.substr(0,pos);
				res = unescape(res_b);
			}
		}
		return res;
	},
	resetForm : function (obj) {
		if (obj != null && (typeof obj !== "undefined")) {
			var f = null;
			
			while (obj.parentNode) {
				obj = obj.parentNode
				if (obj.nodeName == "FORM") {
					f = obj;
					break;
				}
			}
			
			if (f != null && window.confirm('入力をクリアします。\nよろしいですか？')) {
				var radios = new Array();
				for (var i = 0; i < f.elements.length; i++) {
					var elm = f.elements[i];
					switch (elm.type) {
						case "button":
						case "submit":
						case "reset":
						break;
					case "radio" :
						if (typeof radios[elm.name] === "undefined") {
							radios[elm.name] = elm;
						}
						elm.checked = false;
						break;
					case "hidden":
						break;
					case "checkbox":
						elm.checked = false;
						break;
					default:
						if (typeof elm.options !== "undefined" && elm.options.length > 0) {
							elm.options[0].selected = true;
						} else {
							elm.value = "";
						}
					}
				}
				
				for (r in radios) {
					radios[r].checked = true;
				}
			}
		}
	}
};

var elementControl = {
	setStyle : function(element, name, value) {
		element.style[name] = value;
		return false;
	},
	setClassName : function(element, name) {
		element.className = name;
		return false;
	}
};

// 住所検索
var postcode_formname = "";
var postcode_elementname = "";
function checkPostcode(getFormname,getPostcode,getElementname, dir){
	if (typeof dir === "undefined") dir = "";
	data = document.forms[getFormname].elements[getPostcode].value;
	data = data.replace("-", "");
	postcode_formname = getFormname;
	postcode_elementname = getElementname;
	if(data.length > 6){
		window.open(dir+"../postcode/index.html?"+data,"postcodewindow","width=320,height=240,scrollbars=no,location=no");
	}
	else{
		alert("7桁の郵便番号を入力して下さい");
	}
}
function setPostcode(getAddress){
	document.forms[postcode_formname].elements[postcode_elementname].value = getAddress;
}

// 確認サブミット用
function exConfirm(msg){
	bool = confirm(msg);
	if(bool){
		return true;
	}else{
		return false;
	}
}

// POSTリンク用
function sbmScript(getFormname, getFormaction, getFormid, getFormvalue, msg){
	if(getFormid != null && getFormid != ''){
		document.forms[getFormname].elements[getFormid].value = getFormvalue;
	}
	if(getFormaction != null && getFormaction != ''){
		document.forms[getFormname].action = getFormaction;
	}
	if(msg != null){
		if(exConfirm(msg)) document.forms[getFormname].submit();
	}else{
		document.forms[getFormname].submit();
	}
}


//
function chkfunc(radio_id){
	var r = "rent_";
	var s = "sale_";
	for(i=1;i<13;i=i+1){
		if(radio_id==r){
			if(document.getElementById(r+i).disabled == true){
				document.getElementById(r+i).disabled = false;
			}else{
				document.getElementById(r+i).disabled = true;
				document.getElementById(s+i).checked = false;
			}
		}else{
			if(document.getElementById(s+i).disabled == true){
				document.getElementById(s+i).disabled = false;
			}else{
				document.getElementById(s+i).disabled = true;
				document.getElementById(r+i).checked = false;
			}
		}
	}
}