// JavaScript Document

$(document).ready(function(){

	// SET ACTIVE NAV
	
	var $linkCurrent = $('a').filter(function() {
        return (new RegExp($.url.attr("file"), "i")).test( $(this).attr('href'));
		});
	$linkCurrent = $linkCurrent.filter(':first');
	
	var $spanCurrent = $('span').filter(function() {
        return (new RegExp($.url.segment($.url.segment()-2), "i")).test( '/' + $(this).text() + '/');
		});
	
	if($linkCurrent.length == 0)
		{
		$linkCurrent = $spanCurrent;
		}

	if($linkCurrent.is('.nav-main'))
		{
		$linkCurrent.addClass('nav-main-current');
		$('#' + $linkCurrent.attr('id').replace('nav-main','nav-footer')).addClass('nav-secondary-current');
		}
	else if($linkCurrent.is('.nav-secondary'))
		{
		$linkCurrent.addClass('nav-secondary-current');			
		$('#' + $linkCurrent.attr('id').replace('nav-secondary','nav-footer')).addClass('nav-secondary-current');
		}
	else if($linkCurrent.is('.nav-footer'))
		{
		$linkCurrent.addClass('nav-secondary-current');			
		}
	else if($linkCurrent.is('.nav-sub-block a') || $linkCurrent.is('.nav-sub-block span'))
		{
		$('#' + $linkCurrent.parent('.nav-sub-block').attr('id').replace('nav-sub','nav-main')).addClass('nav-main-current');
		$('#' + $linkCurrent.parent('.nav-sub-block').attr('id').replace('nav-sub','nav-footer')).addClass('nav-secondary-current');
		}

	// NAV

	var navOffset = $('#nav-top').position().left;
	var $currentNav;
	var $currentSubnav;
	var navTimer;	

	$('.nav-main').mouseover(function(){
		clearTimeout(navTimer);
		if($(this) != $currentNav)
			{
			clearNav();
			$currentNav = $(this);

			var $subnav = $('#nav-sub-' + $(this).attr('id').replace('nav-main-',''));
			
			$currentNav.addClass('nav-main-active');
			
			if($subnav.length > 0)
				 {
					 //console.log('subnav!');
					 $currentSubnav = $subnav;
					 $subnav.css('left',$currentNav.position().left + navOffset + 'px');
					 $subnav.show();
				 }
			}
		});
	$('.nav-main').mouseout(function(){
		navTimer = setTimeout(clearNav,150);
		});
	
	$('.nav-sub-block').mouseover(function(){
		clearTimeout(navTimer);
		});

	$('.nav-sub-block').mouseout(function(){
		navTimer = setTimeout(clearNav,150);
		});

	function clearNav()
		{
		if($currentNav)
			{
			$currentNav.removeClass('nav-main-active');
			}
		if($currentSubnav)
			{
			$currentSubnav.hide();
			}
		$currentNav = null;
		}


	// HOME PAGE SLIDES
	
	if($('#home-slides').length)
		{
			var slide_current = 1;
			var slide_total = $('#home-slides div.home-slide').size();
			var $slides = $('#home-slides div.home-slide');
			
			
			$slides.each(function(){
				$('#home-slides-tabs').append('<a href="javascript:;" id="slide-' + slide_total + '">' + slide_total + '</a>');
				slide_total--;
				
				});

			var slide_total = $('#home-slides div.home-slide').size();
			
			$slides.eq(0).show();
			$('#slide-1').addClass('current');
			var slide_timer = setTimeout(slide_next,9000);
			
			$('#home-slides-tabs a').click(function(){
				slide_switch($(this).attr('id').substr(6,1),false);
				
				});
		}

	function slide_next()
		{
			slide_switch(parseInt(slide_current) + 1,true);
		}

	function slide_switch(n, timed)
		{
			//console.log("slide_switch : " + n + ", " + timed + "  slide_current = " + slide_current)
			if(timed || n != slide_current)
				{
					clearTimeout(slide_timer);
					if(n > slide_total)
						{
						n = 1;
						}
					$slides.eq(slide_current-1).fadeToggle(650);
					$('#slide-' + slide_current).removeClass('current');
					slide_current = n;
					$slides.eq(slide_current-1).fadeToggle(650);				
					$('#slide-' + slide_current).addClass('current');
					slide_timer = setTimeout(slide_next,9000);
					
				}
		}

	// FAQ questions
	$('.faq-question').click(function(){
		$(this).siblings('.faq-answer').toggle('slow');
		});

	// Site Constants
	$('.const-journalCode').each(function(){
		$(this).html(journalCode);
		});

	// Result Messages
	if($.url.param('msg'))
		{
			switch($.url.param('msg'))
				{
				case 'submit-success':
					$('#msg').html('message sent');
					break;
				}
		}

	// Misc Formatting
	var monthNames = [ "January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December" ];

	var dayNames = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];


	$('.date-format-long').each(function(){
		if($(this).html() != "")
			{
			var d = new Date($(this).html());
			$(this).html(monthNames[d.getMonth()]  + ' ' + d.getDate() + ', ' + d.getFullYear() )
			}
		});

	$('.date-format-long-weekday').each(function(){
		var d = new Date($(this).html());
		$(this).html(dayNames[d.getDay()] + ', ' + monthNames[d.getMonth()]  + ' ' + d.getDate() + ', ' + d.getFullYear() )
		});

	$('.date-format-time').each(function(){
		var d = new Date($(this).html());
		var s = "am";
		var h = d.getHours();
		var m = d.getMinutes();
		
		if(h > 11) s = "pm";
		if(h > 12) h = h - 12;
		if(h == 0) h = 12;
		
		$(this).html(h + ':' + (m < 10 ? '0' : '')  + m + s )
		});

	$('.date-format-range-start').each(function(){
		var d1 = new Date($(this).html());
		var $dateEnd = $(this).siblings('.date-format-range-end');
		if($dateEnd.html() != '')
			{
			var d2 = new Date($dateEnd.html());
			if(d1.toString() == d2.toString())
				{
				$dateEnd.html('');	
				}
			else
				{
				$(this).html($(this).html() + ' -');
				}
			}

		});

	$('.date-format-range-start-show-single-day').each(function(){
		var d1 = new Date($(this).html());
		var $dateEnd = $(this).siblings('.date-format-range-end-show-single-day');
		if($dateEnd.html() != '')
			{
			var d2 = new Date($dateEnd.html());
			if(d1.getYear() == d2.getYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate())
				{
				$dateEnd.html('');	
				}
			else
				{
				$(this).html('');
				$dateEnd.html('');	
				}
			}

		});

	$('.date-format').each(function(){
		if($(this).html() != '')
			{
			var d = new Date($(this).html());
			$(this).html((d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear() )
			}
		});


	// RESOURCE LANDING PAGE
	jQuery.fn.resourceSort = function() {
        return this.pushStack( jQuery.makeArray( [].sort.apply( this, arguments ) ) );

}; 
	$('#resource-all-records').each(function(){
		var $all = $(this).find('.resource-hidden');

		// sort
		$all.resourceSort(function(a,b) {
			var compA = $(a).find('h3 a').text().toUpperCase();
			var compB = $(b).find('h3 a').text().toUpperCase();
			return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
			
			});

		$all.each(function(){
			$('#resource-display').append($(this));
			});
		});

	// JOURNAL INDEX TABLE FORMATTING
	if($('.journal-index-table').length)
		{
			var lastYear = '';
			var lastVolIss = '';
			
			$('.journal-index-year').each(function(){
				if(lastYear != $(this).html())
					{
						lastYear = $(this).html();
					}
				else
					{
						$(this).html('');
					}
				});

			$('.journal-index-volissue').each(function(){
				if(lastVolIss != $(this).html())
					{
						lastVolIss = $(this).html();
					}
				else
					{
						$(this).html('');
					}
				});

		}
	});

function submitSignUpForm()
	{
	  document.SignupForm.submit();
	}

function validateCaptcha()
	{
		challengeField = $("input#recaptcha_challenge_field").val();
		responseField = $("input#recaptcha_response_field").val();

		var html = $.ajax({
		type: "POST",
		url: "recaptchavalidate.php",
		data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField,
		async: false
		}).responseText;
	 
		if(html == "success")
		{
			$("#captchaStatus").html(" ");
			// Uncomment the following line in your application
			return true;
		}
		else
		{
			$("#captchaStatus").html("Your captcha is incorrect. Please try again");
			Recaptcha.reload();
			return false;
		}
	}
