
var gTimer;
var gContentName;
var gGroup;

function loadContent(inContentName,inGroup) {

    _loadContent(inContentName,inGroup);
    return;
    // we defer the load because IE on the PC freaks since this is called from inside
    // a javascript URL call

    gContentName = inContentName;
    gGroup = inGroup;
    gTimer = setTimeout("_timer()",10);

} 

function _timer() {
    clearTimeout(gTimer);
    _loadContent(gContentName,gGroup);
}

function getTopWindow()
{
    var     topWindow = window;
    while(topWindow != null) {
        if(topWindow.document.getElementById("thoughtformroot") != null) {
            break;
        }
        topWindow = topWindow.parent;
    }

    return topWindow;
}

function _loadContent(inContentName,inGroup) {
    //alert("loading: " + inContentName + ", group = " + inGroup);
    var topWindow = getTopWindow();


    if(topWindow == null) {
        alert("ERROR: Can't find root of site");
    }else{

        
        topWindow.document.getElementById("headerframe").src = "../pages/header.jspx?name=" + inContentName;
        if(navigator.userAgent.indexOf('Safari') != -1) {
            topWindow.document.getElementById("sidebarframe").style.height = 0;
        }
        //topWindow.document.getElementById("sidebarbox").style.display = "none";
        topWindow.document.getElementById("sidebarframe").src = "../pages/sidebar.jspx?name=" + inContentName;
        topWindow.document.getElementById("contentframe").src = "../pages/content.jspx?name=" + inContentName;


        var nav2 = topWindow.document.getElementById("nav2frame").src;

        if(nav2.indexOf("group=" + inGroup) == -1) {
            topWindow.document.getElementById("nav2frame").src = "../pages/nav2.jspx?name=" + inContentName + "&group=" + inGroup;
        }

        //topWindow.location.href = "#" + inContentName;
        //topWindow.location.hash = inContentName;

    }
}

function sidebarLoaded() {
    //var topWindow = getTopWindow();
    //if(navigator.userAgent.indexOf('Safari') != -1) {
    //    topWindow.document.getElementById("sidebarframe").style.height = 453;
    //}    
    resizeFrame("sidebarframe");
}

function resizeFrame(ifr_id){
    var ifr_ele = (document.getElementById(ifr_id))? document.getElementById(ifr_id) : window.frames[ifr_id];
    
    if(ifr_ele){
        var ifr_doc;
        if(ifr_ele.contentDocument){ ifr_doc = ifr_ele.contentDocument; } 
        else if(ifr_ele.Document){ ifr_doc = ifr_ele.Document; } 
        else{ ifr_doc = ifr_ele.document; }
        
        if(ifr_doc){
            ifr_doc.body.style.height = "auto"; //some browsers need this
            if(ifr_doc.body.offsetHeight){ ifr_ele.height = ifr_doc.body.offsetHeight; } //most broswers
            else if(ifr_doc.body.scrollHeight){ ifr_ele.height = ifr_doc.body.scrollHeight; } //ie5+

            else{ /*alert("Can't set iframe height id:" + ifr_id);*/ }
        } else { alert("Can't get document id:" + ifr_id); }
    } else { alert("Can't get frame id:" + ifr_id); }
}

function toggleNav2Frame(content_name){
    var el      = document.getElementById('nav2frame');
    var parts   = content_name.split("_");
    
    if(parts.length > 2){
        if(parts[1] == "work" && parts[2] != "work"){ el.style.position = "relative"; }
        else{ el.style.position = "absolute"; }
    }
    //alert(el.style.position);
}

function renderFlashIntro() {
    var params = {
        obj_width: "730",
        obj_height: "550",
        obj_id: "flashIntro",
        flash_src: "flash/intro/intro.swf",
        obj_bkgcolor: "#ffffff",
        wmode: "transparent"
    };
    //alert(getFlashObject(params));
    document.write(getFlashObject(params));
}

function renderBody(inHTML,inCSSPath,inNextFlashPath,inHeight) {
    //alert(inHTML);
    // IE innerHTML doesn't quote standard attributes, so we use xclass
    inHTML = inHTML.replace(/xclass/g,"class");
    var params = {
        flash_vars: "inputHTML=" + doEncode(inHTML) + "&inputCSSPath=" + doEncode(inCSSPath),
        obj_width: "540",
        obj_height: (inHeight != null)? inHeight : "450",
        obj_id: "flashbody",
        flash_src: "../flash/body/body.swf",
        obj_bkgcolor: "#ffffff"
    };

    if(inNextFlashPath != null) {
        params.flash_vars += "&inputNextFlash=" + doEncode(inNextFlashPath);
    }

    document.write(getFlashObject(params));
}


/*
function renderFlashHeader(inUID) {

    var params = {
        flash_vars: "lcId=" + inUID,
        obj_width: "405",
        obj_height: "90",
        obj_id: "flashheader",
        flash_src: "../flash/header/header.swf",
        obj_bkgcolor: "#ffffff"
    };
    
    document.write(getFlashObject(params));
}
*/

function renderFlashHeader(inTitle1, inTitle2) {
    var params = {
        flash_vars: "inputTitle1=" + doEncode(inTitle1) + "&inputTitle2=" + doEncode(inTitle2),
        obj_width: "405",
        obj_height: "95",
        obj_id: "flashheader",
        flash_src: "../flash/header/header.swf",
        obj_bkgcolor: "#ffffff"
    };
    
    document.write(getFlashObject(params));
}



function loadHeader(inUID,inTitle1,inTitle2) {
    var flashProxy = new FlashProxy(inUID, '../js/JavaScriptFlashGateway.swf');    
    flashProxy.call("loadTitles",inTitle1,inTitle2);
}


