﻿// JScript File
/**************************************************************
* Education Buyer Program JScript File
**************************************************************/
//***** GLOBAL VARIABLE DECLARATION ********//
// Setup the WebService  URL & Namespace
var wsegServiceUrl = "http://mgalema.www.educationguides.com/WSEdGuides/WSEdGuides.asmx";
var wsegServiceNamespace = "http://www.educationguides.com/WSEdGuides";
var redirectURL = '/schoolfinder/s1687/fwsStep1.aspx';
var xmlhttp1;
var xmlhttp2;
var xmlhttp3;

var schoolsPerPage = 10;
var wsBuyerId = 0;
var wsProgId = 0;
var wsConcId = 0;
var wsDegId = 0;
var wsPostCd = '';
var wsSessionCd = '';
var wsSchProgId = 0;
var wsQueryString;
var wsObjURL;
var wsIgnoreBuyerId = null;

var wsConcentrationDDL;
var wsAoSDDL;
var wsBuyerTbl;
var wsSchListTbl;
var wsPageTbl;
var isIE = false;
var wsShowPage = 0;
var wsPageCnt = 0;
var wsRefreshList = false;

//***** PAGE Initialization ********//
parseQueryString();
wsSessionCd = getCookie("SessionCode");

// resolve web server location dynamically.
var loc = window.location;
re = /http:\/\/([^\/]*)\//;
km = re.exec( loc );
wsegServiceUrl = wsegServiceUrl.replace( "mgalema.www.educationguides.com", km[1] );

//***** FUNCTION DECLARATION ********//
function parseQueryString()
{
    // set browser type
    isIE = (navigator.appName == 'Microsoft Internet Explorer' ? true : false);

    wsObjURL = new Object();

    wsQueryString = window.location.search;
    wsQueryString.replace(new RegExp("([^?=&]+)(=([^&]*))?", "g" ),
                                function( $0, $1, $2, $3 )
                                {
                                    wsObjURL[ $1 ] = $3;
                                }
                          );
                                
    for (var strKey in wsObjURL)
    {
        switch(strKey.toLowerCase())
        {
            case 'programid':
                wsProgId = wsObjURL[strKey];
                break;
                
             case 'buyerid':
                wsBuyerId = wsObjURL[strKey];
                break;
                
             case 'degreeid':
                wsDegId = wsObjURL[strKey];
                break;
                
             case 'concentrationid':
                wsConcId = wsObjURL[strKey];
                break;
                
             case 'postalcd':
                wsPostCd = wsObjURL[strKey];
                break;
                
             default:
                break;
        }
        
    }
}


function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=")
        if (c_start!=-1)
        { 
        c_start=c_start + c_name.length+1 
        c_end=document.cookie.indexOf(";",c_start)
        if (c_end==-1) c_end=document.cookie.length
        return unescape(document.cookie.substring(c_start,c_end))
        } 
    }
    
    return '';
}


