BackToTop = function() {	window.scrollTo(0, 140);}InitPrimaryNavigation = function() {		$ES('ul.bctc-NavPrimary li.root').each(		function(a) {			a.addEvent("mouseover", function() { if (isIE6) ShowNavIFrame(this); this.className = [this.className, 'hover'].join(' '); } );			a.addEvent("mouseout", function() { if (isIE6) HideNavIFrame(); this.className = this.className.replace(new RegExp("\\s?hover\\b"), ""); } );		}	);		if (BrowserDetect.OS == 'Mac') {  //we're on mac, styles need to be tweaked so text will fit		AdjustPrimaryNavigationForMac();	}		if (isIE6) {		new Element('iframe', {
			'id': 'bctc-NavPrimaryIFrame',
			'src': '',
			'frameborder': 0,
			'scrolling': 'no',
			'allowtransparency': 'true',
			'marginwidth': 0,
			'marginheight': 0
		}).injectBefore('NavPrimary');	}}ShowNavIFrame = function(el) {	var next = $ES('ul', el)[0];	var w = parseInt(next.getStyle('width').replace('px', '')) + 4 + 'px';	var h = parseInt(next.getStyle('height').replace('px', '')) + 3 + 'px';		$('bctc-NavPrimaryIFrame').setStyles({		width: w,		height: h,		left: next.getPosition().x - 130,		top: next.getPosition().y,		visibility: 'visible'	});}HideNavIFrame = function() {	$('bctc-NavPrimaryIFrame').setStyle('visibility', 'hidden');}AdjustPrimaryNavigationForMac = function() {	$('NavPrimary').addClass('bctc-NavPrimary-Mac');}Element.prototype.getPosition = function() {
	var x = 0;
	var y = 0;
	obj = this;
	if ( obj.offsetParent ) {
	x = obj.offsetLeft;
	y = obj.offsetTop;
	while ( obj = obj.offsetParent ) {
	x += obj.offsetLeft;
	y += obj.offsetTop;
	}
	}
	return { x:x, y:y };
}var MessageCycler = new Class({
    initialize: function(id){
		this.el = $(id);
		
        if (this.el) {  //cycler on page
			this.loc = 0;
			this.lock = false;
			this.intervalDelay = 8000;
			this.items = this.el.getElements('.bctc-Cycler-Item');
			
			this.items.each(
				function(a, i) {
					a.addClass('bctc-Cycler-Item-' + (i+1));
				}
			);
			
			this.initControls();
			this.resetInterval();
        }
    },
    
    initControls: function() {
		var controls = $('bctc-Cycler-Controls');
		var ul = new Element('ul');
		var self = this;
		
		var prev = new Element('li');
		var prevLink = new Element('a', {
			'class': 'prev',
			'href': 'javascript: void(0);',
			'events': {
				'click': function() { self.prev(); }
			}
		});
		prevLink.innerHTML = 'Prev';
		prev.appendChild(prevLink);
		
		var next = new Element('li');
		var nextLink = new Element('a', {
			'class': 'next',
			'href': 'javascript: void(0);',
			'events': {
				'click': function() { self.next(); }
			}
		});
		nextLink.innerHTML = 'Next';
		next.appendChild(nextLink);
		
		ul.appendChild(prev);
		
		for (i=0; i < this.items.length; i++) {
			var li = new Element('li',{
				'class': 'bctc-Cycler-Control bctc-Cycler-Control-' + (i+1)
			});
			var link = new Element('a',{
				'href': 'javascript: cycler.skipTo(' + i + ');'
			});
			
			li.appendChild(link);
			ul.appendChild(li);
		}
		
		ul.appendChild(next);
		controls.appendChild(ul);
		this.controls = $ES('.bctc-Cycler-Control a');
		
		if (this.controls.length > 0) { this.controls[0].addClass('selected'); }
    },
    
    skipTo: function(locTo, anim) {
		clearInterval(this.interval);
		
		if ( (locTo != this.loc) && !this.lock ) {
			
			var self = this;
			
			if (anim != null) { this.lock = true; var myFx = new Fx.Style(this.items[this.loc], 'opacity', {duration:500}).start(1,0); }
			else { this.items.setStyle('opacity', '0'); }
			
			
			this.loc = locTo;
			
			
			if (anim != null) { var myFx1 = new Fx.Style(this.items[this.loc], 'opacity', {duration:1250, onComplete: function() { self.lock = false; } }).start(0,1); }
			else { this.items[this.loc].setStyle('opacity', '1'); }
			
			
			this.items[this.loc].addClass('selected');
			this.updateControls();
			
			this.resetInterval();
		}
    },
    
    resetInterval: function() {
		this.interval = setInterval('cycler.next(true)', this.intervalDelay);
    },
    
    next: function(anim) {
		var locTo = ((this.loc + 1) >= this.items.length) ? 0 : (this.loc + 1)
		this.skipTo(locTo, anim);
    },
    
    prev: function(anim) {
		var locTo = ((this.loc - 1) < 0) ? (this.items.length - 1) : (this.loc - 1)
		this.skipTo(locTo, anim);
		
    },
    
    updateControls: function() {
		this.controls.removeClass('selected');
		this.controls[this.loc].addClass('selected');
    }
    
});
/* video modal */var VideoModal = new Class({
    initialize: function(){
		this.id = 'bctc-VideoModal';
		this.initModal();
		this.initLinks();
    },
    
    initModal: function() {		this.modal = new Element('div', {			'class': this.id,			'id': this.id		});		this.screen = new Element('div', {			'class': 'bctc-ModalScreen',			'id': 'bctc-ModalScreen'		});		this.modal.innerHTML = "<a href=\"javascript: videoModal.toggle();\" class=\"bctc-VideoModal-Close\">close</a><div id=\"bctc-VideoModal-Inner\"></div>";		document.getElementsByTagName('body')[0].appendChild(this.modal);
		document.getElementsByTagName('body')[0].appendChild(this.screen);	},	initLinks: function() {		$ES('.bctc-Video a').each(			function(a) {				a.setProperties({					href: "javascript: videoModal.play('" + a.getProperty('href') + "');"				});			}		);	},	play: function(url) {		var s1 = new SWFObject('/assets/ext/swf/mediaplayer.swf','mediaplayer','400','250','8');
		s1.addParam('allowfullscreen','true');
		s1.addVariable('width','400');
		s1.addVariable('height','250');
		s1.addVariable('file',url);
		s1.addVariable('autostart', 'true');
		s1.addVariable('javascriptid','mediaplayer');
		s1.addVariable('enablejs','true');
		s1.write('bctc-VideoModal-Inner');				this.toggle(true);	},	toggle: function(show) {		if (!show) { sendEvent('mediaplayer', 'playpause'); }			var visible = (show) ? 'visible' : 'hidden';		this.modal.setStyles({top: document.documentElement.scrollTop + 350 + 'px', visibility: visible});		this.screen.setStyles({height: document.body.scrollHeight + 30 + 'px', visibility: visible});	}
});

