var Url = {
	/* public method for url encoding */
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	/* public method for url decoding */
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	/* private method for UTF-8 encoding */
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g, "\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	/* private method for UTF-8 decoding */
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
}

/*	BrowserDetection Module */
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: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			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.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};

/*	Initializes carousel for each .BowlCarousel class on a page */
function SetupCarousel(id) {
	BrowserDetect.init();
	var browser = BrowserDetect.browser;
	var version = BrowserDetect.version;
	
	/* Fix for jCarousel glitch adds additional padding to compensate for miscalculation of list length. */
	jQuery(id + ' .CarouselList > li:last').css( {'padding-right' : '14px'} ).prev().css( {'padding-right' : '16px'} );
	
	/* Initializes scrolling arrows for carousel */
	jQuery(id + ' .CarouselPrev').addClass('prev-disabled-horizontal');
	
	/* Disables deep-linked bookmarking on all browsers with the exception of IE, Opera, Firefox */
	if (!($.browser.msie || $.browser.opera || $.browser.mozilla)) {
		jQuery('.navigator').css( {'display':'none'} );
	}
	
	/* Automatically sizes width of <span> elements surrounding an image element or unknown width. */
	jQuery(id + ' .CarouselList li .blurbImage').each(function (i) {
		var blurbImageWidth = (parseInt(jQuery(this).css('width').replace('px', ''), 10) > parseInt(jQuery(this).attr('width'), 10)) ?
								parseInt(jQuery(this).css('width').replace('px', ''), 10) : parseInt(jQuery(this).attr('width'), 10);
		var blurbTextWidth = (644 - blurbImageWidth) + 'px';		
		jQuery(id + ' .CarouselList li .' + jQuery(this).attr('class') + ':eq(' + i + ') ~ div').css( {'width' : blurbTextWidth} );
	});
	
	/* Initializes carousel navigation bar and-sub navigation for each .BowlCarousel class with a .CarouselNavigationList class */
	var parentId = jQuery(id + ' .CarouselNavigationList .nItem').parent().parent().attr('class');
	var activeSetId = jQuery(id + ' .' + parentId + ' div:not(:hidden)').attr('id');
	
	/* jQuery(id + ' .CarouselNavigationList .nItem[rel="1"]').css( {'color' : '#831a29'} ); */
	jQuery(id + ' .CarouselNavigationList .nItem[rel="1"]').addClass('currentSection');
	jQuery(id + ' .shortCutBarMenu').fadeOut(250, function() {
		jQuery(id + ' .shortCutBarMenu[rel="1"]').fadeIn(500);
	});
	
	/* Ensures caruosel content will not display until the carousel has been initialized */
	jQuery(id + ' .CarouselList').fadeIn(500);
	
	jQuery(id + ' .shortCut').removeClass('subNavSelected');
	jQuery(id + ' .shortCut[rel="1"]').addClass('subNavSelected');
	
	return false;
}

/* Activates a carousel module on each page based on id attribute defined with the sibling .blogStoryCarousel-skin class */
function ActivateCarousel(id) {
	if (jQuery(id).length) {
		SetupCarousel(id);
		
		/* Creates the carousel object and attaches a callback function (carousel_initCallback), controlling behavior */
		jQuery(id).jcarousel({
			scroll: 1,
			initCallback: carousel_initCallback,
			buttonNextHTML: null,
			buttonPrevHTML: null,
			carouselId:id
		});
		
		/* Adds the 'read more' transition located in .txtBowlStory classes */
		jQuery(id + ' .anchor').bind('click', function() {
			if (jQuery(this).text() == 'Read More') {
				jQuery(this).text('Collapse');
			}
			else {
				jQuery(this).text('Read More');
			}
			
			var parentId = jQuery(this).parent().parent();			
			var visibleBlurb = jQuery(id + ' .txtBowlStory .blurb_open');
			
			/* Scrolls the current .txtBowlStory class above the 'fold' after a 'read more' toggle. */
			if (jQuery(parentId).children('.blurb_full').hasClass('blurb_open')) { 
				jQuery(parentId).children('.blurb_full').removeClass('blurb_open');
				visibleBlurb.parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
			}
			else {
				jQuery(parentId).children('.blurb_full').addClass('blurb_open');
			}
			
			jQuery(parentId).children('.blurb_full').toggle('slide', { direction: 'up' }, 800);
			
			return false;
		});
		
		/* Breaks 'read more' functionality outside of the .anchor class/'Read More' content requirement. */
		jQuery(id + ' .morecontent').bind('click', function() {
			var parentId = jQuery(this).parent().parent();
			
			var visibleBlurb = jQuery(id + ' .txtBowlStory .blurb_open');
			jQuery(parentId).children('.blurb_full').toggle('slide', { direction: 'up' }, 800);
			
			if (jQuery(parentId).children('.blurb_full').hasClass('blurb_open')) { 
				jQuery(parentId).children('.blurb_full').removeClass('blurb_open');
				visibleBlurb.parent().parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
			}
			else {
				jQuery(parentId).children('.blurb_full').addClass('blurb_open');
			}
			
			return false;
		});
		
		/* Focused 'read more' functionality, dependent on id attribute. */
		jQuery(id + ' .showcontent').bind('click', function() {
			var parentId = jQuery(this).parent().parent();
			var childId = jQuery(this).attr('href');
			var visibleBlurb = jQuery(id + ' .txtBowlStory ' + childId);
			
			jQuery(childId).toggle('slide', { direction: 'up' }, 800);
			jQuery(childId).toggleClass('showing');
			
			if (jQuery(childId).hasClass('showing')) { 
				jQuery(childId).toggleClass('showing');
				visibleBlurb.parent().parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
			}
			
			return false;
		});
		
		jQuery(id + ' .CarouselList').width(jQuery(id + ' .CarouselList').width() + 
		jQuery(id + ' .CarouselList li:first').width() + 10);
	}
}

/* Defines behavior for gallery pages. */
function galleryCarousel_initCallback(carousel) {
	var CarouselId = carousel.options.carouselId;
	
	if (carousel.options.elementId == -1) {
		jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
		carousel.options.elementId = carousel.options.startId;
	}
	
	carousel.options.relativeId = (carousel.options.relativeId == -1) ? carousel.options.size : carousel.options.relativeId;
	var scope = parseInt(jQuery(CarouselId + ' .CarouselNavigationList :first-child a:last').attr('rev'), 10);
	/* carousel.options.scope = (carousel.options.scope == -1) ? scope : carousel.options.scope; */
	carousel.options.scope = scope;
	
	jQuery(CarouselId + ' .CarouselNext').bind('click', function() {
		var parentId = jQuery(CarouselId + ' .CarouselNavigationList .nItem').parent().parent().attr('class');
		var activeSetId = jQuery('.' + parentId + ' div:not(:hidden)').attr('id');
		
        if (carousel.options.elementId < carousel.options.size) {
			carousel.next();
			carousel.options.elementId += carousel.options.scroll;
			
			if (jQuery(CarouselId + ' .CarouselPrev').hasClass('prev-disabled-horizontal')) {
				jQuery(CarouselId + ' .CarouselPrev').removeClass('prev-disabled-horizontal');
			}
			
			if (carousel.options.elementId >= carousel.options.size) {
				jQuery(CarouselId + ' .CarouselNext').addClass('next-disabled-horizontal');
			}
		}		
		else if ((carousel.options.elementId >= carousel.options.size)) {
			carousel.scroll(jQuery.jcarousel.intval(carousel.options.startId));
			carousel.options.elementId = carousel.options.startId;
			
			jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
			
			if (jQuery(CarouselId + ' .CarouselNext').hasClass('next-disabled-horizontal')) {
				jQuery(CarouselId + ' .CarouselNext').removeClass('next-disabled-horizontal');
			}
		}
		
        return false;
    });
 
    jQuery(CarouselId + ' .CarouselPrev').bind('click', function() {
		var parentId = jQuery(CarouselId + ' .CarouselNavigationList .nItem').parent().parent().attr('class');
		var activeSetId = jQuery('.' + parentId + ' div:not(:hidden)').attr('id');
		
		if (carousel.options.elementId > carousel.options.startId) {
        	carousel.prev();
			carousel.options.elementId -= carousel.options.scroll;
			
			if (jQuery(CarouselId + ' .CarouselNext').hasClass('next-disabled-horizontal')) {
				jQuery(CarouselId + ' .CarouselNext').removeClass('next-disabled-horizontal');
			}
		}
		
		if (carousel.options.elementId <= carousel.options.startId) {
			jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
		}
		
		jQuery('#' + activeSetId + ' .nItem[rev="' + (carousel.options.elementId) + '"]').css( {'color' : '#831a29'} ).next().css( {'color' : '#003366'} );
		
        return false;
    });
}