/**************************************************************
* getHTTPRequestObject: Instantiates the XMLHTTPRequest Object
* that is appropriate for the browser
**************************************************************/
function getHTTPRequestObject()
{
    var xmlhttpObj = false;
    
    if(window.XMLHttpRequest) {
        try 
        {
            xmlhttpObj = new XMLHttpRequest();
        } 
        catch(e) 
        {
            xmlhttpObj = false;
        }
    } 
    else if(window.ActiveXObject) 
    {
        try 
        {
            xmlhttpObj = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch(e) 
        {
         try 
         {
            xmlhttpObj = new ActiveXObject("Microsoft.XMLHTTP");
         } 
         catch(e) {
            xmlhttpObj = false;
         }
        }
    }
    
    return xmlhttpObj;
}


function getResponseObj(xmlhttpObj)
{
    if (xmlhttpObj.readyState == 4) 
    {
        if (xmlhttpObj.status == 200) 
        {
            var respText = xmlhttpObj.responseText;
            respText = respText.substring(respText.indexOf("{"), respText.lastIndexOf("}") + 1);            
            eval("var objResults = " + respText); 
            return objResults;
        } 
    }
    
    return null;
}

function GetConcentrationList(pid, ddlid)
{
    if (!wsConcentrationDDL)
        wsConcentrationDDL = document.getElementById(ddlid);
    
    // Only excute the http request if the edu buyer program drop down exists
    if (wsConcentrationDDL)
    {
        xmlhttp1 = getHTTPRequestObject();
        
        // build the SOAP envelope now
        var strEnvelope = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + 
                        "  <soap:Body>\n" + 
                        "    <GetConcentrations  xmlns=\"" + wsegServiceNamespace + "\">\n" + 
                        "      <programId>" + pid + "</programId>\n" + 
                        "      <degreeId>" + wsDegId + "</degreeId>\n" + 
                        "      <postalCd>" + wsPostCd + "</postalCd>\n" + 
                        "    </GetConcentrations >" + 
                        "  </soap:Body>" + 
                        "</soap:Envelope>";
        
        var serviceAction = wsegServiceNamespace + "/GetConcentrations";
        
        xmlhttp1.open("POST", wsegServiceUrl, true);

        // assign the callback function
        xmlhttp1.onreadystatechange = processConcentration;
	    xmlhttp1.setRequestHeader("Content-Type", "text/xml");
	    xmlhttp1.setRequestHeader("SOAPAction", serviceAction);
	    xmlhttp1.send(strEnvelope);
	}
}


function processConcentration()
{
    var optElem;
    var objRes = getResponseObj(xmlhttp1);
    
    if (!objRes)
    {
       return;     // Nothing to do
    }
    
    var selVal = (wsConcentrationDDL.value > 0 ? wsConcentrationDDL.value : wsConcId);
    wsConcentrationDDL.innerHTML = "";
    
    optElem = document.createElement('option');
    optElem.value = '0';
    optElem.innerHTML = 'All';
    wsConcentrationDDL.appendChild(optElem);
    
    if (objRes.Results.MVConcentrationEntity.length == 0)
    {   
        optElem = document.createElement('option');
        optElem.value = '0';
        optElem.innerHTML = 'No Concentrations Found';
        wsConcentrationDDL.appendChild(optElem);
    }        
    
    for (var i=0; i < objRes.Results.MVConcentrationEntity.length; i++)
    {
        optElem = document.createElement('option');
        optElem.value = objRes.Results.MVConcentrationEntity[i].ConcentrationId;
        optElem.innerHTML = objRes.Results.MVConcentrationEntity[i].ConcentrationName
        
        if (objRes.Results.MVConcentrationEntity[i].ConcentrationId == selVal)
        {
            optElem.selected = true;
        }
        
        wsConcentrationDDL.appendChild(optElem);
    }  
    
    wsConcId = wsConcentrationDDL.value;
    
    if (document.getElementById('dlSchoolBox'))
    {
        GetSchoolProgramList('dlSchoolBox', 'dlPageNumbers', true, 1, true);
    }
    else if (document.getElementById('topSchoolBox'))
    {
        GetBuyers(null, 'topSchoolBox');
    }
}


function GetBuyers(cncobj, buyerTblId)
{
    if (cncobj)
        wsConcId = cncobj.value;
    
    wsBuyerTbl = document.getElementById(buyerTblId);

    xmlhttp2 = getHTTPRequestObject();
    
    // build the SOAP envelope now
    var strEnvelope = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + 
                    "  <soap:Body>\n" + 
                    "    <GetBuyers  xmlns=\"" + wsegServiceNamespace + "\">\n" + 
                    "      <programId>" + wsProgId + "</programId>\n" + 
                    "      <concentrationId>" + wsConcId + "</concentrationId>\n" + 
                    "      <degreeId>" + wsDegId + "</degreeId>\n" + 
                    "      <sessionCd>" + wsSessionCd + "</sessionCd>\n" + 
                    "      <postalCd>" + wsPostCd + "</postalCd>\n" + 
                    "    </GetBuyers >" + 
                    "  </soap:Body>" + 
                    "</soap:Envelope>";
    
    var serviceAction = wsegServiceNamespace + "/GetBuyers";
    
    xmlhttp2.open("POST", wsegServiceUrl, true);
    
    // assign the callback function
    xmlhttp2.onreadystatechange = processBuyer;
    xmlhttp2.setRequestHeader("Content-Type", "text/xml");
    xmlhttp2.setRequestHeader("SOAPAction", serviceAction);
    xmlhttp2.send(strEnvelope);
}


function processBuyer()
{

    var optElem;
    var objRes = getResponseObj(xmlhttp2);
    
    if (!objRes)
    {
        return;     // Nothing to do
    }
    
    if (isIE)
        removeIETableRows(wsBuyerTbl);
    else
        wsBuyerTbl.innerHTML = '';
    
    for (var i=0; i < objRes.Results.MVBuyerEntity.length; i++)
    {
        var row = document.createElement('tr');
        var cell = document.createElement('td');
        
        cell.style.borderTopStyle = 'dotted';
        cell.style.borderTopWidth = '1px';
        cell.style.borderTopColor = '#22325c';
        cell.style.padding = '5px 0 5px 0';
        cell.style.width = 532;
        
        var mvbe = objRes.Results.MVBuyerEntity[i];
        var val = mvbe.LogoPath.replace('~', '');        
        if (wsIgnoreBuyerId != null && mvbe.BuyerId == wsIgnoreBuyerId)
            continue;

        cell.appendChild(createBuyerTableEntry( mvbe ))        
        row.appendChild(cell);
        
        if (isIE)
        {
            var tb = document.createElement('tbody');
            tb.appendChild(row);
            wsBuyerTbl.appendChild(tb);
        }
        else
            wsBuyerTbl.appendChild(row);
    }
}

function createBuyerTableEntry(oBE)
{
    var tbdy;
    var clickFunc = ' onclick="SubmitClickBuyerRedir(' + oBE.BuyerId + ', \'' + oBE.BuyerName + '\');" ';
    
    var tbl = document.createElement('table');
    tbl.border = '0';
    tbl.cellPadding = '0';
    tbl.cellSpacing = '0';
    tbl.id = 'indSchoolsBox';
    
    if (isIE)
       tbdy = document.createElement('tbody');        
    
    var row = document.createElement('tr');
    
    var cellLogo = document.createElement('td');
    cellLogo.width = '150';
    cellLogo.valign = 'middle';
    cellLogo.align = 'center';
    
    cellLogo.innerHTML = '<img src="' + oBE.LogoPath.replace('~', '') + '" class="handpointer" ' + clickFunc + 'alt="' + oBE.BuyerName + '" />'
    
    var cellSpacer = document.createElement('td');
    cellSpacer.width = '10';
    
    var cellAbout = document.createElement('td');
    cellAbout.width = '372';
    cellAbout.valign = 'top';
    cellAbout.align = 'left';
    cellAbout.className = 'bodyText';
    cellAbout.innerHTML = 'this';
    cellAbout.innerHTML = oBE.About;
    cellAbout.innerHTML += ' <div style="white-space:nowrap; display:inline;"><a style="cursor:hand;"' + clickFunc + ' > Get More Info</a> <span style="color:#538cc1; font-weight:bold;">&gt;&gt;</span></div>';
    
    row.appendChild(cellLogo);
    row.appendChild(cellSpacer);
    row.appendChild(cellAbout);
    
    if (tbdy)
    {
        tbdy.appendChild(row);
        tbl.appendChild(tbdy);
    }
    else
        tbl.appendChild(row);
    
    return tbl;
}

function SubmitClick(byrId, byrNm, pid, cid, did, schprgid)
{
    redirectURL += '?sesscd=' + wsSessionCd + '&ProgramId=' + pid + '&DegreeId=' + did + '&ConcentrationId=' + cid + '&BuyerId=' + byrId + '&PostalCd=&EduBuyerProgramId=' + schprgid + '&BuyerName=' + byrNm;
    window.location = redirectURL;
}

function SubmitClickBuyerRedir(byrId, byrNm, pid, cid, did, schprgid)
{
    window.location = 'BuyerRedir.aspx?BuyerId=' + byrId + '&BuyerName=' + byrNm;
}

function findSchools(prgddlid, concddlid)
{
    var pid = document.getElementById(prgddlid).value;
    var cid = document.getElementById(concddlid).value;    
    
    window.location = 'HomeRedir.aspx?ProgramId=' + pid + '&DegreeId=0&ConcentrationId=' + cid + '&BuyerId=0&PostalCd=&EduBuyerProgramId=0';
}

function showHdnSchProg(divid, divmoreid)
{
    if (isIE)
        document.getElementById(divid).style.display = 'block';
    else
        document.getElementById(divid).style.display = 'table-row-group';
        
    document.getElementById(divmoreid).style.display = 'none';
}

function setPageNum(shwIdx)
{
    for(var i=1; i<=wsPageCnt; i++)
    {
        document.getElementById('apgnum' + i).className = 'pageNum';
        //prws[i].className = 'pageNum';
    }
    
    document.getElementById('apgnum' + shwIdx).className = 'pageNumBold';      
}

function RefreshSchoolProgramList(cid, prgddlid, tblid, pgtblid)
{
    if (prgddlid)
    {
        var prgddl = document.getElementById(prgddlid);
        wsProgId = (prgddl ? prgddl.value : 0);
    }
    
    wsConcId = cid;    
    GetSchoolProgramList(tblid, pgtblid, (cid == 0 ? true :false), 1, true);   
}


function processProgChange(pid, cddlId)
{
    wsProgId = pid; 
    GetConcentrationList(pid, cddlId);
}

function processDegChange(did, cddlId)
{
    wsDegId = did; 
    GetConcentrationList(wsProgId, cddlId);
}

function GetSchoolProgramList(tblId, pgtblid, shwwait, shwpg, refreshList)
{
    wsSchListTbl = document.getElementById(tblId).getElementsByTagName("tbody")[0];
    if (!wsSchListTbl)
        wsSchListTbl = document.getElementById(tblId);
        
    wsPageTbl = document.getElementById(pgtblid).getElementsByTagName("tbody")[0];
    if (!wsPageTbl)
        wsPageTbl = document.getElementById(pgtblid);
        
    wsShowPage = shwpg;
    wsRefreshList = refreshList;
    
    var dvpg = document.getElementById('dvpg' + wsShowPage);
    
    if (refreshList || !dvpg)
    {
        if (shwwait)
            buildWaitMsg();
    
        xmlhttp3 = getHTTPRequestObject();
        
        // build the SOAP envelope now
        var strEnvelope = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + 
                        "  <soap:Body>\n" + 
                        "    <GetSchoolProgramList   xmlns=\"" + wsegServiceNamespace + "\">\n" + 
                        "      <programId>" + wsProgId + "</programId>\n" + 
                        "      <concentrationId>" + wsConcId + "</concentrationId>\n" + 
                        "      <degreeId>" + wsDegId + "</degreeId>\n" + 
                        "      <sessionCd>" + wsSessionCd + "</sessionCd>\n" + 
                        "      <postalCd>" + wsPostCd + "</postalCd>\n" + 
                        "    </GetSchoolProgramList  >" + 
                        "  </soap:Body>" + 
                        "</soap:Envelope>";
        
        var serviceAction = wsegServiceNamespace + "/GetSchoolProgramList ";
        
        xmlhttp3.open("POST", wsegServiceUrl, true);

        // assign the callback function
        xmlhttp3.onreadystatechange = processSchoolProgramList;
        xmlhttp3.setRequestHeader("Content-Type", "text/xml");
        xmlhttp3.setRequestHeader("SOAPAction", serviceAction);
        xmlhttp3.send(strEnvelope);
    }
    else
        showPage(wsShowPage);
}

function assignListIdsValue(idList, value)
{
    var totalAry = idList.split(',');
    for (i=0; i<totalAry.length; i++)
    {
        var domObj = document.getElementById( totalAry[i] );
        if (domObj != null)
            domObj.innerHTML = value;
    }
}

function processSchoolProgramList()
{
    var objRes = getResponseObj(xmlhttp3);
    var numpg = 0;
    var divSch;
    
    if (!objRes)
        return;     // Nothing to do
 
    var numsch = objRes.Results.School.length;
    assignListIdsValue( 'lbSchoolCount,lbTitleSchoolCount', objRes.Results.SchoolTotal );
    assignListIdsValue( 'lbProgramCount,lbTitleProgramCount', objRes.Results.ProgramCount );
    
    if (wsRefreshList)
        if (isIE)
            removeIETableRows(wsSchListTbl);
        else
            wsSchListTbl.innerHTML = "";
    
    wsPageCnt = Math.ceil(numsch/schoolsPerPage);
    buildPageNumbers(wsPageCnt);
    
    var schstrt = ((wsShowPage - 1) * schoolsPerPage);
    var schend = wsShowPage * schoolsPerPage;
    
    // Div
    var dvpg = document.getElementById('dvpg' + wsShowPage);
    
    if (!dvpg)
    {
        var c = document.createElement('td');
        var r = document.createElement('tr');
        var d = document.createElement('div');
        d.id = 'dvpg' + wsShowPage;
        
        for (var i=schstrt; i < Math.min(schend, objRes.Results.SchoolTotal) ; i++)
        {
            var sch = objRes.Results.School[i];
            
            var lt = createSchoolList(sch);
                
            d.appendChild(lt);
            c.appendChild(d);
            r.appendChild(c);
            
            if (isIE)
            {
               tb = document.createElement('tbody');
               tb.appendChild(r);
               wsSchListTbl.appendChild(tb)
            }
            else
                wsSchListTbl.appendChild(r)
         }
    }
    
    showPage(wsShowPage);
    
    hideWaitMsg();  
}
    
function createProgramRow1(name, onclkNm, onclkInfo)
{
    var tbdy;
    var trmi = 'Request more info&gt;&gt;';
    var tSchProg = document.createElement('table');
    
    if (isIE)
       tbdy = document.createElement('tbody');
    
    tSchProg.id = 'tblBuyerProgList';
    tSchProg.border = '0';
    tSchProg.cellPadding = '0';
    tSchProg.cellSpacing = '0';
    
    var tSchProgR = document.createElement('tr');
    var tSchProgCD = document.createElement('td');
    tSchProgCD.id = 'subProgLink';
    tSchProgCD.vAlign = 'top';
    
    if (name == 'more&gt;&gt;')
    {
        tSchProgCD.id = 'subProgReqLink';
        tSchProgCD.innerHTML = '<a class="reqInfo" ' + onclkNm + '>' + name + '</a>';
        trmi = '';
    }
    else    
        tSchProgCD.innerHTML = '<a class="subProgName"  ' + onclkNm + '>' + name + '</a>';
    
    var tSchProgCS = document.createElement('td');
    tSchProgCS.width = '5';
    
    var tSchProgCL = document.createElement('td');
    tSchProgCL.id = 'subProgReqLink';
    tSchProgCL.align = 'right';
    tSchProgCL.innerHTML = '<a class="reqInfo" ' + onclkInfo + '>' + trmi + '</a>'
    
    tSchProgR.appendChild(tSchProgCD);
    tSchProgR.appendChild(tSchProgCS);
    tSchProgR.appendChild(tSchProgCL);
    
    if (isIE)
    {
        tbdy.appendChild(tSchProgR);
        tSchProg.appendChild(tbdy);
    }
    else
        tSchProg.appendChild(tSchProgR);
        
    return tSchProg;
}

function createProgramRow(sch, schPrg)
{
    var clkfunc;

    if (eval(sch.IsAffiliate.toLowerCase()))
        clkfunc = 'onclick="PopPage(\'' + sch.ProgramURL + '\');"';
    else
        clkfunc = 'onclick="SubmitClick(' + sch.SchoolId + ', \'' + sch.SchoolName + '\', ' + wsProgId + ', ' + wsConcId + ', ' + wsDegId + ', ' + schPrg.ProgramId + ');"';

    return createProgramRow1(schPrg.ProgramName, clkfunc, clkfunc);
}

function createSchoolList(sch)
{
    var tbdy;
    var r = document.createElement('tr');
    var cLogo = document.createElement('td');
    var cList = document.createElement('td');
    var tSch = document.createElement('table');
    var onClickStr;
    
    if (eval(sch.IsAffiliate.toLowerCase()))
        onClickStr = 'onclick="PopPage(\'' + sch.ProgramURL + '\');"';
    else
        onClickStr = 'onclick="SubmitClick(' + sch.SchoolId + ', \'' + sch.SchoolName + '\', ' + wsProgId + ', ' + wsConcId + ', ' + wsDegId + ', 0);"';
    
    tSch.width = '401';
    
    if (isIE)
       tbdy = document.createElement('tbody');
            
    cLogo.width = '168';
    cLogo.vAlign = 'top';
    cLogo.align = 'center';
    cLogo.className = 'tddottedBottom';
    
    cLogo.innerHTML = '<img src="' + sch.LogoPath + '" class="handpointer"' + onClickStr + ' alt="' + sch.SchoolName + '" />';
        
    cList.vAlign = 'top';
    cList.align = 'left';
    cList.className = 'tddottedBottom';
    
    tSch.border = '0';
    tSch.cellPadding = '0';
    tSch.cellSpacing = '0';
    
    var tSchR = document.createElement('tr');
    var tSchCH = document.createElement('td');
    
    tSchCH.width= '401';
    tSchCH.className = 'schHeader';
    tSchCH.innerHTML = '<a class="lbBuyerName" ' + onClickStr + '>' + sch.SchoolName + '</a>';
    tSchR.appendChild(tSchCH);
    
    if (isIE)
    {
        tbdy.appendChild(tSchR);
        tSch.appendChild(tbdy);
    }
    else
        tSch.appendChild(tSchR);
    
    cList.appendChild(tSch);

    for (var j=0; j < Math.min(3, sch.ProgramCount); j++)
    {
        var schPrg = sch.ProgramList[j]; 
        var tSchRd = document.createElement('tr');
        var tSchCd = document.createElement('td');
        
        var pr = createProgramRow(sch, schPrg);
        tSchCd.appendChild(pr);
        tSchRd.appendChild(tSchCd);
        
        if (isIE)
        {
            tbdy.appendChild(tSchRd);
            tSch.appendChild(tbdy);
        }
        else
            tSch.appendChild(tSchRd);
        cList.appendChild(tSch);
    }
    
    var dvsuff = (eval(sch.IsAffiliate.toLowerCase()) ? 'A' : 'H') + sch.SchoolId;
    var hdndivid = 'hdndv' + dvsuff;
    
    if (sch.ProgramCount > 3)
    {
        var tSchRdM = document.createElement('tr');
        var tSchCdM = document.createElement('td');
        var dvmr = document.createElement('div');
    
        dvmr.id = 'dvmr' + dvsuff;
        dvmr.style.display = 'block';
        
        var morer = createProgramRow1('more&gt;&gt;', 'onclick="showHdnSchProg(\'' + hdndivid + '\', \'' + dvmr.id + '\');"', onClickStr);
        dvmr.appendChild(morer);
        tSchCdM.appendChild(dvmr);
        tSchRdM.appendChild(tSchCdM);
        
        if (isIE)
        {
            tbdy.appendChild(tSchRdM);
            tSch.appendChild(tbdy);
        }
        else
            tSch.appendChild(tSchRdM);
        cList.appendChild(tSch);
        
        var tSchRdH = document.createElement('tr');
        var tSchCdH = document.createElement('td');
        
        var dvhdn = document.createElement('div');
        dvhdn.id = hdndivid; 
        dvhdn.style.display = 'none';
        
        for (var j=3; j < sch.ProgramCount; j++)
        {
            var schPrg = sch.ProgramList[j]; 
            
            var pr = createProgramRow(sch, schPrg);
            dvhdn.appendChild(pr);
        }    
        
        tSchCdH.appendChild(dvhdn);
        tSchRdH.appendChild(tSchCdH);
        if (isIE)
        {
            tbdy.appendChild(tSchRdH);
            tSch.appendChild(tbdy);
        }
        else
            tSch.appendChild(tSchRdH);
        cList.appendChild(tSch);
    }
        
    // Add Get Free Info Button
    var tSchRF = document.createElement('tr');
    var tSchCF = document.createElement('td');
    
    tSchRF.border = 'none';
    
    tSchCF.width= '401';
    tSchCF.vAlign = 'top';
    tSchCF.align = 'right';
    
    var tSchCFDiv = document.createElement('div');
    tSchCFDiv.id = 'schFooterDiv';
    tSchCFDiv.innerHTML = '<img class="handpointer" ' + onClickStr + ' alt="Get Free Info" src="images/get_free_info_button.jpg"/>';
    tSchCF.appendChild(tSchCFDiv);
    
    tSchRF.appendChild(tSchCF);
    
    if (isIE)
    {
        tbdy.appendChild(tSchRF);
        tSch.appendChild(tbdy);
    }
    else
        tSch.appendChild(tSchRF);
        
    
    cList.appendChild(tSch);
    
    r.appendChild(cLogo);
    r.appendChild(cList);
    //return r;
    
    // Create DIVs
    t = document.createElement('table');
    if (isIE)
    {
        tb = document.createElement('tbody');
        tb.appendChild(r);
        t.appendChild(tb);
    }
    else
        t.appendChild(r);
    
    return t;
}
    
function buildPageNumbers(numpgs)
{
    var pgclk = 'onclick="GetSchoolProgramList(\'dlSchoolBox\', \'dlPageNumbers\', true, ';
    
    var r = document.createElement('tr');
    
    for(var k=0; k<wsPageTbl.childNodes.length; k++)
    {
        wsPageTbl.removeChild(wsPageTbl.childNodes[k]);
    }
    
    for (var i=1; i<=numpgs; i++)
    {
        var c = document.createElement('td');
        c.align = 'center';
        
        if (i==1)
        {
            c.innerHTML = '<a id="apgnum' + i + '"' + pgclk + i + ', false);" class="pageNumBold">' + i + '</a>';
        }
        else
        {
            c.innerHTML = '<a id="apgnum' + i + '"' + pgclk + i + ', false);" class="pageNum">' + i + '</a>';
        }
        
        r.appendChild(c);
        wsPageTbl.appendChild(r);
    }
}

function showPage(shwIdx)
{
    for(var i=1; i<=wsPageCnt; i++)
    {
        var dv = document.getElementById('dvpg' + i);
        
        if (dv && i != shwIdx)
        {
            dv.style.display = 'none';
        }
        
        if (document.getElementById('apgnum' + i))
            document.getElementById('apgnum' + i).className = 'pageNum';
    }
    
    if (document.getElementById('dvpg' + shwIdx))
    {
        if (isIE)
            document.getElementById('dvpg' + shwIdx).style.display = 'block';
        else
            document.getElementById('dvpg' + shwIdx).style.display = 'table-row-group';
    }
    
    document.getElementById('apgnum' + shwIdx).className = 'pageNumBold';
}

function PopPage(URL)
{
    var newwinSol = window.open(URL, 'popup','height=768,width=900, scrollbars=1, resizable=1, toolbar=1, menubar=1, directories=1, location=1');
}
        
     
function buildWaitMsg()
{
    var loading = document.createElement("div");
    loading.id = "loading";
//    loading.style.color = "black";
//    loading.style.backgroundColor = "red";
    loading.style.paddingLeft = "5px";
    loading.style.paddingRight = "5px";
    loading.style.zIndex = "9999";
    //loading.innerHTML = "loading program data...";
    loading.innerHTML = "<img src=\"images/animation_final.gif\" />";
    var schlBox = document.getElementById('dlProgressBox');
    if (schlBox != null)
        schlBox.appendChild(loading);
    else {
        loading.style.right = "500px";
        loading.style.top = "265px";
        loading.style.position = "absolute";
        document.body.appendChild(loading);
    }
}

function updWaitMsg(msg)
{
    var loading = document.getElementById("loading");
    loading.innerHTML = msg;
}

function hideWaitMsg()
{
    var schlBox = document.getElementById('dlProgressBox');
    var loading = document.getElementById("loading");
    if (loading) 
        if (schlBox != null)
            schlBox.removeChild( loading );
        else
            document.body.removeChild(loading);
}
   
function removeChildNodes(ctrl)
{
  while (ctrl.childNodes[0])
  {
    ctrl.removeChild(ctrl.childNodes[0]);
  }
}

function removeIETableRows(tobj)
{
    var tbdyrows = tobj.getElementsByTagName('tbody');
            
    for (var a=0; a<tbdyrows.length; a++)
        removeChildNodes(tbdyrows[a]);
}
