/*
 * jQuery Cycle Plugin for light-weight slideshows
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007 M. Alsup
 * Version: 2.09 (01/22/2008)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.1.3.1 or later
 *
 * Based on the work of:
 *  1) Matt Oakes (http://portfolio.gizone.co.uk/applications/slideshow/)
 *  2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *  3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
(function($) {

	var ver = '2.09';
	var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent);

	$.fn.cycle = function(options) {
		return this.each(function() {
			options = options || {};
			if (options.constructor == String) {
				switch(options) {
					case 'stop':
						if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
						this.cycleTimeout = 0;
						return;
					case 'pause':
						this.cyclePause = 1;
						return;
					case 'resume':
						this.cyclePause = 0;
						return;
					default:
						options = {
							fx: options
						};
				};
			}
			var $cont = $(this);
			var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
			var els = $slides.get();
			if (els.length < 2) return; // don't bother

			// support metadata plugin (v1.0 and v2.0)
			var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
			if (opts.autostop)
				opts.countdown = opts.autostopCount || els.length;

			opts.before = opts.before ? [opts.before] : [];
			opts.after = opts.after ? [opts.after] : [];
			opts.after.unshift(function(){
				opts.busy=0;
			});

			// clearType corrections
			if (ie6 && opts.cleartype && !opts.cleartypeNoBg)
				clearTypeFix($slides);

			// allow shorthand overrides of width, height and timeout
			var cls = this.className;
			var w = parseInt((cls.match(/w:(\d+)/)||[])[1]) || opts.width;
			var h = parseInt((cls.match(/h:(\d+)/)||[])[1]) || opts.height;
			opts.timeout = parseInt((cls.match(/t:(\d+)/)||[])[1]) || opts.timeout;

			if ($cont.css('position') == 'static')
				$cont.css('position', 'relative');
			if (w)
				$cont.width(w);
			if (h && h != 'auto')
				$cont.height(h);

			if (opts.random) {
				opts.randomMap = [];
				for (var i = 0; i < els.length; i++)
					opts.randomMap.push(i);
				opts.randomMap.sort(function(a,b) {
					return Math.random() - 0.5;
				});
				opts.randomIndex = 0;
				opts.startingSlide = opts.randomMap[0];
			}
			else if (opts.startingSlide >= els.length)
				opts.startingSlide = 0; // catch bogus input
			var first = opts.startingSlide || 0;
			$slides.css('position','absolute').hide().each(function(i) {
				var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
				$(this).css('z-index', z)
			});

			$(els[first]).show();
			if (opts.fit && w)
				$slides.width(w);
			if (opts.fit && h && h != 'auto')
				$slides.height(h);
			if (opts.pause)
				$cont.hover(function(){
					this.cyclePause=1;
				}, function(){
					this.cyclePause=0;
				});

			// run transition init fn
			var init = $.fn.cycle.transitions[opts.fx];
			if ($.isFunction(init))
				init($cont, $slides, opts);

			$slides.each(function() {
				var $el = $(this);
				this.cycleH = (opts.fit && h) ? h : $el.height();
				this.cycleW = (opts.fit && w) ? w : $el.width();
			});

			opts.cssBefore = opts.cssBefore || {};
			opts.animIn = opts.animIn || {};
			opts.animOut = opts.animOut || {};

			$slides.not(':eq('+first+')').css(opts.cssBefore);
			if (opts.cssFirst)
				$($slides[first]).css(opts.cssFirst);

			if (opts.timeout) {
				// ensure that timeout and speed settings are sane
				if (opts.speed.constructor == String)
					opts.speed = {
						slow: 600,
						fast: 200
					}
					[opts.speed] || 400;
				if (!opts.sync)
					opts.speed = opts.speed / 2;
				while((opts.timeout - opts.speed) < 250)
					opts.timeout += opts.speed;
			}
			if (opts.easing)
				opts.easeIn = opts.easeOut = opts.easing;
			if (!opts.speedIn)
				opts.speedIn = opts.speed;
			if (!opts.speedOut)
				opts.speedOut = opts.speed;

			opts.slideCount = els.length;
			opts.currSlide = first;
			if (opts.random) {
				opts.nextSlide = opts.currSlide;
				if (++opts.randomIndex == els.length)
					opts.randomIndex = 0;
				opts.nextSlide = opts.randomMap[opts.randomIndex];
			}
			else
				opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;

			// fire artificial events
			var e0 = $slides[first];
			if (opts.before.length)
				opts.before[0].apply(e0, [e0, e0, opts, true]);
			if (opts.after.length > 1)
				opts.after[1].apply(e0, [e0, e0, opts, true]);

			if (opts.click && !opts.next)
				opts.next = opts.click;
			if (opts.next)
				$(opts.next).bind('click', function(){
					return advance(els,opts,opts.rev?-1:1)
				});
			if (opts.prev)
				$(opts.prev).bind('click', function(){
					return advance(els,opts,opts.rev?1:-1)
				});
			if (opts.pager)
				buildPager(els,opts);
			if (opts.timeout)
				this.cycleTimeout = setTimeout(function(){
					go(els,opts,0,!opts.rev)
				}, opts.timeout + (opts.delay||0));
		});
	};

	function go(els, opts, manual, fwd) {
		if (opts.busy) return;
		var p = els[0].parentNode, curr = els[opts.currSlide], next = els[opts.nextSlide];
		if (p.cycleTimeout === 0 && !manual)
			return;

		if (!manual && !p.cyclePause && opts.autostop && (--opts.countdown <= 0))
			return;

		if (manual || !p.cyclePause) {
			if (opts.before.length)
				$.each(opts.before, function(i,o) {
					o.apply(next, [curr, next, opts, fwd]);
				});
			var after = function() {
				if ($.browser.msie && opts.cleartype)
					this.style.removeAttribute('filter');
				$.each(opts.after, function(i,o) {
					o.apply(next, [curr, next, opts, fwd]);
				});
			};

			if (opts.nextSlide != opts.currSlide) {
				opts.busy = 1;
				if (opts.fxFn)
					opts.fxFn(curr, next, opts, after, fwd);
				else if ($.isFunction($.fn.cycle[opts.fx]))
					$.fn.cycle[opts.fx](curr, next, opts, after);
				else
					$.fn.cycle.custom(curr, next, opts, after);
			}
			if (opts.random) {
				opts.currSlide = opts.nextSlide;
				if (++opts.randomIndex == els.length)
					opts.randomIndex = 0;
				opts.nextSlide = opts.randomMap[opts.randomIndex];
			}
			else { // sequence
				var roll = (opts.nextSlide + 1) == els.length;
				opts.nextSlide = roll ? 0 : opts.nextSlide+1;
				opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
			}
			if (opts.pager)
				$(opts.pager).find('a').removeClass('activeSlide').filter('a:eq('+opts.currSlide+')').addClass('activeSlide');
		}
		if (opts.timeout)
			p.cycleTimeout = setTimeout(function() {
				go(els,opts,0,!opts.rev)
			}, opts.timeout);
	};

	// advance slide forward or back
	function advance(els, opts, val) {
		var p = els[0].parentNode, timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0)
			opts.nextSlide = els.length - 1;
		else if (opts.nextSlide >= els.length)
			opts.nextSlide = 0;
		if (opts.prevNextClick && typeof opts.prevNextClick == 'function')
			opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
		go(els, opts, 1, val>=0);
		return false;
	};

	function buildPager(els, opts) {
		var $p = $(opts.pager);
		$.each(els, function(i,o) {
			var $a = (typeof opts.pagerAnchorBuilder == 'function')
			? $(opts.pagerAnchorBuilder(i,o))
			: $('<a href="#">'+(i+1)+'</a>');
			// don't reparent if anchor is in the dom
			if ($a.parents('body').length == 0)
				$a.appendTo($p);
			$a.bind('click',function() {
				opts.nextSlide = i;
				var p = els[0].parentNode, timeout = p.cycleTimeout;
				if (timeout) {
					clearTimeout(timeout);
					p.cycleTimeout = 0;
				}
				if (typeof opts.pagerClick == 'function')
					opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
				go(els,opts,1,!opts.rev);
				return false;
			});
		});
		$p.find('a').filter('a:eq('+opts.startingSlide+')').addClass('activeSlide');
	};

	// this fixes clearType problems in ie6 by setting an explicit bg color
	function clearTypeFix($slides) {
		function hex(s) {
			var s = parseInt(s).toString(16);
			return s.length < 2 ? '0'+s : s;
		};
		function getBg(e) {
			for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
				var v = $.css(e,'background-color');
				if (v.indexOf('rgb') >= 0 ) {
					var rgb = v.match(/\d+/g);
					return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
				}
				if (v && v != 'transparent')
					return v;
			}
			return '#ffffff';
		};
		$slides.each(function() {
			$(this).css('background-color', getBg(this));
		});
	};


	$.fn.cycle.custom = function(curr, next, opts, cb) {
		var $l = $(curr), $n = $(next);
		$n.css(opts.cssBefore);
		var fn = function() {
			$n.animate(opts.animIn, opts.speedIn, opts.easeIn, cb)
		};
		$l.animate(opts.animOut, opts.speedOut, opts.easeOut, function() {
			if (opts.cssAfter) $l.css(opts.cssAfter);
			if (!opts.sync) fn();
		});
		if (opts.sync) fn();
	};

	$.fn.cycle.transitions = {
		fade: function($cont, $slides, opts) {
			$slides.not(':eq('+opts.startingSlide+')').css('opacity',0);
			opts.before.push(function() {
				$(this).show()
			});
			opts.animIn    = {
				opacity: 1
			};
			opts.animOut   = {
				opacity: 0
			};
			opts.cssAfter  = {
				display: 'none'
			};
		}
	};

	$.fn.cycle.ver = function() {
		return ver;
	};

	// override these globally if you like (they are all optional)
	$.fn.cycle.defaults = {
		fx:           'fade', // one of: fade, shuffle, zoom, slideX, slideY, scrollUp/Down/Left/Right
		timeout:       4000,  // milliseconds between slide transitions (0 to disable auto advance)
		speed:         1000,  // speed of the transition (any valid fx speed value)
		speedIn:       null,  // speed of the 'in' transition
		speedOut:      null,  // speed of the 'out' transition
		click:         null,  // @deprecated; please use the 'next' option
		next:          null,  // id of element to use as click trigger for next slide
		prev:          null,  // id of element to use as click trigger for previous slide
		prevNextClick: null,  // callback fn for prev/next clicks:  function(isNext, zeroBasedSlideIndex, slideElement)
		pager:         null,  // id of element to use as pager container
		pagerClick:    null,  // callback fn for pager clicks:  function(zeroBasedSlideIndex, slideElement)
		pagerAnchorBuilder: null, // callback fn for building anchor links
		before:        null,  // transition callback (scope set to element to be shown)
		after:         null,  // transition callback (scope set to element that was shown)
		easing:        null,  // easing method for both in and out transitions
		easeIn:        null,  // easing for "in" transition
		easeOut:       null,  // easing for "out" transition
		shuffle:       null,  // coords for shuffle animation, ex: { top:15, left: 200 }
		animIn:        null,  // properties that define how the slide animates in
		animOut:       null,  // properties that define how the slide animates out
		cssBefore:     null,  // properties that define the initial state of the slide before transitioning in
		cssAfter:      null,  // properties that defined the state of the slide after transitioning out
		fxFn:          null,  // function used to control the transition
		height:       'auto', // container height
		startingSlide: 0,     // zero-based index of the first slide to be displayed
		sync:          1,     // true if in/out transitions should occur simultaneously
		random:        0,     // true for random, false for sequence (not applicable to shuffle fx)
		fit:           0,     // force slides to fit container
		pause:         0,     // true to enable "pause on hover"
		autostop:      0,     // true to end slideshow after X transitions (where X == slide count)
		delay:         0,     // additional delay (in ms) for first transition (hint: can be negative)
		slideExpr:     null,  // expression for selecting slides (if something other than all children is required)
		cleartype:     0      // true if clearType corrections should be applied (for IE)
	};

})(jQuery);

/*
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007 M. Alsup
 * Version:  2.07
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */

