/*
 * Shadowbox.js, version 3.0.3
 * http://shadowbox-js.com/
 *
 * Copyright 2007-2010, Michael J. I. Jackson
 * Date: 2011-05-14 06:45:24 +0000
 */
(function(window,undefined){var S={version:"3.0.3"};var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("windows")>-1||ua.indexOf("win32")>-1){S.isWindows=true}else{if(ua.indexOf("macintosh")>-1||ua.indexOf("mac os x")>-1){S.isMac=true}else{if(ua.indexOf("linux")>-1){S.isLinux=true}}}S.isIE=ua.indexOf("msie")>-1;S.isIE6=ua.indexOf("msie 6")>-1;S.isIE7=ua.indexOf("msie 7")>-1;S.isGecko=ua.indexOf("gecko")>-1&&ua.indexOf("safari")==-1;S.isWebKit=ua.indexOf("applewebkit/")>-1;var inlineId=/#(.+)$/,galleryName=/^(light|shadow)box\[(.*?)\]/i,inlineParam=/\s*([a-z_]*?)\s*=\s*(.+)\s*/,fileExtension=/[0-9a-z]+$/i,scriptPath=/(.+\/)shadowbox\.js/i;var open=false,initialized=false,lastOptions={},slideDelay=0,slideStart,slideTimer;S.current=-1;S.dimensions=null;S.ease=function(state){return 1+Math.pow(state-1,3)};S.errorInfo={fla:{name:"Flash",url:"http://www.adobe.com/products/flashplayer/"},qt:{name:"QuickTime",url:"http://www.apple.com/quicktime/download/"},wmp:{name:"Windows Media Player",url:"http://www.microsoft.com/windows/windowsmedia/"},f4m:{name:"Flip4Mac",url:"http://www.flip4mac.com/wmv_download.htm"}};S.gallery=[];S.onReady=noop;S.path=null;S.player=null;S.playerId="sb-player";S.options={animate:true,animateFade:true,autoplayMovies:true,continuous:false,enableKeys:true,flashParams:{bgcolor:"#000000",allowfullscreen:true},flashVars:{},flashVersion:"9.0.115",handleOversize:"resize",handleUnsupported:"link",onChange:noop,onClose:noop,onFinish:noop,onOpen:noop,showMovieControls:true,skipSetup:false,slideshowDelay:0,viewportPadding:20};S.getCurrent=function(){return S.current>-1?S.gallery[S.current]:null};S.hasNext=function(){return S.gallery.length>1&&(S.current!=S.gallery.length-1||S.options.continuous)};S.isOpen=function(){return open};S.isPaused=function(){return slideTimer=="pause"};S.applyOptions=function(options){lastOptions=apply({},S.options);apply(S.options,options)};S.revertOptions=function(){apply(S.options,lastOptions)};S.init=function(options,callback){if(initialized){return}initialized=true;if(S.skin.options){apply(S.options,S.skin.options)}if(options){apply(S.options,options)}if(!S.path){var path,scripts=document.getElementsByTagName("script");for(var i=0,len=scripts.length;i<len;++i){path=scriptPath.exec(scripts[i].src);if(path){S.path=path[1];break}}}if(callback){S.onReady=callback}bindLoad()};S.open=function(obj){if(open){return}var gc=S.makeGallery(obj);S.gallery=gc[0];S.current=gc[1];obj=S.getCurrent();if(obj==null){return}S.applyOptions(obj.options||{});filterGallery();if(S.gallery.length){obj=S.getCurrent();if(S.options.onOpen(obj)===false){return}open=true;S.skin.onOpen(obj,load)}};S.close=function(){if(!open){return}open=false;if(S.player){S.player.remove();S.player=null}if(typeof slideTimer=="number"){clearTimeout(slideTimer);slideTimer=null}slideDelay=0;listenKeys(false);S.options.onClose(S.getCurrent());S.skin.onClose();S.revertOptions()};S.play=function(){if(!S.hasNext()){return}if(!slideDelay){slideDelay=S.options.slideshowDelay*1000}if(slideDelay){slideStart=now();slideTimer=setTimeout(function(){slideDelay=slideStart=0;S.next()},slideDelay);if(S.skin.onPlay){S.skin.onPlay()}}};S.pause=function(){if(typeof slideTimer!="number"){return}slideDelay=Math.max(0,slideDelay-(now()-slideStart));if(slideDelay){clearTimeout(slideTimer);slideTimer="pause";if(S.skin.onPause){S.skin.onPause()}}};S.change=function(index){if(!(index in S.gallery)){if(S.options.continuous){index=(index<0?S.gallery.length+index:0);if(!(index in S.gallery)){return}}else{return}}S.current=index;if(typeof slideTimer=="number"){clearTimeout(slideTimer);slideTimer=null;slideDelay=slideStart=0}S.options.onChange(S.getCurrent());load(true)};S.next=function(){S.change(S.current+1)};S.previous=function(){S.change(S.current-1)};S.setDimensions=function(height,width,maxHeight,maxWidth,topBottom,leftRight,padding,preserveAspect){var originalHeight=height,originalWidth=width;var extraHeight=2*padding+topBottom;if(height+extraHeight>maxHeight){height=maxHeight-extraHeight}var extraWidth=2*padding+leftRight;if(width+extraWidth>maxWidth){width=maxWidth-extraWidth}var changeHeight=(originalHeight-height)/originalHeight,changeWidth=(originalWidth-width)/originalWidth,oversized=(changeHeight>0||changeWidth>0);if(preserveAspect&&oversized){if(changeHeight>changeWidth){width=Math.round((originalWidth/originalHeight)*height)}else{if(changeWidth>changeHeight){height=Math.round((originalHeight/originalWidth)*width)}}}S.dimensions={height:height+topBottom,width:width+leftRight,innerHeight:height,innerWidth:width,top:Math.floor((maxHeight-(height+extraHeight))/2+padding),left:Math.floor((maxWidth-(width+extraWidth))/2+padding),oversized:oversized};return S.dimensions};S.makeGallery=function(obj){var gallery=[],current=-1;if(typeof obj=="string"){obj=[obj]}if(typeof obj.length=="number"){each(obj,function(i,o){if(o.content){gallery[i]=o}else{gallery[i]={content:o}}});current=0}else{if(obj.tagName){var cacheObj=S.getCache(obj);obj=cacheObj?cacheObj:S.makeObject(obj)}if(obj.gallery){gallery=[];var o;for(var key in S.cache){o=S.cache[key];if(o.gallery&&o.gallery==obj.gallery){if(current==-1&&o.content==obj.content){current=gallery.length}gallery.push(o)}}if(current==-1){gallery.unshift(obj);current=0}}else{gallery=[obj];current=0}}each(gallery,function(i,o){gallery[i]=apply({},o)});return[gallery,current]};S.makeObject=function(link,options){var obj={content:link.href,title:link.getAttribute("title")||"",link:link};if(options){options=apply({},options);each(["player","title","height","width","gallery"],function(i,o){if(typeof options[o]!="undefined"){obj[o]=options[o];delete options[o]}});obj.options=options}else{obj.options={}}if(!obj.player){obj.player=S.getPlayer(obj.content)}var rel=link.getAttribute("rel");if(rel){var match=rel.match(galleryName);if(match){obj.gallery=escape(match[2])}each(rel.split(";"),function(i,p){match=p.match(inlineParam);if(match){obj[match[1]]=match[2]}})}return obj};S.getPlayer=function(content){if(content.indexOf("#")>-1&&content.indexOf(document.location.href)==0){return"inline"}var q=content.indexOf("?");if(q>-1){content=content.substring(0,q)}var ext,m=content.match(fileExtension);if(m){ext=m[0].toLowerCase()}if(ext){if(S.img&&S.img.ext.indexOf(ext)>-1){return"img"}if(S.swf&&S.swf.ext.indexOf(ext)>-1){return"swf"}if(S.flv&&S.flv.ext.indexOf(ext)>-1){return"flv"}if(S.qt&&S.qt.ext.indexOf(ext)>-1){if(S.wmp&&S.wmp.ext.indexOf(ext)>-1){return"qtwmp"}else{return"qt"}}if(S.wmp&&S.wmp.ext.indexOf(ext)>-1){return"wmp"}}return"iframe"};function filterGallery(){var err=S.errorInfo,plugins=S.plugins,obj,remove,needed,m,format,replace,inlineEl,flashVersion;for(var i=0;i<S.gallery.length;++i){obj=S.gallery[i];remove=false;needed=null;switch(obj.player){case"flv":case"swf":if(!plugins.fla){needed="fla"}break;case"qt":if(!plugins.qt){needed="qt"}break;case"wmp":if(S.isMac){if(plugins.qt&&plugins.f4m){obj.player="qt"}else{needed="qtf4m"}}else{if(!plugins.wmp){needed="wmp"}}break;case"qtwmp":if(plugins.qt){obj.player="qt"}else{if(plugins.wmp){obj.player="wmp"}else{needed="qtwmp"}}break}if(needed){if(S.options.handleUnsupported=="link"){switch(needed){case"qtf4m":format="shared";replace=[err.qt.url,err.qt.name,err.f4m.url,err.f4m.name];break;case"qtwmp":format="either";replace=[err.qt.url,err.qt.name,err.wmp.url,err.wmp.name];break;default:format="single";replace=[err[needed].url,err[needed].name]}obj.player="html";obj.content='<div class="sb-message">'+sprintf(S.lang.errors[format],replace)+"</div>"}else{remove=true}}else{if(obj.player=="inline"){m=inlineId.exec(obj.content);if(m){inlineEl=get(m[1]);if(inlineEl){obj.content=inlineEl.innerHTML}else{remove=true}}else{remove=true}}else{if(obj.player=="swf"||obj.player=="flv"){flashVersion=(obj.options&&obj.options.flashVersion)||S.options.flashVersion;if(S.flash&&!S.flash.hasFlashPlayerVersion(flashVersion)){obj.width=310;obj.height=177}}}}if(remove){S.gallery.splice(i,1);if(i<S.current){--S.current}else{if(i==S.current){S.current=i>0?i-1:i}}--i}}}function listenKeys(on){if(!S.options.enableKeys){return}(on?addEvent:removeEvent)(document,"keydown",handleKey)}function handleKey(e){if(e.metaKey||e.shiftKey||e.altKey||e.ctrlKey){return}var code=keyCode(e),handler;switch(code){case 81:case 88:case 27:handler=S.close;break;case 37:handler=S.previous;break;case 39:handler=S.next;break;case 32:handler=typeof slideTimer=="number"?S.pause:S.play;break}if(handler){preventDefault(e);handler()}}function load(changing){listenKeys(false);var obj=S.getCurrent();var player=(obj.player=="inline"?"html":obj.player);if(typeof S[player]!="function"){throw"unknown player "+player}if(changing){S.player.remove();S.revertOptions();S.applyOptions(obj.options||{})}S.player=new S[player](obj,S.playerId);if(S.gallery.length>1){var next=S.gallery[S.current+1]||S.gallery[0];if(next.player=="img"){var a=new Image();a.src=next.content}var prev=S.gallery[S.current-1]||S.gallery[S.gallery.length-1];if(prev.player=="img"){var b=new Image();b.src=prev.content}}S.skin.onLoad(changing,waitReady)}function waitReady(){if(!open){return}if(typeof S.player.ready!="undefined"){var timer=setInterval(function(){if(open){if(S.player.ready){clearInterval(timer);timer=null;S.skin.onReady(show)}}else{clearInterval(timer);timer=null}},10)}else{S.skin.onReady(show)}}function show(){if(!open){return}S.player.append(S.skin.body,S.dimensions);S.skin.onShow(finish)}function finish(){if(!open){return}if(S.player.onLoad){S.player.onLoad()}S.options.onFinish(S.getCurrent());if(!S.isPaused()){S.play()}listenKeys(true)}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(obj,from){var len=this.length>>>0;from=from||0;if(from<0){from+=len}for(;from<len;++from){if(from in this&&this[from]===obj){return from}}return -1}}function now(){return(new Date).getTime()}function apply(original,extension){for(var property in extension){original[property]=extension[property]}return original}function each(obj,callback){var i=0,len=obj.length;for(var value=obj[0];i<len&&callback.call(value,i,value)!==false;value=obj[++i]){}}function sprintf(str,replace){return str.replace(/\{(\w+?)\}/g,function(match,i){return replace[i]})}function noop(){}function get(id){return document.getElementById(id)}function remove(el){el.parentNode.removeChild(el)}var supportsOpacity=true,supportsFixed=true;function checkSupport(){var body=document.body,div=document.createElement("div");supportsOpacity=typeof div.style.opacity==="string";div.style.position="fixed";div.style.margin=0;div.style.top="20px";body.appendChild(div,body.firstChild);supportsFixed=div.offsetTop==20;body.removeChild(div)}S.getStyle=(function(){var opacity=/opacity=([^)]*)/,getComputedStyle=document.defaultView&&document.defaultView.getComputedStyle;return function(el,style){var ret;if(!supportsOpacity&&style=="opacity"&&el.currentStyle){ret=opacity.test(el.currentStyle.filter||"")?(parseFloat(RegExp.$1)/100)+"":"";return ret===""?"1":ret}if(getComputedStyle){var computedStyle=getComputedStyle(el,null);if(computedStyle){ret=computedStyle[style]}if(style=="opacity"&&ret==""){ret="1"}}else{ret=el.currentStyle[style]}return ret}})();S.appendHTML=function(el,html){if(el.insertAdjacentHTML){el.insertAdjacentHTML("BeforeEnd",html)}else{if(el.lastChild){var range=el.ownerDocument.createRange();range.setStartAfter(el.lastChild);var frag=range.createContextualFragment(html);el.appendChild(frag)}else{el.innerHTML=html}}};S.getWindowSize=function(dimension){if(document.compatMode==="CSS1Compat"){return document.documentElement["client"+dimension]}return document.body["client"+dimension]};S.setOpacity=function(el,opacity){var style=el.style;if(supportsOpacity){style.opacity=(opacity==1?"":opacity)}else{style.zoom=1;if(opacity==1){if(typeof style.filter=="string"&&(/alpha/i).test(style.filter)){style.filter=style.filter.replace(/\s*[\w\.]*alpha\([^\)]*\);?/gi,"")}}else{style.filter=(style.filter||"").replace(/\s*[\w\.]*alpha\([^\)]*\)/gi,"")+" alpha(opacity="+(opacity*100)+")"}}};S.clearOpacity=function(el){S.setOpacity(el,1)};function getTarget(e){var target=e.target?e.target:e.srcElement;return target.nodeType==3?target.parentNode:target}function getPageXY(e){var x=e.pageX||(e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)),y=e.pageY||(e.clientY+(document.documentElement.scrollTop||document.body.scrollTop));return[x,y]}function preventDefault(e){e.preventDefault()}function keyCode(e){return e.which?e.which:e.keyCode}function addEvent(el,type,handler){if(el.addEventListener){el.addEventListener(type,handler,false)}else{if(el.nodeType===3||el.nodeType===8){return}if(el.setInterval&&(el!==window&&!el.frameElement)){el=window}if(!handler.__guid){handler.__guid=addEvent.guid++}if(!el.events){el.events={}}var handlers=el.events[type];if(!handlers){handlers=el.events[type]={};if(el["on"+type]){handlers[0]=el["on"+type]}}handlers[handler.__guid]=handler;el["on"+type]=addEvent.handleEvent}}addEvent.guid=1;addEvent.handleEvent=function(event){var result=true;event=event||addEvent.fixEvent(((this.ownerDocument||this.document||this).parentWindow||window).event);var handlers=this.events[event.type];for(var i in handlers){this.__handleEvent=handlers[i];if(this.__handleEvent(event)===false){result=false}}return result};addEvent.preventDefault=function(){this.returnValue=false};addEvent.stopPropagation=function(){this.cancelBubble=true};addEvent.fixEvent=function(e){e.preventDefault=addEvent.preventDefault;e.stopPropagation=addEvent.stopPropagation;return e};function removeEvent(el,type,handler){if(el.removeEventListener){el.removeEventListener(type,handler,false)}else{if(el.events&&el.events[type]){delete el.events[type][handler.__guid]}}}var loaded=false,DOMContentLoaded;if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);S.load()}}else{if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);S.load()}}}}function doScrollCheck(){if(loaded){return}try{document.documentElement.doScroll("left")}catch(e){setTimeout(doScrollCheck,1);return}S.load()}function bindLoad(){if(document.readyState==="complete"){return S.load()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",S.load,false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",S.load);var topLevel=false;try{topLevel=window.frameElement===null}catch(e){}if(document.documentElement.doScroll&&topLevel){doScrollCheck()}}}}S.load=function(){if(loaded){return}if(!document.body){return setTimeout(S.load,13)}loaded=true;checkSupport();S.onReady();if(!S.options.skipSetup){S.setup()}S.skin.init()};S.plugins={};if(navigator.plugins&&navigator.plugins.length){var names=[];each(navigator.plugins,function(i,p){names.push(p.name)});names=names.join(",");var f4m=names.indexOf("Flip4Mac")>-1;S.plugins={fla:names.indexOf("Shockwave Flash")>-1,qt:names.indexOf("QuickTime")>-1,wmp:!f4m&&names.indexOf("Windows Media")>-1,f4m:f4m}}else{var detectPlugin=function(name){var axo;try{axo=new ActiveXObject(name)}catch(e){}return !!axo};S.plugins={fla:detectPlugin("ShockwaveFlash.ShockwaveFlash"),qt:detectPlugin("QuickTime.QuickTime"),wmp:detectPlugin("wmplayer.ocx"),f4m:false}}var relAttr=/^(light|shadow)box/i,expando="shadowboxCacheKey",cacheKey=1;S.cache={};S.select=function(selector){var links=[];if(!selector){var rel;each(document.getElementsByTagName("a"),function(i,el){rel=el.getAttribute("rel");if(rel&&relAttr.test(rel)){links.push(el)}})}else{var length=selector.length;if(length){if(typeof selector=="string"){if(S.find){links=S.find(selector)}}else{if(length==2&&typeof selector[0]=="string"&&selector[1].nodeType){if(S.find){links=S.find(selector[0],selector[1])}}else{for(var i=0;i<length;++i){links[i]=selector[i]}}}}else{links.push(selector)}}return links};S.setup=function(selector,options){each(S.select(selector),function(i,link){S.addCache(link,options)})};S.teardown=function(selector){each(S.select(selector),function(i,link){S.removeCache(link)})};S.addCache=function(link,options){var key=link[expando];if(key==undefined){key=cacheKey++;link[expando]=key;addEvent(link,"click",handleClick)}S.cache[key]=S.makeObject(link,options)};S.removeCache=function(link){removeEvent(link,"click",handleClick);delete S.cache[link[expando]];link[expando]=null};S.getCache=function(link){var key=link[expando];return(key in S.cache&&S.cache[key])};S.clearCache=function(){for(var key in S.cache){S.removeCache(S.cache[key].link)}S.cache={}};function handleClick(e){S.open(this);if(S.gallery.length){preventDefault(e)}}
/*
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 *
 * Modified for inclusion in Shadowbox.js
 */
S.find=(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true;[0,0].sort(function(){baseHasDuplicate=false;return 0});var Sizzle=function(selector,context,results,seed){results=results||[];var origContext=context=context||document;if(context.nodeType!==1&&context.nodeType!==9){return[]}if(!selector||typeof selector!=="string"){return results}var parts=[],m,set,checkSet,extra,prune=true,contextXML=isXML(context),soFar=selector;while((chunker.exec(""),m=chunker.exec(soFar))!==null){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break}}if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context)}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift()}set=posProcess(selector,set)}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){var ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0]}if(context){var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set)}else{prune=false}while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur=""}else{pop=parts.pop()}if(pop==null){pop=context}Expr.relative[cur](checkSet,pop,contextXML)}}else{checkSet=parts=[]}}if(!checkSet){checkSet=set}if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector)}if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet)}else{if(context&&context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i])}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i])}}}}}else{makeArray(checkSet,results)}if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results)}return results};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1)}}}}return results};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set)};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[]}for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.leftMatch[type].exec(expr))){var left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break}}}}if(!set){set=context.getElementsByTagName("*")}return{set:set,expr:expr}};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop===result){result=[]}if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true}else{if(match===true){continue}}}if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true}else{curLoop[i]=false}}else{if(pass){result.push(item);anyFound=true}}}}}if(found!==undefined){if(!inplace){curLoop=result}expr=expr.replace(Expr.match[type],"");if(!anyFound){return[]}break}}}if(expr===old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr}else{break}}old=expr}return curLoop};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href")}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase()}for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part}}if(isPartStrNotTag){Sizzle.filter(part,checkSet,true)}},">":function(checkSet,part){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=part.toLowerCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part}}if(isPartStr){Sizzle.filter(part,checkSet,true)}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){var nodeCheck=part=part.toLowerCase();checkFn=dirNodeCheck}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML)},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){var nodeCheck=part=part.toLowerCase();checkFn=dirNodeCheck}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML)}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[]}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i])}}return ret.length===0?null:ret}},TAG:function(match,context){return context.getElementsByTagName(match[1])}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match}for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem)}}else{if(inplace){curLoop[i]=false}}}}return false},ID:function(match){return match[1].replace(/\\/g,"")},TAG:function(match,curLoop){return match[1].toLowerCase()},CHILD:function(match){if(match[1]==="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0}match[0]=done++;return match},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name]}if(match[2]==="~="){match[4]=" "+match[4]+" "}return match},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop)}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret)}return false}}else{if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true}}return match},POS:function(match){match.unshift(true);return match}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden"},disabled:function(elem){return elem.disabled===true},checked:function(elem){return elem.checked===true},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true},parent:function(elem){return !!elem.firstChild},empty:function(elem){return !elem.firstChild},has:function(elem,i,match){return !!Sizzle(match[3],elem).length},header:function(elem){return/h\d/i.test(elem.nodeName)},text:function(elem){return"text"===elem.type},radio:function(elem){return"radio"===elem.type},checkbox:function(elem){return"checkbox"===elem.type},file:function(elem){return"file"===elem.type},password:function(elem){return"password"===elem.type},submit:function(elem){return"submit"===elem.type},image:function(elem){return"image"===elem.type},reset:function(elem){return"reset"===elem.type},button:function(elem){return"button"===elem.type||elem.nodeName.toLowerCase()==="button"},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName)}},setFilters:{first:function(elem,i){return i===0},last:function(elem,i,match,array){return i===array.length-1},even:function(elem,i){return i%2===0},odd:function(elem,i){return i%2===1},lt:function(elem,i,match){return i<match[3]-0},gt:function(elem,i,match){return i>match[3]-0},nth:function(elem,i,match){return match[3]-0===i},eq:function(elem,i,match){return match[3]-0===i}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array)}else{if(name==="contains"){return(elem.textContent||elem.innerText||getText([elem])||"").indexOf(match[3])>=0}else{if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false}}return true}else{throw"Syntax error, unrecognized expression: "+name}}}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while((node=node.previousSibling)){if(node.nodeType===1){return false}}if(type==="first"){return true}node=elem;case"last":while((node=node.nextSibling)){if(node.nodeType===1){return false}}return true;case"nth":var first=match[2],last=match[3];if(first===1&&last===0){return true}var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count}}parent.sizcache=doneName}var diff=elem.nodeIndex-last;if(first===0){return diff===0}else{return(diff%first===0&&diff/first>=0)}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array)}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source)}var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results}return array};try{Array.prototype.slice.call(document.documentElement.childNodes,0)}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array)}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i])}}else{for(var i=0;array[i];i++){ret.push(array[i])}}}return ret}}var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(!a.compareDocumentPosition||!b.compareDocumentPosition){if(a==b){hasDuplicate=true}return a.compareDocumentPosition?-1:1}var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true}return ret}}else{if("sourceIndex" in document.documentElement){sortOrder=function(a,b){if(!a.sourceIndex||!b.sourceIndex){if(a==b){hasDuplicate=true}return a.sourceIndex?-1:1}var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true}return ret}}else{if(document.createRange){sortOrder=function(a,b){if(!a.ownerDocument||!b.ownerDocument){if(a==b){hasDuplicate=true}return a.ownerDocument?-1:1}var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.setStart(a,0);aRange.setEnd(a,0);bRange.setStart(b,0);bRange.setEnd(b,0);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true}return ret}}}}function getText(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue}else{if(elem.nodeType!==8){ret+=getText(elem.childNodes)}}}return ret}(function(){var form=document.createElement("div"),id="script"+(new Date).getTime();form.innerHTML="<a name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[]}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match}}root.removeChild(form);root=form=null})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i])}}results=tmp}return results}}div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2)}}div=null})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return}Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra)}catch(e){}}return oldSizzle(query,context,extra,seed)};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop]}div=null})()}(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return}div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return}Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1])}};div=null})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i}if(elem.nodeName.toLowerCase()===cur){match=elem;break}elem=elem[dir]}checkSet[i]=match}}}function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i}if(typeof cur!=="string"){if(elem===cur){match=true;break}}else{if(Sizzle.filter(cur,[elem]).length>0){match=elem;break}}}elem=elem[dir]}checkSet[i]=match}}}var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16}:function(a,b){return a!==b&&(a.contains?a.contains(b):true)};var isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"")}selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet)}return Sizzle.filter(later,tmpSet)};return Sizzle})();



