// Region Info Display (for Living in BC page)
function displayRegion(thisLink) {
	var thisAlt = thisLink.getAttribute('alt');
	var descBox = document.getElementById('mapDescription');
	descBox.innerHTML = thisAlt;
}

//Preload Images
img1=new Image()
img1.src= "images/nav/more.gif"
img2=new Image()
img2.src= "images/nav/less.gif"

// an array of ID's for preserving state of expand/collapse menu
var StrIDs = getCookie("IDsCookie");
var IDsArray = new Array();

if (StrIDs != null) {
	if (StrIDs.length > 0) {
		IDsArray = StrIDs.split(",");
	}
}

if (document.getElementById){
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}

// CR_11855-G - beginning of change
// collapse other branches when expanding a node
// fw
// 6/1/2006
 
function AddID(id, obj) {
    try{
        var i,j;
        var testEle = (id==null)?obj:id;
        for(i=0; i< IDsArray.length;i++){
        	var temp;
        	for(temp = document.getElementById(testEle); temp != null; temp = temp.parentNode){
        		if(temp==document.getElementById(IDsArray[i])) break;
        	}
        	if(temp == null) break;
        }
        for(j=i;j<IDsArray.length;j++){
            HideMenuItem(IDsArray[j]);
        }
        IDsArray.splice(i,IDsArray.length-i);
        if(id != null){
	    	IDsArray.push(id);
	    }
	    setCookie("IDsCookie", IDsArray.toString());
	}
	catch(e){}
	return;
}

function RemoveID(id) {
	var i;
	for (i=0; i< IDsArray.length; i++) {
		if (IDsArray[i] == id) {
			IDsArray.splice(i, 1);
			setCookie("IDsCookie", IDsArray.toString());
			return;
		}
	}
	return;
}

function HideMenuItem(obj){
    try{
		var el = document.getElementById(obj);
		var im = document.getElementById("img" + obj);
	    el.style.display = "none";
	    im.src = img1.src;
	    im.alt = "Click here to expand.";
    }
    catch(e){}    
}

function ShowMenuItem(obj) {
	var el = document.getElementById(obj);
	var im = document.getElementById("img" + obj);
	el.style.display = "block";
	im.src = img2.src;
	im.alt = "Click here to collapse.";
	AddID(obj);
}

function SwitchMenu(obj,block){
	if(document.getElementById){
		if(obj == null){
			AddID(obj,block);
			return;
		}
		var el = document.getElementById(obj);
		var im = document.getElementById("img" + obj);
		if(el.style.display != "block"){ 
			setTimeout("ShowMenuItem('"+obj+"')",200);
		} else {
			RemoveID(obj);
			setTimeout("HideMenuItem('"+obj+"')",200);
		}
	}
}

// End of change - CR_11855-G

function setMenu() {
	var i;
	for (i=0; i< IDsArray.length; i++) {
		var el = document.getElementById(IDsArray[i]);
		el.style.display = "block";
		var im = document.getElementById("img" + IDsArray[i]);
		im.src = img2.src;
	}
	return;
}

function setCookie(name, value, expires, path){
	document.cookie= name + "=" + escape(value) +
  	((expires) ? "; expires=" + expires.toGMTString() : "") +
    ("; path=/" );
}

function getCookie(name){
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1){
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}else{
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1){
		end = dc.length;
	}
  return unescape(dc.substring(begin + prefix.length, end));
}

//
// Smooth Scrolling Functions
//
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}
 
 var PrevPos = 0;
 function scrollToward(yPos) {
	var scrollPos = getScrollXY();
	var from = scrollPos[1];
	var to = yPos;
		
	if (from > (to+10)) {
		from-=10;
		window.scrollTo(0, from);
		if (from <= to)
			clearInterval(scrollingInt);
			
	} else if (from < (to-10)) {
		from+=10;
		window.scrollTo(0, from);
		if (from >= to)
			clearInterval(scrollingInt);
	} else {
		clearInterval(scrollingInt);
	}
	
	if ((from > 0 && from == PrevPos) || (to < 20 && from <= 20)) {
		// Cannot scroll anymore
		clearInterval(scrollingInt);
	}
	
	PrevPos = from;
 }
 
 var scrollingInt = 0;
 function scroll2(objID) {
	if (scrollingInt != 0) {
		clearInterval(scrollingInt);
		PrevPos = 0;
	}
	var scroll2Obj = document.getElementById(objID);
	var scrollTargetPos = scroll2Obj.offsetTop-15;
	scrollingInt = setInterval ( "scrollToward("+scrollTargetPos+")", 25 );
 }