/* DHTML Menu - menu.js
 * Copyright ©2001 Crescan Consulting
 * All rights reserved worldwide. Re-use prohibited without permission of the copyright holder.
 * URL  : http://www.crescan.com
 * Email: info@crescan.com
 */ 

var NS=(document.layers)?1:0;
var IE=(document.all)?1:0;
var visible = NS?"show":"visible";
var hidden = NS?"hide":"hidden";

var CssMainMenu="menu";
var CssMainHigh="high";
var CssSubMenu="menu";
var CssSubHigh="high";
var CssSubBg = "menuBg";

var bgMainMenu="A5A5A5";
var bgSubMenu="#A5A5A5";
var bgSubItem="#000000";
var bgSubHigh="#FFFFFF";

var fontSize = 11;
var menuBarX=250;
var menuBarY=405;

var pageX=0;
var pageY=0;

var page=0;
var subPage=0;

function init(pg, subpg){
   self.name='index';
   self.defaultStatus = "Crescan Consulting";
   page=pg;
   subPage=subpg;
   alignPage();
   showPointer();   
   createMenu();
   showMenu();
}

function alignPage() {
   if (screen.width>800) {
      pageX=(screen.width-800)/2;
      pageY=(screen.height-650)/2;
   }
   menuBarX=pageX+250;
   menuBarY=pageY+405;
   moveLayer(getLayer("main"),pageX,pageY);
   getLayer("main").zIndex=1;
}
   

function createMenu() {
  if (NS) setDim(115,90); else setDim(115,95);
   addMainItem("<b>::</b> Consulting", "");
   addSubItem("Strategy Planning", "c_planning.htm");
   addSubItem("Business Advice", "c_management.htm");
   addSubItem("Financial Modeling", "c_modeling.htm");
   addSubItem("Clients", "c_clients.htm");
   addSubItem("Request a Quote", "rfq_bizconsult.htm");
   
  if (NS) setDim(115,90); else setDim(115,95);
   addMainItem("<b>::</b> Accounting", "");
   addSubItem("Bookkeeping", "a_bookkeeping.htm");
   addSubItem("Govt. Filings", "a_govt.htm");
   addSubItem("Software Setup", "a_softimp.htm");
   addSubItem("Clients", "a_clients.htm");
   addSubItem( "Request a Quote", "rfq_acctg.htm");

   if (NS) setDim(115,36); else setDim(115,38);
   addMainItem("<b>::</b> Taxation", "");
   addSubItem("Income Tax", "tax.htm");
   addSubItem("Request a Quote", "rfq_tax_personal.htm");

   if (NS) setDim(120,18); else setDim(120,19);
   addMainItem("<b>::</b> RFQ", "");
   addSubItem("Request For Quote", "rfq.htm");

   if (NS) setDim(115,108); else setDim(115,114);
   addMainItem("<b>::</b> About Crescan", "");
   addSubItem("Profile", "profile.htm");
   addSubItem("Mission Statement", "mission.htm");
   addSubItem("Memberships", "membership.htm");
   addSubItem("Contact Info", "contact.htm");
   addSubItem("Careers", "careers.htm");
   addSubItem("Affiliates", "affiliates.htm");
   
   if (NS) setDim(8,18); else setDim(8,19);
   addMainItem("<b>::</b> Home", "index.html");
}

var mainMenuWidth=0; //raw width of main menu
var mainItemX = new Array();//location of main menu item
mainItemX[0]=0;
var numMainItems=0;
var numSubItems=new Array();//num sub items in each menu
var subMenuWidth=new Array();//width of submenus
var subMenuHeight=new Array(); //raw height of sub menus
var layerHeight=0;

function addMainItem (text, link) {
     var str="";
     var layer;
     var i=numMainItems;  
     str=getText(CssMainMenu,text,0);
     layer=addLayer("mainItem"+i,str,"",link,menuBarX+mainItemX[i],menuBarY,150,-1);

     layerHeight=getHeight(layer);
     mainMenuWidth += getWidth(layer);
     mainItemX[i+1]=mainMenuWidth;

     str=getText(CssMainHigh,text,0);
     addLayer("mainHigh"+i,str,"",link,menuBarX+mainItemX[i],menuBarY,160,-2);

     numMainItems++;
     numSubItems[i]=0;

      //bg
      var w=subMenuWidth[i]+8;
      var h=subMenuHeight[i]+4;
      str=w+"|"+h;
      addLayer("subMenuBg"+i,str,bgSubMenu,"",menuBarX+mainItemX[i]-1,menuBarY-subMenuHeight[i]-2,110,-6);
}

