// 検索結果画面用定義
var ie = document.all;			// primitive browser-check
var cnt = 0;
var timerCnt;
var cntWait = ie ? 30 : 50;		// wait: msec

/* setting */
var loadingWinWidth  = 200;	// px
var loadingWinHeight = 200;	// px

Event.observe(window, 'load', function(){
	// get result count
	cnt = $('find_rev_cnt').innerHTML;
	cnt -= 0;
});



function changeArea(obj)
{
	var url = '_j01_pd';
	var pars = 'type=' + obj.options[obj.selectedIndex].value;

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: showResponse
		});
	
}

function showResponse(orgReq)
{
	// responseXMLでレスポンスを取得
	var res = orgReq.responseXML;
	var list = res.getElementsByTagName("area");

	var i = document.j01.area2.options.length;
	for (n=i-1;n>=0;n--){
		document.j01.area2.options[n] = null;
	}

	var key,value;
	for(i=0;i<list.length;i++){
		key = list[i].getElementsByTagName("area-name")[0].firstChild.nodeValue;
		value = list[i].getElementsByTagName("area-id")[0].firstChild.nodeValue;
		document.j01.area2.options[i] = new Option(key,value);
	}

	if(list.length == 0) {
		document.j01.area2.style.visibility = "hidden";
		document.j01.area2.value = "0";
	} else {
		document.j01.area2.style.visibility = "visible";
	}
}

function type_submit(fObj, type)
{
	if(fObj["search_type"][2].checked) {
		fObj.action = '_revSearch';
		fObj.query.value = fObj.free_name.value;
		fObj.sort_type.value = "att_point";
	} else {
		fObj.submit_type.value = type;
	}
	fObj.submit();
}

function type_submit_s(fObj, type)
{
	if(fObj["search_type"][2].checked) {
		fObj.action = '/_revSearch';
		fObj.query.value = fObj.free_name.value;
		fObj.sort_type.value = "att_point";
	} else {
		fObj.submit_type.value = type;
	}
	fObj.submit();
}

function enter_submit(fObj, type, code)
{
	if (code == 13) {
		if(fObj["search_type"][2].checked) {
			fObj.action = '_revSearch';
			fObj.query.value = fObj.free_name.value;
			fObj.sort_type.value = "att_point";
		} else {
			fObj.submit_type.value = type;
		}
		fObj.submit();
	}
}

function enter_submit_s(fObj, type, code)
{
	if (code == 13) {
		if(fObj["search_type"][2].checked) {
			fObj.action = '/_revSearch';
			fObj.query.value = fObj.free_name.value;
			fObj.sort_type.value = "att_point";
		} else {
			fObj.submit_type.value = type;
		}
		fObj.submit();
	}
}


function sort_submit(type, base)
{
	sort_submit_with_form(document.j01,type,base);
}
function sort_submit_with_form(f,type, base)
{
	if(type == 0) {
		if(type == base) {
			if(f.sort_direction1.value == 0) {
				f.sort_direction1.value = 1;
			} else {
				f.sort_direction1.value = 0;
			}
		} else {
			f.sort_direction1.value = 1;
		}
	} else if(type == 1) {
		if(type == base) {
			if(f.sort_direction2.value == 0) {
				f.sort_direction2.value = 1;
			} else {
				f.sort_direction2.value = 0;
			}
		} else {
			f.sort_direction2.value = 1;
		}
	} else if(type == 2) {
		if(type == base) {
			if(f.sort_direction3.value == 0) {
				f.sort_direction3.value = 1;
			} else {
				f.sort_direction3.value = 0;
			}
		} else {
			f.sort_direction3.value = 1;
		}
	} else if(type == 3) {
		if(type == base) {
			if(f.sort_direction4.value == 0) {
				f.sort_direction4.value = 1;
			} else {
				f.sort_direction4.value = 0;
			}
		} else {
			f.sort_direction4.value = 0;
		}
	} else if(type == 4) {
		if(type == base) {
			if(f.sort_direction5.value == 0) {
				f.sort_direction5.value = 1;
			} else {
				f.sort_direction5.value = 0;
			}
		} else {
			f.sort_direction5.value = 1;
		}
	}

	f.sort_type.value = type;
	f.submit();
}


