﻿//Javascript
var g_pgtype;
var ddTimer, lastnavshown;
var navImgArray = makeNavImgs();
var navOvImgArray = makeNavOvImgs();
var navBreadCrumbArray = makeBreadCrumbImgs();
var windowWidth;
var thirdnavsection;

//see if Mozilla or Netscape
var NS6 = document.getElementById&&!document.all //this is global do not remove!!!!

//get window width
if (NS6)
 {windowWidth = window.innerWidth;}
else
 {windowWidth = document.documentElement.clientWidth;}

//do all the stuff that needs to be done when a page loads

//create nav images and rollover state
function makeNavImgs() {
	var a = new Array();
	a['firm'] = makeImg("assets/img/navigation/firm.jpg");
	a['press'] = makeImg("/assets/img/navigation/press.jpg");
	a['outreach'] = makeImg("/assets/img/navigation/publicoutreach.jpg");
	a['projects'] = makeImg("/assets/img/navigation/projects.jpg");
	a['contact'] = makeImg("/assets/img/navigation/contact.jpg");
	return a
}
function makeNavOvImgs() {
	var a = new Array();
	a['firm'] = makeImg("/assets/img/navigation/firm_ov.jpg");
	a['press'] = makeImg("/assets/img/navigation/press_ov.jpg");
	a['outreach'] = makeImg("/assets/img/navigation/publicoutreach_ov.jpg");
	a['projects'] = makeImg("/assets/img/navigation/projects_ov.jpg");
	a['contact'] = makeImg("/assets/img/navigation/contact_ov.jpg");
	return a
}

function makeBreadCrumbImgs() {
	var a = new Array();
	a['firm'] = makeImg("assets/img/breadcrumb_firm.jpg");
	a['press'] = makeImg("/assets/img/breadcrumb_press.jpg");
	a['outreach'] = makeImg("/assets/img/breadcrumb_outreach.jpg");
	a['projects'] = makeImg("/assets/img/breadcrumb_projects.jpg");
	a['contact'] = makeImg("/assets/img/breadcrumb_contact.jpg");
	return a
	
}

//set navigation image
function initPage(pgsec, pgsubsec, pgsubsecitem) {
	if (pgsec) {
		g_pgtype = pgsec;
		var navimg = getObj("nav_" + pgsec);
			navimg.src = navOvImgArray[pgsec].src;
			getObj("breadcrumb").src = navBreadCrumbArray[pgsec].src;
	}
	thirdnavsection = pgsubsec;
	createNavigation();
	navOn(pgsec, pgsubsec, pgsubsecitem);	
}

function getObj(id) { return document.getElementById(id); }

function makeImg(src) {
	var i  = new Image();
		i.src = src;
	
	return i
}

function openspace(input)
{
 var objItem = getObj(input);
 
 if(objItem.style.display == "none")
 {objItem.style.display = ""}
 else 
 {objItem.style.display = "none"}
}

function getNavInfo(navname) {
	var e = new Array();
	e["navid"] = navname;	
	e["navimg"] = getObj("nav_" + e["navid"]);
	
	return e
}

function navOver(navname) {
	var e;
	var hasSub = false;
	
	//if clear timer is set, clear it
	if (ddTimer)
		clearTimeout(ddTimer);
		
	if (navname) {
		lastnavshown = navname;
		e = getNavInfo(navname);
	}
	else
		e = getNavInfo(lastnavshown);
	
	//image rollover
	/*if (g_pgtype != e["navid"])
		e["navimg"].src = navOvImgArray[e["navid"]].src;
	*/
	
	//dropdown stuff	
	for (var i=0; i < thirdNavArray.length; i++) {
		if (e["navid"] == thirdNavArray[i].sec) {
			hasSub = true;
			break;
		}
	}
	if (!hasSub) {
		getObj("thirdmenu").style.visibility = 'hidden';
		return
	}	
	else {
		var pgmargin = 2;
		var ddTopOffset = 296;
		var objNavParent = getObj('navigationtable').offsetParent.offsetLeft;
		var objParent = e["navimg"].offsetParent;
		var objLeft = objParent.offsetLeft;
		var newObjLeft = (objLeft + 9 + objNavParent);		
		
		getObj("ddmenu").style.display = "block";
		
		if (NS6){
		    newObjLeft = newObjLeft + 250;
		}
        newObjLeft += "px";
        
        if (g_pgtype == e["navid"]){
            var objTop = e["navimg"].height + ddTopOffset - 15;
           
            if (NS6){
		        objTop = e["navimg"].height + ddTopOffset - 6;
		    }
        }					
        else{
        	var objTop = e["navimg"].height + ddTopOffset;
        	
        	if (NS6){
		        objTop = e["navimg"].height + ddTopOffset + 9;
		    }
        }
		
		var o = getObj('ddmenu');
			o.style.top = objTop+"px";
			o.style.left = newObjLeft;
			
		if (navname)//populate submenu
			makeDdMenu(e["navid"]);
		
		//show the div after menu is populated
		o.style.visibility = 'visible';
		
	}
}

