/* easing */
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return -c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b;}return -c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t+b;}return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b;}return -c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t*t+b;}return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return -c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return -c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0){return b;}if(t==d){return b+c;}if((t/=d/2)<1){return c/2*Math.pow(2,10*(t-1))+b;}return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return -c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1){return -c/2*(Math.sqrt(1-t*t)-1)+b;}return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d)==1){return b+c;}if(!p){p=d*0.3;}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}return -(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d)==1){return b+c;}if(!p){p=d*0.3;}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0){return b;}if((t/=d/2)==2){return b+c;}if(!p){p=d*(0.3*1.5);}if(a<Math.abs(c)){a=c;var s=p/4;}else{var s=p/(2*Math.PI)*Math.asin(c/a);}if(t<1){return -0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;}return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*0.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined){s=1.70158;}if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;}return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else{if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+0.75)+b;}else{if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+0.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+0.984375)+b;}}}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2){return jQuery.easing.easeInBounce(x,t*2,0,c,d)*0.5+b;}return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*0.5+c*0.5+b;}});

/* scrollTo */
(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:"xy",duration:parseFloat($.fn.jquery)>=1.3?0:1};$scrollTo.window=function(scope){return $(window)._scrollable();};$.fn._scrollable=function(){return this.map(function(){var elem=this,isWin=!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!isWin){return elem;}var doc=(elem.contentWindow||elem).document||elem.ownerDocument||elem;return $.browser.safari||doc.compatMode=="BackCompat"?doc.body:doc.documentElement;});};$.fn.scrollTo=function(target,duration,settings){if(typeof duration=="object"){settings=duration;duration=0;}if(typeof settings=="function"){settings={onAfter:settings};}if(target=="max"){target=9000000000;}settings=$.extend({},$scrollTo.defaults,settings);duration=duration||settings.speed||settings.duration;settings.queue=settings.queue&&settings.axis.length>1;if(settings.queue){duration/=2;}settings.offset=both(settings.offset);settings.over=both(settings.over);return this._scrollable().each(function(){var elem=this,$elem=$(elem),targ=target,toff,attr={},win=$elem.is("html,body");switch(typeof targ){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break;}targ=$(targ,this);case"object":if(targ.is||targ.style){toff=(targ=$(targ)).offset();}}$.each(settings.axis.split(""),function(i,axis){var Pos=axis=="x"?"Left":"Top",pos=Pos.toLowerCase(),key="scroll"+Pos,old=elem[key],max=$scrollTo.max(elem,axis);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css("margin"+Pos))||0;attr[key]-=parseInt(targ.css("border"+Pos+"Width"))||0;}attr[key]+=settings.offset[pos]||0;if(settings.over[pos]){attr[key]+=targ[axis=="x"?"width":"height"]()*settings.over[pos];}}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)=="%"?parseFloat(val)/100*max:val;}if(/^\d+$/.test(attr[key])){attr[key]=attr[key]<=0?0:Math.min(attr[key],max);}if(!i&&settings.queue){if(old!=attr[key]){animate(settings.onAfterFirst);}delete attr[key];}});animate(settings.onAfter);function animate(callback){$elem.animate(attr,duration,settings.easing,callback&&function(){callback.call(this,target,settings);});}}).end();};$scrollTo.max=function(elem,axis){var Dim=axis=="x"?"Width":"Height",scroll="scroll"+Dim;if(!$(elem).is("html,body")){return elem[scroll]-$(elem)[Dim.toLowerCase()]();}var size="client"+Dim,html=elem.ownerDocument.documentElement,body=elem.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size]);};function both(val){return typeof val=="object"?val:{top:val,left:val};}})(jQuery);

