/*
	植木不動産様向け売り物件検索プログラム
*/
/* 変数一覧 ============================
	汎用					i,j,cnt
	検索語					sword
	検索ヒットフラグ		check(0以上なら対象データ、0未満は非対象)
	[配列]データ			db
	[配列]個別データ		result
 */

	var db = new Array();	/* PG内データベース配列 */

	var rsStatus = 0;	/* 制御項目０１（状態） */
	var rsDate   = 1;	/* 制御項目０２（更新日） */
	var rsLat    = 2;	/* 制御項目０３（緯度） */
	var rsLng    = 3;	/* 制御項目０４（経度） */
	var rsArea   = 4;	/* 制御項目０５（地区） */
	var rsClass  = 5;	/* 制御項目０６（種別） */
	var rsType   = 6;	/* 制御項目０７（部屋タイプ） */
	var rsDetail = 7;	/* 制御項目０８（フォルダ名） */
	var rsItem01 = 8;	/* 出力項目０１（所在地など） */
	var rsItem02 = 9;	/* 出力項目０２（物件名など） */
	var rsItem03 = 10;	/* 出力項目０３（価　格など） */
	var rsItem04 = 11;	/* 出力項目０４（坪単価など） */
	var rsItem05 = 12;	/* 出力項目０５（面　積など） */
	var rsItem06 = 13;	/* 出力項目０６（地　目など） */
	var rsItem07 = 14;	/* 出力項目０７（用途地域など） */
	var rsItem08 = 15;	/* 出力項目０８（備　考など） */


//ラジオボタンの値を取得
function getRadioValue(element){
  var i;
  for (i = 0; i < element.length; i++) {
    if (element[i].checked) {
      return element[i].value;
    }
  }
    
}

