﻿function toggleDiv(div){ 

    var el = div; 
    if(el.style.display == 'none'){ 
        el.style.display = 'block'; 
        return true;
    }else{
        el.style.display = 'none';
        return false;
    }
}

function toggleMeaning()
{
    return toggleDiv('meaningDiv')
}


function toggleSays()
{
    return toggleDiv('saysDiv')
}

function toggleSection(sectionId,meaning)
{
    var meaningEl = document.getElementById('meaning' + sectionId)    
    var saysEl = document.getElementById('says' + sectionId)    
    var sectionEl = document.getElementById('section' + sectionId)   
    var actingEl; 

    var openedNew
    if(meaning)
    {
        openedNew = toggleDiv(meaningEl)
        actingEl = meaningEl
    }
    else
    {
        openedNew = toggleDiv(saysEl)
        actingEl = saysEl
    }
    
    if(meaningEl.style.display == 'none' && saysEl.style.display == 'none')
    {
        sectionEl.style.display = 'none'
    }
    else
    {
        sectionEl.style.display = 'block'
    }
    
    if(openedNew)
    {
        actingEl.scrollIntoView()
    }    
}

function showSection(sectionId,meaning)
{
    var meaningEl = document.getElementById('meaning' + sectionId)    
    var saysEl = document.getElementById('says' + sectionId)    
    var sectionEl = document.getElementById('section' + sectionId)   
    var actingEl; 

    if(meaning)
    {
        actingEl = meaningEl
    }
    else
    {
        actingEl = saysEl
    }

    actingEl.style.display = 'block'
    sectionEl.style.display = 'block'
    actingEl.scrollIntoView()

}

function hideSection(sectionId,meaning)
{
    var meaningEl = document.getElementById('meaning' + sectionId)    
    var saysEl = document.getElementById('says' + sectionId)    
    var sectionEl = document.getElementById('section' + sectionId)   
    var actingEl; 

    if(meaning)
    {
        actingEl = meaningEl
    }
    else
    {
        actingEl = saysEl
    }
    actingEl.style.display = 'none'
    
    if(meaningEl.style.display == 'none' && saysEl.style.display == 'none')
    {
        sectionEl.style.display = 'none'
    }
    else
    {
        sectionEl.style.display = 'block'
    }
}


function printSection(sectionId)
{
    printStr("<h1>" + getMainTitle() + "</h1>" + getPrinterFriendlySection(sectionId) )
}

function getPrinterFriendlySection(sectionId)
{
    var title, saystitle, saystext, meanstitle, meanstext

    var sectionEl = document.getElementById('section' + sectionId) 

    var all = sectionEl.getElementsByTagName("*")   
    for(var i=0;i<all.length;i++)
    {
        var el = all[i]
        var str = el.id
        if(str.indexOf("SectionTitle") != -1)
        {
            title = el.innerHTML
        }
        else if(str.indexOf("lblSaysTitle") != -1) 
        {
            saystitle = el.innerHTML
        }
        else if(str.indexOf("lblSaysContent") != -1) 
        {
            saystext = el.innerHTML
        }
        else if(str.indexOf("lblMeansTitle") != -1) 
        {
            meanstitle = el.innerHTML
        }
        else if(str.indexOf("lblMeansContent") != -1) 
        {
            meanstext = el.innerHTML
        }
    }
    
    var toPrint = ""
    if(title)
    {
        toPrint += "<h2>" + title + "</h2>" 
    }
    toPrint += "<h3>" + saystitle + "</h3>" + saystext  + 
        "<h3>" + meanstitle + "</h3>" + meanstext
    
    return toPrint
    
}

function getMainTitle()
{
    var all = document.getElementsByTagName("*")   
    for(var i=0;i<all.length;i++)
    {
        var el = all[i]
        var str = el.id
        if(str.indexOf("lblTitle") != -1)
        {
            return el.innerHTML
        }
    }
    return ""
}

function printAll()
{
    var printstr = "<h1>" + getMainTitle() + "</h1>"
    var idExpression = /section(\d+)/
    var els = document.getElementsByTagName("div")

    for(var i=0;i < els.length; i++)
    {
        var el = els[i]
       var results = idExpression.exec(el.id)
       if(results)
        {
            var id = results[1]
            printstr += getPrinterFriendlySection(id)
        } 
    }
    
    printStr(printstr)
}