function addSubItem (text,link) {
         var i=numMainItems-1;
         var j=numSubItems[i];
         var layerNum = i+"_"+j;
         var newWindow = false;
         if (text=="RFQ") newWindow = true;
         
         str=getText(CssSubMenu,text,subMenuWidth[i]);
         addLayer("subItem"+layerNum,str,bgSubMenu,link,menuBarX+mainItemX[i],menuBarY-subMenuHeight[i]+j*layerHeight,130,-3,newWindow);
         
         str=getText(CssSubHigh,text,subMenuWidth[i]-2);
         addLayer("subHigh"+layerNum,str,bgSubHigh,link,menuBarX+mainItemX[i]+1,menuBarY-subMenuHeight[i]+j*layerHeight,140,-4,newWindow);
        
         numSubItems[i]++;      
}

var highest=0;
function setDim(w,h){
    subMenuWidth[numMainItems]=w;
    subMenuHeight[numMainItems]=h;
    if (highest<h) highest=h;
}

function showMenu(){
   var i=0;
   for(;i<numMainItems;i++)
      getLayer("mainItem"+i).visibility = visible;

   str=mainMenuWidth+"|"+layerHeight;
   addLayer("mainMenuBg",str,bgMainMenu,"",menuBarX,menuBarY,120,-5);
   getLayer("mainMenuBg").visibility = visible;

   var w=mainMenuWidth+110;
   var h=highest+133;
   str='<table><tr><td><img src="images/empty.gif" width="'+w+'" height="'+h+'" border=0></td></tr></table>';
   addLayer("boundary",str,"","",menuBarX-100,menuBarY-highest-100,100,-7);
}

var currentMenu = null;
var currentItem = null;

function display() {
   switch (this.mainIdx) {
      case -1: {hideSubMenu();showSubMenu(this);break;}
      case -3: {hideSubItem();showSubItem(this);break;}
      case -7: {hideAll();currentMenu=null;currentItem=null;}
   }
}

function showSubMenu(layer) {
   layer=NS?layer:layer.style;
   currentMenu=layer;
   var i=layer.idx;
   getLayer("mainHigh"+i).visibility = visible;
	getLayer("boundary").visibility = visible;
   
   if (i!=5){
     var j=0;
     for(;j<numSubItems[i];j++) 
        getLayer("subItem"+i+"_"+j).visibility = visible;
     getLayer("subMenuBg"+i).visibility = visible;
   }
   i++;
   rollOver("_over.gif",i);
}

function hideSubMenu() {
   if (currentMenu == null) return;
   if (currentItem != null) {
      getLayer("subHigh"+currentMenu.idx+"_"+currentItem.idx).visibility = hidden;
      currentItem=null;
   }
   hideAll();
}

function showSubItem(layer) {
   layer=NS?layer:layer.style;
   currentItem=layer;
   var i=currentMenu.idx;
   var j=currentItem.idx;
   getLayer("subHigh"+i+"_"+j).visibility = visible;
}

function hideSubItem() {
   var i=currentMenu.idx;
   getLayer("mainHigh"+i).visibility = hidden;
   if (currentItem == null) return;
   var j=currentItem.idx;
   getLayer("subHigh"+i+"_"+j).visibility = hidden;
}   
   
function hideAll() {
   if (currentMenu==null) return;
   var i=currentMenu.idx;
   getLayer("mainHigh"+i).visibility = hidden;
	getLayer("boundary").visibility = hidden;

   var j=0;
   for(;j<numSubItems[i];j++) {
      getLayer("subItem"+i+"_"+j).visibility = hidden;
      getLayer("subHigh"+i+"_"+j).visibility = hidden;
   }  
   getLayer("subMenuBg"+i).visibility = hidden;
   i++;
   if (i==page) rollOver("_up.gif",i);
   else rollOver("_out.gif",i);     
}   

function rollOver(type,i) {
   if (NS) {
      //eval('document.layers["main"].document.layers["pic'+i+'"]').document.images[0].src="img_nav"+i+type;
      getImage("pic"+i).src="images/img_nav"+i+type;
      }
   else {
      //document.images["img"+i].src="img_nav"+i+type;
      getImage("img"+i).src="images/img_nav"+i+type;
      }
}

function getImage(img) {
   if (NS) return eval('document.layers["main"].document.layers["'+img+'"].document.images[0]');
   else return document.images[img];
}