/* localScroll */
(function($){var URI=location.href.replace(/#.*/,"");var $localScroll=$.localScroll=function(settings){$("body").localScroll(settings);};$localScroll.defaults={duration:1000,axis:"y",event:"click",stop:true,target:window,reset:true};$localScroll.hash=function(settings){if(location.hash){settings=$.extend({},$localScroll.defaults,settings);settings.hash=false;if(settings.reset){var d=settings.duration;delete settings.duration;$(settings.target).scrollTo(0,settings);settings.duration=d;}scroll(0,location,settings);}};$.fn.localScroll=function(settings){settings=$.extend({},$localScroll.defaults,settings);return settings.lazy?this.bind(settings.event,function(e){var a=$([e.target,e.target.parentNode]).filter(filter)[0];if(a){scroll(e,a,settings);}}):this.find("a,area").filter(filter).bind(settings.event,function(e){scroll(e,this,settings);}).end().end();function filter(){return !!this.href&&!!this.hash&&this.href.replace(this.hash,"")==URI&&(!settings.filter||$(this).is(settings.filter));}};function scroll(e,link,settings){var id=link.hash.slice(1),elem=document.getElementById(id)||document.getElementsByName(id)[0];if(!elem){return;}if(e){e.preventDefault();}var $target=$(settings.target);if(settings.lock&&$target.is(":animated")||settings.onBefore&&settings.onBefore(e,elem,$target)===false){return;}if(settings.stop){$target.stop(true);}if(settings.hash){var attr=elem.id==id?"id":"name",$a=$("<a> </a>").attr(attr,id).css({position:"absolute",top:$(window).scrollTop(),left:$(window).scrollLeft()});elem[attr]="";$("body").prepend($a);location=link.hash;$a.remove();elem[attr]=id;}$target.scrollTo(elem,settings).trigger("notify.serialScroll",[elem]);}})(jQuery);

/* serialScroll */
(function($){var NAMESPACE=".serialScroll";var $serialScroll=$.serialScroll=function(settings){return $(window).serialScroll(settings);};$serialScroll.defaults={duration:1000,axis:"x",event:"click",start:0,step:1,lock:true,cycle:true,constant:true};$.fn.serialScroll=function(options){return this.each(function(){var settings=$.extend({},$serialScroll.defaults,options),event=settings.event,step=settings.step,lazy=settings.lazy,context=settings.target?this:document,$pane=$(settings.target||this,context),pane=$pane[0],items=settings.items,active=settings.start,auto=settings.interval,nav=settings.navigation,timer;if(!pane){return;}if(!lazy){items=getItems();}if(settings.force||auto){jump({},active);}$(settings.prev||[],context).bind(event,-step,move);$(settings.next||[],context).bind(event,step,move);if(!pane.ssbound){$pane.bind("prev"+NAMESPACE,-step,move).bind("next"+NAMESPACE,step,move).bind("goto"+NAMESPACE,jump);}if(auto){$pane.bind("start"+NAMESPACE,function(e){if(!auto){clear();auto=true;next();}}).bind("stop"+NAMESPACE,function(){clear();auto=false;});}$pane.bind("notify"+NAMESPACE,function(e,elem){var i=index(elem);if(i>-1){active=i;}});pane.ssbound=true;if(settings.jump){(lazy?$pane:getItems()).bind(event,function(e){jump(e,index(e.target));});}if(nav){nav=$(nav,context).bind(event,function(e){e.data=Math.round(getItems().length/nav.length)*nav.index(this);jump(e,this);});}function move(e){e.data+=active;jump(e,this);}function jump(e,pos){if(isNaN(pos)){pos=e.data;}var n,real=e.type,$items=settings.exclude?getItems().slice(0,-settings.exclude):getItems(),limit=$items.length-1,elem=$items[pos],duration=settings.duration;if(real){e.preventDefault();}if(auto){clear();timer=setTimeout(next,settings.interval);}if(!elem){n=pos<0?0:limit;if(active!==n){pos=n;}else{if(!settings.cycle){return;}else{pos=limit-n;}}elem=$items[pos];}if(!elem||settings.lock&&$pane.is(":animated")||real&&settings.onBefore&&settings.onBefore(e,elem,$pane,getItems(),pos)===false){return;}if(settings.stop){$pane.queue("fx",[]).stop();}if(settings.constant){duration=Math.abs(duration/step*(active-pos));}$pane.scrollTo(elem,duration,settings);trigger("notify",pos);}function next(){trigger("next");}function clear(){clearTimeout(timer);}function getItems(){return $(items,pane);}function trigger(event){$pane.trigger(event+NAMESPACE,[].slice.call(arguments,1));}function index(elem){if(!isNaN(elem)){return elem;}var $items=getItems(),i;while((i=$items.index(elem))===-1&&elem!==pane){elem=elem.parentNode;}return i;}});};})(jQuery);

/* captify */
jQuery.fn.extend({captify:function(a){var a=$.extend({speedOver:"fast",speedOut:"normal",hideDelay:500,animation:"slide",prefix:"",opacity:"0.35",className:"caption-bottom",position:"bottom",spanWidth:"100%"},a);$(this).each(function(){var b=this;$(this).load(function(){$this=b;if(this.hasInit){return false}this.hasInit=true;var d=false;var m=false;var g=$("#"+$(this).attr("rel"));var f=!g.length?$(this).attr("alt"):g.html();g.remove();var h=this.parent&&this.parent.tagName=="a"?this.parent:$(this);var c=h.wrap("<div></div>").parent();c.css({overflow:"hidden",padding:0,fontSize:0.1});c.addClass("caption-wrapper");c.width($(this).width());c.height($(this).height());$.map(["top","right","bottom","left"],function(p){c.css("margin-"+p,$(b).css("margin-"+p));$.map(["style","width","color"],function(q){var r="border-"+p+"-"+q;c.css(r,$(b).css(r))})});$(b).css({border:"0 none"});var o=$("div:last",c.append("<div></div>")).addClass(a.className);var l=$("div:last",c.append("<div></div>")).addClass(a.className).append(a.prefix).append(f);$("*",c).css({margin:0}).show();var j=jQuery.browser.msie?"static":"relative";o.css({zIndex:1,position:j,opacity:a.animation=="fade"?0:a.opacity,width:a.spanWidth});if(a.position=="bottom"){var k=parseInt(o.css("border-top-width").replace("px",""))+parseInt(l.css("padding-top").replace("px",""))-1;l.css("paddingTop",k)}l.css({position:j,zIndex:2,background:"none",border:"0 none",opacity:a.animation=="fade"?0:1,width:a.spanWidth});o.width(l.outerWidth());o.height(l.height());var n=(a.position=="bottom"&&jQuery.browser.msie)?-4:0;var i=(a.position=="top")?{hide:-$(b).height()-o.outerHeight()-1,show:-$(b).height()}:{hide:0,show:-o.outerHeight()+n};l.css("marginTop",-o.outerHeight());o.css("marginTop",i[a.animation=="fade"||a.animation=="always-on"?"show":"hide"]);var e=function(){if(!d&&!m){var p=a.animation=="fade"?{opacity:0}:{marginTop:i.hide};o.animate(p,a.speedOut);if(a.animation=="fade"){l.animate({opacity:0},a.speedOver)}}};if(a.animation!="always-on"){$(this).hover(function(){m=true;if(!d){var p=a.animation=="fade"?{opacity:a.opacity}:{marginTop:i.show};o.animate(p,a.speedOver);if(a.animation=="fade"){l.animate({opacity:1},a.speedOver/2)}}},function(){m=false;window.setTimeout(e,a.hideDelay)});$("div",c).hover(function(){d=true},function(){d=false;window.setTimeout(e,a.hideDelay)})}});if(this.complete||this.naturalWidth>0){$(b).trigger("load")}})}});

/* jPlayer */
(function($){$.jPlayerCount=0;var methods={jPlayer:function(options){$.jPlayerCount++;var config={ready:null,cssPrefix:"jqjp",swfPath:"js",volume:80,oggSupport:false,position:"absolute",width:0,height:0,top:0,left:0,quality:"high",bgcolor:"#ffffff"};$.extend(config,options);var configWithoutOptions={id:$(this).attr("id"),swf:config.swfPath+((config.swfPath!="")?"/":"")+"Jplayer.swf",fid:config.cssPrefix+"_flash_"+$.jPlayerCount,aid:config.cssPrefix+"_audio_"+$.jPlayerCount,hid:config.cssPrefix+"_force_"+$.jPlayerCount,i:$.jPlayerCount};$.extend(config,configWithoutOptions);$.fn["jPlayerReady"+config.i]=config.ready;$(this).prepend('<audio id="'+config.aid+'"></audio>');var audioArray=$("#"+config.aid).get();var configForAudioFormat={canPlayMP3:Boolean((audioArray[0].canPlayType)?((""!=audioArray[0].canPlayType("audio/mpeg"))&&("no"!=audioArray[0].canPlayType("audio/mpeg"))):false),canPlayOGG:Boolean((audioArray[0].canPlayType)?((""!=audioArray[0].canPlayType("audio/ogg"))&&("no"!=audioArray[0].canPlayType("audio/ogg"))):false),audio:audioArray[0]};$.extend(config,configForAudioFormat);var configForHtmlAudio={html5:Boolean((config.oggSupport)?((config.canPlayOGG)?true:config.canPlayMP3):config.canPlayMP3)};$.extend(config,configForHtmlAudio);$(this).data("jPlayer.config",config);var events={setButtons:function(e,playing){var playId=$(this).data("jPlayer.cssId.play");var pauseId=$(this).data("jPlayer.cssId.pause");var prefix=$(this).data("jPlayer.config").cssPrefix;if(playId!=null&&pauseId!=null){if(playing){var style=$(this).data("jPlayer.cssDisplay.pause");$("#"+playId).css("display","none");$("#"+pauseId).css("display",style)}else{var style=$(this).data("jPlayer.cssDisplay.play");$("#"+playId).css("display",style);$("#"+pauseId).css("display","none")}}}};var eventsForFlash={setFile:function(e,f){var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);m.fl_setFile_mp3(f.mp3);$(this).trigger("jPlayer.setButtons",false)},play:function(e){var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);var r=m.fl_play_mp3();if(r){$(this).trigger("jPlayer.setButtons",true)}},pause:function(e){var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);var r=m.fl_pause_mp3();if(r){$(this).trigger("jPlayer.setButtons",false)}},stop:function(e){var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);var r=m.fl_stop_mp3();if(r){$(this).trigger("jPlayer.setButtons",false)}},playHead:function(e,p){var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);var r=m.fl_play_head_mp3(p);if(r){$(this).trigger("jPlayer.setButtons",true)}},playHeadTime:function(e,t){var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);var r=m.fl_play_head_time_mp3(t);if(r){$(this).trigger("jPlayer.setButtons",true)}},volume:function(e,v){$(this).data("jPlayer.config").volume=v;var fid=$(this).data("jPlayer.config").fid;var m=$(this).data("jPlayer.getMovie")(fid);m.fl_volume_mp3(v)}};var eventsForHtmlAudio={setFile:function(e,f){$("#"+$(this).data("jPlayer.config").aid).remove();$(this).prepend('<audio id="'+$(this).data("jPlayer.config").aid+'"></audio>');var audioArray=$("#"+$(this).data("jPlayer.config").aid).get();$(this).data("jPlayer.config").audio=audioArray[0];$(this).data("jPlayer.config").audio.volume=$(this).data("jPlayer.config").volume/100;if($(this).data("jPlayer.config").oggSupport&&$(this).data("jPlayer.config").canPlayOGG){$(this).data("jPlayer.config").audio.src=f.ogg}else{$(this).data("jPlayer.config").audio.src=f.mp3}$(this).trigger("jPlayer.setButtons",false)},play:function(e){$(this).data("jPlayer.config").audio.play();$(this).trigger("jPlayer.setButtons",true);clearInterval($(this).data("jPlayer.interval.jPlayerController"));$(this).data("jPlayer.interval.jPlayerController",window.setInterval($(this).jPlayerController,50,$(this),false))},pause:function(e){$(this).data("jPlayer.config").audio.pause();$(this).trigger("jPlayer.setButtons",false);clearInterval($(this).data("jPlayer.interval.jPlayerController"))},stop:function(e){$(this).data("jPlayer.config").audio.currentTime=0;$(this).trigger("jPlayer.pause");$(this).jPlayerController($(this),true)},playHead:function(e,p){$(this).data("jPlayer.config").audio.currentTime=($(this).data("jPlayer.config").audio.buffered)?p*$(this).data("jPlayer.config").audio.buffered.end()/100:p*$(this).data("jPlayer.config").audio.duration/100;$(this).trigger("jPlayer.play")},playHeadTime:function(e,t){$(this).data("jPlayer.config").audio.currentTime=t/1000;$(this).trigger("jPlayer.play")},volume:function(e,v){$(this).data("jPlayer.config").volume=v;$(this).data("jPlayer.config").audio.volume=v/100;$(this).jPlayerVolume(v)}};if(config.html5){$.extend(events,eventsForHtmlAudio)}else{$.extend(events,eventsForFlash)}for(var event in events){var e="jPlayer."+event;$(this).unbind(e);$(this).bind(e,events[event])}var getMovie=function(fid){return document[fid]};$(this).data("jPlayer.getMovie",getMovie);var checkForFlash=function(version){var flashIsInstalled=false;var flash;if(window.ActiveXObject){try{flash=new ActiveXObject(("ShockwaveFlash.ShockwaveFlash."+version));flashIsInstalled=true}catch(e){}}else{if(navigator.plugins&&navigator.mimeTypes.length>0){flash=navigator.plugins["Shockwave Flash"];if(flash){var flashVersion=navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,"$1");if(flashVersion>=version){flashIsInstalled=true}}}}return flashIsInstalled};if(!config.html5){if(checkForFlash(8)){if($.browser.msie){var html_obj='<object id="'+config.fid+'"';html_obj+=' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';html_obj+=' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"';html_obj+=' type="application/x-shockwave-flash"';html_obj+=' width="'+config.width+'" height="'+config.height+'">';html_obj+="</object>";var obj_param=new Array();obj_param[0]='<param name="movie" value="'+config.swf+'" />';obj_param[1]='<param name="quality" value="high" />';obj_param[2]='<param name="FlashVars" value="id='+escape(config.id)+"&fid="+escape(config.fid)+"&vol="+config.volume+'" />';obj_param[3]='<param name="allowScriptAccess" value="always" />';obj_param[4]='<param name="bgcolor" value="'+config.bgcolor+'" />';var ie_dom=document.createElement(html_obj);for(var i=0;i<obj_param.length;i++){ie_dom.appendChild(document.createElement(obj_param[i]))}$(this).html(ie_dom)}else{var html_embed='<embed name="'+config.fid+'" id="'+config.fid+'" src="'+config.swf+'"';html_embed+=' width="'+config.width+'" height="'+config.height+'" bgcolor="'+config.bgcolor+'"';html_embed+=' quality="high" FlashVars="id='+escape(config.id)+"&fid="+escape(config.fid)+"&vol="+config.volume+'"';html_embed+=' allowScriptAccess="always"';html_embed+=' type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';$(this).html(html_embed)}}else{$(this).html("<p>Flash 8 or above is not installed. <a href='http://get.adobe.com/flashplayer'>Get Flash!</a></p>")}}var html_hidden='<div id="'+config.hid+'"></div>';$(this).append(html_hidden);$(this).css({position:config.position,top:config.top,left:config.left});$("#"+config.hid).css({"text-indent":"-9999px"});if(config.html5){var self=$(this);window.setTimeout(function(){self.volume(config.volume);self.jPlayerReady()},100)}return $(this)},setFile:function(f1,f2){var f={mp3:f1,ogg:f2};$(this).trigger("jPlayer.setFile",f);return $(this)},play:function(){$(this).trigger("jPlayer.play");return $(this)},pause:function(){$(this).trigger("jPlayer.pause");return $(this)},stop:function(){$(this).trigger("jPlayer.stop");return $(this)},playHead:function(p){$(this).trigger("jPlayer.playHead",p);return $(this)},playHeadTime:function(t){$(this).trigger("jPlayer.playHeadTime",t);return $(this)},volume:function(v){$(this).trigger("jPlayer.volume",v);return $(this)},jPlayerId:function(fn,id){if(id!=null){var isValid=eval("$(this)."+fn);if(isValid!=null){$(this).data("jPlayer.cssId."+fn,id);var jPlayerId=$(this).data("jPlayer.config").id;eval('var myHandler = function(e) { $("#'+jPlayerId+'").'+fn+"(e); return false; }");$("#"+id).click(myHandler).hover($(this).jPlayerRollOver,$(this).jPlayerRollOut).data("jPlayerId",jPlayerId);var display=$("#"+id).css("display");$(this).data("jPlayer.cssDisplay."+fn,display);if(fn=="pause"){$("#"+id).css("display","none")}}else{alert("Unknown function assigned in: jPlayerId( fn="+fn+", id="+id+" )")}}else{id=$(this).data("jPlayer.cssId."+fn);if(id!=null){return id}else{alert("Unknown function id requested: jPlayerId( fn="+fn+" )");return false}}return $(this)},loadBar:function(e){var lbId=$(this).data("jPlayer.cssId.loadBar");if(lbId!=null){var offset=$("#"+lbId).offset();var x=e.pageX-offset.left;var w=$("#"+lbId).width();var p=100*x/w;$(this).playHead(p)}},playBar:function(e){$(this).loadBar(e)},onProgressChange:function(fn){$.fn["jPlayerOnProgressChange"+$(this).data("jPlayer.config").i]=fn;return $(this)},jPlayerOnProgressChange:function(loadPercent,playedPercentRelative,playedPercentAbsolute,playedTime,totalTime){var lbId=$(this).data("jPlayer.cssId.loadBar");if(lbId!=null){$("#"+lbId).width(loadPercent+"%")}var pbId=$(this).data("jPlayer.cssId.playBar");if(pbId!=null){$("#"+pbId).width(playedPercentRelative+"%")}$(this)["jPlayerOnProgressChange"+$(this).data("jPlayer.config").i](loadPercent,playedPercentRelative,playedPercentAbsolute,playedTime,totalTime);$(this).jPlayerForceUpdate();return true},jPlayerController:function(self,override){var playedTime=0;var totalTime=0;var playedPercentAbsolute=0;var loadPercent=0;var playedPercentRelative=0;if(self.data("jPlayer.config").audio.readyState>=1){playedTime=self.data("jPlayer.config").audio.currentTime*1000;totalTime=self.data("jPlayer.config").audio.duration*1000;playedPercentAbsolute=100*playedTime/totalTime;loadPercent=(self.data("jPlayer.config").audio.buffered)?100*self.data("jPlayer.config").audio.buffered.end()/self.data("jPlayer.config").audio.duration:100;playedPercentRelative=(self.data("jPlayer.config").audio.buffered)?100*self.data("jPlayer.config").audio.currentTime/self.data("jPlayer.config").audio.buffered.end():playedPercentAbsolute}if(override){self.jPlayerOnProgressChange(loadPercent,0,0,0,totalTime)}else{self.jPlayerOnProgressChange(loadPercent,playedPercentRelative,playedPercentAbsolute,playedTime,totalTime);if(self.data("jPlayer.config").audio.ended){clearInterval(self.data("jPlayer.interval.jPlayerController"));self.jPlayerOnSoundComplete()}}},volumeMin:function(){$(this).volume(0);return $(this)},volumeMax:function(){$(this).volume(100);return $(this)},volumeBar:function(e){var vbId=$(this).data("jPlayer.cssId.volumeBar");if(vbId!=null){var offset=$("#"+vbId).offset();var x=e.pageX-offset.left;var w=$("#"+vbId).width();var p=100*x/w;$(this).volume(p)}},volumeBarValue:function(e){$(this).volumeBar(e)},jPlayerVolume:function(v){var vbvId=$(this).data("jPlayer.cssId.volumeBarValue");if(vbvId!=null){$("#"+vbvId).width(v+"%");$(this).jPlayerForceUpdate();return true}},onSoundComplete:function(fn){$.fn["jPlayerOnSoundComplete"+$(this).data("jPlayer.config").i]=fn;return $(this)},jPlayerOnSoundComplete:function(){$(this).trigger("jPlayer.setButtons",false);$(this)["jPlayerOnSoundComplete"+$(this).data("jPlayer.config").i]();return true},jPlayerBufferState:function(b){var lbId=$(this).data("jPlayer.cssId.loadBar");if(lbId!=null){var prefix=$(this).data("jPlayer.config").cssPrefix;if(b){$("#"+lbId).addClass(prefix+"_buffer")}else{$("#"+lbId).removeClass(prefix+"_buffer")}return true}else{return false}},bufferMsg:function(){},jPlayerBufferMsg:function(msg){var bmId=$(this).data("jPlayer.cssId.bufferMsg");if(bmId!=null){$("#"+bmId).html(msg);return true}else{return false}},jPlayerForceUpdate:function(){var hid=$(this).data("jPlayer.config").hid;$("#"+hid).html(Math.random())},jPlayerRollOver:function(){var jPlayerId=$(this).data("jPlayerId");var prefix=$("#"+jPlayerId).data("jPlayer.config").cssPrefix;$(this).addClass(prefix+"_hover")},jPlayerRollOut:function(){var jPlayerId=$(this).data("jPlayerId");var prefix=$("#"+jPlayerId).data("jPlayer.config").cssPrefix;$(this).removeClass(prefix+"_hover")},jPlayerReady:function(){$(this)["jPlayerReady"+$(this).data("jPlayer.config").i]()},jPlayerGetInfo:function(info){return $(this).data("jPlayer.config")[info]}};$.each(methods,function(i){$.fn[i]=this})})(jQuery);

