// 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,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});

// place any jQuery/helper plugins in here, instead of separate, slower script files.

/* 
	underscreen.com cool pluggins below!
*/

// jQuery DISTINCT selector /// Usage: $.distinct([1,2,3,3,4,2,5]); Output [1,2,3,4,5]
$.extend({distinct:function(a){var b=[];$.each(a,function(a,c){if($.inArray(c,b)==-1)b.push(c)});return b}})

// jQuery EASING pluggin!
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;}});

(function(A){A.fn.wheel=function(D){return this[D?"bind":"trigger"]("wheel",D)};A.event.special.wheel={setup:function(){A.event.add(this,C,B,{})},teardown:function(){A.event.remove(this,C,B)}};var C=!A.browser.mozilla?"mousewheel":"DOMMouseScroll"+(A.browser.version<"1.9"?" mousemove":"");function B(D){switch(D.type){case"mousemove":return A.extend(D.data,{clientX:D.clientX,clientY:D.clientY,pageX:D.pageX,pageY:D.pageY});case"DOMMouseScroll":A.extend(D,D.data);D.delta=-D.detail/3;break;case"mousewheel":D.delta=D.wheelDelta/120;if(A.browser.opera){D.delta*=-1}break}D.type="wheel";return A.event.handle.call(this,D,D.delta)}})(jQuery);


// jQWidon't v0.1: http://davecardwell.co.uk/javascript/jquery/plugins/jquery-widont/
//eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(c/a))+String.fromCharCode(c%a+161)};while(c--){if(k[c]){p=p.replace(new RegExp(e(c),'g'),k[c])}}return p}('­ ¡(){¨ ®={\'¥\':¡(©){¦ ©!=À?¢.¥=©:¢.¥},\'¤\':¡(){¦ ¢.¤()},\'½\':¡(§){¦ ¢.£(§)}};$.¼=®;¨ ¢={\'¥\':±,\'¤\':¤,\'£\':£,\'ª\':­ ¸(\'[\\\\n\\\\r\\\\s]+\'+\'(\'+\'[^\\\\n\\\\r\\\\s(?:&#¯;)]+\'+\'[\\\\n\\\\r\\\\s]*\'+\')$\',\'m\')};$(´).µ(¡(){¶(¢.¥)¤()});¡ ¤(){$(\'·,º,»,¾,¿,°\').£()};$.².£=¡(){¦ $(«).³(¡(){¨ o=$(«);o.¬(¢.£(o.¬()))})};¡ £(§){¦ §.¹(¢.ª,"&#¯;$1")}}();',32,32,'function|Private|widont|init|auto|return|string|var|bool|regexp|this|html|new|Public|160|h6|true|fn|each|document|ready|if|h1|RegExp|replace|h2|h3|jqwidont|transform|h4|h5|undefined'.split('|')))