function gotoURL(link, target) {
	var myURL = "";
   if (NS && link!="") myURL=link;
   else if (IE && this.link!="") myURL=this.link;
   if (this.myTarget || target) {
      var w=open(myURL);
      w.moveTo(0,0);
      w.resizeTo(screen.availWidth, screen.availHeight);
      w=null;
   }
   else {
   	if (myURL != "") self.location.href = myURL;
   }
}

function getText (cssType, text, w){
   var str = '<table border=0 cellpadding=2 cellspacing=1><tr><td class="'+cssType+'" ';
   if (w!=0) str+='width="'+w+'" ';
   str+= 'nowrap>&nbsp;'+text+'&nbsp;</td></tr></table>';
   return str;
}

function getWidth(layer) {
   return NS?layer.clip.right-layer.clip.left:layer.clientWidth;
}

function getHeight(layer) {
   return NS?layer.clip.bottom-layer.clip.top:layer.clientHeight;
}

function moveLayer(layer, x, y) {
   layer.left=x;
   layer.top=y;
}

function showLayer(layer) {
   layer.visibility = visible;
}

function hideLayer(layer) {
   layer.visibility = hidden;
}

function getLayer(layer) {
   if (NS) return document.layers[layer];
   return eval(layer+".style");  
}

function addLayer(name, text, bg, link, x, y, z, mIdx, newWindow){
    var isBg=text.indexOf("|");
    var w=0,h=0;
    if (isBg!=-1) {
       w=text.substring(0,isBg);
       h=text.substring(isBg+1);
    }

    if (NS){
        if (isBg!=-1) 
           strLayer= '<layer width="'+w+'" height="'+h+'" onfocus="gotoURL(\''+link+'\')" name="'+name+'" bgColor="'+bg+'"></layer>';
        else
           strLayer= '<layer onfocus="gotoURL(\''+link+'\','+newWindow+')" name="'+name+'" bgColor="'+bg+'">' + text + '</layer>';

        document.layers[name] = new Layer(0);
        document.layers[name].document.open();
        document.layers[name].document.write(strLayer);
        document.layers[name].document.close();
        document.layers[name].idx=name.charAt(name.length-1);
        document.layers[name].onmouseover=display;
        document.layers[name].zIndex=z;
        document.layers[name].mainIdx=mIdx;
        document.layers[name].moveTo(x,y);
        document.layers[name].visibility = hidden;
        return document.layers[name];
    }

    if (IE) {
        if (isBg!=-1)
           strLayer = '<div id="'+name+'" style="position: absolute; background-color: '+bg+'; visibility: hidden; width: '+w+'px; height: '+h+'px;"></div>';
        else
           strLayer = '<div id="'+name+'" style="position: absolute; background-color: '+bg+'; visibility: hidden;">' + text + '</div>';

        document.body.insertAdjacentHTML("beforeEnd",strLayer);
        document.all(name).style.idx=name.charAt(name.length-1);
        document.all(name).link=link;
        document.all(name).onmouseover=display;
        document.all(name).onclick=gotoURL;
        document.all(name).myTarget=newWindow;
        document.all(name).style.zIndex=z;
        document.all(name).mainIdx=mIdx;
        document.all(name).style.left=x;
        document.all(name).style.top=y;
        document.all(name).style.visibility=hidden;
        return document.all(name);
    }
}

var pIndex=0;
var pLayer;
function movePointer(num) {
    if (num==subPage) return;
    var posY=pageY+208+18*num;
    if (!pLayer) {
        pLayer=addLayer('arrow','<img name="img_arrow" src="images/arrow2.gif" border=0>',"","",pageX+105,posY,200,0);
        if (IE) pLayer=pLayer.style;
        showLayer(pLayer);
    }
    else { 
        pLayer.top=posY;
        showLayer(pLayer);
    }
 }

function killPointer() {
	if (!pLayer) return;
    hideLayer(pLayer);
}    

function showPointer() {
	if (page!=0) {
    	var tempLayer=addLayer('pointer','<img src="images/arrow2.gif" border=0>',"","",pageX+105,pageY+208+18*subPage,80,0);
    	if (IE) tempLayer=tempLayer.style;
    	showLayer(tempLayer);
    }
}

var barImages = new Array (6);
for(var loop=1; loop < 7; loop++) {
   barImages[loop] = new Image(42,64);
   barImages[loop].src = "img_nav"+loop+"_over";
}

