/*-------------------------------START IT ALL SCRIPT --------------------------------*/

var isLTIE7=false;
var isSafari=false;

function setup(){
	isSafari=(navigator.appVersion.indexOf('AppleWebKit')!=-1);
	ieVer=parseInt(navigator.appVersion.split("MSIE")[1]);
	isLTIE7=(ieVer<7);
	isLTIE8=(ieVer<8);
	if (ieVer==7 && document.body.offsetWidth<975) {
		document.body.style.width='975px';	
	}

	if (enableOverlay) enableOverlay(); // must happen before other setup features...
	
	if (document.getElementById('nav')){
		setupNav(document.getElementById('nav')); 
		setInterval('animate()',20);
	}
	if (document.getElementById('map')) load();
	
	if (document.getElementById('bgm-tabs')) setupTabs();
	
}

window.onload=setup;

/*-------------------------------MAX WIDTH FUNCTION FOR IE6 AND 'Learn about plug and play' PAGE ----------------*/

function maxWidth(obj,maxW){
	if (isLTIE7 && obj.offsetWidth>maxW) obj.style.width=maxW + 'px';	
}

/*-------------------------------NAVIGATION SCRIPT --------------------------------*/

var flyoutBckGrd='#2E6099'; /* --------------------------------------FLYOUT BACKGROUND COLOR FOR IE --------------*/
var rollBckGrd='#6181A3'; /* --------------------------------------ROLLOVER BACKGROUND COLOR FOR IE --------------*/


var shadows=false;
var primaryVertOffset=26;
var secondaryVertOffset=8;
var horizontalOffset=-205;      /* MUST BE GREATER THAN -(WIDTH OF BUTtON) FOR FIREFOX/OPERA*/
var secondaryHorizontalOffset=0;
var alpha=100;

var colors=new Array('#e1e1e1','#c2c2c2','#999999','#666666','#3e3e3e','#1f1f1f','#0b0b0b')

function setupNav(nav){
	var links=nav.getElementsByTagName('span');
	var lis=nav.getElementsByTagName('li');
	var uls=nav.getElementsByTagName('ul');
	navWidth=links[0].offsetWidth;
	navWidth=200    /* special mod for CM */
	flyouts=new Object();
	closers=new Object();
	tmr=new Object();
	tmr3=new Object();
	for (m=0;m<uls.length;m++){
		if (uls[m].parentNode.parentNode.id=='nav') {
			uls[m].style.top=primaryVertOffset+'px';
			uls[m].style.marginLeft=horizontalOffset+'px';
		} else {
			uls[m].style.top=secondaryVertOffset+'px';
			uls[m].style.marginLeft=secondaryHorizontalOffset+'px';
		}
		uls[m].id=m;
		// shadow stuff start
		if (shadows){
					if (document.all && !window.opera){
							a=document.createElement('div');
							a.style.width=(navWidth-5)+'px'
							a.style.height=(uls[m].offsetHeight-2)+'px'
							a.className='shadow';
							a.style.border='1px solid  black';
							a.style.backgroundColor='black';
							uls[m].insertBefore(a,uls[m].firstChild);
						
					}else{
					
			for (n=0;n<7;n++){
				a=document.createElement('div');
				a.style.width=navWidth+0+(2*n)+'px';
				//if (n==0) a.style.backgroundColor='#000000';
				a.style.border='1px solid black';
				a.style.top=n-1+'px';
				a.style.left=6-n+'px';
				a.style.height=uls[m].offsetHeight+0+'px';
				a.style.position='absolute';
				a.className='navShadow';
				if (window.opera &&parseInt(window.opera.version())<9) 	a.style.borderColor=colors[6-n];
//				a.style.filter='alpha(opacity='+((7-n)*10+n)+')';
				a.style['opacity']=((7-n)/20+n/100);
				a.style['-moz-opacity']=(7-n)/20+n/100;
				a.style['-khtml-opacity']=(7-n)/20+n/100;
				uls[m].insertBefore(a,uls[m].firstChild);
			}
		  }
		}
		// shadow stuff end
	}
	for (o=0;o<lis.length;o++){
			lis[o].style.zIndex=lis.length-o;	
	}
	for (i=0;i<links.length;i++){
			if (links[i].parentNode.parentNode.id!='nav'){
				links[i].style.filter='alpha(opacity='+alpha+')';
				links[i].style['opacity']=alpha/100;
				links[i].style['-moz-opacity']=alpha/100;
				links[i].style['-khtml-opacity']=alpha/100;
			}
			links[i].onmouseover=function(){showSub(this)};
			links[i].onmouseout=function(){hideSub(this)};
			links[i].onfocus=function(){this.blur()};
			/*if (links[i].href.indexOf('#')!=links[i].href.length-1){
				links[i].onclick=function(){hideSub(this)};
			} else {
				links[i].onclick=function(){return false};
			}*/	
	}
}

