
/////////////////////////////////////////////
///// NOA からの継承値 /////////////////////////

function _noa(){
    if (window.opener && (window.opener.name == "noa")){
        return window.opener;
    } else if (window.opener && (window.opener.name == "tools")){
        return window.top.noa;
    } else if (window.opener && (window.top.noa)){
        return window.top.noa;
    } else {
        //alert("親として NOA が見つかりません");
        return null;
    }
}

///// NOA からの継承値 /////////////////////////
/////////////////////////////////////////////


function calendarDateClicked(yymmdd){
    // newDatePopUp() のレシーバで、そのオブジェクトが生成された段階で呼ばれる
    if (!yymmdd)
        yymmdd = document.getElementById("birthDayPop").value;
    var array = yymmdd.split("-");
	var yy = array[0];
	var mm = array[1];
	var dd = array[2];
	
	// 年齢計算
	var elm = document.getElementById("result");
    if (elm){
        var array = age(yy, mm, dd, true);
        var y = array[0];
        var m = array[1];
        var d = array[2];
        elm.innerHTML = y + "才 " + m + "ケ月 "+ d + "日";
    }
}

function makeContents(){
	var elm = document.getElementById("contents");
	var tbl = newTABLE(elm, "/base-table");
    tbl.style.fontSize = "10pt";
    
    // 生年月日
	var tr = newTR(tbl, "", "");
	var td = newTD(tr, "", "誕生");
    td.style.width = "40px";
	var td1 = newTD(tr, "datePopupArea", "");
    
	// 年齡
	var tr = newTR(tbl, "", "");
	var td = newTD(tr, "", "年齡");
    
    // newDatePopUp() が生成された段階で calendarDateClicked が呼ばれるので
    // calendarDateClicked が答えを表示するのに必要な td2 は先に作成しておく
	var td2 = newTD(tr, "result", "");
    td2.style.padding = "0px 5px";

    if (_noa() && _noa().patientId()){
        // NOA から起動され、カルテが開いていれば NOA の生年月日を使う
        // ## この処理は _noa() が valueForTag() メッソッドを持たない場合コケル
        var obj = _noa().valueForTag("PatientTable.birthDate"); // 1942-03-23 型式
        var date = obj.value;
        
        array = date.split("-");
        var yy = array[0];
        var mm = array[1];
        var dd = array[2];
    } else {
        var date = new Date();
        var yy = date.getYear();
        var mm = date.getMonth() + 1;
        var dd = date.getDate();
        if (yy < 2000) { yy += 1900; }
        yy -= 30; // 30歳を default とする
    }
    td1.innerHTML = "";
    newDatePopUp(td1, "birthDayPop", "", yy, mm, dd, false, calendarDateClicked);
}

function initAge(){
	// obj で得られたレイアウトを表示
    _initDebug(true); //##
    
	var elm = document.getElementById("base");
    elm.style.padding = "2px";
    elm.style.fontSize = "9pt";
    
    // HEADER
    var div = newDIV(elm, "/tool-header");
    var dv = newDIV(div, "/left-side");
    dv.innerHTML = "年齢計算";

    // CONTENTS
    var div = newDIV(elm, "contents");
    div.style.padding = "10px";

    // FOOTER
    var div = newDIV(elm, "/tool-footer");
    var dv = newDIV(div, "/left-side");
    dv.innerHTML = version();

	makeContents();
}

function version(){
	return "Ver.130728";
}

