From: "Opgeslagen met Windows Internet Explorer 8"
Subject: Forever Living Products Benelux - Producthandboek_NL_5 - Forever Living Products
Date: Mon, 31 May 2010 13:40:06 +0200
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CB00C6.C7807400"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18197

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/magazine.php

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=3Den xml:lang=3D"en" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Forever Living =
Products Benelux - Producthandboek_NL_5 - Forever Living =
Products</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/js/jquery-1.4.1.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/js/jquery.jqplugin.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/js/jquery.floatobject-1.4.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/js/custom.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/js/supersleight.plugin.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/swfobject.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/swfaddress.js"></SCRIPT>

<SCRIPT>=0A=
	var viewHtmlReader =3D 0;=0A=
	var showFlashReader =3D '0';=0A=
	=0A=
		=0A=
	var realZoomImageWidth =3D (454*2);=0A=
	var realZoomImageHeight =3D (454*2);=0A=
	var minimumScreenWidth =3D 240;=0A=
	var minimumPageWidth =3D 100;=0A=
	var maximumTableWidth =3D 942;=0A=
	var maximumFlashWidth =3D '450';=0A=
	var extraMenuBarWidth =3D 15;=0A=
	//alert(viewHtmlReader + '' + showFlashReader);=0A=
	var Framed =3D "0";=0A=
	if(top.location !=3D location) {=0A=
		Framed =3D "1";			=0A=
	}	=0A=
	=0A=
	var Poped =3D "0";=0A=
	if(window.name =3D=3D "popwin") {=0A=
		Poped =3D "1";			=0A=
	}=0A=
	=0A=
	function getCurrentBrowser() {=0A=
		var q_currentBrowser;=0A=
		// Check if it is Safari=0A=
		if( $.browser.safari ) {=0A=
			q_currentBrowser =3D 1;=0A=
		}=0A=
		=0A=
		// Check if it is above IE6=0A=
		if ($.browser.msie && $.browser.version > 6 ) { =0A=
			q_currentBrowser =3D 2;=0A=
		}=0A=
		=0A=
		// Check if it is IE6 and below=0A=
		if ($.browser.msie && $.browser.version <=3D 6 ) {=0A=
			q_currentBrowser =3D 3;=0A=
		}=0A=
		=0A=
		// Check if it is Firefox 2 and above=0A=
		if ($.browser.mozilla && $.browser.version >=3D "1.8" ) {=0A=
			q_currentBrowser =3D 4;=0A=
		}=0A=
		=0A=
		return q_currentBrowser;=0A=
	=0A=
	}=0A=
	=0A=
=0A=
	function getHtmlContent() {=0A=
		if (viewHtmlReader =3D=3D 1) {=0A=
			if (showFlashReader =3D=3D 'nee') {=0A=
				$("#minimalStageSize").css("display", 'none');=0A=
				$("#global_container").css("display", 'block');=0A=
			} else {=0A=
				if (jQuery.browser.flash !=3D true) {=0A=
					$("#minimalStageSize").css("display", 'none');=0A=
					$("#global_container").css("display", 'block');=0A=
				} else {=0A=
					$("#minimalStageSize").css("display", 'block');=0A=
					$("#global_container").css("display", 'none');=0A=
				}=0A=
			}=0A=
		} else {=0A=
			if (jQuery.browser.flash !=3D true) {=0A=
				$("#minimalStageSize").css("display", 'none');=0A=
				$("#global_container").css("display", 'block');=0A=
			} else {=0A=
				$("#minimalStageSize").css("display", 'block');=0A=
				$("#global_container").css("display", 'none');=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	if (jQuery.browser.flash !=3D true || viewHtmlReader =3D=3D 1) {=0A=
	=0A=
		var spreadNum =3D 0;=0A=
		// PDF download=0A=
		function getPdfDownload () {=0A=
			=
window.open('collect_pdf.php','CompletePDF','scrollbars=3Dyes,toolbar=3Dy=
es,resizable=3Dyes');=0A=
		}=0A=
		=0A=
		function getPdfDownloadExport () {=0A=
			=
window.open('../content/collect_pdf.pdf','CompletePDF','scrollbars=3Dyes,=
toolbar=3Dyes,resizable=3Dyes');=0A=
		}=0A=
		=0A=
		var original_value =3D '';=0A=
		function clearSearch (value) {=0A=
			original_value =3D value;=0A=
			var searchField =3D document.getElementById('searchField');=0A=
			searchField.value =3D '';=0A=
		}=0A=
		=0A=
		function setSearch (value) {=0A=
			if (value =3D=3D '') {=0A=
				var searchField =3D document.getElementById('searchField');=0A=
				searchField.value =3D original_value;=0A=
			}=0A=
		}=0A=
		=0A=
		function changeImage(field, status) {=0A=
			var file =3D document.getElementById(field);=0A=
			if (status =3D=3D '1') { file.src =3D "htmlReader/gfx/btn_" + field + =
"_off.png"; } else { file.src =3D "htmlReader/gfx/btn_" + field + =
".png"; }=0A=
			$('body').supersleight({shim: 'htmlReader/gfx/x.gif'});=0A=
		}=0A=
		=0A=
		function createCookie(name,value,days) {=0A=
			if (days) {=0A=
				var date =3D new Date();=0A=
				date.setTime(date.getTime()+(days*24*60*60*1000));=0A=
				var expires =3D "; expires=3D"+date.toGMTString();=0A=
			}=0A=
			else var expires =3D "";=0A=
			document.cookie =3D name+"=3D"+value+expires+"; path=3D/";=0A=
		}=0A=
		=0A=
		function readCookie(name) {=0A=
			var nameEQ =3D name + "=3D";=0A=
			var ca =3D document.cookie.split(';');=0A=
			for(var i=3D0;i < ca.length;i++) {=0A=
				var c =3D ca[i];=0A=
				while (c.charAt(0)=3D=3D' ') c =3D c.substring(1,c.length);=0A=
				if (c.indexOf(nameEQ) =3D=3D 0) return =
c.substring(nameEQ.length,c.length);=0A=
			}=0A=
			return null;=0A=
		}=0A=
		=0A=
		function eraseCookie(name) { createCookie(name,"",-1); }=0A=
		=0A=
		var shownFlash =3D 0;=0A=
		function showFlashBox () {=0A=
			var cookie =3D readCookie('showFlash');=0A=
			//alert(cookie);=0A=
			if (cookie !=3D 'no') {=0A=
				var cookie2 =3D readCookie('flashShown');=0A=
				$('#flashBox').fadeIn();=0A=
					setTimeout(function(){=0A=
						$('#flashBox').fadeOut();=0A=
						$("#flashBox").css("display", 'none');=0A=
					}, 5000);=0A=
				shownFlash =3D 1;=0A=
				createCookie('flashShown','yes',1);=0A=
			} else {=0A=
				$("#flashBox").css("display", 'none');=0A=
			}=0A=
		}=0A=
		=0A=
		function dontShowAgain () {=0A=
			var box =3D document.getElementById('dontShow');=0A=
			if (box.checked =3D=3D true) { =0A=
				createCookie('showFlash','no',1); =0A=
				$("#flashBox").css("display", 'none');=0A=
			} else { =0A=
				createCookie('showFlash','yes',1); =0A=
			}=0A=
		}=0A=
		=0A=
		function setFlashBoxPosition(newWindowWidth, maximumFlashWidth) {=0A=
			$("#flashBox").css("width", maximumFlashWidth);=0A=
			var newMarginLeft =3D ((newWindowWidth-maximumFlashWidth)/2)-10 + =
'px';=0A=
			$("#flashBox").css("margin-left", newMarginLeft);=0A=
			return;=0A=
		}=0A=
		=0A=
		function showZoomPage(imageUrl,currentSpread) {=0A=
			var zoompage =3D document.getElementById('zoom_page');=0A=
			zoompage.style.display =3D 'block';=0A=
			=0A=
			var zoomImage =3D document.getElementById('zoomImage');=0A=
			zoomImage.src =3D imageUrl;=0A=
			=0A=
			var spreadNum =3D currentSpread;=0A=
			// Set the front help only if it is the first page=0A=
			if (isNaN(spreadNum) || spreadNum =3D=3D 0) { =0A=
				var fronthelp =3D document.getElementById('frontHelp'); =0A=
				fronthelp.style.display =3D 'none'; =0A=
			}=0A=
			=0A=
			var pageContainer =3D document.getElementById('page_holder');=0A=
			pageContainer.style.display =3D 'none';=0A=
=0A=
			resizeZoom();=0A=
		}=0A=
		=0A=
		function showPageContainer(currentSpread) {=0A=
			var zoompage =3D document.getElementById('zoom_page');=0A=
			zoompage.style.display =3D 'none';=0A=
			=0A=
			var zoomImage =3D document.getElementById('zoomImage');=0A=
			zoomImage.src =3D 'htmlReader/gfx/empty.gif';=0A=
			=0A=
			var spreadNum =3D currentSpread;=0A=
			//alert(spreadNum);=0A=
			// Set the front help only if it is the first page=0A=
			if (isNaN(spreadNum) || spreadNum =3D=3D 0) {=0A=
				var fronthelp =3D document.getElementById('frontHelp');=0A=
				fronthelp.style.display =3D 'block';=0A=
			}=0A=
			=0A=
			var pageContainer =3D document.getElementById('page_holder');=0A=
			pageContainer.style.display =3D 'block';=0A=
		=0A=
			resizePage(extraMenuBarWidth);=0A=
		}=0A=
		=0A=
		=0A=
		=0A=
		function resizePage (menuBarExtra) {=0A=
			$("body").css("background-color", '#FFFFFF');=0A=
			var screenHeight =3D $(window).height();=0A=
			var screenWidth =3D $(window).width();=0A=
		=0A=
			var newScreenWidth =3D Math.round((screenWidth/100) * 90);=0A=
			var newScreenHeight =3D Math.round((screenHeight/100) * 90);=0A=
			//alert(newScreenWidth);=0A=
		=0A=
			// Set menu size=0A=
			var menuTable =3D document.getElementById('menu-table');=0A=
			//alert(menuTable.width);=0A=
			var newWidth =3D 0;=0A=
			//alert(newScreenWidth);=0A=
			if (newScreenWidth >=3D maximumTableWidth) {=0A=
				newWidth =3D maximumTableWidth;=0A=
			} else if (newScreenWidth < minimumScreenWidth) {=0A=
				newWidth =3D minimumScreenWidth;=0A=
			} else {=0A=
				newWidth =3D newScreenWidth;=0A=
			}=0A=
			=0A=
			var newestWidth =3D (newWidth+menuBarExtra);=0A=
			var newestMargin =3D ((screenWidth-newWidth)/2);=0A=
			$("#menu_table").css("width", newestWidth);=0A=
			$("#menu_table").css("margin-left", newestMargin);=0A=
			=0A=
			// end setting menu size=0A=
			// Set the width and height of the pages=0A=
			var allImages =3D document.images;=0A=
			var cii =3D 0;=0A=
			var new_width;=0A=
			var new_height;=0A=
			var spreadwidth =3D 0;=0A=
			for (var ci =3D 0; ci < allImages.length; ci++) {=0A=
				if (allImages[ci].className =3D=3D 'pageImage') {=0A=
				=0A=
					var image_width =3D allImages[ci].width;=0A=
					var image_height =3D allImages[ci].height;=0A=
					var height_ratio  =3D image_height / newScreenHeight;=0A=
					var width_ratio   =3D image_width / newScreenWidth;=0A=
					var old_height_ratio =3D image_height/100;=0A=
					var old_width_ratio =3D image_width/100;=0A=
					//alert(height_ratio + '-' + width_ratio);=0A=
					if (height_ratio > width_ratio) {=0A=
						new_height =3D Math.round(newScreenHeight - 10);=0A=
						var ratio_perc =3D new_height/old_height_ratio;=0A=
						new_width =3D Math.round(old_width_ratio*ratio_perc);=0A=
						=0A=
						spreadwidth =3D new_width*2;=0A=
						//alert(spreadwidth + '-' + newScreenWidth);=0A=
						if (spreadwidth > newScreenWidth) {=0A=
							new_width =3D Math.round((newScreenWidth - 50)/2);=0A=
							ratio_perc =3D new_width/old_width_ratio;=0A=
							new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
							=0A=
						} else {=0A=
							new_width =3D Math.round((spreadwidth - 50)/2);=0A=
							ratio_perc =3D new_width/old_width_ratio;=0A=
							new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
							//alert(new_width);alert(new_height);=0A=
						}=0A=
					} else {=0A=
						new_width =3D Math.round((newScreenWidth - 50)/2);=0A=
						spreadwidth =3D new_width*2;=0A=
						ratio_perc =3D new_width/old_width_ratio;=0A=
						new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
					}=0A=
					=0A=
					if (new_width < minimumPageWidth){=0A=
						new_width =3D minimumPageWidth;=0A=
						spreadwidth =3D new_width*2;=0A=
						ratio_perc =3D new_width/old_width_ratio;=0A=
						new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
					}=0A=
					=0A=
					allImages[ci].height =3D new_height;=0A=
					allImages[ci].width =3D new_width;=0A=
				} =0A=
			}=0A=
			// end setting width and height of pages=0A=
			//alert((new_width*2));=0A=
			$("#page_holder").css("width", (new_width*2));=0A=
			$("#page_holder").css("height", new_height);=0A=
			=0A=
			$("#contentHolder").css("width", ((new_width*2)+20));=0A=
			$("#contentHolder").css("height", (new_height+20));=0A=
			=0A=
			// Set the front help only if it is the first page=0A=
			var fronthelpWidth;=0A=
			var fronthelpHeight;=0A=
			if (isNaN(spreadNum) || spreadNum =3D=3D 0) {=0A=
				var fronthelp =3D document.getElementById('frontHelp');=0A=
				=0A=
				if (new_width < 272) {=0A=
		=0A=
					fronthelpWidth =3D (fronthelp.width*(ratio_perc/100));=0A=
					fronthelpHeight =3D (fronthelp.height*(ratio_perc/100));=0A=
		=0A=
					$("#frontHelp").css("width", fronthelpWidth);=0A=
					$("#frontHelp").css("height", fronthelpHeight);=0A=
					=0A=
					=0A=
				} else {=0A=
					$("#frontHelp").css("width", '272');=0A=
					fronthelpWidth =3D 272;=0A=
					$("#frontHelp").css("height", '94');=0A=
					fronthelpHeight =3D 94;=0A=
				}=0A=
				=0A=
				$("#frontHelp").css("margin-top", ((new_height-fronthelpHeight)/2));=0A=
				$("#frontHelp").css("margin-left", ((new_width-fronthelpWidth)/2));=0A=
			}=0A=
		}=0A=
		=0A=
		=0A=
		function resizeZoom () {=0A=
			var screenHeight =3D $(window).height();=0A=
			var screenWidth =3D $(window).width();=0A=
			var newScreenWidth =3D Math.round((screenWidth/100) * 90);=0A=
			var newScreenHeight =3D Math.round((screenHeight/100) * 90);=0A=
			//alert(newScreenWidth);=0A=
=0A=
			var zoom_image_width =3D $("#zoomImage").css("width");=0A=
			zoom_image_width =3D zoom_image_width.replace("px", "");=0A=
		=0A=
			var zoom_image_height =3D $("#zoomImage").css("height");=0A=
			zoom_image_height =3D zoom_image_height.replace("px", "");=0A=
			=0A=
			var zoom_old_width_ratio =3D zoom_image_width/100;=0A=
			var zoom_old_height_ratio =3D zoom_image_height/100;=0A=
=0A=
			if (newScreenWidth < minimumScreenWidth) {=0A=
				newScreenWidth =3D minimumScreenWidth;=0A=
			}=0A=
			=0A=
			var new_zoom_width =3D (newScreenWidth)-50;=0A=
			=0A=
			=0A=
			var current =3D getCurrentBrowser();=0A=
			if (current =3D=3D 2 || current =3D=3D 3) {=0A=
				if (realZoomImageWidth < new_zoom_width) {=0A=
					new_zoom_width =3D realZoomImageWidth;=0A=
				}=0A=
			}=0A=
			$("#zoomImage").css("width", new_zoom_width);=0A=
			=0A=
			var zoom_ratio_perc =3D new_zoom_width/zoom_old_width_ratio;=0A=
			var new_zoom_height =3D =
Math.round(zoom_old_height_ratio*zoom_ratio_perc);=0A=
			=0A=
			if (current =3D=3D 2 || current =3D=3D 3) {=0A=
				if (realZoomImageHeight < new_zoom_height) {=0A=
					new_zoom_height =3D realZoomImageHeight;=0A=
				}=0A=
			}=0A=
			$("#zoomImage").css("height", new_zoom_height);=0A=
			=0A=
			=0A=
			//alert(new_zoom_width);=0A=
			$("#zoom_page").css("width", (new_zoom_width));=0A=
			$("#zoom_page").css("height", '100%');=0A=
			=0A=
			$("#contentHolder").css("width", (new_zoom_width+20));=0A=
			$("#contentHolder").css("height", '100%');=0A=
		}=0A=
	=0A=
	}=0A=
		=0A=
	$(document).ready(function(){=0A=
		=0A=
		getHtmlContent();=0A=
		=0A=
		var current =3D getCurrentBrowser();=0A=
		//alert(current);=0A=
		if (current !=3D 2 && current !=3D 3) {=0A=
			$("body").css("background-color", '#FFFFFF');=0A=
			if (jQuery.browser.flash !=3D true || viewHtmlReader =3D=3D 1) {=0A=
				=0A=
				var newWindowWidth =3D $(window).width();=0A=
				if (viewHtmlReader =3D=3D 0 || showFlashReader =3D=3D 'ja') {=0A=
					var  isiPad =3D navigator.userAgent.match(/iPad/i)  !=3D null;=0A=
					if (isiPad !=3D=3D true) {=0A=
						$("#flashBox").css("display", 'block');=0A=
						setFlashBoxPosition(newWindowWidth, maximumFlashWidth);=0A=
						showFlashBox();=0A=
					}=0A=
				}=0A=
				resizePage(extraMenuBarWidth);=0A=
			}=0A=
		}=0A=
	});=0A=
=0A=
	=0A=
	$(window).bind('resize', function () {=0A=
	=0A=
		getHtmlContent();=0A=
		=0A=
		if (jQuery.browser.flash !=3D true || viewHtmlReader =3D=3D 1) {=0A=
		=0A=
			var newWindowWidth =3D $(window).width();=0A=
			if (viewHtmlReader =3D=3D 0 || showFlashReader =3D=3D 'ja') {=0A=
				var  isiPad =3D navigator.userAgent.match(/iPad/i)  !=3D null;=0A=
				if (isiPad !=3D=3D true) {=0A=
					$("#flashBox").css("display", 'block');=0A=
					setFlashBoxPosition(newWindowWidth. maximumFlashWidth);=0A=
					showFlashBox();=0A=
				}=0A=
			}=0A=
			resizePage(extraMenuBarWidth);=0A=
		}=0A=
	});=0A=
</SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/htmlReader/css/style.css">
<STYLE type=3Dtext/css>BODY {
	MARGIN: 0px; WIDTH: 100%; FONT: 11px/1.3em =
verdana,arial,helvetica,sans-serif
}
#flashcontent {
	TEXT-ALIGN: center; MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
#flashcontent .noflash {
	BACKGROUND: #f00; COLOR: #fff
}
.minimalStageSize {
	MIN-WIDTH: 360px; MIN-HEIGHT: 280px; WIDTH: 100%; HEIGHT: 100%
}
.global-container {
	WIDTH: 100%; DISPLAY: none
}
.zoom_image {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 908px; PADDING-RIGHT: 0px; HEIGHT: 908px; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.menuTable {
	BACKGROUND-IMAGE: url(htmlReader/gfx/middenstuk.png); POSITION: =
relative; MARGIN: 10px auto 30px; MAX-WIDTH: 942px; HEIGHT: 34px
}
.pageInfo {
	POSITION: absolute; WIDTH: 0px; BOTTOM: -10px; HEIGHT: 0px; OVERFLOW: =
hidden; LEFT: -10px
}
</STYLE>

<META name=3Dtitle=20
content=3D"Forever Living Products Benelux - Producthandboek_NL_5 - =
Forever Living Products">
<META name=3Ddescription content=3DProducthandboek_NL_5><LINK =
rel=3Dimage_src=20
href=3D"http://epub01.publitas.nl/_cover/170_24e57e9e145a73a37ce5b0d40329=
5b17.jpg">
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18904"></HEAD>
<BODY marginwidth=3D"0" marginheight=3D"0">
<DIV class=3DpageInfo>
<H1>Producthandboek_NL_5</H1>
<P>Producthandboek Nederland NL </P>
<P><BR><A =
href=3D"http://www.publitas.com/">http://www.publitas.com/</A>, <A=20
href=3D"http://www.publitas.nl/">http://www.publitas.nl/</A><BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D2">Producthandboek_NL_5=20
Pagina 2 &amp; 3 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D4">Producthandboek_NL_5=20
Pagina 4 &amp; 5 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D6">Producthandboek_NL_5=20
Pagina 6 &amp; 7 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D8">Producthandboek_NL_5=20
Pagina 8 &amp; 9 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D10">Producthandboek_NL_5=20
Pagina 10 &amp; 11 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D12">Producthandboek_NL_5=20
Pagina 12 &amp; 13 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D14">Producthandboek_NL_5=20
Pagina 14 &amp; 15 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D16">Producthandboek_NL_5=20
Pagina 16 &amp; 17 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D18">Producthandboek_NL_5=20
Pagina 18 &amp; 19 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D20">Producthandboek_NL_5=20
Pagina 20 &amp; 21 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D22">Producthandboek_NL_5=20
Pagina 22 &amp; 23 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D24">Producthandboek_NL_5=20
Pagina 24 &amp; 25 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D26">Producthandboek_NL_5=20
Pagina 26 &amp; 27 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D28">Producthandboek_NL_5=20
Pagina 28 &amp; 29 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D30">Producthandboek_NL_5=20
Pagina 30 &amp; 31 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D32">Producthandboek_NL_5=20
Pagina 32 &amp; 33 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D34">Producthandboek_NL_5=20
Pagina 34 &amp; 35 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D36">Producthandboek_NL_5=20
Pagina 36 &amp; 37 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D38">Producthandboek_NL_5=20
Pagina 38 &amp; 39 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D40">Producthandboek_NL_5=20
Pagina 40 &amp; 41 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D42">Producthandboek_NL_5=20
Pagina 42 &amp; 43 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D44">Producthandboek_NL_5=20
Pagina 44 &amp; 45 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D46">Producthandboek_NL_5=20
Pagina 46 &amp; 47 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D48">Producthandboek_NL_5=20
Pagina 48 &amp; 49 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D50">Producthandboek_NL_5=20
Pagina 50 &amp; 51 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D52">Producthandboek_NL_5=20
Pagina 52 &amp; 53 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D54">Producthandboek_NL_5=20
Pagina 54 &amp; 55 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D56">Producthandboek_NL_5=20
Pagina 56 &amp; 57 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D58">Producthandboek_NL_5=20
Pagina 58 &amp; 59 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D60">Producthandboek_NL_5=20
Pagina 60 &amp; 61 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D62">Producthandboek_NL_5=20
Pagina 62 &amp; 63 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D64">Producthandboek_NL_5=20
Pagina 64 &amp; 65 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D66">Producthandboek_NL_5=20
Pagina 66 &amp; 67 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D68">Producthandboek_NL_5=20
Pagina 68 &amp; 69 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D70">Producthandboek_NL_5=20
Pagina 70 &amp; 71 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D72">Producthandboek_NL_5=20
Pagina 72 &amp; 73 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D74">Producthandboek_NL_5=20
Pagina 74 &amp; 75 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D76">Producthandboek_NL_5=20
Pagina 76 &amp; 77 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D78">Producthandboek_NL_5=20
Pagina 78 &amp; 79 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D80">Producthandboek_NL_5=20
Pagina 80 &amp; 81 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D82">Producthandboek_NL_5=20
Pagina 82 &amp; 83 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D84">Producthandboek_NL_5=20
Pagina 84 &amp; 85 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D86">Producthandboek_NL_5=20
Pagina 86 &amp; 87 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D88">Producthandboek_NL_5=20
Pagina 88 &amp; 89 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D90">Producthandboek_NL_5=20
Pagina 90 &amp; 91 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D92">Producthandboek_NL_5=20
Pagina 92 &amp; 93 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D94">Producthandboek_NL_5=20
Pagina 94 &amp; 95 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D96">Producthandboek_NL_5=20
Pagina 96 &amp; 97 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D98">Producthandboek_NL_5=20
Pagina 98 &amp; 99 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D100">Producthandboek_NL_5=20
Pagina 100 &amp; 101 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D102">Producthandboek_NL_5=20
Pagina 102 &amp; 103 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D104">Producthandboek_NL_5=20
Pagina 104 &amp; 105 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D106">Producthandboek_NL_5=20
Pagina 106 &amp; 107 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D108">Producthandboek_NL_5=20
Pagina 108 &amp; 109 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D110">Producthandboek_NL_5=20
Pagina 110 &amp; 111 van 112</A>,<BR><A=20
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D112">Producthandboek_NL_5=20
Pagina 112 van 112</A>,<BR></P></DIV>
<DIV id=3Dglobal_container class=3Dglobal-container>
<TABLE id=3Dmenu_table class=3DmenuTable border=3D0 cellSpacing=3D0 =
cellPadding=3D0>
  <TBODY>
  <TR>
    <TD class=3Dwhite width=3D20></TD>
    <TD class=3Dwhite width=3D31><IMG border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/linkerkant.png"=20
      width=3D31 height=3D34></TD>
    <TD width=3D31><IMG style=3D"WIDTH: 31px" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/transparant.png"=20
      height=3D34></TD>
    <TD><IMG style=3D"WIDTH: 20%" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/transparant.png"=20
      height=3D34></TD>
    <TD width=3D2><IMG border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/sideshade.png"=20
      width=3D2 height=3D34></TD>
    <TD width=3D28><A id=3Dmenu_btn_left class=3Dcross-link=20
      =
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D112&amp;language=3DNL"><IMG=20
      id=3Dgo_left class=3Dmenu-btn =
onmouseover=3D"changeImage('go_left', '1');"=20
      onmouseout=3D"changeImage('go_left', '0');"=20
      onclick=3D"getCurrentSpreads('neg')" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/btn_go_left.png"=20
      width=3D28 height=3D34></A></TD>
    <TD width=3D2><IMG border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/sideshade.png"=20
      width=3D2 height=3D34></TD>
    <TD=20
    =
background=3Dhttp://epub01.publitas.nl/Forever_Living_Products_Benelux/Pr=
oducthandboek_NL_5/htmlReader/gfx/btn_go_search.png=20
    width=3D202>
      <FORM method=3Dpost action=3Dmagazine.php?language=3DNL><INPUT=20
      onblur=3DsetSearch(this.value); id=3DsearchField class=3DnoBorder=20
      onfocus=3DclearSearch(this.value); value=3D"pagina 1 van 112"=20
      name=3DsearchField></FORM></TD>
    <TD width=3D2><IMG border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/sideshade.png"=20
      width=3D2 height=3D34></TD>
    <TD width=3D28><A id=3Dmenu_btn_right class=3Dcross-link=20
      =
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D2&amp;language=3DNL"><IMG=20
      id=3Dgo_right class=3Dmenu-btn =
onmouseover=3D"changeImage('go_right', '1');"=20
      onmouseout=3D"changeImage('go_right', '0');"=20
      onclick=3D"getCurrentSpreads('pos')" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/btn_go_right.png"=20
      width=3D28 height=3D34></A></TD>
    <TD width=3D2><IMG border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/sideshade.png"=20
      width=3D2 height=3D34></TD>
    <TD><IMG style=3D"WIDTH: 20%" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/transparant.png"=20
      height=3D34></TD>
    <TD width=3D27><IMG style=3D"WIDTH: 27px" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/transparant.png"=20
      height=3D34></TD>
    <TD class=3Dwhite width=3D31><IMG border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/rechterkant.png"=20
      width=3D4 height=3D34></TD></TR></TBODY></TABLE>
<TABLE id=3Dpage_container class=3Dpage-container border=3D0 =
cellSpacing=3D0=20
cellPadding=3D0>
  <TBODY>
  <TR>
    <TD align=3Dright><A=20
      =
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D112&amp;language=3DNL"><IMG=20
      border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/arrow_left_dark.png"=20
      width=3D30 height=3D50></A></TD>
    <TD style=3D"WIDTH: 908px" id=3DcontentHolder align=3Dmiddle>
      <DIV style=3D"WIDTH: 800px; HEIGHT: 600px" id=3Dzoom_page =
class=3Dzoompage><IMG=20
      id=3DzoomImage class=3Dzoom_image =
onclick=3D"showPageContainer('0')" border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/empty.gif"=20
      width=3D908 height=3D908></DIV>
      <DIV id=3Dpage_holder><IMG style=3D"POSITION: absolute" =
id=3DfrontHelp=20
      class=3Dfronthelp border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/fronthelp_nl.jpg"=20
      width=3D272 height=3D94> <IMG class=3DpageImage border=3D0 =
alt=3D""=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/empty.gif"=20
      width=3D454 height=3D454><IMG class=3DpageImage=20
      =
onclick=3D"showZoomPage('http://epub01.publitas.nl/233/16/content/d39f8a6=
d0604efb93753b60fd2e4fd0f.jpg','0')"=20
      border=3D0=20
      =
src=3D"http://epub01.publitas.nl/233/16/content/24e57e9e145a73a37ce5b0d40=
3295b17.jpg"=20
      width=3D454 height=3D454> </DIV></TD>
    <TD align=3Dleft><A=20
      =
href=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Product=
handboek_NL_5/magazine.php?spread=3D2&amp;language=3DNL"><IMG=20
      border=3D0=20
      =
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/arrow_right_dark.png"=20
      width=3D30 height=3D50></A></TD></TR></TBODY></TABLE></DIV>
<DIV id=3DminimalStageSize class=3DminimalStageSize>
<DIV id=3Dflashcontent></DIV><NOSCRIPT><BR><BR>
<CENTER>
<DIV=20
style=3D"BORDER-BOTTOM: 1px solid; POSITION: relative; BORDER-LEFT: 1px =
solid; BACKGROUND-COLOR: #ffff99; MARGIN: 0px auto; WIDTH: 494px; =
BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"><IMG=20
style=3D"MARGIN-TOP: 10px"=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/Warning.gif">=20

<P>Your browser doesn't support JavaScript or JavaScript support has =
been=20
disabled. <BR>You must enable JavaScript to use this application.</P>
<P>Uw browser ondersteunt geen JavaScript of Javascript is =
uitgeschakeld.=20
<BR>JavaScript moet ingeschakeld zijn om deze applicatie te=20
gebruiken.</P></DIV></CENTER>
<DIV style=3D"CLEAR: both"></DIV></NOSCRIPT>
<SCRIPT language=3Djavascript type=3Dtext/javascript>=0A=
			var so =3D new SWFObject("magazine.swf", "magazine", "100%", "100%", =
"8", "");=0A=
			so.addParam("allowFullScreen", "true");=0A=
			so.addParam("menu", "false");=0A=
			so.addVariable("spread", "0");=0A=
			so.addVariable("pid", "233");=0A=
			so.addVariable("iid", "16");=0A=
			so.addVariable("language", "NL");=0A=
			so.addVariable("stats", "true");=0A=
			so.addVariable("template_width", "460");=0A=
			so.addVariable("template_height", "620");=0A=
			so.addVariable("pagenumber_count_start", "0");=0A=
			so.addVariable("pagenumber_count_stop", "0");=0A=
			so.addVariable("pagenumber_count_offset", "1");=0A=
			so.addVariable("Pub", "Forever_Living_Products_Benelux");=0A=
			so.addVariable("Iss", "Producthandboek_NL_5");=0A=
			so.addVariable("searchWord", "");=0A=
			so.addVariable("httpRefer", "");=0A=
			so.addVariable("ie", "true");			so.addVariable("Framed", Framed); =0A=
			so.addVariable("Poped", Poped); 					=0A=
			=0A=
			so.write("flashcontent");=0A=
	</SCRIPT>
</DIV>
<DIV id=3DflashBox><B>We hebben gedetecteerd dat u geen Flash plugin =
heeft=20
ge=C3=AFnstalleerd.<BR>Klik <A=20
href=3D"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Vers=
ion=3DShockwaveFlash&amp;promoid=3DBIOW"=20
target=3D_blank>hier</A> om de Flash plugin te downloaden.</B> =
<BR><BR><A=20
href=3D"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Vers=
ion=3DShockwaveFlash&amp;promoid=3DBIOW"=20
target=3D_blank><IMG id=3Dflash border=3D0=20
src=3D"http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producth=
andboek_NL_5/htmlReader/gfx/get_flash_player.jpg"></A>=20
<BR><BR>
<DIV class=3DdontShowAgain><INPUT id=3DdontShow =
onclick=3DdontShowAgain(); value=3D1=20
type=3Dcheckbox name=3DdontShow> Bericht niet meer tonen.</DIV></DIV>
<SCRIPT>=0A=
	var current =3D getCurrentBrowser();=0A=
	//alert(current);=0A=
	if (current =3D=3D 2 || current =3D=3D 3) {=0A=
		if (jQuery.browser.flash !=3D true || viewHtmlReader =3D=3D 1) {=0A=
			window.load =3D loadWindow(current);=0A=
		}=0A=
	}=0A=
	=0A=
	function loadWindow(current){=0A=
		//$("body").css("background-color", '#FFFFFF');=0A=
		=0A=
		getHtmlContent();=0A=
		=0A=
		if (jQuery.browser.flash !=3D true || viewHtmlReader =3D=3D 1) {=0A=
		=0A=
			var screenWidth, screenHeight;=0A=
			if( typeof( window.innerWidth ) =3D=3D 'number' ) {=0A=
				//Non-IE=0A=
				screenWidth =3D window.innerWidth;=0A=
				screenHeight =3D window.innerHeight;=0A=
			} else if( document.documentElement && ( =
document.documentElement.clientWidth || =
document.documentElement.clientHeight ) ) {=0A=
				//IE 6+ in 'standards compliant mode'=0A=
				screenWidth =3D document.documentElement.clientWidth;=0A=
				screenHeight =3D document.documentElement.clientHeight;=0A=
			} else if( document.body && ( document.body.clientWidth || =
document.body.clientHeight ) ) {=0A=
				//IE 4 compatible=0A=
				screenWidth =3D document.body.clientWidth;=0A=
				screenHeight =3D document.body.clientHeight;=0A=
			}=0A=
			=0A=
			var newWindowHeight =3D screenHeight;=0A=
			var newWindowWidth =3D screenWidth;=0A=
			if (viewHtmlReader =3D=3D 0 || showFlashReader =3D=3D 'ja') {=0A=
				$("#flashBox").css("display", 'block');=0A=
				setFlashBoxPosition(newWindowWidth, maximumFlashWidth);=0A=
				showFlashBox();=0A=
			}=0A=
			=0A=
			var extraMenuBarWidth =3D 0;=0A=
			resizePage(extraMenuBarWidth);=0A=
			=0A=
			//resizeZoom();=0A=
			=0A=
			// For transparant PNG=0A=
			$('body').supersleight({shim: 'htmlReader/gfx/x.gif'});=0A=
		}=0A=
	}=0A=
	=0A=
	function getCurrentBrowser() {=0A=
		var q_currentBrowser;=0A=
		// Check if it is Safari=0A=
		if( $.browser.safari ) {=0A=
			q_currentBrowser =3D 1;=0A=
		}=0A=
		=0A=
		// Check if it is above IE6=0A=
		if ($.browser.msie && $.browser.version > 6 ) { =0A=
			q_currentBrowser =3D 2;=0A=
		}=0A=
		=0A=
		// Check if it is IE6 and below=0A=
		if ($.browser.msie && $.browser.version <=3D 6 ) {=0A=
			q_currentBrowser =3D 3;=0A=
		}=0A=
		=0A=
		// Check if it is Firefox 2 and above=0A=
		if ($.browser.mozilla && $.browser.version >=3D "1.8" ) {=0A=
			q_currentBrowser =3D 4;=0A=
		}=0A=
		=0A=
		return q_currentBrowser;=0A=
	=0A=
	}=0A=
</SCRIPT>
</BODY></HTML>

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/linkerkant.png

iVBORw0KGgoAAAANSUhEUgAAAB8AAAAiCAYAAACnSgJKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAPhJREFUeNrslz0KhEAMheM4lYUI2tp4E2/rAbTzAvaCRxBsFNHCH4xG
dmRla5NifRCY7pv3MgmMhYhAqqoKsyyDIAhgWZazHhfBqZIkwbZtcds2ttLmEr7vg+u6YJLg0AUf
hoEVfIPP8wxHFKxwZQ593wO3LufjOLI7v+A0WmI9NyMnAjcXeOHscLE5l5Co89t6pRJbMmJw0dj/
btReuGzPlVJyzrXWcnDbtuXgFLtYzz3Pk3NOn4amac6/Gjs8jmNI0xTCMIQoisBxnMfh1nefy7LE
PM/PFNZ15YWTiqLAaZpYYv+Bd12HdV3zr9fPq7cO5yzudwEGAC49GI3q9TPFAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/transparant.png

iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAABBJREFUeNpi+P//PwNAgAEACPwC/tuiTRYAAAAASUVORK5CYII=

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/sideshade.png

iVBORw0KGgoAAAANSUhEUgAAAAIAAAAiCAIAAAD6eJ9FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAEdJREFUeNpinDp1KgMQ/P//v76+nokBDJggAkgUqiC5vL9//yJRqDZg
pbC6hQDFDKR4eXkZDx48CGSxiIqKgihubm4gBRBgADByR/5SGSWfAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/btn_go_left.png

iVBORw0KGgoAAAANSUhEUgAAABwAAAAiCAYAAABMfblJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAL1JREFUeNrs1sENwyAMBVCoIvbgyiRsFBBnhswliZASARnCFZ2g2IkP
LT4jnpDxlyUACM56CeYa4AD/BLyuC9jAWivM88zzwlLKB1vX9Xkw5wzOObFt2/M9PM8TvPfdGAps
WAgBhXWDx3GQsC5w33cy1mr65tCyLBBjFCklnsHXWgtjDF/SKKVkGwFrLWu03YL2jgUZxQw+CcVG
GxqlhDcKnYifrqFdi628aRFul0jOFUNy9HBsbQP8UfAtwACmpFcaVpck1wAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/btn_go_right.png

iVBORw0KGgoAAAANSUhEUgAAABwAAAAiCAYAAABMfblJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAANBJREFUeNrs1ssJxCAQBuBRrykhl9iIBaS4PDrIOZBXO96sQ/kXFwK5
LZrNLCwOzFE+1PlRAYA4SxJzFbCAfwgex3EvuDH4KW2MwbZtSF13dtaRdl1H+76D9Q4jGnfKOjR9
39O6rmCd0mEYktCvxCKiy7KANYfjONI8z2AN/jRN5JwDC1hV1XuI6rp+focnprUmKaV4FDyxpmk+
YrfBK6aUEo9OaQ6WDeZiWa9F27aw1sJ7n/ViJC+4g8UWqR/hEAKSj/FSovy8C1jAn4MvAQYAe/Y7
e6NLLQYAAAAASUVORK5CYII=

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/rechterkant.png

iVBORw0KGgoAAAANSUhEUgAAAAQAAAAiCAYAAAB4BHhVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAANZJREFUeNq0kDsOgkAQhn82W1BY0NIQSipCYeAq3MFTeAwqWy5g40Go
KCA8TGxslAQirDvE3UIkVE4ymZlv/3lkjSRJRNd1sCzrFcfx2ZimSUBamqawbfvBhBAgj6IIRVHs
OBVkjuMQAJctM1APDB9TQCtU1DO0QiXbivWW7y36DmXLO4Zh+A0WLRqoteuKbfDXGW3bwnVdMALk
eZ7D8zzwsixRVRX6vkcQBDdGLzQnDMOnaZpHLpP5O3zfv8h4QpZlommaq1Tt5411Xd/HcTzIwiDw
FmAA19a9BRw+69UAAAAASUVORK5CYII=

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/arrow_left_dark.png

iVBORw0KGgoAAAANSUhEUgAAAB4AAAAyCAYAAABLXmvvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAABE1JREFUeNq82F9oW1UcwPH7L2kSkyXGZdp2lVKqFUVipiCytazoi0VE
kD644koFKy2WFkWlgiCM/WGM+jAmDNmrD3tREF8EqfRB8EEfBBFZ8aGrGEjbZGnTNn+v3zPv3W7a
Zb1Jzt2FQ3P/NJ/8fufcc373qqZpKl5sfG+oVqs9w8fHVVU1NU37i883aCX7AukN0Le7u/t6Lpf7
pVAoZDY3N9Plcvka57rtazQPIlWLxeKx9fX1ua2trWMjIyOHNzY2jpRKpeOcS9jXSYdBn19bW7sE
emJsbMwQx9LptEoGBBrwBObLXwS9Smpfmpyc9NnHiV4h1ToR6/YxQ2J6BXoZNDk1NaU7z+/s7Ih+
rxvFmiT0BOgCaGovKrZqtSqu02iGlIj3oM/dC3XeOc5AjTbRk6BXQJ9shNqw+ENT24It9FVrIB0F
dfNvAtVb7mMxMkHfAv2qCdSOuNoSDOoDfRf0ImhXE6i9lZpOtYVOgX7YIlqhlZuCLfQ90E9BH20B
tVO96xoG7QB9H3Qe9JEWUcXqX3epBg2CfgI6BxptAxVbzVWqQcOg86DTElAn3hgGjYB+DnoaNCYJ
VZy30z6YyfwQa+cZ0HHQQxLRukWiDmbpilUqlbMsYwJ9SCJqz1z7p0xKlDgpvpjNZk+xiAclo3bE
9X2cyWRiuq5/mc/n39je3u6Ynp72pP6ri3h5eflwIBC4xmL9GhWENjMzo3i0qXV9TJ9eItIR+leb
nZ1VPNyqTlwDfoGBpHuM7hvZGmXJdfo1PzEx8SDgO4NLMwzjSigU+oYRXRoeHn4g0drwRjweX+jv
7/81kUiYg4ODXg6uu6keGBgww+HwHz09PReSyeS/XV1dytDQkFdwfenT2dlZi8Vi3/f19Z1LpVK3
PMJ154R150M0Gq36/f6rTCQ9PN3NcahD4EtLS7JgzfkIUzdXB4PBCvA5Iu9l901xXiIuIg41XJ2I
Ok/aPwI/yu5xcUwSLp6lIvetMn0+303wCfAf6fOypD73Hwhb+A3wcfCvwQsScDGqw65qLvB/wD8A
X2P3HdrDbabd/WMqeBb8LLiY7sZpCXC1BVxtqrwVs42FL4CLrjlFe6wF3F2VeY/I0+CXwUW6TtPi
TabdbOkRxsJXwL8AD7L7trgvm8Bbi9iRdnGrXQAPW5NMwCWu3be8bQI/Dx5n/xWRDBe4eWBB76aM
Af8TXEyvnewnxahthDP371+P26kmwH8GPwP+N5OMecAkIwZlUdbrJoF/Cx4En2f/KQHsjVxETKu2
M7ga4dfBi+Afs58S3yvKqMXFxf8Rw7gNi5epst/slcG/s/r8N9Je7e7uVkZHR2+fpMJRWG5Np6dK
fm3spz5/OZfLnV9ZWXl2dXVVo8BQ+EFKb29vls8nifp3aa8UnS9XiPwHoFuapn3G36cpn4ORSETh
aSUDWvAq4rtvWiqVKI+7T/DYe4Q+NigwSvyYn+yF4j8BBgAsSZiwalabIAAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/empty.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/fronthelp_nl.jpg

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
AygPuRY/ueMmENwlbbQQ4BPPw8jCZ1h01f6PO60fluwvTpuqXet2jcUnP6suymU8lk2UJoEJsUgP
eSl4kikPAryXiETd+n962WT2bSwHK9um3tuBOiWTkyUEtiwgRo0f7V6M1HRFjupFHydCQhohkiN/
CKoaXqHSL/VXb6fsVRGqZVs5FI1j7Ha7M7JWO0rfsek2seKQ8IqAICC/SPKl8oIByGR+OXbF91s5
oNuNFWuVOjbXplHOiWMyV99N2RiO0L0lDr46x2G1joRiHvIyJF+PX9Ya2y6i7TvO6K/cbqWxKpaW
+/vNVM/yC1b9VetacJISUQR0gewTdMvuCdJxU/l5qIhjIv409uWWsa5pV69SQYOm6ZaabWWkOxny
ZFtIfnUcliVMa+yi+kXwqC+5QHnCQnV8SP8Adga2j6O2p/bNV2i9qK2rWk2VrYLNtdjt9nkTAY1u
3qG3EkWkRhUdB6cz4B4oiNtqXn5eLaBQvfjfvTgXlE7Drpkd93cZFHsb+zXiEyeys2CNc0iRihA4
izlbfcF0vJEJ5A9h+IB0pnQt91vZ9o27T1qnJk3VtZoqKHOckNxv7hRybd55ZHoaUgZMJ7QgQeRf
SXIIiD5B1XAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYD
AYDAYDAYDAYDAYDAYDAYDAYHnCYDA9wGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAw
GAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwG
AwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGA
wGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAw
GAwGAwGAwGAwP//Z

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/233/16/content/24e57e9e145a73a37ce5b0d403295b17.jpg

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

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/arrow_right_dark.png

iVBORw0KGgoAAAANSUhEUgAAAB4AAAAyCAYAAABLXmvvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAA+BJREFUeNq02E9o01AcB/DX/Glr241JmZtd28l0p1Hs8OBFq5MpWkG9
TIQdZJduAxVRcE4vgqCHIYKCf0B2ENQpiBcPTtlhHnZXFJkiTGQ6se3WdXZd/yR+U19KFtutTV8C
r+uakE9/v/fLy6+xyLIsEkJ2Y2yTJGka/3/E+3me5/PEvM0i4CWLsSOXy11Op9M5juM+ZbPZ53a7
fcxms82ZBMtc4VWWU5lMxh6Px93hcHjX0tLScCwWu44v0oF9nBmyetIokOzc3L8Ae3t7NwE/Ho1G
b6ysrOwFzpsC48SLSG8OURZ3RCIRRzKZ3Ad8BPgJ1rgasYzCkpeXl1ftHBwcFIEHgV8DHmGJqxHz
GJZ8/v9CBs4B9wO/CnwIx21gBVswFFj5AiUPAk6Au4EPAR/BcW4WsKLlaeRlD6R4PfA+4KM41sNi
jnn6BdbcKO4AHgb+ELi35uKiKScV4gLwPcDvAffVAle1SGjwA8BvGUm7CloqSXUJXAR+mOLNpqa6
DH4M+H3gm42kWjYyVxTnaeR3gbdUA+eNRFwCPwT8ZiVzbniOy+BW4Eco7q0EZrJR3Ab8KPA7wLdU
MscWxvhB4A+Ab10LXsSQGEcu0kVGqfa2cvAPjLQJaVcWmRDw23pchecx/rDuMjSR76eLTECdUhVO
0aaPmIwra3tIwbUrV8asXlbBU6mUNZFI7EQ3O4yPXNrrmCMmbujhCGCC3s6hWNqITYUHBgaUqGW0
V7LSZqmY0thbzUK7u7sL3Y3T6SSCIFiwrYpYMgMNhUKksbGRtLe3E7fbPSuK4hg+TgisVy496vF4
SDAYJK2trT/r6uquIOJHyk1J0P6QMgPt7OwkbW1tvxsaGi4g2sdqZjkzItahv4CeA/pEO50C62hL
RHoW6DN9DQmavxxjNAb0EtCnpe71WoxnhMpAZ4GeBzparsEQWMC6SL8BPQP05VpdjQqLRlufEmgf
0Mn1zqctLkuN6f0BtL8SVN/s8QbRPNBpWr2vK82coJlfyQCaA/qeVu+baqZLqPaXhAaVgH6gi8Pb
amukqpVLV0jfgV40gmojltZLdQn0FNBxo5eg9u5EcJ+spHpngEaATtSy4AjrPRHQoV/odTrF6nET
j2hFfcS6QnoHtJcFWowYoALLuEkXd3R1dZGmpiYFzQCdAHoa6FdWd7GixGNzuVyF9z09PcRms5FA
IJAF+oIWUpTp41v6fGs7Ws9XMzMzzQsLC4U21Ov15vx+/zjQk0BjrNsiNdXzdrv9M1LrdDgcnM/n
ywOcrK+v7zcDLUasFJkkSS2ZTKYDnf5GjuPiVqt1CnOeNKvl/SvAABLxSvF4FSRPAAAAAElFTkSu
QmCC

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/Warning.gif

R0lGODlhEAAQAOYAAJlUNZdYPDU4Sj9CVUNGV0hJTkxNUi0vODo8Qy0yQzU4QUJESisvOEBCRi4y
OCgpITQ0M//2f/72k1dWS//0iP/2mfriQv/pVf/taf/tcP/tdf/tdv7vfv7wgP/ymP/cF//gNv/h
Of/hPf/lQv/jRP/lSv/lUP/nVv/nWf/pWv/mW//mXfjgXv/qZv/qaf/qav/te//wmv/2vPbVOP/h
Qv/hU//jV//lWf/mX//nbf/ndf/pd//rh//vmv/VKOnEKP/XMf/YM/7aPP/cQP/dQ/vaRP/lb//K
Bv/LDdWrDtSqDv/KFf7KFf/QH/7QI//PJPzTNf/XQf/aTf/AAv/GB//HCv/GC/7LH86rNv+/Af+9
Av/BCf/CD9OdDe7MaP+1ANSWAP+2Af+6A9ifDe2yGPywAPqsAPqtAPipAP6vAvikAPimAPChBP6p
BoOAe7Z4GJpXNZdXOpdYO4ttX4hyaIlvZICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAEAAHYALAAAAAAQABAAAAeogHaCg4SFhnYAiXGHhHJYEhVvAYyCAB0qJywAlAA/MgcQEV2ThwAU
MQsIPUWbhgAzHhoTBjw6Y62EABwZLg0FN0ZQAKSVFjAYKAIJIFJRXrhuABsvKSYMDh8+TVdwpAAj
OxclNEpJSEtWXGSbc3A4LSQhQgQDR1RaWVVgiSI5NUNAnih4MCVMGTNp2CRaYYNIECdMtoj5cgbN
GjVtANRJxLGjRzqUDgUCADs=

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/get_flash_player.jpg

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
n0z/AMunhnln83DLP8csEX//2Q==

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/gfx/btn_go_search.png

iVBORw0KGgoAAAANSUhEUgAAAMoAAAAiCAYAAAAeckZHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAANJJREFUeNrs28EJhDAQQFETRS3AMsUSLECwSBsxiw2okOwlvndV9jDw
mfGwIaXUAPeiEYBQQCggFBAKCAWq0909XNc1HcdhSlRrmqZm3/eQFcoVybIspkm1tm3L3yiXcRxN
k3q/PWLMDyWE0AzDYJoI5ekFoVCzaxkIBZxekK9t2zIb5W1xUPXmuXt4nqcJgVD4urf/x4olfgQ+
vVEAoUCZUJxe+EYRCji9oKTuaaPM82xKVKvv+1fvBecVOL1AKCAUEAoIBYQCQgGEAkKBP/oJMAAU
ACyoGc+AoAAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/css/style.css

HTML {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; =
PADDING-RIGHT: 0px; HEIGHT: 100%; PADDING-TOP: 0px
}
BODY {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; =
PADDING-RIGHT: 0px; HEIGHT: 100%; PADDING-TOP: 0px
}
BODY {
	LINE-HEIGHT: 18px; BACKGROUND-COLOR: #fff; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; COLOR: #000; FONT-SIZE: 12px
}
A {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
IMG {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
FORM {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.global-container {
	POSITION: relative; MARGIN: 0px auto; MIN-HEIGHT: 100%; BACKGROUND: =
#fff; HEIGHT: 100%
}
.filler_left {
	POSITION: relative; BACKGROUND-COLOR: #fff; WIDTH: 4%; FLOAT: left
}
.filler_right {
	POSITION: relative; BACKGROUND-COLOR: #fff; WIDTH: 4%; FLOAT: left
}
#arrow_left {
	TEXT-ALIGN: left; HEIGHT: 50px; TOP: 320px; RIGHT: 0px
}
#arrow_right {
	TEXT-ALIGN: right; HEIGHT: 50px; TOP: 320px
}
.menu-btn:hover {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; HEIGHT: 34px; CURSOR: pointer; PADDING-TOP: 0px
}
.white {
	BACKGROUND-COLOR: #fff
}
.pageImage {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
A:active {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px
}
A:focus {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px
}
.page-container {
	POSITION: relative; WIDTH: 100%
}
.noBorder {
	BORDER-BOTTOM: 0px; TEXT-ALIGN: center; BORDER-LEFT: 0px; PADDING-LEFT: =
2px; WIDTH: 182px; MARGIN-BOTTOM: 4px; BACKGROUND: none transparent =
scroll repeat 0% 0%; MARGIN-LEFT: 4px; FONT-SIZE: 11px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.zoompage {
	Z-INDEX: 101; DISPLAY: none; HEIGHT: 100%
}
#flashBox {
	Z-INDEX: 1000; POSITION: absolute; TEXT-ALIGN: center; PADDING-BOTTOM: =
10px; BACKGROUND-COLOR: #ff0000; MARGIN: 0px; PADDING-LEFT: 10px; WIDTH: =
450px; PADDING-RIGHT: 10px; DISPLAY: none; HEIGHT: auto; COLOR: #fff; =
FONT-SIZE: 10px; OVERFLOW: visible; TOP: 50px; PADDING-TOP: 10px
}
.dontShowAgain {
	POSITION: relative; FLOAT: right; FONT-SIZE: 9px
}
.dontShowAgain INPUT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN-BOTTOM: 2px; BORDER-TOP: =
0px; BORDER-RIGHT: 0px
}
#flashBox A {
	COLOR: #000
}
.fronthelp {
	Z-INDEX: 401; POSITION: absolute
}
DIV.active {
	Z-INDEX: 700; WIDTH: 28px; DISPLAY: block; BACKGROUND: =
url(../gfx/btn_on.png) no-repeat; HEIGHT: 33px
}
H1 {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: verdana, helvetica, arial, sans-serif; LETTER-SPACING: =
-2px; COLOR: #9fc54e; FONT-SIZE: 22px; FONT-WEIGHT: 700; PADDING-TOP: =
20px
}

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/js/jquery-1.4.1.js

/*!=0A=
 * jQuery JavaScript Library v1.4.1=0A=
 * http://jquery.com/=0A=
 *=0A=
 * Copyright 2010, John Resig=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * Includes Sizzle.js=0A=
 * http://sizzlejs.com/=0A=
 * Copyright 2010, The Dojo Foundation=0A=
 * Released under the MIT, BSD, and GPL Licenses.=0A=
 *=0A=
 * Date: Mon Jan 25 19:43:33 2010 -0500=0A=
 */=0A=
(function( window, undefined ) {=0A=
=0A=
// Define a local copy of jQuery=0A=
var jQuery =3D function( selector, context ) {=0A=
		// The jQuery object is actually just the init constructor 'enhanced'=0A=
		return new jQuery.fn.init( selector, context );=0A=
	},=0A=
=0A=
	// Map over jQuery in case of overwrite=0A=
	_jQuery =3D window.jQuery,=0A=
=0A=
	// Map over the $ in case of overwrite=0A=
	_$ =3D window.$,=0A=
=0A=
	// Use the correct document accordingly with window argument (sandbox)=0A=
	document =3D window.document,=0A=
=0A=
	// A central reference to the root jQuery(document)=0A=
	rootjQuery,=0A=
=0A=
	// A simple way to check for HTML strings or ID strings=0A=
	// (both of which we optimize for)=0A=
	quickExpr =3D /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,=0A=
=0A=
	// Is it a simple selector=0A=
	isSimple =3D /^.[^:#\[\.,]*$/,=0A=
=0A=
	// Check if a string has a non-whitespace character in it=0A=
	rnotwhite =3D /\S/,=0A=
=0A=
	// Used for trimming whitespace=0A=
	rtrim =3D /^(\s|\u00A0)+|(\s|\u00A0)+$/g,=0A=
=0A=
	// Match a standalone tag=0A=
	rsingleTag =3D /^<(\w+)\s*\/?>(?:<\/\1>)?$/,=0A=
=0A=
	// Keep a UserAgent string for use with jQuery.browser=0A=
	userAgent =3D navigator.userAgent,=0A=
=0A=
	// For matching the engine and version of the browser=0A=
	browserMatch,=0A=
	=0A=
	// Has the ready events already been bound?=0A=
	readyBound =3D false,=0A=
	=0A=
	// The functions to execute on DOM ready=0A=
	readyList =3D [],=0A=
=0A=
	// The ready event handler=0A=
	DOMContentLoaded,=0A=
=0A=
	// Save a reference to some core methods=0A=
	toString =3D Object.prototype.toString,=0A=
	hasOwnProperty =3D Object.prototype.hasOwnProperty,=0A=
	push =3D Array.prototype.push,=0A=
	slice =3D Array.prototype.slice,=0A=
	indexOf =3D Array.prototype.indexOf;=0A=
=0A=
jQuery.fn =3D jQuery.prototype =3D {=0A=
	init: function( selector, context ) {=0A=
		var match, elem, ret, doc;=0A=
=0A=
		// Handle $(""), $(null), or $(undefined)=0A=
		if ( !selector ) {=0A=
			return this;=0A=
		}=0A=
=0A=
		// Handle $(DOMElement)=0A=
		if ( selector.nodeType ) {=0A=
			this.context =3D this[0] =3D selector;=0A=
			this.length =3D 1;=0A=
			return this;=0A=
		}=0A=
=0A=
		// Handle HTML strings=0A=
		if ( typeof selector =3D=3D=3D "string" ) {=0A=
			// Are we dealing with HTML string or an ID?=0A=
			match =3D quickExpr.exec( selector );=0A=
=0A=
			// Verify a match, and that no context was specified for #id=0A=
			if ( match && (match[1] || !context) ) {=0A=
=0A=
				// HANDLE: $(html) -> $(array)=0A=
				if ( match[1] ) {=0A=
					doc =3D (context ? context.ownerDocument || context : document);=0A=
=0A=
					// If a single string is passed in and it's a single tag=0A=
					// just do a createElement and skip the rest=0A=
					ret =3D rsingleTag.exec( selector );=0A=
=0A=
					if ( ret ) {=0A=
						if ( jQuery.isPlainObject( context ) ) {=0A=
							selector =3D [ document.createElement( ret[1] ) ];=0A=
							jQuery.fn.attr.call( selector, context, true );=0A=
=0A=
						} else {=0A=
							selector =3D [ doc.createElement( ret[1] ) ];=0A=
						}=0A=
=0A=
					} else {=0A=
						ret =3D buildFragment( [ match[1] ], [ doc ] );=0A=
						selector =3D (ret.cacheable ? ret.fragment.cloneNode(true) : =
ret.fragment).childNodes;=0A=
					}=0A=
=0A=
				// HANDLE: $("#id")=0A=
				} else {=0A=
					elem =3D document.getElementById( match[2] );=0A=
=0A=
					if ( elem ) {=0A=
						// Handle the case where IE and Opera return items=0A=
						// by name instead of ID=0A=
						if ( elem.id !=3D=3D match[2] ) {=0A=
							return rootjQuery.find( selector );=0A=
						}=0A=
=0A=
						// Otherwise, we inject the element directly into the jQuery object=0A=
						this.length =3D 1;=0A=
						this[0] =3D elem;=0A=
					}=0A=
=0A=
					this.context =3D document;=0A=
					this.selector =3D selector;=0A=
					return this;=0A=
				}=0A=
=0A=
			// HANDLE: $("TAG")=0A=
			} else if ( !context && /^\w+$/.test( selector ) ) {=0A=
				this.selector =3D selector;=0A=
				this.context =3D document;=0A=
				selector =3D document.getElementsByTagName( selector );=0A=
=0A=
			// HANDLE: $(expr, $(...))=0A=
			} else if ( !context || context.jquery ) {=0A=
				return (context || rootjQuery).find( selector );=0A=
=0A=
			// HANDLE: $(expr, context)=0A=
			// (which is just equivalent to: $(context).find(expr)=0A=
			} else {=0A=
				return jQuery( context ).find( selector );=0A=
			}=0A=
=0A=
		// HANDLE: $(function)=0A=
		// Shortcut for document ready=0A=
		} else if ( jQuery.isFunction( selector ) ) {=0A=
			return rootjQuery.ready( selector );=0A=
		}=0A=
=0A=
		if (selector.selector !=3D=3D undefined) {=0A=
			this.selector =3D selector.selector;=0A=
			this.context =3D selector.context;=0A=
		}=0A=
=0A=
		return jQuery.isArray( selector ) ?=0A=
			this.setArray( selector ) :=0A=
			jQuery.makeArray( selector, this );=0A=
	},=0A=
=0A=
	// Start with an empty selector=0A=
	selector: "",=0A=
=0A=
	// The current version of jQuery being used=0A=
	jquery: "1.4.1",=0A=
=0A=
	// The default length of a jQuery object is 0=0A=
	length: 0,=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	size: function() {=0A=
		return this.length;=0A=
	},=0A=
=0A=
	toArray: function() {=0A=
		return slice.call( this, 0 );=0A=
	},=0A=
=0A=
	// Get the Nth element in the matched element set OR=0A=
	// Get the whole matched element set as a clean array=0A=
	get: function( num ) {=0A=
		return num =3D=3D null ?=0A=
=0A=
			// Return a 'clean' array=0A=
			this.toArray() :=0A=
=0A=
			// Return just the object=0A=
			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );=0A=
	},=0A=
=0A=
	// Take an array of elements and push it onto the stack=0A=
	// (returning the new matched element set)=0A=
	pushStack: function( elems, name, selector ) {=0A=
		// Build a new jQuery matched element set=0A=
		var ret =3D jQuery( elems || null );=0A=
=0A=
		// Add the old object onto the stack (as a reference)=0A=
		ret.prevObject =3D this;=0A=
=0A=
		ret.context =3D this.context;=0A=
=0A=
		if ( name =3D=3D=3D "find" ) {=0A=
			ret.selector =3D this.selector + (this.selector ? " " : "") + =
selector;=0A=
		} else if ( name ) {=0A=
			ret.selector =3D this.selector + "." + name + "(" + selector + ")";=0A=
		}=0A=
=0A=
		// Return the newly-formed element set=0A=
		return ret;=0A=
	},=0A=
=0A=
	// Force the current matched set of elements to become=0A=
	// the specified array of elements (destroying the stack in the process)=0A=
	// You should use pushStack() in order to do this, but maintain the =
stack=0A=
	setArray: function( elems ) {=0A=
		// Resetting the length to 0, then using the native Array push=0A=
		// is a super-fast way to populate an object with array-like properties=0A=
		this.length =3D 0;=0A=
		push.apply( this, elems );=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	// Execute a callback for every element in the matched set.=0A=
	// (You can seed the arguments with an array of args, but this is=0A=
	// only used internally.)=0A=
	each: function( callback, args ) {=0A=
		return jQuery.each( this, callback, args );=0A=
	},=0A=
	=0A=
	ready: function( fn ) {=0A=
		// Attach the listeners=0A=
		jQuery.bindReady();=0A=
=0A=
		// If the DOM is already ready=0A=
		if ( jQuery.isReady ) {=0A=
			// Execute the function immediately=0A=
			fn.call( document, jQuery );=0A=
=0A=
		// Otherwise, remember the function for later=0A=
		} else if ( readyList ) {=0A=
			// Add the function to the wait list=0A=
			readyList.push( fn );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	eq: function( i ) {=0A=
		return i =3D=3D=3D -1 ?=0A=
			this.slice( i ) :=0A=
			this.slice( i, +i + 1 );=0A=
	},=0A=
=0A=
	first: function() {=0A=
		return this.eq( 0 );=0A=
	},=0A=
=0A=
	last: function() {=0A=
		return this.eq( -1 );=0A=
	},=0A=
=0A=
	slice: function() {=0A=
		return this.pushStack( slice.apply( this, arguments ),=0A=
			"slice", slice.call(arguments).join(",") );=0A=
	},=0A=
=0A=
	map: function( callback ) {=0A=
		return this.pushStack( jQuery.map(this, function( elem, i ) {=0A=
			return callback.call( elem, i, elem );=0A=
		}));=0A=
	},=0A=
	=0A=
	end: function() {=0A=
		return this.prevObject || jQuery(null);=0A=
	},=0A=
=0A=
	// For internal use only.=0A=
	// Behaves like an Array's method, not like a jQuery method.=0A=
	push: push,=0A=
	sort: [].sort,=0A=
	splice: [].splice=0A=
};=0A=
=0A=
// Give the init function the jQuery prototype for later instantiation=0A=
jQuery.fn.init.prototype =3D jQuery.fn;=0A=
=0A=
jQuery.extend =3D jQuery.fn.extend =3D function() {=0A=
	// copy reference to target object=0A=
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options, name, src, copy;=0A=
=0A=
	// Handle a deep copy situation=0A=
	if ( typeof target =3D=3D=3D "boolean" ) {=0A=
		deep =3D target;=0A=
		target =3D arguments[1] || {};=0A=
		// skip the boolean and the target=0A=
		i =3D 2;=0A=
	}=0A=
=0A=
	// Handle case when target is a string or something (possible in deep =
copy)=0A=
	if ( typeof target !=3D=3D "object" && !jQuery.isFunction(target) ) {=0A=
		target =3D {};=0A=
	}=0A=
=0A=
	// extend jQuery itself if only one argument is passed=0A=
	if ( length =3D=3D=3D i ) {=0A=
		target =3D this;=0A=
		--i;=0A=
	}=0A=
=0A=
	for ( ; i < length; i++ ) {=0A=
		// Only deal with non-null/undefined values=0A=
		if ( (options =3D arguments[ i ]) !=3D null ) {=0A=
			// Extend the base object=0A=
			for ( name in options ) {=0A=
				src =3D target[ name ];=0A=
				copy =3D options[ name ];=0A=
=0A=
				// Prevent never-ending loop=0A=
				if ( target =3D=3D=3D copy ) {=0A=
					continue;=0A=
				}=0A=
=0A=
				// Recurse if we're merging object literal values or arrays=0A=
				if ( deep && copy && ( jQuery.isPlainObject(copy) || =
jQuery.isArray(copy) ) ) {=0A=
					var clone =3D src && ( jQuery.isPlainObject(src) || =
jQuery.isArray(src) ) ? src=0A=
						: jQuery.isArray(copy) ? [] : {};=0A=
=0A=
					// Never move original objects, clone them=0A=
					target[ name ] =3D jQuery.extend( deep, clone, copy );=0A=
=0A=
				// Don't bring in undefined values=0A=
				} else if ( copy !=3D=3D undefined ) {=0A=
					target[ name ] =3D copy;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	// Return the modified object=0A=
	return target;=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	noConflict: function( deep ) {=0A=
		window.$ =3D _$;=0A=
=0A=
		if ( deep ) {=0A=
			window.jQuery =3D _jQuery;=0A=
		}=0A=
=0A=
		return jQuery;=0A=
	},=0A=
	=0A=
	// Is the DOM ready to be used? Set to true once it occurs.=0A=
	isReady: false,=0A=
	=0A=
	// Handle when the DOM is ready=0A=
	ready: function() {=0A=
		// Make sure that the DOM is not already loaded=0A=
		if ( !jQuery.isReady ) {=0A=
			// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).=0A=
			if ( !document.body ) {=0A=
				return setTimeout( jQuery.ready, 13 );=0A=
			}=0A=
=0A=
			// Remember that the DOM is ready=0A=
			jQuery.isReady =3D true;=0A=
=0A=
			// If there are functions bound, to execute=0A=
			if ( readyList ) {=0A=
				// Execute all of them=0A=
				var fn, i =3D 0;=0A=
				while ( (fn =3D readyList[ i++ ]) ) {=0A=
					fn.call( document, jQuery );=0A=
				}=0A=
=0A=
				// Reset the list of functions=0A=
				readyList =3D null;=0A=
			}=0A=
=0A=
			// Trigger any bound ready events=0A=
			if ( jQuery.fn.triggerHandler ) {=0A=
				jQuery( document ).triggerHandler( "ready" );=0A=
			}=0A=
			=0A=
		}=0A=
	},=0A=
	=0A=
	bindReady: function() {=0A=
		if ( readyBound ) {=0A=
			return;=0A=
		}=0A=
=0A=
		readyBound =3D true;=0A=
=0A=
		// Catch cases where $(document).ready() is called after the=0A=
		// browser event has already occurred.=0A=
		if ( document.readyState =3D=3D=3D "complete" ) {=0A=
			return jQuery.ready();=0A=
		}=0A=
=0A=
		// Mozilla, Opera and webkit nightlies currently support this event=0A=
		if ( document.addEventListener ) {=0A=
			// Use the handy event callback=0A=
			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );=0A=
			=0A=
			// A fallback to window.onload, that will always work=0A=
			window.addEventListener( "load", jQuery.ready, false );=0A=
=0A=
		// If IE event model is used=0A=
		} else if ( document.attachEvent ) {=0A=
			// ensure firing before onload,=0A=
			// maybe late but safe also for iframes=0A=
			document.attachEvent("onreadystatechange", DOMContentLoaded);=0A=
			=0A=
			// A fallback to window.onload, that will always work=0A=
			window.attachEvent( "onload", jQuery.ready );=0A=
=0A=
			// If IE and not a frame=0A=
			// continually check to see if the document is ready=0A=
			var toplevel =3D false;=0A=
=0A=
			try {=0A=
				toplevel =3D window.frameElement =3D=3D null;=0A=
			} catch(e) {}=0A=
=0A=
			if ( document.documentElement.doScroll && toplevel ) {=0A=
				doScrollCheck();=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// See test/unit/core.js for details concerning isFunction.=0A=
	// Since version 1.3, DOM methods and functions like alert=0A=
	// aren't supported. They return false on IE (#2968).=0A=
	isFunction: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Function]";=0A=
	},=0A=
=0A=
	isArray: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Array]";=0A=
	},=0A=
=0A=
	isPlainObject: function( obj ) {=0A=
		// Must be an Object.=0A=
		// Because of IE, we also have to check the presence of the =
constructor property.=0A=
		// Make sure that DOM nodes and window objects don't pass through, as =
well=0A=
		if ( !obj || toString.call(obj) !=3D=3D "[object Object]" || =
obj.nodeType || obj.setInterval ) {=0A=
			return false;=0A=
		}=0A=
		=0A=
		// Not own constructor property must be Object=0A=
		if ( obj.constructor=0A=
			&& !hasOwnProperty.call(obj, "constructor")=0A=
			&& !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) =
{=0A=
			return false;=0A=
		}=0A=
		=0A=
		// Own properties are enumerated firstly, so to speed up,=0A=
		// if last one is own, then all properties are own.=0A=
	=0A=
		var key;=0A=
		for ( key in obj ) {}=0A=
		=0A=
		return key =3D=3D=3D undefined || hasOwnProperty.call( obj, key );=0A=
	},=0A=
=0A=
	isEmptyObject: function( obj ) {=0A=
		for ( var name in obj ) {=0A=
			return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
	=0A=
	error: function( msg ) {=0A=
		throw msg;=0A=
	},=0A=
	=0A=
	parseJSON: function( data ) {=0A=
		if ( typeof data !=3D=3D "string" || !data ) {=0A=
			return null;=0A=
		}=0A=
		=0A=
		// Make sure the incoming data is actual JSON=0A=
		// Logic borrowed from http://json.org/json2.js=0A=
		if ( =
/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, =
"@")=0A=
			=
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?=
/g, "]")=0A=
			.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {=0A=
=0A=
			// Try to use the native JSON parser first=0A=
			return window.JSON && window.JSON.parse ?=0A=
				window.JSON.parse( data ) :=0A=
				(new Function("return " + data))();=0A=
=0A=
		} else {=0A=
			jQuery.error( "Invalid JSON: " + data );=0A=
		}=0A=
	},=0A=
=0A=
	noop: function() {},=0A=
=0A=
	// Evalulates a script in a global context=0A=
	globalEval: function( data ) {=0A=
		if ( data && rnotwhite.test(data) ) {=0A=
			// Inspired by code by Andrea Giammarchi=0A=
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,=0A=
				script =3D document.createElement("script");=0A=
=0A=
			script.type =3D "text/javascript";=0A=
=0A=
			if ( jQuery.support.scriptEval ) {=0A=
				script.appendChild( document.createTextNode( data ) );=0A=
			} else {=0A=
				script.text =3D data;=0A=
			}=0A=
=0A=
			// Use insertBefore instead of appendChild to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709).=0A=
			head.insertBefore( script, head.firstChild );=0A=
			head.removeChild( script );=0A=
		}=0A=
	},=0A=
=0A=
	nodeName: function( elem, name ) {=0A=
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D=3D =
name.toUpperCase();=0A=
	},=0A=
=0A=
	// args is for internal usage only=0A=
	each: function( object, callback, args ) {=0A=
		var name, i =3D 0,=0A=
			length =3D object.length,=0A=
			isObj =3D length =3D=3D=3D undefined || jQuery.isFunction(object);=0A=
=0A=
		if ( args ) {=0A=
			if ( isObj ) {=0A=
				for ( name in object ) {=0A=
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( ; i < length; ) {=0A=
					if ( callback.apply( object[ i++ ], args ) =3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
		// A special, fast, case for the most common use of each=0A=
		} else {=0A=
			if ( isObj ) {=0A=
				for ( name in object ) {=0A=
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var value =3D object[0];=0A=
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ) {}=0A=
			}=0A=
		}=0A=
=0A=
		return object;=0A=
	},=0A=
=0A=
	trim: function( text ) {=0A=
		return (text || "").replace( rtrim, "" );=0A=
	},=0A=
=0A=
	// results is for internal usage only=0A=
	makeArray: function( array, results ) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( array !=3D null ) {=0A=
			// The window, strings (and functions) also have 'length'=0A=
			// The extra typeof function check is to prevent crashes=0A=
			// in Safari 2 (See: #3039)=0A=
			if ( array.length =3D=3D null || typeof array =3D=3D=3D "string" || =
jQuery.isFunction(array) || (typeof array !=3D=3D "function" && =
array.setInterval) ) {=0A=
				push.call( ret, array );=0A=
			} else {=0A=
				jQuery.merge( ret, array );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	inArray: function( elem, array ) {=0A=
		if ( array.indexOf ) {=0A=
			return array.indexOf( elem );=0A=
		}=0A=
=0A=
		for ( var i =3D 0, length =3D array.length; i < length; i++ ) {=0A=
			if ( array[ i ] =3D=3D=3D elem ) {=0A=
				return i;=0A=
			}=0A=
		}=0A=
=0A=
		return -1;=0A=
	},=0A=
=0A=
	merge: function( first, second ) {=0A=
		var i =3D first.length, j =3D 0;=0A=
=0A=
		if ( typeof second.length =3D=3D=3D "number" ) {=0A=
			for ( var l =3D second.length; j < l; j++ ) {=0A=
				first[ i++ ] =3D second[ j ];=0A=
			}=0A=
		} else {=0A=
			while ( second[j] !=3D=3D undefined ) {=0A=
				first[ i++ ] =3D second[ j++ ];=0A=
			}=0A=
		}=0A=
=0A=
		first.length =3D i;=0A=
=0A=
		return first;=0A=
	},=0A=
=0A=
	grep: function( elems, callback, inv ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, only saving the items=0A=
		// that pass the validator function=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			if ( !inv !=3D=3D !callback( elems[ i ], i ) ) {=0A=
				ret.push( elems[ i ] );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	// arg is for internal usage only=0A=
	map: function( elems, callback, arg ) {=0A=
		var ret =3D [], value;=0A=
=0A=
		// Go through the array, translating each of the items to their=0A=
		// new value (or values).=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			value =3D callback( elems[ i ], i, arg );=0A=
=0A=
			if ( value !=3D null ) {=0A=
				ret[ ret.length ] =3D value;=0A=
			}=0A=
		}=0A=
=0A=
		return ret.concat.apply( [], ret );=0A=
	},=0A=
=0A=
	// A global GUID counter for objects=0A=
	guid: 1,=0A=
=0A=
	proxy: function( fn, proxy, thisObject ) {=0A=
		if ( arguments.length =3D=3D=3D 2 ) {=0A=
			if ( typeof proxy =3D=3D=3D "string" ) {=0A=
				thisObject =3D fn;=0A=
				fn =3D thisObject[ proxy ];=0A=
				proxy =3D undefined;=0A=
=0A=
			} else if ( proxy && !jQuery.isFunction( proxy ) ) {=0A=
				thisObject =3D proxy;=0A=
				proxy =3D undefined;=0A=
			}=0A=
		}=0A=
=0A=
		if ( !proxy && fn ) {=0A=
			proxy =3D function() {=0A=
				return fn.apply( thisObject || this, arguments );=0A=
			};=0A=
		}=0A=
=0A=
		// Set the guid of unique handler to the same of original handler, so =
it can be removed=0A=
		if ( fn ) {=0A=
			proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || jQuery.guid++;=0A=
		}=0A=
=0A=
		// So proxy can be declared as an argument=0A=
		return proxy;=0A=
	},=0A=
=0A=
	// Use of jQuery.browser is frowned upon.=0A=
	// More details: http://docs.jquery.com/Utilities/jQuery.browser=0A=
	uaMatch: function( ua ) {=0A=
		ua =3D ua.toLowerCase();=0A=
=0A=
		var match =3D /(webkit)[ \/]([\w.]+)/.exec( ua ) ||=0A=
			/(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||=0A=
			/(msie) ([\w.]+)/.exec( ua ) ||=0A=
			!/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua =
) ||=0A=
		  	[];=0A=
=0A=
		return { browser: match[1] || "", version: match[2] || "0" };=0A=
	},=0A=
=0A=
	browser: {}=0A=
});=0A=
=0A=
browserMatch =3D jQuery.uaMatch( userAgent );=0A=
if ( browserMatch.browser ) {=0A=
	jQuery.browser[ browserMatch.browser ] =3D true;=0A=
	jQuery.browser.version =3D browserMatch.version;=0A=
}=0A=
=0A=
// Deprecated, use jQuery.browser.webkit instead=0A=
if ( jQuery.browser.webkit ) {=0A=
	jQuery.browser.safari =3D true;=0A=
}=0A=
=0A=
if ( indexOf ) {=0A=
	jQuery.inArray =3D function( elem, array ) {=0A=
		return indexOf.call( array, elem );=0A=
	};=0A=
}=0A=
=0A=
// All jQuery objects should point back to these=0A=
rootjQuery =3D jQuery(document);=0A=
=0A=
// Cleanup functions for the document ready method=0A=
if ( document.addEventListener ) {=0A=
	DOMContentLoaded =3D function() {=0A=
		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );=0A=
		jQuery.ready();=0A=
	};=0A=
=0A=
} else if ( document.attachEvent ) {=0A=
	DOMContentLoaded =3D function() {=0A=
		// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).=0A=
		if ( document.readyState =3D=3D=3D "complete" ) {=0A=
			document.detachEvent( "onreadystatechange", DOMContentLoaded );=0A=
			jQuery.ready();=0A=
		}=0A=
	};=0A=
}=0A=
=0A=
// The DOM ready check for Internet Explorer=0A=
function doScrollCheck() {=0A=
	if ( jQuery.isReady ) {=0A=
		return;=0A=
	}=0A=
=0A=
	try {=0A=
		// If IE is used, use the trick by Diego Perini=0A=
		// http://javascript.nwbox.com/IEContentLoaded/=0A=
		document.documentElement.doScroll("left");=0A=
	} catch( error ) {=0A=
		setTimeout( doScrollCheck, 1 );=0A=
		return;=0A=
	}=0A=
=0A=
	// and execute any waiting functions=0A=
	jQuery.ready();=0A=
}=0A=
=0A=
function evalScript( i, elem ) {=0A=
	if ( elem.src ) {=0A=
		jQuery.ajax({=0A=
			url: elem.src,=0A=
			async: false,=0A=
			dataType: "script"=0A=
		});=0A=
	} else {=0A=
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );=0A=
	}=0A=
=0A=
	if ( elem.parentNode ) {=0A=
		elem.parentNode.removeChild( elem );=0A=
	}=0A=
}=0A=
=0A=
// Mutifunctional method to get and set values to a collection=0A=
// The value/s can be optionally by executed if its a function=0A=
function access( elems, key, value, exec, fn, pass ) {=0A=
	var length =3D elems.length;=0A=
	=0A=
	// Setting many attributes=0A=
	if ( typeof key =3D=3D=3D "object" ) {=0A=
		for ( var k in key ) {=0A=
			access( elems, k, key[k], exec, fn, value );=0A=
		}=0A=
		return elems;=0A=
	}=0A=
	=0A=
	// Setting one attribute=0A=
	if ( value !=3D=3D undefined ) {=0A=
		// Optionally, function values get executed if exec is true=0A=
		exec =3D !pass && exec && jQuery.isFunction(value);=0A=
		=0A=
		for ( var i =3D 0; i < length; i++ ) {=0A=
			fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key =
) ) : value, pass );=0A=
		}=0A=
		=0A=
		return elems;=0A=
	}=0A=
	=0A=
	// Getting an attribute=0A=
	return length ? fn( elems[0], key ) : null;=0A=
}=0A=
=0A=
function now() {=0A=
	return (new Date).getTime();=0A=
}=0A=
(function() {=0A=
=0A=
	jQuery.support =3D {};=0A=
=0A=
	var root =3D document.documentElement,=0A=
		script =3D document.createElement("script"),=0A=
		div =3D document.createElement("div"),=0A=
		id =3D "script" + now();=0A=
=0A=
	div.style.display =3D "none";=0A=
	div.innerHTML =3D "   <link/><table></table><a href=3D'/a' =
style=3D'color:red;float:left;opacity:.55;'>a</a><input =
type=3D'checkbox'/>";=0A=
=0A=
	var all =3D div.getElementsByTagName("*"),=0A=
		a =3D div.getElementsByTagName("a")[0];=0A=
=0A=
	// Can't get basic test support=0A=
	if ( !all || !all.length || !a ) {=0A=
		return;=0A=
	}=0A=
=0A=
	jQuery.support =3D {=0A=
		// IE strips leading whitespace when .innerHTML is used=0A=
		leadingWhitespace: div.firstChild.nodeType =3D=3D=3D 3,=0A=
=0A=
		// Make sure that tbody elements aren't automatically inserted=0A=
		// IE will insert them into empty tables=0A=
		tbody: !div.getElementsByTagName("tbody").length,=0A=
=0A=
		// Make sure that link elements get serialized correctly by innerHTML=0A=
		// This requires a wrapper element in IE=0A=
		htmlSerialize: !!div.getElementsByTagName("link").length,=0A=
=0A=
		// Get the style information from getAttribute=0A=
		// (IE uses .cssText insted)=0A=
		style: /red/.test( a.getAttribute("style") ),=0A=
=0A=
		// Make sure that URLs aren't manipulated=0A=
		// (IE normalizes it by default)=0A=
		hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",=0A=
=0A=
		// Make sure that element opacity exists=0A=
		// (IE uses filter instead)=0A=
		// Use a regex to work around a WebKit issue. See #5145=0A=
		opacity: /^0.55$/.test( a.style.opacity ),=0A=
=0A=
		// Verify style float existence=0A=
		// (IE uses styleFloat instead of cssFloat)=0A=
		cssFloat: !!a.style.cssFloat,=0A=
=0A=
		// Make sure that if no value is specified for a checkbox=0A=
		// that it defaults to "on".=0A=
		// (WebKit defaults to "" instead)=0A=
		checkOn: div.getElementsByTagName("input")[0].value =3D=3D=3D "on",=0A=
=0A=
		// Make sure that a selected-by-default option has a working selected =
property.=0A=
		// (WebKit defaults to false instead of true, IE too, if it's in an =
optgroup)=0A=
		optSelected: document.createElement("select").appendChild( =
document.createElement("option") ).selected,=0A=
=0A=
		// Will be defined later=0A=
		checkClone: false,=0A=
		scriptEval: false,=0A=
		noCloneEvent: true,=0A=
		boxModel: null=0A=
	};=0A=
=0A=
	script.type =3D "text/javascript";=0A=
	try {=0A=
		script.appendChild( document.createTextNode( "window." + id + "=3D1;" =
) );=0A=
	} catch(e) {}=0A=
=0A=
	root.insertBefore( script, root.firstChild );=0A=
=0A=
	// Make sure that the execution of code works by injecting a script=0A=
	// tag with appendChild/createTextNode=0A=
	// (IE doesn't support this, fails, and uses .text instead)=0A=
	if ( window[ id ] ) {=0A=
		jQuery.support.scriptEval =3D true;=0A=
		delete window[ id ];=0A=
	}=0A=
=0A=
	root.removeChild( script );=0A=
=0A=
	if ( div.attachEvent && div.fireEvent ) {=0A=
		div.attachEvent("onclick", function click() {=0A=
			// Cloning a node shouldn't copy over any=0A=
			// bound event handlers (IE does this)=0A=
			jQuery.support.noCloneEvent =3D false;=0A=
			div.detachEvent("onclick", click);=0A=
		});=0A=
		div.cloneNode(true).fireEvent("onclick");=0A=
	}=0A=
=0A=
	div =3D document.createElement("div");=0A=
	div.innerHTML =3D "<input type=3D'radio' name=3D'radiotest' =
checked=3D'checked'/>";=0A=
=0A=
	var fragment =3D document.createDocumentFragment();=0A=
	fragment.appendChild( div.firstChild );=0A=
=0A=
	// WebKit doesn't clone checked state correctly in fragments=0A=
	jQuery.support.checkClone =3D =
fragment.cloneNode(true).cloneNode(true).lastChild.checked;=0A=
=0A=
	// Figure out if the W3C box model works as expected=0A=
	// document.body must exist before we can do this=0A=
	jQuery(function() {=0A=
		var div =3D document.createElement("div");=0A=
		div.style.width =3D div.style.paddingLeft =3D "1px";=0A=
=0A=
		document.body.appendChild( div );=0A=
		jQuery.boxModel =3D jQuery.support.boxModel =3D div.offsetWidth =
=3D=3D=3D 2;=0A=
		document.body.removeChild( div ).style.display =3D 'none';=0A=
		div =3D null;=0A=
	});=0A=
=0A=
	// Technique from Juriy Zaytsev=0A=
	// =
http://thinkweb2.com/projects/prototype/detecting-event-support-without-b=
rowser-sniffing/=0A=
	var eventSupported =3D function( eventName ) { =0A=
		var el =3D document.createElement("div"); =0A=
		eventName =3D "on" + eventName; =0A=
=0A=
		var isSupported =3D (eventName in el); =0A=
		if ( !isSupported ) { =0A=
			el.setAttribute(eventName, "return;"); =0A=
			isSupported =3D typeof el[eventName] =3D=3D=3D "function"; =0A=
		} =0A=
		el =3D null; =0A=
=0A=
		return isSupported; =0A=
	};=0A=
	=0A=
	jQuery.support.submitBubbles =3D eventSupported("submit");=0A=
	jQuery.support.changeBubbles =3D eventSupported("change");=0A=
=0A=
	// release memory in IE=0A=
	root =3D script =3D div =3D all =3D a =3D null;=0A=
})();=0A=
=0A=
jQuery.props =3D {=0A=
	"for": "htmlFor",=0A=
	"class": "className",=0A=
	readonly: "readOnly",=0A=
	maxlength: "maxLength",=0A=
	cellspacing: "cellSpacing",=0A=
	rowspan: "rowSpan",=0A=
	colspan: "colSpan",=0A=
	tabindex: "tabIndex",=0A=
	usemap: "useMap",=0A=
	frameborder: "frameBorder"=0A=
};=0A=
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};=0A=
var emptyObject =3D {};=0A=
=0A=
jQuery.extend({=0A=
	cache: {},=0A=
	=0A=
	expando:expando,=0A=
=0A=
	// The following elements throw uncatchable exceptions if you=0A=
	// attempt to add expando properties to them.=0A=
	noData: {=0A=
		"embed": true,=0A=
		"object": true,=0A=
		"applet": true=0A=
	},=0A=
=0A=
	data: function( elem, name, data ) {=0A=
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {=0A=
			return;=0A=
		}=0A=
=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache;=0A=
=0A=
		// Handle the case where there's no name immediately=0A=
		if ( !name && !id ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		// Compute a unique ID for the element=0A=
		if ( !id ) { =0A=
			id =3D ++uuid;=0A=
		}=0A=
=0A=
		// Avoid generating a new cache unless none exists and we=0A=
		// want to manipulate it.=0A=
		if ( typeof name =3D=3D=3D "object" ) {=0A=
			elem[ expando ] =3D id;=0A=
			thisCache =3D cache[ id ] =3D jQuery.extend(true, {}, name);=0A=
		} else if ( cache[ id ] ) {=0A=
			thisCache =3D cache[ id ];=0A=
		} else if ( typeof data =3D=3D=3D "undefined" ) {=0A=
			thisCache =3D emptyObject;=0A=
		} else {=0A=
			thisCache =3D cache[ id ] =3D {};=0A=
		}=0A=
=0A=
		// Prevent overriding the named cache with undefined values=0A=
		if ( data !=3D=3D undefined ) {=0A=
			elem[ expando ] =3D id;=0A=
			thisCache[ name ] =3D data;=0A=
		}=0A=
=0A=
		return typeof name =3D=3D=3D "string" ? thisCache[ name ] : thisCache;=0A=
	},=0A=
=0A=
	removeData: function( elem, name ) {=0A=
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {=0A=
			return;=0A=
		}=0A=
=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache =3D =
cache[ id ];=0A=
=0A=
		// If we want to remove a specific section of the element's data=0A=
		if ( name ) {=0A=
			if ( thisCache ) {=0A=
				// Remove the section of cache data=0A=
				delete thisCache[ name ];=0A=
=0A=
				// If we've removed all the data, remove the element's cache=0A=
				if ( jQuery.isEmptyObject(thisCache) ) {=0A=
					jQuery.removeData( elem );=0A=
				}=0A=
			}=0A=
=0A=
		// Otherwise, we want to remove all of the element's data=0A=
		} else {=0A=
			// Clean up the element expando=0A=
			try {=0A=
				delete elem[ expando ];=0A=
			} catch( e ) {=0A=
				// IE has trouble directly removing the expando=0A=
				// but it's ok with using removeAttribute=0A=
				if ( elem.removeAttribute ) {=0A=
					elem.removeAttribute( expando );=0A=
				}=0A=
			}=0A=
=0A=
			// Completely remove the data cache=0A=
			delete cache[ id ];=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	data: function( key, value ) {=0A=
		if ( typeof key =3D=3D=3D "undefined" && this.length ) {=0A=
			return jQuery.data( this[0] );=0A=
=0A=
		} else if ( typeof key =3D=3D=3D "object" ) {=0A=
			return this.each(function() {=0A=
				jQuery.data( this, key );=0A=
			});=0A=
		}=0A=
=0A=
		var parts =3D key.split(".");=0A=
		parts[1] =3D parts[1] ? "." + parts[1] : "";=0A=
=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);=0A=
=0A=
			if ( data =3D=3D=3D undefined && this.length ) {=0A=
				data =3D jQuery.data( this[0], key );=0A=
			}=0A=
			return data =3D=3D=3D undefined && parts[1] ?=0A=
				this.data( parts[0] ) :=0A=
				data;=0A=
		} else {=0A=
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function() {=0A=
				jQuery.data( this, key, value );=0A=
			});=0A=
		}=0A=
	},=0A=
=0A=
	removeData: function( key ) {=0A=
		return this.each(function() {=0A=
			jQuery.removeData( this, key );=0A=
		});=0A=
	}=0A=
});=0A=
jQuery.extend({=0A=
	queue: function( elem, type, data ) {=0A=
		if ( !elem ) {=0A=
			return;=0A=
		}=0A=
=0A=
		type =3D (type || "fx") + "queue";=0A=
		var q =3D jQuery.data( elem, type );=0A=
=0A=
		// Speed up dequeue by getting out quickly if this is just a lookup=0A=
		if ( !data ) {=0A=
			return q || [];=0A=
		}=0A=
=0A=
		if ( !q || jQuery.isArray(data) ) {=0A=
			q =3D jQuery.data( elem, type, jQuery.makeArray(data) );=0A=
=0A=
		} else {=0A=
			q.push( data );=0A=
		}=0A=
=0A=
		return q;=0A=
	},=0A=
=0A=
	dequeue: function( elem, type ) {=0A=
		type =3D type || "fx";=0A=
=0A=
		var queue =3D jQuery.queue( elem, type ), fn =3D queue.shift();=0A=
=0A=
		// If the fx queue is dequeued, always remove the progress sentinel=0A=
		if ( fn =3D=3D=3D "inprogress" ) {=0A=
			fn =3D queue.shift();=0A=
		}=0A=
=0A=
		if ( fn ) {=0A=
			// Add a progress sentinel to prevent the fx queue from being=0A=
			// automatically dequeued=0A=
			if ( type =3D=3D=3D "fx" ) {=0A=
				queue.unshift("inprogress");=0A=
			}=0A=
=0A=
			fn.call(elem, function() {=0A=
				jQuery.dequeue(elem, type);=0A=
			});=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	queue: function( type, data ) {=0A=
		if ( typeof type !=3D=3D "string" ) {=0A=
			data =3D type;=0A=
			type =3D "fx";=0A=
		}=0A=
=0A=
		if ( data =3D=3D=3D undefined ) {=0A=
			return jQuery.queue( this[0], type );=0A=
		}=0A=
		return this.each(function( i, elem ) {=0A=
			var queue =3D jQuery.queue( this, type, data );=0A=
=0A=
			if ( type =3D=3D=3D "fx" && queue[0] !=3D=3D "inprogress" ) {=0A=
				jQuery.dequeue( this, type );=0A=
			}=0A=
		});=0A=
	},=0A=
	dequeue: function( type ) {=0A=
		return this.each(function() {=0A=
			jQuery.dequeue( this, type );=0A=
		});=0A=
	},=0A=
=0A=
	// Based off of the plugin by Clint Helfers, with permission.=0A=
	// http://blindsignals.com/index.php/2009/07/jquery-delay/=0A=
	delay: function( time, type ) {=0A=
		time =3D jQuery.fx ? jQuery.fx.speeds[time] || time : time;=0A=
		type =3D type || "fx";=0A=
=0A=
		return this.queue( type, function() {=0A=
			var elem =3D this;=0A=
			setTimeout(function() {=0A=
				jQuery.dequeue( elem, type );=0A=
			}, time );=0A=
		});=0A=
	},=0A=
=0A=
	clearQueue: function( type ) {=0A=
		return this.queue( type || "fx", [] );=0A=
	}=0A=
});=0A=
var rclass =3D /[\n\t]/g,=0A=
	rspace =3D /\s+/,=0A=
	rreturn =3D /\r/g,=0A=
	rspecialurl =3D /href|src|style/,=0A=
	rtype =3D /(button|input)/i,=0A=
	rfocusable =3D /(button|input|object|select|textarea)/i,=0A=
	rclickable =3D /^(a|area)$/i,=0A=
	rradiocheck =3D /radio|checkbox/;=0A=
=0A=
jQuery.fn.extend({=0A=
	attr: function( name, value ) {=0A=
		return access( this, name, value, true, jQuery.attr );=0A=
	},=0A=
=0A=
	removeAttr: function( name, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.attr( this, name, "" );=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.removeAttribute( name );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	addClass: function( value ) {=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.addClass( value.call(this, i, self.attr("class")) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( value && typeof value =3D=3D=3D "string" ) {=0A=
			var classNames =3D (value || "").split( rspace );=0A=
=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var elem =3D this[i];=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !elem.className ) {=0A=
						elem.className =3D value;=0A=
=0A=
					} else {=0A=
						var className =3D " " + elem.className + " ";=0A=
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {=0A=
							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {=0A=
								elem.className +=3D " " + classNames[c];=0A=
							}=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	removeClass: function( value ) {=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.removeClass( value.call(this, i, self.attr("class")) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( (value && typeof value =3D=3D=3D "string") || value =3D=3D=3D =
undefined ) {=0A=
			var classNames =3D (value || "").split(rspace);=0A=
=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var elem =3D this[i];=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && elem.className ) {=0A=
					if ( value ) {=0A=
						var className =3D (" " + elem.className + " ").replace(rclass, " =
");=0A=
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {=0A=
							className =3D className.replace(" " + classNames[c] + " ", " ");=0A=
						}=0A=
						elem.className =3D className.substring(1, className.length - 1);=0A=
=0A=
					} else {=0A=
						elem.className =3D "";=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	toggleClass: function( value, stateVal ) {=0A=
		var type =3D typeof value, isBool =3D typeof stateVal =3D=3D=3D =
"boolean";=0A=
=0A=
		if ( jQuery.isFunction( value ) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), =
stateVal );=0A=
			});=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			if ( type =3D=3D=3D "string" ) {=0A=
				// toggle individual class names=0A=
				var className, i =3D 0, self =3D jQuery(this),=0A=
					state =3D stateVal,=0A=
					classNames =3D value.split( rspace );=0A=
=0A=
				while ( (className =3D classNames[ i++ ]) ) {=0A=
					// check each className given, space seperated list=0A=
					state =3D isBool ? state : !self.hasClass( className );=0A=
					self[ state ? "addClass" : "removeClass" ]( className );=0A=
				}=0A=
=0A=
			} else if ( type =3D=3D=3D "undefined" || type =3D=3D=3D "boolean" ) {=0A=
				if ( this.className ) {=0A=
					// store className if set=0A=
					jQuery.data( this, "__className__", this.className );=0A=
				}=0A=
=0A=
				// toggle whole className=0A=
				this.className =3D this.className || value =3D=3D=3D false ? "" : =
jQuery.data( this, "__className__" ) || "";=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	hasClass: function( selector ) {=0A=
		var className =3D " " + selector + " ";=0A=
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( =
className ) > -1 ) {=0A=
				return true;=0A=
			}=0A=
		}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	val: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var elem =3D this[0];=0A=
=0A=
			if ( elem ) {=0A=
				if ( jQuery.nodeName( elem, "option" ) ) {=0A=
					return (elem.attributes.value || {}).specified ? elem.value : =
elem.text;=0A=
				}=0A=
=0A=
				// We need to handle select boxes special=0A=
				if ( jQuery.nodeName( elem, "select" ) ) {=0A=
					var index =3D elem.selectedIndex,=0A=
						values =3D [],=0A=
						options =3D elem.options,=0A=
						one =3D elem.type =3D=3D=3D "select-one";=0A=
=0A=
					// Nothing was selected=0A=
					if ( index < 0 ) {=0A=
						return null;=0A=
					}=0A=
=0A=
					// Loop through all the selected options=0A=
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {=0A=
						var option =3D options[ i ];=0A=
=0A=
						if ( option.selected ) {=0A=
							// Get the specifc value for the option=0A=
							value =3D jQuery(option).val();=0A=
=0A=
							// We don't need an array for one selects=0A=
							if ( one ) {=0A=
								return value;=0A=
							}=0A=
=0A=
							// Multi-Selects return an array=0A=
							values.push( value );=0A=
						}=0A=
					}=0A=
=0A=
					return values;=0A=
				}=0A=
=0A=
				// Handle the case where in Webkit "" is returned instead of "on" if =
a value isn't specified=0A=
				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {=0A=
					return elem.getAttribute("value") =3D=3D=3D null ? "on" : =
elem.value;=0A=
				}=0A=
				=0A=
=0A=
				// Everything else, we just grab the value=0A=
				return (elem.value || "").replace(rreturn, "");=0A=
=0A=
			}=0A=
=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var isFunction =3D jQuery.isFunction(value);=0A=
=0A=
		return this.each(function(i) {=0A=
			var self =3D jQuery(this), val =3D value;=0A=
=0A=
			if ( this.nodeType !=3D=3D 1 ) {=0A=
				return;=0A=
			}=0A=
=0A=
			if ( isFunction ) {=0A=
				val =3D value.call(this, i, self.val());=0A=
			}=0A=
=0A=
			// Typecast each time if the value is a Function and the appended=0A=
			// value is therefore different each time.=0A=
			if ( typeof val =3D=3D=3D "number" ) {=0A=
				val +=3D "";=0A=
			}=0A=
=0A=
			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {=0A=
				this.checked =3D jQuery.inArray( self.val(), val ) >=3D 0;=0A=
=0A=
			} else if ( jQuery.nodeName( this, "select" ) ) {=0A=
				var values =3D jQuery.makeArray(val);=0A=
=0A=
				jQuery( "option", this ).each(function() {=0A=
					this.selected =3D jQuery.inArray( jQuery(this).val(), values ) >=3D =
0;=0A=
				});=0A=
=0A=
				if ( !values.length ) {=0A=
					this.selectedIndex =3D -1;=0A=
				}=0A=
=0A=
			} else {=0A=
				this.value =3D val;=0A=
			}=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	attrFn: {=0A=
		val: true,=0A=
		css: true,=0A=
		html: true,=0A=
		text: true,=0A=
		data: true,=0A=
		width: true,=0A=
		height: true,=0A=
		offset: true=0A=
	},=0A=
		=0A=
	attr: function( elem, name, value, pass ) {=0A=
		// don't set attributes on text and comment nodes=0A=
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{=0A=
			return undefined;=0A=
		}=0A=
=0A=
		if ( pass && name in jQuery.attrFn ) {=0A=
			return jQuery(elem)[name](value);=0A=
		}=0A=
=0A=
		var notxml =3D elem.nodeType !=3D=3D 1 || !jQuery.isXMLDoc( elem ),=0A=
			// Whether we are setting (or getting)=0A=
			set =3D value !=3D=3D undefined;=0A=
=0A=
		// Try to normalize/fix the name=0A=
		name =3D notxml && jQuery.props[ name ] || name;=0A=
=0A=
		// Only do all the following if this is a node (faster for style)=0A=
		if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
			// These attributes require special treatment=0A=
			var special =3D rspecialurl.test( name );=0A=
=0A=
			// Safari mis-reports the default selected property of an option=0A=
			// Accessing the parent's selectedIndex property fixes it=0A=
			if ( name =3D=3D=3D "selected" && !jQuery.support.optSelected ) {=0A=
				var parent =3D elem.parentNode;=0A=
				if ( parent ) {=0A=
					parent.selectedIndex;=0A=
	=0A=
					// Make sure that it also works with optgroups, see #5701=0A=
					if ( parent.parentNode ) {=0A=
						parent.parentNode.selectedIndex;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			// If applicable, access the attribute via the DOM 0 way=0A=
			if ( name in elem && notxml && !special ) {=0A=
				if ( set ) {=0A=
					// We can't allow the type property to be changed (since it causes =
problems in IE)=0A=
					if ( name =3D=3D=3D "type" && rtype.test( elem.nodeName ) && =
elem.parentNode ) {=0A=
						jQuery.error( "type property can't be changed" );=0A=
					}=0A=
=0A=
					elem[ name ] =3D value;=0A=
				}=0A=
=0A=
				// browsers index elements by id/name on forms, give priority to =
attributes.=0A=
				if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) =
) {=0A=
					return elem.getAttributeNode( name ).nodeValue;=0A=
				}=0A=
=0A=
				// elem.tabIndex doesn't always return the correct value when it =
hasn't been explicitly set=0A=
				// =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/=0A=
				if ( name =3D=3D=3D "tabIndex" ) {=0A=
					var attributeNode =3D elem.getAttributeNode( "tabIndex" );=0A=
=0A=
					return attributeNode && attributeNode.specified ?=0A=
						attributeNode.value :=0A=
						rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName =
) && elem.href ?=0A=
							0 :=0A=
							undefined;=0A=
				}=0A=
=0A=
				return elem[ name ];=0A=
			}=0A=
=0A=
			if ( !jQuery.support.style && notxml && name =3D=3D=3D "style" ) {=0A=
				if ( set ) {=0A=
					elem.style.cssText =3D "" + value;=0A=
				}=0A=
=0A=
				return elem.style.cssText;=0A=
			}=0A=
=0A=
			if ( set ) {=0A=
				// convert the value to a string (all browsers do this but IE) see =
#1070=0A=
				elem.setAttribute( name, "" + value );=0A=
			}=0A=
=0A=
			var attr =3D !jQuery.support.hrefNormalized && notxml && special ?=0A=
					// Some attributes require a special call on IE=0A=
					elem.getAttribute( name, 2 ) :=0A=
					elem.getAttribute( name );=0A=
=0A=
			// Non-existent attributes return null, we normalize to undefined=0A=
			return attr =3D=3D=3D null ? undefined : attr;=0A=
		}=0A=
=0A=
		// elem is actually elem.style ... set the style=0A=
		// Using attr for specific style information is now deprecated. Use =
style insead.=0A=
		return jQuery.style( elem, name, value );=0A=
	}=0A=
});=0A=
var fcleanup =3D function( nm ) {=0A=
	return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {=0A=
		return "\\" + ch;=0A=
	});=0A=
};=0A=
=0A=
/*=0A=
 * A number of helper functions used for managing events.=0A=
 * Many of the ideas behind this code originated from=0A=
 * Dean Edwards' addEvent library.=0A=
 */=0A=
jQuery.event =3D {=0A=
=0A=
	// Bind an event to an element=0A=
	// Original by Dean Edwards=0A=
	add: function( elem, types, handler, data ) {=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// For whatever reason, IE has trouble passing the window object=0A=
		// around, causing it to be cloned in the process=0A=
		if ( elem.setInterval && ( elem !=3D=3D window && !elem.frameElement ) =
) {=0A=
			elem =3D window;=0A=
		}=0A=
=0A=
		// Make sure that the function being executed has a unique ID=0A=
		if ( !handler.guid ) {=0A=
			handler.guid =3D jQuery.guid++;=0A=
		}=0A=
=0A=
		// if data is passed, bind to handler=0A=
		if ( data !=3D=3D undefined ) {=0A=
			// Create temporary function pointer to original handler=0A=
			var fn =3D handler;=0A=
=0A=
			// Create unique handler function, wrapped around original handler=0A=
			handler =3D jQuery.proxy( fn );=0A=
=0A=
			// Store data in unique handler=0A=
			handler.data =3D data;=0A=
		}=0A=
=0A=
		// Init the element's event structure=0A=
		var events =3D jQuery.data( elem, "events" ) || jQuery.data( elem, =
"events", {} ),=0A=
			handle =3D jQuery.data( elem, "handle" ), eventHandle;=0A=
=0A=
		if ( !handle ) {=0A=
			eventHandle =3D function() {=0A=
				// Handle the second event of a trigger and when=0A=
				// an event is called after a page has unloaded=0A=
				return typeof jQuery !=3D=3D "undefined" && !jQuery.event.triggered ?=0A=
					jQuery.event.handle.apply( eventHandle.elem, arguments ) :=0A=
					undefined;=0A=
			};=0A=
=0A=
			handle =3D jQuery.data( elem, "handle", eventHandle );=0A=
		}=0A=
=0A=
		// If no handle is found then we must be trying to bind to one of the=0A=
		// banned noData elements=0A=
		if ( !handle ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// Add elem as a property of the handle function=0A=
		// This is to prevent a memory leak with non-native=0A=
		// event in IE.=0A=
		handle.elem =3D elem;=0A=
=0A=
		// Handle multiple events separated by a space=0A=
		// jQuery(...).bind("mouseover mouseout", fn);=0A=
		types =3D types.split( /\s+/ );=0A=
=0A=
		var type, i =3D 0;=0A=
=0A=
		while ( (type =3D types[ i++ ]) ) {=0A=
			// Namespaced event handlers=0A=
			var namespaces =3D type.split(".");=0A=
			type =3D namespaces.shift();=0A=
=0A=
			if ( i > 1 ) {=0A=
				handler =3D jQuery.proxy( handler );=0A=
=0A=
				if ( data !=3D=3D undefined ) {=0A=
					handler.data =3D data;=0A=
				}=0A=
			}=0A=
=0A=
			handler.type =3D namespaces.slice(0).sort().join(".");=0A=
=0A=
			// Get the current list of functions bound to this event=0A=
			var handlers =3D events[ type ],=0A=
				special =3D this.special[ type ] || {};=0A=
=0A=
			// Init the event handler queue=0A=
			if ( !handlers ) {=0A=
				handlers =3D events[ type ] =3D {};=0A=
=0A=
				// Check for a special event handler=0A=
				// Only use addEventListener/attachEvent if the special=0A=
				// events handler returns false=0A=
				if ( !special.setup || special.setup.call( elem, data, namespaces, =
handler) =3D=3D=3D false ) {=0A=
					// Bind the global event handler to the element=0A=
					if ( elem.addEventListener ) {=0A=
						elem.addEventListener( type, handle, false );=0A=
					} else if ( elem.attachEvent ) {=0A=
						elem.attachEvent( "on" + type, handle );=0A=
					}=0A=
				}=0A=
			}=0A=
			=0A=
			if ( special.add ) { =0A=
				var modifiedHandler =3D special.add.call( elem, handler, data, =
namespaces, handlers ); =0A=
				if ( modifiedHandler && jQuery.isFunction( modifiedHandler ) ) { =0A=
					modifiedHandler.guid =3D modifiedHandler.guid || handler.guid; =0A=
					modifiedHandler.data =3D modifiedHandler.data || handler.data; =0A=
					modifiedHandler.type =3D modifiedHandler.type || handler.type; =0A=
					handler =3D modifiedHandler; =0A=
				} =0A=
			} =0A=
			=0A=
			// Add the function to the element's handler list=0A=
			handlers[ handler.guid ] =3D handler;=0A=
=0A=
			// Keep track of which events have been used, for global triggering=0A=
			this.global[ type ] =3D true;=0A=
		}=0A=
=0A=
		// Nullify elem to prevent memory leaks in IE=0A=
		elem =3D null;=0A=
	},=0A=
=0A=
	global: {},=0A=
=0A=
	// Detach an event or set of events from an element=0A=
	remove: function( elem, types, handler ) {=0A=
		// don't do events on text and comment nodes=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var events =3D jQuery.data( elem, "events" ), ret, type, fn;=0A=
=0A=
		if ( events ) {=0A=
			// Unbind all events for the element=0A=
			if ( types =3D=3D=3D undefined || (typeof types =3D=3D=3D "string" && =
types.charAt(0) =3D=3D=3D ".") ) {=0A=
				for ( type in events ) {=0A=
					this.remove( elem, type + (types || "") );=0A=
				}=0A=
			} else {=0A=
				// types is actually an event object here=0A=
				if ( types.type ) {=0A=
					handler =3D types.handler;=0A=
					types =3D types.type;=0A=
				}=0A=
=0A=
				// Handle multiple events separated by a space=0A=
				// jQuery(...).unbind("mouseover mouseout", fn);=0A=
				types =3D types.split(/\s+/);=0A=
				var i =3D 0;=0A=
				while ( (type =3D types[ i++ ]) ) {=0A=
					// Namespaced event handlers=0A=
					var namespaces =3D type.split(".");=0A=
					type =3D namespaces.shift();=0A=
					var all =3D !namespaces.length,=0A=
						cleaned =3D jQuery.map( namespaces.slice(0).sort(), fcleanup ),=0A=
						namespace =3D new RegExp("(^|\\.)" + cleaned.join("\\.(?:.*\\.)?") =
+ "(\\.|$)"),=0A=
						special =3D this.special[ type ] || {};=0A=
=0A=
					if ( events[ type ] ) {=0A=
						// remove the given handler for the given type=0A=
						if ( handler ) {=0A=
							fn =3D events[ type ][ handler.guid ];=0A=
							delete events[ type ][ handler.guid ];=0A=
=0A=
						// remove all handlers for the given type=0A=
						} else {=0A=
							for ( var handle in events[ type ] ) {=0A=
								// Handle the removal of namespaced events=0A=
								if ( all || namespace.test( events[ type ][ handle ].type ) ) {=0A=
									delete events[ type ][ handle ];=0A=
								}=0A=
							}=0A=
						}=0A=
=0A=
						if ( special.remove ) {=0A=
							special.remove.call( elem, namespaces, fn);=0A=
						}=0A=
=0A=
						// remove generic event handler if no more handlers exist=0A=
						for ( ret in events[ type ] ) {=0A=
							break;=0A=
						}=0A=
						if ( !ret ) {=0A=
							if ( !special.teardown || special.teardown.call( elem, namespaces =
) =3D=3D=3D false ) {=0A=
								if ( elem.removeEventListener ) {=0A=
									elem.removeEventListener( type, jQuery.data( elem, "handle" ), =
false );=0A=
								} else if ( elem.detachEvent ) {=0A=
									elem.detachEvent( "on" + type, jQuery.data( elem, "handle" ) );=0A=
								}=0A=
							}=0A=
							ret =3D null;=0A=
							delete events[ type ];=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			// Remove the expando if it's no longer used=0A=
			for ( ret in events ) {=0A=
				break;=0A=
			}=0A=
			if ( !ret ) {=0A=
				var handle =3D jQuery.data( elem, "handle" );=0A=
				if ( handle ) {=0A=
					handle.elem =3D null;=0A=
				}=0A=
				jQuery.removeData( elem, "events" );=0A=
				jQuery.removeData( elem, "handle" );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// bubbling is internal=0A=
	trigger: function( event, data, elem /*, bubbling */ ) {=0A=
		// Event object or event type=0A=
		var type =3D event.type || event,=0A=
			bubbling =3D arguments[3];=0A=
=0A=
		if ( !bubbling ) {=0A=
			event =3D typeof event =3D=3D=3D "object" ?=0A=
				// jQuery.Event object=0A=
				event[expando] ? event :=0A=
				// Object literal=0A=
				jQuery.extend( jQuery.Event(type), event ) :=0A=
				// Just the event type (string)=0A=
				jQuery.Event(type);=0A=
=0A=
			if ( type.indexOf("!") >=3D 0 ) {=0A=
				event.type =3D type =3D type.slice(0, -1);=0A=
				event.exclusive =3D true;=0A=
			}=0A=
=0A=
			// Handle a global trigger=0A=
			if ( !elem ) {=0A=
				// Don't bubble custom events when global (to avoid too much =
overhead)=0A=
				event.stopPropagation();=0A=
=0A=
				// Only trigger if we've ever bound an event for it=0A=
				if ( this.global[ type ] ) {=0A=
					jQuery.each( jQuery.cache, function() {=0A=
						if ( this.events && this.events[type] ) {=0A=
							jQuery.event.trigger( event, data, this.handle.elem );=0A=
						}=0A=
					});=0A=
				}=0A=
			}=0A=
=0A=
			// Handle triggering a single element=0A=
=0A=
			// don't do events on text and comment nodes=0A=
			if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 =
) {=0A=
				return undefined;=0A=
			}=0A=
=0A=
			// Clean up in case it is reused=0A=
			event.result =3D undefined;=0A=
			event.target =3D elem;=0A=
=0A=
			// Clone the incoming data, if any=0A=
			data =3D jQuery.makeArray( data );=0A=
			data.unshift( event );=0A=
		}=0A=
=0A=
		event.currentTarget =3D elem;=0A=
=0A=
		// Trigger the event, it is assumed that "handle" is a function=0A=
		var handle =3D jQuery.data( elem, "handle" );=0A=
		if ( handle ) {=0A=
			handle.apply( elem, data );=0A=
		}=0A=
=0A=
		var parent =3D elem.parentNode || elem.ownerDocument;=0A=
=0A=
		// Trigger an inline bound script=0A=
		try {=0A=
			if ( !(elem && elem.nodeName && =
jQuery.noData[elem.nodeName.toLowerCase()]) ) {=0A=
				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) =
=3D=3D=3D false ) {=0A=
					event.result =3D false;=0A=
				}=0A=
			}=0A=
=0A=
		// prevent IE from throwing an error for some elements with some event =
types, see #3533=0A=
		} catch (e) {}=0A=
=0A=
		if ( !event.isPropagationStopped() && parent ) {=0A=
			jQuery.event.trigger( event, data, parent, true );=0A=
=0A=
		} else if ( !event.isDefaultPrevented() ) {=0A=
			var target =3D event.target, old,=0A=
				isClick =3D jQuery.nodeName(target, "a") && type =3D=3D=3D "click";=0A=
=0A=
			if ( !isClick && !(target && target.nodeName && =
jQuery.noData[target.nodeName.toLowerCase()]) ) {=0A=
				try {=0A=
					if ( target[ type ] ) {=0A=
						// Make sure that we don't accidentally re-trigger the onFOO events=0A=
						old =3D target[ "on" + type ];=0A=
=0A=
						if ( old ) {=0A=
							target[ "on" + type ] =3D null;=0A=
						}=0A=
=0A=
						this.triggered =3D true;=0A=
						target[ type ]();=0A=
					}=0A=
=0A=
				// prevent IE from throwing an error for some elements with some =
event types, see #3533=0A=
				} catch (e) {}=0A=
=0A=
				if ( old ) {=0A=
					target[ "on" + type ] =3D old;=0A=
				}=0A=
=0A=
				this.triggered =3D false;=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	handle: function( event ) {=0A=
		// returned undefined or false=0A=
		var all, handlers;=0A=
=0A=
		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );=0A=
		event.currentTarget =3D this;=0A=
=0A=
		// Namespaced event handlers=0A=
		var namespaces =3D event.type.split(".");=0A=
		event.type =3D namespaces.shift();=0A=
=0A=
		// Cache this now, all =3D true means, any handler=0A=
		all =3D !namespaces.length && !event.exclusive;=0A=
=0A=
		var namespace =3D new RegExp("(^|\\.)" + =
namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");=0A=
=0A=
		handlers =3D ( jQuery.data(this, "events") || {} )[ event.type ];=0A=
=0A=
		for ( var j in handlers ) {=0A=
			var handler =3D handlers[ j ];=0A=
=0A=
			// Filter the functions by class=0A=
			if ( all || namespace.test(handler.type) ) {=0A=
				// Pass in a reference to the handler function itself=0A=
				// So that we can later remove it=0A=
				event.handler =3D handler;=0A=
				event.data =3D handler.data;=0A=
=0A=
				var ret =3D handler.apply( this, arguments );=0A=
=0A=
				if ( ret !=3D=3D undefined ) {=0A=
					event.result =3D ret;=0A=
					if ( ret =3D=3D=3D false ) {=0A=
						event.preventDefault();=0A=
						event.stopPropagation();=0A=
					}=0A=
				}=0A=
=0A=
				if ( event.isImmediatePropagationStopped() ) {=0A=
					break;=0A=
				}=0A=
=0A=
			}=0A=
		}=0A=
=0A=
		return event.result;=0A=
	},=0A=
=0A=
	props: "altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode layerX layerY metaKey newValue offsetX offsetY =
originalTarget pageX pageY prevValue relatedNode relatedTarget screenX =
screenY shiftKey srcElement target toElement view wheelDelta =
which".split(" "),=0A=
=0A=
	fix: function( event ) {=0A=
		if ( event[ expando ] ) {=0A=
			return event;=0A=
		}=0A=
=0A=
		// store a copy of the original event object=0A=
		// and "clone" to set read-only properties=0A=
		var originalEvent =3D event;=0A=
		event =3D jQuery.Event( originalEvent );=0A=
=0A=
		for ( var i =3D this.props.length, prop; i; ) {=0A=
			prop =3D this.props[ --i ];=0A=
			event[ prop ] =3D originalEvent[ prop ];=0A=
		}=0A=
=0A=
		// Fix target property, if necessary=0A=
		if ( !event.target ) {=0A=
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either=0A=
		}=0A=
=0A=
		// check if target is a textnode (safari)=0A=
		if ( event.target.nodeType =3D=3D=3D 3 ) {=0A=
			event.target =3D event.target.parentNode;=0A=
		}=0A=
=0A=
		// Add relatedTarget, if necessary=0A=
		if ( !event.relatedTarget && event.fromElement ) {=0A=
			event.relatedTarget =3D event.fromElement =3D=3D=3D event.target ? =
event.toElement : event.fromElement;=0A=
		}=0A=
=0A=
		// Calculate pageX/Y if missing and clientX/Y available=0A=
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {=0A=
			var doc =3D document.documentElement, body =3D document.body;=0A=
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc && doc.clientLeft || body && =
body.clientLeft || 0);=0A=
			event.pageY =3D event.clientY + (doc && doc.scrollTop  || body && =
body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop =
 || 0);=0A=
		}=0A=
=0A=
		// Add which for key events=0A=
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) ) {=0A=
			event.which =3D event.charCode || event.keyCode;=0A=
		}=0A=
=0A=
		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)=0A=
		if ( !event.metaKey && event.ctrlKey ) {=0A=
			event.metaKey =3D event.ctrlKey;=0A=
		}=0A=
=0A=
		// Add which for click: 1 =3D=3D=3D left; 2 =3D=3D=3D middle; 3 =
=3D=3D=3D right=0A=
		// Note: button is not normalized, so don't use it=0A=
		if ( !event.which && event.button !=3D=3D undefined ) {=0A=
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));=0A=
		}=0A=
=0A=
		return event;=0A=
	},=0A=
=0A=
	// Deprecated, use jQuery.guid instead=0A=
	guid: 1E8,=0A=
=0A=
	// Deprecated, use jQuery.proxy instead=0A=
	proxy: jQuery.proxy,=0A=
=0A=
	special: {=0A=
		ready: {=0A=
			// Make sure the ready event is setup=0A=
			setup: jQuery.bindReady,=0A=
			teardown: jQuery.noop=0A=
		},=0A=
=0A=
		live: {=0A=
			add: function( proxy, data, namespaces, live ) {=0A=
				jQuery.extend( proxy, data || {} );=0A=
=0A=
				proxy.guid +=3D data.selector + data.live; =0A=
				data.liveProxy =3D proxy;=0A=
=0A=
				jQuery.event.add( this, data.live, liveHandler, data ); =0A=
				=0A=
			},=0A=
=0A=
			remove: function( namespaces ) {=0A=
				if ( namespaces.length ) {=0A=
					var remove =3D 0, name =3D new RegExp("(^|\\.)" + namespaces[0] + =
"(\\.|$)");=0A=
=0A=
					jQuery.each( (jQuery.data(this, "events").live || {}), function() {=0A=
						if ( name.test(this.type) ) {=0A=
							remove++;=0A=
						}=0A=
					});=0A=
=0A=
					if ( remove < 1 ) {=0A=
						jQuery.event.remove( this, namespaces[0], liveHandler );=0A=
					}=0A=
				}=0A=
			},=0A=
			special: {}=0A=
		},=0A=
		beforeunload: {=0A=
			setup: function( data, namespaces, fn ) {=0A=
				// We only want to do this special case on windows=0A=
				if ( this.setInterval ) {=0A=
					this.onbeforeunload =3D fn;=0A=
				}=0A=
=0A=
				return false;=0A=
			},=0A=
			teardown: function( namespaces, fn ) {=0A=
				if ( this.onbeforeunload =3D=3D=3D fn ) {=0A=
					this.onbeforeunload =3D null;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
jQuery.Event =3D function( src ) {=0A=
	// Allow instantiation without the 'new' keyword=0A=
	if ( !this.preventDefault ) {=0A=
		return new jQuery.Event( src );=0A=
	}=0A=
=0A=
	// Event object=0A=
	if ( src && src.type ) {=0A=
		this.originalEvent =3D src;=0A=
		this.type =3D src.type;=0A=
	// Event type=0A=
	} else {=0A=
		this.type =3D src;=0A=
	}=0A=
=0A=
	// timeStamp is buggy for some events on Firefox(#3843)=0A=
	// So we won't rely on the native value=0A=
	this.timeStamp =3D now();=0A=
=0A=
	// Mark it as fixed=0A=
	this[ expando ] =3D true;=0A=
};=0A=
=0A=
function returnFalse() {=0A=
	return false;=0A=
}=0A=
function returnTrue() {=0A=
	return true;=0A=
}=0A=
=0A=
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript =
Language Binding=0A=
// =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html=0A=
jQuery.Event.prototype =3D {=0A=
	preventDefault: function() {=0A=
		this.isDefaultPrevented =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if ( !e ) {=0A=
			return;=0A=
		}=0A=
		=0A=
		// if preventDefault exists run it on the original event=0A=
		if ( e.preventDefault ) {=0A=
			e.preventDefault();=0A=
		}=0A=
		// otherwise set the returnValue property of the original event to =
false (IE)=0A=
		e.returnValue =3D false;=0A=
	},=0A=
	stopPropagation: function() {=0A=
		this.isPropagationStopped =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if ( !e ) {=0A=
			return;=0A=
		}=0A=
		// if stopPropagation exists run it on the original event=0A=
		if ( e.stopPropagation ) {=0A=
			e.stopPropagation();=0A=
		}=0A=
		// otherwise set the cancelBubble property of the original event to =
true (IE)=0A=
		e.cancelBubble =3D true;=0A=
	},=0A=
	stopImmediatePropagation: function() {=0A=
		this.isImmediatePropagationStopped =3D returnTrue;=0A=
		this.stopPropagation();=0A=
	},=0A=
	isDefaultPrevented: returnFalse,=0A=
	isPropagationStopped: returnFalse,=0A=
	isImmediatePropagationStopped: returnFalse=0A=
};=0A=
=0A=
// Checks if an event happened on an element within another element=0A=
// Used in jQuery.event.special.mouseenter and mouseleave handlers=0A=
var withinElement =3D function( event ) {=0A=
	// Check if mouse(over|out) are still within the same parent element=0A=
	var parent =3D event.relatedTarget;=0A=
=0A=
	// Traverse up the tree=0A=
	while ( parent && parent !=3D=3D this ) {=0A=
		// Firefox sometimes assigns relatedTarget a XUL element=0A=
		// which we cannot access the parentNode property of=0A=
		try {=0A=
			parent =3D parent.parentNode;=0A=
=0A=
		// assuming we've left the element since we most likely mousedover a =
xul element=0A=
		} catch(e) {=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	if ( parent !=3D=3D this ) {=0A=
		// set the correct event type=0A=
		event.type =3D event.data;=0A=
=0A=
		// handle event if we actually just moused on to a non sub-element=0A=
		jQuery.event.handle.apply( this, arguments );=0A=
	}=0A=
=0A=
},=0A=
=0A=
// In case of event delegation, we only need to rename the event.type,=0A=
// liveHandler will take care of the rest.=0A=
delegate =3D function( event ) {=0A=
	event.type =3D event.data;=0A=
	jQuery.event.handle.apply( this, arguments );=0A=
};=0A=
=0A=
// Create mouseenter and mouseleave events=0A=
jQuery.each({=0A=
	mouseenter: "mouseover",=0A=
	mouseleave: "mouseout"=0A=
}, function( orig, fix ) {=0A=
	jQuery.event.special[ orig ] =3D {=0A=
		setup: function( data ) {=0A=
			jQuery.event.add( this, fix, data && data.selector ? delegate : =
withinElement, orig );=0A=
		},=0A=
		teardown: function( data ) {=0A=
			jQuery.event.remove( this, fix, data && data.selector ? delegate : =
withinElement );=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
// submit delegation=0A=
if ( !jQuery.support.submitBubbles ) {=0A=
=0A=
jQuery.event.special.submit =3D {=0A=
	setup: function( data, namespaces, fn ) {=0A=
		if ( this.nodeName.toLowerCase() !=3D=3D "form" ) {=0A=
			jQuery.event.add(this, "click.specialSubmit." + fn.guid, function( e =
) {=0A=
				var elem =3D e.target, type =3D elem.type;=0A=
=0A=
				if ( (type =3D=3D=3D "submit" || type =3D=3D=3D "image") && jQuery( =
elem ).closest("form").length ) {=0A=
					return trigger( "submit", this, arguments );=0A=
				}=0A=
			});=0A=
	 =0A=
			jQuery.event.add(this, "keypress.specialSubmit." + fn.guid, function( =
e ) {=0A=
				var elem =3D e.target, type =3D elem.type;=0A=
=0A=
				if ( (type =3D=3D=3D "text" || type =3D=3D=3D "password") && jQuery( =
elem ).closest("form").length && e.keyCode =3D=3D=3D 13 ) {=0A=
					return trigger( "submit", this, arguments );=0A=
				}=0A=
			});=0A=
=0A=
		} else {=0A=
			return false;=0A=
		}=0A=
	},=0A=
=0A=
	remove: function( namespaces, fn ) {=0A=
		jQuery.event.remove( this, "click.specialSubmit" + (fn ? "."+fn.guid : =
"") );=0A=
		jQuery.event.remove( this, "keypress.specialSubmit" + (fn ? =
"."+fn.guid : "") );=0A=
	}=0A=
};=0A=
=0A=
}=0A=
=0A=
// change delegation, happens here so we have bind.=0A=
if ( !jQuery.support.changeBubbles ) {=0A=
=0A=
var formElems =3D /textarea|input|select/i;=0A=
=0A=
function getVal( elem ) {=0A=
	var type =3D elem.type, val =3D elem.value;=0A=
=0A=
	if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" ) {=0A=
		val =3D elem.checked;=0A=
=0A=
	} else if ( type =3D=3D=3D "select-multiple" ) {=0A=
		val =3D elem.selectedIndex > -1 ?=0A=
			jQuery.map( elem.options, function( elem ) {=0A=
				return elem.selected;=0A=
			}).join("-") :=0A=
			"";=0A=
=0A=
	} else if ( elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {=0A=
		val =3D elem.selectedIndex;=0A=
	}=0A=
=0A=
	return val;=0A=
}=0A=
=0A=
function testChange( e ) {=0A=
		var elem =3D e.target, data, val;=0A=
=0A=
		if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {=0A=
			return;=0A=
		}=0A=
=0A=
		data =3D jQuery.data( elem, "_change_data" );=0A=
		val =3D getVal(elem);=0A=
=0A=
		// the current data will be also retrieved by beforeactivate=0A=
		if ( e.type !=3D=3D "focusout" || elem.type !=3D=3D "radio" ) {=0A=
			jQuery.data( elem, "_change_data", val );=0A=
		}=0A=
		=0A=
		if ( data =3D=3D=3D undefined || val =3D=3D=3D data ) {=0A=
			return;=0A=
		}=0A=
=0A=
		if ( data !=3D null || val ) {=0A=
			e.type =3D "change";=0A=
			return jQuery.event.trigger( e, arguments[1], elem );=0A=
		}=0A=
}=0A=
=0A=
jQuery.event.special.change =3D {=0A=
	filters: {=0A=
		focusout: testChange, =0A=
=0A=
		click: function( e ) {=0A=
			var elem =3D e.target, type =3D elem.type;=0A=
=0A=
			if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" || =
elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {=0A=
				return testChange.call( this, e );=0A=
			}=0A=
		},=0A=
=0A=
		// Change has to be called before submit=0A=
		// Keydown will be called before keypress, which is used in =
submit-event delegation=0A=
		keydown: function( e ) {=0A=
			var elem =3D e.target, type =3D elem.type;=0A=
=0A=
			if ( (e.keyCode =3D=3D=3D 13 && elem.nodeName.toLowerCase() !=3D=3D =
"textarea") ||=0A=
				(e.keyCode =3D=3D=3D 32 && (type =3D=3D=3D "checkbox" || type =
=3D=3D=3D "radio")) ||=0A=
				type =3D=3D=3D "select-multiple" ) {=0A=
				return testChange.call( this, e );=0A=
			}=0A=
		},=0A=
=0A=
		// Beforeactivate happens also before the previous element is blurred=0A=
		// with this event you can't trigger a change event, but you can store=0A=
		// information/focus[in] is not needed anymore=0A=
		beforeactivate: function( e ) {=0A=
			var elem =3D e.target;=0A=
=0A=
			if ( elem.nodeName.toLowerCase() =3D=3D=3D "input" && elem.type =
=3D=3D=3D "radio" ) {=0A=
				jQuery.data( elem, "_change_data", getVal(elem) );=0A=
			}=0A=
		}=0A=
	},=0A=
	setup: function( data, namespaces, fn ) {=0A=
		for ( var type in changeFilters ) {=0A=
			jQuery.event.add( this, type + ".specialChange." + fn.guid, =
changeFilters[type] );=0A=
		}=0A=
=0A=
		return formElems.test( this.nodeName );=0A=
	},=0A=
	remove: function( namespaces, fn ) {=0A=
		for ( var type in changeFilters ) {=0A=
			jQuery.event.remove( this, type + ".specialChange" + (fn ? =
"."+fn.guid : ""), changeFilters[type] );=0A=
		}=0A=
=0A=
		return formElems.test( this.nodeName );=0A=
	}=0A=
};=0A=
=0A=
var changeFilters =3D jQuery.event.special.change.filters;=0A=
=0A=
}=0A=
=0A=
function trigger( type, elem, args ) {=0A=
	args[0].type =3D type;=0A=
	return jQuery.event.handle.apply( elem, args );=0A=
}=0A=
=0A=
// Create "bubbling" focus and blur events=0A=
if ( document.addEventListener ) {=0A=
	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix =
) {=0A=
		jQuery.event.special[ fix ] =3D {=0A=
			setup: function() {=0A=
				this.addEventListener( orig, handler, true );=0A=
			}, =0A=
			teardown: function() { =0A=
				this.removeEventListener( orig, handler, true );=0A=
			}=0A=
		};=0A=
=0A=
		function handler( e ) { =0A=
			e =3D jQuery.event.fix( e );=0A=
			e.type =3D fix;=0A=
			return jQuery.event.handle.call( this, e );=0A=
		}=0A=
	});=0A=
}=0A=
=0A=
jQuery.each(["bind", "one"], function( i, name ) {=0A=
	jQuery.fn[ name ] =3D function( type, data, fn ) {=0A=
		// Handle object literals=0A=
		if ( typeof type =3D=3D=3D "object" ) {=0A=
			for ( var key in type ) {=0A=
				this[ name ](key, data, type[key], fn);=0A=
			}=0A=
			return this;=0A=
		}=0A=
		=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			fn =3D data;=0A=
			data =3D undefined;=0A=
		}=0A=
=0A=
		var handler =3D name =3D=3D=3D "one" ? jQuery.proxy( fn, function( =
event ) {=0A=
			jQuery( this ).unbind( event, handler );=0A=
			return fn.apply( this, arguments );=0A=
		}) : fn;=0A=
=0A=
		return type =3D=3D=3D "unload" && name !=3D=3D "one" ?=0A=
			this.one( type, data, fn ) :=0A=
			this.each(function() {=0A=
				jQuery.event.add( this, type, handler, data );=0A=
			});=0A=
	};=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	unbind: function( type, fn ) {=0A=
		// Handle object literals=0A=
		if ( typeof type =3D=3D=3D "object" && !type.preventDefault ) {=0A=
			for ( var key in type ) {=0A=
				this.unbind(key, type[key]);=0A=
			}=0A=
			return this;=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			jQuery.event.remove( this, type, fn );=0A=
		});=0A=
	},=0A=
	trigger: function( type, data ) {=0A=
		return this.each(function() {=0A=
			jQuery.event.trigger( type, data, this );=0A=
		});=0A=
	},=0A=
=0A=
	triggerHandler: function( type, data ) {=0A=
		if ( this[0] ) {=0A=
			var event =3D jQuery.Event( type );=0A=
			event.preventDefault();=0A=
			event.stopPropagation();=0A=
			jQuery.event.trigger( event, data, this[0] );=0A=
			return event.result;=0A=
		}=0A=
	},=0A=
=0A=
	toggle: function( fn ) {=0A=
		// Save reference to arguments for access in closure=0A=
		var args =3D arguments, i =3D 1;=0A=
=0A=
		// link all the functions, so any of them can unbind this click handler=0A=
		while ( i < args.length ) {=0A=
			jQuery.proxy( fn, args[ i++ ] );=0A=
		}=0A=
=0A=
		return this.click( jQuery.proxy( fn, function( event ) {=0A=
			// Figure out which function to execute=0A=
			var lastToggle =3D ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 =
) % i;=0A=
			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );=0A=
=0A=
			// Make sure that clicks stop=0A=
			event.preventDefault();=0A=
=0A=
			// and execute the function=0A=
			return args[ lastToggle ].apply( this, arguments ) || false;=0A=
		}));=0A=
	},=0A=
=0A=
	hover: function( fnOver, fnOut ) {=0A=
		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );=0A=
	}=0A=
});=0A=
=0A=
jQuery.each(["live", "die"], function( i, name ) {=0A=
	jQuery.fn[ name ] =3D function( types, data, fn ) {=0A=
		var type, i =3D 0;=0A=
=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			fn =3D data;=0A=
			data =3D undefined;=0A=
		}=0A=
=0A=
		types =3D (types || "").split( /\s+/ );=0A=
=0A=
		while ( (type =3D types[ i++ ]) !=3D null ) {=0A=
			type =3D type =3D=3D=3D "focus" ? "focusin" : // focus --> focusin=0A=
					type =3D=3D=3D "blur" ? "focusout" : // blur --> focusout=0A=
					type =3D=3D=3D "hover" ? types.push("mouseleave") && "mouseenter" : =
// hover support=0A=
					type;=0A=
			=0A=
			if ( name =3D=3D=3D "live" ) {=0A=
				// bind live handler=0A=
				jQuery( this.context ).bind( liveConvert( type, this.selector ), {=0A=
					data: data, selector: this.selector, live: type=0A=
				}, fn );=0A=
=0A=
			} else {=0A=
				// unbind live handler=0A=
				jQuery( this.context ).unbind( liveConvert( type, this.selector ), =
fn ? { guid: fn.guid + this.selector + type } : null );=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
function liveHandler( event ) {=0A=
	var stop, elems =3D [], selectors =3D [], args =3D arguments,=0A=
		related, match, fn, elem, j, i, l, data,=0A=
		live =3D jQuery.extend({}, jQuery.data( this, "events" ).live);=0A=
=0A=
	// Make sure we avoid non-left-click bubbling in Firefox (#3861)=0A=
	if ( event.button && event.type =3D=3D=3D "click" ) {=0A=
		return;=0A=
	}=0A=
=0A=
	for ( j in live ) {=0A=
		fn =3D live[j];=0A=
		if ( fn.live =3D=3D=3D event.type ||=0A=
				fn.altLive && jQuery.inArray(event.type, fn.altLive) > -1 ) {=0A=
=0A=
			data =3D fn.data;=0A=
			if ( !(data.beforeFilter && data.beforeFilter[event.type] && =0A=
					!data.beforeFilter[event.type](event)) ) {=0A=
				selectors.push( fn.selector );=0A=
			}=0A=
		} else {=0A=
			delete live[j];=0A=
		}=0A=
	}=0A=
=0A=
	match =3D jQuery( event.target ).closest( selectors, =
event.currentTarget );=0A=
=0A=
	for ( i =3D 0, l =3D match.length; i < l; i++ ) {=0A=
		for ( j in live ) {=0A=
			fn =3D live[j];=0A=
			elem =3D match[i].elem;=0A=
			related =3D null;=0A=
=0A=
			if ( match[i].selector =3D=3D=3D fn.selector ) {=0A=
				// Those two events require additional checking=0A=
				if ( fn.live =3D=3D=3D "mouseenter" || fn.live =3D=3D=3D =
"mouseleave" ) {=0A=
					related =3D jQuery( event.relatedTarget ).closest( fn.selector )[0];=0A=
				}=0A=
=0A=
				if ( !related || related !=3D=3D elem ) {=0A=
					elems.push({ elem: elem, fn: fn });=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	for ( i =3D 0, l =3D elems.length; i < l; i++ ) {=0A=
		match =3D elems[i];=0A=
		event.currentTarget =3D match.elem;=0A=
		event.data =3D match.fn.data;=0A=
		if ( match.fn.apply( match.elem, args ) =3D=3D=3D false ) {=0A=
			stop =3D false;=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	return stop;=0A=
}=0A=
=0A=
function liveConvert( type, selector ) {=0A=
	return "live." + (type ? type + "." : "") + selector.replace(/\./g, =
"`").replace(/ /g, "&");=0A=
}=0A=
=0A=
jQuery.each( ("blur focus focusin focusout load resize scroll unload =
click dblclick " +=0A=
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " =
+=0A=
	"change select submit keydown keypress keyup error").split(" "), =
function( i, name ) {=0A=
=0A=
	// Handle event binding=0A=
	jQuery.fn[ name ] =3D function( fn ) {=0A=
		return fn ? this.bind( name, fn ) : this.trigger( name );=0A=
	};=0A=
=0A=
	if ( jQuery.attrFn ) {=0A=
		jQuery.attrFn[ name ] =3D true;=0A=
	}=0A=
});=0A=
=0A=
// Prevent memory leaks in IE=0A=
// Window isn't included so as not to unbind existing unload events=0A=
// More info:=0A=
//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/=0A=
if ( window.attachEvent && !window.addEventListener ) {=0A=
	window.attachEvent("onunload", function() {=0A=
		for ( var id in jQuery.cache ) {=0A=
			if ( jQuery.cache[ id ].handle ) {=0A=
				// Try/Catch is to handle iframes being unloaded, see #4280=0A=
				try {=0A=
					jQuery.event.remove( jQuery.cache[ id ].handle.elem );=0A=
				} catch(e) {}=0A=
			}=0A=
		}=0A=
	});=0A=
}=0A=
/*!=0A=
 * Sizzle CSS Selector Engine - v1.0=0A=
 *  Copyright 2009, The Dojo Foundation=0A=
 *  Released under the MIT, BSD, and GPL Licenses.=0A=
 *  More information: http://sizzlejs.com/=0A=
 */=0A=
(function(){=0A=
=0A=
var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,=0A=
	done =3D 0,=0A=
	toString =3D Object.prototype.toString,=0A=
	hasDuplicate =3D false,=0A=
	baseHasDuplicate =3D true;=0A=
=0A=
// Here we check if the JavaScript engine is using some sort of=0A=
// optimization where it does not always call our comparision=0A=
// function. If that is the case, discard the hasDuplicate value.=0A=
//   Thus far that includes Google Chrome.=0A=
[0, 0].sort(function(){=0A=
	baseHasDuplicate =3D false;=0A=
	return 0;=0A=
});=0A=
=0A=
var Sizzle =3D function(selector, context, results, seed) {=0A=
	results =3D results || [];=0A=
	var origContext =3D context =3D context || document;=0A=
=0A=
	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 ) {=0A=
		return [];=0A=
	}=0A=
	=0A=
	if ( !selector || typeof selector !=3D=3D "string" ) {=0A=
		return results;=0A=
	}=0A=
=0A=
	var parts =3D [], m, set, checkSet, extra, prune =3D true, contextXML =
=3D isXML(context),=0A=
		soFar =3D selector;=0A=
	=0A=
	// Reset the position of the chunker regexp (start from head)=0A=
	while ( (chunker.exec(""), m =3D chunker.exec(soFar)) !=3D=3D null ) {=0A=
		soFar =3D m[3];=0A=
		=0A=
		parts.push( m[1] );=0A=
		=0A=
		if ( m[2] ) {=0A=
			extra =3D m[3];=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	if ( parts.length > 1 && origPOS.exec( selector ) ) {=0A=
		if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {=0A=
			set =3D posProcess( parts[0] + parts[1], context );=0A=
		} else {=0A=
			set =3D Expr.relative[ parts[0] ] ?=0A=
				[ context ] :=0A=
				Sizzle( parts.shift(), context );=0A=
=0A=
			while ( parts.length ) {=0A=
				selector =3D parts.shift();=0A=
=0A=
				if ( Expr.relative[ selector ] ) {=0A=
					selector +=3D parts.shift();=0A=
				}=0A=
				=0A=
				set =3D posProcess( selector, set );=0A=
			}=0A=
		}=0A=
	} else {=0A=
		// Take a shortcut and set the context if the root selector is an ID=0A=
		// (but not if it'll be faster if the inner selector is an ID)=0A=
		if ( !seed && parts.length > 1 && context.nodeType =3D=3D=3D 9 && =
!contextXML &&=0A=
				Expr.match.ID.test(parts[0]) && =
!Expr.match.ID.test(parts[parts.length - 1]) ) {=0A=
			var ret =3D Sizzle.find( parts.shift(), context, contextXML );=0A=
			context =3D ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : =
ret.set[0];=0A=
		}=0A=
=0A=
		if ( context ) {=0A=
			var ret =3D seed ?=0A=
				{ expr: parts.pop(), set: makeArray(seed) } :=0A=
				Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && (parts[0] =
=3D=3D=3D "~" || parts[0] =3D=3D=3D "+") && context.parentNode ? =
context.parentNode : context, contextXML );=0A=
			set =3D ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;=0A=
=0A=
			if ( parts.length > 0 ) {=0A=
				checkSet =3D makeArray(set);=0A=
			} else {=0A=
				prune =3D false;=0A=
			}=0A=
=0A=
			while ( parts.length ) {=0A=
				var cur =3D parts.pop(), pop =3D cur;=0A=
=0A=
				if ( !Expr.relative[ cur ] ) {=0A=
					cur =3D "";=0A=
				} else {=0A=
					pop =3D parts.pop();=0A=
				}=0A=
=0A=
				if ( pop =3D=3D null ) {=0A=
					pop =3D context;=0A=
				}=0A=
=0A=
				Expr.relative[ cur ]( checkSet, pop, contextXML );=0A=
			}=0A=
		} else {=0A=
			checkSet =3D parts =3D [];=0A=
		}=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		checkSet =3D set;=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		Sizzle.error( cur || selector );=0A=
	}=0A=
=0A=
	if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {=0A=
		if ( !prune ) {=0A=
			results.push.apply( results, checkSet );=0A=
		} else if ( context && context.nodeType =3D=3D=3D 1 ) {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || =
checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		} else {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
	} else {=0A=
		makeArray( checkSet, results );=0A=
	}=0A=
=0A=
	if ( extra ) {=0A=
		Sizzle( extra, origContext, results, seed );=0A=
		Sizzle.uniqueSort( results );=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.uniqueSort =3D function(results){=0A=
	if ( sortOrder ) {=0A=
		hasDuplicate =3D baseHasDuplicate;=0A=
		results.sort(sortOrder);=0A=
=0A=
		if ( hasDuplicate ) {=0A=
			for ( var i =3D 1; i < results.length; i++ ) {=0A=
				if ( results[i] =3D=3D=3D results[i-1] ) {=0A=
					results.splice(i--, 1);=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.matches =3D function(expr, set){=0A=
	return Sizzle(expr, null, null, set);=0A=
};=0A=
=0A=
Sizzle.find =3D function(expr, context, isXML){=0A=
	var set, match;=0A=
=0A=
	if ( !expr ) {=0A=
		return [];=0A=
	}=0A=
=0A=
	for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {=0A=
		var type =3D Expr.order[i], match;=0A=
		=0A=
		if ( (match =3D Expr.leftMatch[ type ].exec( expr )) ) {=0A=
			var left =3D match[1];=0A=
			match.splice(1,1);=0A=
=0A=
			if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {=0A=
				match[1] =3D (match[1] || "").replace(/\\/g, "");=0A=
				set =3D Expr.find[ type ]( match, context, isXML );=0A=
				if ( set !=3D null ) {=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !set ) {=0A=
		set =3D context.getElementsByTagName("*");=0A=
	}=0A=
=0A=
	return {set: set, expr: expr};=0A=
};=0A=
=0A=
Sizzle.filter =3D function(expr, set, inplace, not){=0A=
	var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,=0A=
		isXMLFilter =3D set && set[0] && isXML(set[0]);=0A=
=0A=
	while ( expr && set.length ) {=0A=
		for ( var type in Expr.filter ) {=0A=
			if ( (match =3D Expr.leftMatch[ type ].exec( expr )) !=3D null && =
match[2] ) {=0A=
				var filter =3D Expr.filter[ type ], found, item, left =3D match[1];=0A=
				anyFound =3D false;=0A=
=0A=
				match.splice(1,1);=0A=
=0A=
				if ( left.substr( left.length - 1 ) =3D=3D=3D "\\" ) {=0A=
					continue;=0A=
				}=0A=
=0A=
				if ( curLoop =3D=3D=3D result ) {=0A=
					result =3D [];=0A=
				}=0A=
=0A=
				if ( Expr.preFilter[ type ] ) {=0A=
					match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, =
not, isXMLFilter );=0A=
=0A=
					if ( !match ) {=0A=
						anyFound =3D found =3D true;=0A=
					} else if ( match =3D=3D=3D true ) {=0A=
						continue;=0A=
					}=0A=
				}=0A=
=0A=
				if ( match ) {=0A=
					for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {=0A=
						if ( item ) {=0A=
							found =3D filter( item, match, i, curLoop );=0A=
							var pass =3D not ^ !!found;=0A=
=0A=
							if ( inplace && found !=3D null ) {=0A=
								if ( pass ) {=0A=
									anyFound =3D true;=0A=
								} else {=0A=
									curLoop[i] =3D false;=0A=
								}=0A=
							} else if ( pass ) {=0A=
								result.push( item );=0A=
								anyFound =3D true;=0A=
							}=0A=
						}=0A=
					}=0A=
				}=0A=
=0A=
				if ( found !=3D=3D undefined ) {=0A=
					if ( !inplace ) {=0A=
						curLoop =3D result;=0A=
					}=0A=
=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
=0A=
					if ( !anyFound ) {=0A=
						return [];=0A=
					}=0A=
=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		// Improper expression=0A=
		if ( expr =3D=3D=3D old ) {=0A=
			if ( anyFound =3D=3D null ) {=0A=
				Sizzle.error( expr );=0A=
			} else {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		old =3D expr;=0A=
	}=0A=
=0A=
	return curLoop;=0A=
};=0A=
=0A=
Sizzle.error =3D function( msg ) {=0A=
	throw "Syntax error, unrecognized expression: " + msg;=0A=
};=0A=
=0A=
var Expr =3D Sizzle.selectors =3D {=0A=
	order: [ "ID", "NAME", "TAG" ],=0A=
	match: {=0A=
		ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A=
		CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A=
		NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,=0A=
		ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]=
/,=0A=
		TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,=0A=
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,=0A=
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,=0A=
		PSEUDO: =
/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\)=
)?/=0A=
	},=0A=
	leftMatch: {},=0A=
	attrMap: {=0A=
		"class": "className",=0A=
		"for": "htmlFor"=0A=
	},=0A=
	attrHandle: {=0A=
		href: function(elem){=0A=
			return elem.getAttribute("href");=0A=
		}=0A=
	},=0A=
	relative: {=0A=
		"+": function(checkSet, part){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string",=0A=
				isTag =3D isPartStr && !/\W/.test(part),=0A=
				isPartStrNotTag =3D isPartStr && !isTag;=0A=
=0A=
			if ( isTag ) {=0A=
				part =3D part.toLowerCase();=0A=
			}=0A=
=0A=
			for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {=0A=
				if ( (elem =3D checkSet[i]) ) {=0A=
					while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 =
) {}=0A=
=0A=
					checkSet[i] =3D isPartStrNotTag || elem && =
elem.nodeName.toLowerCase() =3D=3D=3D part ?=0A=
						elem || false :=0A=
						elem =3D=3D=3D part;=0A=
				}=0A=
			}=0A=
=0A=
			if ( isPartStrNotTag ) {=0A=
				Sizzle.filter( part, checkSet, true );=0A=
			}=0A=
		},=0A=
		">": function(checkSet, part){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string";=0A=
=0A=
			if ( isPartStr && !/\W/.test(part) ) {=0A=
				part =3D part.toLowerCase();=0A=
=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						var parent =3D elem.parentNode;=0A=
						checkSet[i] =3D parent.nodeName.toLowerCase() =3D=3D=3D part ? =
parent : false;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						checkSet[i] =3D isPartStr ?=0A=
							elem.parentNode :=0A=
							elem.parentNode =3D=3D=3D part;=0A=
					}=0A=
				}=0A=
=0A=
				if ( isPartStr ) {=0A=
					Sizzle.filter( part, checkSet, true );=0A=
				}=0A=
			}=0A=
		},=0A=
		"": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A=
				var nodeCheck =3D part =3D part.toLowerCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);=0A=
		},=0A=
		"~": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A=
				var nodeCheck =3D part =3D part.toLowerCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, =
isXML);=0A=
		}=0A=
	},=0A=
	find: {=0A=
		ID: function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? [m] : [];=0A=
			}=0A=
		},=0A=
		NAME: function(match, context){=0A=
			if ( typeof context.getElementsByName !=3D=3D "undefined" ) {=0A=
				var ret =3D [], results =3D context.getElementsByName(match[1]);=0A=
=0A=
				for ( var i =3D 0, l =3D results.length; i < l; i++ ) {=0A=
					if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {=0A=
						ret.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				return ret.length =3D=3D=3D 0 ? null : ret;=0A=
			}=0A=
		},=0A=
		TAG: function(match, context){=0A=
			return context.getElementsByTagName(match[1]);=0A=
		}=0A=
	},=0A=
	preFilter: {=0A=
		CLASS: function(match, curLoop, inplace, result, not, isXML){=0A=
			match =3D " " + match[1].replace(/\\/g, "") + " ";=0A=
=0A=
			if ( isXML ) {=0A=
				return match;=0A=
			}=0A=
=0A=
			for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {=0A=
				if ( elem ) {=0A=
					if ( not ^ (elem.className && (" " + elem.className + " =
").replace(/[\t\n]/g, " ").indexOf(match) >=3D 0) ) {=0A=
						if ( !inplace ) {=0A=
							result.push( elem );=0A=
						}=0A=
					} else if ( inplace ) {=0A=
						curLoop[i] =3D false;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			return false;=0A=
		},=0A=
		ID: function(match){=0A=
			return match[1].replace(/\\/g, "");=0A=
		},=0A=
		TAG: function(match, curLoop){=0A=
			return match[1].toLowerCase();=0A=
		},=0A=
		CHILD: function(match){=0A=
			if ( match[1] =3D=3D=3D "nth" ) {=0A=
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'=0A=
				var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A=
					match[2] =3D=3D=3D "even" && "2n" || match[2] =3D=3D=3D "odd" && =
"2n+1" ||=0A=
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);=0A=
=0A=
				// calculate the numbers (first)n+(last) including if they are =
negative=0A=
				match[2] =3D (test[1] + (test[2] || 1)) - 0;=0A=
				match[3] =3D test[3] - 0;=0A=
			}=0A=
=0A=
			// TODO: Move to normal caching system=0A=
			match[0] =3D done++;=0A=
=0A=
			return match;=0A=
		},=0A=
		ATTR: function(match, curLoop, inplace, result, not, isXML){=0A=
			var name =3D match[1].replace(/\\/g, "");=0A=
			=0A=
			if ( !isXML && Expr.attrMap[name] ) {=0A=
				match[1] =3D Expr.attrMap[name];=0A=
			}=0A=
=0A=
			if ( match[2] =3D=3D=3D "~=3D" ) {=0A=
				match[4] =3D " " + match[4] + " ";=0A=
			}=0A=
=0A=
			return match;=0A=
		},=0A=
		PSEUDO: function(match, curLoop, inplace, result, not){=0A=
			if ( match[1] =3D=3D=3D "not" ) {=0A=
				// If we're dealing with a complex expression, or a simple one=0A=
				if ( ( chunker.exec(match[3]) || "" ).length > 1 || =
/^\w/.test(match[3]) ) {=0A=
					match[3] =3D Sizzle(match[3], null, null, curLoop);=0A=
				} else {=0A=
					var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);=0A=
					if ( !inplace ) {=0A=
						result.push.apply( result, ret );=0A=
					}=0A=
					return false;=0A=
				}=0A=
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( =
match[0] ) ) {=0A=
				return true;=0A=
			}=0A=
			=0A=
			return match;=0A=
		},=0A=
		POS: function(match){=0A=
			match.unshift( true );=0A=
			return match;=0A=
		}=0A=
	},=0A=
	filters: {=0A=
		enabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";=0A=
		},=0A=
		disabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D true;=0A=
		},=0A=
		checked: function(elem){=0A=
			return elem.checked =3D=3D=3D true;=0A=
		},=0A=
		selected: function(elem){=0A=
			// Accessing this property makes selected-by-default=0A=
			// options in Safari work properly=0A=
			elem.parentNode.selectedIndex;=0A=
			return elem.selected =3D=3D=3D true;=0A=
		},=0A=
		parent: function(elem){=0A=
			return !!elem.firstChild;=0A=
		},=0A=
		empty: function(elem){=0A=
			return !elem.firstChild;=0A=
		},=0A=
		has: function(elem, i, match){=0A=
			return !!Sizzle( match[3], elem ).length;=0A=
		},=0A=
		header: function(elem){=0A=
			return /h\d/i.test( elem.nodeName );=0A=
		},=0A=
		text: function(elem){=0A=
			return "text" =3D=3D=3D elem.type;=0A=
		},=0A=
		radio: function(elem){=0A=
			return "radio" =3D=3D=3D elem.type;=0A=
		},=0A=
		checkbox: function(elem){=0A=
			return "checkbox" =3D=3D=3D elem.type;=0A=
		},=0A=
		file: function(elem){=0A=
			return "file" =3D=3D=3D elem.type;=0A=
		},=0A=
		password: function(elem){=0A=
			return "password" =3D=3D=3D elem.type;=0A=
		},=0A=
		submit: function(elem){=0A=
			return "submit" =3D=3D=3D elem.type;=0A=
		},=0A=
		image: function(elem){=0A=
			return "image" =3D=3D=3D elem.type;=0A=
		},=0A=
		reset: function(elem){=0A=
			return "reset" =3D=3D=3D elem.type;=0A=
		},=0A=
		button: function(elem){=0A=
			return "button" =3D=3D=3D elem.type || elem.nodeName.toLowerCase() =
=3D=3D=3D "button";=0A=
		},=0A=
		input: function(elem){=0A=
			return /input|select|textarea|button/i.test(elem.nodeName);=0A=
		}=0A=
	},=0A=
	setFilters: {=0A=
		first: function(elem, i){=0A=
			return i =3D=3D=3D 0;=0A=
		},=0A=
		last: function(elem, i, match, array){=0A=
			return i =3D=3D=3D array.length - 1;=0A=
		},=0A=
		even: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 0;=0A=
		},=0A=
		odd: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 1;=0A=
		},=0A=
		lt: function(elem, i, match){=0A=
			return i < match[3] - 0;=0A=
		},=0A=
		gt: function(elem, i, match){=0A=
			return i > match[3] - 0;=0A=
		},=0A=
		nth: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D=3D i;=0A=
		},=0A=
		eq: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D=3D i;=0A=
		}=0A=
	},=0A=
	filter: {=0A=
		PSEUDO: function(elem, match, i, array){=0A=
			var name =3D match[1], filter =3D Expr.filters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			} else if ( name =3D=3D=3D "contains" ) {=0A=
				return (elem.textContent || elem.innerText || getText([ elem ]) || =
"").indexOf(match[3]) >=3D 0;=0A=
			} else if ( name =3D=3D=3D "not" ) {=0A=
				var not =3D match[3];=0A=
=0A=
				for ( var i =3D 0, l =3D not.length; i < l; i++ ) {=0A=
					if ( not[i] =3D=3D=3D elem ) {=0A=
						return false;=0A=
					}=0A=
				}=0A=
=0A=
				return true;=0A=
			} else {=0A=
				Sizzle.error( "Syntax error, unrecognized expression: " + name );=0A=
			}=0A=
		},=0A=
		CHILD: function(elem, match){=0A=
			var type =3D match[1], node =3D elem;=0A=
			switch (type) {=0A=
				case 'only':=0A=
				case 'first':=0A=
					while ( (node =3D node.previousSibling) )	 {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) { =0A=
							return false; =0A=
						}=0A=
					}=0A=
					if ( type =3D=3D=3D "first" ) { =0A=
						return true; =0A=
					}=0A=
					node =3D elem;=0A=
				case 'last':=0A=
					while ( (node =3D node.nextSibling) )	 {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) { =0A=
							return false; =0A=
						}=0A=
					}=0A=
					return true;=0A=
				case 'nth':=0A=
					var first =3D match[2], last =3D match[3];=0A=
=0A=
					if ( first =3D=3D=3D 1 && last =3D=3D=3D 0 ) {=0A=
						return true;=0A=
					}=0A=
					=0A=
					var doneName =3D match[0],=0A=
						parent =3D elem.parentNode;=0A=
	=0A=
					if ( parent && (parent.sizcache !=3D=3D doneName || =
!elem.nodeIndex) ) {=0A=
						var count =3D 0;=0A=
						for ( node =3D parent.firstChild; node; node =3D node.nextSibling =
) {=0A=
							if ( node.nodeType =3D=3D=3D 1 ) {=0A=
								node.nodeIndex =3D ++count;=0A=
							}=0A=
						} =0A=
						parent.sizcache =3D doneName;=0A=
					}=0A=
					=0A=
					var diff =3D elem.nodeIndex - last;=0A=
					if ( first =3D=3D=3D 0 ) {=0A=
						return diff =3D=3D=3D 0;=0A=
					} else {=0A=
						return ( diff % first =3D=3D=3D 0 && diff / first >=3D 0 );=0A=
					}=0A=
			}=0A=
		},=0A=
		ID: function(elem, match){=0A=
			return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D =
match;=0A=
		},=0A=
		TAG: function(elem, match){=0A=
			return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || =
elem.nodeName.toLowerCase() =3D=3D=3D match;=0A=
		},=0A=
		CLASS: function(elem, match){=0A=
			return (" " + (elem.className || elem.getAttribute("class")) + " ")=0A=
				.indexOf( match ) > -1;=0A=
		},=0A=
		ATTR: function(elem, match){=0A=
			var name =3D match[1],=0A=
				result =3D Expr.attrHandle[ name ] ?=0A=
					Expr.attrHandle[ name ]( elem ) :=0A=
					elem[ name ] !=3D null ?=0A=
						elem[ name ] :=0A=
						elem.getAttribute( name ),=0A=
				value =3D result + "",=0A=
				type =3D match[2],=0A=
				check =3D match[4];=0A=
=0A=
			return result =3D=3D null ?=0A=
				type =3D=3D=3D "!=3D" :=0A=
				type =3D=3D=3D "=3D" ?=0A=
				value =3D=3D=3D check :=0A=
				type =3D=3D=3D "*=3D" ?=0A=
				value.indexOf(check) >=3D 0 :=0A=
				type =3D=3D=3D "~=3D" ?=0A=
				(" " + value + " ").indexOf(check) >=3D 0 :=0A=
				!check ?=0A=
				value && result !=3D=3D false :=0A=
				type =3D=3D=3D "!=3D" ?=0A=
				value !=3D=3D check :=0A=
				type =3D=3D=3D "^=3D" ?=0A=
				value.indexOf(check) =3D=3D=3D 0 :=0A=
				type =3D=3D=3D "$=3D" ?=0A=
				value.substr(value.length - check.length) =3D=3D=3D check :=0A=
				type =3D=3D=3D "|=3D" ?=0A=
				value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D =
check + "-" :=0A=
				false;=0A=
		},=0A=
		POS: function(elem, match, i, array){=0A=
			var name =3D match[2], filter =3D Expr.setFilters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
var origPOS =3D Expr.match.POS;=0A=
=0A=
for ( var type in Expr.match ) {=0A=
	Expr.match[ type ] =3D new RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );=0A=
	Expr.leftMatch[ type ] =3D new RegExp( /(^(?:.|\r|\n)*?)/.source + =
Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){=0A=
		return "\\" + (num - 0 + 1);=0A=
	}));=0A=
}=0A=
=0A=
var makeArray =3D function(array, results) {=0A=
	array =3D Array.prototype.slice.call( array, 0 );=0A=
=0A=
	if ( results ) {=0A=
		results.push.apply( results, array );=0A=
		return results;=0A=
	}=0A=
	=0A=
	return array;=0A=
};=0A=
=0A=
// Perform a simple check to determine if the browser is capable of=0A=
// converting a NodeList to an array using builtin methods.=0A=
try {=0A=
	Array.prototype.slice.call( document.documentElement.childNodes, 0 );=0A=
=0A=
// Provide a fallback method if it does not work=0A=
} catch(e){=0A=
	makeArray =3D function(array, results) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( toString.call(array) =3D=3D=3D "[object Array]" ) {=0A=
			Array.prototype.push.apply( ret, array );=0A=
		} else {=0A=
			if ( typeof array.length =3D=3D=3D "number" ) {=0A=
				for ( var i =3D 0, l =3D array.length; i < l; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0; array[i]; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
var sortOrder;=0A=
=0A=
if ( document.documentElement.compareDocumentPosition ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.compareDocumentPosition ? -1 : 1;=0A=
		}=0A=
=0A=
		var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 =
: 1;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( "sourceIndex" in document.documentElement ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.sourceIndex || !b.sourceIndex ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.sourceIndex ? -1 : 1;=0A=
		}=0A=
=0A=
		var ret =3D a.sourceIndex - b.sourceIndex;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( document.createRange ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.ownerDocument || !b.ownerDocument ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.ownerDocument ? -1 : 1;=0A=
		}=0A=
=0A=
		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();=0A=
		aRange.setStart(a, 0);=0A=
		aRange.setEnd(a, 0);=0A=
		bRange.setStart(b, 0);=0A=
		bRange.setEnd(b, 0);=0A=
		var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
// Utility function for retreiving the text value of an array of DOM =
nodes=0A=
function getText( elems ) {=0A=
	var ret =3D "", elem;=0A=
=0A=
	for ( var i =3D 0; elems[i]; i++ ) {=0A=
		elem =3D elems[i];=0A=
=0A=
		// Get the text from text nodes and CDATA nodes=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 4 ) {=0A=
			ret +=3D elem.nodeValue;=0A=
=0A=
		// Traverse everything else, except comment nodes=0A=
		} else if ( elem.nodeType !=3D=3D 8 ) {=0A=
			ret +=3D getText( elem.childNodes );=0A=
		}=0A=
	}=0A=
=0A=
	return ret;=0A=
}=0A=
=0A=
// Check to see if the browser returns elements by name when=0A=
// querying by getElementById (and provide a workaround)=0A=
(function(){=0A=
	// We're going to inject a fake input element with a specified name=0A=
	var form =3D document.createElement("div"),=0A=
		id =3D "script" + (new Date).getTime();=0A=
	form.innerHTML =3D "<a name=3D'" + id + "'/>";=0A=
=0A=
	// Inject it into the root element, check its status, and remove it =
quickly=0A=
	var root =3D document.documentElement;=0A=
	root.insertBefore( form, root.firstChild );=0A=
=0A=
	// The workaround has to do additional checks after a getElementById=0A=
	// Which slows things down for other browsers (hence the branching)=0A=
	if ( document.getElementById( id ) ) {=0A=
		Expr.find.ID =3D function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? m.id =3D=3D=3D match[1] || typeof m.getAttributeNode =
!=3D=3D "undefined" && m.getAttributeNode("id").nodeValue =3D=3D=3D =
match[1] ? [m] : undefined : [];=0A=
			}=0A=
		};=0A=
=0A=
		Expr.filter.ID =3D function(elem, match){=0A=
			var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && =
elem.getAttributeNode("id");=0A=
			return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D =
match;=0A=
		};=0A=
	}=0A=
=0A=
	root.removeChild( form );=0A=
	root =3D form =3D null; // release memory in IE=0A=
})();=0A=
=0A=
(function(){=0A=
	// Check to see if the browser returns only elements=0A=
	// when doing getElementsByTagName("*")=0A=
=0A=
	// Create a fake element=0A=
	var div =3D document.createElement("div");=0A=
	div.appendChild( document.createComment("") );=0A=
=0A=
	// Make sure no comments are found=0A=
	if ( div.getElementsByTagName("*").length > 0 ) {=0A=
		Expr.find.TAG =3D function(match, context){=0A=
			var results =3D context.getElementsByTagName(match[1]);=0A=
=0A=
			// Filter out possible comments=0A=
			if ( match[1] =3D=3D=3D "*" ) {=0A=
				var tmp =3D [];=0A=
=0A=
				for ( var i =3D 0; results[i]; i++ ) {=0A=
					if ( results[i].nodeType =3D=3D=3D 1 ) {=0A=
						tmp.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				results =3D tmp;=0A=
			}=0A=
=0A=
			return results;=0A=
		};=0A=
	}=0A=
=0A=
	// Check to see if an attribute returns normalized href attributes=0A=
	div.innerHTML =3D "<a href=3D'#'></a>";=0A=
	if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D =
"undefined" &&=0A=
			div.firstChild.getAttribute("href") !=3D=3D "#" ) {=0A=
		Expr.attrHandle.href =3D function(elem){=0A=
			return elem.getAttribute("href", 2);=0A=
		};=0A=
	}=0A=
=0A=
	div =3D null; // release memory in IE=0A=
})();=0A=
=0A=
if ( document.querySelectorAll ) {=0A=
	(function(){=0A=
		var oldSizzle =3D Sizzle, div =3D document.createElement("div");=0A=
		div.innerHTML =3D "<p class=3D'TEST'></p>";=0A=
=0A=
		// Safari can't handle uppercase or unicode characters when=0A=
		// in quirks mode.=0A=
		if ( div.querySelectorAll && div.querySelectorAll(".TEST").length =
=3D=3D=3D 0 ) {=0A=
			return;=0A=
		}=0A=
	=0A=
		Sizzle =3D function(query, context, extra, seed){=0A=
			context =3D context || document;=0A=
=0A=
			// Only use querySelectorAll on non-XML documents=0A=
			// (ID selectors don't work in non-HTML documents)=0A=
			if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {=0A=
				try {=0A=
					return makeArray( context.querySelectorAll(query), extra );=0A=
				} catch(e){}=0A=
			}=0A=
		=0A=
			return oldSizzle(query, context, extra, seed);=0A=
		};=0A=
=0A=
		for ( var prop in oldSizzle ) {=0A=
			Sizzle[ prop ] =3D oldSizzle[ prop ];=0A=
		}=0A=
=0A=
		div =3D null; // release memory in IE=0A=
	})();=0A=
}=0A=
=0A=
(function(){=0A=
	var div =3D document.createElement("div");=0A=
=0A=
	div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";=0A=
=0A=
	// Opera can't find a second classname (in 9.6)=0A=
	// Also, make sure that getElementsByClassName actually exists=0A=
	if ( !div.getElementsByClassName || =
div.getElementsByClassName("e").length =3D=3D=3D 0 ) {=0A=
		return;=0A=
	}=0A=
=0A=
	// Safari caches class attributes, doesn't catch changes (in 3.2)=0A=
	div.lastChild.className =3D "e";=0A=
=0A=
	if ( div.getElementsByClassName("e").length =3D=3D=3D 1 ) {=0A=
		return;=0A=
	}=0A=
	=0A=
	Expr.order.splice(1, 0, "CLASS");=0A=
	Expr.find.CLASS =3D function(match, context, isXML) {=0A=
		if ( typeof context.getElementsByClassName !=3D=3D "undefined" && =
!isXML ) {=0A=
			return context.getElementsByClassName(match[1]);=0A=
		}=0A=
	};=0A=
=0A=
	div =3D null; // release memory in IE=0A=
})();=0A=
=0A=
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && !isXML ){=0A=
					elem.sizcache =3D doneName;=0A=
					elem.sizset =3D i;=0A=
				}=0A=
=0A=
				if ( elem.nodeName.toLowerCase() =3D=3D=3D cur ) {=0A=
					match =3D elem;=0A=
					break;=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !isXML ) {=0A=
						elem.sizcache =3D doneName;=0A=
						elem.sizset =3D i;=0A=
					}=0A=
					if ( typeof cur !=3D=3D "string" ) {=0A=
						if ( elem =3D=3D=3D cur ) {=0A=
							match =3D true;=0A=
							break;=0A=
						}=0A=
=0A=
					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {=0A=
						match =3D elem;=0A=
						break;=0A=
					}=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
var contains =3D document.compareDocumentPosition ? function(a, b){=0A=
	return a.compareDocumentPosition(b) & 16;=0A=
} : function(a, b){=0A=
	return a !=3D=3D b && (a.contains ? a.contains(b) : true);=0A=
};=0A=
=0A=
var isXML =3D function(elem){=0A=
	// documentElement is verified for cases where it doesn't yet exist=0A=
	// (such as loading iframes in IE - #4833) =0A=
	var documentElement =3D (elem ? elem.ownerDocument || elem : =
0).documentElement;=0A=
	return documentElement ? documentElement.nodeName !=3D=3D "HTML" : =
false;=0A=
};=0A=
=0A=
var posProcess =3D function(selector, context){=0A=
	var tmpSet =3D [], later =3D "", match,=0A=
		root =3D context.nodeType ? [context] : context;=0A=
=0A=
	// Position selectors must be done after the filter=0A=
	// And so must :not(positional) so we move all PSEUDOs to the end=0A=
	while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {=0A=
		later +=3D match[0];=0A=
		selector =3D selector.replace( Expr.match.PSEUDO, "" );=0A=
	}=0A=
=0A=
	selector =3D Expr.relative[selector] ? selector + "*" : selector;=0A=
=0A=
	for ( var i =3D 0, l =3D root.length; i < l; i++ ) {=0A=
		Sizzle( selector, root[i], tmpSet );=0A=
	}=0A=
=0A=
	return Sizzle.filter( later, tmpSet );=0A=
};=0A=
=0A=
// EXPOSE=0A=
jQuery.find =3D Sizzle;=0A=
jQuery.expr =3D Sizzle.selectors;=0A=
jQuery.expr[":"] =3D jQuery.expr.filters;=0A=
jQuery.unique =3D Sizzle.uniqueSort;=0A=
jQuery.getText =3D getText;=0A=
jQuery.isXMLDoc =3D isXML;=0A=
jQuery.contains =3D contains;=0A=
=0A=
return;=0A=
=0A=
window.Sizzle =3D Sizzle;=0A=
=0A=
})();=0A=
var runtil =3D /Until$/,=0A=
	rparentsprev =3D /^(?:parents|prevUntil|prevAll)/,=0A=
	// Note: This RegExp should be improved, or likely pulled from Sizzle=0A=
	rmultiselector =3D /,/,=0A=
	slice =3D Array.prototype.slice;=0A=
=0A=
// Implement the identical functionality for filter and not=0A=
var winnow =3D function( elements, qualifier, keep ) {=0A=
	if ( jQuery.isFunction( qualifier ) ) {=0A=
		return jQuery.grep(elements, function( elem, i ) {=0A=
			return !!qualifier.call( elem, i, elem ) =3D=3D=3D keep;=0A=
		});=0A=
=0A=
	} else if ( qualifier.nodeType ) {=0A=
		return jQuery.grep(elements, function( elem, i ) {=0A=
			return (elem =3D=3D=3D qualifier) =3D=3D=3D keep;=0A=
		});=0A=
=0A=
	} else if ( typeof qualifier =3D=3D=3D "string" ) {=0A=
		var filtered =3D jQuery.grep(elements, function( elem ) {=0A=
			return elem.nodeType =3D=3D=3D 1;=0A=
		});=0A=
=0A=
		if ( isSimple.test( qualifier ) ) {=0A=
			return jQuery.filter(qualifier, filtered, !keep);=0A=
		} else {=0A=
			qualifier =3D jQuery.filter( qualifier, filtered );=0A=
		}=0A=
	}=0A=
=0A=
	return jQuery.grep(elements, function( elem, i ) {=0A=
		return (jQuery.inArray( elem, qualifier ) >=3D 0) =3D=3D=3D keep;=0A=
	});=0A=
};=0A=
=0A=
jQuery.fn.extend({=0A=
	find: function( selector ) {=0A=
		var ret =3D this.pushStack( "", "find", selector ), length =3D 0;=0A=
=0A=
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
			length =3D ret.length;=0A=
			jQuery.find( selector, this[i], ret );=0A=
=0A=
			if ( i > 0 ) {=0A=
				// Make sure that the results are unique=0A=
				for ( var n =3D length; n < ret.length; n++ ) {=0A=
					for ( var r =3D 0; r < length; r++ ) {=0A=
						if ( ret[r] =3D=3D=3D ret[n] ) {=0A=
							ret.splice(n--, 1);=0A=
							break;=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	has: function( target ) {=0A=
		var targets =3D jQuery( target );=0A=
		return this.filter(function() {=0A=
			for ( var i =3D 0, l =3D targets.length; i < l; i++ ) {=0A=
				if ( jQuery.contains( this, targets[i] ) ) {=0A=
					return true;=0A=
				}=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	not: function( selector ) {=0A=
		return this.pushStack( winnow(this, selector, false), "not", selector);=0A=
	},=0A=
=0A=
	filter: function( selector ) {=0A=
		return this.pushStack( winnow(this, selector, true), "filter", =
selector );=0A=
	},=0A=
	=0A=
	is: function( selector ) {=0A=
		return !!selector && jQuery.filter( selector, this ).length > 0;=0A=
	},=0A=
=0A=
	closest: function( selectors, context ) {=0A=
		if ( jQuery.isArray( selectors ) ) {=0A=
			var ret =3D [], cur =3D this[0], match, matches =3D {}, selector;=0A=
=0A=
			if ( cur && selectors.length ) {=0A=
				for ( var i =3D 0, l =3D selectors.length; i < l; i++ ) {=0A=
					selector =3D selectors[i];=0A=
=0A=
					if ( !matches[selector] ) {=0A=
						matches[selector] =3D jQuery.expr.match.POS.test( selector ) ? =0A=
							jQuery( selector, context || this.context ) :=0A=
							selector;=0A=
					}=0A=
				}=0A=
=0A=
				while ( cur && cur.ownerDocument && cur !=3D=3D context ) {=0A=
					for ( selector in matches ) {=0A=
						match =3D matches[selector];=0A=
=0A=
						if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) =
) {=0A=
							ret.push({ selector: selector, elem: cur });=0A=
							delete matches[selector];=0A=
						}=0A=
					}=0A=
					cur =3D cur.parentNode;=0A=
				}=0A=
			}=0A=
=0A=
			return ret;=0A=
		}=0A=
=0A=
		var pos =3D jQuery.expr.match.POS.test( selectors ) ? =0A=
			jQuery( selectors, context || this.context ) : null;=0A=
=0A=
		return this.map(function( i, cur ) {=0A=
			while ( cur && cur.ownerDocument && cur !=3D=3D context ) {=0A=
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {=0A=
					return cur;=0A=
				}=0A=
				cur =3D cur.parentNode;=0A=
			}=0A=
			return null;=0A=
		});=0A=
	},=0A=
	=0A=
	// Determine the position of an element within=0A=
	// the matched set of elements=0A=
	index: function( elem ) {=0A=
		if ( !elem || typeof elem =3D=3D=3D "string" ) {=0A=
			return jQuery.inArray( this[0],=0A=
				// If it receives a string, the selector is used=0A=
				// If it receives nothing, the siblings are used=0A=
				elem ? jQuery( elem ) : this.parent().children() );=0A=
		}=0A=
		// Locate the position of the desired element=0A=
		return jQuery.inArray(=0A=
			// If it receives a jQuery object, the first element is used=0A=
			elem.jquery ? elem[0] : elem, this );=0A=
	},=0A=
=0A=
	add: function( selector, context ) {=0A=
		var set =3D typeof selector =3D=3D=3D "string" ?=0A=
				jQuery( selector, context || this.context ) :=0A=
				jQuery.makeArray( selector ),=0A=
			all =3D jQuery.merge( this.get(), set );=0A=
=0A=
		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( =
all[0] ) ?=0A=
			all :=0A=
			jQuery.unique( all ) );=0A=
	},=0A=
=0A=
	andSelf: function() {=0A=
		return this.add( this.prevObject );=0A=
	}=0A=
});=0A=
=0A=
// A painfully simple check to see if an element is disconnected=0A=
// from a document (should be improved, where feasible).=0A=
function isDisconnected( node ) {=0A=
	return !node || !node.parentNode || node.parentNode.nodeType =3D=3D=3D =
11;=0A=
}=0A=
=0A=
jQuery.each({=0A=
	parent: function( elem ) {=0A=
		var parent =3D elem.parentNode;=0A=
		return parent && parent.nodeType !=3D=3D 11 ? parent : null;=0A=
	},=0A=
	parents: function( elem ) {=0A=
		return jQuery.dir( elem, "parentNode" );=0A=
	},=0A=
	parentsUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "parentNode", until );=0A=
	},=0A=
	next: function( elem ) {=0A=
		return jQuery.nth( elem, 2, "nextSibling" );=0A=
	},=0A=
	prev: function( elem ) {=0A=
		return jQuery.nth( elem, 2, "previousSibling" );=0A=
	},=0A=
	nextAll: function( elem ) {=0A=
		return jQuery.dir( elem, "nextSibling" );=0A=
	},=0A=
	prevAll: function( elem ) {=0A=
		return jQuery.dir( elem, "previousSibling" );=0A=
	},=0A=
	nextUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "nextSibling", until );=0A=
	},=0A=
	prevUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "previousSibling", until );=0A=
	},=0A=
	siblings: function( elem ) {=0A=
		return jQuery.sibling( elem.parentNode.firstChild, elem );=0A=
	},=0A=
	children: function( elem ) {=0A=
		return jQuery.sibling( elem.firstChild );=0A=
	},=0A=
	contents: function( elem ) {=0A=
		return jQuery.nodeName( elem, "iframe" ) ?=0A=
			elem.contentDocument || elem.contentWindow.document :=0A=
			jQuery.makeArray( elem.childNodes );=0A=
	}=0A=
}, function( name, fn ) {=0A=
	jQuery.fn[ name ] =3D function( until, selector ) {=0A=
		var ret =3D jQuery.map( this, fn, until );=0A=
		=0A=
		if ( !runtil.test( name ) ) {=0A=
			selector =3D until;=0A=
		}=0A=
=0A=
		if ( selector && typeof selector =3D=3D=3D "string" ) {=0A=
			ret =3D jQuery.filter( selector, ret );=0A=
		}=0A=
=0A=
		ret =3D this.length > 1 ? jQuery.unique( ret ) : ret;=0A=
=0A=
		if ( (this.length > 1 || rmultiselector.test( selector )) && =
rparentsprev.test( name ) ) {=0A=
			ret =3D ret.reverse();=0A=
		}=0A=
=0A=
		return this.pushStack( ret, name, slice.call(arguments).join(",") );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	filter: function( expr, elems, not ) {=0A=
		if ( not ) {=0A=
			expr =3D ":not(" + expr + ")";=0A=
		}=0A=
=0A=
		return jQuery.find.matches(expr, elems);=0A=
	},=0A=
	=0A=
	dir: function( elem, dir, until ) {=0A=
		var matched =3D [], cur =3D elem[dir];=0A=
		while ( cur && cur.nodeType !=3D=3D 9 && (until =3D=3D=3D undefined || =
cur.nodeType !=3D=3D 1 || !jQuery( cur ).is( until )) ) {=0A=
			if ( cur.nodeType =3D=3D=3D 1 ) {=0A=
				matched.push( cur );=0A=
			}=0A=
			cur =3D cur[dir];=0A=
		}=0A=
		return matched;=0A=
	},=0A=
=0A=
	nth: function( cur, result, dir, elem ) {=0A=
		result =3D result || 1;=0A=
		var num =3D 0;=0A=
=0A=
		for ( ; cur; cur =3D cur[dir] ) {=0A=
			if ( cur.nodeType =3D=3D=3D 1 && ++num =3D=3D=3D result ) {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		return cur;=0A=
	},=0A=
=0A=
	sibling: function( n, elem ) {=0A=
		var r =3D [];=0A=
=0A=
		for ( ; n; n =3D n.nextSibling ) {=0A=
			if ( n.nodeType =3D=3D=3D 1 && n !=3D=3D elem ) {=0A=
				r.push( n );=0A=
			}=0A=
		}=0A=
=0A=
		return r;=0A=
	}=0A=
});=0A=
var rinlinejQuery =3D / jQuery\d+=3D"(?:\d+|null)"/g,=0A=
	rleadingWhitespace =3D /^\s+/,=0A=
	rxhtmlTag =3D /(<([\w:]+)[^>]*?)\/>/g,=0A=
	rselfClosing =3D =
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,=0A=
	rtagName =3D /<([\w:]+)/,=0A=
	rtbody =3D /<tbody/i,=0A=
	rhtml =3D /<|&\w+;/,=0A=
	rchecked =3D /checked\s*(?:[^=3D]|=3D\s*.checked.)/i,  // =
checked=3D"checked" or checked (html5)=0A=
	fcloseTag =3D function( all, front, tag ) {=0A=
		return rselfClosing.test( tag ) ?=0A=
			all :=0A=
			front + "></" + tag + ">";=0A=
	},=0A=
	wrapMap =3D {=0A=
		option: [ 1, "<select multiple=3D'multiple'>", "</select>" ],=0A=
		legend: [ 1, "<fieldset>", "</fieldset>" ],=0A=
		thead: [ 1, "<table>", "</table>" ],=0A=
		tr: [ 2, "<table><tbody>", "</tbody></table>" ],=0A=
		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],=0A=
		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],=0A=
		area: [ 1, "<map>", "</map>" ],=0A=
		_default: [ 0, "", "" ]=0A=
	};=0A=
=0A=
wrapMap.optgroup =3D wrapMap.option;=0A=
wrapMap.tbody =3D wrapMap.tfoot =3D wrapMap.colgroup =3D wrapMap.caption =
=3D wrapMap.thead;=0A=
wrapMap.th =3D wrapMap.td;=0A=
=0A=
// IE can't serialize <link> and <script> tags normally=0A=
if ( !jQuery.support.htmlSerialize ) {=0A=
	wrapMap._default =3D [ 1, "div<div>", "</div>" ];=0A=
}=0A=
=0A=
jQuery.fn.extend({=0A=
	text: function( text ) {=0A=
		if ( jQuery.isFunction(text) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.text( text.call(this, i, self.text()) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( typeof text !=3D=3D "object" && text !=3D=3D undefined ) {=0A=
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );=0A=
		}=0A=
=0A=
		return jQuery.getText( this );=0A=
	},=0A=
=0A=
	wrapAll: function( html ) {=0A=
		if ( jQuery.isFunction( html ) ) {=0A=
			return this.each(function(i) {=0A=
				jQuery(this).wrapAll( html.call(this, i) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( this[0] ) {=0A=
			// The elements to wrap the target around=0A=
			var wrap =3D jQuery( html, this[0].ownerDocument ).eq(0).clone(true);=0A=
=0A=
			if ( this[0].parentNode ) {=0A=
				wrap.insertBefore( this[0] );=0A=
			}=0A=
=0A=
			wrap.map(function() {=0A=
				var elem =3D this;=0A=
=0A=
				while ( elem.firstChild && elem.firstChild.nodeType =3D=3D=3D 1 ) {=0A=
					elem =3D elem.firstChild;=0A=
				}=0A=
=0A=
				return elem;=0A=
			}).append(this);=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	wrapInner: function( html ) {=0A=
		if ( jQuery.isFunction( html ) ) {=0A=
			return this.each(function(i) {=0A=
				jQuery(this).wrapInner( html.call(this, i) );=0A=
			});=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			var self =3D jQuery( this ), contents =3D self.contents();=0A=
=0A=
			if ( contents.length ) {=0A=
				contents.wrapAll( html );=0A=
=0A=
			} else {=0A=
				self.append( html );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	wrap: function( html ) {=0A=
		return this.each(function() {=0A=
			jQuery( this ).wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	unwrap: function() {=0A=
		return this.parent().each(function() {=0A=
			if ( !jQuery.nodeName( this, "body" ) ) {=0A=
				jQuery( this ).replaceWith( this.childNodes );=0A=
			}=0A=
		}).end();=0A=
	},=0A=
=0A=
	append: function() {=0A=
		return this.domManip(arguments, true, function( elem ) {=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.appendChild( elem );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	prepend: function() {=0A=
		return this.domManip(arguments, true, function( elem ) {=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.insertBefore( elem, this.firstChild );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	before: function() {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			return this.domManip(arguments, false, function( elem ) {=0A=
				this.parentNode.insertBefore( elem, this );=0A=
			});=0A=
		} else if ( arguments.length ) {=0A=
			var set =3D jQuery(arguments[0]);=0A=
			set.push.apply( set, this.toArray() );=0A=
			return this.pushStack( set, "before", arguments );=0A=
		}=0A=
	},=0A=
=0A=
	after: function() {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			return this.domManip(arguments, false, function( elem ) {=0A=
				this.parentNode.insertBefore( elem, this.nextSibling );=0A=
			});=0A=
		} else if ( arguments.length ) {=0A=
			var set =3D this.pushStack( this, "after", arguments );=0A=
			set.push.apply( set, jQuery(arguments[0]).toArray() );=0A=
			return set;=0A=
		}=0A=
	},=0A=
=0A=
	clone: function( events ) {=0A=
		// Do the clone=0A=
		var ret =3D this.map(function() {=0A=
			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {=0A=
				// IE copies events bound via attachEvent when=0A=
				// using cloneNode. Calling detachEvent on the=0A=
				// clone will also remove the events from the orignal=0A=
				// In order to get around this, we use innerHTML.=0A=
				// Unfortunately, this means some modifications to=0A=
				// attributes in IE that are actually only stored=0A=
				// as properties will not be copied (such as the=0A=
				// the name attribute on an input).=0A=
				var html =3D this.outerHTML, ownerDocument =3D this.ownerDocument;=0A=
				if ( !html ) {=0A=
					var div =3D ownerDocument.createElement("div");=0A=
					div.appendChild( this.cloneNode(true) );=0A=
					html =3D div.innerHTML;=0A=
				}=0A=
=0A=
				return jQuery.clean([html.replace(rinlinejQuery, "")=0A=
					.replace(rleadingWhitespace, "")], ownerDocument)[0];=0A=
			} else {=0A=
				return this.cloneNode(true);=0A=
			}=0A=
		});=0A=
=0A=
		// Copy the events from the original to the clone=0A=
		if ( events =3D=3D=3D true ) {=0A=
			cloneCopyEvent( this, ret );=0A=
			cloneCopyEvent( this.find("*"), ret.find("*") );=0A=
		}=0A=
=0A=
		// Return the cloned set=0A=
		return ret;=0A=
	},=0A=
=0A=
	html: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			return this[0] && this[0].nodeType =3D=3D=3D 1 ?=0A=
				this[0].innerHTML.replace(rinlinejQuery, "") :=0A=
				null;=0A=
=0A=
		// See if we can take a shortcut and just use innerHTML=0A=
		} else if ( typeof value =3D=3D=3D "string" && !/<script/i.test( value =
) &&=0A=
			(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value =
)) &&=0A=
			!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {=0A=
=0A=
			value =3D value.replace(rxhtmlTag, fcloseTag);=0A=
=0A=
			try {=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
					// Remove element nodes and prevent memory leaks=0A=
					if ( this[i].nodeType =3D=3D=3D 1 ) {=0A=
						jQuery.cleanData( this[i].getElementsByTagName("*") );=0A=
						this[i].innerHTML =3D value;=0A=
					}=0A=
				}=0A=
=0A=
			// If using innerHTML throws an exception, use the fallback method=0A=
			} catch(e) {=0A=
				this.empty().append( value );=0A=
			}=0A=
=0A=
		} else if ( jQuery.isFunction( value ) ) {=0A=
			this.each(function(i){=0A=
				var self =3D jQuery(this), old =3D self.html();=0A=
				self.empty().append(function(){=0A=
					return value.call( this, i, old );=0A=
				});=0A=
			});=0A=
=0A=
		} else {=0A=
			this.empty().append( value );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	replaceWith: function( value ) {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			// Make sure that the elements are removed from the DOM before they =
are inserted=0A=
			// this can help fix replacing a parent with child elements=0A=
			if ( !jQuery.isFunction( value ) ) {=0A=
				value =3D jQuery( value ).detach();=0A=
=0A=
			} else {=0A=
				return this.each(function(i) {=0A=
					var self =3D jQuery(this), old =3D self.html();=0A=
					self.replaceWith( value.call( this, i, old ) );=0A=
				});=0A=
			}=0A=
=0A=
			return this.each(function() {=0A=
				var next =3D this.nextSibling, parent =3D this.parentNode;=0A=
=0A=
				jQuery(this).remove();=0A=
=0A=
				if ( next ) {=0A=
					jQuery(next).before( value );=0A=
				} else {=0A=
					jQuery(parent).append( value );=0A=
				}=0A=
			});=0A=
		} else {=0A=
			return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : =
value), "replaceWith", value );=0A=
		}=0A=
	},=0A=
=0A=
	detach: function( selector ) {=0A=
		return this.remove( selector, true );=0A=
	},=0A=
=0A=
	domManip: function( args, table, callback ) {=0A=
		var results, first, value =3D args[0], scripts =3D [];=0A=
=0A=
		// We can't cloneNode fragments that contain checked, in WebKit=0A=
		if ( !jQuery.support.checkClone && arguments.length =3D=3D=3D 3 && =
typeof value =3D=3D=3D "string" && rchecked.test( value ) ) {=0A=
			return this.each(function() {=0A=
				jQuery(this).domManip( args, table, callback, true );=0A=
			});=0A=
		}=0A=
=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				args[0] =3D value.call(this, i, table ? self.html() : undefined);=0A=
				self.domManip( args, table, callback );=0A=
			});=0A=
		}=0A=
=0A=
		if ( this[0] ) {=0A=
			// If we're in a fragment, just use that instead of building a new one=0A=
			if ( args[0] && args[0].parentNode && args[0].parentNode.nodeType =
=3D=3D=3D 11 ) {=0A=
				results =3D { fragment: args[0].parentNode };=0A=
			} else {=0A=
				results =3D buildFragment( args, this, scripts );=0A=
			}=0A=
=0A=
			first =3D results.fragment.firstChild;=0A=
=0A=
			if ( first ) {=0A=
				table =3D table && jQuery.nodeName( first, "tr" );=0A=
=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
					callback.call(=0A=
						table ?=0A=
							root(this[i], first) :=0A=
							this[i],=0A=
						results.cacheable || this.length > 1 || i > 0 ?=0A=
							results.fragment.cloneNode(true) :=0A=
							results.fragment=0A=
					);=0A=
				}=0A=
			}=0A=
=0A=
			if ( scripts ) {=0A=
				jQuery.each( scripts, evalScript );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
=0A=
		function root( elem, cur ) {=0A=
			return jQuery.nodeName(elem, "table") ?=0A=
				(elem.getElementsByTagName("tbody")[0] ||=0A=
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :=0A=
				elem;=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
function cloneCopyEvent(orig, ret) {=0A=
	var i =3D 0;=0A=
=0A=
	ret.each(function() {=0A=
		if ( this.nodeName !=3D=3D (orig[i] && orig[i].nodeName) ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var oldData =3D jQuery.data( orig[i++] ), curData =3D jQuery.data( =
this, oldData ), events =3D oldData && oldData.events;=0A=
=0A=
		if ( events ) {=0A=
			delete curData.handle;=0A=
			curData.events =3D {};=0A=
=0A=
			for ( var type in events ) {=0A=
				for ( var handler in events[ type ] ) {=0A=
					jQuery.event.add( this, type, events[ type ][ handler ], events[ =
type ][ handler ].data );=0A=
				}=0A=
			}=0A=
		}=0A=
	});=0A=
}=0A=
=0A=
function buildFragment( args, nodes, scripts ) {=0A=
	var fragment, cacheable, cacheresults, doc;=0A=
=0A=
	// webkit does not clone 'checked' attribute of radio inputs on =
cloneNode, so don't cache if string has a checked=0A=
	if ( args.length =3D=3D=3D 1 && typeof args[0] =3D=3D=3D "string" && =
args[0].length < 512 && args[0].indexOf("<option") < 0 && =
(jQuery.support.checkClone || !rchecked.test( args[0] )) ) {=0A=
		cacheable =3D true;=0A=
		cacheresults =3D jQuery.fragments[ args[0] ];=0A=
		if ( cacheresults ) {=0A=
			if ( cacheresults !=3D=3D 1 ) {=0A=
				fragment =3D cacheresults;=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !fragment ) {=0A=
		doc =3D (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : =
document);=0A=
		fragment =3D doc.createDocumentFragment();=0A=
		jQuery.clean( args, doc, fragment, scripts );=0A=
	}=0A=
=0A=
	if ( cacheable ) {=0A=
		jQuery.fragments[ args[0] ] =3D cacheresults ? fragment : 1;=0A=
	}=0A=
=0A=
	return { fragment: fragment, cacheable: cacheable };=0A=
}=0A=
=0A=
jQuery.fragments =3D {};=0A=
=0A=
jQuery.each({=0A=
	appendTo: "append",=0A=
	prependTo: "prepend",=0A=
	insertBefore: "before",=0A=
	insertAfter: "after",=0A=
	replaceAll: "replaceWith"=0A=
}, function( name, original ) {=0A=
	jQuery.fn[ name ] =3D function( selector ) {=0A=
		var ret =3D [], insert =3D jQuery( selector );=0A=
=0A=
		for ( var i =3D 0, l =3D insert.length; i < l; i++ ) {=0A=
			var elems =3D (i > 0 ? this.clone(true) : this).get();=0A=
			jQuery.fn[ original ].apply( jQuery(insert[i]), elems );=0A=
			ret =3D ret.concat( elems );=0A=
		}=0A=
		return this.pushStack( ret, name, insert.selector );=0A=
	};=0A=
});=0A=
=0A=
jQuery.each({=0A=
	// keepData is for internal use only--do not document=0A=
	remove: function( selector, keepData ) {=0A=
		if ( !selector || jQuery.filter( selector, [ this ] ).length ) {=0A=
			if ( !keepData && this.nodeType =3D=3D=3D 1 ) {=0A=
				jQuery.cleanData( this.getElementsByTagName("*") );=0A=
				jQuery.cleanData( [ this ] );=0A=
			}=0A=
=0A=
			if ( this.parentNode ) {=0A=
				 this.parentNode.removeChild( this );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	empty: function() {=0A=
		// Remove element nodes and prevent memory leaks=0A=
		if ( this.nodeType =3D=3D=3D 1 ) {=0A=
			jQuery.cleanData( this.getElementsByTagName("*") );=0A=
		}=0A=
=0A=
		// Remove any remaining nodes=0A=
		while ( this.firstChild ) {=0A=
			this.removeChild( this.firstChild );=0A=
		}=0A=
	}=0A=
}, function( name, fn ) {=0A=
	jQuery.fn[ name ] =3D function() {=0A=
		return this.each( fn, arguments );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	clean: function( elems, context, fragment, scripts ) {=0A=
		context =3D context || document;=0A=
=0A=
		// !context.createElement fails in IE with an error but returns typeof =
'object'=0A=
		if ( typeof context.createElement =3D=3D=3D "undefined" ) {=0A=
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;=0A=
		}=0A=
=0A=
		var ret =3D [];=0A=
=0A=
		jQuery.each(elems, function( i, elem ) {=0A=
			if ( typeof elem =3D=3D=3D "number" ) {=0A=
				elem +=3D "";=0A=
			}=0A=
=0A=
			if ( !elem ) {=0A=
				return;=0A=
			}=0A=
=0A=
			// Convert html string into DOM nodes=0A=
			if ( typeof elem =3D=3D=3D "string" && !rhtml.test( elem ) ) {=0A=
				elem =3D context.createTextNode( elem );=0A=
=0A=
			} else if ( typeof elem =3D=3D=3D "string" ) {=0A=
				// Fix "XHTML"-style tags in all browsers=0A=
				elem =3D elem.replace(rxhtmlTag, fcloseTag);=0A=
=0A=
				// Trim whitespace, otherwise indexOf won't work as expected=0A=
				var tag =3D (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),=0A=
					wrap =3D wrapMap[ tag ] || wrapMap._default,=0A=
					depth =3D wrap[0],=0A=
					div =3D context.createElement("div");=0A=
=0A=
				// Go to html and back, then peel off extra wrappers=0A=
				div.innerHTML =3D wrap[1] + elem + wrap[2];=0A=
=0A=
				// Move to the right depth=0A=
				while ( depth-- ) {=0A=
					div =3D div.lastChild;=0A=
				}=0A=
=0A=
				// Remove IE's autoinserted <tbody> from table fragments=0A=
				if ( !jQuery.support.tbody ) {=0A=
=0A=
					// String was a <table>, *may* have spurious <tbody>=0A=
					var hasBody =3D rtbody.test(elem),=0A=
						tbody =3D tag =3D=3D=3D "table" && !hasBody ?=0A=
							div.firstChild && div.firstChild.childNodes :=0A=
=0A=
							// String was a bare <thead> or <tfoot>=0A=
							wrap[1] =3D=3D=3D "<table>" && !hasBody ?=0A=
								div.childNodes :=0A=
								[];=0A=
=0A=
					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j ) {=0A=
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length ) {=0A=
							tbody[ j ].parentNode.removeChild( tbody[ j ] );=0A=
						}=0A=
					}=0A=
=0A=
				}=0A=
=0A=
				// IE completely kills leading whitespace when innerHTML is used=0A=
				if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( =
elem ) ) {=0A=
					div.insertBefore( context.createTextNode( =
rleadingWhitespace.exec(elem)[0] ), div.firstChild );=0A=
				}=0A=
=0A=
				elem =3D jQuery.makeArray( div.childNodes );=0A=
			}=0A=
=0A=
			if ( elem.nodeType ) {=0A=
				ret.push( elem );=0A=
			} else {=0A=
				ret =3D jQuery.merge( ret, elem );=0A=
			}=0A=
=0A=
		});=0A=
=0A=
		if ( fragment ) {=0A=
			for ( var i =3D 0; ret[i]; i++ ) {=0A=
				if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type =
|| ret[i].type.toLowerCase() =3D=3D=3D "text/javascript") ) {=0A=
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( =
ret[i] ) : ret[i] );=0A=
				} else {=0A=
					if ( ret[i].nodeType =3D=3D=3D 1 ) {=0A=
						ret.splice.apply( ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );=0A=
					}=0A=
					fragment.appendChild( ret[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
	=0A=
	cleanData: function( elems ) {=0A=
		for ( var i =3D 0, elem, id; (elem =3D elems[i]) !=3D null; i++ ) {=0A=
			jQuery.event.remove( elem );=0A=
			jQuery.removeData( elem );=0A=
		}=0A=
	}=0A=
});=0A=
// exclude the following css properties to add px=0A=
var rexclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,=0A=
	ralpha =3D /alpha\([^)]*\)/,=0A=
	ropacity =3D /opacity=3D([^)]*)/,=0A=
	rfloat =3D /float/i,=0A=
	rdashAlpha =3D /-([a-z])/ig,=0A=
	rupper =3D /([A-Z])/g,=0A=
	rnumpx =3D /^-?\d+(?:px)?$/i,=0A=
	rnum =3D /^-?\d/,=0A=
=0A=
	cssShow =3D { position: "absolute", visibility: "hidden", =
display:"block" },=0A=
	cssWidth =3D [ "Left", "Right" ],=0A=
	cssHeight =3D [ "Top", "Bottom" ],=0A=
=0A=
	// cache check for defaultView.getComputedStyle=0A=
	getComputedStyle =3D document.defaultView && =
document.defaultView.getComputedStyle,=0A=
	// normalize float css property=0A=
	styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : "styleFloat",=0A=
	fcamelCase =3D function( all, letter ) {=0A=
		return letter.toUpperCase();=0A=
	};=0A=
=0A=
jQuery.fn.css =3D function( name, value ) {=0A=
	return access( this, name, value, true, function( elem, name, value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			return jQuery.curCSS( elem, name );=0A=
		}=0A=
		=0A=
		if ( typeof value =3D=3D=3D "number" && !rexclude.test(name) ) {=0A=
			value +=3D "px";=0A=
		}=0A=
=0A=
		jQuery.style( elem, name, value );=0A=
	});=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	style: function( elem, name, value ) {=0A=
		// don't set styles on text and comment nodes=0A=
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{=0A=
			return undefined;=0A=
		}=0A=
=0A=
		// ignore negative width and height values #1599=0A=
		if ( (name =3D=3D=3D "width" || name =3D=3D=3D "height") && =
parseFloat(value) < 0 ) {=0A=
			value =3D undefined;=0A=
		}=0A=
=0A=
		var style =3D elem.style || elem, set =3D value !=3D=3D undefined;=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" ) {=0A=
			if ( set ) {=0A=
				// IE has trouble with opacity if it does not have layout=0A=
				// Force it by setting the zoom level=0A=
				style.zoom =3D 1;=0A=
=0A=
				// Set the alpha filter to set the opacity=0A=
				var opacity =3D parseInt( value, 10 ) + "" =3D=3D=3D "NaN" ? "" : =
"alpha(opacity=3D" + value * 100 + ")";=0A=
				var filter =3D style.filter || jQuery.curCSS( elem, "filter" ) || "";=0A=
				style.filter =3D ralpha.test(filter) ? filter.replace(ralpha, =
opacity) : opacity;=0A=
			}=0A=
=0A=
			return style.filter && style.filter.indexOf("opacity=3D") >=3D 0 ?=0A=
				(parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":=0A=
				"";=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( rfloat.test( name ) ) {=0A=
			name =3D styleFloat;=0A=
		}=0A=
=0A=
		name =3D name.replace(rdashAlpha, fcamelCase);=0A=
=0A=
		if ( set ) {=0A=
			style[ name ] =3D value;=0A=
		}=0A=
=0A=
		return style[ name ];=0A=
	},=0A=
=0A=
	css: function( elem, name, force, extra ) {=0A=
		if ( name =3D=3D=3D "width" || name =3D=3D=3D "height" ) {=0A=
			var val, props =3D cssShow, which =3D name =3D=3D=3D "width" ? =
cssWidth : cssHeight;=0A=
=0A=
			function getWH() {=0A=
				val =3D name =3D=3D=3D "width" ? elem.offsetWidth : =
elem.offsetHeight;=0A=
=0A=
				if ( extra =3D=3D=3D "border" ) {=0A=
					return;=0A=
				}=0A=
=0A=
				jQuery.each( which, function() {=0A=
					if ( !extra ) {=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "padding" + this, true)) =
|| 0;=0A=
					}=0A=
=0A=
					if ( extra =3D=3D=3D "margin" ) {=0A=
						val +=3D parseFloat(jQuery.curCSS( elem, "margin" + this, true)) =
|| 0;=0A=
					} else {=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;=0A=
					}=0A=
				});=0A=
			}=0A=
=0A=
			if ( elem.offsetWidth !=3D=3D 0 ) {=0A=
				getWH();=0A=
			} else {=0A=
				jQuery.swap( elem, props, getWH );=0A=
			}=0A=
=0A=
			return Math.max(0, Math.round(val));=0A=
		}=0A=
=0A=
		return jQuery.curCSS( elem, name, force );=0A=
	},=0A=
=0A=
	curCSS: function( elem, name, force ) {=0A=
		var ret, style =3D elem.style, filter;=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" && =
elem.currentStyle ) {=0A=
			ret =3D ropacity.test(elem.currentStyle.filter || "") ?=0A=
				(parseFloat(RegExp.$1) / 100) + "" :=0A=
				"";=0A=
=0A=
			return ret =3D=3D=3D "" ?=0A=
				"1" :=0A=
				ret;=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( rfloat.test( name ) ) {=0A=
			name =3D styleFloat;=0A=
		}=0A=
=0A=
		if ( !force && style && style[ name ] ) {=0A=
			ret =3D style[ name ];=0A=
=0A=
		} else if ( getComputedStyle ) {=0A=
=0A=
			// Only "float" is needed here=0A=
			if ( rfloat.test( name ) ) {=0A=
				name =3D "float";=0A=
			}=0A=
=0A=
			name =3D name.replace( rupper, "-$1" ).toLowerCase();=0A=
=0A=
			var defaultView =3D elem.ownerDocument.defaultView;=0A=
=0A=
			if ( !defaultView ) {=0A=
				return null;=0A=
			}=0A=
=0A=
			var computedStyle =3D defaultView.getComputedStyle( elem, null );=0A=
=0A=
			if ( computedStyle ) {=0A=
				ret =3D computedStyle.getPropertyValue( name );=0A=
			}=0A=
=0A=
			// We should always get a number back from opacity=0A=
			if ( name =3D=3D=3D "opacity" && ret =3D=3D=3D "" ) {=0A=
				ret =3D "1";=0A=
			}=0A=
=0A=
		} else if ( elem.currentStyle ) {=0A=
			var camelCase =3D name.replace(rdashAlpha, fcamelCase);=0A=
=0A=
			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];=0A=
=0A=
			// From the awesome hack by Dean Edwards=0A=
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291=0A=
=0A=
			// If we're not dealing with a regular pixel number=0A=
			// but a number that has a weird ending, we need to convert it to =
pixels=0A=
			if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {=0A=
				// Remember the original values=0A=
				var left =3D style.left, rsLeft =3D elem.runtimeStyle.left;=0A=
=0A=
				// Put in the new values to get a computed value out=0A=
				elem.runtimeStyle.left =3D elem.currentStyle.left;=0A=
				style.left =3D camelCase =3D=3D=3D "fontSize" ? "1em" : (ret || 0);=0A=
				ret =3D style.pixelLeft + "px";=0A=
=0A=
				// Revert the changed values=0A=
				style.left =3D left;=0A=
				elem.runtimeStyle.left =3D rsLeft;=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	// A method for quickly swapping in/out CSS properties to get correct =
calculations=0A=
	swap: function( elem, options, callback ) {=0A=
		var old =3D {};=0A=
=0A=
		// Remember the old values, and insert the new ones=0A=
		for ( var name in options ) {=0A=
			old[ name ] =3D elem.style[ name ];=0A=
			elem.style[ name ] =3D options[ name ];=0A=
		}=0A=
=0A=
		callback.call( elem );=0A=
=0A=
		// Revert the old values=0A=
		for ( var name in options ) {=0A=
			elem.style[ name ] =3D old[ name ];=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
if ( jQuery.expr && jQuery.expr.filters ) {=0A=
	jQuery.expr.filters.hidden =3D function( elem ) {=0A=
		var width =3D elem.offsetWidth, height =3D elem.offsetHeight,=0A=
			skip =3D elem.nodeName.toLowerCase() =3D=3D=3D "tr";=0A=
=0A=
		return width =3D=3D=3D 0 && height =3D=3D=3D 0 && !skip ?=0A=
			true :=0A=
			width > 0 && height > 0 && !skip ?=0A=
				false :=0A=
				jQuery.curCSS(elem, "display") =3D=3D=3D "none";=0A=
	};=0A=
=0A=
	jQuery.expr.filters.visible =3D function( elem ) {=0A=
		return !jQuery.expr.filters.hidden( elem );=0A=
	};=0A=
}=0A=
var jsc =3D now(),=0A=
	rscript =3D /<script(.|\s)*?\/script>/gi,=0A=
	rselectTextarea =3D /select|textarea/i,=0A=
	rinput =3D =
/color|date|datetime|email|hidden|month|number|password|range|search|tel|=
text|time|url|week/i,=0A=
	jsre =3D /=3D\?(&|$)/,=0A=
	rquery =3D /\?/,=0A=
	rts =3D /(\?|&)_=3D.*?(&|$)/,=0A=
	rurl =3D /^(\w+:)?\/\/([^\/?#]+)/,=0A=
	r20 =3D /%20/g;=0A=
=0A=
jQuery.fn.extend({=0A=
	// Keep a copy of the old load=0A=
	_load: jQuery.fn.load,=0A=
=0A=
	load: function( url, params, callback ) {=0A=
		if ( typeof url !=3D=3D "string" ) {=0A=
			return this._load( url );=0A=
=0A=
		// Don't do a request if no elements are being requested=0A=
		} else if ( !this.length ) {=0A=
			return this;=0A=
		}=0A=
=0A=
		var off =3D url.indexOf(" ");=0A=
		if ( off >=3D 0 ) {=0A=
			var selector =3D url.slice(off, url.length);=0A=
			url =3D url.slice(0, off);=0A=
		}=0A=
=0A=
		// Default to a GET request=0A=
		var type =3D "GET";=0A=
=0A=
		// If the second parameter was provided=0A=
		if ( params ) {=0A=
			// If it's a function=0A=
			if ( jQuery.isFunction( params ) ) {=0A=
				// We assume that it's the callback=0A=
				callback =3D params;=0A=
				params =3D null;=0A=
=0A=
			// Otherwise, build a param string=0A=
			} else if ( typeof params =3D=3D=3D "object" ) {=0A=
				params =3D jQuery.param( params, jQuery.ajaxSettings.traditional );=0A=
				type =3D "POST";=0A=
			}=0A=
		}=0A=
=0A=
		var self =3D this;=0A=
=0A=
		// Request the remote document=0A=
		jQuery.ajax({=0A=
			url: url,=0A=
			type: type,=0A=
			dataType: "html",=0A=
			data: params,=0A=
			complete: function( res, status ) {=0A=
				// If successful, inject the HTML into all the matched elements=0A=
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) {=0A=
					// See if a selector was specified=0A=
					self.html( selector ?=0A=
						// Create a dummy div to hold the results=0A=
						jQuery("<div />")=0A=
							// inject the contents of the document in, removing the scripts=0A=
							// to avoid any 'Permission Denied' errors in IE=0A=
							.append(res.responseText.replace(rscript, ""))=0A=
=0A=
							// Locate the specified elements=0A=
							.find(selector) :=0A=
=0A=
						// If not, just inject the full result=0A=
						res.responseText );=0A=
				}=0A=
=0A=
				if ( callback ) {=0A=
					self.each( callback, [res.responseText, status, res] );=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	serialize: function() {=0A=
		return jQuery.param(this.serializeArray());=0A=
	},=0A=
	serializeArray: function() {=0A=
		return this.map(function() {=0A=
			return this.elements ? jQuery.makeArray(this.elements) : this;=0A=
		})=0A=
		.filter(function() {=0A=
			return this.name && !this.disabled &&=0A=
				(this.checked || rselectTextarea.test(this.nodeName) ||=0A=
					rinput.test(this.type));=0A=
		})=0A=
		.map(function( i, elem ) {=0A=
			var val =3D jQuery(this).val();=0A=
=0A=
			return val =3D=3D null ?=0A=
				null :=0A=
				jQuery.isArray(val) ?=0A=
					jQuery.map( val, function( val, i ) {=0A=
						return { name: elem.name, value: val };=0A=
					}) :=0A=
					{ name: elem.name, value: val };=0A=
		}).get();=0A=
	}=0A=
});=0A=
=0A=
// Attach a bunch of functions for handling common AJAX events=0A=
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess =
ajaxSend".split(" "), function( i, o ) {=0A=
	jQuery.fn[o] =3D function( f ) {=0A=
		return this.bind(o, f);=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
=0A=
	get: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was omited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			type =3D type || callback;=0A=
			callback =3D data;=0A=
			data =3D null;=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "GET",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	getScript: function( url, callback ) {=0A=
		return jQuery.get(url, null, callback, "script");=0A=
	},=0A=
=0A=
	getJSON: function( url, data, callback ) {=0A=
		return jQuery.get(url, data, callback, "json");=0A=
	},=0A=
=0A=
	post: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was omited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			type =3D type || callback;=0A=
			callback =3D data;=0A=
			data =3D {};=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "POST",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	ajaxSetup: function( settings ) {=0A=
		jQuery.extend( jQuery.ajaxSettings, settings );=0A=
	},=0A=
=0A=
	ajaxSettings: {=0A=
		url: location.href,=0A=
		global: true,=0A=
		type: "GET",=0A=
		contentType: "application/x-www-form-urlencoded",=0A=
		processData: true,=0A=
		async: true,=0A=
		/*=0A=
		timeout: 0,=0A=
		data: null,=0A=
		username: null,=0A=
		password: null,=0A=
		traditional: false,=0A=
		*/=0A=
		// Create the request object; Microsoft failed to properly=0A=
		// implement the XMLHttpRequest in IE7 (can't request local files),=0A=
		// so we use the ActiveXObject when it is available=0A=
		// This function can be overriden by calling jQuery.ajaxSetup=0A=
		xhr: window.XMLHttpRequest && (window.location.protocol !=3D=3D =
"file:" || !window.ActiveXObject) ?=0A=
			function() {=0A=
				return new window.XMLHttpRequest();=0A=
			} :=0A=
			function() {=0A=
				try {=0A=
					return new window.ActiveXObject("Microsoft.XMLHTTP");=0A=
				} catch(e) {}=0A=
			},=0A=
		accepts: {=0A=
			xml: "application/xml, text/xml",=0A=
			html: "text/html",=0A=
			script: "text/javascript, application/javascript",=0A=
			json: "application/json, text/javascript",=0A=
			text: "text/plain",=0A=
			_default: "*/*"=0A=
		}=0A=
	},=0A=
=0A=
	// Last-Modified header cache for next request=0A=
	lastModified: {},=0A=
	etag: {},=0A=
=0A=
	ajax: function( origSettings ) {=0A=
		var s =3D jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);=0A=
		=0A=
		var jsonp, status, data,=0A=
			callbackContext =3D origSettings && origSettings.context || s,=0A=
			type =3D s.type.toUpperCase();=0A=
=0A=
		// convert data if not already a string=0A=
		if ( s.data && s.processData && typeof s.data !=3D=3D "string" ) {=0A=
			s.data =3D jQuery.param( s.data, s.traditional );=0A=
		}=0A=
=0A=
		// Handle JSONP Parameter Callbacks=0A=
		if ( s.dataType =3D=3D=3D "jsonp" ) {=0A=
			if ( type =3D=3D=3D "GET" ) {=0A=
				if ( !jsre.test( s.url ) ) {=0A=
					s.url +=3D (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";=0A=
				}=0A=
			} else if ( !s.data || !jsre.test(s.data) ) {=0A=
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";=0A=
			}=0A=
			s.dataType =3D "json";=0A=
		}=0A=
=0A=
		// Build temporary JSONP function=0A=
		if ( s.dataType =3D=3D=3D "json" && (s.data && jsre.test(s.data) || =
jsre.test(s.url)) ) {=0A=
			jsonp =3D s.jsonpCallback || ("jsonp" + jsc++);=0A=
=0A=
			// Replace the =3D? sequence both in the query string and the data=0A=
			if ( s.data ) {=0A=
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");=0A=
			}=0A=
=0A=
			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");=0A=
=0A=
			// We need to make sure=0A=
			// that a JSONP style response is executed properly=0A=
			s.dataType =3D "script";=0A=
=0A=
			// Handle JSONP-style loading=0A=
			window[ jsonp ] =3D window[ jsonp ] || function( tmp ) {=0A=
				data =3D tmp;=0A=
				success();=0A=
				complete();=0A=
				// Garbage collect=0A=
				window[ jsonp ] =3D undefined;=0A=
=0A=
				try {=0A=
					delete window[ jsonp ];=0A=
				} catch(e) {}=0A=
=0A=
				if ( head ) {=0A=
					head.removeChild( script );=0A=
				}=0A=
			};=0A=
		}=0A=
=0A=
		if ( s.dataType =3D=3D=3D "script" && s.cache =3D=3D=3D null ) {=0A=
			s.cache =3D false;=0A=
		}=0A=
=0A=
		if ( s.cache =3D=3D=3D false && type =3D=3D=3D "GET" ) {=0A=
			var ts =3D now();=0A=
=0A=
			// try replacing _=3D if it is there=0A=
			var ret =3D s.url.replace(rts, "$1_=3D" + ts + "$2");=0A=
=0A=
			// if nothing was replaced, add timestamp to the end=0A=
			s.url =3D ret + ((ret =3D=3D=3D s.url) ? (rquery.test(s.url) ? "&" : =
"?") + "_=3D" + ts : "");=0A=
		}=0A=
=0A=
		// If data is available, append data to url for get requests=0A=
		if ( s.data && type =3D=3D=3D "GET" ) {=0A=
			s.url +=3D (rquery.test(s.url) ? "&" : "?") + s.data;=0A=
		}=0A=
=0A=
		// Watch for a new set of requests=0A=
		if ( s.global && ! jQuery.active++ ) {=0A=
			jQuery.event.trigger( "ajaxStart" );=0A=
		}=0A=
=0A=
		// Matches an absolute URL, and saves the domain=0A=
		var parts =3D rurl.exec( s.url ),=0A=
			remote =3D parts && (parts[1] && parts[1] !=3D=3D location.protocol =
|| parts[2] !=3D=3D location.host);=0A=
=0A=
		// If we're requesting a remote document=0A=
		// and trying to load JSON or Script with a GET=0A=
		if ( s.dataType =3D=3D=3D "script" && type =3D=3D=3D "GET" && remote ) =
{=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement;=0A=
			var script =3D document.createElement("script");=0A=
			script.src =3D s.url;=0A=
			if ( s.scriptCharset ) {=0A=
				script.charset =3D s.scriptCharset;=0A=
			}=0A=
=0A=
			// Handle Script loading=0A=
			if ( !jsonp ) {=0A=
				var done =3D false;=0A=
=0A=
				// Attach handlers for all browsers=0A=
				script.onload =3D script.onreadystatechange =3D function() {=0A=
					if ( !done && (!this.readyState ||=0A=
							this.readyState =3D=3D=3D "loaded" || this.readyState =3D=3D=3D =
"complete") ) {=0A=
						done =3D true;=0A=
						success();=0A=
						complete();=0A=
=0A=
						// Handle memory leak in IE=0A=
						script.onload =3D script.onreadystatechange =3D null;=0A=
						if ( head && script.parentNode ) {=0A=
							head.removeChild( script );=0A=
						}=0A=
					}=0A=
				};=0A=
			}=0A=
=0A=
			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709 and #4378).=0A=
			head.insertBefore( script, head.firstChild );=0A=
=0A=
			// We handle everything using the script element injection=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var requestDone =3D false;=0A=
=0A=
		// Create the request object=0A=
		var xhr =3D s.xhr();=0A=
=0A=
		if ( !xhr ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// Open the socket=0A=
		// Passing null username, generates a login popup on Opera (#2865)=0A=
		if ( s.username ) {=0A=
			xhr.open(type, s.url, s.async, s.username, s.password);=0A=
		} else {=0A=
			xhr.open(type, s.url, s.async);=0A=
		}=0A=
=0A=
		// Need an extra try/catch for cross domain requests in Firefox 3=0A=
		try {=0A=
			// Set the correct header, if data is being sent=0A=
			if ( s.data || origSettings && origSettings.contentType ) {=0A=
				xhr.setRequestHeader("Content-Type", s.contentType);=0A=
			}=0A=
=0A=
			// Set the If-Modified-Since and/or If-None-Match header, if in =
ifModified mode.=0A=
			if ( s.ifModified ) {=0A=
				if ( jQuery.lastModified[s.url] ) {=0A=
					xhr.setRequestHeader("If-Modified-Since", =
jQuery.lastModified[s.url]);=0A=
				}=0A=
=0A=
				if ( jQuery.etag[s.url] ) {=0A=
					xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);=0A=
				}=0A=
			}=0A=
=0A=
			// Set header so the called script knows that it's an XMLHttpRequest=0A=
			// Only send the header if it's not a remote XHR=0A=
			if ( !remote ) {=0A=
				xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");=0A=
			}=0A=
=0A=
			// Set the Accepts header for the server, depending on the dataType=0A=
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?=0A=
				s.accepts[ s.dataType ] + ", */*" :=0A=
				s.accepts._default );=0A=
		} catch(e) {}=0A=
=0A=
		// Allow custom headers/mimetypes and early abort=0A=
		if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) =
=3D=3D=3D false ) {=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active ) {=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			}=0A=
=0A=
			// close opended socket=0A=
			xhr.abort();=0A=
			return false;=0A=
		}=0A=
=0A=
		if ( s.global ) {=0A=
			trigger("ajaxSend", [xhr, s]);=0A=
		}=0A=
=0A=
		// Wait for a response to come back=0A=
		var onreadystatechange =3D xhr.onreadystatechange =3D function( =
isTimeout ) {=0A=
			// The request was aborted=0A=
			if ( !xhr || xhr.readyState =3D=3D=3D 0 || isTimeout =3D=3D=3D =
"abort" ) {=0A=
				// Opera doesn't call onreadystatechange before this point=0A=
				// so we simulate the call=0A=
				if ( !requestDone ) {=0A=
					complete();=0A=
				}=0A=
=0A=
				requestDone =3D true;=0A=
				if ( xhr ) {=0A=
					xhr.onreadystatechange =3D jQuery.noop;=0A=
				}=0A=
=0A=
			// The transfer is complete and the data is available, or the request =
timed out=0A=
			} else if ( !requestDone && xhr && (xhr.readyState =3D=3D=3D 4 || =
isTimeout =3D=3D=3D "timeout") ) {=0A=
				requestDone =3D true;=0A=
				xhr.onreadystatechange =3D jQuery.noop;=0A=
=0A=
				status =3D isTimeout =3D=3D=3D "timeout" ?=0A=
					"timeout" :=0A=
					!jQuery.httpSuccess( xhr ) ?=0A=
						"error" :=0A=
						s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?=0A=
							"notmodified" :=0A=
							"success";=0A=
=0A=
				var errMsg;=0A=
=0A=
				if ( status =3D=3D=3D "success" ) {=0A=
					// Watch for, and catch, XML document parse errors=0A=
					try {=0A=
						// process the data (runs the xml through httpData regardless of =
callback)=0A=
						data =3D jQuery.httpData( xhr, s.dataType, s );=0A=
					} catch(err) {=0A=
						status =3D "parsererror";=0A=
						errMsg =3D err;=0A=
					}=0A=
				}=0A=
=0A=
				// Make sure that the request was successful or notmodified=0A=
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) {=0A=
					// JSONP handles its own success callback=0A=
					if ( !jsonp ) {=0A=
						success();=0A=
					}=0A=
				} else {=0A=
					jQuery.handleError(s, xhr, status, errMsg);=0A=
				}=0A=
=0A=
				// Fire the complete handlers=0A=
				complete();=0A=
=0A=
				if ( isTimeout =3D=3D=3D "timeout" ) {=0A=
					xhr.abort();=0A=
				}=0A=
=0A=
				// Stop memory leaks=0A=
				if ( s.async ) {=0A=
					xhr =3D null;=0A=
				}=0A=
			}=0A=
		};=0A=
=0A=
		// Override the abort handler, if we can (IE doesn't allow it, but =
that's OK)=0A=
		// Opera doesn't fire onreadystatechange at all on abort=0A=
		try {=0A=
			var oldAbort =3D xhr.abort;=0A=
			xhr.abort =3D function() {=0A=
				if ( xhr ) {=0A=
					oldAbort.call( xhr );=0A=
				}=0A=
=0A=
				onreadystatechange( "abort" );=0A=
			};=0A=
		} catch(e) { }=0A=
=0A=
		// Timeout checker=0A=
		if ( s.async && s.timeout > 0 ) {=0A=
			setTimeout(function() {=0A=
				// Check to see if the request is still happening=0A=
				if ( xhr && !requestDone ) {=0A=
					onreadystatechange( "timeout" );=0A=
				}=0A=
			}, s.timeout);=0A=
		}=0A=
=0A=
		// Send the data=0A=
		try {=0A=
			xhr.send( type =3D=3D=3D "POST" || type =3D=3D=3D "PUT" || type =
=3D=3D=3D "DELETE" ? s.data : null );=0A=
		} catch(e) {=0A=
			jQuery.handleError(s, xhr, null, e);=0A=
			// Fire the complete handlers=0A=
			complete();=0A=
		}=0A=
=0A=
		// firefox 1.5 doesn't fire statechange for sync requests=0A=
		if ( !s.async ) {=0A=
			onreadystatechange();=0A=
		}=0A=
=0A=
		function success() {=0A=
			// If a local callback was specified, fire it and pass it the data=0A=
			if ( s.success ) {=0A=
				s.success.call( callbackContext, data, status, xhr );=0A=
			}=0A=
=0A=
			// Fire the global callback=0A=
			if ( s.global ) {=0A=
				trigger( "ajaxSuccess", [xhr, s] );=0A=
			}=0A=
		}=0A=
=0A=
		function complete() {=0A=
			// Process result=0A=
			if ( s.complete ) {=0A=
				s.complete.call( callbackContext, xhr, status);=0A=
			}=0A=
=0A=
			// The request was completed=0A=
			if ( s.global ) {=0A=
				trigger( "ajaxComplete", [xhr, s] );=0A=
			}=0A=
=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active ) {=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			}=0A=
		}=0A=
		=0A=
		function trigger(type, args) {=0A=
			(s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);=0A=
		}=0A=
=0A=
		// return XMLHttpRequest to allow aborting the request etc.=0A=
		return xhr;=0A=
	},=0A=
=0A=
	handleError: function( s, xhr, status, e ) {=0A=
		// If a local callback was specified, fire it=0A=
		if ( s.error ) {=0A=
			s.error.call( s.context || s, xhr, status, e );=0A=
		}=0A=
=0A=
		// Fire the global callback=0A=
		if ( s.global ) {=0A=
			(s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", =
[xhr, s, e] );=0A=
		}=0A=
	},=0A=
=0A=
	// Counter for holding the number of active queries=0A=
	active: 0,=0A=
=0A=
	// Determines if an XMLHttpRequest was successful or not=0A=
	httpSuccess: function( xhr ) {=0A=
		try {=0A=
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450=0A=
			return !xhr.status && location.protocol =3D=3D=3D "file:" ||=0A=
				// Opera returns 0 when status is 304=0A=
				( xhr.status >=3D 200 && xhr.status < 300 ) ||=0A=
				xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 1223 || xhr.status =
=3D=3D=3D 0;=0A=
		} catch(e) {}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	// Determines if an XMLHttpRequest returns NotModified=0A=
	httpNotModified: function( xhr, url ) {=0A=
		var lastModified =3D xhr.getResponseHeader("Last-Modified"),=0A=
			etag =3D xhr.getResponseHeader("Etag");=0A=
=0A=
		if ( lastModified ) {=0A=
			jQuery.lastModified[url] =3D lastModified;=0A=
		}=0A=
=0A=
		if ( etag ) {=0A=
			jQuery.etag[url] =3D etag;=0A=
		}=0A=
=0A=
		// Opera returns 0 when status is 304=0A=
		return xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 0;=0A=
	},=0A=
=0A=
	httpData: function( xhr, type, s ) {=0A=
		var ct =3D xhr.getResponseHeader("content-type") || "",=0A=
			xml =3D type =3D=3D=3D "xml" || !type && ct.indexOf("xml") >=3D 0,=0A=
			data =3D xml ? xhr.responseXML : xhr.responseText;=0A=
=0A=
		if ( xml && data.documentElement.nodeName =3D=3D=3D "parsererror" ) {=0A=
			jQuery.error( "parsererror" );=0A=
		}=0A=
=0A=
		// Allow a pre-filtering function to sanitize the response=0A=
		// s is checked to keep backwards compatibility=0A=
		if ( s && s.dataFilter ) {=0A=
			data =3D s.dataFilter( data, type );=0A=
		}=0A=
=0A=
		// The filter can actually parse the response=0A=
		if ( typeof data =3D=3D=3D "string" ) {=0A=
			// Get the JavaScript object, if JSON is used.=0A=
			if ( type =3D=3D=3D "json" || !type && ct.indexOf("json") >=3D 0 ) {=0A=
				data =3D jQuery.parseJSON( data );=0A=
=0A=
			// If the type is "script", eval it in global context=0A=
			} else if ( type =3D=3D=3D "script" || !type && =
ct.indexOf("javascript") >=3D 0 ) {=0A=
				jQuery.globalEval( data );=0A=
			}=0A=
		}=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	// Serialize an array of form elements or a set of=0A=
	// key/values into a query string=0A=
	param: function( a, traditional ) {=0A=
		var s =3D [];=0A=
		=0A=
		// Set traditional to true for jQuery <=3D 1.3.2 behavior.=0A=
		if ( traditional =3D=3D=3D undefined ) {=0A=
			traditional =3D jQuery.ajaxSettings.traditional;=0A=
		}=0A=
		=0A=
		// If an array was passed in, assume that it is an array of form =
elements.=0A=
		if ( jQuery.isArray(a) || a.jquery ) {=0A=
			// Serialize the form elements=0A=
			jQuery.each( a, function() {=0A=
				add( this.name, this.value );=0A=
			});=0A=
			=0A=
		} else {=0A=
			// If traditional, encode the "old" way (the way 1.3.2 or older=0A=
			// did it), otherwise encode params recursively.=0A=
			for ( var prefix in a ) {=0A=
				buildParams( prefix, a[prefix] );=0A=
			}=0A=
		}=0A=
=0A=
		// Return the resulting serialization=0A=
		return s.join("&").replace(r20, "+");=0A=
=0A=
		function buildParams( prefix, obj ) {=0A=
			if ( jQuery.isArray(obj) ) {=0A=
				// Serialize array item.=0A=
				jQuery.each( obj, function( i, v ) {=0A=
					if ( traditional ) {=0A=
						// Treat each array item as a scalar.=0A=
						add( prefix, v );=0A=
					} else {=0A=
						// If array item is non-scalar (array or object), encode its=0A=
						// numeric index to resolve deserialization ambiguity issues.=0A=
						// Note that rack (as of 1.0.0) can't currently deserialize=0A=
						// nested arrays properly, and attempting to do so may cause=0A=
						// a server error. Possible fixes are to modify rack's=0A=
						// deserialization algorithm or to provide an option or flag=0A=
						// to force array serialization to be shallow.=0A=
						buildParams( prefix + "[" + ( typeof v =3D=3D=3D "object" || =
jQuery.isArray(v) ? i : "" ) + "]", v );=0A=
					}=0A=
				});=0A=
					=0A=
			} else if ( !traditional && obj !=3D null && typeof obj =3D=3D=3D =
"object" ) {=0A=
				// Serialize object item.=0A=
				jQuery.each( obj, function( k, v ) {=0A=
					buildParams( prefix + "[" + k + "]", v );=0A=
				});=0A=
					=0A=
			} else {=0A=
				// Serialize scalar item.=0A=
				add( prefix, obj );=0A=
			}=0A=
		}=0A=
=0A=
		function add( key, value ) {=0A=
			// If value is a function, invoke it and return its value=0A=
			value =3D jQuery.isFunction(value) ? value() : value;=0A=
			s[ s.length ] =3D encodeURIComponent(key) + "=3D" + =
encodeURIComponent(value);=0A=
		}=0A=
	}=0A=
});=0A=
var elemdisplay =3D {},=0A=
	rfxtypes =3D /toggle|show|hide/,=0A=
	rfxnum =3D /^([+-]=3D)?([\d+-.]+)(.*)$/,=0A=
	timerId,=0A=
	fxAttrs =3D [=0A=
		// height animations=0A=
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" =
],=0A=
		// width animations=0A=
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" =
],=0A=
		// opacity animations=0A=
		[ "opacity" ]=0A=
	];=0A=
=0A=
jQuery.fn.extend({=0A=
	show: function( speed, callback ) {=0A=
		if ( speed || speed =3D=3D=3D 0) {=0A=
			return this.animate( genFx("show", 3), speed, callback);=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
=0A=
				this[i].style.display =3D old || "";=0A=
=0A=
				if ( jQuery.css(this[i], "display") =3D=3D=3D "none" ) {=0A=
					var nodeName =3D this[i].nodeName, display;=0A=
=0A=
					if ( elemdisplay[ nodeName ] ) {=0A=
						display =3D elemdisplay[ nodeName ];=0A=
=0A=
					} else {=0A=
						var elem =3D jQuery("<" + nodeName + " />").appendTo("body");=0A=
=0A=
						display =3D elem.css("display");=0A=
=0A=
						if ( display =3D=3D=3D "none" ) {=0A=
							display =3D "block";=0A=
						}=0A=
=0A=
						elem.remove();=0A=
=0A=
						elemdisplay[ nodeName ] =3D display;=0A=
					}=0A=
=0A=
					jQuery.data(this[i], "olddisplay", display);=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {=0A=
				this[j].style.display =3D jQuery.data(this[j], "olddisplay") || "";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	hide: function( speed, callback ) {=0A=
		if ( speed || speed =3D=3D=3D 0 ) {=0A=
			return this.animate( genFx("hide", 3), speed, callback);=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
				if ( !old && old !=3D=3D "none" ) {=0A=
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {=0A=
				this[j].style.display =3D "none";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	// Save the old toggle function=0A=
	_toggle: jQuery.fn.toggle,=0A=
=0A=
	toggle: function( fn, fn2 ) {=0A=
		var bool =3D typeof fn =3D=3D=3D "boolean";=0A=
=0A=
		if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {=0A=
			this._toggle.apply( this, arguments );=0A=
=0A=
		} else if ( fn =3D=3D null || bool ) {=0A=
			this.each(function() {=0A=
				var state =3D bool ? fn : jQuery(this).is(":hidden");=0A=
				jQuery(this)[ state ? "show" : "hide" ]();=0A=
			});=0A=
=0A=
		} else {=0A=
			this.animate(genFx("toggle", 3), fn, fn2);=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	fadeTo: function( speed, to, callback ) {=0A=
		return this.filter(":hidden").css("opacity", 0).show().end()=0A=
					.animate({opacity: to}, speed, callback);=0A=
	},=0A=
=0A=
	animate: function( prop, speed, easing, callback ) {=0A=
		var optall =3D jQuery.speed(speed, easing, callback);=0A=
=0A=
		if ( jQuery.isEmptyObject( prop ) ) {=0A=
			return this.each( optall.complete );=0A=
		}=0A=
=0A=
		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function() {=0A=
			var opt =3D jQuery.extend({}, optall), p,=0A=
				hidden =3D this.nodeType =3D=3D=3D 1 && jQuery(this).is(":hidden"),=0A=
				self =3D this;=0A=
=0A=
			for ( p in prop ) {=0A=
				var name =3D p.replace(rdashAlpha, fcamelCase);=0A=
=0A=
				if ( p !=3D=3D name ) {=0A=
					prop[ name ] =3D prop[ p ];=0A=
					delete prop[ p ];=0A=
					p =3D name;=0A=
				}=0A=
=0A=
				if ( prop[p] =3D=3D=3D "hide" && hidden || prop[p] =3D=3D=3D "show" =
&& !hidden ) {=0A=
					return opt.complete.call(this);=0A=
				}=0A=
=0A=
				if ( ( p =3D=3D=3D "height" || p =3D=3D=3D "width" ) && this.style ) =
{=0A=
					// Store display property=0A=
					opt.display =3D jQuery.css(this, "display");=0A=
=0A=
					// Make sure that nothing sneaks out=0A=
					opt.overflow =3D this.style.overflow;=0A=
				}=0A=
=0A=
				if ( jQuery.isArray( prop[p] ) ) {=0A=
					// Create (if needed) and add to specialEasing=0A=
					(opt.specialEasing =3D opt.specialEasing || {})[p] =3D prop[p][1];=0A=
					prop[p] =3D prop[p][0];=0A=
				}=0A=
			}=0A=
=0A=
			if ( opt.overflow !=3D null ) {=0A=
				this.style.overflow =3D "hidden";=0A=
			}=0A=
=0A=
			opt.curAnim =3D jQuery.extend({}, prop);=0A=
=0A=
			jQuery.each( prop, function( name, val ) {=0A=
				var e =3D new jQuery.fx( self, opt, name );=0A=
=0A=
				if ( rfxtypes.test(val) ) {=0A=
					e[ val =3D=3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop =
);=0A=
=0A=
				} else {=0A=
					var parts =3D rfxnum.exec(val),=0A=
						start =3D e.cur(true) || 0;=0A=
=0A=
					if ( parts ) {=0A=
						var end =3D parseFloat( parts[2] ),=0A=
							unit =3D parts[3] || "px";=0A=
=0A=
						// We need to compute starting value=0A=
						if ( unit !=3D=3D "px" ) {=0A=
							self.style[ name ] =3D (end || 1) + unit;=0A=
							start =3D ((end || 1) / e.cur(true)) * start;=0A=
							self.style[ name ] =3D start + unit;=0A=
						}=0A=
=0A=
						// If a +=3D/-=3D token was provided, we're doing a relative =
animation=0A=
						if ( parts[1] ) {=0A=
							end =3D ((parts[1] =3D=3D=3D "-=3D" ? -1 : 1) * end) + start;=0A=
						}=0A=
=0A=
						e.custom( start, end, unit );=0A=
=0A=
					} else {=0A=
						e.custom( start, val, "" );=0A=
					}=0A=
				}=0A=
			});=0A=
=0A=
			// For JS strict compliance=0A=
			return true;=0A=
		});=0A=
	},=0A=
=0A=
	stop: function( clearQueue, gotoEnd ) {=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		if ( clearQueue ) {=0A=
			this.queue([]);=0A=
		}=0A=
=0A=
		this.each(function() {=0A=
			// go in reverse order so anything added to the queue during the loop =
is ignored=0A=
			for ( var i =3D timers.length - 1; i >=3D 0; i-- ) {=0A=
				if ( timers[i].elem =3D=3D=3D this ) {=0A=
					if (gotoEnd) {=0A=
						// force the next step to be the last=0A=
						timers[i](true);=0A=
					}=0A=
=0A=
					timers.splice(i, 1);=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		// start the next in the queue if the last step wasn't forced=0A=
		if ( !gotoEnd ) {=0A=
			this.dequeue();=0A=
		}=0A=
=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
// Generate shortcuts for custom animations=0A=
jQuery.each({=0A=
	slideDown: genFx("show", 1),=0A=
	slideUp: genFx("hide", 1),=0A=
	slideToggle: genFx("toggle", 1),=0A=
	fadeIn: { opacity: "show" },=0A=
	fadeOut: { opacity: "hide" }=0A=
}, function( name, props ) {=0A=
	jQuery.fn[ name ] =3D function( speed, callback ) {=0A=
		return this.animate( props, speed, callback );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	speed: function( speed, easing, fn ) {=0A=
		var opt =3D speed && typeof speed =3D=3D=3D "object" ? speed : {=0A=
			complete: fn || !fn && easing ||=0A=
				jQuery.isFunction( speed ) && speed,=0A=
			duration: speed,=0A=
			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing=0A=
		};=0A=
=0A=
		opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =3D=3D=3D =
"number" ? opt.duration :=0A=
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;=0A=
=0A=
		// Queueing=0A=
		opt.old =3D opt.complete;=0A=
		opt.complete =3D function() {=0A=
			if ( opt.queue !=3D=3D false ) {=0A=
				jQuery(this).dequeue();=0A=
			}=0A=
			if ( jQuery.isFunction( opt.old ) ) {=0A=
				opt.old.call( this );=0A=
			}=0A=
		};=0A=
=0A=
		return opt;=0A=
	},=0A=
=0A=
	easing: {=0A=
		linear: function( p, n, firstNum, diff ) {=0A=
			return firstNum + diff * p;=0A=
		},=0A=
		swing: function( p, n, firstNum, diff ) {=0A=
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;=0A=
		}=0A=
	},=0A=
=0A=
	timers: [],=0A=
=0A=
	fx: function( elem, options, prop ) {=0A=
		this.options =3D options;=0A=
		this.elem =3D elem;=0A=
		this.prop =3D prop;=0A=
=0A=
		if ( !options.orig ) {=0A=
			options.orig =3D {};=0A=
		}=0A=
	}=0A=
=0A=
});=0A=
=0A=
jQuery.fx.prototype =3D {=0A=
	// Simple function for setting a style value=0A=
	update: function() {=0A=
		if ( this.options.step ) {=0A=
			this.options.step.call( this.elem, this.now, this );=0A=
		}=0A=
=0A=
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );=0A=
=0A=
		// Set display property to block for height/width animations=0A=
		if ( ( this.prop =3D=3D=3D "height" || this.prop =3D=3D=3D "width" ) =
&& this.elem.style ) {=0A=
			this.elem.style.display =3D "block";=0A=
		}=0A=
	},=0A=
=0A=
	// Get the current size=0A=
	cur: function( force ) {=0A=
		if ( this.elem[this.prop] !=3D null && (!this.elem.style || =
this.elem.style[this.prop] =3D=3D null) ) {=0A=
			return this.elem[ this.prop ];=0A=
		}=0A=
=0A=
		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));=0A=
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;=0A=
	},=0A=
=0A=
	// Start an animation from one number to another=0A=
	custom: function( from, to, unit ) {=0A=
		this.startTime =3D now();=0A=
		this.start =3D from;=0A=
		this.end =3D to;=0A=
		this.unit =3D unit || this.unit || "px";=0A=
		this.now =3D this.start;=0A=
		this.pos =3D this.state =3D 0;=0A=
=0A=
		var self =3D this;=0A=
		function t( gotoEnd ) {=0A=
			return self.step(gotoEnd);=0A=
		}=0A=
=0A=
		t.elem =3D this.elem;=0A=
=0A=
		if ( t() && jQuery.timers.push(t) && !timerId ) {=0A=
			timerId =3D setInterval(jQuery.fx.tick, 13);=0A=
		}=0A=
	},=0A=
=0A=
	// Simple 'show' function=0A=
	show: function() {=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );=0A=
		this.options.show =3D true;=0A=
=0A=
		// Begin the animation=0A=
		// Make sure that we start at a small width/height to avoid any=0A=
		// flash of content=0A=
		this.custom(this.prop =3D=3D=3D "width" || this.prop =3D=3D=3D =
"height" ? 1 : 0, this.cur());=0A=
=0A=
		// Start by showing the element=0A=
		jQuery( this.elem ).show();=0A=
	},=0A=
=0A=
	// Simple 'hide' function=0A=
	hide: function() {=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );=0A=
		this.options.hide =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(this.cur(), 0);=0A=
	},=0A=
=0A=
	// Each step of an animation=0A=
	step: function( gotoEnd ) {=0A=
		var t =3D now(), done =3D true;=0A=
=0A=
		if ( gotoEnd || t >=3D this.options.duration + this.startTime ) {=0A=
			this.now =3D this.end;=0A=
			this.pos =3D this.state =3D 1;=0A=
			this.update();=0A=
=0A=
			this.options.curAnim[ this.prop ] =3D true;=0A=
=0A=
			for ( var i in this.options.curAnim ) {=0A=
				if ( this.options.curAnim[i] !=3D=3D true ) {=0A=
					done =3D false;=0A=
				}=0A=
			}=0A=
=0A=
			if ( done ) {=0A=
				if ( this.options.display !=3D null ) {=0A=
					// Reset the overflow=0A=
					this.elem.style.overflow =3D this.options.overflow;=0A=
=0A=
					// Reset the display=0A=
					var old =3D jQuery.data(this.elem, "olddisplay");=0A=
					this.elem.style.display =3D old ? old : this.options.display;=0A=
=0A=
					if ( jQuery.css(this.elem, "display") =3D=3D=3D "none" ) {=0A=
						this.elem.style.display =3D "block";=0A=
					}=0A=
				}=0A=
=0A=
				// Hide the element if the "hide" operation was done=0A=
				if ( this.options.hide ) {=0A=
					jQuery(this.elem).hide();=0A=
				}=0A=
=0A=
				// Reset the properties, if the item has been hidden or shown=0A=
				if ( this.options.hide || this.options.show ) {=0A=
					for ( var p in this.options.curAnim ) {=0A=
						jQuery.style(this.elem, p, this.options.orig[p]);=0A=
					}=0A=
				}=0A=
=0A=
				// Execute the complete function=0A=
				this.options.complete.call( this.elem );=0A=
			}=0A=
=0A=
			return false;=0A=
=0A=
		} else {=0A=
			var n =3D t - this.startTime;=0A=
			this.state =3D n / this.options.duration;=0A=
=0A=
			// Perform the easing function, defaults to swing=0A=
			var specialEasing =3D this.options.specialEasing && =
this.options.specialEasing[this.prop];=0A=
			var defaultEasing =3D this.options.easing || (jQuery.easing.swing ? =
"swing" : "linear");=0A=
			this.pos =3D jQuery.easing[specialEasing || =
defaultEasing](this.state, n, 0, 1, this.options.duration);=0A=
			this.now =3D this.start + ((this.end - this.start) * this.pos);=0A=
=0A=
			// Perform the next step of the animation=0A=
			this.update();=0A=
		}=0A=
=0A=
		return true;=0A=
	}=0A=
};=0A=
=0A=
jQuery.extend( jQuery.fx, {=0A=
	tick: function() {=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		for ( var i =3D 0; i < timers.length; i++ ) {=0A=
			if ( !timers[i]() ) {=0A=
				timers.splice(i--, 1);=0A=
			}=0A=
		}=0A=
=0A=
		if ( !timers.length ) {=0A=
			jQuery.fx.stop();=0A=
		}=0A=
	},=0A=
		=0A=
	stop: function() {=0A=
		clearInterval( timerId );=0A=
		timerId =3D null;=0A=
	},=0A=
	=0A=
	speeds: {=0A=
		slow: 600,=0A=
 		fast: 200,=0A=
 		// Default speed=0A=
 		_default: 400=0A=
	},=0A=
=0A=
	step: {=0A=
		opacity: function( fx ) {=0A=
			jQuery.style(fx.elem, "opacity", fx.now);=0A=
		},=0A=
=0A=
		_default: function( fx ) {=0A=
			if ( fx.elem.style && fx.elem.style[ fx.prop ] !=3D null ) {=0A=
				fx.elem.style[ fx.prop ] =3D (fx.prop =3D=3D=3D "width" || fx.prop =
=3D=3D=3D "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;=0A=
			} else {=0A=
				fx.elem[ fx.prop ] =3D fx.now;=0A=
			}=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
if ( jQuery.expr && jQuery.expr.filters ) {=0A=
	jQuery.expr.filters.animated =3D function( elem ) {=0A=
		return jQuery.grep(jQuery.timers, function( fn ) {=0A=
			return elem =3D=3D=3D fn.elem;=0A=
		}).length;=0A=
	};=0A=
}=0A=
=0A=
function genFx( type, num ) {=0A=
	var obj =3D {};=0A=
=0A=
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() =
{=0A=
		obj[ this ] =3D type;=0A=
	});=0A=
=0A=
	return obj;=0A=
}=0A=
if ( "getBoundingClientRect" in document.documentElement ) {=0A=
	jQuery.fn.offset =3D function( options ) {=0A=
		var elem =3D this[0];=0A=
=0A=
		if ( options ) { =0A=
			return this.each(function( i ) {=0A=
				jQuery.offset.setOffset( this, options, i );=0A=
			});=0A=
		}=0A=
=0A=
		if ( !elem || !elem.ownerDocument ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( elem =3D=3D=3D elem.ownerDocument.body ) {=0A=
			return jQuery.offset.bodyOffset( elem );=0A=
		}=0A=
=0A=
		var box =3D elem.getBoundingClientRect(), doc =3D elem.ownerDocument, =
body =3D doc.body, docElem =3D doc.documentElement,=0A=
			clientTop =3D docElem.clientTop || body.clientTop || 0, clientLeft =
=3D docElem.clientLeft || body.clientLeft || 0,=0A=
			top  =3D box.top  + (self.pageYOffset || jQuery.support.boxModel && =
docElem.scrollTop  || body.scrollTop ) - clientTop,=0A=
			left =3D box.left + (self.pageXOffset || jQuery.support.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
=0A=
} else {=0A=
	jQuery.fn.offset =3D function( options ) {=0A=
		var elem =3D this[0];=0A=
=0A=
		if ( options ) { =0A=
			return this.each(function( i ) {=0A=
				jQuery.offset.setOffset( this, options, i );=0A=
			});=0A=
		}=0A=
=0A=
		if ( !elem || !elem.ownerDocument ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( elem =3D=3D=3D elem.ownerDocument.body ) {=0A=
			return jQuery.offset.bodyOffset( elem );=0A=
		}=0A=
=0A=
		jQuery.offset.initialize();=0A=
=0A=
		var offsetParent =3D elem.offsetParent, prevOffsetParent =3D elem,=0A=
			doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,=0A=
			body =3D doc.body, defaultView =3D doc.defaultView,=0A=
			prevComputedStyle =3D defaultView ? defaultView.getComputedStyle( =
elem, null ) : elem.currentStyle,=0A=
			top =3D elem.offsetTop, left =3D elem.offsetLeft;=0A=
=0A=
		while ( (elem =3D elem.parentNode) && elem !=3D=3D body && elem =
!=3D=3D docElem ) {=0A=
			if ( jQuery.offset.supportsFixedPosition && =
prevComputedStyle.position =3D=3D=3D "fixed" ) {=0A=
				break;=0A=
			}=0A=
=0A=
			computedStyle =3D defaultView ? defaultView.getComputedStyle(elem, =
null) : elem.currentStyle;=0A=
			top  -=3D elem.scrollTop;=0A=
			left -=3D elem.scrollLeft;=0A=
=0A=
			if ( elem =3D=3D=3D offsetParent ) {=0A=
				top  +=3D elem.offsetTop;=0A=
				left +=3D elem.offsetLeft;=0A=
=0A=
				if ( jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.nodeName)) ) {=0A=
					top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;=0A=
					left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;=0A=
				}=0A=
=0A=
				prevOffsetParent =3D offsetParent, offsetParent =3D =
elem.offsetParent;=0A=
			}=0A=
=0A=
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible" ) {=0A=
				top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;=0A=
				left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;=0A=
			}=0A=
=0A=
			prevComputedStyle =3D computedStyle;=0A=
		}=0A=
=0A=
		if ( prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static" ) {=0A=
			top  +=3D body.offsetTop;=0A=
			left +=3D body.offsetLeft;=0A=
		}=0A=
=0A=
		if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position =
=3D=3D=3D "fixed" ) {=0A=
			top  +=3D Math.max( docElem.scrollTop, body.scrollTop );=0A=
			left +=3D Math.max( docElem.scrollLeft, body.scrollLeft );=0A=
		}=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
}=0A=
=0A=
jQuery.offset =3D {=0A=
	initialize: function() {=0A=
		var body =3D document.body, container =3D =
document.createElement("div"), innerDiv, checkDiv, table, td, =
bodyMarginTop =3D parseFloat( jQuery.curCSS(body, "marginTop", true) ) =
|| 0,=0A=
			html =3D "<div =
style=3D'position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;'><div></div></div><table =
style=3D'position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;' cellpadding=3D'0' =
cellspacing=3D'0'><tr><td></td></tr></table>";=0A=
=0A=
		jQuery.extend( container.style, { position: "absolute", top: 0, left: =
0, margin: 0, border: 0, width: "1px", height: "1px", visibility: =
"hidden" } );=0A=
=0A=
		container.innerHTML =3D html;=0A=
		body.insertBefore( container, body.firstChild );=0A=
		innerDiv =3D container.firstChild;=0A=
		checkDiv =3D innerDiv.firstChild;=0A=
		td =3D innerDiv.nextSibling.firstChild.firstChild;=0A=
=0A=
		this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D 5);=0A=
		this.doesAddBorderForTableAndCells =3D (td.offsetTop =3D=3D=3D 5);=0A=
=0A=
		checkDiv.style.position =3D "fixed", checkDiv.style.top =3D "20px";=0A=
		// safari subtracts parent border width here which is 5px=0A=
		this.supportsFixedPosition =3D (checkDiv.offsetTop =3D=3D=3D 20 || =
checkDiv.offsetTop =3D=3D=3D 15);=0A=
		checkDiv.style.position =3D checkDiv.style.top =3D "";=0A=
=0A=
		innerDiv.style.overflow =3D "hidden", innerDiv.style.position =3D =
"relative";=0A=
		this.subtractsBorderForOverflowNotVisible =3D (checkDiv.offsetTop =
=3D=3D=3D -5);=0A=
=0A=
		this.doesNotIncludeMarginInBodyOffset =3D (body.offsetTop !=3D=3D =
bodyMarginTop);=0A=
=0A=
		body.removeChild( container );=0A=
		body =3D container =3D innerDiv =3D checkDiv =3D table =3D td =3D null;=0A=
		jQuery.offset.initialize =3D jQuery.noop;=0A=
	},=0A=
=0A=
	bodyOffset: function( body ) {=0A=
		var top =3D body.offsetTop, left =3D body.offsetLeft;=0A=
=0A=
		jQuery.offset.initialize();=0A=
=0A=
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {=0A=
			top  +=3D parseFloat( jQuery.curCSS(body, "marginTop",  true) ) || 0;=0A=
			left +=3D parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;=0A=
		}=0A=
=0A=
		return { top: top, left: left };=0A=
	},=0A=
	=0A=
	setOffset: function( elem, options, i ) {=0A=
		// set position first, in-case top/left are set even on static elem=0A=
		if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {=0A=
			elem.style.position =3D "relative";=0A=
		}=0A=
		var curElem   =3D jQuery( elem ),=0A=
			curOffset =3D curElem.offset(),=0A=
			curTop    =3D parseInt( jQuery.curCSS( elem, "top",  true ), 10 ) || =
0,=0A=
			curLeft   =3D parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || =
0;=0A=
=0A=
		if ( jQuery.isFunction( options ) ) {=0A=
			options =3D options.call( elem, i, curOffset );=0A=
		}=0A=
=0A=
		var props =3D {=0A=
			top:  (options.top  - curOffset.top)  + curTop,=0A=
			left: (options.left - curOffset.left) + curLeft=0A=
		};=0A=
		=0A=
		if ( "using" in options ) {=0A=
			options.using.call( elem, props );=0A=
		} else {=0A=
			curElem.css( props );=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
=0A=
jQuery.fn.extend({=0A=
	position: function() {=0A=
		if ( !this[0] ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		var elem =3D this[0],=0A=
=0A=
		// Get *real* offsetParent=0A=
		offsetParent =3D this.offsetParent(),=0A=
=0A=
		// Get correct offsets=0A=
		offset       =3D this.offset(),=0A=
		parentOffset =3D /^body|html$/i.test(offsetParent[0].nodeName) ? { =
top: 0, left: 0 } : offsetParent.offset();=0A=
=0A=
		// Subtract element margins=0A=
		// note: when an element has margin: auto the offsetLeft and marginLeft=0A=
		// are the same in Safari causing offset.left to incorrectly be 0=0A=
		offset.top  -=3D parseFloat( jQuery.curCSS(elem, "marginTop",  true) ) =
|| 0;=0A=
		offset.left -=3D parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) =
|| 0;=0A=
=0A=
		// Add offsetParent borders=0A=
		parentOffset.top  +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderTopWidth",  true) ) || 0;=0A=
		parentOffset.left +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderLeftWidth", true) ) || 0;=0A=
=0A=
		// Subtract the two offsets=0A=
		return {=0A=
			top:  offset.top  - parentOffset.top,=0A=
			left: offset.left - parentOffset.left=0A=
		};=0A=
	},=0A=
=0A=
	offsetParent: function() {=0A=
		return this.map(function() {=0A=
			var offsetParent =3D this.offsetParent || document.body;=0A=
			while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) =
&& jQuery.css(offsetParent, "position") =3D=3D=3D "static") ) {=0A=
				offsetParent =3D offsetParent.offsetParent;=0A=
			}=0A=
			return offsetParent;=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
=0A=
// Create scrollLeft and scrollTop methods=0A=
jQuery.each( ["Left", "Top"], function( i, name ) {=0A=
	var method =3D "scroll" + name;=0A=
=0A=
	jQuery.fn[ method ] =3D function(val) {=0A=
		var elem =3D this[0], win;=0A=
		=0A=
		if ( !elem ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( val !=3D=3D undefined ) {=0A=
			// Set the scroll offset=0A=
			return this.each(function() {=0A=
				win =3D getWindow( this );=0A=
=0A=
				if ( win ) {=0A=
					win.scrollTo(=0A=
						!i ? val : jQuery(win).scrollLeft(),=0A=
						 i ? val : jQuery(win).scrollTop()=0A=
					);=0A=
=0A=
				} else {=0A=
					this[ method ] =3D val;=0A=
				}=0A=
			});=0A=
		} else {=0A=
			win =3D getWindow( elem );=0A=
=0A=
			// Return the scroll offset=0A=
			return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : =
"pageXOffset" ] :=0A=
				jQuery.support.boxModel && win.document.documentElement[ method ] ||=0A=
					win.document.body[ method ] :=0A=
				elem[ method ];=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
function getWindow( elem ) {=0A=
	return ("scrollTo" in elem && elem.document) ?=0A=
		elem :=0A=
		elem.nodeType =3D=3D=3D 9 ?=0A=
			elem.defaultView || elem.parentWindow :=0A=
			false;=0A=
}=0A=
// Create innerHeight, innerWidth, outerHeight and outerWidth methods=0A=
jQuery.each([ "Height", "Width" ], function( i, name ) {=0A=
=0A=
	var type =3D name.toLowerCase();=0A=
=0A=
	// innerHeight and innerWidth=0A=
	jQuery.fn["inner" + name] =3D function() {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], type, false, "padding" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	// outerHeight and outerWidth=0A=
	jQuery.fn["outer" + name] =3D function( margin ) {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	jQuery.fn[ type ] =3D function( size ) {=0A=
		// Get window width or height=0A=
		var elem =3D this[0];=0A=
		if ( !elem ) {=0A=
			return size =3D=3D null ? null : this;=0A=
		}=0A=
		=0A=
		if ( jQuery.isFunction( size ) ) {=0A=
			return this.each(function( i ) {=0A=
				var self =3D jQuery( this );=0A=
				self[ type ]( size.call( this, i, self[ type ]() ) );=0A=
			});=0A=
		}=0A=
=0A=
		return ("scrollTo" in elem && elem.document) ? // does it walk and =
quack like a window?=0A=
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode=0A=
			elem.document.compatMode =3D=3D=3D "CSS1Compat" && =
elem.document.documentElement[ "client" + name ] ||=0A=
			elem.document.body[ "client" + name ] :=0A=
=0A=
			// Get document width or height=0A=
			(elem.nodeType =3D=3D=3D 9) ? // is it a document=0A=
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater=0A=
				Math.max(=0A=
					elem.documentElement["client" + name],=0A=
					elem.body["scroll" + name], elem.documentElement["scroll" + name],=0A=
					elem.body["offset" + name], elem.documentElement["offset" + name]=0A=
				) :=0A=
=0A=
				// Get or set width or height on the element=0A=
				size =3D=3D=3D undefined ?=0A=
					// Get width or height on the element=0A=
					jQuery.css( elem, type ) :=0A=
=0A=
					// Set the width or height on the element (default to pixels if =
value is unitless)=0A=
					this.css( type, typeof size =3D=3D=3D "string" ? size : size + "px" =
);=0A=
	};=0A=
=0A=
});=0A=
// Expose jQuery to the global object=0A=
window.jQuery =3D window.$ =3D jQuery;=0A=
=0A=
})(window);=0A=

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/js/jquery.jqplugin.js

/*=0A=
*jQuery browser plugin detection 1.0.2=0A=
* http://plugins.jquery.com/project/jqplugin=0A=
* Checks for plugins / mimetypes supported in the browser extending the =
jQuery.browser object=0A=
* Copyright (c) 2008 Leonardo Rossetti motw.leo@gmail.com=0A=
* MIT License: http://www.opensource.org/licenses/mit-license.php=0A=
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, =
EXPRESS OR=0A=
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF =
MERCHANTABILITY,=0A=
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT =
SHALL THE=0A=
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER=0A=
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, =
ARISING FROM,=0A=
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS =
IN=0A=
  THE SOFTWARE.=0A=
*/=0A=
(function ($) {=0A=
	//checks if browser object exists=0A=
	if (typeof $.browser =3D=3D=3D "undefined" || !$.browser) {=0A=
		var browser =3D {};=0A=
		$.extend(browser);=0A=
	}=0A=
	var pluginList =3D {=0A=
		flash: {=0A=
			activex: "ShockwaveFlash.ShockwaveFlash",=0A=
			plugin: /flash/gim=0A=
		},=0A=
		sl: {=0A=
			activex: ["AgControl.AgControl"],=0A=
			plugin: /silverlight/gim=0A=
		},=0A=
		pdf: {=0A=
			activex: "PDF.PdfCtrl",=0A=
			plugin: /adobe\s?acrobat/gim=0A=
		},=0A=
		qtime: {=0A=
			activex: "QuickTime.QuickTime",=0A=
			plugin: /quicktime/gim=0A=
		},=0A=
		wmp: {=0A=
			activex: "WMPlayer.OCX",=0A=
			plugin: /(windows\smedia)|(Microsoft)/gim=0A=
		},=0A=
		shk: {=0A=
			activex: "SWCtl.SWCtl",=0A=
			plugin: /shockwave/gim=0A=
		},=0A=
		rp: {=0A=
			activex: "RealPlayer",=0A=
			plugin: /realplayer/gim=0A=
		},=0A=
		java: {=0A=
			activex: navigator.javaEnabled(),=0A=
			plugin: /java/gim=0A=
		}=0A=
	};=0A=
	var isSupported =3D function (p) {=0A=
		if (window.ActiveXObject) {=0A=
			try {=0A=
				new ActiveXObject(pluginList[p].activex);=0A=
				$.browser[p] =3D true;=0A=
			} catch (e) {=0A=
				$.browser[p] =3D false;=0A=
			}=0A=
		} else {=0A=
			$.each(navigator.plugins, function () {=0A=
				if (this.name.match(pluginList[p].plugin)) {=0A=
					$.browser[p] =3D true;=0A=
					return false;=0A=
				} else {=0A=
					$.browser[p] =3D false;=0A=
				}=0A=
			});=0A=
		}=0A=
	};=0A=
	=0A=
	$.each(pluginList, function (i, n) {=0A=
		isSupported(i);=0A=
	});=0A=
})(jQuery);
------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/js/jquery.floatobject-1.4.js

(function($){
/*-----------------------------------------------------------------------=
-----------
Class: FloatObject
-------------------------------------------------------------------------=
------------*/
	function FloatObject(jqObj, params)
	{
		this.jqObj =3D jqObj;
	=09
		switch(params.speed)
		{
			case 'fast': this.steps =3D 5; break;
			case 'normal': this.steps =3D 10; break;
			case 'slow': this.steps =3D 20; break;
			default: this.steps =3D 10;
		};
	=09
		var offset =3D this.jqObj.offset();
		this.currentX =3D offset.left;
		this.currentY =3D offset.top;
		this.width =3D this.jqObj.width();
		this.height =3D this.jqObj.height();
		this.alwaysVisible =3D params.alwaysVisible;
		this.alwaysTop =3D params.alwaysTop;
	=09
	=09
		this.origX =3D typeof(params.x) =3D=3D "string" ?  this.currentX : =
params.x;
		this.origY =3D typeof(params.y) =3D=3D "string" ?  this.currentY : =
params.y;
			=09
	=09
		//now we make sure the object is in absolute positions.
		this.jqObj.css({'position':'absolute' , 'top':this.currentY =
,'left':this.currentX});
	}
=09
	FloatObject.prototype.updateLocation =3D function()
	{
		this.updatedX =3D $(window).scrollLeft() + this.origX;
	=09
		if( this.alwaysTop =3D=3D false ){
			this.updatedY =3D $(window).scrollTop()+ this.origY;
		=09
			if( this.alwaysVisible ){
				if( this.origX + this.width > this.windowWidth() )=20
					this.updatedX =3D this.windowWidth() - this.width + =
$(window).scrollLeft();
				if( this.origY + this.height > this.windowHeight() )=20
				{
					this.updatedY =3D $(window).scrollTop() + this.windowHeight() - =
this.height;
					if( this.updatedY < this.origY ) this.updatedY =3D this.origY;
				}			=09
			}
		}
		else
		{

			if( $(window).scrollTop() > this.origY )
			{
				this.updatedY =3D $(window).scrollTop() + 5;
			}
			else
			{
				this.updatedY =3D this.origY + 5;
			}
		}
		this.dx =3D Math.abs(this.updatedX - this.currentX );
		this.dy =3D Math.abs(this.updatedY - this.currentY );
	=09
		return this.dx || this.dy;
	}
=09
	FloatObject.prototype.windowHeight =3D function()
	{
		var de =3D document.documentElement;
	=09
		return self.innerHeight ||
			(de && de.clientHeight) ||
			document.body.clientHeight;
	}
=09
	FloatObject.prototype.windowWidth =3D function()
	{
		var de =3D document.documentElement;
	=09
		return self.innerWidth ||
			(de && de.clientWidth) ||
			document.body.clientWidth;
	}
=09
=09
	FloatObject.prototype.move =3D function()
	{
		if( this.jqObj.css("position") !=3D "absolute" ) return;
		var cx =3D 0;
		var cy =3D 0;
	=09
		if( this.dx > 0 )
		{		=09
			if( this.dx < this.steps / 2 )
				cx =3D (this.dx >=3D 1) ? 1 : 0;
			else
				cx =3D Math.round(this.dx/this.steps);
		=09
			if( this.currentX < this.updatedX )
				this.currentX +=3D cx;
			else
				this.currentX -=3D cx;
		}
	=09
		if( this.dy > 0 )
		{
			if( this.dy < this.steps / 2 )
				cy =3D (this.dy >=3D 1) ? 1 : 0;
			else
				cy =3D Math.round(this.dy/this.steps);
		=09
			if( this.currentY < this.updatedY )
				this.currentY +=3D cy;
			else
				this.currentY -=3D cy;
		}
	=09
		this.jqObj.css({'left':this.currentX, 'top': this.currentY });		=09
	}

=09
=09
/*-----------------------------------------------------------------------=
-----------
Object: floatMgr
-------------------------------------------------------------------------=
------------*/	=09
	$.floatMgr =3D {
	=09
		FOArray: new Array() ,
	=09
		timer: null ,
	=09
		initializeFO: function(jqObj,params)=20
		{
			var settings =3D  $.extend({
				x: 0 ,
				y: 0 ,
				speed: 'normal'	,
				alwaysVisible: false ,
				alwaysTop: false},params||{});
			var newFO =3D new FloatObject(jqObj,settings);
		=09
			$.floatMgr.FOArray.push(newFO);
		=09
			if( !$.floatMgr.timer ) $.floatMgr.adjustFO();
		=09
			//now making sure we are registered to all required window events
			if( !$.floatMgr.registeredEvents )=20
			{
					$(window).bind("resize", $.floatMgr.onChange);
					$(window).bind("scroll", $.floatMgr.onChange);
					$.floatMgr.registeredEvents =3D true;
			}	=09
		} ,=20
	=09
		adjustFO: function()=20
		{
			$.floatMgr.timer =3D null;
		=09
			var moveFO =3D false;
		=09
			for( var i =3D 0 ; i < $.floatMgr.FOArray.length ; i++ )
			{
				 FO =3D $.floatMgr.FOArray[i];
				 if( FO.updateLocation() )  moveFO =3D true;
			}
		=09
			if( moveFO )
			{
				for( var i =3D 0 ; i < $.floatMgr.FOArray.length ; i++ )
				{
					FO =3D $.floatMgr.FOArray[i];
					FO.move();
				}
			=09
				if( !$.floatMgr.timer ) $.floatMgr.timer =3D =
setTimeout($.floatMgr.adjustFO,50);
			}
		}	,
	=09
		stopFloatChk: false ,
	=09
		onChange: function()
		{
			if( !$.floatMgr.timer && !$.floatMgr.stopFloatChk ) =
$.floatMgr.adjustFO();
		} 	=09
	};
=09
/*-----------------------------------------------------------------------=
-----------
Function: makeFloat
-------------------------------------------------------------------------=
------------*/	=09
	$.fn.makeFloat =3D function(params) {
		var obj =3D this.eq(0); //we only operate on the first selected =
object;
		$.floatMgr.initializeFO(obj,params);=20
		if( $.floatMgr.timer =3D=3D null ) $.floatMgr.adjustFO();
		return obj;
	};
	$.fn.stopFloat =3D function(params) {
		$.floatMgr.stopFloatChk =3D true;
	};
=09
	$.fn.restartFloat =3D function(params) {
		$.floatMgr.stopFloatChk =3D false;
	};
})(jQuery);
------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/js/custom.js

// JavaScript Document=0A=
=0A=
// PDF download=0A=
function getPdfDownload () {=0A=
	=
window.open('collect_pdf.php','CompletePDF','scrollbars=3Dyes,toolbar=3Dy=
es,resizable=3Dyes');=0A=
}=0A=
=0A=
var original_value =3D '';=0A=
function clearSearch (value) {=0A=
	original_value =3D value;=0A=
	var searchField =3D document.getElementById('searchField');=0A=
	searchField.value =3D '';=0A=
}=0A=
=0A=
function setSearch (value) {=0A=
	if (value =3D=3D '') {=0A=
		var searchField =3D document.getElementById('searchField');=0A=
		searchField.value =3D original_value;=0A=
	}=0A=
}=0A=
=0A=
function changeImage(field, status) {=0A=
	var file =3D document.getElementById(field);=0A=
	if (status =3D=3D '1') { file.src =3D "htmlReader/gfx/btn_" + field + =
"_off.png"; } else { file.src =3D "htmlReader/gfx/btn_" + field + =
".png"; }=0A=
}=0A=
=0A=
function createCookie(name,value,days) {=0A=
	if (days) {=0A=
		var date =3D new Date();=0A=
		date.setTime(date.getTime()+(days*24*60*60*1000));=0A=
		var expires =3D "; expires=3D"+date.toGMTString();=0A=
	}=0A=
	else var expires =3D "";=0A=
	document.cookie =3D name+"=3D"+value+expires+"; path=3D/";=0A=
}=0A=
=0A=
function readCookie(name) {=0A=
	var nameEQ =3D name + "=3D";=0A=
	var ca =3D document.cookie.split(';');=0A=
	for(var i=3D0;i < ca.length;i++) {=0A=
		var c =3D ca[i];=0A=
		while (c.charAt(0)=3D=3D' ') c =3D c.substring(1,c.length);=0A=
		if (c.indexOf(nameEQ) =3D=3D 0) return =
c.substring(nameEQ.length,c.length);=0A=
	}=0A=
	return null;=0A=
}=0A=
=0A=
function eraseCookie(name) { createCookie(name,"",-1); }=0A=
=0A=
var shownFlash =3D 0;=0A=
function showFlashBox () {=0A=
	var cookie =3D readCookie('showFlash');=0A=
	//alert(cookie);=0A=
	if (cookie !=3D 'no') {=0A=
		var cookie2 =3D readCookie('flashShown');=0A=
		jQuery(window).bind("load", function() {=0A=
		$('#flashBox').fadeIn();=0A=
			setTimeout(function(){=0A=
				$('#flashBox').fadeOut();=0A=
			}, 10000);=0A=
		});=0A=
		shownFlash =3D 1;=0A=
		createCookie('flashShown','yes',1);=0A=
	}=0A=
}=0A=
=0A=
function dontShowAgain () {=0A=
	var box =3D document.getElementById('dontShow');=0A=
	if (box.checked =3D=3D true) { createCookie('showFlash','no',1); } else =
{ createCookie('showFlash','yes',1); }=0A=
}=0A=
=0A=
function setFlashBoxPosition(newWindowWidth) {=0A=
	var flashBoxWidth =3D '400';=0A=
	var newMarginLeft =3D ((newWindowWidth-flashBoxWidth)/2)-10 + 'px';=0A=
	$("#flashBox").css("display", 'block');=0A=
	$("#flashBox").css("margin-left", newMarginLeft);=0A=
	return;=0A=
}=0A=
=0A=
function showZoomPage(imageUrl,currentSpread) {=0A=
	var zoompage =3D document.getElementById('zoom_page');=0A=
	zoompage.style.display =3D 'block';=0A=
	=0A=
	var zoomImage =3D document.getElementById('zoomImage');=0A=
	zoomImage.src =3D imageUrl;=0A=
	=0A=
	var spreadNum =3D currentSpread;=0A=
	// Set the front help only if it is the first page=0A=
	if (isNaN(spreadNum) || spreadNum =3D=3D 0) { =0A=
		var fronthelp =3D document.getElementById('frontHelp'); =0A=
		fronthelp.style.display =3D 'none'; =0A=
	}=0A=
	=0A=
	var pageContainer =3D document.getElementById('page_holder');=0A=
	pageContainer.style.display =3D 'none';=0A=
	=0A=
	var Txtbtn =3D document.getElementById('triggerDiv');=0A=
	Txtbtn.style.display =3D 'none';=0A=
=0A=
	resizeZoom();=0A=
}=0A=
=0A=
function showPageContainer(currentSpread) {=0A=
	var zoompage =3D document.getElementById('zoom_page');=0A=
	zoompage.style.display =3D 'none';=0A=
	=0A=
	var zoomImage =3D document.getElementById('zoomImage');=0A=
	zoomImage.src =3D 'htmlReader/gfx/empty.gif';=0A=
	=0A=
	var spreadNum =3D currentSpread;=0A=
	//alert(spreadNum);=0A=
	// Set the front help only if it is the first page=0A=
	if (isNaN(spreadNum) || spreadNum =3D=3D 0) {=0A=
		var fronthelp =3D document.getElementById('frontHelp');=0A=
		fronthelp.style.display =3D 'block';=0A=
	}=0A=
	=0A=
	var pageContainer =3D document.getElementById('page_holder');=0A=
	pageContainer.style.display =3D 'block';=0A=
	=0A=
	var Txtbtn =3D document.getElementById('triggerDiv');=0A=
	Txtbtn.style.display =3D 'block';=0A=
=0A=
	resizePage();=0A=
}=0A=
=0A=
=0A=
=0A=
function resizePage () {=0A=
	$("body").css("background-color", '#FFFFFF');=0A=
	var screenHeight =3D $(window).height();=0A=
	var screenWidth =3D $(window).width();=0A=
=0A=
	var newScreenWidth =3D Math.round((screenWidth/100) * 90);=0A=
	var newScreenHeight =3D Math.round((screenHeight/100) * 90);=0A=
	//alert(newScreenWidth);=0A=
=0A=
	// Set menu size=0A=
	var menuTable =3D document.getElementById('menu-table');=0A=
	//alert(menuTable.width);=0A=
	var newWidth =3D 0;=0A=
	//alert(newScreenWidth);=0A=
	if (newScreenWidth >=3D 942) {=0A=
		newWidth =3D 942;=0A=
	} else if (newScreenWidth < 520) {=0A=
		newWidth =3D 520;=0A=
	} else {=0A=
		newWidth =3D newScreenWidth;=0A=
	}=0A=
	=0A=
	//alert(newWidth);=0A=
	$("#menu-table").css("width", newWidth);=0A=
	=0A=
	$("#panelScroll").css("height", (newScreenHeight-100));=0A=
	// end setting menu size=0A=
	=0A=
	// Set the width and height of the pages=0A=
	var allImages =3D document.images;=0A=
	var cii =3D 0;=0A=
	var new_width;=0A=
	var new_height;=0A=
	var spreadwidth =3D 0;=0A=
	for (var ci =3D 0; ci < allImages.length; ci++) {=0A=
		if (allImages[ci].className =3D=3D 'pageImage') {=0A=
		=0A=
			var image_width =3D allImages[ci].width;=0A=
			var image_height =3D allImages[ci].height;=0A=
			var height_ratio  =3D image_height / newScreenHeight;=0A=
			var width_ratio   =3D image_width / newScreenWidth;=0A=
			var old_height_ratio =3D image_height/100;=0A=
			var old_width_ratio =3D image_width/100;=0A=
			//alert(height_ratio + '-' + width_ratio);=0A=
			if (height_ratio > width_ratio) {=0A=
				new_height =3D Math.round(newScreenHeight - 10);=0A=
				var ratio_perc =3D new_height/old_height_ratio;=0A=
				new_width =3D Math.round(old_width_ratio*ratio_perc);=0A=
				=0A=
				spreadwidth =3D new_width*2;=0A=
				//alert(spreadwidth + '-' + newScreenWidth);=0A=
				if (spreadwidth > newScreenWidth) {=0A=
					new_width =3D Math.round((newScreenWidth - 50)/2);=0A=
					ratio_perc =3D new_width/old_width_ratio;=0A=
					new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
					=0A=
				} else {=0A=
					new_width =3D Math.round((spreadwidth - 50)/2);=0A=
					ratio_perc =3D new_width/old_width_ratio;=0A=
					new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
					//alert(new_width);alert(new_height);=0A=
				}=0A=
			} else {=0A=
				new_width =3D Math.round((newScreenWidth - 50)/2);=0A=
				spreadwidth =3D new_width*2;=0A=
				ratio_perc =3D new_width/old_width_ratio;=0A=
				new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
			}=0A=
			=0A=
			if (new_width < 250){=0A=
				new_width =3D 250;=0A=
				spreadwidth =3D new_width*2;=0A=
				ratio_perc =3D new_width/old_width_ratio;=0A=
				new_height =3D Math.round(old_height_ratio*ratio_perc);=0A=
			}=0A=
			=0A=
			document.getElementById('page_holder').style.width =3D new_width*2;=0A=
			document.getElementById('page_holder').style.height =3D new_height;=0A=
			=0A=
			document.getElementById('contentHolder').style.width =3D =
(new_width*2)+20;=0A=
			document.getElementById('contentHolder').style.height =3D =
(new_height)+20;=0A=
			=0A=
			allImages[ci].height =3D new_height;=0A=
			allImages[ci].width =3D new_width;=0A=
		} =0A=
	}=0A=
	// end setting width and height of pages=0A=
	=0A=
	=0A=
	// Set the front help only if it is the first page=0A=
	if (isNaN(spreadNum) || spreadNum =3D=3D 0) {=0A=
		var fronthelp =3D document.getElementById('frontHelp');=0A=
		=0A=
		if (new_width < 272) {=0A=
=0A=
			fronthelpWidth =3D (fronthelp.width*(ratio_perc/100));=0A=
			fronthelpHeight =3D (fronthelp.height*(ratio_perc/100));=0A=
=0A=
			$("#frontHelp").css("width", fronthelpWidth);=0A=
			$("#frontHelp").css("height", fronthelpHeight);=0A=
			=0A=
			=0A=
		} else {=0A=
			$("#frontHelp").css("width", '272');=0A=
			fronthelpWidth =3D 272;=0A=
			$("#frontHelp").css("height", '94');=0A=
			fronthelpHeight =3D 94;=0A=
		}=0A=
		=0A=
		=0A=
		fronthelp.style.marginTop =3D ((new_height-fronthelp.height)/2) + 'px';=0A=
		fronthelp.style.marginLeft =3D ((new_width-fronthelp.width)/2) + 'px';=0A=
		=0A=
		$("#frontHelp").css("margin-top", ((new_height-fronthelpHeight)/2));=0A=
		$("#frontHelp").css("margin-left", ((new_width-fronthelpWidth)/2));=0A=
	}=0A=
}=0A=
=0A=
=0A=
function resizeZoom () {=0A=
	var screenHeight =3D $(window).height();=0A=
	var screenWidth =3D $(window).width();=0A=
=0A=
	var newScreenWidth =3D Math.round((screenWidth/100) * 90);=0A=
	var newScreenHeight =3D Math.round((screenHeight/100) * 90);=0A=
	=0A=
	var allImages2 =3D document.images;=0A=
	var bii =3D 0;=0A=
	for (var bi =3D 0; bi < allImages2.length; bi++) {=0A=
		if (allImages2[bi].className =3D=3D 'zoom_image') {=0A=
			=0A=
			var zoom_image_width =3D allImages2[bi].width;=0A=
			var zoom_image_height =3D allImages2[bi].height;=0A=
			=0A=
			var zoom_old_width_ratio =3D zoom_image_width/100;=0A=
			var zoom_old_height_ratio =3D zoom_image_height/100;=0A=
=0A=
			if (newScreenWidth < 530) {=0A=
				newScreenWidth =3D 520;=0A=
			}=0A=
			=0A=
			var new_zoom_width =3D (newScreenWidth)-50;=0A=
			allImages2[bi].style.width =3D (new_zoom_width) + 'px';=0A=
			var zoom_ratio_perc =3D new_zoom_width/zoom_old_width_ratio;=0A=
			var new_zoom_height =3D =
Math.round(zoom_old_height_ratio*zoom_ratio_perc);=0A=
			allImages2[bi].style.height =3D (new_zoom_height) + 'px';=0A=
		}=0A=
	}=0A=
	=0A=
	var zoom_page =3D document.getElementById('zoom_page');=0A=
	zoom_page.style.width =3D (newScreenWidth-50) + 'px';=0A=
	zoom_page.style.height =3D '100%';=0A=
	=0A=
	document.getElementById('contentHolder').style.width =3D =
(newScreenWidth-50) + 'px';=0A=
	document.getElementById('contentHolder').style.height =3D '100%';=0A=
}
------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/htmlReader/js/supersleight.plugin.js

jQuery.fn.supersleight =3D function(settings) {=0A=
	settings =3D jQuery.extend({=0A=
		imgs: true,=0A=
		backgrounds: true,=0A=
		shim: 'x.gif',=0A=
		apply_positioning: true=0A=
	}, settings);=0A=
	=0A=
	return this.each(function(){=0A=
		if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7 && =
parseInt(jQuery.browser.version, 10) > 4) {=0A=
			jQuery(this).find('*').andSelf().each(function(i,obj) {=0A=
				var self =3D jQuery(obj);=0A=
				// background pngs=0A=
				if (settings.backgrounds && =
self.css('background-image').match(/\.png/i) !=3D=3D null) {=0A=
					var bg =3D self.css('background-image');=0A=
					var src =3D bg.substring(5,bg.length-2);=0A=
					var mode =3D (self.css('background-repeat') =3D=3D 'no-repeat' ? =
'crop' : 'scale');=0A=
					var styles =3D {=0A=
						'filter': =
"progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'" + src + "', =
sizingMethod=3D'" + mode + "')",=0A=
						'background-image': 'url('+settings.shim+')'=0A=
					};=0A=
					self.css(styles);=0A=
				};=0A=
				// image elements=0A=
				if (settings.imgs && self.is('img[src$=3Dpng]')){=0A=
					var styles =3D {=0A=
						'width': self.width() + 'px',=0A=
						'height': self.height() + 'px',=0A=
						'filter': =
"progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'" + =
self.attr('src') + "', sizingMethod=3D'scale')"=0A=
					};=0A=
					self.css(styles).attr('src', settings.shim);=0A=
				};=0A=
				// apply position to 'active' elements=0A=
				if (settings.apply_positioning && self.is('a, input') && =
(self.css('position') =3D=3D=3D '' || self.css('position') =3D=3D =
'static')){=0A=
					self.css('position', 'relative');=0A=
				};=0A=
			});=0A=
		};=0A=
	});=0A=
};
------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/swfobject.js

/**=0A=
 * SWFObject v1.5: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/=0A=
 *=0A=
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT =
License:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 */=0A=
if(typeof deconcept =3D=3D "undefined") var deconcept =3D new Object();=0A=
if(typeof deconcept.util =3D=3D "undefined") deconcept.util =3D new =
Object();=0A=
if(typeof deconcept.SWFObjectUtil =3D=3D "undefined") =
deconcept.SWFObjectUtil =3D new Object();=0A=
deconcept.SWFObject =3D function(swf, id, w, h, ver, c, quality, =
xiRedirectUrl, redirectUrl, detectKey) {=0A=
	if (!document.getElementById) { return; }=0A=
	this.DETECT_KEY =3D detectKey ? detectKey : 'detectflash';=0A=
	this.skipDetect =3D deconcept.util.getRequestParameter(this.DETECT_KEY);=0A=
	this.params =3D new Object();=0A=
	this.variables =3D new Object();=0A=
	this.attributes =3D new Array();=0A=
	if(swf) { this.setAttribute('swf', swf); }=0A=
	if(id) { this.setAttribute('id', id); }=0A=
	if(w) { this.setAttribute('width', w); }=0A=
	if(h) { this.setAttribute('height', h); }=0A=
	if(ver) { this.setAttribute('version', new =
deconcept.PlayerVersion(ver.toString().split("."))); }=0A=
	this.installedVer =3D deconcept.SWFObjectUtil.getPlayerVersion();=0A=
	if (!window.opera && document.all && this.installedVer.major > 7) {=0A=
		// only add the onunload cleanup if the Flash Player version supports =
External Interface and we are in IE=0A=
		deconcept.SWFObject.doPrepUnload =3D true;=0A=
	}=0A=
	if(c) { this.addParam('bgcolor', c); }=0A=
	var q =3D quality ? quality : 'high';=0A=
	this.addParam('quality', q);=0A=
	this.setAttribute('useExpressInstall', false);=0A=
	this.setAttribute('doExpressInstall', false);=0A=
	var xir =3D (xiRedirectUrl) ? xiRedirectUrl : window.location;=0A=
	this.setAttribute('xiRedirectUrl', xir);=0A=
	this.setAttribute('redirectUrl', '');=0A=
	if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }=0A=
}=0A=
deconcept.SWFObject.prototype =3D {=0A=
	useExpressInstall: function(path) {=0A=
		this.xiSWFPath =3D !path ? "expressinstall.swf" : path;=0A=
		this.setAttribute('useExpressInstall', true);=0A=
	},=0A=
	setAttribute: function(name, value){=0A=
		this.attributes[name] =3D value;=0A=
	},=0A=
	getAttribute: function(name){=0A=
		return this.attributes[name];=0A=
	},=0A=
	addParam: function(name, value){=0A=
		this.params[name] =3D value;=0A=
	},=0A=
	getParams: function(){=0A=
		return this.params;=0A=
	},=0A=
	addVariable: function(name, value){=0A=
		this.variables[name] =3D value;=0A=
	},=0A=
	getVariable: function(name){=0A=
		return this.variables[name];=0A=
	},=0A=
	getVariables: function(){=0A=
		return this.variables;=0A=
	},=0A=
	getVariablePairs: function(){=0A=
		var variablePairs =3D new Array();=0A=
		var key;=0A=
		var variables =3D this.getVariables();=0A=
		for(key in variables){=0A=
			variablePairs[variablePairs.length] =3D key +"=3D"+ variables[key];=0A=
		}=0A=
		return variablePairs;=0A=
	},=0A=
	getSWFHTML: function() {=0A=
		var swfNode =3D "";=0A=
		if (navigator.plugins && navigator.mimeTypes && =
navigator.mimeTypes.length) { // netscape plugin architecture=0A=
			if (this.getAttribute("doExpressInstall")) {=0A=
				this.addVariable("MMplayerType", "PlugIn");=0A=
				this.setAttribute('swf', this.xiSWFPath);=0A=
			}=0A=
			swfNode =3D '<embed type=3D"application/x-shockwave-flash" src=3D"'+ =
this.getAttribute('swf') +'" width=3D"'+ this.getAttribute('width') +'" =
height=3D"'+ this.getAttribute('height') +'" style=3D"'+ =
this.getAttribute('style') +'"';=0A=
			swfNode +=3D ' id=3D"'+ this.getAttribute('id') +'" name=3D"'+ =
this.getAttribute('id') +'" ';=0A=
			var params =3D this.getParams();=0A=
			 for(var key in params){ swfNode +=3D [key] +'=3D"'+ params[key] +'" =
'; }=0A=
			var pairs =3D this.getVariablePairs().join("&");=0A=
			 if (pairs.length > 0){ swfNode +=3D 'flashvars=3D"'+ pairs +'"'; }=0A=
			swfNode +=3D '/>';=0A=
		} else { // PC IE=0A=
			if (this.getAttribute("doExpressInstall")) {=0A=
				this.addVariable("MMplayerType", "ActiveX");=0A=
				this.setAttribute('swf', this.xiSWFPath);=0A=
			}=0A=
			swfNode =3D '<object id=3D"'+ this.getAttribute('id') +'" =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width=3D"'+ =
this.getAttribute('width') +'" height=3D"'+ this.getAttribute('height') =
+'" style=3D"'+ this.getAttribute('style') +'">';=0A=
			swfNode +=3D '<param name=3D"movie" value=3D"'+ =
this.getAttribute('swf') +'" />';=0A=
			var params =3D this.getParams();=0A=
			for(var key in params) {=0A=
			 swfNode +=3D '<param name=3D"'+ key +'" value=3D"'+ params[key] +'" =
/>';=0A=
			}=0A=
			var pairs =3D this.getVariablePairs().join("&");=0A=
			if(pairs.length > 0) {swfNode +=3D '<param name=3D"flashvars" =
value=3D"'+ pairs +'" />';}=0A=
			swfNode +=3D "</object>";=0A=
		}=0A=
		return swfNode;=0A=
	},=0A=
	write: function(elementId){=0A=
		document.getElementById(elementId).style.display =3D '';=0A=
		if(this.getAttribute('useExpressInstall')) {=0A=
			// check to see if we need to do an express install=0A=
			var expressInstallReqVer =3D new deconcept.PlayerVersion([6,0,65]);=0A=
			if (this.installedVer.versionIsValid(expressInstallReqVer) && =
!this.installedVer.versionIsValid(this.getAttribute('version'))) {=0A=
				this.setAttribute('doExpressInstall', true);=0A=
				this.addVariable("MMredirectURL", =
escape(this.getAttribute('xiRedirectUrl')));=0A=
				document.title =3D document.title.slice(0, 47) + " - Flash Player =
Installation";=0A=
				this.addVariable("MMdoctitle", document.title);=0A=
			}=0A=
		}=0A=
		if(this.skipDetect || this.getAttribute('doExpressInstall') || =
this.installedVer.versionIsValid(this.getAttribute('version'))){=0A=
			var n =3D (typeof elementId =3D=3D 'string') ? =
document.getElementById(elementId) : elementId;=0A=
			n.innerHTML =3D this.getSWFHTML();=0A=
			return true;=0A=
		}else{=0A=
			if(this.getAttribute('redirectUrl') !=3D "") {=0A=
				document.location.replace(this.getAttribute('redirectUrl'));=0A=
			}=0A=
		}=0A=
		return false;=0A=
	}=0A=
}=0A=
=0A=
/* ---- detection functions ---- */=0A=
deconcept.SWFObjectUtil.getPlayerVersion =3D function(){=0A=
	var PlayerVersion =3D new deconcept.PlayerVersion([0,0,0]);=0A=
	if(navigator.plugins && navigator.mimeTypes.length){=0A=
		var x =3D navigator.plugins["Shockwave Flash"];=0A=
		if(x && x.description) {=0A=
			PlayerVersion =3D new =
deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, =
"").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));=0A=
		}=0A=
	}else if (navigator.userAgent && navigator.userAgent.indexOf("Windows =
CE") >=3D 0){ // if Windows CE=0A=
		var axo =3D 1;=0A=
		var counter =3D 3;=0A=
		while(axo) {=0A=
			try {=0A=
				counter++;=0A=
				axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);=0A=
//				document.write("player v: "+ counter);=0A=
				PlayerVersion =3D new deconcept.PlayerVersion([counter,0,0]);=0A=
			} catch (e) {=0A=
				axo =3D null;=0A=
			}=0A=
		}=0A=
	} else { // Win IE (non mobile)=0A=
		// do minor version lookup in IE, but avoid fp6 crashing issues=0A=
		// see =
http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-intern=
et-explorer-flash-6/=0A=
		try{=0A=
			var axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");=0A=
		}catch(e){=0A=
			try {=0A=
				var axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");=0A=
				PlayerVersion =3D new deconcept.PlayerVersion([6,0,21]);=0A=
				axo.AllowScriptAccess =3D "always"; // error if player version < =
6.0.47 (thanks to Michael Williams @ Adobe for this code)=0A=
			} catch(e) {=0A=
				if (PlayerVersion.major =3D=3D 6) {=0A=
					return PlayerVersion;=0A=
				}=0A=
			}=0A=
			try {=0A=
				axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash");=0A=
			} catch(e) {}=0A=
		}=0A=
		if (axo !=3D null) {=0A=
			PlayerVersion =3D new =
deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));=0A=
		}=0A=
	}=0A=
	return PlayerVersion;=0A=
}=0A=
deconcept.PlayerVersion =3D function(arrVersion){=0A=
	this.major =3D arrVersion[0] !=3D null ? parseInt(arrVersion[0]) : 0;=0A=
	this.minor =3D arrVersion[1] !=3D null ? parseInt(arrVersion[1]) : 0;=0A=
	this.rev =3D arrVersion[2] !=3D null ? parseInt(arrVersion[2]) : 0;=0A=
}=0A=
deconcept.PlayerVersion.prototype.versionIsValid =3D function(fv){=0A=
	if(this.major < fv.major) return false;=0A=
	if(this.major > fv.major) return true;=0A=
	if(this.minor < fv.minor) return false;=0A=
	if(this.minor > fv.minor) return true;=0A=
	if(this.rev < fv.rev) return false;=0A=
	return true;=0A=
}=0A=
/* ---- get value of query string param ---- */=0A=
deconcept.util =3D {=0A=
	getRequestParameter: function(param) {=0A=
		var q =3D document.location.search || document.location.hash;=0A=
		if (param =3D=3D null) { return q; }=0A=
		if(q) {=0A=
			var pairs =3D q.substring(1).split("&");=0A=
			for (var i=3D0; i < pairs.length; i++) {=0A=
				if (pairs[i].substring(0, pairs[i].indexOf("=3D")) =3D=3D param) {=0A=
					return pairs[i].substring((pairs[i].indexOf("=3D")+1));=0A=
				}=0A=
			}=0A=
		}=0A=
		return "";=0A=
	}=0A=
}=0A=
/* fix for video streaming bug */=0A=
deconcept.SWFObjectUtil.cleanupSWFs =3D function() {=0A=
	var objects =3D document.getElementsByTagName("OBJECT");=0A=
	for (var i =3D objects.length - 1; i >=3D 0; i--) {=0A=
		objects[i].style.display =3D 'none';=0A=
		for (var x in objects[i]) {=0A=
			if (typeof objects[i][x] =3D=3D 'function') {=0A=
				objects[i][x] =3D function(){};=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
// fixes bug in some fp9 versions see =
http://blog.deconcept.com/2006/07/28/swfobject-143-released/=0A=
if (deconcept.SWFObject.doPrepUnload) {=0A=
	if (!deconcept.unloadSet) {=0A=
		deconcept.SWFObjectUtil.prepUnload =3D function() {=0A=
			__flash_unloadHandler =3D function(){};=0A=
			__flash_savedUnloadHandler =3D function(){};=0A=
			window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs);=0A=
		}=0A=
		window.attachEvent("onbeforeunload", =
deconcept.SWFObjectUtil.prepUnload);=0A=
		deconcept.unloadSet =3D true;=0A=
	}=0A=
}=0A=
/* add document.getElementById if needed (mobile IE < 5) */=0A=
if (!document.getElementById && document.all) { document.getElementById =
=3D function(id) { return document.all[id]; }}=0A=
=0A=
/* add some aliases for ease of use/backwards compatibility */=0A=
var getQueryParamValue =3D deconcept.util.getRequestParameter;=0A=
var FlashObject =3D deconcept.SWFObject; // for legacy support=0A=
var SWFObject =3D deconcept.SWFObject;=0A=

------=_NextPart_000_0000_01CB00C6.C7807400
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://epub01.publitas.nl/Forever_Living_Products_Benelux/Producthandboek_NL_5/swfaddress.js

/**
 * SWFAddress 2.1: Deep linking for Flash and Ajax - =
http://www.asual.com/swfaddress/
 *
 * SWFAddress is (c) 2006-2007 Rostislav Hristov and is released under =
the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */

if (typeof com =3D=3D "undefined") var com =3D {};
if (typeof com.asual =3D=3D "undefined") com.asual =3D {};
if (typeof com.asual.util =3D=3D "undefined") com.asual.util =3D {};
  =20
/**
 * @class Utility class that provides detailed browser information.
 * @static
 * @ignore
 */
com.asual.util.Browser =3D new function() {

    var _version =3D -1;
    var _agent =3D navigator.userAgent;
    var _ie =3D false, _camino =3D false, _safari =3D false, _opera =3D =
false,=20
        _firefox =3D false, _netscape =3D false, _mozilla =3D false;

    var _getVersion =3D function(s, i) {
        return parseFloat(_agent.substr(_agent.indexOf(s) + i));
    }
   =20
    if (_ie =3D /MSIE/.test(_agent))
        _version =3D _getVersion('MSIE', 4);
       =20
    if (_safari =3D /AppleWebKit/.test(_agent))
        _version =3D _getVersion('Safari', 7);
       =20
    if (_opera =3D /Opera/.test(_agent))
        _version =3D parseFloat(navigator.appVersion);
       =20
    if (_camino =3D /Camino/.test(_agent))
        _version =3D _getVersion('Camino', 7);
       =20
    if (_firefox =3D /Firefox/.test(_agent))
        _version =3D _getVersion('Firefox', 8);
       =20
    if (_netscape =3D /Netscape/.test(_agent))
        _version =3D _getVersion('Netscape', 9);
       =20
    if (_mozilla =3D /Mozilla/.test(_agent) && /rv:/.test(_agent))
        _version =3D _getVersion('rv:', 3);


    /**
     * Detects the version of the browser.
     * @return {Number}
     * @static
     */
    this.getVersion =3D function() {
        return _version;
    }

    /**
     * Detects if the browser is Internet Explorer.
     * @return {Boolean}
     * @static
     */
    this.isIE =3D function() {
        return _ie;
    }

    /**
     * Detects if the browser is Safari.
     * @return {Boolean}
     * @static
     */
    this.isSafari =3D function() {
        return _safari;
    }

    /**
     * Detects if the browser is Opera.
     * @return {Boolean}
     * @static
     */
    this.isOpera =3D function() {
        return _opera;
    }

    /**
     * Detects if the browser is Camino.
     * @return {Boolean}
     * @static
     */
    this.isCamino =3D function() {
        return _camino;
    }

    /**
     * Detects if the browser is Firefox.
     * @return {Boolean}
     * @static
     */
    this.isFirefox =3D function() {
        return _firefox;
    }

    /**
     * Detects if the browser is Netscape.
     * @return {Boolean}
     * @static
     */
    this.isNetscape =3D function() {
        return _netscape;
    }
       =20
    /**
     * Detects if the browser is Mozilla.
     * @return {Boolean}
     * @static
     */
    this.isMozilla =3D function() {
        return _mozilla;
    }
}

/**
 * @class Utility class that provides event helpers.
 * @static
 * @ignore
 */
com.asual.util.Events =3D new function() {

    var _cache =3D [];
    var _browser =3D com.asual.util.Browser;
    var _dcl =3D 'DOMContentLoaded';

    if (_browser.isIE() || _browser.isSafari()) {
        (function (){
            try {
                if (_browser.isIE() || =
!/loaded|complete/.test(document.readyState))
                    document.documentElement.doScroll('left');
            } catch(e) {
                return setTimeout(arguments.callee, 0);
            }
            for (var i =3D 0, e; e =3D _cache[i]; i++)
                if (e.t =3D=3D _dcl) e.l.call(null);
        })();
    }

    /**
     * Adds an event listener to an object.
     * @param {Object} obj The object that provides events.
     * @param {String} type The type of the event.
     * @param {Function} listener The event listener function.
     * @return {void}
     * @static
     */
    this.addListener =3D function(obj, type, listener) {
        _cache.push({o: obj, t: type, l: listener});
        if (!(type =3D=3D _dcl && (_browser.isIE() || =
_browser.isSafari()))) {
            if (obj.addEventListener)
                obj.addEventListener(type, listener, false);
            else if (obj.attachEvent)
                obj.attachEvent('on' + type, listener);
        }
    }

    /**
     * Removes an event listener from an object.
     * @param {Object} obj The object that provides events.
     * @param {String} type The type of the event.
     * @param {Function} listener The event listener function.
     * @return {void}    =20
     * @static
     */
    this.removeListener =3D function(obj, type, listener) {
        for (var i =3D 0, e; e =3D _cache[i]; i++) {
            if (e.o =3D=3D obj && e.t =3D=3D type && e.l =3D=3D =
listener) {
                _cache.splice(i, 1);
                break;
            }
        }
        if (!(type =3D=3D _dcl && (_browser.isIE() || =
_browser.isSafari()))) {
            if (obj.removeEventListener)
                obj.removeEventListener(type, listener, false);
            else if (obj.detachEvent)
                obj.detachEvent('on' + type, listener);
        }
    }

    var _unload =3D function() {
        for (var i =3D 0, evt; evt =3D _cache[i]; i++) {
            if (evt.t !=3D _dcl)
                com.asual.util.Events.removeListener(evt.o, evt.t, =
evt.l);
        }
    }

    this.addListener(window, 'unload', _unload);
}

/**
 * Creates a new SWFAddress event.
 * @class Event class for SWFAddress.
 * @param {String} type Type of the event.
 */
SWFAddressEvent =3D function(type) {
   =20
    /**
     * String representation of this object.
     * @ignore
     */
    this.toString =3D function() {
        return '[object SWFAddressEvent]';
    }

    /**
     * The type of this event.
     * @type String
     */
    this.type =3D type;

    /**
     * The target of this event.
     * @type Function
     */
    this.target =3D [SWFAddress][0];

    /**
     * The value of this event.
     * @type String
     */
    this.value =3D SWFAddress.getValue();

    /**
     * The path of this event.
     * @type String
     */
    this.path =3D SWFAddress.getPath();
   =20
    /**
     * The folders in the deep linking path of this event.
     * @type Array
     */
    this.pathNames =3D SWFAddress.getPathNames();

    /**
     * The parameters of this event.
     * @type Object
     */
    this.parameters =3D {};

    var _parametersNames =3D SWFAddress.getParameterNames();
    for (var i =3D 0, l =3D _parametersNames.length; i < l; i++)
        this.parameters[_parametersNames[i]] =3D =
SWFAddress.getParameter(_parametersNames[i]);
   =20
    /**
     * The parameters names of this event.
     * @type Array    =20
     */
     this.parametersNames =3D _parametersNames;
}

/**
 * Init event.
 * @type String
 * @memberOf SWFAddressEvent
 * @static
 */
SWFAddressEvent.INIT =3D 'init';

/**
 * Change event.
 * @type String
 * @memberOf SWFAddressEvent
 * @static=20
 */
SWFAddressEvent.CHANGE =3D 'change';

/**
 * @class The SWFAddress class can be configured with query parameters =
using the following format:
 * =
swfaddress.js?html=3Dfalse&history=3D1&tracker=3DpageTracker._trackPagevi=
ew&strict=3D1.<br />=20
 * The list of supported options include:<br /><br />
 * <code>history:Boolean</code> - Enables or disables the creation of =
history entries.<br />
 * <code>html:Boolean</code> - Enables or disables the usage of =
swfaddress.html.<br />
 * <code>strict:Boolean</code> - Enables or disables the strict mode.<br =
/>
 * <code>tracker:String</code> - Sets a function for page view =
tracking.<br />
 * @static=20
 */=20
SWFAddress =3D new function() {

    var _browser =3D com.asual.util.Browser;
    var _events =3D com.asual.util.Events;
    var _version =3D _browser.getVersion();
    var _supported =3D false;

    if (_browser.isIE())=20
        _supported =3D _version >=3D 6;
       =20
    if (_browser.isSafari())
        _supported =3D _version >=3D 312;
       =20
    if (_browser.isOpera())
        _supported =3D _version >=3D 9.02;
       =20
    if (_browser.isCamino())=20
        _supported =3D _version >=3D 1;
       =20
    if (_browser.isFirefox())
        _supported =3D _version >=3D 1;
       =20
    if (_browser.isNetscape())
        _supported =3D _version >=3D 8;
       =20
    if (_browser.isMozilla())
        _supported =3D _version >=3D 1.8;

    var _t =3D top;
    var _d =3D _t.document;
    var _h =3D _t.history;
    var _l =3D _t.location;
    var _st =3D setTimeout;
   =20
    var FUNCTION =3D 'function';
    var UNDEFINED =3D 'undefined';
    var SWFADDRESS =3D 'swfaddress';

    var _iframe, _form, _url;
    var _title =3D _d.title;
    var _length =3D _h.length;
    var _silent =3D false;
    var _listeners =3D {};
    var _stack =3D [];
    var _ids =3D [];
   =20
    var _opts =3D {};
    _opts.history =3D true;
    _opts.html =3D false;
    _opts.strict =3D true;
    _opts.tracker =3D '_trackDefault';
   =20
    if ((!_supported && _l.href.indexOf('#') !=3D -1) ||=20
        (_browser.isSafari() && _version < 412 && _l.href.indexOf('#') =
!=3D -1 && _l.search !=3D '')){
        _d.open();
        _d.write('<html><head><meta http-equiv=3D"refresh" =
content=3D"0;url=3D' +=20
            _l.href.substr(0, _l.href.indexOf('#')) + '" =
/></head></html>');
        _d.close();
    }

    var _getHash =3D function() {
        var index =3D _l.href.indexOf('#');
        if (index !=3D -1) {
            var hash =3D unescape(_l.href.substr(index + 1));
            if (/^[a-z0-9 ,=3D_&\-\.\?\+\/]*$/i.test(hash))
                return hash;
            else
                _l.replace(_l.href.substr(0, index));
        }
        return '';
    }

    var _value =3D _getHash();

    var _strictCheck =3D function(value, force) {
        if (_opts.strict)
            value =3D force ? (value.substr(0, 1) !=3D '/' ? '/' + value =
: value) : (value =3D=3D '' ? '/' : value);
        return value;
    }

    var _ieLocal =3D function(value) {
        return (_browser.isIE() && _l.protocol =3D=3D 'file:') ? =
_value.replace(/\?/, '%3F') : value;   =20
    }

    var _searchScript =3D function(el) {
        if (el.src && /swfaddress\.js(\?.*)?$/.test(el.src)) return el;
        for (var i =3D 0, l =3D el.childNodes.length, s; i < l; i++)
            if (s =3D _searchScript(el.childNodes[i])) return s;
    }
   =20
    var _titleCheck =3D function() {
        if (_browser.isIE() && _d.title !=3D _title)
            SWFAddress.setTitle(_title);
    }

    var _listen =3D function() {
        if (!_silent) {
            var hash =3D _getHash();
            if (_browser.isIE()) {
                if (_value !=3D hash) {
                    if (_version < 7)
                        _l.reload();
                    else
                        SWFAddress.setValue(hash);
                }
            } else if (_browser.isSafari() && _version < 523) {
                if (_length !=3D _h.length) {
                    _length =3D _h.length;
                    if (typeof _stack[_length - 1] !=3D UNDEFINED)
                        _value =3D _stack[_length - 1];
                    _update();
                }
            } else if (_value !=3D hash) {
                _value =3D hash;
                _update();
            }
            _titleCheck();
        }
    }

    var _jsDispatch =3D function(type) {
        if (SWFAddress.hasEventListener(type))
            SWFAddress.dispatchEvent(new SWFAddressEvent(type));
        type =3D type.substr(0, 1).toUpperCase() + type.substr(1);
        if(typeof SWFAddress['on' + type] =3D=3D FUNCTION)
            SWFAddress['on' + type]();
    }

    var _jsInit =3D function() {
        _jsDispatch('init');
    }

    var _jsChange =3D function() {
        _jsDispatch('change');
    }

    var _swfChange =3D function() {
        for (var i =3D 0, id, value =3D SWFAddress.getValue(), setter =
=3D 'setSWFAddressValue'; id =3D _ids[i]; i++) {
            var obj =3D document.getElementById(id);
            if (obj) {
                if (obj.parentNode && typeof obj.parentNode.so !=3D =
UNDEFINED) {
                    obj.parentNode.so.call(setter, value);
                } else {
                    if (!(obj && typeof obj[setter] !=3D UNDEFINED)) {
                        var objects =3D =
obj.getElementsByTagName('object');
                        var embeds =3D =
obj.getElementsByTagName('embed');
                        obj =3D ((objects[0] && typeof =
objects[0][setter] !=3D UNDEFINED) ?=20
                            objects : ((embeds[0] && typeof =
embeds[0][setter] !=3D UNDEFINED) ?=20
                                embeds[0] : null));
                    }
                    if (obj)
                        obj[setter](value);
                }=20
            } else if (obj =3D document[id]) {
                if (typeof obj[setter] !=3D UNDEFINED)
                    obj[setter](value);
            }
        }
    }

    var _update =3D function() {
        _swfChange();
        _jsChange();
        _st(_track, 10);
    }

    var _trackDefault =3D function(value) {
        if (typeof urchinTracker =3D=3D FUNCTION)=20
            urchinTracker(value);
        /**
		 * if (typeof tracker1 !=3D UNDEFINED && typeof =
tracker1._trackPageview =3D=3D FUNCTION)
         *   tracker1._trackPageview(value);
		 * if (typeof tracker2 !=3D UNDEFINED && typeof =
tracker2._trackPageview =3D=3D FUNCTION)
         *   tracker2._trackPageview(value);
    	 * if (typeof pageTracker !=3D UNDEFINED && typeof =
pageTracker._trackPageview =3D=3D FUNCTION)
         *   pageTracker._trackPageview(value);
		 */
	=09
    }
   =20
    eval('var _trackDefault =3D ' + _trackDefault + ';');
   =20
    var _track =3D function() {
        if (typeof _opts.tracker !=3D UNDEFINED && eval('typeof ' + =
_opts.tracker + ' !=3D "' + UNDEFINED + '"')) {
            var fn =3D eval(_opts.tracker);
            if (typeof fn =3D=3D FUNCTION)
                fn((_l.pathname + (/\/$/.test(_l.pathname) ? '' : '/') + =
SWFAddress.getValue()).replace(/\/\//, '/').replace(/^\/$/, ''));
        }
    }
   =20
    var _htmlWrite =3D function() {
        var doc =3D _iframe.contentWindow.document;
        doc.open();
        doc.write('<script>var ' + SWFADDRESS + ' =3D "' + _getHash() + =
'";</script>');
        doc.close();
    }

    var _htmlLoad =3D function() {
        var win =3D _iframe.contentWindow;
        if (_opts.html) {
            var src =3D win.location.href;
            _value =3D (src.indexOf('?') > -1) ? =
src.substr(src.indexOf('?') + 1) : '';
        } else {
            _value =3D (typeof win[SWFADDRESS] !=3D UNDEFINED) ? =
win[SWFADDRESS] : '';
        }
        win.document.title =3D _d.title;
        if (_value !=3D _getHash()) {
            _update();
            _l.hash =3D _ieLocal(_value);
        }
    }

    var _load =3D function() {
        var attr =3D 'id=3D"' + SWFADDRESS + '" =
style=3D"position:absolute;top:-9999px;"';
        if (_browser.isIE()) {
            =
document.body.appendChild(document.createElement('div')).innerHTML =3D =
'<iframe ' + attr + ' src=3D"' +=20
                (_opts.html ? _url.replace(/\.js(\?.*)?$/, '.html') + =
'?' + _getHash() : 'javascript:false;') +=20
                '" width=3D"0" height=3D"0"></iframe>';
            _iframe =3D document.getElementById(SWFADDRESS);
            _st(function() {
                _events.addListener(_iframe, 'load', _htmlLoad);         =
  =20
                if (!_opts.html && typeof =
_iframe.contentWindow[SWFADDRESS] =3D=3D UNDEFINED)=20
                    _htmlWrite();
            }, 10);
        } else if (_browser.isSafari()) {
            if (_version < 412) {
                document.body.innerHTML +=3D '<form ' + attr + ' =
method=3D"get"></form>';
                _form =3D document.getElementById(SWFADDRESS);
            }
            if (typeof _l[SWFADDRESS] =3D=3D UNDEFINED) _l[SWFADDRESS] =
=3D {};
            if (typeof _l[SWFADDRESS][_l.pathname] !=3D UNDEFINED) =
_stack =3D _l[SWFADDRESS][_l.pathname].split(',');
        } else if (_browser.isOpera() && _ids.length =3D=3D 0 && typeof =
navigator.plugins['Shockwave Flash'] =3D=3D 'object') {
            document.body.innerHTML +=3D '<embed ' + attr + ' src=3D"' + =
_url.replace(/\.js(\?.*)?$/, '.swf') +=20
                '" type=3D"application/x-shockwave-flash" />';
        }
        _st(_jsInit, 1);
        _st(_jsChange, 2);
        _st(_track, 10);
        setInterval(_listen, 50);
    }

    /**
     * Init event.
     * @type Function
     * @event
     * @static
     */
    this.onInit =3D null;
   =20
    /**
     * Change event.
     * @type Function
     * @event
     * @static
     */
    this.onChange =3D null;
   =20
    /**
     * String representation of this class.
     * @ignore
     */
    this.toString =3D function() {
        return '[class SWFAddress]';
    }

    /**
     * Loads the previous URL in the history list.
     * @return {void}
     * @static
     */
    this.back =3D function() {
        _h.back();
    }

    /**
     * Loads the next URL in the history list.
     * @return {void}
     * @static
     */
    this.forward =3D function() {
        _h.forward();
    }

    /**
     * Loads a URL from the history list.
     * @param {Number} delta An integer representing a relative position =
in the history list.
     * @return {void}
     * @static
     */
    this.go =3D function(delta) {
        _h.go(delta);
    }

    /**
     * Opens a new URL in the browser.=20
     * @param {String} url The resource to be opened.
     * @param {String} target Target window.
     * @return {void}
     * @static
     */
    this.href =3D function(url, target) {
        target =3D (typeof target !=3D UNDEFINED) ? target : '_self';    =
=20
        if (target =3D=3D '_self')
            self.location.href =3D url;=20
        if (target =3D=3D '_top')
            _l.href =3D url;=20
        if (target =3D=3D '_blank')
            window.open(url);=20
        else
            _t.frames[target].location.href =3D url;=20
    }

    /**
     * Opens a browser popup window.=20
     * @param {String} url Resource location.
     * @param {String} name Name of the popup window.
     * @param {String} options Options which get evaluted and passed to =
the window.open() method.
     * @param {String} handler Optional JavaScript code for popup =
handling.   =20
     * @return {void}
     * @static
     */
    this.popup =3D function(url, name, options, handler) {
        var popup =3D window.open(url, name, options);
        eval(handler);
    }

    /**
     * Registers an event listener.
     * @param {String} type Event type.
     * @param {Function} listener Event listener.
     * @return {void}
     * @static
     */
    this.addEventListener =3D function(type, listener) {
        if (typeof _listeners[type] =3D=3D UNDEFINED)
            _listeners[type] =3D [];
        _listeners[type].push(listener);
    }

    /**
     * Removes an event listener.
     * @param {String} type Event type.
     * @param {Function} listener Event listener.
     * @return {void}
     * @static    =20
     */
    this.removeEventListener =3D function(type, listener) {
        if (typeof _listeners[type] !=3D UNDEFINED) {
            for (var i =3D 0, l; l =3D _listeners[type][i]; i++)
                if (l =3D=3D listener) break;
            _listeners[type].splice(i, 1);
        }
    }

    /**
     * Dispatches an event to all the registered listeners.=20
     * @param {Object} event Event object.
     * @return {Boolean}
     * @static
     */
    this.dispatchEvent =3D function(event) {
        if (typeof _listeners[event.type] !=3D UNDEFINED && =
_listeners[event.type].length) {
            event.target =3D this;
            for (var i =3D 0, l; l =3D _listeners[event.type][i]; i++)
                l(event);
            return true;          =20
        }
        return false;
    }

    /**
     * Checks the existance of any listeners registered for a specific =
type of event.=20
     * @param {String} event Event type.
     * @return {Boolean}
     * @static
     */
    this.hasEventListener =3D function(type) {
        return (typeof _listeners[type] !=3D UNDEFINED && =
_listeners[type].length > 0);
    }
   =20
    /**
     * Provides the base address of the document.=20
     * @return {String}
     * @static
     */
    this.getBaseURL =3D function() {
        var url =3D _l.href;
        if (url.indexOf('#') !=3D -1)
            url =3D url.substr(0, url.indexOf('#'));
        if (url.substr(url.length - 1) =3D=3D '/')
            url =3D url.substr(0, url.length - 1);
        return url;
    }

    /**
     * Provides the state of the strict mode setting.=20
     * @return {Boolean}
     * @static
     */
    this.getStrict =3D function() {
        return _opts.strict;
    }

    /**
     * Enables or disables the strict mode.
     * @param {Boolean} strict Strict mode state.
     * @return {void}
     * @static
     */
    this.setStrict =3D function(strict) {
        _opts.strict =3D strict;
    }

    /**
     * Provides the state of the history setting.=20
     * @return {Boolean}
     * @static
     */
    this.getHistory =3D function() {
        return _opts.history;
    }

    /**
     * Enables or disables the creation of history entries.
     * @param {Boolean} history History state.
     * @return {void}
     * @static
     */
    this.setHistory =3D function(history) {
        _opts.history =3D history;
    }

    /**
     * Provides the tracker function.
     * @return {String}
     * @static
     */
    this.getTracker =3D function() {
        return _opts.tracker;
    }

    /**
     * Sets a function for page view tracking. The default value is =
'urchinTracker'.
     * @param {String} tracker Tracker function.
     * @return {void}
     * @static
     */
    this.setTracker =3D function(tracker) {
        _opts.tracker =3D tracker;
    }

    /**
     * Provides a list of all the Flash objects registered.=20
     * @return {Array}
     * @static
     */
    this.getIds =3D function() {
        return _ids;
    }

    /**
     * Provides the id the first and probably the only Flash object =
registered.=20
     * @return {String}
     * @static
     */
    this.getId =3D function(index) {
        return _ids[0];
    }

    /**
     * Sets the id of a single Flash object which will be registered for =
deep linking.
     * @param {String} id ID of the object.
     * @return {void}
     * @static
     */
    this.setId =3D function(id) {
        _ids[0] =3D id;
    }

    /**
     * Adds an id to the list of Flash object registered for deep =
linking.
     * @param {String} id ID of the object.
     * @return {void}
     * @static
     */
    this.addId =3D function(id) {
        this.removeId(id);
        _ids.push(id);
    }

    /**
     * Removes an id from the list of Flash object registered for deep =
linking.
     * @param {String} id ID of the object.
     * @return {void}
     * @static
     */
    this.removeId =3D function(id) {
        for (var i =3D 0; i < _ids.length; i++) {
            if (id =3D=3D _ids[i]) {
                _ids.splice(i, 1);
                break;
            }
        }
    }

    /**
     * Provides the title of the HTML document.
     * @return {String}
     * @static
     */
    this.getTitle =3D function() {
        return _d.title;
    }

    /**
     * Sets the title of the HTML document.
     * @param {String} title Title value.
     * @return {void}
     * @static
     */
    this.setTitle =3D function(title) {
        if (!_supported) return null;
        if (typeof title =3D=3D UNDEFINED) return;
        if (title =3D=3D 'null') title =3D '';
        _title =3D _d.title =3D title;
        _st(function() {
            if (_iframe && _iframe.contentWindow && =
_iframe.contentWindow.document && _iframe.contentWindow.title)
                _iframe.contentWindow.document.title =3D _title;
         }, 1000);
    }

    /**
     * Provides the status of the browser window.
     * @return {String}
     * @static
     */
    this.getStatus =3D function() {
        return _t.status;
    }

    /**
     * Sets the status of the browser window.
     * @param {String} status Status value.
     * @return {void}
     * @static
     */
    this.setStatus =3D function(status) {
        if (!_supported) return null;
        if (typeof status =3D=3D UNDEFINED) return;
        if (!_browser.isSafari()) {
            status =3D _strictCheck((status !=3D 'null') ? status : '', =
true);
            if (status =3D=3D '/') status =3D '';
            if (!(/http(s)?:\/\//.test(status))) {
                var index =3D _l.href.indexOf('#');
                status =3D (index =3D=3D -1 ? _l.href : =
_l.href.substr(0, index)) + '#' + status;
            }
            _t.status =3D status;
        }
    }

    /**
     * Resets the status of the browser window.
     * @return {void}
     * @static
     */
    this.resetStatus =3D function() {
        _t.status =3D '';
    }

    /**
     * Provides the current deep linking value.
     * @return {String}
     * @static
     */
    this.getValue =3D function() {
        if (!_supported) return null;
        return _strictCheck(_value, false);
    }

    /**
     * Sets the current deep linking value.
     * @param {String} value A value which will be appended to the base =
link of the HTML document.
     * @return {void}
     * @static
     */
    this.setValue =3D function(value) {
        if (!_supported) return null;
        if (typeof value =3D=3D UNDEFINED) return;
        if (value =3D=3D 'null') value =3D ''
        value =3D _strictCheck(value, true);
        if (value =3D=3D '/') value =3D '';
        if (_value =3D=3D value) return;
        _value =3D value;
        _silent =3D true;
        _update();
        _stack[_h.length] =3D _value;
        if (_browser.isSafari()) {
            if (_opts.history) {
                _l[SWFADDRESS][_l.pathname] =3D _stack.toString();
                _length =3D _h.length + 1;
                if (_version < 412) {
                    if (_l.search =3D=3D '') {
                        _form.action =3D '#' + _value;
                        _form.submit();
                    }
                } else if (_version < 523){
                    var evt =3D document.createEvent('MouseEvents');
                    evt.initEvent('click', true, true);
                    var anchor =3D document.createElement('a');
                    anchor.href =3D '#' + _value;
                    anchor.dispatchEvent(evt);               =20
                } else {
                    _l.hash =3D '#' + _value;
                }
            } else {
                _l.replace('#' + _value);
            }
        } else if (_value !=3D _getHash()) {
            if (_opts.history)
                _l.hash =3D '#' + _ieLocal(_value);
            else
                _l.replace('#' + _value);
        }
        if (_browser.isIE() && _opts.history) {
            if (_opts.html) {
                var loc =3D _iframe.contentWindow.location;
                loc.assign(loc.pathname + '?' + _getHash());
            } else {
                _htmlWrite();
            }
        }
        if (_browser.isSafari())
            _st(function(){ _silent =3D false; }, 1);
        else
            _silent =3D false;
    }

    /**
     * Provides the deep linking value without the query string.
     * @return {String}
     * @static
     */
    this.getPath =3D function() {
        var value =3D this.getValue();
        return (value.indexOf('?') !=3D -1) ? value.split('?')[0] : =
value;
    }

    /**
     * Provides a list of all the folders in the deep linking path.
     * @return {Array}
     * @static
     */
    this.getPathNames =3D function() {
        var path =3D SWFAddress.getPath();
        var names =3D path.split('/');
        if (path.substr(0, 1) =3D=3D '/')
            names.splice(0, 1);
        if (path.substr(path.length - 1, 1) =3D=3D '/')
            names.splice(names.length - 1, 1);
        return names;
    }

    /**
     * Provides the query string part of the deep linking value.
     * @return {String}
     * @static
     */
    this.getQueryString =3D function() {
        var value =3D this.getValue();
        var index =3D value.indexOf('?');
        return (index !=3D -1 && index < value.length) ? =
value.substr(index + 1) : '';
    }

    /**
     * Provides the value of a specific query parameter.
     * @param {String} param Parameter name.
     * @return {String}
     * @static
     */
    this.getParameter =3D function(param) {
        var value =3D this.getValue();
        var index =3D value.indexOf('?');
        if (index !=3D -1) {
            value =3D value.substr(index + 1);
            var params =3D value.split('&');
            var p, i =3D params.length;
            while(i--) {
                p =3D params[i].split('=3D');
                if (p[0] =3D=3D param)
                    return p[1];
            }
        }
        return '';
    }

    /**
     * Provides a list of all the query parameter names.
     * @return {Array}
     * @static
     */
    this.getParameterNames =3D function() {
        var value =3D this.getValue();
        var index =3D value.indexOf('?');
        var names =3D [];
        if (index !=3D -1) {
            value =3D value.substr(index + 1);
            if (value !=3D '' && value.indexOf('=3D') !=3D -1) {
                var params =3D value.split('&');
                var i =3D 0;
                while(i < params.length) {
                    names.push(params[i].split('=3D')[0]);
                    i++;
                }
            }
        }
        return names;
    }

    if (_supported) {
   =20
        for (var i =3D 1; i < _length; i++)
            _stack.push('');
           =20
        _stack.push(_getHash());
   =20
        if (_browser.isIE() && _l.hash !=3D _getHash())
            _l.hash =3D '#' + _ieLocal(_getHash());
   =20
        try {
            _url =3D String(_searchScript(document).src);
            var qi =3D _url.indexOf('?');
            if (_url && qi > -1) {
                var param, params =3D _url.substr(qi + 1).split('&');
                for (var i =3D 0, p; p =3D params[i]; i++) {
                    param =3D p.split('=3D');
                    if (/^(history|html|strict)$/.test(param[0]))
                        _opts[param[0]] =3D (isNaN(param[1]) ? =
eval(param[1]) : (parseFloat(param[1]) > 0));
                    if (/^tracker$/.test(param[0]))
                        _opts[param[0]] =3D param[1];
                }
            }
        } catch(e) {}
        if (/file:\/\//.test(_l.href)) _opts.html =3D false;
   =20
        _titleCheck();
        _events.addListener(document, 'DOMContentLoaded', _load);
   =20
    } else {
        _track();
    }
}

/**
 * SWFAddress embed hooks.
 * @ignore
 */
new function() {

    var _func, _args;
    var UNDEFINED =3D 'undefined';

    if (typeof swfobject !=3D UNDEFINED) SWFObject =3D swfobject;
    if (typeof FlashObject !=3D UNDEFINED) SWFObject =3D FlashObject;
   =20
    if (typeof SWFObject !=3D UNDEFINED) {
        if (SWFObject.prototype && SWFObject.prototype.write) {
            _func =3D SWFObject.prototype.write;
            SWFObject.prototype.write =3D function() {
                _args =3D arguments;
                if (this.getAttribute('version').major < 8) {
                    this.addVariable('$swfaddress', =
SWFAddress.getValue());
                    ((typeof _args[0] =3D=3D 'string') ?=20
                        document.getElementById(_args[0]) : _args[0]).so =
=3D this;
                }
                var success;
                if (success =3D _func.apply(this, _args))
                    SWFAddress.addId(this.getAttribute('id'));
                return success;
            }
        } else {
            _func =3D SWFObject.registerObject;
            SWFObject.registerObject =3D function() {
                _args =3D arguments;
                _func.apply(this, _args);
                SWFAddress.addId(_args[0]);           =20
            }
            _func =3D SWFObject.createSWF;
            SWFObject.createSWF =3D function() {
                _args =3D arguments;
                _func.apply(this, _args);
                SWFAddress.addId(_args[0].id);           =20
            }
            _func =3D SWFObject.embedSWF;
            SWFObject.embedSWF =3D function() {
                _args =3D arguments;
                _func.apply(this, _args);
                SWFAddress.addId(_args[8].id);           =20
            }
        }
    }
   =20
    if (typeof UFO !=3D UNDEFINED) {
        _func =3D UFO.create;
        UFO.create =3D function() {
            _args =3D arguments;
            _func.apply(this, _args);
            SWFAddress.addId(_args[0].id);       =20
        }
    }
   =20
    if (typeof AC_FL_RunContent !=3D UNDEFINED) {
        _func =3D AC_FL_RunContent;
        AC_FL_RunContent =3D function() {
            _args =3D arguments;       =20
            _func.apply(this, _args);
            for (var i =3D 0, l =3D _args.length; i < l; i++)
                if (_args[i]=3D=3D 'id') SWFAddress.addId(_args[i+1]);
        }
    }
}
------=_NextPart_000_0000_01CB00C6.C7807400--