/*
 * SWFObject v2.1 <http://code.google.com/p/swfobject/>
 * Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
 * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
 *
 * Modified for inclusion in Shadowbox.js
 */
S.flash=(function(){var swfobject=function(){var UNDEF="undefined",OBJECT="object",SHOCKWAVE_FLASH="Shockwave Flash",SHOCKWAVE_FLASH_AX="ShockwaveFlash.ShockwaveFlash",FLASH_MIME_TYPE="application/x-shockwave-flash",EXPRESS_INSTALL_ID="SWFObjectExprInst",win=window,doc=document,nav=navigator,domLoadFnArr=[],regObjArr=[],objIdArr=[],listenersArr=[],script,timer=null,storedAltContent=null,storedAltContentId=null,isDomLoaded=false,isExpressInstallActive=false;var ua=function(){var w3cdom=typeof doc.getElementById!=UNDEF&&typeof doc.getElementsByTagName!=UNDEF&&typeof doc.createElement!=UNDEF,playerVersion=[0,0,0],d=null;if(typeof nav.plugins!=UNDEF&&typeof nav.plugins[SHOCKWAVE_FLASH]==OBJECT){d=nav.plugins[SHOCKWAVE_FLASH].description;if(d&&!(typeof nav.mimeTypes!=UNDEF&&nav.mimeTypes[FLASH_MIME_TYPE]&&!nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)){d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);playerVersion[2]=/r/.test(d)?parseInt(d.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof win.ActiveXObject!=UNDEF){var a=null,fp6Crash=false;try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".7")}catch(e){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".6");playerVersion=[6,0,21];a.AllowScriptAccess="always"}catch(e){if(playerVersion[0]==6){fp6Crash=true}}if(!fp6Crash){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX)}catch(e){}}}if(!fp6Crash&&a){try{d=a.GetVariable("$version");if(d){d=d.split(" ")[1].split(",");playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)]}}catch(e){}}}}var u=nav.userAgent.toLowerCase(),p=nav.platform.toLowerCase(),webkit=/webkit/.test(u)?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ie=false,windows=p?/win/.test(p):/win/.test(u),mac=p?/mac/.test(p):/mac/.test(u);
/*@cc_on
			ie = true;
			@if (@_win32)
				windows = true;
			@elif (@_mac)
				mac = true;
			@end
		@*/
	return {
	    w3cdom: w3cdom,
	    pv: playerVersion,
	    webkit: webkit,
	    ie: ie,
	    win: windows,
	    mac: mac
	}
	}();
	var onDomLoad = function () {
	        if (!ua.w3cdom) {
	            return
	        }
	        addDomLoadEvent(main);
	        if (ua.ie && ua.win) {
	            try {
	                doc.write("<script id=__ie_ondomload defer=true src=//:><\/script>");
	                script = getElementById("__ie_ondomload");
	                if (script) {
	                    addListener(script, "onreadystatechange", checkReadyState)
	                }
	            } catch (e) {}
	        }
	        if (ua.webkit && typeof doc.readyState != UNDEF) {
	            timer = setInterval(function () {
	                if (/loaded|complete/.test(doc.readyState)) {
	                    callDomLoadFunctions()
	                }
	            }, 10)
	        }
	        if (typeof doc.addEventListener != UNDEF) {
	            doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null)
	        }
	        addLoadEvent(callDomLoadFunctions)
	    }();

	function checkReadyState() {
	    if (script.readyState == "complete") {
	        if (script && script.parentNode) script.parentNode.removeChild(script);
	        callDomLoadFunctions()
	    }
	}
	function callDomLoadFunctions() {
	    if (isDomLoaded) {
	        return
	    }
	    if (ua.ie && ua.win) {
	        var s = createElement("span");
	        try {
	            var t = doc.getElementsByTagName("body")[0].appendChild(s);
	            t.parentNode.removeChild(t)
	        } catch (e) {
	            return
	        }
	    }
	    isDomLoaded = true;
	    if (timer) {
	        clearInterval(timer);
	        timer = null
	    }
	    var dl = domLoadFnArr.length;
	    for (var i = 0; i < dl; i++) {
	        domLoadFnArr[i]()
	    }
	}
	function addDomLoadEvent(fn) {
	    if (isDomLoaded) {
	        fn()
	    } else {
	        domLoadFnArr[domLoadFnArr.length] = fn
	    }
	}
	function addLoadEvent(fn) {
	    if (typeof win.addEventListener != UNDEF) {
	        win.addEventListener("load", fn, false)
	    } else {
	        if (typeof doc.addEventListener != UNDEF) {
	            doc.addEventListener("load", fn, false)
	        } else {
	            if (typeof win.attachEvent != UNDEF) {
	                addListener(win, "onload", fn)
	            } else {
	                if (typeof win.onload == "function") {
	                    var fnOld = win.onload;
	                    win.onload = function () {
	                        fnOld();
	                        fn()
	                    }
	                } else {
	                    win.onload = fn
	                }
	            }
	        }
	    }
	}
	function main() {
	    var rl = regObjArr.length;
	    for (var i = 0; i < rl; i++) {
	        var id = regObjArr[i].id;
	        if (ua.pv[0] > 0) {
	            var obj = getElementById(id);
	            if (obj) {
	                regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";
	                regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";
	                if (hasPlayerVersion(regObjArr[i].swfVersion)) {
	                    if (ua.webkit && ua.webkit < 312) {
	                        fixParams(obj)
	                    }
	                    setVisibility(id, true)
	                } else {
	                    if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
	                        showExpressInstall(regObjArr[i])
	                    } else {
	                        displayAltContent(obj)
	                    }
	                }
	            }
	        } else {
	            setVisibility(id, true)
	        }
	    }
	}
	function fixParams(obj) {
	    var nestedObj = obj.getElementsByTagName(OBJECT)[0];
	    if (nestedObj) {
	        var e = createElement("embed"),
	            a = nestedObj.attributes;
	        if (a) {
	            var al = a.length;
	            for (var i = 0; i < al; i++) {
	                if (a[i].nodeName == "DATA") {
	                    e.setAttribute("src", a[i].nodeValue)
	                } else {
	                    e.setAttribute(a[i].nodeName, a[i].nodeValue)
	                }
	            }
	        }
	        var c = nestedObj.childNodes;
	        if (c) {
	            var cl = c.length;
	            for (var j = 0; j < cl; j++) {
	                if (c[j].nodeType == 1 && c[j].nodeName == "PARAM") {
	                    e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"))
	                }
	            }
	        }
	        obj.parentNode.replaceChild(e, obj)
	    }
	}
	function showExpressInstall(regObj) {
	    isExpressInstallActive = true;
	    var obj = getElementById(regObj.id);
	    if (obj) {
	        if (regObj.altContentId) {
	            var ac = getElementById(regObj.altContentId);
	            if (ac) {
	                storedAltContent = ac;
	                storedAltContentId = regObj.altContentId
	            }
	        } else {
	            storedAltContent = abstractAltContent(obj)
	        }
	        if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
	            regObj.width = "310"
	        }
	        if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {
	            regObj.height = "137"
	        }
	        doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
	        var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
	            dt = doc.title,
	            fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,
	            replaceId = regObj.id;
	        if (ua.ie && ua.win && obj.readyState != 4) {
	            var newObj = createElement("div");
	            replaceId += "SWFObjectNew";
	            newObj.setAttribute("id", replaceId);
	            obj.parentNode.insertBefore(newObj, obj);
	            obj.style.display = "none";
	            var fn = function () {
	                    obj.parentNode.removeChild(obj)
	                };
	            addListener(win, "onload", fn)
	        }
	        createSWF({
	            data: regObj.expressInstall,
	            id: EXPRESS_INSTALL_ID,
	            width: regObj.width,
	            height: regObj.height
	        }, {
	            flashvars: fv
	        }, replaceId)
	    }
	}
	function displayAltContent(obj) {
	    if (ua.ie && ua.win && obj.readyState != 4) {
	        var el = createElement("div");
	        obj.parentNode.insertBefore(el, obj);
	        el.parentNode.replaceChild(abstractAltContent(obj), el);
	        obj.style.display = "none";
	        var fn = function () {
	                obj.parentNode.removeChild(obj)
	            };
	        addListener(win, "onload", fn)
	    } else {
	        obj.parentNode.replaceChild(abstractAltContent(obj), obj)
	    }
	}
	function abstractAltContent(obj) {
	    var ac = createElement("div");
	    if (ua.win && ua.ie) {
	        ac.innerHTML = obj.innerHTML
	    } else {
	        var nestedObj = obj.getElementsByTagName(OBJECT)[0];
	        if (nestedObj) {
	            var c = nestedObj.childNodes;
	            if (c) {
	                var cl = c.length;
	                for (var i = 0; i < cl; i++) {
	                    if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
	                        ac.appendChild(c[i].cloneNode(true))
	                    }
	                }
	            }
	        }
	    }
	    return ac
	}
	function createSWF(attObj, parObj, id) {
	    var r, el = getElementById(id);
	    if (el) {
	        if (typeof attObj.id == UNDEF) {
	            attObj.id = id
	        }
	        if (ua.ie && ua.win) {
	            var att = "";
	            for (var i in attObj) {
	                if (attObj[i] != Object.prototype[i]) {
	                    if (i.toLowerCase() == "data") {
	                        parObj.movie = attObj[i]
	                    } else {
	                        if (i.toLowerCase() == "styleclass") {
	                            att += ' class="' + attObj[i] + '"'
	                        } else {
	                            if (i.toLowerCase() != "classid") {
	                                att += " " + i + '="' + attObj[i] + '"'
	                            }
	                        }
	                    }
	                }
	            }
	            var par = "";
	            for (var j in parObj) {
	                if (parObj[j] != Object.prototype[j]) {
	                    par += '<param name="' + j + '" value="' + parObj[j] + '" />'
	                }
	            }
	            el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + ">" + par + "</object>";
	            objIdArr[objIdArr.length] = attObj.id;
	            r = getElementById(attObj.id)
	        } else {
	            if (ua.webkit && ua.webkit < 312) {
	                var e = createElement("embed");
	                e.setAttribute("type", FLASH_MIME_TYPE);
	                for (var k in attObj) {
	                    if (attObj[k] != Object.prototype[k]) {
	                        if (k.toLowerCase() == "data") {
	                            e.setAttribute("src", attObj[k])
	                        } else {
	                            if (k.toLowerCase() == "styleclass") {
	                                e.setAttribute("class", attObj[k])
	                            } else {
	                                if (k.toLowerCase() != "classid") {
	                                    e.setAttribute(k, attObj[k])
	                                }
	                            }
	                        }
	                    }
	                }
	                for (var l in parObj) {
	                    if (parObj[l] != Object.prototype[l]) {
	                        if (l.toLowerCase() != "movie") {
	                            e.setAttribute(l, parObj[l])
	                        }
	                    }
	                }
	                el.parentNode.replaceChild(e, el);
	                r = e
	            } else {
	                var o = createElement(OBJECT);
	                o.setAttribute("type", FLASH_MIME_TYPE);
	                for (var m in attObj) {
	                    if (attObj[m] != Object.prototype[m]) {
	                        if (m.toLowerCase() == "styleclass") {
	                            o.setAttribute("class", attObj[m])
	                        } else {
	                            if (m.toLowerCase() != "classid") {
	                                o.setAttribute(m, attObj[m])
	                            }
	                        }
	                    }
	                }
	                for (var n in parObj) {
	                    if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") {
	                        createObjParam(o, n, parObj[n])
	                    }
	                }
	                el.parentNode.replaceChild(o, el);
	                r = o
	            }
	        }
	    }
	    return r
	}
	function createObjParam(el, pName, pValue) {
	    var p = createElement("param");
	    p.setAttribute("name", pName);
	    p.setAttribute("value", pValue);
	    el.appendChild(p)
	}
	function removeSWF(id) {
	    var obj = getElementById(id);
	    if (obj && (obj.nodeName == "OBJECT" || obj.nodeName == "EMBED")) {
	        if (ua.ie && ua.win) {
	            if (obj.readyState == 4) {
	                removeObjectInIE(id)
	            } else {
	                win.attachEvent("onload", function () {
	                    removeObjectInIE(id)
	                })
	            }
	        } else {
	            obj.parentNode.removeChild(obj)
	        }
	    }
	}
	function removeObjectInIE(id) {
	    var obj = getElementById(id);
	    if (obj) {
	        for (var i in obj) {
	            if (typeof obj[i] == "function") {
	                obj[i] = null
	            }
	        }
	        obj.parentNode.removeChild(obj)
	    }
	}
	function getElementById(id) {
	    var el = null;
	    try {
	        el = doc.getElementById(id)
	    } catch (e) {}
	    return el
	}
	function createElement(el) {
	    return doc.createElement(el)
	}
	function addListener(target, eventType, fn) {
	    target.attachEvent(eventType, fn);
	    listenersArr[listenersArr.length] = [target, eventType, fn]
	}
	function hasPlayerVersion(rv) {
	    var pv = ua.pv,
	        v = rv.split(".");
	    v[0] = parseInt(v[0], 10);
	    v[1] = parseInt(v[1], 10) || 0;
	    v[2] = parseInt(v[2], 10) || 0;
	    return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false
	}
	function createCSS(sel, decl) {
	    if (ua.ie && ua.mac) {
	        return
	    }
	    var h = doc.getElementsByTagName("head")[0],
	        s = createElement("style");
	    s.setAttribute("type", "text/css");
	    s.setAttribute("media", "screen");
	    if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
	        s.appendChild(doc.createTextNode(sel + " {" + decl + "}"))
	    }
	    h.appendChild(s);
	    if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
	        var ls = doc.styleSheets[doc.styleSheets.length - 1];
	        if (typeof ls.addRule == OBJECT) {
	            ls.addRule(sel, decl)
	        }
	    }
	}
	function setVisibility(id, isVisible) {
	    var v = isVisible ? "visible" : "hidden";
	    if (isDomLoaded && getElementById(id)) {
	        getElementById(id).style.visibility = v
	    } else {
	        createCSS("#" + id, "visibility:" + v)
	    }
	}
	function urlEncodeIfNecessary(s) {
	    var regex = /[\\\"<>\.;]/;
	    var hasBadChars = regex.exec(s) != null;
	    return hasBadChars ? encodeURIComponent(s) : s
	}
	var cleanup = function () {
	        if (ua.ie && ua.win) {
	            window.attachEvent("onunload", function () {
	                var ll = listenersArr.length;
	                for (var i = 0; i < ll; i++) {
	                    listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2])
	                }
	                var il = objIdArr.length;
	                for (var j = 0; j < il; j++) {
	                    removeSWF(objIdArr[j])
	                }
	                for (var k in ua) {
	                    ua[k] = null
	                }
	                ua = null;
	                for (var l in swfobject) {
	                    swfobject[l] = null
	                }
	                swfobject = null
	            })
	        }
	    }();
	return {
	    registerObject: function (objectIdStr, swfVersionStr, xiSwfUrlStr) {
	        if (!ua.w3cdom || !objectIdStr || !swfVersionStr) {
	            return
	        }
	        var regObj = {};
	        regObj.id = objectIdStr;
	        regObj.swfVersion = swfVersionStr;
	        regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : false;
	        regObjArr[regObjArr.length] = regObj;
	        setVisibility(objectIdStr, false)
	    },
	    getObjectById: function (objectIdStr) {
	        var r = null;
	        if (ua.w3cdom) {
	            var o = getElementById(objectIdStr);
	            if (o) {
	                var n = o.getElementsByTagName(OBJECT)[0];
	                if (!n || (n && typeof o.SetVariable != UNDEF)) {
	                    r = o
	                } else {
	                    if (typeof n.SetVariable != UNDEF) {
	                        r = n
	                    }
	                }
	            }
	        }
	        return r
	    },
	    embedSWF: function (swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
	        if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {
	            return
	        }
	        widthStr += "";
	        heightStr += "";
	        if (hasPlayerVersion(swfVersionStr)) {
	            setVisibility(replaceElemIdStr, false);
	            var att = {};
	            if (attObj && typeof attObj === OBJECT) {
	                for (var i in attObj) {
	                    if (attObj[i] != Object.prototype[i]) {
	                        att[i] = attObj[i]
	                    }
	                }
	            }
	            att.data = swfUrlStr;
	            att.width = widthStr;
	            att.height = heightStr;
	            var par = {};
	            if (parObj && typeof parObj === OBJECT) {
	                for (var j in parObj) {
	                    if (parObj[j] != Object.prototype[j]) {
	                        par[j] = parObj[j]
	                    }
	                }
	            }
	            if (flashvarsObj && typeof flashvarsObj === OBJECT) {
	                for (var k in flashvarsObj) {
	                    if (flashvarsObj[k] != Object.prototype[k]) {
	                        if (typeof par.flashvars != UNDEF) {
	                            par.flashvars += "&" + k + "=" + flashvarsObj[k]
	                        } else {
	                            par.flashvars = k + "=" + flashvarsObj[k]
	                        }
	                    }
	                }
	            }
	            addDomLoadEvent(function () {
	                createSWF(att, par, replaceElemIdStr);
	                if (att.id == replaceElemIdStr) {
	                    setVisibility(replaceElemIdStr, true)
	                }
	            })
	        } else {
	            if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
	                isExpressInstallActive = true;
	                setVisibility(replaceElemIdStr, false);
	                addDomLoadEvent(function () {
	                    var regObj = {};
	                    regObj.id = regObj.altContentId = replaceElemIdStr;
	                    regObj.width = widthStr;
	                    regObj.height = heightStr;
	                    regObj.expressInstall = xiSwfUrlStr;
	                    showExpressInstall(regObj)
	                })
	            }
	        }
	    },
	    getFlashPlayerVersion: function () {
	        return {
	            major: ua.pv[0],
	            minor: ua.pv[1],
	            release: ua.pv[2]
	        }
	    },
	    hasFlashPlayerVersion: hasPlayerVersion,
	    createSWF: function (attObj, parObj, replaceElemIdStr) {
	        if (ua.w3cdom) {
	            return createSWF(attObj, parObj, replaceElemIdStr)
	        } else {
	            return undefined
	        }
	    },
	    removeSWF: function (objElemIdStr) {
	        if (ua.w3cdom) {
	            removeSWF(objElemIdStr)
	        }
	    },
	    createCSS: function (sel, decl) {
	        if (ua.w3cdom) {
	            createCSS(sel, decl)
	        }
	    },
	    addDomLoadEvent: addDomLoadEvent,
	    addLoadEvent: addLoadEvent,
	    getQueryParamValue: function (param) {
	        var q = doc.location.search || doc.location.hash;
	        if (param == null) {
	            return urlEncodeIfNecessary(q)
	        }
	        if (q) {
	            var pairs = q.substring(1).split("&");
	            for (var i = 0; i < pairs.length; i++) {
	                if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
	                    return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)))
	                }
	            }
	        }
	        return ""
	    },
	    expressInstallCallback: function () {
	        if (isExpressInstallActive && storedAltContent) {
	            var obj = getElementById(EXPRESS_INSTALL_ID);
	            if (obj) {
	                obj.parentNode.replaceChild(storedAltContent, obj);
	                if (storedAltContentId) {
	                    setVisibility(storedAltContentId, true);
	                    if (ua.ie && ua.win) {
	                        storedAltContent.style.display = "block"
	                    }
	                }
	                storedAltContent = null;
	                storedAltContentId = null;
	                isExpressInstallActive = false
	            }
	        }
	    }
	}
	}();
	return swfobject
	})();
	S.lang = {
	    code: "en",
	    of: "of",
	    loading: "loading",
	    cancel: "Cancel",
	    next: "Next",
	    previous: "Previous",
	    play: "Play",
	    pause: "Pause",
	    close: "Close",
	    errors: {
	        single: 'You must install the <a href="{0}">{1}</a> browser plugin to view this content.',
	        shared: 'You must install both the <a href="{0}">{1}</a> and <a href="{2}">{3}</a> browser plugins to view this content.',
	        either: 'You must install either the <a href="{0}">{1}</a> or the <a href="{2}">{3}</a> browser plugin to view this content.'
	    }
	};
	var pre, proxyId = "sb-drag-proxy",
	    dragData, dragProxy, dragTarget;

	function resetDrag() {
	    dragData = {
	        x: 0,
	        y: 0,
	        startX: null,
	        startY: null
	    }
	}
	function updateProxy() {
	    var dims = S.dimensions;
	    apply(dragProxy.style, {
	        height: dims.innerHeight + "px",
	        width: dims.innerWidth + "px"
	    })
	}
	function enableDrag() {
	    resetDrag();
	    var style = ["position:absolute", "cursor:" + (S.isGecko ? "-moz-grab" : "move"), "background-color:" + (S.isIE ? "#fff;filter:alpha(opacity=0)" : "transparent")].join(";");
	    S.appendHTML(S.skin.body, '<div id="' + proxyId + '" style="' + style + '"></div>');
	    dragProxy = get(proxyId);
	    updateProxy();
	    addEvent(dragProxy, "mousedown", startDrag)
	}
	function disableDrag() {
	    if (dragProxy) {
	        removeEvent(dragProxy, "mousedown", startDrag);
	        remove(dragProxy);
	        dragProxy = null
	    }
	    dragTarget = null
	}
	function startDrag(e) {
	    preventDefault(e);
	    var xy = getPageXY(e);
	    dragData.startX = xy[0];
	    dragData.startY = xy[1];
	    dragTarget = get(S.player.id);
	    addEvent(document, "mousemove", positionDrag);
	    addEvent(document, "mouseup", endDrag);
	    if (S.isGecko) {
	        dragProxy.style.cursor = "-moz-grabbing"
	    }
	}
	function positionDrag(e) {
	    var player = S.player,
	        dims = S.dimensions,
	        xy = getPageXY(e);
	    var moveX = xy[0] - dragData.startX;
	    dragData.startX += moveX;
	    dragData.x = Math.max(Math.min(0, dragData.x + moveX), dims.innerWidth - player.width);
	    var moveY = xy[1] - dragData.startY;
	    dragData.startY += moveY;
	    dragData.y = Math.max(Math.min(0, dragData.y + moveY), dims.innerHeight - player.height);
	    apply(dragTarget.style, {
	        left: dragData.x + "px",
	        top: dragData.y + "px"
	    })
	}
	function endDrag() {
	    removeEvent(document, "mousemove", positionDrag);
	    removeEvent(document, "mouseup", endDrag);
	    if (S.isGecko) {
	        dragProxy.style.cursor = "-moz-grab"
	    }
	}
	S.img = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    this.ready = false;
	    var self = this;
	    pre = new Image();
	    pre.onload = function () {
	        self.height = obj.height ? parseInt(obj.height, 10) : pre.height;
	        self.width = obj.width ? parseInt(obj.width, 10) : pre.width;
	        self.ready = true;
	        pre.onload = null;
	        pre = null
	    };
	    pre.src = obj.content
	};
	S.img.ext = ["bmp", "gif", "jpg", "jpeg", "png"];
	S.img.prototype = {
	    append: function (body, dims) {
	        var img = document.createElement("img");
	        img.id = this.id;
	        img.src = this.obj.content;
	        img.style.position = "absolute";
	        var height, width;
	        if (dims.oversized && S.options.handleOversize == "resize") {
	            height = dims.innerHeight;
	            width = dims.innerWidth
	        } else {
	            height = this.height;
	            width = this.width
	        }
	        img.setAttribute("height", height);
	        img.setAttribute("width", width);
	        body.appendChild(img)
	    },
	    remove: function () {
	        var el = get(this.id);
	        if (el) {
	            remove(el)
	        }
	        disableDrag();
	        if (pre) {
	            pre.onload = null;
	            pre = null
	        }
	    },
	    onLoad: function () {
	        var dims = S.dimensions;
	        if (dims.oversized && S.options.handleOversize == "drag") {
	            enableDrag()
	        }
	    },
	    onWindowResize: function () {
	        var dims = S.dimensions;
	        switch (S.options.handleOversize) {
	        case "resize":
	            var el = get(this.id);
	            el.height = dims.innerHeight;
	            el.width = dims.innerWidth;
	            break;
	        case "drag":
	            if (dragTarget) {
	                var top = parseInt(S.getStyle(dragTarget, "top")),
	                    left = parseInt(S.getStyle(dragTarget, "left"));
	                if (top + this.height < dims.innerHeight) {
	                    dragTarget.style.top = dims.innerHeight - this.height + "px"
	                }
	                if (left + this.width < dims.innerWidth) {
	                    dragTarget.style.left = dims.innerWidth - this.width + "px"
	                }
	                updateProxy()
	            }
	            break
	        }
	    }
	};
	S.iframe = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    var overlay = get("sb-overlay");
	    this.height = obj.height ? parseInt(obj.height, 10) : overlay.offsetHeight;
	    this.width = obj.width ? parseInt(obj.width, 10) : overlay.offsetWidth
	};
	S.iframe.prototype = {
	    append: function (body, dims) {
	        var html = '<iframe id="' + this.id + '" name="' + this.id + '" height="100%" width="100%" frameborder="0" marginwidth="0" marginheight="0" style="visibility:hidden" onload="this.style.visibility=\'visible\'" scrolling="auto"';
	        if (S.isIE) {
	            html += ' allowtransparency="true"';
	            if (S.isIE6) {
	                html += " src=\"javascript:false;document.write('');\""
	            }
	        }
	        html += "></iframe>";
	        body.innerHTML = html
	    },
	    remove: function () {
	        var el = get(this.id);
	        if (el) {
	            remove(el);
	            if (S.isGecko) {
	                delete window.frames[this.id]
	            }
	        }
	    },
	    onLoad: function () {
	        var win = S.isIE ? get(this.id).contentWindow : window.frames[this.id];
	        win.location.href = this.obj.content
	    }
	};
	S.html = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    this.height = obj.height ? parseInt(obj.height, 10) : 300;
	    this.width = obj.width ? parseInt(obj.width, 10) : 500
	};
	S.html.prototype = {
	    append: function (body, dims) {
	        var div = document.createElement("div");
	        div.id = this.id;
	        div.className = "html";
	        div.innerHTML = this.obj.content;
	        body.appendChild(div)
	    },
	    remove: function () {
	        var el = get(this.id);
	        if (el) {
	            remove(el)
	        }
	    }
	};
	S.swf = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    this.height = obj.height ? parseInt(obj.height, 10) : 300;
	    this.width = obj.width ? parseInt(obj.width, 10) : 300
	};
	S.swf.ext = ["swf"];
	S.swf.prototype = {
	    append: function (body, dims) {
	        var tmp = document.createElement("div");
	        tmp.id = this.id;
	        body.appendChild(tmp);
	        var height = dims.innerHeight,
	            width = dims.innerWidth,
	            swf = this.obj.content,
	            version = S.options.flashVersion,
	            express = S.path + "expressInstall.swf",
	            flashvars = S.options.flashVars,
	            params = S.options.flashParams;
	        S.flash.embedSWF(swf, this.id, width, height, version, express, flashvars, params)
	    },
	    remove: function () {
	        S.flash.expressInstallCallback();
	        S.flash.removeSWF(this.id)
	    },
	    onWindowResize: function () {
	        var dims = S.dimensions,
	            el = get(this.id);
	        el.height = dims.innerHeight;
	        el.width = dims.innerWidth
	    }
	};
	var jwControllerHeight = 20;
	S.flv = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    this.height = obj.height ? parseInt(obj.height, 10) : 300;
	    if (S.options.showMovieControls) {
	        this.height += jwControllerHeight
	    }
	    this.width = obj.width ? parseInt(obj.width, 10) : 300
	};
	S.flv.ext = ["flv", "m4v", "mp3", "f4v"];
	S.flv.prototype = {
	    append: function (body, dims) {
	        var tmp = document.createElement("div");
	        tmp.id = this.id;
	        body.appendChild(tmp);
	        var height = dims.innerHeight,
	            width = dims.innerWidth,
	            swf = S.path + "player.swf",
	            version = S.options.flashVersion,
	            express = S.path + "expressInstall.swf",
	            flashvars = apply({
	                file: this.obj.content,
	                height: height,
	                width: width,
 image: '/imgs/shadowImage.jpg',
	                autostart: (S.options.autoplayMovies ? "true" : "false"),
	                controlbar: (S.options.showMovieControls ? "bottom" : "none"),
	                backcolor: "0x000000",
	                frontcolor: "0xCCCCCC",
	                lightcolor: "0x557722"
	            }, S.options.flashVars),
	            params = S.options.flashParams;
	        S.flash.embedSWF(swf, this.id, width, height, version, express, flashvars, params)
	    },
	    remove: function () {
	        S.flash.expressInstallCallback();
	        S.flash.removeSWF(this.id)
	    },
	    onWindowResize: function () {
	        var dims = S.dimensions,
	            el = get(this.id);
	        el.height = dims.innerHeight;
	        el.width = dims.innerWidth
	    }
	};
	var qtControllerHeight = 16;
	S.qt = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    this.height = obj.height ? parseInt(obj.height, 10) : 300;
	    if (S.options.showMovieControls) {
	        this.height += qtControllerHeight
	    }
	    this.width = obj.width ? parseInt(obj.width, 10) : 300
	};
	S.qt.ext = ["dv", "mov", "moov", "movie", "mp4", "avi", "mpg", "mpeg"];
	S.qt.prototype = {
	    append: function (body, dims) {
	        var opt = S.options,
	            autoplay = String(opt.autoplayMovies),
	            controls = String(opt.showMovieControls);
	        var html = "<object",
	            movie = {
	                id: this.id,
	                name: this.id,
	                height: this.height,
	                width: this.width,
	                kioskmode: "true"
	            };
	        if (S.isIE) {
	            movie.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
	            movie.codebase = "http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"
	        } else {
	            movie.type = "video/quicktime";
	            movie.data = this.obj.content
	        }
	        for (var m in movie) {
	            html += " " + m + '="' + movie[m] + '"'
	        }
	        html += ">";
	        var params = {
	            src: this.obj.content,
	            scale: "aspect",
	            controller: controls,
	            autoplay: autoplay
	        };
	        for (var p in params) {
	            html += '<param name="' + p + '" value="' + params[p] + '">'
	        }
	        html += "</object>";
	        body.innerHTML = html
	    },
	    remove: function () {
	        try {
	            document[this.id].Stop()
	        } catch (e) {}
	        var el = get(this.id);
	        if (el) {
	            remove(el)
	        }
	    }
	};
	var wmpControllerHeight = (S.isIE ? 70 : 45);
	S.wmp = function (obj, id) {
	    this.obj = obj;
	    this.id = id;
	    this.height = obj.height ? parseInt(obj.height, 10) : 300;
	    if (S.options.showMovieControls) {
	        this.height += wmpControllerHeight
	    }
	    this.width = obj.width ? parseInt(obj.width, 10) : 300
	};
	S.wmp.ext = ["asf", "avi", "mpg", "mpeg", "wm", "wmv"];
	S.wmp.prototype = {
	    append: function (body, dims) {
	        var opt = S.options,
	            autoplay = opt.autoplayMovies ? 1 : 0;
	        var movie = '<object id="' + this.id + '" name="' + this.id + '" height="' + this.height + '" width="' + this.width + '"',
	            params = {
	                autostart: opt.autoplayMovies ? 1 : 0
	            };
	        if (S.isIE) {
	            movie += ' classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"';
	            params.url = this.obj.content;
	            params.uimode = opt.showMovieControls ? "full" : "none"
	        } else {
	            movie += ' type="video/x-ms-wmv"';
	            movie += ' data="' + this.obj.content + '"';
	            params.showcontrols = opt.showMovieControls ? 1 : 0
	        }
	        movie += ">";
	        for (var p in params) {
	            movie += '<param name="' + p + '" value="' + params[p] + '">'
	        }
	        movie += "</object>";
	        body.innerHTML = movie
	    },
	    remove: function () {
	        if (S.isIE) {
	            try {
	                window[this.id].controls.stop();
	                window[this.id].URL = "movie" + now() + ".wmv";
	                window[this.id] = function () {}
	            } catch (e) {}
	        }
	        var el = get(this.id);
	        if (el) {
	            setTimeout(function () {
	                remove(el)
	            }, 10)
	        }
	    }
	};
	var overlayOn = false,
	    visibilityCache = [],
	    pngIds = ["sb-nav-close", "sb-nav-next", "sb-nav-play", "sb-nav-pause", "sb-nav-previous"],
	    container, overlay, wrapper, doWindowResize = true;

	function animate(el, property, to, duration, callback) {
	    var isOpacity = (property == "opacity"),
	        anim = isOpacity ? S.setOpacity : function (el, value) {
	            el.style[property] = "" + value + "px"
	        };
	    if (duration == 0 || (!isOpacity && !S.options.animate) || (isOpacity && !S.options.animateFade)) {
	        anim(el, to);
	        if (callback) {
	            callback()
	        }
	        return
	    }
	    var from = parseFloat(S.getStyle(el, property)) || 0;
	    var delta = to - from;
	    if (delta == 0) {
	        if (callback) {
	            callback()
	        }
	        return
	    }
	    duration *= 1000;
	    var begin = now(),
	        ease = S.ease,
	        end = begin + duration,
	        time;
	    var interval = setInterval(function () {
	        time = now();
	        if (time >= end) {
	            clearInterval(interval);
	            interval = null;
	            anim(el, to);
	            if (callback) {
	                callback()
	            }
	        } else {
	            anim(el, from + ease((time - begin) / duration) * delta)
	        }
	    }, 10)
	}
	function setSize() {
	    container.style.height = S.getWindowSize("Height") + "px";
	    container.style.width = S.getWindowSize("Width") + "px"
	}
	function setPosition() {
	    container.style.top = document.documentElement.scrollTop + "px";
	    container.style.left = document.documentElement.scrollLeft + "px"
	}
	function toggleTroubleElements(on) {
	    if (on) {
	        each(visibilityCache, function (i, el) {
	            el[0].style.visibility = el[1] || ""
	        })
	    } else {
	        visibilityCache = [];
	        each(S.options.troubleElements, function (i, tag) {
	            each(document.getElementsByTagName(tag), function (j, el) {
	                visibilityCache.push([el, el.style.visibility]);
	                el.style.visibility = "hidden"
	            })
	        })
	    }
	}
	function toggleNav(id, on) {
	    var el = get("sb-nav-" + id);
	    if (el) {
	        el.style.display = on ? "" : "none"
	    }
	}
	function toggleLoading(on, callback) {
	    var loading = get("sb-loading"),
	        playerName = S.getCurrent().player,
	        anim = (playerName == "img" || playerName == "html");
	    if (on) {
	        S.setOpacity(loading, 0);
	        loading.style.display = "block";
	        var wrapped = function () {
	                S.clearOpacity(loading);
	                if (callback) {
	                    callback()
	                }
	            };
	        if (anim) {
	            animate(loading, "opacity", 1, S.options.fadeDuration, wrapped)
	        } else {
	            wrapped()
	        }
	    } else {
	        var wrapped = function () {
	                loading.style.display = "none";
	                S.clearOpacity(loading);
	                if (callback) {
	                    callback()
	                }
	            };
	        if (anim) {
	            animate(loading, "opacity", 0, S.options.fadeDuration, wrapped)
	        } else {
	            wrapped()
	        }
	    }
	}
	function buildBars(callback) {
	    var obj = S.getCurrent();
	    get("sb-title-inner").innerHTML = obj.title || "";
	    var close, next, play, pause, previous;
	    if (S.options.displayNav) {
	        close = true;
	        var len = S.gallery.length;
	        if (len > 1) {
	            if (S.options.continuous) {
	                next = previous = true
	            } else {
	                next = (len - 1) > S.current;
	                previous = S.current > 0
	            }
	        }
	        if (S.options.slideshowDelay > 0 && S.hasNext()) {
	            pause = !S.isPaused();
	            play = !pause
	        }
	    } else {
	        close = next = play = pause = previous = false
	    }
	    toggleNav("close", close);
	    toggleNav("next", next);
	    toggleNav("play", play);
	    toggleNav("pause", pause);
	    toggleNav("previous", previous);
	    var counter = "";
	    if (S.options.displayCounter && S.gallery.length > 1) {
	        var len = S.gallery.length;
	        if (S.options.counterType == "skip") {
	            var i = 0,
	                end = len,
	                limit = parseInt(S.options.counterLimit) || 0;
	            if (limit < len && limit > 2) {
	                var h = Math.floor(limit / 2);
	                i = S.current - h;
	                if (i < 0) {
	                    i += len
	                }
	                end = S.current + (limit - h);
	                if (end > len) {
	                    end -= len
	                }
	            }
	            while (i != end) {
	                if (i == len) {
	                    i = 0
	                }
	                counter += '<a onclick="Shadowbox.change(' + i + ');"';
	                if (i == S.current) {
	                    counter += ' class="sb-counter-current"'
	                }
	                counter += ">" + (++i) + "</a>"
	            }
	        } else {
	            counter = [S.current + 1, S.lang.of, len].join(" ")
	        }
	    }
	    get("sb-counter").innerHTML = counter;
	    callback()
	}
	function showBars(callback) {
	    var titleInner = get("sb-title-inner"),
	        infoInner = get("sb-info-inner"),
	        duration = 0.35;
	    titleInner.style.visibility = infoInner.style.visibility = "";
	    if (titleInner.innerHTML != "") {
	        animate(titleInner, "marginTop", 0, duration)
	    }
	    animate(infoInner, "marginTop", 0, duration, callback)
	}
	function hideBars(anim, callback) {
	    var title = get("sb-title"),
	        info = get("sb-info"),
	        titleHeight = title.offsetHeight,
	        infoHeight = info.offsetHeight,
	        titleInner = get("sb-title-inner"),
	        infoInner = get("sb-info-inner"),
	        duration = (anim ? 0.35 : 0);
	    animate(titleInner, "marginTop", titleHeight, duration);
	    animate(infoInner, "marginTop", infoHeight * -1, duration, function () {
	        titleInner.style.visibility = infoInner.style.visibility = "hidden";
	        callback()
	    })
	}
	function adjustHeight(height, top, anim, callback) {
	    var wrapperInner = get("sb-wrapper-inner"),
	        duration = (anim ? S.options.resizeDuration : 0);
	    animate(wrapper, "top", top, duration);
	    animate(wrapperInner, "height", height, duration, callback)
	}
	function adjustWidth(width, left, anim, callback) {
	    var duration = (anim ? S.options.resizeDuration : 0);
	    animate(wrapper, "left", left, duration);
	    animate(wrapper, "width", width, duration, callback)
	}
	function setDimensions(height, width) {
	    var bodyInner = get("sb-body-inner"),
	        height = parseInt(height),
	        width = parseInt(width),
	        topBottom = wrapper.offsetHeight - bodyInner.offsetHeight,
	        leftRight = wrapper.offsetWidth - bodyInner.offsetWidth,
	        maxHeight = overlay.offsetHeight,
	        maxWidth = overlay.offsetWidth,
	        padding = parseInt(S.options.viewportPadding) || 20,
	        preserveAspect = (S.player && S.options.handleOversize != "drag");
	    return S.setDimensions(height, width, maxHeight, maxWidth, topBottom, leftRight, padding, preserveAspect)
	}
	var K = {};
	K.markup = '<div id="sb-container"><div id="sb-overlay"></div><div id="sb-wrapper"><div id="sb-title"><div id="sb-title-inner"></div></div><div id="sb-wrapper-inner"><div id="sb-body"><div id="sb-body-inner"></div><div id="sb-loading"><div id="sb-loading-inner"><span>{loading}</span></div></div></div></div><div id="sb-info"><div id="sb-info-inner"><div id="sb-counter"></div><div id="sb-nav"><a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a><a id="sb-nav-next" title="{next}" onclick="Shadowbox.next()"></a><a id="sb-nav-play" title="{play}" onclick="Shadowbox.play()"></a><a id="sb-nav-pause" title="{pause}" onclick="Shadowbox.pause()"></a><a id="sb-nav-previous" title="{previous}" onclick="Shadowbox.previous()"></a></div></div></div></div></div>';
	K.options = {
	    animSequence: "sync",
	    counterLimit: 10,
	    counterType: "default",
	    displayCounter: true,
	    displayNav: true,
	    fadeDuration: 0.35,
	    initialHeight: 160,
	    initialWidth: 320,
	    modal: false,
	    overlayColor: "#000",
	    overlayOpacity: 0.5,
	    resizeDuration: 0.35,
	    showOverlay: true,
	    troubleElements: ["select", "object", "embed", "canvas"]
	};
	K.init = function () {
	    S.appendHTML(document.body, sprintf(K.markup, S.lang));
	    K.body = get("sb-body-inner");
	    container = get("sb-container");
	    overlay = get("sb-overlay");
	    wrapper = get("sb-wrapper");
	    if (!supportsFixed) {
	        container.style.position = "absolute"
	    }
	    if (!supportsOpacity) {
	        var el, m, re = /url\("(.*\.png)"\)/;
	        each(pngIds, function (i, id) {
	            el = get(id);
	            if (el) {
	                m = S.getStyle(el, "backgroundImage").match(re);
	                if (m) {
	                    el.style.backgroundImage = "none";
	                    el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=" + m[1] + ",sizingMethod=scale);"
	                }
	            }
	        })
	    }
	    var timer;
	    addEvent(window, "resize", function () {
	        if (timer) {
	            clearTimeout(timer);
	            timer = null
	        }
	        if (open) {
	            timer = setTimeout(K.onWindowResize, 10)
	        }
	    })
	};
	K.onOpen = function (obj, callback) {
	    doWindowResize = false;
	    container.style.display = "block";
	    setSize();
	    var dims = setDimensions(S.options.initialHeight, S.options.initialWidth);
	    adjustHeight(dims.innerHeight, dims.top);
	    adjustWidth(dims.width, dims.left);
	    if (S.options.showOverlay) {
	        overlay.style.backgroundColor = S.options.overlayColor;
	        S.setOpacity(overlay, 0);
	        if (!S.options.modal) {
	            addEvent(overlay, "click", S.close)
	        }
	        overlayOn = true
	    }
	    if (!supportsFixed) {
	        setPosition();
	        addEvent(window, "scroll", setPosition)
	    }
	    toggleTroubleElements();
	    container.style.visibility = "visible";
	    if (overlayOn) {
	        animate(overlay, "opacity", S.options.overlayOpacity, S.options.fadeDuration, callback)
	    } else {
	        callback()
	    }
	};
	K.onLoad = function (changing, callback) {
	    toggleLoading(true);
	    while (K.body.firstChild) {
	        remove(K.body.firstChild)
	    }
	    hideBars(changing, function () {
	        if (!open) {
	            return
	        }
	        if (!changing) {
	            wrapper.style.visibility = "visible"
	        }
	        buildBars(callback)
	    })
	};
	K.onReady = function (callback) {
	    if (!open) {
	        return
	    }
	    var player = S.player,
	        dims = setDimensions(player.height, player.width);
	    var wrapped = function () {
	            showBars(callback)
	        };
	    switch (S.options.animSequence) {
	    case "hw":
	        adjustHeight(dims.innerHeight, dims.top, true, function () {
	            adjustWidth(dims.width, dims.left, true, wrapped)
	        });
	        break;
	    case "wh":
	        adjustWidth(dims.width, dims.left, true, function () {
	            adjustHeight(dims.innerHeight, dims.top, true, wrapped)
	        });
	        break;
	    default:
	        adjustWidth(dims.width, dims.left, true);
	        adjustHeight(dims.innerHeight, dims.top, true, wrapped)
	    }
	};
	K.onShow = function (callback) {
	    toggleLoading(false, callback);
	    doWindowResize = true
	};
	K.onClose = function () {
	    if (!supportsFixed) {
	        removeEvent(window, "scroll", setPosition)
	    }
	    removeEvent(overlay, "click", S.close);
	    wrapper.style.visibility = "hidden";
	    var callback = function () {
	            container.style.visibility = "hidden";
	            container.style.display = "none";
	            toggleTroubleElements(true)
	        };
	    if (overlayOn) {
	        animate(overlay, "opacity", 0, S.options.fadeDuration, callback)
	    } else {
	        callback()
	    }
	};
	K.onPlay = function () {
	    toggleNav("play", false);
	    toggleNav("pause", true)
	};
	K.onPause = function () {
	    toggleNav("pause", false);
	    toggleNav("play", true)
	};
	K.onWindowResize = function () {
	    if (!doWindowResize) {
	        return
	    }
	    setSize();
	    var player = S.player,
	        dims = setDimensions(player.height, player.width);
	    adjustWidth(dims.width, dims.left);
	    adjustHeight(dims.innerHeight, dims.top);
	    if (player.onWindowResize) {
	        player.onWindowResize()
	    }
	};
	S.skin = K;
	window.Shadowbox = S
	})(window);

 /*
 * TipTip
 * Copyright 2010 Drew Wilson
 * www.drewwilson.com
 * code.drewwilson.com/entry/tiptip-jquery-plugin
 *
 * Version 1.3   -   Updated: Mar. 23, 2010
 *
 * This Plug-In will create a custom tooltip to replace the default
 * browser tooltip. It is extremely lightweight and very smart in
 * that it detects the edges of the browser window and will make sure
 * the tooltip stays within the current window size. As a result the
 * tooltip will adjust itself to be displayed above, below, to the left 
 * or to the right depending on what is necessary to stay within the
 * browser window. It is completely customizable as well via CSS.
 *
 * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function($){$.fn.tipTip=function(options){var defaults={activation:"hover",keepAlive:false,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:false,enter:function(){},exit:function(){}};var opts=$.extend(defaults,options);if($("#tiptip_holder").length<=0){var tiptip_holder=$('<div id="tiptip_holder" style="max-width:'+opts.maxWidth+';"></div>');var tiptip_content=$('<div id="tiptip_content"></div>');var tiptip_arrow=$('<div id="tiptip_arrow"></div>');$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')))}else{var tiptip_holder=$("#tiptip_holder");var tiptip_content=$("#tiptip_content");var tiptip_arrow=$("#tiptip_arrow")}return this.each(function(){var org_elem=$(this);if(opts.content){var org_title=opts.content}else{var org_title=org_elem.attr(opts.attribute)}if(org_title!=""){if(!opts.content){org_elem.removeAttr(opts.attribute)}var timeout=false;if(opts.activation=="hover"){org_elem.hover(function(){active_tiptip()},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}else if(opts.activation=="focus"){org_elem.focus(function(){active_tiptip()}).blur(function(){deactive_tiptip()})}else if(opts.activation=="click"){org_elem.click(function(){active_tiptip();return false}).hover(function(){},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}function active_tiptip(){opts.enter.call(this);tiptip_content.html(org_title);tiptip_holder.hide().removeAttr("class").css("margin","0");tiptip_arrow.removeAttr("style");var top=parseInt(org_elem.offset()['top']);var left=parseInt(org_elem.offset()['left']);var org_width=parseInt(org_elem.outerWidth());var org_height=parseInt(org_elem.outerHeight());var tip_w=tiptip_holder.outerWidth();var tip_h=tiptip_holder.outerHeight();var w_compare=Math.round((org_width-tip_w)/2);var h_compare=Math.round((org_height-tip_h)/2);var marg_left=Math.round(left+w_compare);var marg_top=Math.round(top+org_height+opts.edgeOffset);var t_class="";var arrow_top="";var arrow_left=Math.round(tip_w-12)/2;if(opts.defaultPosition=="bottom"){t_class="_bottom"}else if(opts.defaultPosition=="top"){t_class="_top"}else if(opts.defaultPosition=="left"){t_class="_left"}else if(opts.defaultPosition=="right"){t_class="_right"}var right_compare=(w_compare+left)<parseInt($(window).scrollLeft());var left_compare=(tip_w+left)>parseInt($(window).width());if((right_compare&&w_compare<0)||(t_class=="_right"&&!left_compare)||(t_class=="_left"&&left<(tip_w+opts.edgeOffset+5))){t_class="_right";arrow_top=Math.round(tip_h-13)/2;arrow_left=-12;marg_left=Math.round(left+org_width+opts.edgeOffset);marg_top=Math.round(top+h_compare)}else if((left_compare&&w_compare<0)||(t_class=="_left"&&!right_compare)){t_class="_left";arrow_top=Math.round(tip_h-13)/2;arrow_left=Math.round(tip_w);marg_left=Math.round(left-(tip_w+opts.edgeOffset+5));marg_top=Math.round(top+h_compare)}var top_compare=(top+org_height+opts.edgeOffset+tip_h+8)>parseInt($(window).height()+$(window).scrollTop());var bottom_compare=((top+org_height)-(opts.edgeOffset+tip_h+8))<0;if(top_compare||(t_class=="_bottom"&&top_compare)||(t_class=="_top"&&!bottom_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_top"}else{t_class=t_class+"_top"}arrow_top=tip_h;marg_top=Math.round(top-(tip_h+5+opts.edgeOffset))}else if(bottom_compare|(t_class=="_top"&&bottom_compare)||(t_class=="_bottom"&&!top_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_bottom"}else{t_class=t_class+"_bottom"}arrow_top=-12;marg_top=Math.round(top+org_height+opts.edgeOffset)}if(t_class=="_right_top"||t_class=="_left_top"){marg_top=marg_top+5}else if(t_class=="_right_bottom"||t_class=="_left_bottom"){marg_top=marg_top-5}if(t_class=="_left_top"||t_class=="_left_bottom"){marg_left=marg_left+5}tiptip_arrow.css({"margin-left":arrow_left+"px","margin-top":arrow_top+"px"});tiptip_holder.css({"margin-left":marg_left+"px","margin-top":marg_top+"px"}).attr("class","tip"+t_class);if(timeout){clearTimeout(timeout)}timeout=setTimeout(function(){tiptip_holder.stop(true,true).fadeIn(opts.fadeIn)},opts.delay)}function deactive_tiptip(){opts.exit.call(this);if(timeout){clearTimeout(timeout)}tiptip_holder.fadeOut(opts.fadeOut)}}})}})(jQuery);