//
// These functions define one-time slide initialization for the named
// transitions. To save file size feel free to remove any of these that you
// don't need.
//

// scrollUp/Down/Left/Right
jQuery.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore.top = next.offsetHeight;
		opts.animOut.top = 0-curr.offsetHeight;
	});
	opts.cssFirst = {
		top: 0
	};
	opts.animIn   = {
		top: 0
	};
	opts.cssAfter = {
		display: 'none'
	};
};
jQuery.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore.top = 0-next.offsetHeight;
		opts.animOut.top = curr.offsetHeight;
	});
	opts.cssFirst = {
		top: 0
	};
	opts.animIn   = {
		top: 0
	};
	opts.cssAfter = {
		display: 'none'
	};
};
jQuery.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore.left = next.offsetWidth;
		opts.animOut.left = 0-curr.offsetWidth;
	});
	opts.cssFirst = {
		left: 0
	};
	opts.animIn   = {
		left: 0
	};
};
jQuery.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore.left = 0-next.offsetWidth;
		opts.animOut.left = curr.offsetWidth;
	});
	opts.cssFirst = {
		left: 0
	};
	opts.animIn   = {
		left: 0
	};
};
jQuery.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	//    $slides.show();
	opts.before.push(function(curr, next, opts, fwd) {
		jQuery(this).show();
		var currW = curr.offsetWidth, nextW = next.offsetWidth;
		opts.cssBefore = fwd ? {
			left: nextW
		} : {
			left: -nextW
		};
		opts.animIn.left = 0;
		opts.animOut.left = fwd ? -currW : currW;
		$slides.not(curr).css(opts.cssBefore);
	});
	opts.cssFirst = {
		left: 0
	};
	opts.cssAfter = {
		display: 'none'
	}
};
jQuery.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	//    $slides.show();
	opts.before.push(function(curr, next, opts, fwd) {
		jQuery(this).show();
		var currH = curr.offsetHeight, nextH = next.offsetHeight;
		opts.cssBefore = fwd ? {
			top: -nextH
		} : {
			top: nextH
		};
		opts.animIn.top = 0;
		opts.animOut.top = fwd ? currH : -currH;
		$slides.not(curr).css(opts.cssBefore);
	});
	opts.cssFirst = {
		top: 0
	};
	opts.cssAfter = {
		display: 'none'
	}
};