function showSub(prime){ 
	if (prime.parentNode.parentNode.id=='nav'){
		prime.style.backgroundColor='#6181A3';
		prime.style.textDecoration='none';
	} else {
		prime.parentNode.parentNode.parentNode.getElementsByTagName('span')[0].style.background='#6181A3';
		prime.style.textDecoration='none';
		//alert(prime.parentNode.parentNode.id);
		if (prime.parentNode.parentNode.id!='3') {prime.style.backgroundColor=flyoutBckGrd;}
		if (prime.id=='emailAddress') {prime.getElementsByTagName('a')[0].style.textDecoration='none';}
	}
	var obj=prime;
	var sub=prime.parentNode.getElementsByTagName('ul');
	while (obj.id!='nav'){
		if (obj.tagName.toLowerCase()=='ul' && tmr[obj.id]) clearTimeout(tmr[obj.id]);
		obj=obj.parentNode;
	}
	if (sub.length>0){
		if (tmr[sub[0].id]) clearTimeout(tmr[sub[0].id]);
		expTimer=setTimeout(function(){flyouts[sub[0].id]=sub[0]},200);
	}
}

function hideSub(prime){
	if (typeof(expTimer)!='undefined') clearTimeout(expTimer);
	if (prime.parentNode.parentNode.id=='nav'){
		prime.style.backgroundColor='transparent';
		prime.style.textDecoration='none';
	} else {
		prime.parentNode.parentNode.parentNode.getElementsByTagName('span')[0].style.background='transparent';
		prime.style.textDecoration='none';
		prime.style.backgroundColor=rollBckGrd;
		if (prime.id=='emailAddress') {prime.getElementsByTagName('a')[0].style.textDecoration='underline';}
	}
	var sub=prime.parentNode.getElementsByTagName('ul');
	if (sub.length>0){
		  tmr[sub[0].id]=setTimeout('delete flyouts['+sub[0].id+'];closers['+sub[0].id+']='+sub[0].id,125);
	}
	var obj=prime;
	while (obj.id!='nav'){
			if (obj.tagName.toLowerCase()=='ul'){
		 	  tmr[obj.id]=setTimeout('delete flyouts['+obj.id+'];closers['+obj.id+']='+obj.id,125);
			}
			obj=obj.parentNode;
	}
}

function animate(){
	for (j in flyouts){
		delete closers[j];
		var curValue=(isNaN(curValue=parseInt(flyouts[j].style.left))?0:curValue);
		if(curValue<navWidth) {
				flyouts[j].style.left=navWidth+'px';
				flyouts[j].style.clip='rect(0px 2500px 2500px 0px)';
				/*flyouts[j].style.left=(curValue+Math.ceil((navWidth-curValue)/2))+'px';
				flyouts[j].style.clip='rect(0px 2500px 2500px ' + (navWidth-curValue-2)+ 'px)';*/
		} else {
				delete flyouts[j];
		}
	}
	for (k in closers){
		var curUL=document.getElementById(closers[k]);
		var curValue2=parseInt(curUL.style.left);
		if(curValue2>0) {
				curUL.style.left='0px';
				curUL.style.clip='rect(0px 2500px 2500px 2500px)';
		} else {
			if (shadows) curUL.style.clip='rect(0px 2500px 2500px ' + (navWidth-curValue2+20)+ 'px)';
			//if (closers[k].parentNode.parentNode.id='nav') closers[k].parentNode.style.backgroundColor='transparent';
			delete closers[k];
		}
	}
}
/*------------------------------TRANSPARENT PNG REPLACEMENT FOR <IE7 ----------*/