//アンカー指定
function sort_submit_anc(type, base,anc)
{
	sort_submit_with_form_anc(document.j01,type,base,anc);
}
function sort_submit_with_form_anc(f,type, base,anc)
{
	if(type == 0) {
		if(type == base) {
			if(f.sort_direction1.value == 0) {
				f.sort_direction1.value = 1;
			} else {
				f.sort_direction1.value = 0;
			}
		} else {
			f.sort_direction1.value = 1;
		}
	} else if(type == 1) {
		if(type == base) {
			if(f.sort_direction2.value == 0) {
				f.sort_direction2.value = 1;
			} else {
				f.sort_direction2.value = 0;
			}
		} else {
			f.sort_direction2.value = 1;
		}
	} else if(type == 2) {
		if(type == base) {
			if(f.sort_direction3.value == 0) {
				f.sort_direction3.value = 1;
			} else {
				f.sort_direction3.value = 0;
			}
		} else {
			f.sort_direction3.value = 1;
		}
	} else if(type == 3) {
		if(type == base) {
			if(f.sort_direction4.value == 0) {
				f.sort_direction4.value = 1;
			} else {
				f.sort_direction4.value = 0;
			}
		} else {
			f.sort_direction4.value = 0;
		}
	} else if(type == 4) {
		if(type == base) {
			if(f.sort_direction5.value == 0) {
				f.sort_direction5.value = 1;
			} else {
				f.sort_direction5.value = 0;
			}
		} else {
			f.sort_direction5.value = 1;
		}
	}

	f.sort_type.value = type;
	f.action=f.action + "#"+anc;
	f.submit();
}

function rev_cnt_submit(rev_cnt)
{
	document.j01.rev_cnt.value = rev_cnt;
	document.j01.submit();
}

function eval_submit(eval_type)
{
	document.j01.sort_eval.value = eval_type;
	document.j01.submit();
}

//アンカー指定
function rev_cnt_submit_anc(rev_cnt,anc)
{
	document.j01.rev_cnt.value = rev_cnt;
	document.j01.action=document.j01.action + "#"+anc;
	document.j01.submit();
}

//アンカー指定
function eval_submit_anc(eval_type,anc)
{
	document.j01.sort_eval.value = eval_type;
	document.j01.action=document.j01.action + "#"+anc;
	document.j01.submit();
}


function contact_submit()
{
	if(document.j03.contact_type.checked) {
		document.j01.contact_type.value = 1;
	} else {
		document.j01.contact_type.value = 0;
	}
	rev_cnt_disp();
}


function changeBlock(obj)
{
	var url = '_getPref';
	var pars = 'type=' + obj.options[obj.selectedIndex].value;
	
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onComplete: showResponsePref
		});
	
}

function showResponsePref(orgReq)
{
	// responseXMLでレスポンスを取得
	var res = orgReq.responseXML;
	var list = res.getElementsByTagName("pref");

	var i = $("pref_id").options.length;
	for (n=i-1;n>=0;n--){
		$("pref_id").options[n] = null;
	}

	var pos = 0;
	if(list.length == 0) {
		$("pref_id").style.visibility = "hidden";
		$("pref_id").value = "0";
	} else {
		if(list.length > 1) {
			$("pref_id").options[0] = new Option('全て','');
			pos = 1;
		}
		$("pref_id").style.visibility = "visible";
	}
	
	var key,value;
	for(i=0;i<list.length;i++){
		key = list[i].getElementsByTagName("pref-name")[0].firstChild.nodeValue;
		value = list[i].getElementsByTagName("pref-id")[0].firstChild.nodeValue;
		$("pref_id").options[i+pos] = new Option(key,value);
	}

}