// slideX/slideY
jQuery.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
	opts.animIn  = {
		width: 'show'
	};
	opts.animOut = {
		width: 'hide'
	};
};
jQuery.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
	opts.animIn  = {
		height: 'show'
	};
	opts.animOut = {
		height: 'hide'
	};
};

// shuffle
jQuery.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
	var w = $cont.css('overflow', 'visible').width();
	$slides.css({
		left: 0,
		top: 0
	});
	opts.before.push(function() {
		jQuery(this).show()
	});
	opts.speed = opts.speed / 2; // shuffle has 2 transitions
	opts.random = 0;
	opts.shuffle = opts.shuffle || {
		left:-w,
		top:15
	};
	opts.els = [];
	for (var i=0; i < $slides.length; i++)
		opts.els.push($slides[i]);

	for (var i=0; i < opts.startingSlide; i++)
		opts.els.push(opts.els.shift());

	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
	opts.fxFn = function(curr, next, opts, cb, fwd) {
		var $el = fwd ? jQuery(curr) : jQuery(next);
		$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
			fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
			if (fwd)
				for (var i=0, len=opts.els.length; i < len; i++)
					jQuery(opts.els[i]).css('z-index', len-i);
			else {
				var z = jQuery(curr).css('z-index');
				$el.css('z-index', parseInt(z)+1);
			}
			$el.animate({
				left:0,
				top:0
			}, opts.speedOut, opts.easeOut, function() {
				jQuery(fwd ? this : curr).hide();
				if (cb) cb();
			});
		});
	};
};