function navOn(navname, subname, subitem) {
	var e;
	var hasSub = false;
	var hasSuperSub = false;
	
	//if clear timer is set, clear it
	//if (ddTimer)
	//	clearTimeout(ddTimer);
		
	if (navname) {
		lastnavshown = navname;
		e = getNavInfo(navname);
	}
	else
		e = getNavInfo(lastnavshown);
	
	//image rollover
	/*if (g_pgtype != e["navid"])
		e["navimg"].src = navOvImgArray[e["navid"]].src;
	*/
	
	//dropdown stuff	
	for (var i=0; i < subNavArray.length; i++) {
		if (e["navid"] == subNavArray[i].sec) {
			hasSub = true;
		}
	}
	
	for (var j=0; j < thirdNavArray.length; j++){
		if (subname == thirdNavArray[j].sec){
		    hasSuperSub = true;
	    }
	}

	if (!hasSub) {
		getObj("ddmenu").style.visibility = 'hidden';
		return
	}	
	else {
		var pgmargin = 2;
		var ddTopOffset = 60;
		var objNavParent = getObj('navigationtable').offsetParent.offsetLeft;
		var objParent = e["navimg"].offsetParent;
		//var objLeft = objParent.offsetLeft;
		var newObjLeft = 748;		
		
		getObj("ddmenu").style.display = "block";

		if (!hasSuperSub)
		{
		 getObj("thirdmenu").style.visibility = "hidden";
		 getObj("thirdmenu").style.display = "none";
		}
		else
		{getObj("thirdmenu").style.display = "block";}
		
		if (g_pgtype == e["navid"]){
            var objTop = 20 + ddTopOffset;
		}					
        else{
        	var objTop = 35 + ddTopOffset;
        }
		
		var o = getObj("ddmenu");
			o.style.top = objTop+"px";
			o.style.left = newObjLeft+"px";
		var tm = getObj("thirdmenu");
		    tm.style.top = objTop+"px";
		    tm.style.left = newObjLeft+166+"px";

		if (navname)//populate submenu
			makeDdMenu(e["navid"], subname, subitem);
		
		//show the div after menu is populated
		o.style.visibility = 'visible';
		if(hasSuperSub)
		{tm.style.visibility = 'visible';}
	}
}

function navOut() {	
	var e = getNavInfo(lastnavshown);
	if (getObj("ddmenu").style.visibility != 'hidden')
		ddTimer = setTimeout("hideDd()",300);
	else {
		if (g_pgtype != e["navid"])
			e["navimg"].src = navImgArray[e["navid"]].src;
	}
}

function hideDd() {
	var e = getNavInfo(lastnavshown);
	getObj("ddmenu").style.visibility = 'hidden';

	if (g_pgtype != e["navid"])
		e["navimg"].src = navImgArray[e["navid"]].src;
}

function doSubKill() {
	event.cancelBubble=true;
	if (ddTimer)
		clearTimeout(ddTimer);
}

function makeDdMenu(subtodisplay, subtodisplay2, itemtodisplay) {
	var subitems = '';
	var supersubitems = '';
	var p1 = '<p onmouseover="doSubKill()" onmouseout="doSubKill()">';
	var p2 = '</p>';
	var a1 = '<a href="';
	var a2 = '" ';
	var a3 = 'title="'
	var a4 = '">'
	var a5 = '</a>';
	
	
	//make submenu
	for (var i=0; i < subNavArray.length; i++) {
		if (subtodisplay == subNavArray[i].sec)
		{
			if(subtodisplay2 == subNavArray[i].t)
			    {subitems += '<div class="active" id="' +subNavArray[i].t+ '">' +p1 + a1 + subNavArray[i].a + a2 + a3 + subNavArray[i].t + a4 + subNavArray[i].t + a5 + p2 + '</div>';}
			else
			    {subitems += p1 + a1 + subNavArray[i].a + a2 + a3 + subNavArray[i].t + a4 + subNavArray[i].t + a5 + p2;}
		 }
	}
    
    
    for (var i=0; i < thirdNavArray.length; i++) {
		if (subtodisplay2 == thirdNavArray[i].sec)
		{
		    if(itemtodisplay == i)
			    {supersubitems += '<div class="active" id="' +thirdNavArray[i].t+ '">' +p1 + a1 + thirdNavArray[i].a + a2 + a3 + thirdNavArray[i].t + a4 + thirdNavArray[i].t + a5 + p2 + '</div>';}
			else
			    {supersubitems += p1 + a1 + thirdNavArray[i].a + a2 + a3 + thirdNavArray[i].t + a4 + thirdNavArray[i].t + a5 + p2;}
		 }
	}
    
    
	var s = getObj("submenu");
		s.innerHTML = subitems;
    var ss = getObj("supersub");
        ss.innerHTML = supersubitems;
    }

//create sub nav item
function subNavItem(sec,ahref,txt) {
	var path="";
	this.sec = sec;
	this.a = path + ahref;
	this.t = txt;
}