// -------------------------------------------------------------------
// Image Thumbnail Viewer Script- By Dynamic Drive, available at: http://www.dynamicdrive.com
// Last updated: July 7th, 2008- Fixed enlarged image not showing in IE sometimes
// -------------------------------------------------------------------
//var thumbnailviewer={enableTitle:true,enableAnimation:true,definefooter:'<div class="footerbar">CLOSE X</div>',defineLoading:'<img src="img/loading.gif" /> Loading Image...',scrollbarwidth:16,opacitystring:"filter:progid:DXImageTransform.Microsoft.alpha(opacity=10); -moz-opacity: 0.1; opacity: 0.1",targetlinks:[],createthumbBox:function(){document.write('<div id="thumbBox" onClick="thumbnailviewer.closeit()"><div id="thumbImage"></div>'+this.definefooter+"</div>");document.write('<div id="thumbLoading">'+this.defineLoading+"</div>");this.thumbBox=document.getElementById("thumbBox");this.thumbImage=document.getElementById("thumbImage");this.thumbLoading=document.getElementById("thumbLoading");this.standardbody=document.compatMode=="CSS1Compat"?document.documentElement:document.body},centerDiv:function(a){var b=document.all&&!window.opera;var c=document.getElementById;var d=b?this.standardbody.scrollTop:window.pageYOffset;var e=b?this.standardbody.scrollLeft:window.pageXOffset;var f=b?this.standardbody.clientWidth:window.innerWidth-this.scrollbarwidth;var g=b?this.standardbody.clientHeight:window.innerHeight;var h=this.standardbody.offsetHeight>this.standardbody.scrollHeight?this.standardbody.offsetHeight:this.standardbody.scrollHeight;var i=a.offsetWidth;var j=a.offsetHeight;var k=g>j?d+g/2-j/2+"px":d+10+"px";a.style.left=f/2-i/2+"px";a.style.top=Math.floor(parseInt(k))+"px";a.style.visibility="visible"},showthumbBox:function(){thumbnailviewer.thumbLoading.style.visibility="hidden";this.centerDiv(this.thumbBox);if(this.enableAnimation){this.currentopacity=.1;this.opacitytimer=setInterval("thumbnailviewer.opacityanimation()",20)}},loadimage:function(a){if(this.thumbBox.style.visibility=="visible")this.closeit();var b='<img src="'+a.getAttribute("href")+'" style="'+this.opacitystring+'" />';if(this.enableTitle&&a.getAttribute("title"))b+="<br />"+a.getAttribute("title");this.centerDiv(this.thumbLoading);this.thumbImage.innerHTML=b;this.featureImage=this.thumbImage.getElementsByTagName("img")[0];if(this.featureImage.complete)thumbnailviewer.showthumbBox();else{this.featureImage.onload=function(){thumbnailviewer.showthumbBox()}}if(document.all&&!window.createPopup)this.featureImage.src=a.getAttribute("href");this.featureImage.onerror=function(){thumbnailviewer.thumbLoading.style.visibility="hidden"}},setimgopacity:function(a){var b=this.featureImage;if(typeof b.style.opacity=="string")b.style.opacity=a;else if(typeof b.style.MozOpacity=="string")b.style.MozOpacity=a;else if(b.filters&&b.filters[0]){if(typeof b.filters[0].opacity=="number")b.filters[0].opacity=a*100;else b.style.filter="alpha(opacity="+a*100+")"}else this.stopanimation()},opacityanimation:function(){this.setimgopacity(this.currentopacity);this.currentopacity+=.1;if(this.currentopacity>1)this.stopanimation()},stopanimation:function(){if(typeof this.opacitytimer!="undefined")clearInterval(this.opacitytimer)},closeit:function(){this.stopanimation();this.thumbBox.style.visibility="hidden";this.thumbImage.innerHTML="";this.thumbBox.style.left="-2000px";this.thumbBox.style.top="-2000px"},cleanup:function(){this.thumbLoading=null;if(this.featureImage)this.featureImage.onload=null;this.featureImage=null;this.thumbImage=null;for(var a=0;a<this.targetlinks.length;a++)this.targetlinks[a].onclick=null;this.thumbBox=null},dotask:function(a,b,c){var c=window.addEventListener?c:"on"+c;if(a.addEventListener)a.addEventListener(c,b,false);else if(a.attachEvent)a.attachEvent(c,b)},init:function(){if(!this.enableAnimation)this.opacitystring="";var a=document.getElementsByTagName("a");for(var b=0;b<a.length;b++){if(a[b].getAttribute("rel")&&a[b].getAttribute("rel")=="thumbnail"){a[b].onclick=function(){thumbnailviewer.stopanimation();thumbnailviewer.loadimage(this);return false};this.targetlinks[this.targetlinks.length]=a[b]}}this.dotask(window,function(){if(thumbnailviewer.thumbBox.style.visibility=="visible")thumbnailviewer.centerDiv(thumbnailviewer.thumbBox)},"resize")}};thumbnailviewer.createthumbBox();thumbnailviewer.dotask(window,function(){thumbnailviewer.init()},"load");thumbnailviewer.dotask(window,function(){thumbnailviewer.cleanup()},"unload")
