function getParentCalc(){
    // get elements from opener page
    var openerCalcTitle = window.opener.document.getElementById('cc_sectionNavTitle').innerHTML;
    var openerCalcDesc = window.opener.document.getElementById('cc_sectionNavDesc').innerHTML;
    var openerCalc = window.opener.document.getElementById('mainCalcContent').innerHTML;
    if (calcType != 'LvL'){
        var openerDefinitions = window.opener.document.getElementById('Calculator_Definitions').innerHTML;
    }
    var openerDisclaimer = window.opener.document.getElementById('calc_disclaimer').innerHTML;
    // set elements on print page
    document.getElementById('cc_sectionNavTitle').innerHTML = openerCalcTitle;
    document.getElementById('cc_sectionNavDesc').innerHTML = openerCalcDesc;
    document.getElementById('mainCalcContent').innerHTML = openerCalc;
    if (calcType != 'LvL'){
        document.getElementById('Calculator_Definitions').innerHTML = openerDefinitions;
    }
    document.getElementById('calc_disclaimer').innerHTML = openerDisclaimer;
    
    document.getElementById('printCalcTitle').innerHTML = document.getElementById('calcTitle').innerHTML;
    document.getElementById('calcTitle').innerHTML = '';
    
    if (calcType != 'LvL'){
        var startDefIdElem = document.getElementById('Calculator_Definitions');
        var startDefIdElemH2  = startDefIdElem.getElementsByTagName("H2")[0];
        document.getElementById('printDefTitle').innerHTML = startDefIdElemH2.innerHTML;
        var h2Parent = startDefIdElemH2.parentNode;
        h2Parent.removeChild(startDefIdElemH2);
    }
    
    var calcValsLen = calcVals.length;
    
    for (var i = 0; i < calcValsLen; i++) {
        var openerField = window.opener.document.getElementById(calcVals[i]);
        var field = document.getElementById(calcVals[i]);
        if (calcType != 'LvL'){
            var newSpan = document.createElement("span");
            var currentParent = field.parentNode;
            if (openerField.value != ''){
                newSpan.innerHTML = ' ' + openerField.value;
            } else {
                newSpan.innerHTML = ' ?';
            }
            currentParent.replaceChild(newSpan, field);
        } else {
            if (openerField.checked){
                field.checked = true;
            }
            field.setAttribute("readonly", "readonly");
            field.setAttribute("onclick", "return(false)");
        }
    }
    if (calcType != 'LvL'){
        formatDefs();
    }
    explodeHrefs();
}

function formatDefs(){
    var ps = document.getElementById("definition_list").getElementsByTagName("p");
    var psLen = ps.length;
    for(var i=0; i < psLen; i++){
        var currentP = ps[i];
        if (currentP.getAttribute("class") != null){
            if (currentP.getAttribute("class") == 'ccDef-link'){
                var childSpans = currentP.getElementsByTagName("span");
                var childSpansLen = childSpans.length;
                for(var j=0; j < childSpansLen; j++){
                    childSpans[j].setAttribute("style","display:none;");
                }
            } else if (currentP.getAttribute("class") == 'msgContent'){
                var currentPid = currentP.getAttribute("id");
                document.getElementById(currentPid).setAttribute("style","display:block;");                
            }
        } else {
            if (currentP.hasChildNodes) {
                if (currentP.getAttribute("id") != '') {
                    var newPIE = document.createElement("p");
                    newPIE.setAttribute("style", "margin:0;padding:0;width: 560px;");
                    var currentPHTML = currentP.innerHTML;
                    var parentOfCurrentP = currentP.parentNode;
                    parentOfCurrentP.replaceChild(newPIE, currentP);
                    newPIE.innerHTML = currentPHTML;
                } else {
                    var currentText = currentP.innerHTML;
                    currentP.innerHTML = currentText.replace(/&nbsp;/g, "");
                    currentP.setAttribute("style", "margin:0;padding:0;");
                }
            }
        }
    }
}

function explodeHrefs(){
    var hrefs = document.getElementsByTagName("a");
    hrefsLen = hrefs.length;
    var j = 0;
    for(var i=0; i < hrefsLen; i++){
        var currentA = hrefs[j];
        var currentHref = hrefs[j].getAttribute("href");
        var currentText = hrefs[j].innerHTML;
        if (currentHref != null && currentHref != 'javascript:window.print();' && currentHref != 'javascript:window.close();'){
            var parentOfHref = currentA.parentNode;
            var newSpan = document.createElement("span");
            newSpan.setAttribute("class","explodedHref");
            newSpan.innerHTML = currentText;
            parentOfHref.replaceChild(newSpan, currentA);
        } else {
            j++
        }
    }
}