/* jw flv player API */
function sendEvent(swf,typ,prm) { 
  thisMovie(swf).sendEvent(typ,prm); 
};
function getUpdate(typ,pr1,pr2,swf) {};
function thisMovie(swf) {
  if(navigator.appName.indexOf("Microsoft") != -1) {
    return window[swf];
  } else {
    return document[swf];
  }
};



// Redirect user to another page as specified in the value 
//	of selected item.
JumpMenu = function(obj) {
	var url = obj.options[obj.selectedIndex].value;
	if (url != null && url != "")
	{
		window.location.href = url;
	}
}


// Redirect to search page with search key
goSearch = function(searchFieldId) {
	var searchField = document.getElementById(searchFieldId);
	var searchKey = searchField.value;
	if (searchKey.length > 0) {
		var searchUrl = "/_utilities/searchresults?queryText=" + searchKey;
		document.location = searchUrl;
	}
	else {
		alert ('Please enter a keyword to search');
	}	
}

// Redirect to search page with search key and search scope
goScopeSearch = function(searchFieldId, scopeFieldId) {
	var searchField = $(searchFieldId);
	var searchKey = searchField.value;
	var scopeField = $(scopeFieldId);
	var scope = scopeField.value;
	if (searchKey.length > 0) {
		var searchUrl = "/_utilities/searchresults?queryPrefix=url:" + scope + "&queryText=" + searchKey;
		document.location = searchUrl;
	}
	else {
		alert ('Please enter a keyword to search');
	}
}

