(function($){$.address=(function(){var _trigger=function(name){$($.address).trigger($.extend($.Event(name),(function(){var parameters={},parameterNames=$.address.parameterNames();for(var i=0,l=parameterNames.length;i<l;i++){parameters[parameterNames[i]]=$.address.parameter(parameterNames[i]);}
return{value:$.address.value(),path:$.address.path(),pathNames:$.address.pathNames(),parameterNames:parameterNames,parameters:parameters,queryString:$.address.queryString()};}).call($.address)));},_array=function(obj){return Array.prototype.slice.call(obj);},_bind=function(value,data,fn){$().bind.apply($($.address),Array.prototype.slice.call(arguments));return $.address;},_supportsState=function(){return(_h.pushState&&_opts.state!==UNDEFINED);},_hrefState=function(){return('/'+_l.pathname.replace(new RegExp(_opts.state),'')+
_l.search+(_hrefHash()?'#'+_hrefHash():'')).replace(_re,'/');},_hrefHash=function(){var index=_l.href.indexOf('#');return index!=-1?_crawl(_l.href.substr(index+1),FALSE):'';},_href=function(){return _supportsState()?_hrefState():_hrefHash();},_window=function(){try{return top.document!==UNDEFINED?top:window;}catch(e){return window;}},_js=function(){return'javascript';},_strict=function(value){value=value.toString();return(_opts.strict&&value.substr(0,1)!='/'?'/':'')+value;},_crawl=function(value,direction){if(_opts.crawlable&&direction){return(value!==''?'!':'')+value;}
return value.replace(/^\!/,'');},_cssint=function(el,value){return parseInt(el.css(value),10);},_listen=function(){if(!_silent){var hash=_href(),diff=_value!=hash;if(diff){if(_msie&&_version<7){_l.reload();}else{if(_msie&&!_hashchange&&_opts.history){_st(_html,50);}
_value=hash;_update(FALSE);}}}},_update=function(internal){_trigger(CHANGE);_trigger(internal?INTERNAL_CHANGE:EXTERNAL_CHANGE);_st(_track,10);},_track=function(){if(_opts.tracker!=='null'&&_opts.tracker!==null){var fn=$.isFunction(_opts.tracker)?_opts.tracker:_t[_opts.tracker],value=(_l.pathname+_l.search+
($.address&&!_supportsState()?$.address.value():'')).replace(/\/\//,'/').replace(/^\/$/,'');if($.isFunction(fn)){fn(value);}else if($.isFunction(_t.urchinTracker)){_t.urchinTracker(value);}else if(_t.pageTracker!==UNDEFINED&&$.isFunction(_t.pageTracker._trackPageview)){_t.pageTracker._trackPageview(value);}else if(_t._gaq!==UNDEFINED&&$.isFunction(_t._gaq.push)){_t._gaq.push(['_trackPageview',decodeURI(value)]);}}},_html=function(){var src=_js()+':'+FALSE+';document.open();document.writeln(\'<html><head><title>'+
_d.title.replace(/\'/g,'\\\'')+'</title><script>var '+ID+' = "'+_href()+
(_d.domain!=_l.hostname?'";document.domain="'+_d.domain:'')+'";</'+'script></head></html>\');document.close();';if(_version<7){_frame.src=src;}else{_frame.contentWindow.location.replace(src);}},_options=function(){if(_url&&_qi!=-1){var i,param,params=_url.substr(_qi+1).split('&');for(i=0;i<params.length;i++){param=params[i].split('=');if(/^(autoUpdate|crawlable|history|strict|wrap)$/.test(param[0])){_opts[param[0]]=(isNaN(param[1])?/^(true|yes)$/i.test(param[1]):(parseInt(param[1],10)!==0));}
if(/^(state|tracker)$/.test(param[0])){_opts[param[0]]=param[1];}}
_url=null;}
_value=_href();},_load=function(){if(!_loaded){_loaded=TRUE;_options();var complete=function(){_enable.call(this);_unescape.call(this);},body=$('body').ajaxComplete(complete);complete();if(_opts.wrap){var wrap=$('body > *').wrapAll('<div style="padding:'+
(_cssint(body,'marginTop')+_cssint(body,'paddingTop'))+'px '+
(_cssint(body,'marginRight')+_cssint(body,'paddingRight'))+'px '+
(_cssint(body,'marginBottom')+_cssint(body,'paddingBottom'))+'px '+
(_cssint(body,'marginLeft')+_cssint(body,'paddingLeft'))+'px;" />').parent().wrap('<div id="'+ID+'" style="height:100%;overflow:auto;position:relative;'+
(_webkit&&!window.statusbar.visible?'resize:both;':'')+'" />');$('html, body').css({height:'100%',margin:0,padding:0,overflow:'hidden'});if(_webkit){$('<style type="text/css" />').appendTo('head').text('#'+ID+'::-webkit-resizer { background-color: #fff; }');}}
if(_msie&&!_hashchange){var frameset=_d.getElementsByTagName('frameset')[0];_frame=_d.createElement((frameset?'':'i')+'frame');_frame.src=_js()+':'+FALSE;if(frameset){frameset.insertAdjacentElement('beforeEnd',_frame);frameset[frameset.cols?'cols':'rows']+=',0';_frame.noResize=TRUE;_frame.frameBorder=_frame.frameSpacing=0;}else{_frame.style.display='none';_frame.style.width=_frame.style.height=0;_frame.tabIndex=-1;_d.body.insertAdjacentElement('afterBegin',_frame);}
_st(function(){$(_frame).bind('load',function(){var win=_frame.contentWindow;_value=win[ID]!==UNDEFINED?win[ID]:'';if(_value!=_href()){_update(FALSE);_l.hash=_crawl(_value,TRUE);}});if(_frame.contentWindow[ID]===UNDEFINED){_html();}},50);}
_st(function(){_trigger('init');_update(FALSE);},1);if(!_supportsState()){if(_hashchange){if(_t.addEventListener){_t.addEventListener(HASH_CHANGE,_listen,FALSE);}else if(_t.attachEvent){_t.attachEvent('on'+HASH_CHANGE,_listen);}}else{_si(_listen,50);}}}},_enable=function(){var el,elements=$('a'),length=elements.size(),delay=1,index=-1,sel='[rel*="address:"]',fn=function(){if(++index!=length){el=$(elements.get(index));if(el.is(sel)){el.address(sel);}
_st(fn,delay);}};_st(fn,delay);},_popstate=function(){if(_value!=_href()){_value=_href();_update(FALSE);}},_unload=function(){if(_t.removeEventListener){_t.removeEventListener(HASH_CHANGE,_listen,FALSE);}else if(_t.detachEvent){_t.detachEvent('on'+HASH_CHANGE,_listen);}},_unescape=function(){if(_opts.crawlable){var base=_l.pathname.replace(/\/$/,''),fragment='_escaped_fragment_';if($('body').html().indexOf(fragment)!=-1){$('a[href]:not([href^=http]), a[href*="'+document.domain+'"]').each(function(){var href=$(this).attr('href').replace(/^http:/,'').replace(new RegExp(base+'/?$'),'');if(href===''||href.indexOf(fragment)!=-1){$(this).attr('href','#'+encodeURI(decodeURIComponent(href.replace(new RegExp('/(.*)\\?'+
fragment+'=(.*)$'))),'!$2'));}});}}},UNDEFINED,ID='jQueryAddress',STRING='string',HASH_CHANGE='hashchange',INIT='init',CHANGE='change',INTERNAL_CHANGE='internalChange',EXTERNAL_CHANGE='externalChange',TRUE=true,FALSE=false,_opts={autoUpdate:TRUE,crawlable:FALSE,history:TRUE,strict:TRUE,wrap:FALSE},_browser=$.browser,_version=parseFloat(_browser.version),_msie=!$.support.opacity,_webkit=_browser.webkit||_browser.safari,_t=_window(),_d=_t.document,_h=_t.history,_l=_t.location,_si=setInterval,_st=setTimeout,_re=/\/{2,9}/g,_agent=navigator.userAgent,_hashchange='on'+HASH_CHANGE in _t,_frame,_form,_url=$('script:last').attr('src'),_qi=_url?_url.indexOf('?'):-1,_title=_d.title,_silent=FALSE,_loaded=FALSE,_justset=TRUE,_juststart=TRUE,_updating=FALSE,_listeners={},_value=_href();if(_msie){_version=parseFloat(_agent.substr(_agent.indexOf('MSIE')+4));if(_d.documentMode&&_d.documentMode!=_version){_version=_d.documentMode!=8?7:8;}
var pc=_d.onpropertychange;_d.onpropertychange=function(){if(pc){pc.call(_d);}
if(_d.title!=_title&&_d.title.indexOf('#'+_href())!=-1){_d.title=_title;}};}
if(_h.navigationMode){_h.navigationMode='compatible';}
if(document.readyState=='complete'){var interval=setInterval(function(){if($.address){_load();clearInterval(interval);}},50);}else{_options();$(_load);}
$(window).bind('popstate',_popstate).bind('unload',_unload);return{bind:function(type,data,fn){return _bind.apply(this,_array(arguments));},init:function(data,fn){return _bind.apply(this,[INIT].concat(_array(arguments)));},change:function(data,fn){return _bind.apply(this,[CHANGE].concat(_array(arguments)));},internalChange:function(data,fn){return _bind.apply(this,[INTERNAL_CHANGE].concat(_array(arguments)));},externalChange:function(data,fn){return _bind.apply(this,[EXTERNAL_CHANGE].concat(_array(arguments)));},baseURL:function(){var url=_l.href;if(url.indexOf('#')!=-1){url=url.substr(0,url.indexOf('#'));}
if(/\/$/.test(url)){url=url.substr(0,url.length-1);}
return url;},autoUpdate:function(value){if(value!==UNDEFINED){_opts.autoUpdate=value;return this;}
return _opts.autoUpdate;},crawlable:function(value){if(value!==UNDEFINED){_opts.crawlable=value;return this;}
return _opts.crawlable;},history:function(value){if(value!==UNDEFINED){_opts.history=value;return this;}
return _opts.history;},state:function(value){if(value!==UNDEFINED){_opts.state=value;var hrefState=_hrefState();if(_opts.state!==UNDEFINED){if(_h.pushState){if(hrefState.substr(0,3)=='/#/'){_l.replace(_opts.state.replace(/^\/$/,'')+hrefState.substr(2));}}else if(hrefState!='/'&&hrefState.replace(/^\/#/,'')!=_hrefHash()){_st(function(){_l.replace(_opts.state.replace(/^\/$/,'')+'/#'+hrefState);},1);}}
return this;}
return _opts.state;},strict:function(value){if(value!==UNDEFINED){_opts.strict=value;return this;}
return _opts.strict;},tracker:function(value){if(value!==UNDEFINED){_opts.tracker=value;return this;}
return _opts.tracker;},wrap:function(value){if(value!==UNDEFINED){_opts.wrap=value;return this;}
return _opts.wrap;},update:function(){_updating=TRUE;this.value(_value);_updating=FALSE;return this;},title:function(value){if(value!==UNDEFINED){_st(function(){_title=_d.title=value;if(_juststart&&_frame&&_frame.contentWindow&&_frame.contentWindow.document){_frame.contentWindow.document.title=value;_juststart=FALSE;}
if(!_justset&&_browser.mozilla){_l.replace(_l.href.indexOf('#')!=-1?_l.href:_l.href+'#');}
_justset=FALSE;},50);return this;}
return _d.title;},value:function(value){if(value!==UNDEFINED){value=_strict(value);if(value=='/'){value='';}
if(_value==value&&!_updating){return;}
_justset=TRUE;_value=value;if(_opts.autoUpdate||_updating){_update(TRUE);if(_supportsState()){_h[_opts.history?'pushState':'replaceState']({},'',_opts.state.replace(/\/$/,'')+(_value===''?'/':_value));}else{_silent=TRUE;if(_webkit){if(_opts.history){_l.hash='#'+_crawl(_value,TRUE);}else{_l.replace('#'+_crawl(_value,TRUE));}}else if(_value!=_href()){if(_opts.history){_l.hash='#'+_crawl(_value,TRUE);}else{_l.replace('#'+_crawl(_value,TRUE));}}
if((_msie&&!_hashchange)&&_opts.history){_st(_html,50);}
if(_webkit){_st(function(){_silent=FALSE;},1);}else{_silent=FALSE;}}}
return this;}
return _strict(_value);},path:function(value){if(value!==UNDEFINED){var qs=this.queryString(),hash=this.hash();this.value(value+(qs?'?'+qs:'')+(hash?'#'+hash:''));return this;}
return _strict(_value).split('#')[0].split('?')[0];},pathNames:function(){var path=this.path(),names=path.replace(_re,'/').split('/');if(path.substr(0,1)=='/'||path.length===0){names.splice(0,1);}
if(path.substr(path.length-1,1)=='/'){names.splice(names.length-1,1);}
return names;},queryString:function(value){if(value!==UNDEFINED){var hash=this.hash();this.value(this.path()+(value?'?'+value:'')+(hash?'#'+hash:''));return this;}
var arr=_value.split('?');return arr.slice(1,arr.length).join('?').split('#')[0];},parameter:function(name,value,append){var i,params;if(value!==UNDEFINED){var names=this.parameterNames();params=[];value=value?value.toString():'';for(i=0;i<names.length;i++){var n=names[i],v=this.parameter(n);if(typeof v==STRING){v=[v];}
if(n==name){v=(value===null||value==='')?[]:(append?v.concat([value]):[value]);}
for(var j=0;j<v.length;j++){params.push(n+'='+v[j]);}}
if($.inArray(name,names)==-1&&value!==null&&value!==''){params.push(name+'='+value);}
this.queryString(params.join('&'));return this;}
value=this.queryString();if(value){var r=[];params=value.split('&');for(i=0;i<params.length;i++){var p=params[i].split('=');if(p[0]==name){r.push(p.slice(1).join('='));}}
if(r.length!==0){return r.length!=1?r:r[0];}}},parameterNames:function(){var qs=this.queryString(),names=[];if(qs&&qs.indexOf('=')!=-1){var params=qs.split('&');for(var i=0;i<params.length;i++){var name=params[i].split('=')[0];if($.inArray(name,names)==-1){names.push(name);}}}
return names;},hash:function(value){if(value!==UNDEFINED){this.value(_value.split('#')[0]+(value?'#'+value:''));return this;}
var arr=_value.split('#');return arr.slice(1,arr.length).join('#');}};})();$.fn.address=function(fn){var sel;if(typeof fn=='string'){sel=fn;fn=undefined;}
if(!$(this).attr('address')){var f=function(e){if(e.shiftKey||e.ctrlKey||e.metaKey||e.which==2){return true;}
if($(this).is('a')){e.preventDefault();var value=fn?fn.call(this):/address:/.test($(this).attr('rel'))?$(this).attr('rel').split('address:')[1].split(' ')[0]:$.address.state()!==undefined&&!/^\/?$/.test($.address.state())?$(this).attr('href').replace(new RegExp('^(.*'+$.address.state()+'|\\.)'),''):$(this).attr('href').replace(/^(#\!?|\.)/,'');$.address.value(value);}};$(sel?sel:this).live('click',f).live('submit',function(e){if($(this).is('form')){e.preventDefault();var action=$(this).attr('action'),value=fn?fn.call(this):(action.indexOf('?')!=-1?action.replace(/&$/,''):action+'?')+
$(this).serialize();$.address.value(value);}}).attr('address',true);}
return this;};})(jQuery);
;(function(document){window.MBP=window.MBP||{};MBP.viewportmeta=document.querySelector&&document.querySelector('meta[name="viewport"]');MBP.ua=navigator.userAgent;MBP.scaleFix=function(){if(MBP.viewportmeta&&/iPhone|iPad/.test(MBP.ua)&&!/Opera Mini/.test(MBP.ua)){MBP.viewportmeta.content="width=device-width, minimum-scale=1.0, maximum-scale=1.0";document.addEventListener("gesturestart",MBP.gestureStart,false);}};MBP.gestureStart=function(){MBP.viewportmeta.content="width=device-width, minimum-scale=0.25, maximum-scale=1.6";};MBP.hideUrlBar=function(){/iPhone/.test(MBP.ua)&&!pageYOffset&&!location.hash&&setTimeout(function(){window.scrollTo(0,1);},1000);};MBP.fastButton=function(element,handler){this.element=element;this.handler=handler;if(element.addEventListener){element.addEventListener('touchstart',this,false);element.addEventListener('click',this,false);}};MBP.fastButton.prototype.handleEvent=function(event){switch(event.type){case'touchstart':this.onTouchStart(event);break;case'touchmove':this.onTouchMove(event);break;case'touchend':this.onClick(event);break;case'click':this.onClick(event);break;}};MBP.fastButton.prototype.onTouchStart=function(event){event.stopPropagation();this.element.addEventListener('touchend',this,false);document.body.addEventListener('touchmove',this,false);this.startX=event.touches[0].clientX;this.startY=event.touches[0].clientY;this.element.style.backgroundColor="rgba(0,0,0,.7)";};MBP.fastButton.prototype.onTouchMove=function(event){if(Math.abs(event.touches[0].clientX-this.startX)>10||Math.abs(event.touches[0].clientY-this.startY)>10){this.reset();}};MBP.fastButton.prototype.onClick=function(event){event.stopPropagation();this.reset();this.handler(event);if(event.type=='touchend'){MBP.preventGhostClick(this.startX,this.startY);}
this.element.style.backgroundColor="";};MBP.fastButton.prototype.reset=function(){this.element.removeEventListener('touchend',this,false);document.body.removeEventListener('touchmove',this,false);this.element.style.backgroundColor="";};MBP.preventGhostClick=function(x,y){MBP.coords.push(x,y);window.setTimeout(function(){MBP.coords.splice(0,2);},2500);};MBP.ghostClickHandler=function(event){for(var i=0,len=MBP.coords.length;i<len;i+=2){var x=MBP.coords[i];var y=MBP.coords[i+1];if(Math.abs(event.clientX-x)<25&&Math.abs(event.clientY-y)<25){event.stopPropagation();event.preventDefault();}}};if(document.addEventListener){document.addEventListener('click',MBP.ghostClickHandler,true);}
MBP.coords=[];MBP.splash=function(){var filename=navigator.platform==='iPad'?'h/':'l/';document.write('<link rel="apple-touch-startup-image" href="/img/'+filename+'splash.png" />');};MBP.autogrow=function(element,lh){function handler(e){var newHeight=this.scrollHeight,currentHeight=this.clientHeight;if(newHeight>currentHeight){this.style.height=newHeight+3*textLineHeight+"px";}}
var setLineHeight=(lh)?lh:12,textLineHeight=element.currentStyle?element.currentStyle.lineHeight:getComputedStyle(element,null).lineHeight;textLineHeight=(textLineHeight.indexOf("px")==-1)?setLineHeight:parseInt(textLineHeight,10);element.style.overflow="hidden";element.addEventListener?element.addEventListener('keyup',handler,false):element.attachEvent('onkeyup',handler);};})(document);
;window.log=function(){log.history=log.history||[];log.history.push(arguments);arguments.callee=arguments.callee.caller;if(this.console)console.log(Array.prototype.slice.call(arguments));};(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info, log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});
/*
 * HTML5 Placeholder jQuery Plugin v1.8.2
 * @link http://github.com/mathiasbynens/Placeholder-jQuery-Plugin
 * @author Mathias Bynens <http://mathiasbynens.be/>
 */
;(function($){var isInputSupported='placeholder'in document.createElement('input'),isTextareaSupported='placeholder'in document.createElement('textarea');if(isInputSupported&&isTextareaSupported){$.fn.placeholder=function(){return this;};$.fn.placeholder.input=$.fn.placeholder.textarea=true;}else{$.fn.placeholder=function(){return this.filter((isInputSupported?'textarea':':input')+'[placeholder]').bind('focus.placeholder',clearPlaceholder).bind('blur.placeholder',setPlaceholder).trigger('blur.placeholder').end();};$.fn.placeholder.input=isInputSupported;$.fn.placeholder.textarea=isTextareaSupported;}
function args(elem){var newAttrs={},rinlinejQuery=/^jQuery\d+$/;$.each(elem.attributes,function(i,attr){if(attr.specified&&!rinlinejQuery.test(attr.name)){newAttrs[attr.name]=attr.value;}});return newAttrs;}
function clearPlaceholder(){var $input=$(this);if($input.val()===$input.attr('placeholder')&&$input.hasClass('placeholder')){if($input.data('placeholder-password')){$input.hide().next().attr('id',$input.removeAttr('id').data('placeholder-id')).show().focus();}else{$input.val('').removeClass('placeholder');}}}
function setPlaceholder(elem){var $replacement,$input=$(this),$origInput=$input,id=this.id;if($input.val()===''){if($input.is(':password')){if(!$input.data('placeholder-textinput')){try{$replacement=$input.clone().attr({type:'text'});}catch(e){$replacement=$('<input>').attr($.extend(args(this),{type:'text'}));}
$replacement.removeAttr('name').data('placeholder-password',true).data('placeholder-id',id).bind('focus.placeholder',clearPlaceholder);$input.data('placeholder-textinput',$replacement).data('placeholder-id',id).before($replacement);}
$input=$input.removeAttr('id').hide().prev().attr('id',id).show();}
$input.addClass('placeholder').val($input.attr('placeholder'));}else{$input.removeClass('placeholder');}}
$(function(){$('form').bind('submit.placeholder',function(){var $inputs=$('.placeholder',this).each(clearPlaceholder);setTimeout(function(){$inputs.each(setPlaceholder);},10);});});$(window).bind('unload.placeholder',function(){$('.placeholder').val('');});}(jQuery));
