//
// Calendar Functions
//

	function url_to_array(string)
	{
		var url = string;
		var url_array = url.split('/');
		return url_array;
	}
	

	function update_cal(evt)
	{
		// don't follow the link
		evt.preventDefault();
		
		// get the calendar data from the link's href of select option value
		// and turn it into an array
		var $tgt = $(evt.target);
		var get_array;
		
		if($tgt.is('a'))
		{
			get_array = url_to_array($tgt.attr('rel'));	
		}
		else if($tgt.is('select'))
		{
			get_array = url_to_array($tgt.val());	
		}
		
		// empty the calendar and show a loading graphic
		$('#cal-content').css({
			background:'url(/_img/ajax-load.gif) no-repeat left top',
			height:'500px'
		}).html('');
		
		// get the content via ajax and add them to the page
		$.get('/mcms_page_large_calendar_ajax.php',
			{
				view:get_array[2],
				year:get_array[3],
				month:get_array[4],
				category:get_array[5]
			},
			function(returned_data)
			{
				$('#large-calendar').html(returned_data);
				// must call this to add events to the newly added ajax elements
				add_cal_events();
			}
		);
	}
	

	function add_cal_events()
	{
		$('#cal-nav-previous').unbind().bind('click.prev', update_cal);
		$('#cal-nav-next').unbind().bind('click.next', update_cal);
		$('#cal-nav-today').unbind().bind('click.today', update_cal);
		$('#cal-view-toggle').unbind().bind('click.view', update_cal);
		$('#cal-print').unbind().bind('click.print', function(evt){
			window.print();
			evt.preventDefault();
		});
		$('#cal-category-select').unbind().bind('change.filter', update_cal);
		$('#cal-category-clear').unbind().bind('click.clear', update_cal);
		$('a.fancybox').unbind().fancybox(
			{
			//'type':	'inline',
			'autoDimensions':	false,
			'width':	650,
			'height':	400,
			'hideOnContentClick': false
			}
		);
		
		// Add icons when linking to a PDF  (Except on the page in the resources section that lists all the forms)
		$('a[href$=pdf]').not($('div.article-box a[href$=pdf]')).prepend('<img src="/_img/icon-file-red.gif" width="12" height="12"/>&nbsp;');
	}










//
// and finally the document.ready
//
$(document).ready(function() {
	
	
	
	
	/* Primary Nav Drop Down Menus */
	$('ul#nav li').hover(function() {
		$(this).children('ul').addClass("show");
		$(this).addClass("stick");
	}, function() {
		$(this).children('ul').removeClass("show");
		$(this).removeClass("stick");
	} );
	
	
	
	
	
	/* Check length of text area on forms */
	$("<p class='warning'></p>").appendTo("form.contact");

	$('form.contact textarea').keydown(function(){

		var intLimit = 1500;
		var $this = $(this);
		var $messageText = $this.val(); 
		var $messageCharLength = $messageText.length;
	
		if($messageCharLength > intLimit) {
			$("p.warning").html("You cannot write more than " + intLimit + " characters!");
			$messageText.substr(0,intLimit);
			return false;
		}
		else
		{	
			$("p.warning").html("");
			return true;
		}
	});
	
	
	
	
	// validate contact forms
	$('form.contact').validate();
	
	
	
	
	// Load event handlers for calendar controls
	add_cal_events();
	
	
	
	
}); // end $(documemnt).ready
