//==========================================================================================================================
//共通スクリプト
//==========================================================================================================================

//==========================================================================================================================
//処理	: Radioコントロール生成
function CreateRadioElm(arrData, dbVal, dbName, prmName, maxCol, defVal, evFnc, classNm){
	var strHtml = "";
	var strFnc  = "";
	var strCls  = "";
	var cntCol  = 0;
	if(classNm){
		strCls = " class='" + classNm + "'";
	}
	strHtml = strHtml + "<table border='0' cellspacing='0' cellpadding='1'" + strCls + ">";

	for(cntCol; cntCol<arrData.length; cntCol++){
		var val  = eval("arrData[cntCol]." + dbVal);
		var name = eval("arrData[cntCol]." + dbName + ".escapeHTML()");
		if(cntCol%maxCol == 0){
			strHtml = strHtml + "<tr>";
		}
		var selected = "";
		if(defVal == val){
			selected = " checked";
		}
		if(evFnc){
			strFnc = "onClick='" + evFnc + "(this.value);'";
		}
		strHtml = strHtml + "<td class='sc_m12'>";
		strHtml = strHtml + "<input id='" + prmName + cntCol + "' type='radio' name='" + prmName + "' value='" + val + "'" + selected + " " + strFnc + ">";
		strHtml = strHtml + "<label for='" + prmName + cntCol + "'>" + name + "</label>";
		strHtml = strHtml + "</td>";
		if(cntCol%maxCol == (maxCol-1)){
			strHtml = strHtml + "</tr>";
		}
	}
	if(cntCol%maxCol != 0){
		for(var i=cntCol%maxCol; i<maxCol; i++){
			strHtml = strHtml + "<td></td>";
			if(i == (maxCol-1)){
				strHtml = strHtml + "</tr>";
			}
		}
	}
	strHtml = strHtml + "</table>";
	return strHtml;
}

//==========================================================================================================================
//処理	: CheckBoxコントロール生成
function CreateCheckElm(arrData, dbVal, dbName, prmName, maxCol, defVal, classNm, evFnc){
	var strHtml = "";
	var cntCol = 0;
	var strFnc  = "";
	var strCls  = "";
	if(classNm){
		strCls = " class='" + classNm + "'";
	}
	strHtml = strHtml + "<table border='0' cellspacing='0' cellpadding='1'" + strCls + ">";

	for(cntCol; cntCol<arrData.length; cntCol++){
		var val  = eval("arrData[cntCol]." + dbVal);
		var name = eval("arrData[cntCol]." + dbName + ".escapeHTML()");
		if(cntCol%maxCol == 0){
			strHtml = strHtml + "<tr>";
		}
		var selected = "";
		if(defVal){
			if(val in defVal){
				selected = " checked";
			}
		}
		if(evFnc){
			strFnc = "onClick='" + evFnc + "(this);'";
		}
		strHtml = strHtml + "<td class='sc_m12'>";
		strHtml = strHtml + "<input id='" + prmName + cntCol + "' type='checkbox' name='" + prmName + "[]' value='" + val + "'" + selected + " " + strFnc + ">";
		strHtml = strHtml + "<label for='" + prmName + cntCol + "'>" + name + "</label>";
		strHtml = strHtml + "</td>";
		if(cntCol%maxCol == (maxCol-1)){
			strHtml = strHtml + "</tr>";
		}
	}
	if(cntCol%maxCol != 0){
		for(var i=cntCol%maxCol; i<maxCol; i++){
			strHtml = strHtml + "<td></td>";
			if(i == (maxCol-1)){
				strHtml = strHtml + "</tr>";
			}
		}
	}
	strHtml = strHtml + "</table>";
	return strHtml;
}

