var sectionName = null;
var eLocation = window.location.toString();
var eTarget;
var eBaseHref = document.getElementsByTagName('BASE')[0].href;
var eventTarget, eventParent;




/* constructors  */

function menuItem (linkTo, str) {
	this.length = 3;
	this.linkTo = linkTo;
	this.str = str;
}





/*  Arrays  */

var sectionArray = new Array ('home', 'about', 'profiles', 'news', 'client_alerts', 'contact');
var sectionArrayColor = new Array ('82, 135, 184', '252, 171, 63', '151, 203, 243', '60, 168, 66', '255, 152, 0', '204, 0 ,1');

var nav1 = new Array 
nav1[nav1.length] = new menuItem('about/overview.shtml', 'Overview');
nav1[nav1.length] = new menuItem('about/adminteam.shtml', 'Administrative Team');
nav1[nav1.length] = new menuItem('about/work.shtml', 'Our Work');
nav1[nav1.length] = new menuItem('about/clients.shtml', 'Our Clients');

var nav2 = new Array 
nav2[nav2.length] = new menuItem('profiles/profiles.shtml', 'Attorney Profiles');
nav2[nav2.length] = new menuItem('profiles/kbello.shtml', 'Kenneth M. Bello');
nav2[nav2.length] = new menuItem('profiles/jblack.shtml', 'Josiah (Josh) M. Black');
nav2[nav2.length] = new menuItem('profiles/jwelsh.shtml', 'John F. Welsh');
nav2[nav2.length] = new menuItem('profiles/sweatherhead.shtml', 'Steven D. Weatherhead');
nav2[nav2.length] = new menuItem('profiles/jbelli.shtml', 'Jennifer Belli');
nav2[nav2.length] = new menuItem('profiles/alexandra_thaler.shtml', 'Alexandra (Sasha) D. Thaler');
nav2[nav2.length] = new menuItem('profiles/mrcafaro.shtml', 'Monica Rose Cafaro');


var nav3 = new Array 
nav3[nav3.length] = new menuItem('news/news.shtml', 'News');
nav3[nav3.length] = new menuItem('news/events.shtml', 'Events');


var nav5 = new Array 
nav5[nav5.length] = new menuItem('contact/info.shtml', 'Contact Info');
nav5[nav5.length] = new menuItem('contact/directions.shtml', 'Directions');




/*  Runtime  */



// this next series of statements set the value of sectionName

for (var x = 0; x <= sectionArray.length; x++) {
	
	pattern = new RegExp(sectionArray[x], 'i');
	
	if (x == sectionArray.length) {
		pattern = new RegExp('disclaimer', 'ig');	
	}
	
	result = pattern.exec(eLocation);
	
	if (result) {
		
		sectionName = sectionArray[x];
		
		if (x == sectionArray.length) {
			sectionName = 'disclaimer';	
		}
		
		break;
	}
}

if (!sectionName) {
	sectionName = sectionArray[0];	
}

if (sectionName == 'home') {
	document.write ('<link type="text/css" rel="stylesheet" href="css/home.css" media="all" />');
	
}


// browser sniff to write the correct correcting styles for ie 6. So far, that is the only problem browser we have encounterd with this codeset

var browser = navigator.userAgent.toLowerCase().toString();
var supportedBrowserArray = new Array ('msie 6.0', 'msie 7', 'firefox', 'safari');

for (var x = 0; x < supportedBrowserArray.length; x++) {
	
	var pattern = new RegExp(supportedBrowserArray[x], 'g');
	var result = pattern.exec(browser);
		
	if (result == 'msie 6.0') {
		
		document.write('<link type="text/css" href="css/msie6.css" rel="stylesheet" media="all" />');
		browser = result;
		
	} else if (result == 'msie 7') {
		document.write('<link type="text/css" href="css/msie7.css" rel="stylesheet" media="all" />');

	}
}




/* 

if JavaScript is enabled, this script can excecute. Consequently, our document.onload event will fire.
That being the case, we want to avoid a screen flash when we remove the nested ULs from the nav ul. To do so, we write
a LINK element into the head that uses CSS to hide the nested ULs.

*/

//document.write ('<link type="text/css" rel="stylesheet" href="css/runtime.css" media="screen" />');




/*  Functions  */

function setSection () {
		
	eNavList = document.getElementById('nav').getElementsByTagName('A');
	
	var tempNum = 0;
	
	for (var x = 0; x < eNavList.length; x++) {
		
		var pattern = new RegExp(sectionName.replace('_', ' '), 'ig');
		var result = pattern.exec(eNavList[x].firstChild.nodeValue.toLowerCase());
				
		if (result) {
			tempNum = x;
			break;
			
		}
	}
	
	if (browser = 'msie 6.0') {
		eNavList[tempNum].style.backgroundColor = 'rgb(' + sectionArrayColor[tempNum] + ')';
		
	} else {
		eNavList[tempNum].setAttribute('style', 'background-color: rgb(' + sectionArrayColor[tempNum] + ');');
	}

	
}

function init() {
	initializeNavOptions();
	setSection();
	setGraphics();
	setListeners();
}