/* Defines behavior for page modules. */
function carousel_initCallback(carousel) {
	var CarouselId = carousel.options.carouselId;
	
	if (carousel.options.elementId == -1) {
		jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
		carousel.options.elementId = carousel.options.startId;
	}
	
	carousel.options.relativeId = (carousel.options.relativeId == -1) ? carousel.options.size : carousel.options.relativeId;
	var scope = parseInt(jQuery(CarouselId + ' .CarouselNavigationList :first-child a:last').attr('rev'), 10);
	/* carousel.options.scope = (carousel.options.scope == -1) ? scope : carousel.options.scope; */
	carousel.options.scope = scope;
	
	jQuery(CarouselId + ' .navigator').bind('navigateto', function() {		
		jQuery.scrollTo('#' + jQuery(this).attr('id'), 750, { axis:'y' });
		var parentId = parseInt(jQuery(this).parents('.jcarousel-item').attr('jcarouselindex'), 10);
		
		if ($.browser.msie || $.browser.opera || $.browser.mozilla) {
			carousel.options.elementId = parentId;
			carousel.scroll(carousel.options.elementId);
			
			jQuery(CarouselId + ' .CarouselNavigationList .nItem').removeClass('currentSection');
			jQuery(CarouselId + ' .CarouselNavigationList .nItem[rel][rev]').filter(function() {
				return (parseInt(this.rel, 10) <= carousel.options.elementId) && (parseInt(this.rev, 10) > carousel.options.elementId); 
			}).addClass('currentSection');
			
			jQuery(CarouselId + ' .shortCut').removeClass('subNavSelected');
			jQuery(CarouselId + ' .shortCut[rel="' + (carousel.options.elementId) + '"]').addClass('subNavSelected');
			
			var tempId = jQuery(CarouselId + ' .CarouselNavigationList .Set .nItem[rel="' + (carousel.options.elementId) + '"]').parent();
			/* var parentId = '#' + jQuery(CarouselId + ' .CarouselNavigationList .Set a:last[rev="' + (carousel.options.elementId) + '"]').parent().attr('id'); */
			
			jQuery(tempId).prevAll().fadeOut(1);
			jQuery(tempId).fadeIn(1000);
			
			jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').nextAll().andSelf().fadeOut();		
			jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').filter(function() {
				return jQuery(this).attr('rel') <= carousel.options.elementId && jQuery(this).attr('rev') > carousel.options.elementId; 
			}).fadeIn(500);

			jQuery(CarouselId + ' .shortCut').removeClass('subNavSelected');
			jQuery(CarouselId + ' .shortCut[rel="' + (carousel.options.elementId) + '"]').addClass('subNavSelected');
			
			if (carousel.options.elementId <= carousel.options.startId) {			
				jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
			}
			else {
				if (jQuery(CarouselId + ' .CarouselPrev').hasClass('prev-disabled-horizontal'))
					jQuery(CarouselId + ' .CarouselPrev').removeClass('prev-disabled-horizontal');
			}
			
			if (carousel.options.elementId >= carousel.options.size) {
				jQuery(CarouselId + ' .CarouselNext').addClass('next-disabled-horizontal');
			}
			else if (jQuery(CarouselId + ' .CarouselNext').hasClass('next-disabled-horizontal')) {
				jQuery(CarouselId + ' .CarouselNext').removeClass('next-disabled-horizontal');
			}
		}
		else {
			/*
			var carouselClip = jQuery(CarouselId + ' .jcarousel-clip');
			var	carouselClipOffset = carouselClip.offset();
			var	directionsClip = '<div id="directionsClip" style="font-size:18px; font-weight:bold; color:#fff; position:absolute; left:' + (carouselClipOffset.left + 4) + 'px; top:' + (carouselClipOffset.top + (carouselClip.height() / 2)) + 'px; background:transparent url(http://usbcongress.http.internapcdn.net/usbcongress/bowl/images/black_transparent_bg.png) repeat scroll 0 0; width:' + (carouselClip.width() - 8) + 'px; height:' + carouselClip.height() + 'px; line-height:' + carouselClip.height() + 'px; vertical-align:middle; text-align:center; z-index:99999">' + jQuery(this).attr('title') + ' is located <span style="color:red;">' + parentId + ' clicks</span> to the right.</div>';
			
			jQuery(document.body).append(directionsClip);
			*/
		}
		
		return false;
	});
	
	jQuery(CarouselId + ' .shortCut').bind('click', function() {
		carousel.options.elementId = jQuery(this).attr('rel');
		carousel.scroll(jQuery.jcarousel.intval(carousel.options.elementId));
		
		var visibleBlurb = jQuery(CarouselId + ' .txtBowlStory .blurb_open');
		jQuery(CarouselId + ' .currentSection').toggleClass('currentSection');
		jQuery(CarouselId + ' .nItem[rel="' + (carousel.options.elementId) + '"]').parent().prevAll().fadeOut(1);
		jQuery(CarouselId + ' .nItem[rel="' + (carousel.options.elementId) + '"]').addClass('currentSection');
		jQuery(CarouselId + ' .currentSection').parent().fadeIn('1000');
		jQuery(CarouselId + ' .shortCut').removeClass('subNavSelected');
		jQuery(this).addClass('subNavSelected');
		
		if (visibleBlurb.length) {
			visibleBlurb.parent().find('.anchor').text('Read More');
			visibleBlurb.toggle('slide', { direction: 'up' }, 800);
			visibleBlurb.parent().children().removeClass('blurb_open');
			/* console.log("Id: " + visibleBlurb.parent().parent().parent().parent().parent().parent().parent().attr('class')); */
			visibleBlurb.parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
		}
		
		jQuery(CarouselId + ' .CarouselNavigationList .nItem').removeClass('currentSection');
		jQuery(CarouselId + ' .CarouselNavigationList .nItem[rel][rev]').filter(function() {
			return (parseInt(this.rel, 10) <= carousel.options.elementId) && (parseInt(this.rev, 10) > carousel.options.elementId); 
		}).addClass('currentSection');
		
		return false;
	});
	
    jQuery(CarouselId + ' .CarouselNavigationList .nItem').bind('click', function() {
		var visibleBlurb = jQuery(CarouselId + ' .txtBowlStory .blurb_open');
		
		if (visibleBlurb.length) {
			visibleBlurb.parent().find('.anchor').text('Read More');
			visibleBlurb.toggle('slide', { direction: 'up' }, 800);
			visibleBlurb.parent().children().removeClass('blurb_open');
			visibleBlurb.parent().parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
		}
		
		carousel.options.elementId = parseInt(jQuery(this).attr('rel'), 10);
		carousel.options.relativeId = parseInt(jQuery(this).attr('rev'), 10);
		jQuery(this).parent().children().removeClass('currentSection');
		jQuery(this).addClass('currentSection');
		
		if (jQuery(this).attr('name') == "next") {
            jQuery(this).parent().fadeOut(1);
			carousel.options.elementId = jQuery(this).attr('rel');
			jQuery(carousel.options.elementId).fadeIn('1000');
			
			var tempId = jQuery(this).attr('rel') + ' a:first';
			jQuery(this).parent().children().removeClass('currentSection');
			jQuery(carousel.options.elementId + ' a:first').addClass('currentSection');
			
			var scope = parseInt(jQuery(carousel.options.elementId + ' a:last').attr('rev'), 10);
			carousel.options.elementId = parseInt(jQuery(carousel.options.elementId + ' a:first').attr('rel'), 10);
			carousel.options.relativeId = parseInt(jQuery(tempId).attr('rev'), 10);
			carousel.options.scope = scope;
			carousel.options.range = carousel.options.elementId;
		}
		
		jQuery(CarouselId + ' .shortCut').removeClass('subNavSelected');
		jQuery(CarouselId + ' .shortCut[rel="' + (carousel.options.elementId) + '"]').addClass('subNavSelected');
		
		jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').nextAll().andSelf().hide();		
		jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').filter(function() {
			return jQuery(this).attr('rel') <= carousel.options.elementId && jQuery(this).attr('rev') > carousel.options.elementId; 
		}).fadeIn(500);
		
		carousel.scroll(jQuery.jcarousel.intval(carousel.options.elementId));

		if (carousel.options.elementId <= carousel.options.startId) {			
			jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
		}
		else {
			if (jQuery(CarouselId + ' .CarouselPrev').hasClass('prev-disabled-horizontal'))
				jQuery(CarouselId + ' .CarouselPrev').removeClass('prev-disabled-horizontal');
		}
		
		if (carousel.options.elementId >= carousel.options.size) {
			jQuery(CarouselId + ' .CarouselNext').addClass('next-disabled-horizontal');
		}
		else if (jQuery(CarouselId + ' .CarouselNext').hasClass('next-disabled-horizontal')) {
			jQuery(CarouselId + ' .CarouselNext').removeClass('next-disabled-horizontal');
		}
		
		return false;
    });
	
	jQuery(CarouselId + ' .closeStory').bind('click', function() {
		jQuery(this).fadeOut('fast');
		
		listItemId = jQuery(this).parent().parent().parent();
		jQuery(listItemId).children('.txtBowlThreeColumn').children('.blurb_full').toggle('slide', { direction: 'up' }, 100);
		jQuery(listItemId).children('.txtBowlThreeColumn').animate( {width: '80px'}, 100);
		jQuery(listItemId).animate( {width: '208px'}, 800 );
		jQuery(this).next().fadeIn(1000);
		
		return false;
	});
	
	jQuery(CarouselId + ' .refThreeColumn').bind('click', function() {
		var storyId = jQuery(this).parent().parent().parent().attr('jcarouselindex');
		
		jQuery(this).fadeOut('fast');
		jQuery(this).prev().attr('rel', '');
		jQuery(this).prev().attr('rev', '');
		
		carousel.options.elementId += storyId;		
		carousel.scroll(jQuery.jcarousel.intval(storyId));
		
		var listItemId = jQuery(this).parent().parent().parent();
		
		jQuery(listItemId).parent().width(jQuery(listItemId).parent().width() + (jQuery(listItemId).width() * 3));
		jQuery(listItemId).animate( {width: '649px'}, 200 );
		jQuery(listItemId).children('.txtBowlThreeColumn').animate( {width: '515px'}, 400);
		setTimeout("jQuery(listItemId).children('.txtBowlThreeColumn').children('.blurb_full').toggle('slide', { direction: 'up' }, 800)", 500);
		jQuery(this).prev().fadeIn(1000);
		
		if (carousel.options.elementId <= carousel.options.scope) {
		}
		
		return false;
	});
	
    jQuery(CarouselId + ' .CarouselNext').bind('click', function() {
		var clickedId = '#' + jQuery(this).parent().parent().parent().attr('id');
		
		if (clickedId == CarouselId) {
			var parentId = jQuery(CarouselId + ' .CarouselNavigationList .nItem').parent().parent().attr('class');
			var activeSetId = jQuery(CarouselId + ' .' + parentId + ' div:not(:hidden)').attr('id');
			
			if (carousel.options.elementId < (carousel.options.size)) {
				var visibleBlurb = jQuery(CarouselId + ' .txtBowlStory .blurb_open');
			
				if (visibleBlurb.length) {
					visibleBlurb.parent().find('.anchor').text('Read More');
					visibleBlurb.toggle('slide', { direction: 'up' }, 800);
					visibleBlurb.parent().children().removeClass('blurb_open');
					visibleBlurb.parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
				}
				
				carousel.next();
				carousel.options.elementId++;
				
				if (jQuery(CarouselId + ' .CarouselPrev').hasClass('prev-disabled-horizontal')) {
					jQuery(CarouselId + ' .CarouselPrev').removeClass('prev-disabled-horizontal');
				}
				
				if (carousel.options.elementId >= carousel.options.size) {
					jQuery(CarouselId + ' .CarouselNext').addClass('next-disabled-horizontal');
				}
			}		
			else if ((carousel.options.elementId < carousel.options.size) && (carousel.options.size == carousel.options.scope)) {
				carousel.scroll(jQuery.jcarousel.intval(carousel.options.startId));
				carousel.options.elementId = carousel.options.startId;				
				jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
				
				if (jQuery(CarouselId + ' .CarouselNext').hasClass('next-disabled-horizontal')) {
					jQuery(CarouselId + ' .CarouselNext').removeClass('next-disabled-horizontal');
				}
			}
			
			if (carousel.options.elementId >= carousel.options.scope) {
				var tempId = jQuery(CarouselId + ' .CarouselNavigationList .Set a:last[rev="' + (carousel.options.elementId) + '"]').attr('rel');
				var parentId = '#' + jQuery(CarouselId + ' .CarouselNavigationList .Set a:last[rev="' + (carousel.options.elementId) + '"]').parent().attr('id');
				
				jQuery(parentId).fadeOut(1);
				jQuery(tempId).fadeIn('1000');
				/* jQuery(tempId + ' a:first').css( {'color' : '#831a29'} ); */
				jQuery(CarouselId + ' .CarouselNavigationList .nItem').removeClass('currentSection');
				jQuery(tempId + ' a:first').addClass('currentSection');
				
				carousel.options.range = carousel.options.elementId;
				var scope = parseInt(jQuery(tempId + ' a:last').attr('rev'), 10);
				carousel.options.scope = scope;
			}
			
			/* jQuery('#' + activeSetId + ' .nItem[rel="' + (carousel.options.elementId) + '"]').css( {'color' : '#831a29'} ).prev().css( {'color' : '#003366'} ); */
			jQuery('#' + activeSetId + ' .nItem[rel="' + (carousel.options.elementId) + '"]').addClass('currentSection').prev().removeClass('currentSection');
			/* var shortCutMenu = jQuery(CarouselId + ' .shortCutBarMenu[rel="' + (carousel.options.elementId) + '"]'); */
			/*.fadeIn(500).prev().fadeOut(250);*/
			
			jQuery(CarouselId + ' .shortCut').removeClass('subNavSelected');
			jQuery(CarouselId + ' .shortCut[rel="' + (carousel.options.elementId) + '"]').addClass('subNavSelected');
			jQuery(CarouselId + ' .CarouselNavigationList .nItem[rel][rev]').filter(function() {
				return (parseInt(this.rel, 10) <= carousel.options.elementId) && (parseInt(this.rev, 10) > carousel.options.elementId); 
			}).addClass('currentSection');
			
			var shortCutMenu = jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').filter(function(i) {
				return jQuery(this).attr('rel') <= carousel.options.elementId && jQuery(this).attr('rev') > carousel.options.elementId; 
			});
			
			if (shortCutMenu.is(':hidden')) {
				if (shortCutMenu.prev().length == true) {
					var shortCutMenuPrevious = shortCutMenu.prev();
					shortCutMenuPrevious.fadeOut(250, function() {				
						jQuery(shortCutMenu).fadeIn(500);
					});
				}
				else {
					jQuery(shortCutMenu).fadeIn(500);
				}
			}
			
			if (shortCutMenu.length != true) {
				jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').nextAll().andSelf().hide();
			}
		}
		
		return false;
    });
 
    jQuery(CarouselId + ' .CarouselPrev').bind('click', function() {
		var parentId = jQuery(CarouselId + ' .CarouselNavigationList .nItem').parent().parent().attr('class');
		var activeSetId = jQuery(CarouselId + ' .' + parentId + ' div:not(:hidden)').attr('id');
		
		if (carousel.options.elementId > carousel.options.startId) {
			var visibleBlurb = jQuery(CarouselId + ' .txtBowlStory .blurb_open');
		
			if (visibleBlurb.length) {
				visibleBlurb.parent().find('.anchor').text('Read More');
				visibleBlurb.toggle('slide', { direction: 'up' }, 800);
				visibleBlurb.parent().children().removeClass('blurb_open');
				visibleBlurb.parent().parent().parent().parent().parent().parent().parent()[0].scrollIntoView();
			}
			
        	carousel.prev();
			carousel.options.elementId--;
			
			if (jQuery(CarouselId + ' .CarouselNext').hasClass('next-disabled-horizontal')) {
				jQuery(CarouselId + ' .CarouselNext').removeClass('next-disabled-horizontal');
			}
		}
		
		if (carousel.options.elementId <= carousel.options.startId) {
			jQuery(CarouselId + ' .CarouselPrev').addClass('prev-disabled-horizontal');
		}
		
		if (carousel.options.elementId < carousel.options.range) {
			var tempId = jQuery(CarouselId + ' .CarouselNavigationList .Set a:last[rev="' + (carousel.options.elementId + 1) + '"]').attr('rel');
			var parentId = '#' + jQuery(CarouselId + ' .CarouselNavigationList .Set a:last[rev="' + (carousel.options.elementId + 1) + '"]').parent().attr('id');
			jQuery(tempId).fadeOut(1);
			jQuery(parentId).fadeIn('1000');
			
			carousel.options.range = parseInt(jQuery(parentId + ' a:first').attr('rel'), 10);
			var scope = parseInt(jQuery(parentId + ' a:last').attr('rev'), 10);
			carousel.options.scope = scope;
		}
		
		jQuery(CarouselId + ' .CarouselNavigationList .nItem').removeClass('currentSection');
		jQuery(CarouselId + ' .CarouselNavigationList .nItem[rel][rev]').filter(function() {
			return this.rel <= carousel.options.elementId && this.rev > carousel.options.elementId; 
		}).addClass('currentSection');
		
		jQuery(CarouselId + ' .shortCut').removeClass('subNavSelected');
		jQuery(CarouselId + ' .shortCut[rel="' + (carousel.options.elementId) + '"]').addClass('subNavSelected');
		
		/* jQuery(CarouselId + ' .shortCutBarMenu :visible').fadeOut(250); */
		var shortCutMenu = jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').filter(function(i) {
			return jQuery(this).attr('rel') <= carousel.options.elementId && jQuery(this).attr('rev') > carousel.options.elementId; 
		});
		
		if (shortCutMenu.is(':hidden')) {
			var shortCutMenuNext = shortCutMenu.next();
			shortCutMenuNext.fadeOut(250, function() {			
				jQuery(shortCutMenu).fadeIn(500);
			});
		}
		
		if (!(shortCutMenu.length)) {
			jQuery(CarouselId + ' .BowlCarouselHorizontalButtons .shortCutBarMenu').nextAll().andSelf().hide();
		}
		
        return false;
    });
}