//==========================================================================================================================
//処理	: Anchorコントロール生成
function CreateAncElm(arrData, maxCol, defVal, evFnc, strStyle){

	var strHtml = "";
	var cntCol = 0;
	var strFnc  = "";
	var strCls  = "";
	if(strStyle){
		strCls = " style='" + strStyle + "'";
	}
	strHtml = strHtml + "<table border='0' cellspacing='0' cellpadding='1'><tr><td>";
	for(cntCol; cntCol<arrData.length; cntCol++){
		var val  = arrData[cntCol][0];
		var name = arrData[cntCol][1];

		if(cntCol%maxCol == 0){
			strHtml = strHtml + "<tr>";
		}
		if(evFnc){
			strFnc = evFnc + "(\"" + val + "\");";
		}
		label = "";
		if(defVal!=val){
			label = "<a href='javascript:" + strFnc + "'>" + name + "</a>";
		}else{
			label = name;
		}
		strHtml = strHtml + "<td " + strCls + ">" + label + "</td>";
		if(cntCol%maxCol == (maxCol-1)){
			strHtml = strHtml + "</tr>";
		}
	}
	if(cntCol%maxCol != 0){
		for(i=cntCol%maxCol; i<maxCol; i++){
			strHtml = strHtml + "<td></td>";
			if(i == (maxCol-1)){
				strHtml = strHtml + "</tr>";
			}
		}
	}
	strHtml = strHtml + "</table>";
	return strHtml;
}

//==========================================================================================================================
//処理	: Selectコントロール生成
function CreateSelectElm(arrData, dbVal, dbName, prmName, defVal, size, evFnc){
	var strHtml = "";
	var cntCol = 0;
	var rowSize = "";
	var strFnc = "";
	if(size){
		rowSize = " size='" + size + "'";
	}
	if(evFnc){
		strFnc = " onChange='" + evFnc + "(this.value);'"
	}
	strHtml = strHtml + "<select id='" + prmName + "' name='" + prmName + "'"+ rowSize + strFnc + ">";

	for(cntCol; cntCol<arrData.length; cntCol++){
		var val  = eval("arrData[cntCol]." + dbVal);
		var name = eval("arrData[cntCol]." + dbName);
		//エスケープを復元
		name = name.replace("&amp;quot;","\"");	//&quot;
		name = name.replace("&amp;lt;","<");	//&lt;
		name = name.replace("&amp;gt;",">");	//&gt;
		name = name.replace("&amp;#039;","'");	//&#039;
		name = name.replace("&amp;amp;","&");	//&amp;
		var selected = "";
		if(defVal == val){
			selected = " selected";
		}
		strHtml = strHtml + "<option value='" + val + "'" + selected + ">" + name;
	}
	strHtml = strHtml + "</select>";
	return strHtml;
}

//==========================================================================================================================
//処理	: CheckBoxコントロール生成(設備用)
function CreateCheckSetsubiElm(arrData, dbVal, dbName, dbFile, prmName, maxCol, defVal, classNm){
	var strHtml = "";
	var cntCol = 0;
	var strCls  = "";
	if(classNm){
		strCls = " class='" + classNm + "'";
	}
	strHtml = strHtml + "<table border='0' cellspacing='0' cellpadding='1'" + strCls + ">";

	for(cntCol; cntCol<arrData.length; cntCol++){
		var val  = eval("arrData[cntCol]." + dbVal);
		var name = eval("arrData[cntCol]." + dbName + ".escapeHTML()");
		var file = eval("arrData[cntCol]." + dbFile + ".escapeHTML()");
		
		
		file = file.replace("../", "../../mg/");
		if(cntCol%maxCol == 0){
			strHtml = strHtml + "<tr>";
		}
		var selected = "";
		if(defVal){
			if(val in defVal){
				selected = " checked";
			}
		}
		strHtml = strHtml + "<td class='cellspace'>";
		strHtml = strHtml + "<input id='" + prmName + cntCol + "' type='checkbox' name='" + prmName + "[]' value='" + val + "'" + selected + ">";
		strHtml = strHtml + "</td>";
		strHtml = strHtml + "<td class='cellspaceIcon'>";
		strHtml = strHtml + "<img src='" + file + "' alt='' width='35' height='25' border='0'>";
		strHtml = strHtml + "</td>";
		strHtml = strHtml + "<td class='m12' width='120'>";
		strHtml = strHtml + "<label for='" + prmName + cntCol + "'>";
		strHtml = strHtml + name;
		strHtml = strHtml + "</label>";
		strHtml = strHtml + "</td>";
		if(cntCol%maxCol == (maxCol-1)){
			strHtml = strHtml + "</tr>";
		}
	}
	if(cntCol%maxCol != 0){
		for(var i=cntCol%maxCol; i<maxCol; i++){
			strHtml = strHtml + "<td></td><td></td><td></td>";
			if(i == (maxCol-1)){
				strHtml = strHtml + "</tr>";
			}
		}
	}
	strHtml = strHtml + "</table>";
	return strHtml;
}