/* 検索用関数 ================================================================= */
function searchDisp(){
    var ResultFrame = document.getElementById('ResultFrame');
    var CounterFrame = document.getElementById('CounterFrame');

	/* 条件の取得 */
	var sword = document.getElementById('wordbox').value;
	var swordLength = sword.length;
	var scost = document.getElementById('cost').value;
	var sarea01 = document.getElementById('area01').checked;
	var sarea02 = document.getElementById('area02').checked;
	var sarea03 = document.getElementById('area03').checked;
	var sarea04 = document.getElementById('area04').checked;
	//var sclass = getRadioValue(document.getElementsByName('class01'));
	var sclass = document.getElementById("class01").value;

//	alert(sclass);

	/* データベース（配列）の代入 */
	if (sclass == "s01") {
		db = db_s01;				//土地
	} else if (sclass == "s02") {
		db = db_s02;				//中古住宅
	} else if (sclass == "s03") {
		db = db_s03;				//その他
	}
//	for(var i=0;i<db_s01.length;i++){ db[i] = db_s01[i] };		//土地
//	for(var i=0;i<db_s02.length;i++){ db[i] = db_s02[i] };		//中古住宅
//	for(var i=0;i<db_s03.length;i++){ db[i] = db_s03[i] };		//その他

	/* データベース（配列）のソート */
	sortData(db , sclass);

	/* データベース（配列）のサイズ取得 */
	var dbLength = db.length;
	/* 配列の０番はタイトル用 */
	result = db[0].split('	');
	var resultLength = result.length;

	/* 表示領域の初期化 */
	ResultFrame.innerHTML = "<p>prease wait ...</p>";
	var resultstr ="";

    // 取り出した情報を格納する
    resultstr = '<table><thead>';
    resultstr += '<tr>';
    resultstr += '<th nowrap></th>';                            /* エリア別カラー表示用 */
    resultstr += '<th nowrap>' + result[rsItem02] + '</th>';
    resultstr += '<th nowrap>' + result[rsItem03] + '</th>';
    resultstr += '<th nowrap>' + result[rsItem04] + '</th>';
    resultstr += '<th nowrap>' + result[rsItem05] + '</th>';
    resultstr += '<th nowrap>' + result[rsItem06] + '</th>';
    resultstr += '<th nowrap>' + result[rsItem07] + '</th>';
    resultstr += '<th nowrap>' + result[rsItem08] + '</th>';
    resultstr += '</tr>';
    resultstr += '</thead><tbody>';
	/* 各レコードの表示処理はここから========================================= */
	var cnt = 0;		/* 表示レコード件数 */
	var nocnt = 0;		/* 非表示レコード件数（表示区分=0） */

	/* 検索 */
	for (var i = 1; i < dbLength; i++){
		/* 個別データをタブ区切りで配列に */
		result = db[i].split('	');
		/* 個別データの個数をカウント */
		var resultLength = result.length;

		/* 検索する */
		check = 0;


		/* -- キーワード -- */
		var swordTbl = new Array();
		sword = sword.replace("　", " ");			/* 全角スペースを半角スペースに置き換え */
		swordTbl = sword.split(' ');				/* 半角スペース毎に切り分け */
		
		if (swordLength == 0){
		    //検索文字列の指定がなければ全件対象の為チェック不要
		} else {
			for (var j = 0; j < swordTbl.length; j++){
				if (swordTbl[j].length == 0){
				    //検索文字列の指定がなければ全件対象の為チェック不要
				} else {
					if (result[rsItem01].indexOf(swordTbl[j],0) < 0) {					/* 物件名 */
						if (result[rsItem02].indexOf(swordTbl[j],0) < 0) {			/* 所在地 */
					        if (result[rsItem08].indexOf(swordTbl[j],0) < 0) {			/* 備考 */
					        	check = -1;
					        }
					    }
					}
			    }
			}
		}

 		/* -- 表示区分(0:非表示、1:表示) -- */
		if (result[rsStatus] == 1){			/* 1=表示する */
		} else {
			nocnt += 1;
			check = -1;
		}

		/* -- 価格範囲(scost) -- */
		var dcost = result[rsItem03].replace(",", "");			/* カンマを抜く */
		if ((scost == 0) || (dcost == "相談")) {			/* 指定無し 又は 金額＝相談 */
		} else if (scost == 1){		/* ～500万の個別指定なら同じ数かチェック */
			if (dcost <= 500) {
			} else {
				check = -1
			}
		} else if (scost == 2){		/* 5000～1000万の個別指定なら同じ数かチェック */
			if (dcost >= 500 && dcost <= 1000) {
			} else {
				check = -1
			}
		} else if (scost == 3){		/* 1000～2000万の個別指定なら同じ数かチェック */
			if (dcost >= 1000 && dcost <= 2000) {
			} else {
				check = -1
			}
		} else if (scost == 4){		/* 2000～3000万の個別指定なら同じ数かチェック */
			if (dcost >= 2000 && dcost <= 3000) {
			} else {
				check = -1
			}
		} else if (scost == 5){		/* 3000～4000万の個別指定なら同じ数かチェック */
			if (dcost >= 3000 && dcost <= 4000) {
			} else {
				check = -1
			}
		} else if (scost == 6){		/* 4000～5000万の個別指定なら同じ数かチェック */
			if (dcost >= 4000 && dcost <= 5000) {
			} else {
				check = -1
			}
		} else if (scost == 99) {		/* 5000万以上 */
			if (dcost >= 5000) {
			} else {
				check = -1
			}
		} else {						/* その他 */
		}
		
 		/* -- 地区(sarea01,sarea02,sarea03,sarea04) -- */
		if (result[rsArea] == 1){			/* 柏崎 */
			areaStyle = "styleArea1";
			if (sarea01) {
			} else {
				check = -1
			}
		} else if (result[rsArea] == 2){		/* 新潟 */
			areaStyle = "styleArea2";
			if (sarea02) {
			} else {
				check = -1
			}
		} else if (result[rsArea] == 3){		/* 東京 */
			areaStyle = "styleArea3";
			if (sarea03) {
			} else {
				check = -1
			}
		} else {						/* その他地域 */
			areaStyle = "styleArea4";
			if (sarea04) {
			} else {
				check = -1
			}
		}

		/* -- 種別 -- */
		if (result[rsClass] == sclass){
		} else {
				check = -1
		}


		if (check >=0 ){
		    cnt += 1;

			/* 行が奇数・偶数かを求める */
			if ((cnt % 2) == 0) {
				var resultstrrow = 'class="rsEvenRow"';		/* 偶数行 */
			} else {
				var resultstrrow = 'class="rsOddRow"';		/* 奇数行 */
			}

		    resultstr += '<tr ' + resultstrrow + '>';
		    resultstr += '<td class="' + areaStyle + '"></td>';
		    resultstr += '<td class="rsItem02"><a href="../data/' + result[rsDetail] + '/index.html" target="_blank">' + result[rsItem02] + '</a></td>';
		    resultstr += '<td class="rsItem03" nowrap>' + result[rsItem03] + '</td>';
		    resultstr += '<td class="rsItem04" nowrap>' + result[rsItem04] + '</td>';
		    resultstr += '<td class="rsItem05" nowrap>' + result[rsItem05] + '</td>';
		    resultstr += '<td class="rsItem06" nowrap>' + result[rsItem06] + '</td>';
		    resultstr += '<td class="rsItem07" nowrap>' + result[rsItem07] + '</td>';
		    resultstr += '<td class="rsItem08">' + result[rsItem08] + '</td>';
		    resultstr += '</tr>';
		}

	}
	resultstr += '</tbody></table>';
	ResultFrame.innerHTML = resultstr;
	
	/* 件数情報の取得＆HTML生成 */
	var strCounter = (cnt + "件 / " + (dbLength - 1 - nocnt) + "件中")
	resultstr = '<div id="rsCount">' + strCounter + '</div>';
	resultstr =  strCounter ;
	CounterFrame.innerHTML = resultstr;
}


