
// these globals that can be used from other routines
var pageWidth;
var pageHeight;
var navHeight;
var contentHeight;
var BODY_INNER = "bodyInner";
var MAIN_CONTENT = "centerColumnFrame";
var LEFT_FRAME = "leftColumnFrame";
var RIGHT_FRAME = "rightColumnFrame";
var BTS_CONTENT = "bts_content";
var BTS_REVEAL_STEPS = 10;
var BTS_REVEAL_DURATION = 500;	// ms
var CONTENT_INSIDE_LEFT = "content_inside_left";
var CONTENT_INSIDE_RIGHT = "content_inside_right";
var MAIN_CONTENT_MIN_WIDTH = 946;

var btsTimerId;
var btsRevealAmt;

function bts_step ()
{
    var bts_obj = document.getElementById (BTS_CONTENT);
    var mo = document.getElementById (BODY_INNER);

    if ( ! bts_obj || ! mo ) return;

    var left_pos = parseInt (mo.style.left);
    if ( left_pos >= bts_obj.offsetWidth )
    {
	clearInterval (btsTimerId);
	btsTimerId = undefined;
	return;
    }

    if ( left_pos + btsRevealAmt > bts_obj.offsetWidth )
	left_pos = bts_obj.offsetWidth;
    else
	left_pos += btsRevealAmt;

    mo.style.left = left_pos + "px";
}

function bts (mode)
{
    var bts_obj = document.getElementById (BTS_CONTENT);
    var mo = document.getElementById (BODY_INNER);

    if ( ! bts_obj || ! mo ) { alert ("Error encountered (bts_obj=" + bts_obj + " mo=" + mo); return; }

    if ( mode )
    {
	var interval = parseInt (BTS_REVEAL_DURATION / BTS_REVEAL_STEPS);
	bts_obj.style.display = "block";
	//mo.style.left = bts_obj.offsetWidth + "px";
	mo.style.left = 0;
	btsRevealAmt = parseInt (mo.offsetWidth / BTS_REVEAL_STEPS);
	btsTimerId = setInterval (bts_step, interval);
    }
    else
    {
	bts_obj.style.display = "none";
	mo.style.left = "0";
    }
}

function resizeContent()
{
    var frameWidth;
    var frameHeight;
    var obj;
    var bi_obj = document.getElementById(BODY_INNER);
    var main_obj = document.getElementById(MAIN_CONTENT);
    var lf_obj = document.getElementById(LEFT_FRAME);
    var rf_obj = document.getElementById(RIGHT_FRAME);
    var nav_obj = document.getElementById('header');
    var bts_obj = document.getElementById (BTS_CONTENT);
    var cil_obj = document.getElementById (CONTENT_INSIDE_LEFT);
    var cir_obj = document.getElementById (CONTENT_INSIDE_RIGHT);
    var h;

    if ( ! main_obj ) return;

    if (self.innerWidth)
    {
	frameWidth = self.innerWidth;
	frameHeight = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientWidth)
    {
	frameWidth = document.documentElement.clientWidth;
	frameHeight = document.documentElement.clientHeight;
    }
    else if (document.body)
    {
	frameWidth = document.body.clientWidth;
	frameHeight = document.body.clientHeight;
    }
    else
	return;

    // if there's valid info, update the globals so they can be used elsewhere
    pageWidth = frameWidth;
    pageHeight = frameHeight;

    navHeight = nav_obj ? nav_obj.offsetHeight : 0;
    contentHeight = pageHeight - navHeight;

    if ( pageWidth < MAIN_CONTENT_MIN_WIDTH )
	main_obj.style.width = MAIN_CONTENT_MIN_WIDTH + "px";
    else
	main_obj.style.width = "auto";

    if ( contentHeight < main_obj.offsetHeight ) h = main_obj.offsetHeight;
    else h = contentHeight;

    if ( lf_obj ) lf_obj.style.height = (h + 20) + "px";
    if ( rf_obj ) rf_obj.style.height = (h + 20) + "px";
    if ( bts_obj ) bts_obj.style.height = (h + navHeight) + "px";
    if ( bi_obj ) bi_obj.style.height = (h + navHeight) + "px";
    if ( cil_obj && cir_obj) 
    {
	/*
	var w = (pageWidth - cil_obj.offsetWidth); // - 60);
	if ( rf_obj) w -= rf_obj.offsetWidth;
	w = (main_obj.offsetWidth - cil_obj.offsetWidth) + "px";
	bi_obj.innerHTML += "pagewidth="+pageWidth + " mobj=" + main_obj.offsetWidth + " cil=" + cil_obj.offsetWidth +
	    " cir=" + cir_obj.offsetWidth + "/" + cir_obj.style.width + " lf="+lf_obj.offsetWidth + " rf=" + rf_obj.offsetWidth + " neww="  + w + "<br>\n";
	cir_obj.style.width = (main_obj.offsetWidth - cil_obj.offsetWidth) + "px";
	*/
    }
}

function loadNav()
{
    var nav_obj = document.getElementById('nav');

    if ( ! nav_obj ) return; 

    var so = new SWFObject("/shared/swf/sheryl_nav2.swf", "sheryl_nav2", "100%", "235", "8");
    so.addParam("wmode", "transparent");
    so.addParam("bgcolor", "#000000");
    so.addParam("allowScriptAccess", "always");
    so.addVariable('labels', 'home,news,tour,video,photos,discography,blog,bio,links,community,store,mobile');
    so.addVariable('hrefs', '/,/news/,/tour/,/video/,/photos/,/discography/,/blog/,/bio/,/links/,http://sherylcrow.flux.com,http://bandmerch.seenon.com/index.php?v=sherylcrow,/ringtones/');
    so.addVariable('page', 'home');
    so.addVariable('homehref', 'http://www.sherylcrow.com');
    so.addVariable('u_data', '/shared/_data/sheryl_navigation.xml');
    so.addVariable('bg_data', '/shared/_data/sheryl_backgrounds.xml');
    so.write("nav");
}

function startup()
{
    loadNav();
    resizeContent();
}