searchKeyEventHandler = function(e, isScope) {
	var is_ie   = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
	var charCode = (is_ie) ? e.keyCode : e.which;
	if (charCode == 13) {
		if (isScope == null)
			goSearch ('searchBox');  // global search (header user control)
		else
			goScopeSearch ('scopeSearchBox', 'Search_scopeUrl');  // scope search (search user control)

		// cancel event - this removes the annoying ring
		if (is_ie)
			e.keyCode = 0;
		else
			e.which = 0;
	}
	return true;
}

subscribeEventHandler = function(e, submitID) {
	var is_ie   = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
	var charCode = (is_ie) ? e.keyCode : e.which;
	if (charCode == 13) {
		$(submitID).click();
	}
	
	return true;
}

Redirect = function(url) {
	var redirectionTextDivTag = document.getElementById('redirectionTextDiv');
	if (redirectionTextDivTag != null)
	{
		var html = redirectionTextDivTag.innerHTML;
		var anchor = "<a href='" + url + "'>here</a>";
		html = html.replace("{0}", anchor);
		redirectionTextDivTag.innerHTML = html;
		redirectionTextDivTag.style.display = "block";
	}

	var jsCommand = "window.location='" + url + "';"
	window.setTimeout(jsCommand, 5000);
}


ShowAuthoringLabels = function() {
	var divTags = document.getElementsByTagName("div");
	for (i=0; i < divTags.length; i++)
	{
		var thisDivTag = divTags.item(i);
		if (thisDivTag.id.toLowerCase().indexOf("authoringlabel") > -1) {
			thisDivTag.style.display = "block";
		}
	}
}
		
ElementRequired = function(id) {
	var tdTag = $(id + "Required");
	var otherTdTag;
	
	if (tdTag != null)
	{
		tdTag.addClass('required');
		otherTdTag = (id == 'email') ? $('phoneRequired') : $('emailRequired');
		otherTdTag.removeClass('required');
	}
}ProjectMapSwitch = function(dest) {	var img = new Image();	img.src = (dest == null) ? '/assets/ext/images/projectMap.gif' : '/assets/ext/images/map/' + dest;	document.map.src = img.src;}
// Used for expand/collapse of a div. 
// Corresponding images use the same ID as the div, but are
//	prefixed with "img_".
ToggleDisplayElement = function(id) {
	var path = "/assets/ext/images/";

	if (document.getElementById)
	{
		thisElement = $(id);
		thisImage = $("img_" + id);
		
    	if (thisElement.style.display == "none")
		{
			thisElement.style.display = "block";
			thisImage.src = path + "arrowCollapse.gif";
		} 
		else 
		{
			thisElement.style.display = "none";
			thisImage.src = path + "arrowExpand.gif";
		}
		return false;
	}
}ResizeIFrame = function(iframeName, height) {
	try 
	{
		document.domain = "bctc.com";	
		
		if (document.getElementById)
		{
			var iframe = document.getElementById(iframeName);
			iframe.height = height + 20;  // add 20px to adjust for Mozilla/Netscape.
		}
	}
	catch (e) 
	{	}
}var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();var cycler;var videoModal;var isIE6;ExecuteBeforeOnLoad = function() {	isIE6 = (BrowserDetect.browser == 'Explorer' && BrowserDetect.version <= 6);	InitPrimaryNavigation();	cycler = new MessageCycler('bctc-Cycler');}window.onload = function() {	if ($ES('body.bctc-EditMode') <= 0)  // not in edit mode		videoModal = new VideoModal();}