// turnUp/Down/Left/Right
jQuery.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore.top = next.cycleH;
		opts.animIn.height = next.cycleH;
	});
	opts.cssFirst  = {
		top: 0
	};
	opts.cssBefore = {
		height: 0
	};
	opts.animIn    = {
		top: 0
	};
	opts.animOut   = {
		height: 0
	};
	opts.cssAfter  = {
		display: 'none'
	};
};
jQuery.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssFirst  = {
		top: 0
	};
	opts.cssBefore = {
		top: 0,
		height: 0
	};
	opts.animOut   = {
		height: 0
	};
	opts.cssAfter  = {
		display: 'none'
	};
};
jQuery.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore.left = next.cycleW;
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = {
		width: 0
	};
	opts.animIn    = {
		left: 0
	};
	opts.animOut   = {
		width: 0
	};
	opts.cssAfter  = {
		display: 'none'
	};
};
jQuery.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.animIn.width = next.cycleW;
		opts.animOut.left = curr.cycleW;
	});
	opts.cssBefore = {
		left: 0,
		width: 0
	};
	opts.animIn    = {
		left: 0
	};
	opts.animOut   = {
		width: 0
	};
	opts.cssAfter  = {
		display: 'none'
	};
};

// zoom
jQuery.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
	opts.cssFirst = {
		top:0,
		left: 0
	};
	opts.cssAfter = {
		display: 'none'
	};

	opts.before.push(function(curr, next, opts) {
		jQuery(this).show();
		opts.cssBefore = {
			width: 0,
			height: 0,
			top: next.cycleH/2,
			left: next.cycleW/2
		};
		opts.animIn    = {
			top: 0,
			left: 0,
			width: next.cycleW,
			height: next.cycleH
		};
		opts.animOut   = {
			width: 0,
			height: 0,
			top: curr.cycleH/2,
			left: curr.cycleW/2
		};
	});
};

