
	/* Define functions in the Des object */

	var Des = Des || {};

	Des.css_on = function() {
		//	FOR THIS TO WORK make sure the following CSS is being referenced somewhere:
		//	.css_test { display: none; height: 1px; width: 1px; }

		$('<div class="css_test"></div>').appendTo('body');
		result = $('.css_test').width() > 0;
		$('.css_test').remove();
		return result;
	}

	Des.print_mode = function() {
		//	FOR THIS TO WORK make sure the following CSS is being referenced somewhere:
		//	.print_test { display: none; height: 1px; width: 1px; }

		$('<div class="print_test"></div>').appendTo('body');
		result = $('.print_test').width() > 0;
		$('.print_test').remove();
		return result;
	}



	/* Functions are DONE */
	$(function() {
		$('body').addClass('js')
		$.localScroll({duration: 500})
		$('input.file').fancyFile()

		$('.field_guides_list li').fatTarget()
		$('div.latest_events li').fatTarget()
		$('.latest_news li').fatTarget()
		$('table.forums_table tbody tr').fatTarget()
		$('table.threads tbody tr').fatTarget()

		$('.regions_map').regionsMap()

		$('.poll_form').submit(function() {
			var poll_form = $(this);
			vote   = $('input:checked', poll_form);
			action = poll_form.attr('action')

			if (!vote.val()) {
				alert('Please choose an option!')
			}
			else {
				$('<input class="remove_this" type="hidden" name="ajax" value="true" />').prependTo(poll_form);

				data = poll_form.serializeArray()

				$.post(action, data, function(results) {
					var form_header = poll_form.siblings('h3')
					poll_form.slideUp()
					$(results).insertAfter(form_header).slideDown()
				});
			}

			return false;
		});

		$('#years_dropdown select').change(function() {
			window.location = $(this).val();
		});
	});



	;(function($) {
		$.fn.fatTarget = function() {
			$(this)
				.click(function() {
					var href = $(this).find('a').attr('href');
					window.location = href;
				})
				.css('cursor', 'pointer')

			return this;
		}
	})(jQuery);



	;(function($) {
		$.fn.fancyFile = function() {
			if ($.browser.msie && $.browser.version < 8) return this;

			return this.each(function(i, e) {
				$(e).closest('form').addClass('fancy_file')

				$(e).parent().mousemove(function(pos) {
					$(e).css({
						left : pos.pageX - $(e).parent().offset().left,
						top  : pos.pageY - $(e).parent().offset().top
					})
				})

				$(e).change(function() { $(e).parent().next().html('Chosen file: <strong>' + $(e).val() + '</strong>'); })
			})
		}
	})(jQuery);



	;(function($) {
		$.fn.regionsMap = function() {

			var map     = $(this)
			var regions = map.find('area')

			$('<div class="region_highlight"></div>').prependTo(map)

			var highlighter = map.find('.region_highlight')

			regions
				.each(function() {
					var region = $(this)
					var region_class = region.attr('class')

					$('<img />')
						.attr('src', '/img/design/map/regions/' + region_class + '.png')
						.load(function() {})

					region.hover(
						function () {
							$('ul.regions_list a.' + region_class).addClass('hover')
							highlighter.html('<img src="/img/design/map/regions/' + region_class + '.png" alt="" />')
						},
						function () {
							$('ul.regions_list a').removeClass('hover')
							highlighter.html('<img src="/img/design/trans.png" alt="" />')
						}
					)
				})

			$('ul.regions_list li a').each(function() {
				var link  = $(this)
				var region_class = thing.attr('class')

				link.hover(
					function () {
						highlighter.html('<img src="/img/design/map/regions/' + region_class + '.png" alt="" />')
					},
					function () {
						highlighter.html('<img src="/img/design/trans.png" alt="" />')
					}
				)
			})

			map
				.css('background-image', "url(/img/design/map/base.png)")
				.find('img')
					.attr('src', '/img/design/map/borders.png')


			return this;

		}
	})(jQuery);



	/* Log */
	;(function($){$.fn.log=function(message){console.log("%s: %o",message,this);return this}})(jQuery);

	/* scrollTo */
	;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

	/* localScroll */
	;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);

