var contentX, contentY=44, border, containerW=673, containerH=444;
var homePageIsInit = false;
var mainPageIsInit = false;
var caseStudiesIsInit = false;
var categoryMenuIsInit = false;
var clientMenuIsInit = false;
var industryMenuIsInit = false;
var mainContainer = null;
var caseStudies = new Array();
var pointSize;
if (is.nav4 && is.mac) pointSize = 10;
else pointSize = 8;

/**
 * This function will run after the first page is loaded.
 */
function windowOnload() {
  showContainer();
  loadHomePage();
  loadMainPage();
  loadCaseStudies();

  window.cbe.addEventListener('resize', windowResizeListener);
  if (is.safari) {
    cbeGetImageByName('splash.status.img').height = 14;
    cbeGetElementById('splash.border').cbe.show();
    imgPreload();
  } else {
    cbeGetElementById('splash.border').cbe.show();
    cbeGetElementById('splash.border').cbe.autoClip('cen', 'unclip', 5, "setTimeout('imgPreload()', 100)");
  }
}

/**
 * Make sure that the images are downloaded before the page is displayed.
 */
function imgPreload() {
  var i, c=0;
  for (i = 0; i < cbeImageObj.length; ++i) {
    if (cbeImageObj[i].complete) ++c;
  }
  if (c >= cbeImageCount) {
    clientMenuInit();
    categoryMenuInit();
    industryMenuInit();
    cbeGetElementById('splash.meter.bar').cbe.resizeTo(114, 12);
    var html = '100%';
    if (is.nav4) {
      cbeGetElementById('splash.task').cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="200"><tr><td align="center"><font point-size="'+pointSize+'" color="#4f4e1b" face="arial,verdana,sans-serif">Done</font></td></tr></table>');
      cbeGetElementById('splash.status').cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="40" height="14"><tr><td valign="middle" align="center"><font point-size="'+pointSize+'" color="#4f4e1b" face="arial,verdana,sans-serif">'+html+'</font></td></tr></table>');
    } else {
      cbeGetElementById('splash.task').cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="200"><tr><td align="center"><font class="statusFonts" point-size="8" color="#4f4e1b" face="arial,verdana,sans-serif">Done</font></td></tr></table>');
      cbeGetElementById('splash.status').cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="40" height="14"><tr><td valign="middle" align="center"><font class="statusFonts" point-size="8" color="#4f4e1b" face="arial,verdana,sans-serif">'+html+'</font></td></tr></table>');
    }
    setTimeout("init()", 500);
  } else {
    var p = (c/cbeImageCount);
    cbeGetElementById('splash.meter.bar').cbe.resizeTo(p*114, 12);
    var html = Math.floor(p*100)+'%';
    if (Math.floor(p*100) > 80) {
      if (is.nav4) {
        cbeGetElementById('splash.task').cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="200"><tr><td align="center"><font point-size="'+pointSize+'" color="#4f4e1b" face="arial,verdana,sans-serif">Creating Menus</font></td></tr></table>');
      } else {
        cbeGetElementById('splash.task').cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="200"><tr><td align="center"><font class="statusFonts" point-size="8" color="#4f4e1b" face="arial,verdana,sans-serif">Creating Menus</font></td></tr></table>');
      }
    }
    if (is.nav4) {
      cbeGetElementById('splash.status').cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="40" height="14"><tr><td align="center" valign="middle"><font point-size="'+pointSize+'" color="#4f4e1b" face="arial,verdana,sans-serif">'+html+'</font></td></tr></table>');
    } else {
      cbeGetElementById('splash.status').cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="40" height="14"><tr><td align="center" valign="middle"><font class="statusFonts" point-size="8" color="#4f4e1b" face="arial,verdana,sans-serif">'+html+'</font></td></tr></table>');
    }
    setTimeout("imgPreload()", 200);
  }
}

/**
 * Initialize all pages.
 */
function init() {
  initHomePage();
  if (is.safari) {
    cbeGetElementById('splash.border').cbe.hide();
    showHomePage();
  } else {
    cbeGetElementById('splash.border').cbe.autoClip('cen', 'clip', 3, "showHomePage()");
  }
}

/**
 * Create the container div and add
 */
