var TaggySearch = {
	submitFocusForm : function(selectForm, focusForm) {
		
		var paramStr = this.serialize($(selectForm).add($(focusForm)));
		var action = $(focusForm).attr('action');
		var loc = action;
		if (paramStr)
			 loc += paramStr + '/';
		
		location.href = loc;
	},
	
	submitSelectForm : function(form) {
		var paramStr = this.serialize(form);
		
		if (!paramStr) {
			alert("エリア/駅を選択してください。");
			return;
		}
		
		var action = $(form).attr('action');
		var loc = action + paramStr + '/';
		location.href = loc;
	},
	
	submitOtherRailway : function(form) {
	
		var formObj = $(form);
		var paramStr = formObj.find(':input[name="railwayCd"]').val();

		if (!paramStr) {
			alert("沿線を選択してください。");
			return;
		}

		var action = $(form).attr('action');
		var loc = action + paramStr + '/';
		location.href = loc;
	},
	
	submitAreaSelectForm : function(form) {
	
		var formObj = $(form);
		var paramStr = this.serialize(form);
		if (!paramStr) {
			alert("エリアを選択してください。");
			return;
		}
		
		var action = formObj.attr('action').replace(/^\//,'');
		var loc = $('#areaGenreURL').val() + action + paramStr + '/';
		location.href = loc;
	},
	
	submitRailwaySelectForm : function(form) {

		var formObj = $(form);
		var arName = formObj.find('[name="arName"] :selected').val();
		if (!arName) {
			alert("沿線を選択してください。");
			return;
		}
				
		var action = formObj.attr('action').replace(/^\//,'');
		var loc = $('#ensenGenreURL').val() + action + arName + '/';
		location.href = loc;
	},
	
	submitItemSelectForm : function(form) {
		
		var formObj = $(form);
		var itemObj = formObj.find('[name="itemId"]');
		var selectStr  = this.serialize(itemObj);
		
		if (!selectStr) {
			alert("物件を選択してください。");
			return;
		}
		
		var paramStr = this.serialize(formObj);
		
		var action = formObj.attr('action');
		var loc = action + paramStr + '/';
		location.href = loc;
	},
	
	submitSelectFocusForm : function(selectForm, focusForm) {
		var selectStr = this.serialize(selectForm);
		
		if (!selectStr) {
			alert("エリア/駅を選択してください。");
			return;
		}
		
		var paramStr = this.serialize($(selectForm).add(focusForm));
		
		var action = $(focusForm).attr('action');
		var loc = action + paramStr + '/';
		location.href = loc;
	},
	
	submitARKForm : function(form) {
		var formObj = $(form);
		
		// ジャンル選択必須、エリア・駅名かキーワードの入力必須
		var genre = formObj.find('[name="genre"] :selected').val();
		if (!genre) {
			alert("ジャンルを選択してください。");
			return;
		}
		
		var arNameObj = formObj.find(':input[name="arName"]');
		var keywordObj = formObj.find(':input[name="keyword"]');
		if (!arNameObj.val() && !keywordObj.val()) {
			alert("エリア・駅名かキーワードを入力してください。");
			return;
		}
		
		var paramStr = this.serialize(arNameObj.add(keywordObj));
		
		var action = 'http://';
		switch (genre.substring(0, 3)) {
			case 'B01': action += 'tochi'; break;
			case 'B02': action += 'kodate'; break;
			case 'B03': action += 'mansion'; break;
			case 'B04': action += 'jigyo'; break;
			case 'R01': 
			case 'R02': action += 'chintai'; break;
			default : return;
		}
		action += '.misawa-mrd.com/';
		//action += '.' + hostname + '/';
		
		if (genre != 'B010')
			action += genre + '/';
		
		var loc = action + paramStr + '/';
		location.href = loc;
	},
	
	setDefaultARKForm : function(form, genre) {	
		var formObj = $(form);
		if (formObj != undefined && genre) {
			formObj.find('[name="genre"]').val(genre);
		}
	},
	
	checkChildrenAll : function(elem, checked) {
		var elemObj = $(elem);
		elemObj.find(':input[type="checkbox"]').attr("checked", checked);
	},
	
	switchIncBus : function(elem, checked) {
		var elemObjs = $(elem).find(':input[type="radio"]');
		if (checked) {
			elemObjs.attr('name', 'minWalkAddBus');
		} else {
			elemObjs.attr('name', 'minWalk');
		}
	},

	adjustHeight : function(elems, maxWidth, maxHeight) {
		var elemObjs = $(elems).each(function(){
			var elemObj = $(this);
			var elemWidth = elemObj.width();
			var elemHeight = elemObj.height();
			
			if (elemWidth > maxWidth) {
				elemObj.height(elemHeight * (maxWidth / elemWidth));
				elemObj.width(maxWidth);
			}
		});
		
	},
	
	openBigImage : function(elem) {
		var imageUrl = $('img', elem).attr('src');
		if (imageUrl.match(/\/(\d+)_(\d+)_[^\/]+$/)) {
			var imageId = RegExp.$1;
			var imageNo = RegExp.$2;
			window.open('http://www.misawa-mrd.com/kensaku/asp/BigImg.asp?NO='+imageNo+'&BN='+imageId, 'BigImg', 'width=560,height=600,status=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,toolbar=no');
		}
		return false;
	},
	
	serialize : function(form) {
		var q = $(form).serialize();
		
		// 空のパラメータを除去
		q = q.replace(/(^|&)[^=]+=(?=&|$)/g, '');
		if (q.substring(0, 1) == '&') {
			q = q.substring(1);
		}
		// 空白戻す
		q = q.replace(/\+/g, ' ');
		// エスケープ
		q = q.replace(/-/g, 'ー').replace(/\./g, '．').replace(/%2f/g, '／');
		// URL整形
		q = q.replace(/=/g, '.').replace(/&/g, '-');
		
		return q;
	},
	
	convertKanaHalf2Full : function(sourceText) {
		txt = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯ､｡ｰ｢｣ﾞﾟ";
		zen = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」";
		zen+= "　　　　　ガギグゲゴザジズゼゾダヂヅデド　　　　　バビブベボ　　　　　　　　　　　　　　　　　　　　　　　　　　　　　";
		zen+= "　　　　　　　　　　　　　　　　　　　　　　　　　パピプペポ　　　　　　　　　　　　　　　　　　　　　　　　　　　　　";
		str = ""; 
		
		
		sourceText = sourceText.replace("ｶﾞ", "ガ"); 
		sourceText = sourceText.replace("ｷﾞ", "ギ"); 
		sourceText = sourceText.replace("ｸﾞ", "グ"); 
		sourceText = sourceText.replace("ｹﾞ", "ゲ"); 
		sourceText = sourceText.replace("ｺﾞ", "ゴ"); 
		
		sourceText = sourceText.replace("ｻﾞ", "ザ"); 
		sourceText = sourceText.replace("ｼﾞ", "ジ"); 
		sourceText = sourceText.replace("ｽﾞ", "ズ"); 
		sourceText = sourceText.replace("ｾﾞ", "ゼ"); 
		sourceText = sourceText.replace("ｿﾞ", "ゾ"); 
		
		sourceText = sourceText.replace("ﾊﾞ", "バ"); 
		sourceText = sourceText.replace("ﾋﾞ", "ビ"); 
		sourceText = sourceText.replace("ﾌﾞ", "ブ"); 
		sourceText = sourceText.replace("ﾍﾞ", "ベ"); 
		sourceText = sourceText.replace("ﾎﾞ", "ボ"); 
		
		sourceText = sourceText.replace("ﾊﾟ", "パ"); 
		sourceText = sourceText.replace("ﾋﾟ", "ピ"); 
		sourceText = sourceText.replace("ﾌﾟ", "プ"); 
		sourceText = sourceText.replace("ﾍﾟ", "ペ"); 
		sourceText = sourceText.replace("ﾎﾟ", "ポ"); 
		
		for (i=0; i<sourceText.length; i++) {
			c = sourceText.charAt(i);
			n = txt.indexOf(c,0);
			if (n >= 0) c = zen.charAt(n);
			str += c; 
		}
		return str; 
	}
};

var TaggyTeikeitenSearch = jQuery.extend({
	submitARKTForm : function(form) {
		var formObj = $(form);
		
		var arNameObj = formObj.find(':input[name="arName"]');
		var keywordObj = formObj.find(':input[name="keyword"]');
		if (!arNameObj.val() && !keywordObj.val()) {
			alert("エリア・駅名か不動産会社名を入力してください。");
			return;
		}
		
		var paramStr = this.serialize(arNameObj.add(keywordObj));
				
		var action = formObj.attr('action');
		var loc = action + paramStr + '/';
		location.href = loc;
	},
	
	submitRailwayForm : function(form) {
		var formObj = $(form);
		
		var railwayObj = formObj.find(':input[name="railwayCd"]');
		
		var action = formObj.attr('action');
		var loc = action + '/' + railwayObj.val() + '/';
		location.href = loc;
	},
	
	submitItemSelectForm : function(form) {
		var formObj = $(form);
		
		var itemObj = formObj.find('[name="itemId"]');
		var selectStr  = this.serialize(itemObj);
		if (!selectStr) {
			alert("不動産会社を選択してください。");
			return;
		}
		
		var paramStr = this.serialize(formObj);
		
		var action = formObj.attr('action');
		var loc = action + paramStr + '/';
		location.href = loc;
	}
	
}, TaggySearch);