function replacePNG(obj){
	var xPNG=obj.getElementsByTagName('img');
	var szMthd='image';
	for (i=0;i<xPNG.length;i++){
		if (xPNG[i].src.toLowerCase().indexOf('.png')!=-1) {
			var file=xPNG[i].src;
			xPNG[i].src='images/1x1.gif';
			xPNG[i].style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+file+'", sizingMethod="'+szMthd+'")';
		}
	}
}


/*------------------------------NEW IMPROVED OVERLAY SCRIPT------------------------------*/

/*	 USAGE NOTES:

		activateOverlay(type,content,dragTF,scrColor,scrOpacPercent)
		
		type=img,document;
		content=link to image or document;
		dragTF=true for draggable, false for static;
		scrColor=color name or hex code for background screen color;
		scrOpacPercent=0-100, 100 completely opaque
*/

var bodyOv, docElOv;
var bgm_scrollWidth;

function enableOverlay(){

	var scr=document.createElement('div');
		scr.id='bgm_pgScreen';
		scr.style.position='absolute';
		scr.style.top='0px';
		scr.style.left='0px';
		scr.style.width='100%';
		scr.style.height='100%';
		scr.style.zIndex=1000000;
		scr.style.display='none';
	var bgm_overlay=document.createElement('div');
		bgm_overlay.id='bgm_overlay';
		bgm_overlay.style.backgroundImage='url(images/window-bckgrd.png)';
		bgm_overlay.style.backgroundRepeat='repeat-y';
		bgm_overlay.style.backgroundPosition='center center';
		bgm_overlay.style.border='1px outset #999999';
		bgm_overlay.style.padding='30px 10px 10px 10px';
		bgm_overlay.style.position='absolute';
		bgm_overlay.style.zIndex=1000000;
		bgm_overlay.style.visibility='hidden';
		bgm_overlay.style.display='block';
	var bgm_bttnClose=document.createElement('img');
		bgm_bttnClose.id='bgm_Ocloser';
		bgm_bttnClose.src='images/window-close.png';
		bgm_bttnClose.style.position='absolute';
		bgm_bttnClose.style.top='5px';
		bgm_bttnClose.style.width='21px';
		bgm_bttnClose.style.height='20px';
		bgm_bttnClose.style.cursor='pointer';
		bgm_bttnClose.onclick=function(){closeIt=setInterval('resizeOverlay(0,0)',20)};
		
	document.body.appendChild(scr);
	document.body.appendChild(bgm_overlay);

	bgmScreen=document.getElementById('bgm_pgScreen');
	bgmOverlay=document.getElementById('bgm_overlay');
	bgmOverlay.appendChild(bgm_bttnClose);
	bgm_bttn=document.getElementById('bgm_Ocloser');
	if (isLTIE7) replacePNG(bgm_bttn.parentNode);

	var testBox=document.createElement('div');
	testBox.id='testbox';
	testBox.style.width='150px';
	testBox.style.height='150px';
	testBox.style.position='absolute';
	testBox.style.left='100px';
	testBox.style.top='100px';
	testBox.style.overflow='scroll';
	document.body.insertBefore(testBox,document.body.firstChild);
	bgm_scrollWidth=parseFloat(document.getElementById('testbox').offsetWidth)-parseFloat(document.getElementById('testbox').clientWidth);
	document.body.removeChild(document.getElementById('testbox'));
	
}


var winW, winH, maxW, maxH, ovType;

