/*
 * Superfish v1.2b - jQuery menu widget
 * Copyright (c) 2007 Joel Birch
 *
 */

(function($){
	$.fn.superfish = function(o){
		var $sf = this,
			defaults = {
			hoverClass	: 'sfhover',
			pathClass	: 'overideThisToUse',
			delay		: 500,
			animation	: {opacity:'show'},
			speed		: 'fast'
		},
			over = function(){
				var $$ = $(this);
				clearTimeout(this.sfTimer);
				if (!$$.is('.'+o.hoverClass)){
					$$.addClass(o.hoverClass)
						.find('ul')
							.animate(o.animation,o.speed)
							.end()
						.siblings()
						.removeClass(o.hoverClass);
				}
			},
			out = function(){
				var $$ = $(this);
				if ( !$$.is('.'+o.bcClass) ) {
					this.sfTimer=setTimeout(function(){
						$$.removeClass(o.hoverClass)
						.find('iframe', this)
							.remove();
						if (!$('.'+o.hoverClass,$sf).length) { over.call($currents); }
					},o.delay);
				}
			};
		$.fn.applyHovers = function(){
			return this[($.fn.hoverIntent) ? 'hoverIntent' : 'hover'](over,out);
		};
		o = $.extend({bcClass:'sfbreadcrumb'},defaults,o || {});
		var $currents = $('.'+o.pathClass,this).filter('li[ul]');
		if ($currents.length) {
			$currents.each(function(){
				$(this).removeClass(o.pathClass).addClass(o.hoverClass+' '+o.bcClass);
			});
		}
		var sfHovAr=$('li[ul]',this)
			.applyHovers(over,out)
			.find("a").each(function(){
				var $a = $(this), $li = $a.parents('li');
				$a.focus(function(){ $li.each(over); })
				  .blur(function(){ $li.each(out); });
			}).end();
		$(window).unload(function(){
			sfHovAr.unbind('mouseover').unbind('mouseout');
		});
		return this.addClass('superfish');
	};
})(jQuery);


/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 */

(function($){

/**
 * The bgiframe is chainable and applies the iframe hack to get 
 * around zIndex issues in IE6. It will only apply itself in IE 
 * and adds a class to the iframe called 'bgiframe'. The iframe
 * is appeneded as the first child of the matched element(s) 
 * with a tabIndex and zIndex of -1.
 */
$.fn.bgIframe = jQuery.fn.bgiframe = function(s) {
	// This is only for IE6
	if ( !($.browser.msie && typeof XMLHttpRequest == 'function') ) return this;
	s = $.extend({
		top     : 'auto', // auto == .currentStyle.borderTopWidth
		left    : 'auto', // auto == .currentStyle.borderLeftWidth
		width   : 'auto', // auto == offsetWidth
		height  : 'auto', // auto == offsetHeight
		opacity : true,
		src     : 'javascript:false;'
	}, s || {});
	var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
	    html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
	               'style="display:block;position:absolute;z-index:-1;'+
		               (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
				       'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
				       'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
				       'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
				       'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
				'"/>';
	return this.each(function() {
		if ( !$('iframe.bgiframe', this)[0] )
			this.insertBefore( document.createElement(html), this.firstChild );
	});
};

})(jQuery);


$(document).ready(function(){
	$("#nav")
	.superfish({
		animation : { opacity:"show",height:"show"}
	})
	.find(">li[ul]")
		.mouseover(function(){
			$("ul", this).bgIframe({opacity:false});
		})
		.find("a")
			.focus(function(){
				$("ul", $("#nav>li[ul]")).bgIframe({opacity:false});
			});
	$("#menu")
	.superfish({
		animation : { opacity:"show",height:"show"}
	})
	.find(">li[ul]")
		.mouseover(function(){
			$("ul", this).bgIframe({opacity:false});
		})
		.find("a")
			.focus(function(){
				$("ul", $("#menu>li[ul]")).bgIframe({opacity:false});
			});
  $('#container').tabs();
});

$(function() {
  $('#footer').bgiframe();
  $('#navwrapper').bgiframe();
});

if (document.getElementById && document.getElementsByTagName && document.createElement) {
	document.write('<div id="shadow"></div>');
}

//////////////////// tabs jquery plugin ////////////////////////////////////////////////////////////////////////////
$.fn.tabs = function(options) {
    // basic stuff
    var ON_CLASS = 'on';
    var OFF_CLASS = 'tabs-hide';
    // options
    var on = options && options.on && (typeof options.on == 'number' && options.on > 0) ? options.on - 1 : 0;
    return this.each(function() {
        $(this).find('>div').not(':eq(' + on + ')').addClass(OFF_CLASS);
        $(this).find('>ul>li:eq(' + on + ')').addClass(ON_CLASS);
        var container = this;
        $(this).find('>ul>li>a').click(function() {
            if (!$(this.parentNode).is('.' + ON_CLASS)) {
                var re = /([_\-\w]+$)/i;
                var target = $('#' + re.exec(this.href)[1]);
                if (target.size() > 0) {
                    $(container).find('>div:visible').addClass(OFF_CLASS);
                    target.removeClass(OFF_CLASS);
                    $(container).find('>ul>li').removeClass(ON_CLASS);
                    $(this.parentNode).addClass(ON_CLASS);
                } else {
                    alert('There is no such container.');
                }
            }
            return false;
        });
    });
};