function loadPages() {
	/*  Displays normally hidden Partner links on the Homepage */
	if (jQuery('body').attr('id') == "home") {
			jQuery('#footer_links').show();
	}
	
	if (jQuery('#CarouselGallery').length) {
		SetupCarousel('#CarouselGallery');
		
		jQuery('#CarouselGallery').jcarousel({
			scroll: 1,
			initCallback: galleryCarousel_initCallback,
			buttonNextHTML: null,
			buttonPrevHTML: null,
			carouselId:'#CarouselGallery'
		});

		jQuery('#fade').css( { 'width':'654px', 'height':'490px' } );
		jQuery('#fade .pic').css( { 'width':'654px', 'height':'490px' } );
		jQuery('#fade img').css( { 'width':'654px', 'height':'490px' } );
		jQuery('#fade img').show('slide', { direction: "down" }, 1000);
		jQuery('.gallerySizer').fadeIn('slow');
		
		jQuery('#fade').cycle( { 
			fx:'fade', 
			timeout:5000, 
			clearType:false, 
			cleartypeNoBg:true,
			next:'#nextImage',
			prev:'#previousImage'
		});
		
		jQuery('.gallerySizer #smallClick').css( { 'background-position':'-40px 0px', 'color':'#fff' } );
	}
	
	if (jQuery('#CarouselGalleryNavigator').length) {
		SetupCarousel('#CarouselGalleryNavigator');
		jQuery('#CarouselGalleryNavigator').jcarousel({
			scroll: 5,
			initCallback: galleryCarousel_initCallback,
			buttonNextHTML: null,
			buttonPrevHTML: null,
			carouselId:'#CarouselGalleryNavigator'
		});	
		
		jQuery('#CarouselGalleryNavigator .CarouselList').width(jQuery('#CarouselGalleryNavigator .CarouselList').width() + 
		jQuery('#CarouselGalleryNavigator .CarouselList li:first').width() + 10);
		/* jQuery('#CarouselGalleryNavigator .CarouselList li:first .navigationContainer').css( { 'background-position':'0 0' } ); */
		
		jQuery('#CarouselGalleryNavigator .CarouselList .navigationContainer').live("mouseover", function() {
			jQuery(this).css( { 'background-position':'0px 0px' } );
		}).live("mouseout", function() {
			jQuery(this).css( { 'background-position':'-112px 0px' } );
		});
	}
	
	/*
	if (jQuery('#CarouselExternal').length) {
		SetupCarousel('#CarouselExternal');
		
		jQuery('#CarouselExternal').jcarousel({
			scroll: 1,
			initCallback: carousel_initCallback,
			buttonNextHTML: null,
			buttonPrevHTML: null,
			carouselId:'#CarouselExternal'
		});
	}
	*/
	
	/* Activates carousel modules on specific pages. */
	if (jQuery('#AboutAssociation').length) {
		/* USBC Association Pages */
		ActivateCarousel('#AboutAssociation');
		ActivateCarousel('#AssociationBusiness');
		ActivateCarousel('#RegisteredVolunteerProgram');
		ActivateCarousel('#USBCAccess');
	}
	
	if (jQuery('#AboutHighSchool').length) {
		/* USBC High School Pages */
		ActivateCarousel('#AboutHighSchool');
		ActivateCarousel('#FeaturesHighSchool');
		ActivateCarousel('#FeaturedHighSchoolBowler');
		ActivateCarousel('#HighSchoolOnTheLanes');
	}
	
	if (jQuery('#AboutYouth').length) {
		/* Youth USBC Pages */
		ActivateCarousel('#AboutYouth');
		ActivateCarousel('#YouthFeatures');
		ActivateCarousel('#FeaturedYouthBowlers');
		ActivateCarousel('#YouthOnTheLanes');
	}
	
	if (jQuery('#AboutTeamUSA').length) {
		/* Team USA Pages */
		ActivateCarousel('#AboutTeamUSA');
		ActivateCarousel('#TeamUSAFeatures');
		ActivateCarousel('#TeamUSABowlers');
		ActivateCarousel('#TeamUSAOnTheLanes');
	}
	
	if (jQuery('#USBCFeaturedBowlers').length) {
		/* USBC Home Pages */
		ActivateCarousel('#TopStories');
		ActivateCarousel('#USBCFeatures');
		ActivateCarousel('#USBCFeaturedBowlers');
		ActivateCarousel('#USBCOnTheLanes');
		ActivateCarousel('#USBCMessaging');
	}
	
	if (jQuery('#AboutSportBowling').length) {
		/* Sport Bowling Pages */
		ActivateCarousel('#AboutSportBowling');
		ActivateCarousel('#SportBowlingFeatures');
		ActivateCarousel('#ExperiencingPBAFeatures');
		ActivateCarousel('#SportBowlingOnTheLanes');
	}
	
	if (jQuery('#AboutSBmembership').length) {
		/* Sport Bowling Member Page */
		ActivateCarousel('#AboutSBmembership');
		ActivateCarousel('#SBmemberBenefits');
		ActivateCarousel('#SBAdvice');
		ActivateCarousel('#SBFeaturedBowlers');
	}
	
	if (jQuery('#AboutCollegiate').length) {
		/* Collegiate Bowling */
		ActivateCarousel('#AboutCollegiate');
		ActivateCarousel('#CollegiateFeatures');
		ActivateCarousel('#CollegiateFeaturedBowlers');
		ActivateCarousel('#CollegiateOnTheLanes');
	}
	
	if (jQuery('#AboutUSBC').length) {
		/* Contact USBC Pages */
		ActivateCarousel('#AboutUSBC');
		ActivateCarousel('#USBCInternalContacts');
		ActivateCarousel('#USBCExecutiveTeam');
		ActivateCarousel('#USBCMessaging');
	}
	
	if (jQuery('#AboutCoaching').length) {
		/* Coaching Pages */
		ActivateCarousel('#AboutCoaching');
		ActivateCarousel('#CoachingFeatures');
		ActivateCarousel('#FeaturedCoaches');
		ActivateCarousel('#USBCCertification');
	}
	
	if (jQuery('#AboutCareers').length) {
		/* Careers Pages */
		ActivateCarousel('#AboutCareers');
		ActivateCarousel('#USBCOpportunities');
	}
	
	if (jQuery('#AboutPage').length) {
		/* About Us Pages */
		ActivateCarousel('#AboutPage');
		ActivateCarousel('#MemberBenefits');
		ActivateCarousel('#MembersUSBC');
	}
	
	if (jQuery('#AboutRules').length) {
		/* Rules Pages */
		ActivateCarousel('#AboutRules');
		ActivateCarousel('#Rules');
		ActivateCarousel('#RulesAdditionalResources');
		ActivateCarousel('#RulesForums');
	}
	
	if (jQuery('#AboutAwards').length) {
		/* Awards Pages */
		ActivateCarousel('#AboutAwards');
		ActivateCarousel('#USBCAwards');
		ActivateCarousel('#PurchasableAwards');
		ActivateCarousel('#AwardsApplication');
	}
	
	if (jQuery('#AboutBFTC').length) {
		/* BFTC Pages */
		ActivateCarousel('#AboutBFTC');
		ActivateCarousel('#BFTCFeatures');
		ActivateCarousel('#BFTCOnBowlTV');
		ActivateCarousel('#BFTCOnTheLanes');
	}
	
	if (jQuery('#AboutBLTP').length) {
		/* BLTP Pages */
		ActivateCarousel('#AboutBLTP');
		ActivateCarousel('#BLTPFeatures');
		ActivateCarousel('#BLTPClincs');
	}
	
	if (jQuery('#AboutCopyright').length) {
		/* Corporate Pages */
		ActivateCarousel('#AboutCopyright');
	}
	
	if (jQuery('#AboutEquipAndSpecs').length) {
		/* Equip and Specs Pages */
		ActivateCarousel('#AboutEquipAndSpecs');
		ActivateCarousel('#ESFeatures');
		ActivateCarousel('#ESResources');
	}
	
	if (jQuery('#AboutMemberRewards').length) {
		/* Membership Rewards Pages */
		ActivateCarousel('#AboutMemberRewards');
		ActivateCarousel('#MemberBenefits');
		ActivateCarousel('#FeaturedBenefits');
	}
	
	if (jQuery('#AboutPrivacy').length) {
		/* Privacy Pages */
		ActivateCarousel('#AboutPrivacy');
	}
	
	if (jQuery('#AboutRVP').length) {
		/* Registered Volunteer Pages */
		ActivateCarousel('#AboutRVP');
		ActivateCarousel('#RVPInformation');
		ActivateCarousel('#RVPMaterials');
	}
	
	if (jQuery('#AboutScholarships').length) {
		/* Scholarships Pages */
		ActivateCarousel('#AboutScholarships');
		ActivateCarousel('#ScholarshipsAwards');
	}
	
	if (jQuery('#AboutTOS').length) {
		/* TOS Pages */
		ActivateCarousel('#AboutTOS');
	}
	
	if (jQuery('#AboutTournaments').length) {
		/* Tournaments Index Pages */
		ActivateCarousel('#AboutTournaments');
		ActivateCarousel('#TournamentFeatures');
		ActivateCarousel('#TournamentsAllAccess');
	}
	
	if (jQuery('#AboutPABCon').length) {
		/* Adult PABCon Pages */
		ActivateCarousel('#AboutPABCon');
		ActivateCarousel('#PABConFeatures');
		ActivateCarousel('#PABConBowlers');
		ActivateCarousel('#PABConOnTheLanes');
	}
	
	if (jQuery('#AboutPBA').length) {
		/* PBA Pages */
		ActivateCarousel('#AboutPBA');
		ActivateCarousel('#PBATopStories');
		ActivateCarousel('#PBABowlers');
	}
	
	if (jQuery('#AboutClashOfChamps').length) {
		/* COC Pages */
		ActivateCarousel('#AboutClashOfChamps');
		ActivateCarousel('#COCFeatures');
		ActivateCarousel('#COCBowlers');
		ActivateCarousel('#COCOnTheLanes');
	}
	
	if (jQuery('#AboutISC').length) {
		/* ISC Pages */
		ActivateCarousel('#AboutISC');
		ActivateCarousel('#ISCFeatures');
		ActivateCarousel('#ISCBowlers');
		ActivateCarousel('#ISCOnTheLanes');
	}
	
	if (jQuery('#AboutITC').length) {
		/* ITC Pages */
		ActivateCarousel('#AboutITC');
		ActivateCarousel('#ITCFeatures');
		ActivateCarousel('#ITCBowlers');
		ActivateCarousel('#ITCOnTheLanes');
	}
	
	if (jQuery('#AboutJuniorGold').length) {
		/* Junior Gold Pages */
		ActivateCarousel('#AboutJuniorGold');
		ActivateCarousel('#JuniorGoldFeatures');
		ActivateCarousel('#JuniorGoldCBowlers');
		ActivateCarousel('#JuniorGoldOnTheLanes');
	}
	
	if (jQuery('#AboutMasters').length) {
		/* Master's Pages */
		ActivateCarousel('#AboutMasters');
		ActivateCarousel('#MastersFeatures');
		ActivateCarousel('#MastersBowlers');
		ActivateCarousel('#MastersOnTheLanes');
	}
	
	if (jQuery('#AboutMixedTeams').length) {
		/* Mixed Teams Pages */
		ActivateCarousel('#AboutMixedTeams');
		ActivateCarousel('#MixedTeamsFeatures');
		ActivateCarousel('#MixedTeamsBowlers');
		ActivateCarousel('#MixedTeamsOnTheLanes');
	}
	
	if (jQuery('#AboutOpenChampionships').length) {
		/* Open Championships Pages */
		ActivateCarousel('#AboutOpenChampionships');
		ActivateCarousel('#OpenChampionshipsFeatures');
		ActivateCarousel('#OpenChampionshipsBowlers');
		ActivateCarousel('#OpenChampionshipsOnTheLanes');
	}
	
	if (jQuery('#AboutPABConYouth').length) {
		/* PABCon Youth Pages */
		ActivateCarousel('#AboutPABConYouth');
		ActivateCarousel('#PABConYouthFeatures');
		ActivateCarousel('#PABConYouthBowlers');
		ActivateCarousel('#PABConYouthOnTheLanes');
	}
		
	if (jQuery('#AboutUSBCQueens').length) {
		/* USBC Queens Pages */
		ActivateCarousel('#AboutUSBCQueens');
		ActivateCarousel('#USBCQueensFeatures');
		ActivateCarousel('#USBCQueensBowlers');
		ActivateCarousel('#USBCQueensOnTheLanes');
	}
	
	if (jQuery('#AboutUSBCSeniorChamp').length) {
		/* USBC Senior Championships Pages */
		ActivateCarousel('#AboutUSBCSeniorChamp');
		ActivateCarousel('#USBCSeniorChampFeatures');
		ActivateCarousel('#USBCSeniorChampBowlers');
		ActivateCarousel('#USBCSeniorChampOnTheLanes');
	}
	
	if (jQuery('#AboutUSBCSeniorMasters').length) {
		/* USBC Senior Masters Pages */
		ActivateCarousel('#AboutUSBCSeniorMasters');
		ActivateCarousel('#USBCSeniorMastersFeatures');
		ActivateCarousel('#USBCSeniorMastersBowlers');
		ActivateCarousel('#USBCSeniorMastersOnTheLanes');
	}
	
	if (jQuery('#AboutUSBCSeniorQueens').length) {
		/* USBC Senior Queens Pages */
		ActivateCarousel('#AboutUSBCSeniorQueens');
		ActivateCarousel('#USBCSeniorQueensFeatures');
		ActivateCarousel('#USBCSeniorQueensBowlers');
		ActivateCarousel('#USBCSeniorQueensOnTheLanes');
	}
	
	if (jQuery('#AboutUSBCTeamUSATrials').length) {
		/* USBC Team USA Trials Pages */
		ActivateCarousel('#AboutUSBCTeamUSATrials');
		ActivateCarousel('#USBCTeamUSATrialsFeatures');
		ActivateCarousel('#USBCTeamUSATrialsBowlers');
		ActivateCarousel('#USBCTeamUSATrialsOnTheLanes');
	}
	
	if (jQuery('#AboutUSBCWomensChamps').length) {
		/* USBC Women's Championship Pages */
		ActivateCarousel('#AboutUSBCWomensChamps');
		ActivateCarousel('#USBCWomensChampsFeatures');
		ActivateCarousel('#USBCWomensChampsBowlers');
		ActivateCarousel('#USBCWomensChampsOnTheLanes');
	}
	
	if (jQuery('#AboutUSBCYouthChamps').length) {
		/* USBC Youth Open Championships Pages */
		ActivateCarousel('#AboutUSBCYouthChamps');
		ActivateCarousel('#USBCYouthChampsFeatures');
		ActivateCarousel('#USBCYouthChampsBowlers');
		ActivateCarousel('#USBCYouthChampsOnTheLanes');
	}
	
	if (jQuery('#AboutUSWomensOpen').length) {
		/* US Women's Open Championships Pages */
		ActivateCarousel('#AboutUSWomensOpen');
		ActivateCarousel('#USWomensOpenFeatures');
		ActivateCarousel('#USWomensOpenBowlers');
		ActivateCarousel('#USWomensOpenOnTheLanes');
	}
	
	if (jQuery('#AboutWorldGames').length) {
		/* World Games Championships Pages */
		ActivateCarousel('#AboutWorldGames');
		ActivateCarousel('#WorldGamesFeatures');
		ActivateCarousel('#WorldGamesBowlers');
		ActivateCarousel('#WorldGamesOnTheLanes');
	}
	
	if (jQuery('#LiveStream').length) {
		/* Deafult Carousel Case*/
		ActivateCarousel('#LiveStream');
		ActivateCarousel('#LiveChat');
	}
	
	/* Deprecated: Application of parent/child interaction */
	/*	
	jQuery('.no_hole').bind('click', function() {
		if (window.opener == null) {
			OpenBlankPage(jQuery(this).attr('rel'), 'opener');
		}
		else {
			window.opener.location = jQuery(this).attr('rel');
			self.close();
		}
	});
	*/
	
	jQuery('#directionsClip').live('mouseover', function() {
		jQuery(this).remove().stop();
	});
	
	/* Deprecated opens page in a new window, replace by Shadowbox functionality */
	jQuery('.newBlankWindow').live('click', function() {
		var newURL = jQuery(this).attr('rel');	
		var winName = jQuery(this).attr('rev');
		var winTitle = jQuery(this).attr('title');
		var w = (jQuery(this).attr('w')) ? parseInt(jQuery(this).attr('w'), 10) : 640;
		var h = (jQuery(this).attr('h')) ? parseInt(jQuery(this).attr('h'), 10) : 480;
		var x = 0;
		var y = 0;
		
		if (window.screen) { 
			x = (window.screen.availWidth / 2) - ( w / 2 );
			y = (window.screen.availHeight / 2) - ( h / 2 );
		} 
		
		newBlankWindow(newURL, winName, 'width=' + w + ', height=' + h + ', top=' + y + ', left=' + x + ', toolbars=none, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, title= ' + winTitle);
		
		return false;
	});
		
	function newBlankWindow(winURL, winName, winTitle) {
		window.open(winURL, winName, winTitle);
	}

   /* Search for ... controls in <div id="branding"></div> for main site and bftc */
	jQuery('#search-select').bind('click', function() {
		var newURL = jQuery('#search-select').find(':selected').attr('value');
		var title = jQuery('#search-select').find(':selected').text();
		var w = 800;
		var h = 600;
		
		if (window.screen) { 
			w = window.screen.availWidth; 
			h = window.screen.availHeight; 
		} 
		
		if (newURL != "") {
			var windowAttributes = 'width=' + w + ', height=' + h + 
									', top=0, left=0, toolbars=none, location=no, directories=no,' + 
									' status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no';
			//window.open(newURL, 'newwin', windowAttributes);
			Shadowbox.open({
				content:    newURL,
				player:     "iframe",
				title:      title
			});
		}
		
		jQuery('#search-select option[value=""]').attr('selected', 'selected');
		
		return false;
	});
	
	jQuery('#search-select').keypress(function(e) {
		if (e.which == 13 || e.which == 32) {
			var newURL = jQuery('#search-select').find(':selected').attr('value');
			var title = jQuery('#search-select').find(':selected').text();
			var w = 800;
			var h = 600;
			
			if (window.screen) { 
				w = window.screen.availWidth; 
				h = window.screen.availHeight; 
			} 
			
			if (newURL != "") {
				var windowAttributes = 'width=' + w + ', height=' + h + 
										', top=0, left=0, toolbars=none, location=no, directories=no,' + 
										' status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no';
				//window.open(newURL, 'newwin', windowAttributes);
				Shadowbox.open({
					content:    newURL,
					player:     "iframe",
					title:      title
				});
			}
			
			jQuery('#search-select option[value=""]').attr('selected', 'selected');
		}
		
		return false;
	});

	/* Map functionality */
	jQuery('#states').bind('click', function() {
		var stateId = jQuery('#states').find(':selected').attr('value');
		
		if (stateId != "") {
			jQuery('.statesInfo').children().nextAll().andSelf().css( { 'display':'none' } );
			jQuery('#' + stateId).fadeIn('750');
		}
		
		jQuery('#states option[value=""]').attr('selected', 'selected');
		
		return false;
	});
	
	/* Navigation for newser module. */
	jQuery('.navto').live('click', function() {
		jQuery('#fade').cycle(parseInt($(this).attr('rel'), 10));
		
		return false;
	});
	
	/* Gallery page functionality */
	jQuery('.queueGallery').bind('click', function() {
		$.post("gallery.jsp", { galleryName: jQuery(this).attr('rel') }, function(data) {
			if (data != "[nullgallery]") {
				var responseArray = data.split("|");
			
				jQuery('#CarouselGalleryNavigator .CarouselList').empty();
				jQuery('#AbsoluteSlider #fade').empty();
				
				if (responseArray.length < 5) {
					jQuery('#CarouselGalleryNavigator .CarouselNext').addClass('next-disabled-horizontal');
					jQuery('#CarouselGalleryNavigator .CarouselNext').attr('disabled', 'true');
					jQuery('#CarouselGalleryNavigator').jcarousel;				
				}
				else {
					if (jQuery('#CarouselGalleryNavigator .CarouselNext').hasClass('next-disabled-horizontal')) {
						jQuery('#CarouselGalleryNavigator .CarouselNext').removeClass('next-disabled-horizontal');
					}
				}
				
				var galleryLength = (responseArray.length < 5) ? responseArray.length : responseArray.length;
				
				for (var i = 0; i < galleryLength; i++) {
					jQuery('#CarouselGalleryNavigator .CarouselList').append('<li class="itemHolder jcarousel-item jcarousel-item-horizontal jcarousel-item-' + (i+1) + ' jcarousel-item-' + (i+1) + '-horizontal" jcarouselindex="' + (i+1) + '">' +
																			 '<div class="navigationContainer">' +
																			 '<img class="navto" rel="' + i + '" src="' + responseArray[i] + '" alt="" />' + 
																			 '</div></li>');
					jQuery('#AbsoluteSlider #fade').append('<div class="slide">' +
														   '<div class="photo">' +
														   '<img src="' + responseArray[i].replace('_96.jpg', '.jpg') + '" alt="" />' + 
														   '</div></div>');
				}
				
				jQuery('#CarouselGalleryNavigator .CarouselList').css( { 'left':'0px' });
				jQuery('#CarouselGalleryNavigator .CarouselList .navigationContainer img').css( {'margin' : '8px'} );
				
				if (galleryRoller.status == 'small') {
					jQuery('#fade .slide').nextAll().andSelf().attr('cycleH', '490');
					jQuery('#fade .slide').nextAll().andSelf().attr('cycleW', '654');
					jQuery('#fade img, #fade .pics, #fade .slide').nextAll().andSelf().css( { 'width':'654px', 'height':'490px' } );
				}
				else if (galleryRoller.status == 'large') {
					jQuery('#fade .slide').nextAll().andSelf().attr('cycleH', '898');
					jQuery('#fade .slide').nextAll().andSelf().attr('cycleW', '978');
					jQuery('#fade img, #fade .pics, #fade .slide').nextAll().andSelf().css( { 'width':'978px', 'height':'846px' } );
				}
				
				jQuery('#fade').cycle( { 
					fx:'fade', 
					timeout:5000, 
					clearType:false, 
					cleartypeNoBg:true,
					next:'#nextImage',
					prev:'#previousImage'
				} );
			}
			else {
				alert('ERROR');
			}
		});
		
		return false;
	});
	
	jQuery('.anchorHover').bind("mouseenter", function(e) {
		var imgRef = (jQuery(this).attr('rev') != '') ? jQuery(this).attr('rev') : jQuery(this).attr('href');
		var hoverContainer = '<div class="imgHover" style="display:none; border:4px solid #fff; width:auto;' +
															'height:auto; overflow:hidden; position:absolute;' +
															' z-index:99; left:' + (e.pageX + 10) + 'px;top:' + (e.pageY - 20) + 'px;">' +
								'<img src="' + imgRef + '" border="0" />' +
							'</div>';
		jQuery('body').append(hoverContainer);
		jQuery('.imgHover').fadeIn('250');
	}).bind("mouseleave", function() {
		jQuery('.imgHover').remove();
		return false;
	});
	
	jQuery('#AbsoluteSlider').bind("mouseenter", function() {
		if (!$.browser.msie) {
			jQuery('#slideControl').fadeIn(750);
		}
		else {
			jQuery('#slideControl').show();
		} //setTimeout("jQuery('#slideControl').fadeOut(750)", 5000);
	}).bind("mouseleave", function() {
		if (jQuery('#slideControl').css('display') != 'none' && !jQuery('#slideControl').is(':animated')) {
			if (!$.browser.msie)
				jQuery('#slideControl').fadeOut(750);
			else
				jQuery('#slideControl').hide();
		}
		
		return false;
	});
	
	jQuery('#previousImage').bind("mouseenter", function() {
		jQuery('#previousImage').css( { 'background-position':'0px 0px' } );
	}).bind("mouseleave", function() {
		jQuery('#previousImage').css( { 'background-position':'-41px 0px' } );
		
		return false;
	});
	
	jQuery('#nextImage').bind("mouseenter", function() {
		jQuery('#nextImage').css( { 'background-position':'-41px 0px' } );
		
	}).bind("mouseleave", function() {
		jQuery('#nextImage').css( { 'background-position':'0px 0px' } );
		
		return false;
	});
	
	jQuery('#playSlides').bind("mouseenter", function() {
		jQuery('#playSlides').css( { 'background-position':'0px 0px' } );		
	}).bind("mouseleave", function() {
		jQuery('#playSlides').css( { 'background-position':'-71px 0px' } );
		
		return false;
	});
	
	jQuery('#playSlides').bind("click", function() {
		if (jQuery(this).hasClass('statusPlay')) {
			jQuery('#fade').cycle('pause');
			jQuery(this).removeClass('statusPlay');
			jQuery(this).addClass('statusPause');
		}
		else if (jQuery(this).hasClass('statusPause')) {
			jQuery('#fade').cycle('resume');
			jQuery(this).removeClass('statusPause');
			jQuery(this).addClass('statusPlay');
		}
		
		return false;
	});
	
	
	/* Primary navigation bar definitions. */
	if (jQuery('#home').length) {
		jQuery('#home #pri-nav #t-prod a').addClass('permmenu-hover');
	}
	
	if (jQuery('#youthhome').length) {
		jQuery('#youthhome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#youthhome #pri-nav #t-prod ul a:first').addClass('permchildhover');
		jQuery('#youthhome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#youthhome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#highschoolhome').length) {
		jQuery('#highschoolhome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#highschoolhome #pri-nav #t-prod ul a:eq(1)').addClass('permchildhover');
		jQuery('#highschoolhome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#highschoolhome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#collegiatehome').length) {
		jQuery('#collegiatehome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#collegiatehome #pri-nav #t-prod ul a:eq(2)').addClass('permchildhover');
		jQuery('#collegiatehome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#collegiatehome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#teamusahome').length) {
		jQuery('#teamusahome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#teamusahome #pri-nav #t-prod ul a:eq(3)').addClass('permchildhover');
		jQuery('#teamusahome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#teamusahome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#sportbowlinghome').length) {
		jQuery('#sportbowlinghome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#sportbowlinghome #pri-nav #t-prod ul a:eq(4)').addClass('permchildhover');
		jQuery('#sportbowlinghome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#sportbowlinghome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#associationshome').length) {
		jQuery('#associationshome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#associationshome #pri-nav #t-prod ul a:eq(5)').addClass('permchildhover');
		jQuery('#associationshome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#associationshome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#coachinghome').length) {
		jQuery('#coachinghome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#coachinghome #pri-nav #t-prod ul a:eq(6)').addClass('permchildhover');
		jQuery('#coachinghome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#coachinghome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#bftchome').length) {
		jQuery('#bftchome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#bftchome #pri-nav #t-prod ul a:eq(7)').addClass('permchildhover');
		jQuery('#bftchome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#bftchome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#pba-home').length) {
		jQuery('#pba-home #pri-nav #t-news a').addClass('permmenu-hover');
		jQuery('#pba-home #pri-nav #t-news ul a:eq(1)').addClass('permchildhover');
		jQuery('#pba-home #pri-nav #t-news a').bind("mouseout", function() {
			jQuery('#pba-home #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#newshome').length) {
		jQuery('#newshome #pri-nav #t-news a').addClass('permmenu-hover');
	}
	
	if (jQuery('#equipspechome').length) {
		jQuery('#equipspechome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#equipspechome #pri-nav #t-prod ul a:eq(8)').addClass('permchildhover');
		jQuery('#equipspechome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#equipspechome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#rwbhome').length) {
		jQuery('#rwbhome #pri-nav #t-prod a').addClass('permmenu-hover');
		jQuery('#rwbhome #pri-nav #t-prod ul a:eq(9)').addClass('permchildhover');
		jQuery('#rwbhome #pri-nav #t-prod a').bind("mouseout", function() {
			jQuery('#rwbhome #pri-nav #t-prod a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#usbcopenchamp').length) {
		jQuery('#usbcopenchamp #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcopenchamp #pri-nav #t-tourneys ul a:eq(0)').addClass('permchildhover');
		jQuery('#usbcopenchamp #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcopenchamp #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usbcwomenschamp').length) {
		jQuery('#usbcwomenschamp #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcwomenschamp #pri-nav #t-tourneys ul a:eq(1)').addClass('permchildhover');
		jQuery('#usbcwomenschamp #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcwomenschamp #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usbcmasters').length) {
		jQuery('#usbcmasters #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcmasters #pri-nav #t-tourneys ul a:eq(2)').addClass('permchildhover');
		jQuery('#usbcmasters #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcmasters #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usbcqueens').length) {
		jQuery('#usbcqueens #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcqueens #pri-nav #t-tourneys ul a:eq(3)').addClass('permchildhover');
		jQuery('#usbcqueens #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcqueens #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#uswomensopenhome').length) {
		jQuery('#uswomensopenhome #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#uswomensopenhome #pri-nav #t-tourneys ul a:eq(4)').addClass('permchildhover');
		jQuery('#uswomensopenhome #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#uswomensopenhome #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usbcclashofchamps').length) {
		jQuery('#usbcclashofchamps #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcclashofchamps #pri-nav #t-tourneys ul a:eq(5)').addClass('permchildhover');
		jQuery('#usbcclashofchamps #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcclashofchamps #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usbcitc').length) {
		jQuery('#usbcitc #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcitc #pri-nav #t-tourneys ul a:eq(6)').addClass('permchildhover');
		jQuery('#usbcitc #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcitc #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usbcjuniorgoldchamp').length) {
		jQuery('#usbcjuniorgoldchamp #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usbcjuniorgoldchamp #pri-nav #t-tourneys ul a:eq(7)').addClass('permchildhover');
		jQuery('#usbcjuniorgoldchamp #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#usbcjuniorgoldchamp #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#youth-open').length) {
		jQuery('#youth-open #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#youth-open #pri-nav #t-tourneys ul a:eq(8)').addClass('permchildhover');
		jQuery('#youth-open #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#youth-open #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#usa-team-trials').length) {
		jQuery('#usa-team-trials #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#usa-team-trials #pri-nav #t-tourneys ul a:eq(9)').addClass('permchildhover');
		jQuery('#usa-team-trials #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#tournaments-home #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	if (jQuery('#tournaments-home').length) {
		jQuery('#tournaments-home #pri-nav #t-tourneys a').addClass('permmenu-hover');
		jQuery('#tournaments-home #pri-nav #t-tourneys ul a:eq(10)').addClass('permchildhover');
		jQuery('#tournaments-home #pri-nav #t-tourneys a').bind("mouseout", function() {
			jQuery('#tournaments-home #pri-nav #t-tourneys a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#abouthome').length) {
		jQuery('#abouthome #pri-nav #t-member a').addClass('permmenu-hover');
		jQuery('#abouthome #pri-nav #t-member ul a:eq(0)').addClass('permchildhover');
		jQuery('#abouthome #pri-nav #t-member a').bind("mouseout", function() {
			jQuery('#abouthome #pri-nav #t-member a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#ambassadors-home').length) {
		jQuery('#ambassadors-home #pri-nav #t-member a').addClass('permmenu-hover');
		jQuery('#ambassadors-home #pri-nav #t-member ul a:eq(1)').addClass('permchildhover');
		jQuery('#ambassadors-home #pri-nav #t-member a').bind("mouseout", function() {
			jQuery('#ambassadors-home #pri-nav #t-member a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#mbr-rewardhome').length) {
		jQuery('#mbr-rewardhome #pri-nav #t-member a').addClass('permmenu-hover');
		jQuery('#mbr-rewardhome #pri-nav #t-member ul a:eq(3)').addClass('permchildhover');
		jQuery('#mbr-rewardhome #pri-nav #t-member a').bind("mouseout", function() {
			jQuery('#mbr-rewardhome #pri-nav #t-member a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#contacthome').length) {
		jQuery('#contacthome #pri-nav #t-member a').addClass('permmenu-hover');
		jQuery('#contacthome #pri-nav #t-member ul a:eq(4)').addClass('permchildhover');
		jQuery('#contacthome #pri-nav #t-member a').bind("mouseout", function() {
			jQuery('#contacthome #pri-nav #t-member a').addClass('ddmenu-hover');
		});
	}
	
	if (jQuery('#travelhome').length) {
		jQuery('#travelhome #pri-nav #travel-menu a').addClass('permmenu-hover');
	}
	
	return false;
}

/* Deprecated video display function */
function ShowVideo(path) {
	temp = 'http://usbcongress.http.internapcdn.net/usbcongress/bowl/news/player_module.swf?theVideo=http://usbcongress.http.internapcdn.net/usbcongress/' + path;
	data = '<div class="vidBurnerVideo">' +
				'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="640" height="359" id="FLVPlayer"><param name="movie" value="http://http.vitalstreamcdn.com/flashskins/FLVPlayer.swf" /><param name="align" value="" /><param name="salign" value="LT" /><param name="quality" value="high" /><param name="scale" value="showall" /><param name="FlashVars" value="&bgColor=0xFFFFFF&serverName=usbcongress.flash.internapcdn.net&appName=usbcongress/_definst_&streamName=' + path + '&autoPlay=true&skinName=http://http.vitalstreamcdn.com/flashskins/clearSkin_1&bufferTime=3&autoRewind=true" /><embed src="http://http.vitalstreamcdn.com/flashskins/FLVPlayer.swf" flashvars="&bgColor=0xFFFFFF&configFile=&serverName=usbcongress.flash.internapcdn.net&appName=usbcongress/_definst_&streamName=' + path + '&autoPlay=true&skinName=http://http.vitalstreamcdn.com/flashskins/clearSkin_1&bufferTime=3&autoRewind=true&serverName=usbcongress.flash.internapcdn.net" quality="high" scale="showall" width="640" height="359" name="FLVPlayer" align="" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>' +
			'</div>';
	
	jQuery('.txtBowlStory').html(data);
}

/* Deprecated function */
function OpenBlankPage(file, window) {
    var BlankPage = open(file, window);
	
    if (BlankPage.opener == null) {
		BlankPage.opener = self;
	}
}

/* Deprecated function */
function openShadowbox(content, player, title){
    Shadowbox.open({
        content:    content,
        player:     player,
        title:      title
    });
}

/* Primary DOM-Ready function for each page */
jQuery(document).ready(function() {								
	/* Initializes primary navigation menu */
	if (jQuery('.ddmenu').length) {
		jQuery('.ddmenu').singleDropMenu({
		  parentMO: 'ddmenu-hover',
		  childMO: 'ddchildhover'
		});
	}
	
	/* Deprecated function */
	jQuery('.autonav').bind('click', function() {
		jQuery.scrollTo(jQuery(this).attr('coords'));
		return false;
	});
								
	BrowserDetect.init();
	var browser = BrowserDetect.browser;
	var version = BrowserDetect.version;
	
	if (browser == "Explorer") {
		if (version > 6) {
			loadPages();
			
			var vidPath = Url.decode(jQuery('body').attr('vidpath'));			
			if (jQuery('#vidhome').length) {
				ShowVideo(vidPath);
			}
		}
		else {
			window.location = "unsupportbrowser.jsp";
			return false;
		}
	}
	else {
		loadPages();
		
		var vidPath = Url.decode(jQuery('body').attr('vidpath'));		
		if (jQuery('#vidhome').length) {
			ShowVideo(vidPath);
		}		
	}
	
	jQuery('body').append('<script type="text/javascript" src="/js/effects.core.js"></scr' + 'ipt>');
	jQuery('body').append('<script type="text/javascript" src="/js/effects.slide.js"></scr' + 'ipt>');
	jQuery('body').append('<script type="text/javascript" src="/js/jquery.scrollto.js"></scr' + 'ipt>');
});