/* jSwipe */
(function($){$.fn.swipe=function(options){var defaults={threshold:{x:30,y:10},swipeLeft:function(){alert("swiped left");},swipeRight:function(){alert("swiped right");}};var options=$.extend(defaults,options);if(!this){return false;}return this.each(function(){var me=$(this);var originalCoord={x:0,y:0};var finalCoord={x:0,y:0};function touchStart(event){console.log("Starting swipe gesture...");originalCoord.x=event.targetTouches[0].pageX;originalCoord.y=event.targetTouches[0].pageY;}function touchMove(event){event.preventDefault();finalCoord.x=event.targetTouches[0].pageX;finalCoord.y=event.targetTouches[0].pageY;}function touchEnd(event){console.log("Ending swipe gesture...");var changeY=originalCoord.y-finalCoord.y;if(changeY<defaults.threshold.y&&changeY>(defaults.threshold.y*-1)){changeX=originalCoord.x-finalCoord.x;if(changeX>defaults.threshold.x){defaults.swipeLeft();}if(changeX<(defaults.threshold.x*-1)){defaults.swipeRight();}}}function touchCancel(event){console.log("Canceling swipe gesture...");}this.addEventListener("touchstart",touchStart,false);this.addEventListener("touchmove",touchMove,false);this.addEventListener("touchend",touchEnd,false);this.addEventListener("touchcancel",touchCancel,false);});};})(jQuery);

