jQuery.noConflict();

jQuery(function() {

	// Remove links to top pages in sidebar navigation
	jQuery('.wrapper_whoweare #main_left .sidebar_nav h2 a').removeAttr('href').css('cursor','default');
	jQuery('.wrapper_whatwedo #main_left .sidebar_nav h2 a').removeAttr('href').css('cursor','default');
	jQuery('.wrapper_whatsnew #main_left .sidebar_nav h2 a').removeAttr('href').css('cursor','default');
	
	// Remove top-level links from main navigation
	jQuery('#nav>ul>li>a').removeAttr('href').css('cursor','default');
	
	// Remove current section from main navigation
	jQuery('#nav .current').hide();
	jQuery('#nav .ancestor').hide();
	
	// Make nav items click-expandable for touch devices
	jQuery('#nav>ul>li').toggle(
		function() {
			jQuery(this).addClass('clicked');
		},
		function() {
			jQuery(this).removeClass('clicked');
		}
	);
	jQuery('#nav>ul>li').mouseout(
		function() {
			jQuery(this).removeClass('clicked');
		}
	);
	jQuery('#nav ul ul a').click(
		function() {
			location.href = jQuery(this).attr('href');
		}
	);
	
	// Show related link abstract
	jQuery('#supplementary_content .widget_relatedlinks li').hover(
		function() {
			jQuery(this).addClass('selected');
		},
		function() {
			jQuery(this).removeClass('selected');
		}
	);
	
	// Resize main content elements if #supplementary_content is absent
	if (jQuery('#supplementary_content').length == 0) {
		jQuery('#main_center').css('bottom','101px').css('maxHeight','544px');
		jQuery('#main_right').css('bottom','130px').css('maxHeight','484px');
	}
	// Resize left sidebar if #supplementary_content exists
	else {
		jQuery('#main_left').css('bottom','101px');
	}
	
	// Resize right sidebar if .widget_executivecouncil exists
	if (jQuery('.widget_executivecouncil').length != 0) {
		jQuery('#main_right .slider').css('bottom','115px');
	}
	
	// Prepare CSS for slider-controlled elements
	jQuery('#main_center').css('overflow','hidden');
	jQuery('#main_right').css('overflow','hidden');
	jQuery('#main_wide').css('overflow','hidden');

	// Reset sliders on first load
	jQuery('.slider').slider({value: 100});
	// Disable text selection on slider
	jQuery('.slider').disableTextSelect();

	// Slider - click-to-change
	jQuery('.slider').slider({
		animate: 'fast',
		change: sliderChange,
		max: 100,
		min: 0,
		orientation: 'vertical',
		range: 'max',
		value: 100
	});

	// Slider - drag
	jQuery('.slider .ui-slider-handle').draggable({
		axis: 'y',
		containment: 'parent',
		drag: sliderDrag
	});
	
	// TEMPORARY SLIDER OVERRIDE ON EVENT FORM PAGES
	jQuery('.body_whatsnew.body_calendar.body_.template_default #main_center').css('overflow','auto');
	jQuery('.body_whatsnew.body_calendar.body_.template_default #main_full').css('overflow','auto');
	jQuery('.body_whatsnew.body_calendar.body_.template_default #main_right').css('overflow','auto');
	jQuery('.body_whatsnew.body_calendar.body_.template_default #main_wide').css('overflow','auto');
	jQuery('.body_whatsnew.body_calendar.body_.template_default .slider').hide();
	
	// Tab navigation
	jQuery('.tab_navigation a').click(
		function() {
			jQuery('.tab_navigation a').removeClass('reversed');
			jQuery(this).addClass('reversed');
			jQuery('.tab_content').hide();
			jQuery('#' + jQuery(this).attr('rel')).show();
			return false;
		}
	);

});

function sliderChange(e, ui) {
	return false;
	/* Not working properly with div_id variable.
	// Get main element's ID
	var div_id = jQuery(this).parent().parent().attr('id');
	// Get max scroll amount
	var maxScroll = jQuery('#' + div_id)[0].scrollHeight - jQuery('#' + div_id).height();
	// Get max slider amount
	var maxSlider = jQuery('#' + div_id + ' .slider').height() - (jQuery('#' + div_id + ' .slider .ui-slider-handle').height());
	// Hide/show slider appropriate
	jQuery('#' + div_id + ' .slider').show();
	if (maxScroll <= 0) { jQuery('#' + div_id + ' .slider').hide(); }
	else {
		// Animate scroll effect
		jQuery('#' + div_id + ' .slider_content').animate({
			top: -maxScroll * ((100-ui.value) / 100)
		},'fast');
		// Animate slider reposition
		jQuery('#' + div_id + ' .slider .ui-slider-handle').animate({
			top: maxSlider - (maxSlider * (ui.value / 100))
		},'fast');
	}
	*/
}

function sliderDrag(e, ui) {
	// Get main element's ID
	var div_id = jQuery(this).parent().parent().attr('id');
	// Get max scroll amount
	var maxScroll = jQuery('#' + div_id)[0].scrollHeight - jQuery('#' + div_id).height();
	// Get max slider amount
	var maxSlider = jQuery('#' + div_id + ' .slider').height() - (jQuery('#' + div_id + ' .slider .ui-slider-handle').height());
	// Get slider's current position
	var curSlider = jQuery('#' + div_id + ' .slider .ui-slider-handle').position();
	// Hide/show slider appropriate
	jQuery('#' + div_id + ' .slider').show();
	/* This is not working properly: valid sliders occasionally disappear. */
	//if (maxScroll <= 0) { jQuery('#' + div_id + ' .slider').hide(); }
	//else {
		// Animate scroll effect
		jQuery('#' + div_id + ' .slider_content').animate({
			top: -maxScroll * (curSlider.top / maxSlider)
		},0);
	//}
}