function rev_cnt_disp(){
	// ローディングイメージ表示
	determinePos();
	showWin('loadingWin');

	// AJAX呼び出し
	var url ='/_j02_rc';
	var str = Form.serialize('j01');
	new Ajax.Request(url,
		{
			method: "post",
			parameters: str,
//			onComplete: rev_cnt_disp_comp
			onSuccess: function(request){
//alert(request.responseText);

				// レスポンスデータ取得
				var data = eval("("+request.responseText+")");

//alert("かうんと前");

				// 件数カウント
				cntTo(Math.floor(data.find_rev_cnt));

//alert("かうんと後");

				// 検索結果描画
				document.getElementById('find_rev_cnt').innerHTML=data.find_rev_cnt;
				document.getElementById('start_point').innerHTML=data.start_point;
				document.getElementById('end_point').innerHTML=data.end_point;
				document.getElementById('search_list').innerHTML=data.search_list;
				
				
				//201106 フォーム内検索結果数表示用
				if(data.find_rev_cnt > 0){
				document.getElementById('formFindRevCnt').innerHTML='<strong><span id="find_rev_cnt2" class="text20">'+data.find_rev_cnt+'</span></strong>件 見つかりました';
				}else{
				document.getElementById('formFindRevCnt').innerHTML='<span  class="false">該当する結婚式場が見つかりませんでした</span>';
				}

				//20110817 パンくず追加 c.kojima
//				if (data.area2 > 0) {
//					document.getElementById('p_search_area_name').innerHTML='&nbsp;&nbsp;'+data.search_area_name;
//				} else {
//					document.getElementById('p_search_area_name').innerHTML='';
//				}
				
				var urlparams = Form.serialize("j01"); 
				document.getElementById('urlresults').value= "http://www.mwed.jp/_j02?"+urlparams;//このページのURL
				document.getElementById('thisurl').style.display = "block";
				document.getElementById('viewthisurl').style.display = "none";
			}
		});

}

function rev_cnt_disp_comp(orgReq){

	// レスポンスデータ取得
	var data = eval("("+request.responseText+")");

	// 件数カウント
	cntTo(Math.floor(data.find_rev_cnt));

	// 検索結果描画
	document.getElementById('find_rev_cnt').innerHTML=data.find_rev_cnt;
	document.getElementById('start_point').innerHTML=data.start_point;
	document.getElementById('end_point').innerHTML=data.end_point;
	document.getElementById('search_list').innerHTML=data.search_list;
	
	
				//201106 フォーム内検索結果数表示用
				if(data.find_rev_cnt > 0){
				document.getElementById('formFindRevCnt').innerHTML='<strong><span id="find_rev_cnt2" class="text20">'+data.find_rev_cnt+'</span></strong>件 見つかりました';
				}else{
				document.getElementById('formFindRevCnt').innerHTML='<span  class="false">該当する結婚式場が見つかりませんでした</span>';
				}
	var urlparams = Form.serialize("j01"); 
	document.getElementById('urlresults').value = "http://www.mwed.jp/_j02?"+urlparams;//このページのURL
	document.getElementById('thisurl').style.display = "block";
	document.getElementById('viewthisurl').style.display = "none";
}


function ShowChkMore(){
	$A(document.getElementsByClassName('sChkLess')).each(function(e){
		e.style.display = 'none';
	});
	$A(document.getElementsByClassName('sChkMore')).each(function(e){
		e.style.display = 'block';
	});
	document.j01.spec_disp.value = 1;
}

function ShowChkLess(){
	$A(document.getElementsByClassName('sChkLess')).each(function(e){
		e.style.display = 'block';
	});
	$A(document.getElementsByClassName('sChkMore')).each(function(e){
		e.style.display = 'none';
	});
	document.j01.spec_disp.value = 0;
}



function checkPrefAll(pref_id, cnt){
	for (i = 1; i <= cnt; i++) {
		if($('area_' + (pref_id * 1000)).checked) {
			$('area_' + (pref_id * 1000 + i)).disabled = true;
		} else {
			$('area_' + (pref_id * 1000 + i)).disabled = false;
		}
	}
}