// データ配列のソート
function sortData(db_data , sclass_data) {
	var i = 0;
	var j = 0;

	/* 個別データをタブ区切りで配列に */

	for (i=1; i<=db_data.length-2; i++)
	{
		var result_i = db_data[i].split('	');

		for (j=i+1; j<=db_data.length-1; j++)
		{
			var sort_flg = false;                      //入れ替え対象データかどうかチェック結果フラグ(true:対象、false:対象外)
			var result_j = db_data[j].split('	');    //タブ文字で分解

			//if (result_j[rsDate] > result_i[rsDate]) {         //更新日降順
			var icost = eval(result_i[rsItem03].replace(",", ""));			/* カンマを抜く */
			var jcost = eval(result_j[rsItem03].replace(",", ""));			/* カンマを抜く */
			if (jcost < icost) {                                 //価格昇順
				sort_flg = true;
			} else if ((jcost == icost) && (sclass_data == "s01")) {  //価格が同一で売り土地物件の場合は坪単価の昇順にソート
				var itanka = eval(result_i[rsItem04].replace(",", ""));			/* カンマを抜く */
				var jtanka = eval(result_j[rsItem04].replace(",", ""));			/* カンマを抜く */
				if (jtanka < itanka) {          //坪単価昇順
					sort_flg = true;
				}
			}

			if (sort_flg == true) {          //入れ替え対象データの場合
				var n = db_data[j];
				db_data[j] = db_data[i];
				db_data[i] = n;
				result_i = db_data[i].split('	');
			}
		}
	}
	
	return db_data;
}

// フォーカスの初期設置
function focusdef(e) {
    // キーワード入力エリアにフォーカスをセット
    //var wordbox = document.getElementById('wordbox');
    //wordbox.focus();
}

// load時の処理
function setListeners(e) {
    // ボタン要素にclickイベントリスナーをセット
    //var goSearch = document.getElementById('goSearch');
    //addListener(goSearch, 'click', searchDisp, false);
}

// イベントリスナー登録
function addListener(elem, eventType, func, cap) {
    if(elem.addEventListener) {
        elem.addEventListener(eventType, func, cap);
    } else if(elem.attachEvent) {
        elem.attachEvent('on' + eventType, func);
    } else {
        alert('ご利用のブラウザーはサポートされていません。');
        return false;
    }
}

// load時のイベントリスナーをセットする
addListener(window, 'load', setListeners, false);
addListener(window, 'load', searchDisp, false);
addListener(window, 'load', focusdef, false);