function setGraphics() {
	
	eP = document.getElementById('glamorShot');

	if (sectionName != null) {
	
		eNewImg = document.createElement('IMG');
		eNewImg.setAttribute('src', 'img/glamour/' + sectionName + '.jpg');
		eNewImg.setAttribute('alt', '');
		
		if (sectionName == 'home') {
			eNewImg.setAttribute('width', '595');
			eNewImg.className = 'home';
		} else {
			eNewImg.setAttribute('width', '282');
		}
		
		eNewImg.setAttribute('height', '165');
		eP.appendChild(eNewImg);
	} 
}

function setListeners () {
	
	// for nav
	
	navUL = document.getElementById('nav');
	if (sectionName == 'home') {
		navUL.addEventListener ? navUL.setAttribute('class', 'home') : navUL.setAttribute('className', 'home');	
	}
	navA = navUL.getElementsByTagName('A');
	
	for (var x = 0; x < navA.length; x++) {
	
		navA[x].addEventListener ? navA[x].addEventListener('mouseover', dropDown, false) : navA[x].attachEvent('onmouseover', dropDown);
		navA[x].addEventListener ? navA[x].addEventListener('mouseout', removeDropDown, false) : navA[x].attachEvent('onmouseout', removeDropDown);
		
		
	}
}

function initializeNavOptions () {
	
	eNav = document.getElementById('nav');
	var eULlist = eNav.getElementsByTagName('UL');
		
	for (var x = 0; x < eULlist.length; x++) {
		
		var eLI = eULlist[x].parentNode;
		eLI.removeChild(eULlist[x]);
		x--;
	}
}
function changeImg (event) {

	var newSrc, oldSrc;
	setEventTarget(event);
	
	if (event.type == 'mouseover' || event.type == 'onmouseover') {
			
		oldSrc = eventTarget.src;
		newSrc = oldSrc.split('_bw');
		newSrc = newSrc[0] + '.jpg';
		
	} else {
		
		oldSrc = eventTarget.src;
		newSrc = oldSrc.split('.');
		newSrc = newSrc[0] + '_bw.jpg';
	}
	
	eventTarget.src = newSrc;

}


function setEventTarget(event) {
	event.target ? eventTarget = event.target : eventTarget = event.srcElement;
	if (eventTarget.nodeName == '#text') {
		eventTarget = eventTarget.parentNode;
	}
	eventParent = eventTarget.parentNode;
	return eventTarget;
	return eventParent;
	
}


function dropDown (event) {
	
	setEventTarget(event);
	
	/* This IF blanket removes the drop down for all of the top level LI  */
	
	if (document.getElementById('dropDownMenu')) {
		eDropDown = document.getElementById('dropDownMenu');
		eDropDownParent = eDropDown.parentNode;
		eDropDownSibling = eDropDown.previousSibling;
		
		if (eDropDownParent.getAttribute('class') == 'nextSection' || eDropDownParent.getAttribute('className')) {
			document.addEventListener ? eDropDownParent.removeAttribute('class') : eDropDownParent.removeAttribute('className');
		}
		
		eDropDownParent.removeChild(eDropDown);
	}
	
	if (window[eventParent.id]) {
		
		array = window[eventParent.id];
	
		if (array.length && eventParent.id != 'nav0') {
				
			eventParent.addEventListener ? eventParent.setAttribute('class', 'nextSection') : eventParent.setAttribute('className','nextSection');
	
			var eMenu = window[eventParent.id];
			
			eNewUL = document.createElement('UL');
			eNewUL.id = 'dropDownMenu';

			if (browser == 'msie 6.0') {
				eNewUL.style.top = (eventParent.offsetTop) + 'px';
			} else {
				
				eNewUL.setAttribute('style', 'top:' + eventParent.offsetTop + 'px');
			}
			
			eNewUL.addEventListener ? eNewUL.addEventListener('mouseout', removeDropDown, false) : eNewUL.attachEvent('onmouseout', removeDropDown);
	
			writeUL(eNewUL, eMenu);
			
			eventParent.appendChild(eNewUL);
		}
	}
}


function removeDropDown (event) {
	
	if (document.getElementById('dropDownMenu')) {
		
		
		setEventTarget(event);
		
		event.relatedTarget ? eNextSource = event.relatedTarget : eNextSource = event.toElement;
	
		eDropDown = document.getElementById('dropDownMenu');
		eDropDownParent = eDropDown.parentNode;
		
		var isChild = false;
		
		var childList = eDropDownParent.getElementsByTagName(eNextSource.nodeName);
		
		if (childList.length > 0) {
			
			for (var x = 0; x < childList.length; x++) {
				
				if (childList[x] == eNextSource) {
					isChild = true;
					break;
				}
			}
		}
		
		if (isChild == false) {
			
			document.addEventListener ? eDropDownParent.removeAttribute('class') : eDropDownParent.removeAttribute('className');
			eDropDownParent.removeChild(eDropDown);
		}
	}
}

function writeUL (eUL, array) {
	
	for (var x = 0; x < array.length; x++) {
		
		newLI = document.createElement('LI');
		newLI.setAttribute('id', eventParent.id + '_sub_' + x);
		
		newA = document.createElement('A');
		
		newA.setAttribute('href', array[x].linkTo);
		
		if (x == array.length - 1 && eUL.getAttribute('id') == 'dropDownMenu') {
			newA.setAttribute('style', 'border-bottom: none;');	
		}
		
		newText = document.createTextNode(array[x].str);
	
		newA.appendChild(newText);
		newLI.appendChild(newA);
		eUL.appendChild(newLI);

	}
}