function activateOverlay(type,content,dragTF,scrColor,scrOpacPercent){

	ovType=type;
	
	if (document.getElementById('bgm_overlayImage')||document.getElementById('bgm_overlayDoc')) {
		bgmScreen.style.display='none';
		bgmOverlay.removeChild(bgmOverlayObj);
		bgmOverlay.style.visibility='hidden';
		bgm_bttn.style.left='0px';
		bgmOverlay.onmousedown=null;
		bgmIndex=1;
		lastX=null;
		lastY=null;
		disableOverlay();
	}

	if (scrColor&&scrOpacPercent){
		bgmScreen.style.backgroundColor=scrColor;
		bgmScreen.style.filter='alpha(opacity='+scrOpacPercent+')';
		bgmScreen.style.opacity=scrOpacPercent/100;
		bgmScreen.style.height=Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)+'px';
		bgmScreen.style.display='block';
	}

	if (dragTF==true) bgmOverlay.onmousedown=moveOverlay;
		
	winW=document.documentElement.clientWidth;
	if (winW==0) winW=document.body.clientWidth;
	winH=document.documentElement.clientHeight;
	if (winH==0) winH=document.body.clientHeight;

	if (type=='image'){
		var bgm_overlayImage=document.createElement('img');
			bgm_overlayImage.id='bgm_overlayImage';
			bgm_overlayImage.style.border='1px inset #999999';
			bgm_overlayImage.onload=function(){activate_2('image')};
		bgmOverlay.appendChild(bgm_overlayImage);
		bgmOverlayObj=document.getElementById('bgm_overlayImage');
		bgmOverlayObj.src=content;
	}else{
		var bgm_overlayDoc=document.createElement('div');
			bgm_overlayDoc.id='bgm_overlayDoc';
			bgm_overlayDoc.style.border='1px inset #999999';
			bgm_overlayDoc.style.backgroundColor='#000000';
		var bgm_ifr=document.createElement('iframe');
			bgm_ifr.frameBorder='0';
			bgm_ifr.style.width='100%';
			bgm_ifr.style.height='100%';
			bgm_ifr.src=content;
			bgm_ifr.id='bgmIFrame';
			bgm_ifr.name='bgmIFrame';
			if (isSafari) bgm_ifr.onload=function(){
				window.frames['bgmIFrame'].document.documentElement.style.overflow='auto';
				window.frames['bgmIFrame'].scrollBy(0,1);
			};
		bgmOverlay.appendChild(bgm_overlayDoc);
		bgmOverlayObj=document.getElementById('bgm_overlayDoc');
		bgmOverlayIframe=bgm_ifr;
		if (!isLTIE8) document.body.style.overflow='hidden';
		document.documentElement.style.overflow='hidden';
		document.body.style.paddingRight=bgm_scrollWidth+'px';
		activate_2('doc');
	}
}

function disableOverlay(){
		//if (!isLTIE8) document.body.style.overflow='scroll';
		document.documentElement.style.overflow='scroll';
		document.body.style.paddingRight='0px';
		if (isSafari){
			window.scrollBy(0,1);
		}
}

function activate_2(type){
	//bgmOverlay.style.display='block';
	var scrollOffset=parseInt(document.body.scrollTop!=0?document.body.scrollTop:document.documentElement.scrollTop);
	if (type=='image'){
		maxW=Math.min(parseInt(bgmOverlayObj.offsetWidth),winW-80);
		maxH=Math.min(parseInt(bgmOverlayObj.offsetHeight),winH-60);
	} else {
		maxW=parseInt(winW*0.8);
		maxH=parseInt(winH*0.8);
	}

	bgmOverlayObj.style.height='0px';
	bgmOverlayObj.style.width='0px';
	bgmOverlay.style.left=(winW/2-10)+'px';
	bgmOverlay.style.top=(winH/2-20)+scrollOffset+'px';
	sizeIt=setInterval('resizeOverlay('+maxW+','+maxH+')',20)
}

var movingElement, dX, dY, lastX, lastY;

function moveOverlay(ev){
	if (window.event){
		var ev=window.event;
		var obj=ev.srcElement;
	} else {
		var obj=ev.target;
	}
	if (obj==bgm_bttn) return false;
	movingElement = obj;
	var x = parseInt(movingElement.style.left)//;-parseInt(document.body.scrollLeft); ---USE IF IN SCROLLABLE AREA
	var y = parseInt(movingElement.style.top)//;-parseInt(document.body.scrollTop);
	dX = ev.clientX-x;
	dY = ev.clientY-y;
	document.body.onselectstart=function(){return false};
	document.body.style.MozUserSelect='none';
	document.body.onmouseup=upHandler;
	document.body.onmousemove=moveBox;
	
}

		function upHandler(){
			document.body.onmousemove=null;
			document.body.onmouseup=null;
			document.body.onselectstart=function(){return true}
			document.body.style.MozUserSelect=null;
		}

		function moveBox(ev2) {
			if (window.event){
				var ev2=window.event;
			}
			movingElement.style.top = (ev2.clientY-dY) +'px';//(ev2.clientY+document.body.scrollTop-dY) +'px'; ---USE IN IN SCROLLABLE AREA
			movingElement.style.left = (ev2.clientX-dX) +'px';//(ev2.clientX+document.body.scrollLeft-dX) +'px';
			lastX=movingElement.style.left
			lastY=movingElement.style.top
		}

var bgmIndex=1;

