////////
//
// ts_lib.js 1.00 - 
//
// Copyright(c) T-Soft Inc. 2006 All rights reserved.
//
////////



function formSetArrayDisabled(f, elms, val) {
	if (elms != null){
		if (elms.length > 0) {
			for(i=0;i<elms.length;i++){
				formSetDisabled(f.elements[elms[i]], val);
			}
		} else {
			formSetDisabled(f.elements[elms], val);
		}
	}
}

function formSetDisabled(elms,val) {
	if (elms != null){
		if (elms.type != "select-one" && elms.length > 0) {
			for(i=0;i<elms.length;i++){
				formSetItemDisabled(elms[i], val);
			}
		} else {
			formSetItemDisabled(elms, val);
		}
	}
}

function formSetItemDisabled(elm, val) {
	with (elm) {
		disabled = val;

		if ( type == "text" || type == "select-one") {
			style.backgroundColor = val ? '#c0c0c0' : 'white';
		}
	}
}

function formGetListValue(elm) {
	if (elm == null || elm.selectedIndex == null) {
		return 0;
	}

	if (elm.selectedIndex < 0) {
		return 0;
	} else {
		return elm[elm.selectedIndex].value;
	}
}

function formGetRadioValue(elms) {
	var i;

	if ( elms == null ) return "";

	if (elms.length > 0) {
		for(i=0;i<elms.length;i++){
			if (elms[i].checked) return elms[i].value;
		}
	} else {
		if (elms.checked) {
			return elms.value;
		}
	}

	return "";
}

function formSetRadioValue(elms, val) {
	var i;

	if ( elms == null ) return "";

	if (elms.length > 0) {
		for(i=0;i<elms.length;i++){
			if (elms[i].value == val) {
				elms[i].checked = true;
				return i;
			}
		}
	} else {
		if (elms.value == val) {
			elms.checked = true;
			return 0;
		}
	}

	return -1;
}

function formGetRadioIndex(elms) {
	var i;

	if (elms.length > 0) {
		for(i=0;i<elms.length;i++){
			if (elms[i].checked) return i;
		}
	} else {
		if (elms.checked) {
			return 0;
		}
	}

	return -1;
}

function formGetDStrNum(val) {
	var rtn;

	if (val == "いらない" || val == "0" || val == "") {
		rtn = 0;
	} else {
		if (0 < parseInt(val)) {
			rtn = parseInt(val);
		} else {
			rtn = 1;
		}
	}

	return rtn;
}

function formGetValue(elms) {
	var i;

	if ( elms == null ) return "";

	if (elms.length > 0) {
		if (elms.type == undefined) {
			for(i=0;i<elms.length;i++){
				if (elms[i].checked) return elms[i].value;
			}
			return "";
		} else {
			return formGetListValue(elms);
		}
	} else {
		if (elms.checked) {
			return elms.value;
		}
	}

	return elms.value;
}

function formCheckRadioSelect(f, elm, chk) {
	var i;
	var elms;

	elms = f.elements("RArmHoleAxela");

	if ( elms == null ) return chk;

	if (elms.length > 0) {
		if (elms.type == undefined) {
			for(i=0;i<elms.length;i++){
				if (elms[i].checked) return true;
			}
			return false;
		} else {
			return false;
//			return formGetListValue(elms);
		}
	} else {
		if (elms.checked) {
			return true;
		}
	}

	return false;
}

function formGetInputSelectType(elms) {
	var i;

	if ( elms == null ) return false;

	if (elms.length > 0) {
		return true;
	} else {
		return false;
	}
}

function formSetFocus(elms) {
	var i;

	if ( elms == null ) return false;
	if (elms.length > 0) {
		if (elms.type == undefined) {
			for(i=0;i<elms.length;i++){
				if (elms[i].checked) {
					elms[i].focus();
					return true;
				}
			}
			for(i=0;i<elms.length;i++){
				if (!elms[i].disabled) {
					elms[i].focus();
					return true;
				}
			}
			elms[0].focus();
			return true;
		} else {
			elms.focus();
			return true;
		}
	} else {
		elms.focus();
		return true;
	}

	return false;
}

function formCheckNec(form, elm, msg, locat){
	var i, j;
	var tm;
	var ev;
	var co, io;
	var val;

	for(i=0;i<elm.length;i++){
		io = "";
		tm = "";
		co = false;

		ev = elm[i].split("|");

		for (j=0;j<ev.length;j++){
			val = formGetValue(form.elements[ev[j]]);
			if ( val != "" && val != "0") {
				co = true;
			} else {
				if ( io.length <= 0 ) {
					io = ev[j];
					tm = (formGetInputSelectType(form.elements[ev[j]])) ? "選択" : "入力";
				}
			}
		}

		if ( ! co ) {
			formErrAlert(form, io, msg[i] + "を" + tm + "してください。", locat[i]);

			return false;
		}
	}

	return true;
}

//エラー処理
function formErrAlert(form, elm, msg, locat){
	alert(msg);
	if (locat.length > 0) {
		location.hash = "#" + locat;
	}

	formSetFocus(form.elements[elm]);
}

//メール形式チェック
function formCheckMail(form, elm, msg){
	var i;

	for(i=0;i<elm.length;i++){
		if(!form.elements[elm[i]].value.match(/\S+@\S+\.\S+/)){
			alert(msg[i] + "が不正です。");
			form.elements[elm[i]].focus();
			return false;
		}
	}

	return true;
}

function yenconv(v) {
	var i, j, a, b, z, len;
	var str1, str2;
	var tmp = v;

	if ( !isNaN (tmp) ) {
		tmp = Math.round(tmp);
		str1 = String(tmp);
		str2 = "";
		len = str1.length;
		j = 0;
		for (i = (len-1); i >= 0; i--) {
			j++;
			z = str1.substr(i,1);
			str2 = z + str2;
			a = j;
			b = 3;
			while (a >= b) {
				a -= b;
			}
			if (i != 0 && a == 0) {
				if (i > 0 && str1.substr(i-1,1) != "-") {
					str2 = "," + str2;
				}
			}
		}
		tmp = str2;
	}else{
		tmp = "0";
	}

	return tmp;
}



function dump(obj)
{
    var lines = Array(typeof(obj));
    for( key in obj ){
        lines[lines.length] = key + ":" + obj[key];
    }


	return lines.join("＼＼n");
}