function renderTopNavigation(inXMLPath,inSelectedMenu,inSelectedChoice) {
    document.write(getTopNavigation(inXMLPath,inSelectedMenu,inSelectedChoice));
}

function getTopNavigation(inXMLPath,inSelectedMenu,inSelectedChoice,inSelectedSubChoice){
    var params = {
        flash_vars: "inputXML=" + doEncode(inXMLPath) + "&inputOpenMenu=" + inSelectedMenu + "&inputMenuChoice=" + inSelectedChoice,
        obj_width: "173",
        obj_height: "330",
        obj_id: "flashnav1",
        flash_src: "../flash/nav1_2/nav1.swf",
        obj_bkgcolor: "#ededed"
    };
    
    if(inSelectedSubChoice != null){ params.flash_vars += "&inputMenuSubChoice=" + inSelectedSubChoice; }

    return getFlashObject(params);
}

function getAnimatedLogo(){
 
    var params = {
        flash_vars: "url=./",        
        obj_width: "220",
        obj_height: "45",
        obj_id: "animatedlogo",
        flash_src: "../flash/tflogo.swf",
        obj_bkgcolor: "#ffffff"
    };

    return getFlashObject(params);    
}


/*
function renderBottomNavigation(inUID) {
    // flash_vars: "lcId=" + inUID + "&inputXML=" + doEncode(inXMLFile) + "&inputTitle=" + doEncode(inHeader) + "&inputChoice=" + doEncode(inSelectedChoice),
    var params = {
        flash_vars: "lcId=" + inUID,
        obj_width: "173",
        obj_height: "175",
        obj_id: "flashnav2",
        flash_src: "../flash/nav2/nav2.swf",
        obj_bkgcolor: "#ffffff"
    };
    
    document.write(getFlashObject(params));
}
*/

function renderBottomNavigation(inHeader,inXMLFile,inSelectedChoice) {
    var params = {
        flash_vars: "inputXML=" + doEncode(inXMLFile) + "&inputTitle=" + doEncode(inHeader) + "&inputChoice=" + doEncode(inSelectedChoice),
        obj_width: "173",
        obj_height: "175",
        obj_id: "flashnav2",
        flash_src: "../flash/nav2/nav2.swf",
        obj_bkgcolor: "#ffffff"
    };
    
    document.write(getFlashObject(params));
}




function loadBottomNavigation(inUID,inHeader,inXMLFile,inSelectedChoice) {
    var flashProxy = new FlashProxy(inUID, '../js/JavaScriptFlashGateway.swf');    
    flashProxy.call("loadMenu",inXMLFile,inSelectedChoice,inHeader);
}

function unloadBottomNavigation(inUID) {
    var flashProxy = new FlashProxy(inUID, '../js/JavaScriptFlashGateway.swf');    
    flashProxy.call("unloadMenu");
}




function getFlashObject(params){
    
    var flash_vars			= (params.flash_vars)? 'FlashVars="' + params.flash_vars + '" ' : "";
    var flash_vars_param	= (params.flash_vars)? '<param NAME=FlashVars VALUE="' + params.flash_vars + '">' : "";

    var object_html	=	'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ' +
                            'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" ' +
                            'width="' + params.obj_width + '" height="' + params.obj_height + '" id="' + params.obj_id + '" >' +
                            '<param name="allowScriptAccess" value="sameDomain" />' +
                            '<param name="movie" value="' + params.flash_src + ' " />' +
                            '<param name="loop" value="false" />' +
                            '<param name="menu" value="false" />' +
                            '<param name="quality" value="high" />' +
                            '<param name="scale" value="noscale" />' +
                            '<param name="salign" value="lt" />' +
                            '<param name="bgcolor" value="' + params.obj_bkgcolor + '" />';
    if(params.wmode != null) {
        object_html += '<param name = "wmode" value = "' + params.wmode + '" />';
    }
    object_html +=
                            flash_vars_param +
                            '<embed	src="' + params.flash_src + '" ' + 
                                flash_vars + 
                                'loop="false" ' + 
                                'menu="false" ' + 
                                'quality="high" ' + 
                                'scale="noscale" ' +
                                'salign="lt" ' +
                                'bgcolor="' + params.obj_bkgcolor + '" ' + 
                                'width="' + params.obj_width + '" ' + 
                                'height="' + params.obj_height + '" ' + 
                                'name="' + params.obj_id + '" ' + 
                                'allowScriptAccess="sameDomain" ' + 
                                'type="application/x-shockwave-flash" ' + 
                                'pluginspage="http://www.macromedia.com/go/getflashplayer" ';
    if(params.wmode != null ) {
        object_html += 'wmode="' + params.wmode + '" ';
    }
    object_html +=
                        ' /></object>';

    return object_html;
                                
}


function doEncode(inValue) {
    if(typeof(encodeURIComponent) == "function") {
        return encodeURIComponent(inValue);
    }else{
        return escape(inValue);
    }
}




function writeIFrame(inSource,inClass,inID,inScrolling) {
    var iFrameSrc = '<iframe id="' + inID + '" name = "' + inID + '" class = "' + inClass + '" src="' + inSource + '" frameborder="0"  scrolling="' + inScrolling + '"></iframe>'
    document.write(iFrameSrc);
}



function startContentScrollUp() {
    window.frames.contentframe.scrollAmount = 15;

}

function stopContentScrollUp() {
    window.frames.contentframe.scrollAmount = 0;
}


function startContentScrollDown() {
    window.frames.contentframe.scrollAmount = -15;
}

function stopContentScrollDown() {
    window.frames.contentframe.scrollAmount = 0;
}

function openWindow(url){
    var win = window.open(url);
    win.focus();
}