//==========================================================================================================================
//処理	: 一覧検索結果ヘッダー生成
function CreateListHeader(arrData){
	var strHtml = "";
	
	strHtml = strHtml + "<tr>";
	
	for(var i=0;i<arrData.length;i++){
		var innerCtrl = "";
		var innerTd   = "";
		var innerCls  = "";
		var innerNrp  = "";
		var innerSort = "";
		//typeによってコントロールを設定
		switch(arrData[i].type){
			//ラベル
			case "label":
				innerCtrl = innerCtrl + arrData[i].name;
				break;
			//コンボボックス
			case "combo":
				var eventStr = "";
				if(arrData[i].event){
					eventStr = " onChange='" + arrData[i].event + "(this);'";
				}
				innerCtrl = innerCtrl + "<select size='1'" + eventStr + ">";
				var arrOption = arrData[i].list;
				for(var j=0;j<arrOption.length;j++){
					var selected = "";
					if(arrOption[j].checkedValue == arrOption[j].value){
						selected = " selected";
					}
					innerCtrl = innerCtrl + "<option value='" + arrOption[j].value + "'" + selected + ">" + arrOption[j].name + "</option>";
				}
				innerCtrl = innerCtrl + "</select>";
				break;
			default:
				break;
		}
		//ソートを生成
		if(arrData[i].sort == true){
			innerSort = innerSort + "<a href='javascript:fncSortClick(" + arrData[i].sortType + ",1);'>";
			innerSort = innerSort + "<img src='../images/search/bt_search_down.gif' alt='' width='10' height='10' border='0'></a>";
			innerSort = innerSort + "<a href='javascript:fncSortClick(" + arrData[i].sortType + ",0);'>";
			innerSort = innerSort + "<img src='../images/search/bt_search_up.gif'   alt='' width='9'  height='10' border='0'></a>";
		}
		
		//TDを生成
		if(arrData[i].cls){
			innerCls = innerCls + " class='" + arrData[i].cls + "'";
		}
		if(arrData[i].nowrap == true){
			innerNrp = innerNrp + " nowrap";
		}
		innerTd = innerTd + "<td" + innerCls + " align='center'" + innerNrp + ">"
		innerTd = innerTd + innerCtrl;
		if(innerSort != ""){
			innerTd = innerTd + "<br>" + innerSort;
		}
		innerTd = innerTd + "</td>";
		strHtml = strHtml + innerTd;
	}
	return strHtml;
}

//==========================================================================================================================
//処理	: 検索件数を生成
function CreateTotalCount(cnt,type){
	var strHtml = "";
	if(cnt > 0){
		strHtml = strHtml + cnt + "件&nbsp;該当しました。";
	}else{
		if((type == "009")||(type == "010")){
			strHtml = strHtml + "地図の表示範囲に該当する物件は見つかりませんでした。<br>検索条件を変更するか、地図の表示範囲をマウスで変更してください。";
		}else{
			strHtml = strHtml + "指定した条件では物件が見つかりませんでした。<br>検索条件を変更してください。";
		}
	}
	return strHtml;
}

//==========================================================================================================================
//処理	: ページングを生成
function CreatePage(dataCnt, maxDisp){
	var totalCnt = Number(dataCnt);
	var resultRecord = Number(gResultRecord);
	var resultPage = Number(gResultPage);
	
	//総ページ数計算
	var totalPageCnt = (Math.ceil(totalCnt / resultRecord)) - 1;
	
	//表示開始ページと終了ページを計算
	var startPage = resultPage;
	var endPage = (resultPage + maxDisp) - 1;
	
	if(totalPageCnt < endPage){
		startPage = startPage - (endPage - totalPageCnt);
		endPage = totalPageCnt;
	}
	if(0 > startPage){
		startPage = 0;
	}
	
	//ナビゲーション表示非表示を計算
	var naviBack = false;
	var naviNext = false;
	var naviBackPos = 0;
	var naviNextPos = 0;
	if(0 < startPage){
		naviBack = true;
		naviBackPos = resultPage - 1;
		if(0 > naviBackPos){
			naviBackPos = 1;
		}
	}
	if(totalPageCnt > endPage){
		naviNext = true;
		naviNextPos = resultPage + 1;
		if(totalPageCnt < naviNextPos){
			naviNextPos = totalPageCnt;
		}
	}
	var ret = "";
	if(naviBack == true){
		ret = ret + "<a href='javascript:fncPageClick(" + naviBackPos + ");'>";
		ret = ret + "前ページ &lt;&lt; </A>&nbsp;&nbsp;";
	}
	
	for(var i = startPage; i <= endPage; i++){
		if(i == resultPage){
			ret = ret + "<B>" + (i+1) + "</B>&nbsp;&nbsp;|&nbsp;&nbsp;";
		}else{
			ret = ret + "<a href='javascript:fncPageClick(" + i + ");'>" + (i+1) + "</A>&nbsp;&nbsp;|&nbsp;&nbsp;";
		}
	}
	if(naviNext == true){
		ret = ret + "&nbsp;&nbsp;<a href='javascript:fncPageClick(" + naviNextPos + ");'>";
		ret = ret + "&gt;&gt; 次ページ</A>";
	}
	ret = ret + "&nbsp;&nbsp;(全" + (totalPageCnt+1) + "ページ)";
	return ret;
}