function showContainer() {
  var flame = cbeGetElementById('home.flame');
  with(flame.cbe) {
    zIndex(3);
    moveTo(0, 324);
    show();
  }
  //some browsers like nav4 don't handle the border css attribute right
  //I just to this to avoid it but still have a border.
  contentX = (document.cbe.width() - containerW)/2;
  border = cbeGetElementById('page.border').cbe;
  if (is.safari) {
    border.resizeTo(containerW, containerH);
  } else {
    border.resizeTo(containerW+2, containerH+2);
  }
  border.moveTo(contentX, contentY);
  border.background('#FFFFFF');
  border.show();

  mainContainer = cbeGetElementById('page.container');
  mainContainer.cbe.zIndex(1);
  mainContainer.cbe.resizeTo(containerW, containerH);
  mainContainer.cbe.moveTo(1, 1);
  mainContainer.cbe.background('#A3A379');
  mainContainer.cbe.show();

  var home = cbeGetElementById('page.frame').cbe;
  home.resizeTo(containerW, containerH);
  home.show();
  //home.background('green');
  //home.zIndex(3);
  //home.ele.visibility = "show";

  var splashBorder = cbeGetElementById('splash.border');
  splashBorder.cbe.moveTo(((containerW/2)-160), 150);
  splashBorder.cbe.resizeTo(320, 70);
  splashBorder.cbe.background('#CCCCCC');

  var splash = cbeGetElementById('splash.box');
  splash.cbe.moveTo(1, 1);
  splash.cbe.resizeTo(318, 68);
  splash.cbe.background('#9b9a73');
  splash.cbe.show();

  var splashHeader = cbeGetElementById('splash.header');
  splashHeader.cbe.resizeTo(318, 40);
  splashHeader.cbe.moveTo(0, 5);
  splashHeader.cbe.background('#9b9a73');
  if(is.nav4){
    splashHeader.cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="318"><tr><td align="center"><font point-size="'+(pointSize+1)+'" color="#4f4e1b" face="verdana,sans-serif"><b>Good things come to those who wait...<b></font></td></tr></table>');
  }
  else {
    splashHeader.cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="318"><tr><td align="center" style="margin:0px;font-family:arial,verdana,sans-serif;font-size:16px;font-weight:bold;white-space:nowrap;color:#4f4e1b;">Good things come to those who wait...</td></tr></table>');
  }
  splashHeader.cbe.moveTo('middle');
  splashHeader.cbe.show();

  var meter = cbeGetElementById('splash.meter');
  meter.cbe.moveTo(80, 30);
  meter.cbe.resizeTo(116,14);
  meter.cbe.background('#CCCCCC');
  meter.cbe.zIndex(5);
  meter.cbe.show();

  var meterBar = cbeGetElementById('splash.meter.bar');
  meterBar.cbe.background('#9C0000');
  meterBar.cbe.moveTo(1, 1);
  meterBar.cbe.resizeTo(1,12);
  meterBar.cbe.show();

  var status = cbeGetElementById('splash.status');
  status.cbe.moveTo(197, 30);
  status.cbe.resizeTo(40, 14);
  status.cbe.background('#CCCCCC');
  if (is.nav4) {
    status.cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="40" height="14"><tr><td align="center" valign="middle"><font point-size="'+pointSize+'" color="#4f4e1b" face="arial,verdana,sans-serif">0%</font></td></tr></table>');
  } else {
    status.cbe.innerHtml('<table cellpadding="0" cellspacing="0" border="0" width="40" height="14"><tr><td align="center" valign="middle"><font class="statusFonts" point-size="8" color="#4f4e1b" face="arial,verdana,sans-serif">0%</font></td></tr></table>');
  }
  status.cbe.show();

  var task = cbeGetElementById('splash.task');
  task.cbe.resizeTo(200, 25);
  task.cbe.moveTo(60, 46);
  task.cbe.background('#9b9a73');
  if (is.nav4) {
    task.cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="200"><tr><td align="center"><font point-size="'+pointSize+'" color="#4f4e1b" face="arial,verdana,sans-serif">Downloading Images</font></td></tr></table>');
  } else {
    task.cbe.innerHtml('<table cellpadding="1" cellspacing="0" border="0" width="200"><tr><td align="center"><font class="statusFonts" point-size="8" color="#4f4e1b" face="arial,verdana,sans-serif">Downloading Images</font></td></tr></table>');
  }
  task.cbe.show();

  /*
  var car = cbeGetElementById('home.car');
  with(car.cbe) {
    moveTo(-containerW, 0);
    zIndex(0);
    show();
    slideTo(30, 165, 800);
  }
  */
}

/**
 * When the window is resized the container will recenter.
 */
function windowResizeListener(e) {
  //First hide a menu if there is one.
  if (currentMenu != null) {
    currentMenu.header.cbe.hide();
    currentMenu.menu.cbe.hide();
  }

  if (is.nav4 || is.opera5or6) {
    parent.location.replace('../index.html');
    return;
  }
  contentX = (document.cbe.width() - containerW)/2;
  border.slideTo(contentX, contentY, 500, "moveMenus()");
}

function moveMenus() {
  var c = cbeGetElementById('page.border').cbe;
  var y;
  var x;
  y = c.top()+56;
  x = c.left()+16;
  categoryMenu.moveMenuTo(x, y);
  clientMenu.moveMenuTo(x, y);
  industryMenu.moveMenuTo(x, y);
  if (currentMenu && currentMenu.isVisible) {
    currentMenu.header.cbe.show();
    if (currentMenu.isOpen) {
      currentMenu.menu.cbe.show();
    }
  }
}