/* Site */
jQuery(document).ready(function($) {
  // Insert secret stuff
  function initialSetup() {
    $('body').append("<div id='effects'>&nbsp;</div>");
  };

  // Product captions
  $('#home-page .product h2').prepend('<img src="http://assets.ligatureloopandstem.com/img/info.png" alt="Info icon" height="18" width="19" />');
  $('#home-page .product').hover(function() {
    $this = $(this);
    $this.find('.caption').stop().animate({opacity: '1'}, 500);
    $this.find('.zoom').stop().animate({opacity: '1'}, 500);
  }, function() {
    $this.find('.caption').stop().animate({opacity: '0'}, 500);
    $this.find('.zoom').stop().animate({opacity: '0'}, 500);
  });

  // Sound Effects :)
  // Instantiate a jPlayer object
  function breakIt() {
    $('#effects').jPlayer({
      ready: function() {
        $(this).setFile('http://assets.ligatureloopandstem.com/audio/glass.mp3').play();
      },
      swfPath: '/-/swf/jplayer.swf',
      cssPrefix: 'audio'
    })
    .onProgressChange(function() {
    })
    .onSoundComplete(function() {
      $(this).stop();
    });
  }

  // Reset for Double-Click Events
  function resetFrame(thisProduct) {
    $('#' + thisProduct).find('.product').stop().animate({'top': '0px', 'opacity': 1}, {duration: 1000, queue: false, easing: 'easeOutSine'});
  }

  // Double-Click Events for Products
  $('#product-page .product').bind("dblclick", function(e) {
    var thisProduct = $(this).parent().get(0).id;
    // console.log(thisProduct);
    $(this).animate({'top': '800px', 'opacity': 0}, {duration: 500, queue: true, easing: 'easeOutSine'});

    // Play sound effect
    breakIt();

    // Insert a reset link to re-hang the frame
    $(this).before("<p class='reset'>Replace the Frame</p>");

    // Reset frame to 0 position
    $('.reset').click(function() {
      // console.log("Resetting " + thisProduct + " frame...");
      resetFrame(thisProduct);
      $(this).remove();
    });
    return false;
  });

  // Homepage gallery slider
  if($('#home-page').length) {
    var $panels = $('#home-page #frame .scroll-container > div');
    var $container = $('#home-page #frame .scroll-container');

    // If false, we'll float all the panels left and fix the width of the container
    var horizontal = true;

    // Float the panels left if we're going horizontal
    if(horizontal) {
      $panels.css({
        'float': 'left',
        'position': 'relative' // Fix overflow for IE
      });

      // Calculate a new width for the container (so it holds all panels)
      $container.css('width', $panels[0].offsetWidth * $panels.length);
    }

    // Collect the scroll object, at the same time apply the hidden overflow
    // to remove the default scrollbars that will appear
    var $scroll = $('#home-page #frame .scroll').css({'overflow': 'hidden'});

    // Apply left and right buttons
    $scroll
      .before('<div class="scroll-buttons left-button"><a href="#">&laquo;</a></div>')
      .after('<div class="scroll-buttons right-button"><a href="#">&raquo;</a></div>');

      // Handle navigation selection
      function selectNav() {
        $(this)
          .parents('ul:first') // First the first UL
            .find('a') // Find all 'a' elements
              .removeClass('selected') // Remove from all first
            .end() // Go back to all 'a' elements
          .end() // Go back to this element
          .addClass('selected');
      }

    // Bind the navigation clicks to update the selected nav
    $('#frame #navigation').find('a').click(selectNav);

    function trigger(data) {
      // Within the .slider-navigation element, find the A element
      // whose HREF ends with ID ($= is ends with)
      var el = $('#navigation').find('a[href$="' + data.id + '"]').get(0);

      // Pass the actual element, not the jQuery instance
      selectNav.call(el);
    }

    if(window.location.hash) {
      trigger({id : window.location.hash.substr(1)});
    } else {
      $('#navigation a:first').click();
    }

    // Offset is used to move to exactly the right place
    var offset = parseInt((horizontal ? 
      $container.css('paddingTop') :
      $container.css('paddingLeft'))
      || 0) * -1;

      var scrollOptions = {
        target: $scroll, // The element that has the overflow
        items: $panels, // Can be a selector which will be relative to the target
        navigation: '#navigation a',
        prev: 'div.left-button a',
        next: 'div.right-button a',
        axis: 'xy', // Allow the scroll effect to run in both directions
        onAfter: trigger, // Our final callback
        offset: offset,
        duration: 500, // Duration of the sliding effect in milliseconds
        easing: 'swing', // Can be used with the easing plugin
      };

      // Apply serialScroll to the slider
      $('#frame').serialScroll(scrollOptions);

      // Apply localScroll to hook any other arbitrary links to trigger the effect
      $.localScroll(scrollOptions);

      // Finally if the URL has a hash, move the slider to the position setting the duration to 1
      // so it won't scroll on the first page load
      scrollOptions.duration = 1;
      $.localScroll.hash(scrollOptions);
  };

  function insertExit() {
    $('#studs').prepend('<div id="exit-stage-left" class="eight"></div>');
    $('#exit-stage-left').append('<img src="http://assets.ligatureloopandstem.com/img/end-of-the-road.png" alt="Exit sign" height="260" width="400">');
    $('body').append('<p><a href="#exit-stage-left" id="goto-exit">Sssh!</a></p>');
  };

  // Horizontal Keyboard Navigation
  $(document.documentElement).keyup(function(event) {
    var direction = null;

    // Handle cursor keys
    if(event.keyCode == 37) {
      // Go Left
      direction = 'prev';
    } else if(event.keyCode == 39) {
      // Go Right
      direction = 'next';
    }

    if(direction != null) {
      $('#navigation ul a.selected').parent()[direction]().find('a').click();
    }
  });

  // Load Exit
  initialSetup();
});