//==========================================================================================================================
//処理	: PopBox用基数IDを生成
function CreatePopBoxBaseId(){
	var nowDate = new Date();
	return nowDate.getYear() + "_" + 
	       nowDate.getMonth() + "_" + 
	       nowDate.getDate() + "_" + 
	       nowDate.getHours() + "_" + 
	       nowDate.getMinutes() + "_" + 
	       nowDate.getSeconds();
}

//==========================================================================================================================
//処理	: 画像PopBox要素を生成
function CreatePopBoxElement(base, seq, imgPath, imgFile, caption, width, height, border){
	var strHtml = "";
	strHtml = strHtml + "<img";
	strHtml = strHtml + " src='" + imgPath + imgFile + "'";
	strHtml = strHtml + " pbShowRevertText='true'";
	strHtml = strHtml + " pbshowcaption='false'";
	strHtml = strHtml + " pbRevertText='" + caption + "'";
	strHtml = strHtml + " title='" + caption + "'";
	strHtml = strHtml + " pbShowRevertBar='true'";
	strHtml = strHtml + " pbShowPopBar='false'";
	strHtml = strHtml + " pbShowPopImage='false'";
	strHtml = strHtml + " pbShowPopText='false'";
	strHtml = strHtml + " pbshowpopbar='false'";
	strHtml = strHtml + " class='PopBoxImageSmall'";
	strHtml = strHtml + " id='pb_" + base + "_" + seq + "'";
	strHtml = strHtml + " width='" + width + "'";
	strHtml = strHtml + " height='" + height + "'";
	strHtml = strHtml + " border='" + border + "'";
	strHtml = strHtml + " onclick='Pop(this.id,50,\"PopBoxImageLarge\");'>";
	return strHtml;
}

//==========================================================================================================================
//処理	: コントロールデータハッシュ生成
function CreateDataHash(arrData, dbCode, dbName){
	var cntCol = 0;
	var ctrlHash = new Array();
	for(cntCol; cntCol<arrData.length; cntCol++){
		var code = eval("arrData[cntCol]." + dbCode + ".escapeHTML()");
		var name = eval("arrData[cntCol]." + dbName + ".escapeHTML()");
		ctrlHash[code] = name;
	}
	return ctrlHash;
}

//==========================================================================================================================
//処理	: 座標データハッシュ生成
function CreateDataHashPos(arrData,dbLat,daLng,dbVal1,dbVal2){
	var cntCol = 0;
	var ctrlHash = new Array();
	for(cntCol; cntCol<arrData.length; cntCol++){
		var val1 = null;
		var val2 = null;
		var lat  = null;
		var lng  = null;
		
		val1 = eval("arrData[cntCol]." + dbVal1);
		if(dbVal2){
			val2 = eval("arrData[cntCol]." + dbVal2);
		}
		lat  = eval("arrData[cntCol]." + dbLat);
		lng  = eval("arrData[cntCol]." + daLng);
		
		var code = null;
		if(dbVal2){
			code = val1 + "_" + val2;
		}else{
			code = val1;
		}
		ctrlHash[code] = {'lat':lat,'lng':lng};
	}
	return ctrlHash;
}

//==========================================================================================================================
//処理	: 金額編集
function toMoney(value, curency, unit){
	var wkValue = value;
	
	//カンマ編集する場合
	if(curency){
		for(var i = 0; i < wkValue.length/3; i++){
			wkValue = wkValue.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2");
		}
	}
	
	//単位を付加する場合
	if(unit){
		wkValue = wkValue + unit;
	}
	return wkValue;
}
