// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console) {
    arguments.callee = arguments.callee.caller;
    var newarr = [].slice.call(arguments);
    (typeof console.log === 'object' ? log.apply.call(console.log, console, newarr) : console.log.apply(console, newarr));
  }
};

// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
{console.log();return window.console;}catch(err){return window.console={};}})());

/*LazyLoad */
LazyLoad=function(k){function p(b,a){var g=k.createElement(b),c;for(c in a)a.hasOwnProperty(c)&&g.setAttribute(c,a[c]);return g}function l(b){var a=m[b],c,f;if(a)c=a.callback,f=a.urls,f.shift(),h=0,f.length||(c&&c.call(a.context,a.obj),m[b]=null,n[b].length&&j(b))}function w(){var b=navigator.userAgent;c={async:k.createElement("script").async===!0};(c.webkit=/AppleWebKit\//.test(b))||(c.ie=/MSIE/.test(b))||(c.opera=/Opera/.test(b))||(c.gecko=/Gecko\//.test(b))||(c.unknown=!0)}function j(b,a,g,f,h){var j=
function(){l(b)},o=b==="css",q=[],d,i,e,r;c||w();if(a)if(a=typeof a==="string"?[a]:a.concat(),o||c.async||c.gecko||c.opera)n[b].push({urls:a,callback:g,obj:f,context:h});else{d=0;for(i=a.length;d<i;++d)n[b].push({urls:[a[d]],callback:d===i-1?g:null,obj:f,context:h})}if(!m[b]&&(r=m[b]=n[b].shift())){s||(s=k.head||k.getElementsByTagName("head")[0]);a=r.urls;d=0;for(i=a.length;d<i;++d)g=a[d],o?e=c.gecko?p("style"):p("link",{href:g,rel:"stylesheet"}):(e=p("script",{src:g}),e.async=!1),e.className="lazyload",
e.setAttribute("charset","utf-8"),c.ie&&!o?e.onreadystatechange=function(){if(/loaded|complete/.test(e.readyState))e.onreadystatechange=null,j()}:o&&(c.gecko||c.webkit)?c.webkit?(r.urls[d]=e.href,t()):(e.innerHTML='@import "'+g+'";',u(e)):e.onload=e.onerror=j,q.push(e);d=0;for(i=q.length;d<i;++d)s.appendChild(q[d])}}function u(b){var a;try{a=!!b.sheet.cssRules}catch(c){h+=1;h<200?setTimeout(function(){u(b)},50):a&&l("css");return}l("css")}function t(){var b=m.css,a;if(b){for(a=v.length;--a>=0;)if(v[a].href===
b.urls[0]){l("css");break}h+=1;b&&(h<200?setTimeout(t,50):l("css"))}}var c,s,m={},h=0,n={css:[],js:[]},v=k.styleSheets;return{css:function(b,a,c,f){j("css",b,a,c,f)},js:function(b,a,c,f){j("js",b,a,c,f)}}}(this.document);

/*Tipsy */

(function($){$.fn.tipsy=function(options){options=$.extend({},$.fn.tipsy.defaults,options);return this.each(function(){var opts=$.fn.tipsy.elementOptions(this,options);$(this).hover(function(){$.data(this,'cancel.tipsy',true);var tip=$.data(this,'active.tipsy');if(!tip){tip=$('<div class="tipsy"><div class="tipsy-inner"/></div>');tip.css({position:'absolute',zIndex:100000});$.data(this,'active.tipsy',tip)}if($(this).attr('title')||typeof($(this).attr('original-title'))!='string'){$(this).attr('original-title',$(this).attr('title')||'').removeAttr('title')}var title;if(typeof opts.title=='string'){title=$(this).attr(opts.title=='title'?'original-title':opts.title)}else if(typeof opts.title=='function'){title=opts.title.call(this)}tip.find('.tipsy-inner')[opts.html?'html':'text'](title||opts.fallback);var pos=$.extend({},$(this).offset(),{width:this.offsetWidth,height:this.offsetHeight});tip.get(0).className='tipsy';tip.remove().css({top:0,left:0,visibility:'hidden',display:'block'}).appendTo(document.body);var actualWidth=tip[0].offsetWidth,actualHeight=tip[0].offsetHeight;var gravity=(typeof opts.gravity=='function')?opts.gravity.call(this):opts.gravity;switch(gravity.charAt(0)){case'n':tip.css({top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}).addClass('tipsy-north');break;case's':tip.css({top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}).addClass('tipsy-south');break;case'e':tip.css({top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}).addClass('tipsy-east');break;case'w':tip.css({top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}).addClass('tipsy-west');break}if(opts.fade){tip.css({opacity:0,display:'block',visibility:'visible'}).animate({opacity:0.8})}else{tip.css({visibility:'visible'})}},function(){$.data(this,'cancel.tipsy',false);var self=this;setTimeout(function(){if($.data(this,'cancel.tipsy'))return;var tip=$.data(self,'active.tipsy');if(opts.fade){tip.stop().fadeOut(function(){$(this).remove()})}else{tip.remove()}},100)})})};$.fn.tipsy.elementOptions=function(ele,options){return $.metadata?$.extend({},options,$(ele).metadata()):options};$.fn.tipsy.defaults={fade:true,fallback:'',gravity:'n',html:false,title:'title'};$.fn.tipsy.autoNS=function(){return $(this).offset().top>($(document).scrollTop()+$(window).height()/2)?'s':'n'};$.fn.tipsy.autoWE=function(){return $(this).offset().left>($(document).scrollLeft()+$(window).width()/2)?'e':'w'}})(jQuery);

/* 
 * fontScaler - flexible font-sizing plugin  
 * Examples and documentation at: http://www.marcup.nl/projects/fontScaler 
 *
 */
 
(function($){$.fn.fontScaler=function(options){var defaultSettings={increment:'fixed',fixed:{size1:62.5,size2:75,size3:100,id1:'fs_normal',id2:'fs_medium',id3:'fs_large',title1:'normal',title2:'medium',title3:'large',character:'A'},variable:{step:10,id1:'fs_decrease',id2:'fs_increase',title1:'decrease',title2:'increase',character1:'-',character2:'+'},store:false,storetime:10,target:eval(document.body),containerclass:"fontScaler",fx:"normal",fxspeed:100};if(options&&options.fixed)options.fixed=$.extend({},defaultSettings.fixed,options.fixed);if(options&&options.variable)options.variable=$.extend({},defaultSettings.variable,options.variable);var settings=new Array();settings=$.extend({},defaultSettings,options);function newfontScaler(i){var fixed=settings.fixed;var variable=settings.variable;if(settings.increment=="fixed"){var fsid=fixed["id"+i];var fstitle=fixed["title"+i];var fscharacter=fixed.character}if(settings.increment=="variable"){var fsid=variable["id"+i];var fstitle=variable["title"+i];var fscharacter=variable["character"+i]}if((settings.increment=="variable"&&variable["id"+i]!=null)||(settings.increment=="fixed"&&fixed["id"+i]!=null)){return $(document.createElement('a')).attr('href','javascript:void(0)').attr('id',fsid).attr('title',fstitle).append($(document.createTextNode(fscharacter))).bind("click",function(e){changeFontSize(i,e)})}}var fontSizeLinks=$(document.createElement('div')).attr('class',settings.containerclass).append(newfontScaler(1),newfontScaler(2),newfontScaler(3));$(this).prepend(fontSizeLinks);function changeFontSize(i,event){i=i*1;var target=settings.target;if(settings.increment=="fixed"){if(settings.fx=="normal"){$(target).css('font-size',settings.fixed["size"+i]+'%')}if(settings.fx=="smooth"){$(target).animate({fontSize:settings.fixed["size"+i]+'%'},settings.fxspeed)}if((event)&&(settings.store==true)){var duration=((settings.storetime/24)/60);createCookie('fontScalerFixed',(i),duration)}}if(settings.increment=="variable"){var currentSize=$(target).css('font-size').split("px")[0]*1;if(event){var pressedbutton=$(event.target);if(pressedbutton.hasClass("disabled")){eraseCookie('fontScalerVariable');return false}}if(i==1){var newSize=currentSize-((settings.variable["step"]/100)*currentSize)}else if(i==2){var newSize=currentSize+((settings.variable["step"]/100)*currentSize);if(event){pressedbutton.siblings().removeClass("disabled")}}else{var newSize=i}if(settings.fx=="normal"&&newSize>10){$(target).css('font-size',newSize)}else if(settings.fx=="smooth"&&newSize>10){$(target).animate({fontSize:newSize},settings.fxspeed)}else if(event){pressedbutton.toggleClass("disabled")}if((event)&&(settings.store==true)){var duration=((settings.storetime/24)/60);createCookie('fontScalerVariable',(newSize),duration)}}}var cookievalueFixed=readCookie('fontScalerFixed');if((cookievalueFixed!=null)&&(settings.store==true)){changeFontSize(cookievalueFixed)}var cookievalueVariable=readCookie('fontScalerVariable');if((cookievalueVariable!=null)&&(settings.store==true)){changeFontSize(cookievalueVariable)}function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()}else var expires="";document.cookie=name+"="+value+expires+"; path=/"}function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length)}return null}function eraseCookie(name){createCookie(name,"",-1)}}})(jQuery);