intCounter = 0;
subNavArray = new Array();

function thirdNavItem(sec,ahref,txt) {
	var path="";
	this.sec = sec;
	this.a = path + ahref;
	this.t = txt;
}
intThirdNavCounter = 0;
thirdNavArray = new Array();

function createNavigation(){
//firm
subNavArray[intCounter++] = new subNavItem('firm','/index.php','About the Firm');
subNavArray[intCounter++] = new subNavItem('firm','/peterprofile.php','Peter A. Opsahl - Principal');


//projects
subNavArray[intCounter++] = new subNavItem('projects','/educational.php','Educational');
subNavArray[intCounter++] = new subNavItem('projects','/commercial.php','Commercial');
subNavArray[intCounter++] = new subNavItem('projects','/residential.php','Residential - Single Family');
subNavArray[intCounter++] = new subNavItem('projects','/res_multi.php','Residential - Multi Family');
subNavArray[intCounter++] = new subNavItem('projects','/projectmanage.php','Project Management');
subNavArray[intCounter++] = new subNavItem('projects','/mixeduse.php','Mixed Use');
subNavArray[intCounter++] = new subNavItem('projects','/miscprojects.php','Misc Projects');
    //projects single family residential
    if(thirdnavsection == 'Residential - Single Family'){
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(0,0)','West Seattle Residence');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(1,0)','Leavenworth Residence');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(2,0)','Laurelhurst Residence West');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(3,0)','Laurelhurst Residence East');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(4,0)','Kirkland Residence');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(5,0)','Residence on Vashon Island');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Single Family','javascript:getProject(6,0)','Residence on Lake Washington');
    }
    //projects commercial
    if(thirdnavsection == 'Commercial'){
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Commercial','javascript:getProject(0,0)','160 Interchange Plaza');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Commercial','javascript:getProject(1,0)','Nisqually Administration Building');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Commercial','javascript:getProject(2,0)','Des Moines Professional Center');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Commercial','javascript:getProject(3,0)','IMCO Office Building');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Commercial','javascript:getProject(4,0)','627 1st Avenue');      
    }
    //projects educational
    if(thirdnavsection == 'Educational'){
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Educational','javascript:getProject(0,0)','Childhaven Headquarters');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Educational','javascript:getProject(1,0)','St. Francis of Assisi School');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Educational','javascript:getProject(2,0)','Sunset Elementary');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Educational','javascript:getProject(3,0)','Cottage Lake Elementary');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Educational','javascript:getProject(4,0)','Youthcare\'s Orion Center');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Educational','javascript:getProject(5,0)','Greenbridge Learning Center');
    }
    //projects Misc Projects
    if(thirdnavsection == 'Misc Projects'){
	  thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(0,0)','Bothell Research Center');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(1,0)','Sunnyside Dialysis');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(2,0)','Long Painting Company');
	  thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(3,0)','Kappa Delta Sorority');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(4,0)','Allied Furniture');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(5,0)','The Barn at Engle Farm');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(6,0)','Lake Wilderness Lodge');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(7,0)','King County Library System Renovations');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Misc Projects','javascript:getProject(8,0)','Gambro Systems Equipment Attachments');
    }
    //projects Project Management
    if(thirdnavsection == 'Project Management'){
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Project Management','javascript:getProject(0,0)','Building 38, Pier 91 Demolition');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Project Management','javascript:getProject(1,0)','Terminal 86 Grain Elevator Modification');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Project Management','javascript:getProject(2,0)','Terminal 25 Demo and Site Preperation');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Project Management','javascript:getProject(3,0)','Building C-1, Terminal 25 Demolition');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Project Management','javascript:getProject(4,0)','Terminal 86 Grain Spouts #1 & #4 Repair');
     }
     //projects Residential -Multi-family 
     if(thirdnavsection == 'Residential - Multi Family'){
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(0,0)','1310 East Union Condominiums');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(1,0)','Ridgestone at Snoqualmie Ridge');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(2,0)','Maple Valley Apartments');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(3,0)','Chelan Condominiums');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(4,0)','85th & Linden Townhomes');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(5,0)','Dream 6 Townhomes');
      thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Residential - Multi Family','javascript:getProject(6,0)','The Residences at Trail Creek');
      }
	 // projects Mixed Use
	 if(thirdnavsection == 'Mixed Use') {
		 thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Mixed Use','javascript:getProject(0,0)','12th & Pike');
		 thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Mixed Use','javascript:getProject(1,0)','Lake City Court Apartments');
		 thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Mixed Use','javascript:getProject(2,0)','Sherwood Building');
		 thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Mixed Use','javascript:getProject(3,0)','Lundeen Plaza');
		 thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Mixed Use','javascript:getProject(4,0)','Pike Station');
		 thirdNavArray[intThirdNavCounter++] = new thirdNavItem('Mixed Use','javascript:getProject(5,0)','5201 Rainier Avenue');
	 }
//contact

//feedback


//contactus
}