function changeArea2(obj)
{
	obj.submit();
}

function showResponse2(orgReq)
{
	// responseXMLでレスポンスを取得
	var res = orgReq.responseXML;
	var list = res.getElementsByTagName("area");

	var i = document.j01.area2.options.length;
	for (n=i-1;n>=0;n--){
		document.j01.area2.options[n] = null;
	}

	var key,value;
	for(i=0;i<list.length;i++){
		key = list[i].getElementsByTagName("area-name")[0].firstChild.nodeValue;
		value = list[i].getElementsByTagName("area-id")[0].firstChild.nodeValue;
		document.j01.area2.options[i] = new Option(key,value);
	}

	if(list.length == 0) {
		document.j01.area2.style.visibility = "hidden";
		document.j01.area2.value = "0";
	} else {
		document.j01.area2.style.visibility = "visible";
	}

	rev_cnt_disp();
}

/* show 'loading..' window */
function showWin(obj){
	if(obj.prototype){
		obj.style.display = 'block';
	}else if($(obj)){
		$(obj).style.display = 'block';
	}else{
		return false;
	}
}

/* hide 'loading..' window */
function hideWin(obj){
	if(obj.prototype){
		obj.style.display = 'none';
	}else if($(obj)){
		$(obj).style.display = 'none';
	}
	return true;
}

/* count up, count down */
function cntTo(cntTo){
	clearTimeout(timerCnt);
	_cntChild(cntTo);
}

/* loop for count up, count down */
function _cntChild(cntTo){

	var cntBy = 1;
	if(Math.abs(cntTo - cnt) > 1000) {
		cntBy = 1000;
	} else if(Math.abs(cntTo - cnt) > 100) {
		cntBy = 100;
	} else if(Math.abs(cntTo - cnt) > 10) {
		cntBy = 10;
	} else {
		cntBy = 1;
	}

	if(cntTo==cnt){
		$('cnt').innerHTML = cnt;
		$('find_rev_cnt').innerHTML = cnt;
		setTimeout(function(){hideWin('loadingWin');},500);
		return true;	// end loop if finished
	}else if(cntTo > cnt){
		cnt+=cntBy;
		if(cnt>=cntTo){
			$('cnt').innerHTML = cnt;
			$('find_rev_cnt').innerHTML = cnt;
			setTimeout(function(){hideWin('loadingWin');},500);
			return true;	// end loop if finished
		}
	}else if(cntTo < cnt){
		cnt-=cntBy;
		if(cnt<=cntTo){
			$('cnt').innerHTML = cnt;
			$('find_rev_cnt').innerHTML = cnt;
			setTimeout(function(){hideWin('loadingWin');},500);
			return true;	// end loop if finished
		}
	}
	$('cnt').innerHTML = cnt;

	timerCnt = setTimeout(function(){_cntChild(cntTo)},cntWait);
}

/* determine 'loading..' window position */
function determinePos(){
	// top
	$('loadingWin').style.top =
		(
			document.scroll().y +
			document.body.clientHeight/2 -	// CAUTION! 'Quirk mode' only.
			loadingWinHeight
		) + 'px';
	// left
	$('loadingWin').style.left =
		(document.body.clientWidth/2 - loadingWinWidth/2) + 'px';
}

/* get scroll position */
document.scroll = function(){
	return {
		x: this.body.scrollLeft || this.documentElement.scrollLeft,
		y: this.body.scrollTop  || this.documentElement.scrollTop
	};
};

/* create shortcut to 'getElementsByClassName' */
function $C(className, from){
	if(!from){
		return $A(document.getElementsByClassName(className));
	}else if(from.prototype){
		return $A(from.getElementsByClassName(className));
	}else if($(from)){
		return $A($(from).getElementsByClassName(className));
	}else{
		return false;
	}
}

function n(a) { if(+a!=a) throw Error('invalid number'); return +a; }