/**
 * Accessible Tabs - jQuery plugin for accessible, unobtrusive tabs
 */
(function($){var debugMode=true;$.fn.extend({getUniqueId:function(p,q,r){if(r===undefined){r=""}else{r="-"+r}return p+q+r},accessibleTabs:function(config){var defaults={wrapperClass:"content",currentClass:"current",tabhead:"h4",tabheadClass:"tabhead",tabbody:".tabbody",fx:"show",fxspeed:"normal",currentInfoText:"current tab: ",currentInfoPosition:"prepend",currentInfoClass:"current-info",tabsListClass:"tabs-list",syncheights:false,syncHeightMethodName:"syncHeight",cssClassAvailable:false,saveState:false,autoAnchor:false,pagination:false,position:"top",wrapInnerNavLinks:"",firstNavItemClass:"first",lastNavItemClass:"last"};var keyCodes={37:-1,38:-1,39:+1,40:+1};var positions={top:"prepend",bottom:"append"};this.options=$.extend(defaults,config);var o=this;return this.each(function(t){var el=$(this);var list="";var tabCount=0;ids=[];$(el).wrapInner('<div class="'+o.options.wrapperClass+'"></div>');$(el).find(o.options.tabhead).each(function(i){var id="";elId=$(this).attr("id");if(elId){id=' id="'+elId+'"'}var tabId=o.getUniqueId("accessibletabscontent",t,i);var navItemId=o.getUniqueId("accessibletabsnavigation",t,i);ids.push(tabId);if(o.options.cssClassAvailable===true){var cssClass="";if($(this).attr("class")){cssClass=$(this).attr("class");cssClass=' class="'+cssClass+'"';list+='<li id="'+navItemId+'"><a'+id+""+cssClass+' href="#'+tabId+'">'+$(this).html()+"</a></li>"}}else{list+='<li id="'+navItemId+'"><a'+id+' href="#'+tabId+'">'+$(this).html()+"</a></li>"}$(this).attr({id:tabId,"class":o.options.tabheadClass,tabindex:"-1"});tabCount++});if(o.options.syncheights&&$.fn[o.options.syncHeightMethodName]){$(el).find(o.options.tabbody)[o.options.syncHeightMethodName]();$(window).resize(function(){$(el).find(o.options.tabbody)[o.options.syncHeightMethodName]()})}$(el)[positions[o.options.position]]('<ul class="clearfix '+o.options.tabsListClass+" tabamount"+tabCount+'">'+list+"</ul>");$(el).find(o.options.tabbody).hide();$(el).find(o.options.tabbody+":first").show();$(el).find("ul."+o.options.tabsListClass+">li:first").addClass(o.options.currentClass).addClass(o.options.firstNavItemClass).find("a")[o.options.currentInfoPosition]('<span class="'+o.options.currentInfoClass+'">'+o.options.currentInfoText+"</span>").parents("ul."+o.options.tabsListClass).children("li:last").addClass(o.options.lastNavItemClass);if(o.options.wrapInnerNavLinks){$(el).find("ul."+o.options.tabsListClass+">li>a").wrapInner(o.options.wrapInnerNavLinks)}$(el).find("ul."+o.options.tabsListClass+">li>a").each(function(i){$(this).click(function(event){event.preventDefault();el.trigger("showTab.accessibleTabs",[$(event.target)]);if(o.options.saveState&&$.cookie){$.cookie("accessibletab_"+el.attr("id")+"_active",i)}$(el).find("ul."+o.options.tabsListClass+">li."+o.options.currentClass).removeClass(o.options.currentClass).find("span."+o.options.currentInfoClass).remove();$(this).blur();$(el).find(o.options.tabbody+":visible").hide();$(el).find(o.options.tabbody).eq(i)[o.options.fx](o.options.fxspeed);$(this)[o.options.currentInfoPosition]('<span class="'+o.options.currentInfoClass+'">'+o.options.currentInfoText+"</span>").parent().addClass(o.options.currentClass);$($(this).attr("href")).focus().keyup(function(event){if(keyCodes[event.keyCode]){o.showAccessibleTab(i+keyCodes[event.keyCode]);$(this).unbind("keyup")}})});$(this).focus(function(event){$(document).keyup(function(event){if(keyCodes[event.keyCode]){o.showAccessibleTab(i+keyCodes[event.keyCode])}})});$(this).blur(function(event){$(document).unbind("keyup")})});if(o.options.saveState&&$.cookie){var savedState=$.cookie("accessibletab_"+el.attr("id")+"_active");debug($.cookie("accessibletab_"+el.attr("id")+"_active"));if(savedState!==null){o.showAccessibleTab(savedState,el.attr("id"))}}if(o.options.autoAnchor&&window.location.hash){var anchorTab=$("."+o.options.tabsListClass).find(window.location.hash);if(anchorTab.size()){anchorTab.click()}}if(o.options.pagination){var m='<ul class="pagination">';m+='    <li class="previous"><a href="#{previousAnchor}"><span>{previousHeadline}</span></a></li>';m+='    <li class="next"><a href="#{nextAnchor}"><span>{nextHeadline}</span></a></li>';m+="</ul>";var tabs=$(el).find(".tabbody");var tabcount=tabs.size();tabs.each(function(idx){$(this).append(m);var next=idx+1;if(next>=tabcount){next=0}var previous=idx-1;if(previous<0){previous=tabcount-1}var p=$(this).find(".pagination");var previousEl=p.find(".previous");previousEl.find("span").text($("#"+ids[previous]).text());previousEl.find("a").attr("href","#"+ids[previous]).click(function(event){event.preventDefault();$(el).find(".tabs-list a").eq(previous).click()});var nextEl=p.find(".next");nextEl.find("span").text($("#"+ids[next]).text());nextEl.find("a").attr("href","#"+ids[next]).click(function(event){event.preventDefault();$(el).find(".tabs-list a").eq(next).click()})})}})},showAccessibleTab:function(index,id){debug("showAccessibleTab");var o=this;if(id){var el=$("#"+id);var links=el.find("ul."+o.options.tabsListClass+">li>a");el.trigger("showTab.accessibleTabs",[links.eq(index)]);links.eq(index).click()}else{return this.each(function(){var el=$(this);el.trigger("showTab.accessibleTabs");var links=el.find("ul."+o.options.tabsListClass+">li>a");el.trigger("showTab.accessibleTabs",[links.eq(index)]);links.eq(index).click()})}},showAccessibleTabSelector:function(selector){debug("showAccessibleTabSelector");var o=this;var el=$(selector);if(el){if(el.get(0).nodeName.toLowerCase()=="a"){el.click()}else{debug("the selector of a showAccessibleTabSelector() call needs to point to a tabs headline!")}}}});function debug(msg,info){if(debugMode&&window.console&&window.console.log){if(info){window.console.log(info+": ",msg)}else{window.console.log(msg)}}}})(jQuery);