function resizeOverlay(w,h){
	var oWidth=parseInt(bgmOverlayObj.style.width);
	var oHeight=parseInt(bgmOverlayObj.style.height);
	var scrollOffset=parseInt(document.body.scrollTop!=0?document.body.scrollTop:document.documentElement.scrollTop);
	if (bgmOverlay.style.visibility=='hidden')bgmOverlay.style.visibility='visible';
	if (w>0&&h>0){
		if (oWidth<w || oHeight<h){
			if (oWidth<w) {
				bgmOverlayObj.style.width=(oWidth+Math.max((w-oWidth)/2,1))+'px';
				bgm_bttn.style.left=(parseInt(bgmOverlayObj.style.width)-5)+'px';
				bgmOverlay.style.left=(winW/2-parseInt(bgmOverlayObj.style.width)/2-10)+'px';
				lastX=bgmOverlay.style.left;
			}
			if (oHeight<h) {
				bgmOverlayObj.style.height=(oHeight+Math.max((h-oHeight)/2,1))+'px';
				bgmOverlay.style.top=(winH/2+scrollOffset-parseInt(bgmOverlayObj.style.height)/2-20)+'px';
				lastY=bgmOverlay.style.top;
			}
		} else {
			clearInterval(sizeIt);
			if (!isLTIE7) {
				bgmOverlay.style.position='fixed';
				bgmOverlay.style.top=parseInt(bgmOverlay.style.top)-scrollOffset+'px';
			}
			if (bgmOverlayObj.tagName=='DIV') bgmOverlayObj.appendChild(bgmOverlayIframe);
			

		}
	} else {
		if (document.getElementById('bgmIFrame')) bgmOverlayObj.removeChild(bgmOverlayIframe);
		if (bgmScreen.style.display=='block') bgmScreen.style.display='none';
		if (!isLTIE7&&bgmOverlay.style.position=='fixed'){
			bgmOverlay.style.position='absolute';
			lastY=parseInt(bgmOverlay.style.top)+scrollOffset+'px';
		}
		if (oWidth>60 || oHeight>60){
			if (oWidth>0) {
				bgmOverlayObj.style.width=oWidth*(100-Math.pow(bgmIndex,2))/100+'px';
				bgm_bttn.style.left=(parseInt(bgmOverlayObj.style.width)-5)+'px';
				bgmOverlay.style.left=(parseInt(lastX)+(oWidth-parseInt(bgmOverlayObj.style.width))/2)+'px';
				lastX=bgmOverlay.style.left;
			}
			if (oHeight>0) {
				bgmOverlayObj.style.height=oHeight*(100-Math.pow(bgmIndex,2))/100+'px';
				bgmOverlay.style.top=(parseInt(lastY)+(oHeight-parseInt(bgmOverlayObj.style.height))/2)+'px';
				lastY=bgmOverlay.style.top;
			}
			bgmIndex++;
		} else {
			clearInterval(closeIt);
			bgmOverlay.removeChild(bgmOverlayObj);
			bgmOverlay.style.visibility='hidden';
			bgmOverlay.onmousedown=null;
			bgmIndex=1;
			lastX=null;
			lastY=null;
			if (ovType!='image') disableOverlay();
		}
	}
}

/*-------------TAB SCRIPTS ---------------------*/

function show(obj,num){
	var divs=obj.parentNode.getElementsByTagName('div');
	for (x=0;x<divs.length;x++){
		if (divs[x].className=='bgm-tab-selected') divs[x].className='bgm-tab';
	}
	obj.className='bgm-tab-selected';
	for (x=0;x<divs.length;x++){
		if (divs[x].parentNode.id=='bgm-tab-content') divs[x].style.display='none';
	}
	document.getElementById('content'+num).style.display='block';
}
function setupTabs(){
	var divs = document.getElementById('bgm-tabs').getElementsByTagName('div');
	for (x=0;x<divs.length;x++){
		if (divs[x].className=='bgm-tab' || divs[x].className=='bgm-tab-selected'){
		 divs[x].innerHTML='<img src="images/tab-topLeft.gif" >' + divs[x].innerHTML +'<img src="images/tab-topRt.gif" >';
		 divs[x].style.visibility='visible';
		 divs[x].onselectstart=function(){return false};
		 divs[x].oncontextmenu=function() {return false};
		 divs[x].style.MozUserSelect='none';
		}
	}
}
