/*
	二次元の連想配列
	配列は
	オブジェクトのid：{属性名：属性値,...}
	オブジェクトのid及び属性値は末尾に付属するものとする
*/
function chgRowAttr(ary,oldNo,newNo) {
	var aryR,obj,i,j,val;
	for(i in ary){
		aryR = ary[i];
		obj = $("#" + i + oldNo);
		for(j in aryR){
			obj.attr(j,aryR[j] + newNo);
		}
	}
}

/*
val->チェックする値
dec_len->小数桁数　0のときは小数を含まない
*/
function chkNumFormat(val,dec_len){
	//返り血
	var rtn = "";
	//マイナスフラグ
	var minus_flg = false;
	//文字列に変換
	var str = val.toString();
	//整数部分
	var int_val = "0";
	//小数部分
	var dec_val = "";
	var ary,cnt = 0,str_dec_add = "";
	for(var ii = 0;ii < dec_len;ii++){
		str_dec_add = str_dec_add + "0" + "";
	}
	if(str != ""){
		//先頭文字が'-'のときマイナスフラグをセット
		if(str.charAt(0) == "-") minus_flg = true;
		//カンマとマイナスを除く
		str = str.replace("-","");
		str = str.replace(",","");
		//.で分解して小数部分と整数部分を分ける
		ary = str.split(".");
		int_val = ary[0];
		for(var i in ary){
			if(cnt > 0) dec_val = dec_val + ary[i] + "";
			cnt++;
		}
		if(int_val == "" && dec_val == "") {
			rtn = "";
		} else {
			if(int_val == "") int_val = "0";
			if(int_val != "0") int_val = A_Comma(int_val);
			if(dec_len == 0){
				dec_val = "";
				rtn = int_val;
			} else {
				dec_val = dec_val + str_dec_add;
				dec_val = dec_val.substr(0,dec_len);
				rtn = int_val + "." + dec_val + "";
			}
			if(minus_flg) rtn = "-" + rtn + "";
		}
		
	} else {
		rtn = "";
	}
	return rtn;
}

//Enterキーpress時に次のelementへフォーカスを移す
function enterFocus(){
	var ary = $("input[type=text]").get();
	var maxE = ary.length;
	var nextE,prevE;
	$("input[type=text]").each(function(i){
		$(this).keypress(function(evt){
			var kc = (evt)? evt.keyCode : event.keyCode;
			if(kc == "13" && !evt.ctrlKey){
				if(i == (maxE - 1)){
					nextE = $(ary[0]);
				} else {
					for(var j = (i + 1);j<=maxE;j++){
						if(j == (maxE)){
							nextE = $(ary[0]);
						} else {
							if(!$(ary[j]).attr("disabled")){
								nextE = $(ary[j]);
								break;
							}
						}
					}
				}
				$(nextE).focus();
				if($(nextE).attr("type") == "text") $(nextE).select();
			} else if(kc == "13" && evt.ctrlKey){
				var prev_i = i - 1;
				if(prev_i < 0) prev_i = maxE - 1;
				prevE = $(ary[prev_i]);
				$(prevE).focus();
				if($(nextE).attr("type") == "text") $(prevE).select();
			}
		});
	});
}
/*
function enterFocus(){
	var $t = $("form :input").not(":button").not(":hidden");
	var ary = $t.get();
	var maxE = $t.length;
	var nextE;
	$.each(ary,function(i){
		$(ary[i]).keypress(function(evt){
			var kc = (evt)? evt.keyCode : event.keyCode;
			if(kc == "13" && !evt.ctrlKey){
				if(i == (maxE - 1)){
					nextE = $(ary[0]);
				} else {
					for(var j = (i + 1);j<=maxE;j++){
						if(j == (maxE)){
							nextE = $(ary[0]);
						} else {
							if(!$(ary[j]).attr("disabled")){
								nextE = $(ary[j]);
								break;
							}
						}
					}
				}
				$(nextE).focus();
				if($(nextE).attr("type") == "text") $(nextE).select();
			}
		});
	});
}
*/

function ctrlLoginErr(err_mode){
	var msg = "";
	switch(err_mode){
		case "uniq":
			msg = "別の場所でログインされました。\n作業中のデータを破棄してログオフします。";
			break;
		case "to":
			if(mStrPgMode == "trial"){
				msg = "試用期間が終了しました。\n";
				msg += "トライアルをご利用いただきありがとうございました。\n";
				msg += "本番のお申し込みは、弊社HPの登録ページにて承ります。\n\n";
				msg += "なお、1回に限り試用期間の1日延長を行うことができます。";
			} else {
				msg = "ご契約いただいたご利用期間が終了いたしました。";
			}
			break;
		case "cid":
		case "from":
		case "status":
			msg = "ログイン情報が有効ではありません。\n作業中のデータを破棄してログオフします。";
			break;
	}
	if(msg != ""){
		alert(msg);
		location.href = "index.php";
	}
}

function chkExists(obj){
	var rtn = true;
	if($(obj).size() == 0) rtn = false;
	return rtn;
}

function setQtip(){
	var pos;
	var tip;
	var content;
	var obj = $(".qtipSetObject").get();
	$(".qtip").remove();
	$.each(obj,function(i){
		switch	($(obj[i]).attr("position")){
			case	"topRight":
				pos = "topRight";
				tip = "bottomLeft";
				break;
			case	"topMiddle":
				pos = "topMiddle";
				tip = "bottomMiddle";
				break;
			case	"topLeft":
				pos = "topLeft";
				tip = "bottomRight";
				break;
			case	"leftMiddle":
				pos = "leftMiddle";
				tip = "rightMiddle";
				break;
			case	"rightMiddle":
				pos = "rightMiddle";
				tip = "leftMiddle";
				break;
			case	"bottomRight":
				pos = "bottomRight";
				tip = "topLeft";
				break;
			case	"bottomMiddle":
				pos = "bottomMiddle";
				tip = "topMiddle";
				break;
			case	"bottomLeft":
				pos = "bottomLeft";
				tip = "topRight";
				break;
		}
		switch	($(obj[i]).attr("content")){
			case	"":
				content = "メモ";
				break;
			case	" ":
				content = "メモは登録されていません。";
				break;
			default:
				content = $(obj[i]).attr("content");
				break;
		}
		$(obj[i]).qtip({
			content:content,
			position:{
				corner:{
					target:pos,
					tooltip:tip
				}
			},
			style:{
				name:'green',
				tip:tip
			},
			show:'mouseover',
			hide:'mouseout'
		});
	})
}

function changeBG(no,mode,obj){
	if(obj == null) obj = $("#idTr1" + no);
	if(mode == "over"){
		$(obj).css("background","#e2f2f2");
	}else{
		$(obj).css("background","#fff");
	}
}

function changeBG2(no,mode,obj){
	if(obj == null) obj = $("#idTr1" + no);
	if(mode == "over"){
		$(obj).css("background","#ffe0c1");
	}else{
		$(obj).css("background","#fff");
	}
}

function keyupNum(elm,exc){
	if(exc == null) exc = "";
	var val = $(elm).val();
	switch(exc){
		case "-":
			$(elm).val(val.replace(/[^0-9\-]/g,''));
			break;
		default:
			$(elm).val(val.replace(/[^0-9]/g,''));
	}
}