// fadeZoom
jQuery.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		opts.cssBefore = {
			width: 0,
			height: 0,
			opacity: 1,
			left: next.cycleW/2,
			top: next.cycleH/2,
			zIndex: 1
		};
		opts.animIn    = {
			top: 0,
			left: 0,
			width: next.cycleW,
			height: next.cycleH
		};
	});
	opts.animOut  = {
		opacity: 0
	};
	opts.cssAfter = {
		zIndex: 0
	};
};


$.fn.cycle.defaults.timeout = 8000;
$(function() {
	$("#featuredpost").cycle({
		fx:     "turnDown",
		speed:  "fast",
		timeout: 8000,
		next: "#next2",
		prev: "#prev2"
	});
});

/* idTabs ~ Sean Catchpole - Version 2.2 - MIT/GPL */
(function(){
	var init=function(){
		(function($){
			$.fn.idTabs=function(){
				var s={};

				for(var i=0;i<arguments.length;++i){
					var a=arguments[i];
					switch(a.constructor){
						case Object:
							$.extend(s,a);
							break;
						case Boolean:
							s.change=a;
							break;
						case Number:
							s.start=a;
							break;
						case Function:
							s.click=a;
							break;
						case String:
							if(a.charAt(0)=='.')s.selected=a;
							else if(a.charAt(0)=='!')s.event=a;else s.start=a;
							break;
					}
				}
				if(typeof s['return']=="function")
					s.change=s['return'];
				return this.each(function(){
					$.idTabs(this,s);
				});
			}
			$.idTabs=function(tabs,options){
				var meta=($.metadata)?$(tabs).metadata():{};

				var s=$.extend({},$.idTabs.settings,meta,options);
				if(s.selected.charAt(0)=='.')s.selected=s.selected.substr(1);
				if(s.event.charAt(0)=='!')s.event=s.event.substr(1);
				if(s.start==null)s.start=-1;
				var showId=function(){
					if($(this).is('.'+s.selected))
						return s.change;
					var id="#"+this.href.split('#')[1];
					var aList=[];
					var idList=[];
					$("a",tabs).each(function(){
						if(this.href.match(/#/)){
							aList.push(this);
							idList.push("#"+this.href.split('#')[1]);
						}
					});
					if(s.click&&!s.click.apply(this,[id,idList,tabs,s]))return s.change;
					for(i in aList)$(aList[i]).removeClass(s.selected);for(i in idList)$(idList[i]).hide();$(this).addClass(s.selected);
					$(id).show();
					return s.change;
				}
				var list=$("a[href*='#']",tabs).unbind(s.event,showId).bind(s.event,showId);
				list.each(function(){
					$("#"+this.href.split('#')[1]).hide();
				});
				var test=false;
				if((test=list.filter('.'+s.selected)).length);
				else if(typeof s.start=="number"&&(test=list.eq(s.start)).length);
				else if(typeof s.start=="string"&&(test=list.filter("[href*='#"+s.start+"']")).length);
				if(test){
					test.removeClass(s.selected);
					test.trigger(s.event);
				}
				return s;
			}
			$.idTabs.settings={
				start:0,
				change:false,
				click:null,
				selected:".selected",
				event:"!click"
			};

			$.idTabs.version="2.2";
			$(function(){
				$(".idTabs").idTabs();
			});
		})(jQuery);
	}
	var check=function(o,s){
		s=s.split('.');
		while(o&&s.length)o=o[s.shift()];
		return o;
	}
	var head=document.getElementsByTagName("head")[0];
	var add=function(url){
		var s=document.createElement("script");
		s.type="text/javascript";
		s.src=url;
		head.appendChild(s);
	}
	var s=document.getElementsByTagName('script');
	var src=s[s.length-1].src;
	var ok=true;
	return init();
	add(src);
})();

/* this is to pre populate aweber forms if there are URL paramaters
 * with people's info
 */
var formData = function() {
	var query_string = (location.search) ? ((location.search.indexOf('#') != -1) ? location.search.substring(1, location.search.indexOf('#')) : location.search.substring(1)) : '';
	var elements = [];
	if(query_string) {
		var pairs = query_string.split("&");
		for(i in pairs) {
			var tmp = pairs[i].split("=");
			elements[unescape(tmp[0])] = unescape(tmp[1]);
		}
	}
	return {
		display: function(key) {
			if(elements[key]) {
				return elements[key];
			} else {
				return "";
			}
		}
	}
}();

function prepopulate(){
	var email = formData.display('from');
	var str = formData.display('name');
	var fname = str.split(" ")[0];
	var lname = str.split(" ")[1];

	if(fname == undefined) fname = '';
	if(lname == undefined) lname = '';

	if(email != undefined && email != ''){
		email_fields = document.getElementsByName('email');
		for(var i = 0; i < email_fields.length; i++){
			obj = email_fields.item(i);
			obj.value = email;
		}
	}

	fname_fields = document.getElementsByName('name (awf_first)');
	for(i = 0; i < fname_fields.length; i++){
		obj = fname_fields.item(i);
		obj.value = fname;
	}

	lname_fields = document.getElementsByName('name (awf_last)');
	for(i = 0; i < lname_fields.length; i++){
		obj = lname_fields.item(i);
		obj.value = lname;
	}

	name_fields = document.getElementsByName('name');
	for(i = 0; i < name_fields.length; i++){
		obj = name_fields.item(i);
		obj.value = fname + ' ' + lname;
	}
}

/* aweber condense */
function getElementsByStyleClass (className) {
	var all = document.all ? document.all : document.getElementsByTagName('*');
	var elements = new Array();
	for (var e = 0; e < all.length; e++)
		if (all[e].className == className)
			elements[elements.length] = all[e];
	return elements;
}


function shuffle(array) {
    var tmp, current, top = array.length;
    if(top) while(--top) {
        current = Math.floor(Math.random() * (top + 1));
        tmp = array[current];
        array[current] = array[top];
        array[top] = tmp;
    }
    return array;
}
function aweber_display_all(){
	if(document.getElementById('showAll') !== undefined){
		document.getElementById('showAll').setAttribute("style", "text-align: center; padding-top: 0px;");
		document.getElementById('showAll').innerHTML = '<a href="javascript:selectAll();aweber_display_all();">Select All</a>';
	}
	obj = getElementsByStyleClass('af-element af-element-checkbox');
	for(i = 0; i < obj.length; i++){
		obj[i].style.display = 'block';
	}
}
function selectAll(){
	obj = getElementsByStyleClass('checkbox');
	for (i = 0; i < obj.length; i++){
		obj[i].checked = true;
	}
}
function aweber_condense(ticked_color, max_companies_shown){
	//set default ticked color
	if(ticked_color === undefined)
		ticked_color = 'red';
	if(max_companies_shown === undefined)
		max_companies_shown = 50;

	//change div styles for the checkbox / choice elements
	var obj = getElementsByStyleClass('af-element af-element-checkbox');
	for (var i = 0; i < obj.length; i++){
		obj[i].style.padding = '1px';
		obj[i].style.paddingBottom = '0px';
		obj[i].style.marginBottom = '1px';
		obj[i].style.fontFamily = 'Arial';
	}
	obj = getElementsByStyleClass('af-element');
	for (i = 0; i < obj.length; i++){
		obj[i].style.padding = '4px 15px 0px';
	}
	//indent
	obj = getElementsByStyleClass('af-checkWrap');
	for (i = 0; i < obj.length; i++)
		obj[i].style.width = '94%';


	//checkbox style and pre checking
	obj = getElementsByStyleClass('checkbox');
	var lucky = [Math.floor(Math.random() * obj.length)]; // lucky[0] = random
	var unlucky = new Array();
//var lucky = [8]; test
	for (i = 0; i < obj.length; i++){
		obj[i].style.marginRight = '12px';
		obj[i].style.marginBottom = '1px';
		if(obj[i].checked == true){
			lucky.push(i);
		} else if(lucky[0] != i) {
			unlucky.push(i);
		}
	}
	for (i in lucky){
		obj[lucky[i]].checked = true;
	}
	shuffle(unlucky);
	//hide unlucky companies
	maxCompanies = max_companies_shown;
	obj = getElementsByStyleClass('af-element af-element-checkbox');
	if(obj.length > maxCompanies){
		var hideCount = obj.length - maxCompanies;

		for(i = 0; i < hideCount; i++){
			obj[unlucky.pop()].style.display = 'none';
		}
		var showAll = document.createElement('div');
		showAll.id = "showAll";
		showAll.setAttribute("style", "text-align: center; padding-top: 4px;");
		showAll.innerHTML = '<a href="javascript:aweber_display_all();">Display ' + hideCount + ' More Companies</a> or '
		+ '<a href="javascript:selectAll();aweber_display_all();">Select All</a>';
		insertAfter(showAll, obj[obj.length - 1]);
	} else {
		showAll = document.createElement('div');
		showAll.id = "showAll";
		showAll.setAttribute("style", "text-align: center; padding-top: 0px;");
		showAll.innerHTML = '<a href="javascript:selectAll();aweber_display_all();">Select All</a>';
		insertAfter(showAll, obj[obj.length - 1]);
	}

	//font fix / coloring choices
	obj = getElementsByStyleClass('choice');
	for (i = 0; i < obj.length; i++){
		obj[i].style.fontFamily = 'Arial';
		obj[i].style.fontWeight = 'bold';
		obj[i].style.fontSize = '14px';
	}
	for(var j in lucky){
		obj[lucky[j]].style.color = ticked_color;
	}

	obj = getElementsByStyleClass('text');
	for (i = 0; i < obj.length; i++){
		obj[i].style.fontFamily = 'Arial';
	}
	aweber_display_all();
	selectAll();
}
function insertAfter(newChild, refChild) {
	refChild.parentNode.insertBefore(newChild,refChild.nextSibling);
}


jQuery(document).ready(function() {
	jQuery(".nav1 ul").css({
		display: "none"
	}); // Opera Fix
	jQuery(".nav1 li").hover(function(){
		jQuery(this).find('ul:first').css({
			visibility: "visible",
			display: "none"
		}).show(200);
	},function(){
		jQuery(this).find('ul:first').css({
			visibility: "hidden"
		});
	});

    var features = $('.featured-stock');
    var numFeatures = features.length;
    var lucky = Math.round(Math.random() * numFeatures);
    features.eq(lucky).show();
});


//start extsrc

var extsrc=null;(function(){extsrc=new Object;extsrc.complete=function(f){this.complete.funcs.push(f);};extsrc.complete.funcs=[];var document_write=document.write;var document_writeln=document.writeln;var buffer='';var span='';function dumpBuffer(){if(buffer&&span){document.write=document_write;document.writeln=document_writeln;var txt=document.createElement('span');txt.innerHTML=buffer;span.appendChild(txt);buffer='';};};function runNextScript(){dumpBuffer();var scripts=document.getElementsByTagName('script');for(var i=0;i<scripts.length;i++){var current_script=scripts[i];var cur_asyncsrc=current_script.getAttribute('asyncsrc');if(cur_asyncsrc){current_script.setAttribute('asyncsrc','');var s=document.createElement('script');s.async=true;s.src=cur_asyncsrc;document.getElementsByTagName('head')[0].appendChild(s);};var cur_extsrc=current_script.getAttribute('extsrc');if(cur_extsrc){current_script.setAttribute('extsrc','');span=document.createElement('span');current_script.parentNode.insertBefore(span,current_script);document.write=function(txt){buffer+=txt;};document.writeln=function(txt){buffer+=txt;buffer+='\n';};var s=document.createElement('script');s.async=true;s.src=cur_extsrc;if(isIE()){s.onreadystatechange=function(){if(this.readyState=='loaded'||this.readyState=='complete'){runNextScript();};};}else{if((navigator.userAgent.indexOf("Firefox")!=-1)||('onerror'in s)){s.onload=runNextScript;s.onerror=runNextScript;}else{s.onload=runNextScript;s.onreadystatechange=runNextScript;};};document.getElementsByTagName('head')[0].appendChild(s);return;};};dumpBuffer();document.write=document_write;document.writeln=document_writeln;for(var i=0;i<extsrc.complete.funcs.length;i++){extsrc.complete.funcs[i]();};};function isIE(){return/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent);};function init(){if(arguments.callee.done)return;arguments.callee.done=true;runNextScript();};if(document.addEventListener){document.addEventListener("DOMContentLoaded",init,false);}
if(/WebKit/i.test(navigator.userAgent)){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){clearInterval(_timer);init();}},10);}
window.onload=init;})();


