if(document.getElementsByTagName){var hrefs=document.getElementsByTagName("a");for(var l=0;l<hrefs.length;l++){try{if(hrefs[l].protocol=="mailto:"){startListening(hrefs[l],"click",trackMailto)}else{if(hrefs[l].hostname==location.host){var path=hrefs[l].pathname+hrefs[l].search;var isDoc=path.match(/\.(?:doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)($|\&|\?)/);if(isDoc){startListening(hrefs[l],"click",trackExternalLinks)}}else{startListening(hrefs[l],"click",trackExternalLinks)}}}catch(e){continue}}}function startListening(b,c,a){if(b.addEventListener){b.addEventListener(c,a,false)}else{if(b.attachEvent){b.attachEvent("on"+c,a)}}}function trackMailto(c){var b=(c.srcElement)?c.srcElement.href:this.href;var a="/mailto/"+b.substring(7);if(typeof(pageTracker)=="object"){pageTracker._trackPageview(a)}}function trackExternalLinks(c){var a=(c.srcElement)?c.srcElement:this;while(a.tagName!="A"){a=a.parentNode}var b=(a.pathname.charAt(0)=="/")?a.pathname:"/"+a.pathname;if(a.search&&a.pathname.indexOf(a.search)==-1){b+=a.search}if(a.hostname!=location.host){b="/external/"+a.hostname+b}if(typeof(pageTracker)=="object"){pageTracker._trackPageview(b)}};$("#post").submit(function(){var a=$.trim($("#name").val()).length;if($("#ctext").length>0){var d=$("#ctext").val().length;var b="1"}else{var d=$("#message").val().length;var b=$("#email").val().length}var c="";if(a==0){c="You need to add your name!\n"}if(b==0){c=c+"You need to add your email!\n"}if(d<=10){c=c+"Your comment is too short, write something!"}if(c){alert(c);return false}});function getVote(d,b){var a=GetXmlHttpObject();if(a==null){alert("Browser does not support HTTP Request");return}var c="mod_poll/poll_process.php";var e="pid="+b+"&vote="+d;a.onreadystatechange=function(){if(a.readyState==4||a.readyState=="complete"){document.getElementById("poll_"+b).innerHTML=a.responseText}else{document.getElementById("loader_"+b).innerHTML="<img src='mod_poll/loading.gif' />&nbsp;"}};a.open("POST",c,true);a.setRequestHeader("Content-type","application/x-www-form-urlencoded");a.setRequestHeader("Content-length",e.length);a.setRequestHeader("Connection","close");a.send(e)}function GetXmlHttpObject(){var a=null;if(window.XMLHttpRequest){a=new XMLHttpRequest()}else{if(window.ActiveXObject){a=new ActiveXObject("Microsoft.XMLHTTP")}}return a}function getSelectedRadio(a){if(a[0]){for(var b=0;b<a.length;b++){if(a[b].checked){return b}}}else{if(a.checked){return 0}}return -1}function getSelectedRadioValue(a){var b=getSelectedRadio(a);if(b==-1){return""}else{if(a[b]){return a[b].value}else{return a.value}}};if(document.images){pic1=new Image(220,19);pic1.src="css/images/ratings/rating_loading.gif";pic2=new Image(25,75);pic2.src="css/images/ratings/rating_star.gif";pic3=new Image(25,75);pic3.src="css/images/ratings/rating_star_2.gif";pic4=new Image(16,13);pic4.src="css/images/ratings/rating_tick.gif";pic5=new Image(14,14);pic5.src="css/images/ratings/rating_warning.gif"}var xmlHttp;function GetXmlHttpObject(){var a=null;try{a=new XMLHttpRequest()}catch(b){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){a=new ActiveXObject("Microsoft.XMLHTTP")}}return a}function rate(b,g,d,f,c){xmlHttp=GetXmlHttpObject();if(xmlHttp==null){alert("Your browser does not support AJAX!");return}xmlHttp.onreadystatechange=function(){var u=document.getElementById("loading_"+g);var r=document.getElementById("ul_"+g);if(xmlHttp.readyState==4){var o=xmlHttp.responseText;if(o=="already_voted"){u.style.display="block";u.innerHTML='<div class="voted_twice">You already voted!</div>'}else{u.style.display="block";u.innerHTML='<div class="voted">Thanks for voting!</div>';if(d==true){var m=document.getElementById("outOfFive_"+g);var l=o/20;m.innerHTML=Math.round(l*100)/100}if(f==true){var s=document.getElementById("percentage_"+g);var k=o;s.innerHTML=k+"%"}else{if(f==false){var k=o}}if(c==true){var t=document.getElementById("showvotes_"+g).firstChild.nodeValue;var p=t.split(" ");var h=parseInt(p[0])+1;if(h==1){document.getElementById("showvotes_"+g).innerHTML=h+" Vote"}else{document.getElementById("showvotes_"+g).innerHTML=h+" Votes"}}var j=document.getElementById("rater_"+g);j.className="star-rating2";var q=j.getElementsByTagName("li");for(var n=1;n<q.length;n++){q[n].getElementsByTagName("a")[0].onclick="return false;";q[n].getElementsByTagName("a")[0].setAttribute("href","#")}if(navigator.appName=="Microsoft Internet Explorer"){r.style.setAttribute("width",k+"%")}else{r.setAttribute("style","width:"+k+"%")}}}else{u.innerHTML='<img src="css/images/ratings/rating_loading.gif" alt="loading" />'}};var a="includes/rating_process.php";var e="id="+g+"&rating="+b;xmlHttp.open("POST",a,true);xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttp.setRequestHeader("Content-length",e.length);xmlHttp.setRequestHeader("Connection","close");xmlHttp.send(e)};
(function(c){var a="1.1";var e=d(location.pathname);c.fn.extend({smoothScroll:function(f){this.each(function(){var g=c.extend({},c.fn.smoothScroll.defaults,f);c(this).bind("click",function(i){var r=this,q=c(this),n=((location.hostname===r.hostname)||!r.hostname),h=g.scrollTarget||(d(r.pathname)||e)===e,p=r.hash&&"#"+r.hash.replace("#",""),j=true;if(!g.scrollTarget&&(!n||!h||p.length==1)){j=false}else{var k=g.exclude,t=0,l=k.length;while(j&&t<l){if(q.is(k[t++])){j=false}}var o=g.excludeWithin,m=0,s=o.length;while(j&&m<s){if(q.parents(o[m++]+":first").length){j=false}}}if(j){g.scrollTarget=g.scrollTarget||p;g.link=r;i.preventDefault();c.smoothScroll(g)}})});return this}});c.smoothScroll=function(g,h){var i,f,j=b("html","body");if(typeof g==="number"){i=c.fn.smoothScroll.defaults;f=g}else{i=c.extend({},c.fn.smoothScroll.defaults,g);f=h||c(i.scrollTarget).offset().top}i=c.extend({link:null},i);c(j).animate({scrollTop:f+i.offset},{duration:i.speed,easing:i.easing,complete:function(){if(i.afterScroll&&c.isFunction(i.afterScroll)){i.afterScroll.call(i.link,i)}}})};c.smoothScroll.version=a;c.fn.smoothScroll.defaults={exclude:[],excludeWithin:[],offset:0,scrollTarget:null,afterScroll:null,easing:"swing",speed:400};function b(j){for(var h=0,l=arguments.length;h<l;h++){var k=arguments[h],f=c(k);if(f.scrollTop()>0){return k}else{f.scrollTop(1);var g=f.scrollTop()>0;f.scrollTop(0);if(g){return k}}}return[]}function d(f){return f.replace(/^\//,"").replace(/(index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")}})(jQuery);/*!
	Picbox v2.2
	(c) 2010 Ben Kay <http://bunnyfire.co.uk>

	Based on code from Slimbox v1.7 - The ultimate lightweight Lightbox clone
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	
	Uses jQuery-mousewheel Version: 3.0.2
	(c) 2009 Brandon Aaron <http://brandonaaron.net>
	
	MIT-style license.
*/
(function(b){function ca(){var a={x:k.scrollLeft(),y:k.scrollTop()};r=k.width()/2;s=k.height()/2;if(N){r+=a.x;s+=a.y;b(l).css({left:a.x,top:a.y,width:k.width(),height:k.height()})}b(h).css({top:s,left:r,width:"1px",height:"1px"})}function O(a){e.hideFlash&&b.each(["object","embed"],function(d,f){b(f).each(function(){if(a)this._picbox=this.style.visibility;this.style.visibility=a?"hidden":this._picbox})});l.style.display="";var c=a?"bind":"unbind";b(document)[c]("keydown",da);b(document)[c]("mousewheel", ea);b(document)[c]("mousemove",G);b(n)[c]("mouseover",function(){P(1)});b(n)[c]("mouseout",P)}function da(a){a=a.keyCode;return b.inArray(a,e.closeKeys)>=0?Q():b.inArray(a,e.nextKeys)>=0?R():b.inArray(a,e.previousKeys)>=0?S():false}function G(){T([n,w,zoomBtn,x])}function T(a,c){clearTimeout(H);b(a).fadeIn();a=c?b.merge(a,c):a;H=setTimeout(function(){b(a).fadeOut()},e.controlsFadeDelay)}function P(a){a=1==a?"unbind":"bind";b(document)[a]("mousemove",G);clearTimeout(H)}function S(){return I(y,true)} function R(){return I(z,true)}function I(a,c){if(a>=0){o=a;D=i[a][0];y=(o||(e.loop?i.length:0))-1;z=(o+1)%i.length||(e.loop?0:-1);U();l.className="pbLoading";b(h).css("display","none");i[o][1]?b(J).html(i[o][1]).show():b(J).html("").hide();b(V).html((i.length>1&&e.counterText||"").replace(/{x}/,o+1).replace(/{y}/,i.length));if(y>=0){W.src=i[y][0];b(w).removeClass(A)}if(z>=0){X.src=i[z][0];b(x).removeClass(A)}j=new Image;j.onload=function(){fa(c)};j.src=D}return false}function fa(a){Y();var c=k.width()- e.margins,d=k.height()-e.margins,f=1;if(j.width>c||j.height>d){f=Math.min(c/j.width,d/j.height);b(zoomBtn).removeClass(A);K=false}else{b(zoomBtn).addClass(A);K=true}t=L=f;B(f,a);b(h).attr("src",D);b(h).css("display","");l.className="";T([n],[w,zoomBtn,x])}function B(a,c){var d=a/t;u=r-(r-u)*d;v=s-(s-v)*d;t=a;d=j.width*a;var f=j.height*a,g=u-d/2>>0,p=v-f/2>>0;c=c?0:e.resizeDuration;a=0==a?function(){b(h).hide()}:function(){};b(h).animate({width:d,height:f,top:p,left:g},{queue:false,duration:c,easing:e.resizeEasing, complete:a});return false}function Y(){u=r;v=s}function ea(a,c){b(zoomBtn).addClass(C);return B(t+c*t/10)}function Z(){if(t==L&&u==r&&v==s&&!K){b(zoomBtn).addClass(C);return B(1)}else{b(zoomBtn).removeClass(C);Y();return B(L)}}function U(){j.onload=function(){};j.src=W.src=X.src=D;b(h).stop();b([w,x]).addClass(A);b(zoomBtn).removeClass(C)}function Q(){if(o>=0){U();o=y=z=-1;B(0);O();b(n).stop().hide();b(l).stop().fadeOut()}return false}function M(a){var c=[].slice.call(arguments,1),d=0;a=b.event.fix(a|| window.event);a.type="mousewheel";if(a.wheelDelta)d=a.wheelDelta/120;if(a.detail)d=-a.detail/3;c.unshift(a,d);return b.event.handle.apply(this,c)}var k=b(window),e,i,o=-1,D,y,z,ga=window.XMLHttpRequest==undefined&&ActiveXObject!=undefined,N,r,s,u,v,t,L,H,K,j={},W=new Image,X=new Image,l,$,h,w,x,n,J,V,C="pbzoomed",A="pbgreyed";b(document).ready(function(){b(document.body).append(b([l=b('<div id="pbOverlay" />').click(Q).append($=b('<div id="pbCloseBtn" />')[0])[0],h=b('<img id="pbImage" />').dblclick(Z)[0], n=b('<div id="pbBottom" />').append([J=b('<div id="pbCaption" />')[0],b('<div id="pbNav" />').append([w=b('<a id="pbPrevBtn" href="#" />').click(S)[0],zoomBtn=b('<a id="pbZoomBtn" href="#" />').click(Z)[0],x=b('<a id="pbNextBtn" href="#" />').click(R)[0]])[0],V=b('<div id="pbNumber" />')[0]])[0]]).css("display","none"));(N=ga||l.currentStyle&&l.currentStyle.position!="fixed")&&b([l,$,h,n]).css("position","absolute");b(h).tinyDrag(function(){var a=b(h),c=a.position();u=c.left-k.scrollLeft()+a.width()/ 2;v=c.top-k.scrollTop()+a.height()/2;b(zoomBtn).addClass(C)})});b.picbox=function(a,c,d){e=b.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:200,resizeDuration:300,resizeEasing:"swing",controlsFadeDelay:3E3,counterText:false,hideFlash:true,closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78],margins:0},d||{});if(typeof a=="string"){a=[[a,c]];c=0}b(l).css("opacity",0).fadeTo(e.overlayFadeDuration,e.overlayOpacity);b(n).css("display","");G();ca();O(1);i=a;e.loop=e.loop&&i.length>1;return I(c)}; b.fn.picbox=function(a,c,d){c=c||function(g){return[g.href,g.title]};d=d||function(){return true};var f=this;b(f).unbind("click").click(function(){var g=this,p=[];filteredLinks=b.grep(f,function(E){return d.call(g,E)});for(var m=0;m<filteredLinks.length;m++)p[m]=c(filteredLinks[m]);return b.picbox(p,b.inArray(this,filteredLinks),a)});return f};b.fn.tinyDrag=function(a){return b.tinyDrag(this,a)};b.tinyDrag=function(a,c){function d(q){var aa=q.pageX;q=q.pageY;if(m)a.css({left:p.x+(aa-g.x),top:p.y+ (q-g.y)});else if(ba(aa-g.x)>1||ba(q-g.y)>1)m=true;return false}function f(){E.unbind("mousemove",d).unbind("mouseup");m&&c&&c()}var g,p,m,E=b(document),ba=Math.abs;a.mousedown(function(q){m=false;g={x:q.pageX,y:q.pageY};p={x:parseInt(a.css("left")),y:parseInt(a.css("top"))};E.mousemove(d).mouseup(f);return false});return a};var F=["DOMMouseScroll","mousewheel"];b.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=F.length;a;)this.addEventListener(F[--a],M,false);else this.onmousewheel= M},teardown:function(){if(this.removeEventListener)for(var a=F.length;a;)this.removeEventListener(F[--a],M,false);else this.onmousewheel=null}};b.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);

if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
	jQuery(function($) {
		$("a[rel^='lightbox']").picbox({/* Put custom options here */}, null, function(el) {
			return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
		});
	});
}/* Copyright (C) 2007, 2008 gnombat@users.sourceforge.net */
/* License: http://shjs.sourceforge.net/doc/gplv3.html */

if(!this.sh_languages){this.sh_languages={}}var sh_requests={};function sh_isEmailAddress(a){if(/^mailto:/.test(a)){return false}return a.indexOf("@")!==-1}function sh_setHref(b,c,d){var a=d.substring(b[c-2].pos,b[c-1].pos);if(a.length>=2&&a.charAt(0)==="<"&&a.charAt(a.length-1)===">"){a=a.substr(1,a.length-2)}if(sh_isEmailAddress(a)){a="mailto:"+a}b[c-2].node.href=a}function sh_konquerorExec(b){var a=[""];a.index=b.length;a.input=b;return a}function sh_highlightString(B,o){if(/Konqueror/.test(navigator.userAgent)){if(!o.konquered){for(var F=0;F<o.length;F++){for(var H=0;H<o[F].length;H++){var G=o[F][H][0];if(G.source==="$"){G.exec=sh_konquerorExec}}}o.konquered=true}}var N=document.createElement("a");var q=document.createElement("span");var A=[];var j=0;var n=[];var C=0;var k=null;var x=function(i,a){var p=i.length;if(p===0){return}if(!a){var Q=n.length;if(Q!==0){var r=n[Q-1];if(!r[3]){a=r[1]}}}if(k!==a){if(k){A[j++]={pos:C};if(k==="sh_url"){sh_setHref(A,j,B)}}if(a){var P;if(a==="sh_url"){P=N.cloneNode(false)}else{P=q.cloneNode(false)}P.className=a;A[j++]={node:P,pos:C}}}C+=p;k=a};var t=/\r\n|\r|\n/g;t.lastIndex=0;var d=B.length;while(C<d){var v=C;var l;var w;var h=t.exec(B);if(h===null){l=d;w=d}else{l=h.index;w=t.lastIndex}var g=B.substring(v,l);var M=[];for(;;){var I=C-v;var D;var y=n.length;if(y===0){D=0}else{D=n[y-1][2]}var O=o[D];var z=O.length;var m=M[D];if(!m){m=M[D]=[]}var E=null;var u=-1;for(var K=0;K<z;K++){var f;if(K<m.length&&(m[K]===null||I<=m[K].index)){f=m[K]}else{var c=O[K][0];c.lastIndex=I;f=c.exec(g);m[K]=f}if(f!==null&&(E===null||f.index<E.index)){E=f;u=K;if(f.index===I){break}}}if(E===null){x(g.substring(I),null);break}else{if(E.index>I){x(g.substring(I,E.index),null)}var e=O[u];var J=e[1];var b;if(J instanceof Array){for(var L=0;L<J.length;L++){b=E[L+1];x(b,J[L])}}else{b=E[0];x(b,J)}switch(e[2]){case -1:break;case -2:n.pop();break;case -3:n.length=0;break;default:n.push(e);break}}}if(k){A[j++]={pos:C};if(k==="sh_url"){sh_setHref(A,j,B)}k=null}C=w}return A}function sh_getClasses(d){var a=[];var b=d.className;if(b&&b.length>0){var e=b.split(" ");for(var c=0;c<e.length;c++){if(e[c].length>0){a.push(e[c])}}}return a}function sh_addClass(c,a){var d=sh_getClasses(c);for(var b=0;b<d.length;b++){if(a.toLowerCase()===d[b].toLowerCase()){return}}d.push(a);c.className=d.join(" ")}function sh_extractTagsFromNodeList(c,a){var f=c.length;for(var d=0;d<f;d++){var e=c.item(d);switch(e.nodeType){case 1:if(e.nodeName.toLowerCase()==="br"){var b;if(/MSIE/.test(navigator.userAgent)){b="\r"}else{b="\n"}a.text.push(b);a.pos++}else{a.tags.push({node:e.cloneNode(false),pos:a.pos});sh_extractTagsFromNodeList(e.childNodes,a);a.tags.push({pos:a.pos})}break;case 3:case 4:a.text.push(e.data);a.pos+=e.length;break}}}function sh_extractTags(c,b){var a={};a.text=[];a.tags=b;a.pos=0;sh_extractTagsFromNodeList(c.childNodes,a);return a.text.join("")}function sh_mergeTags(d,f){var a=d.length;if(a===0){return f}var c=f.length;if(c===0){return d}var i=[];var e=0;var b=0;while(e<a&&b<c){var h=d[e];var g=f[b];if(h.pos<=g.pos){i.push(h);e++}else{i.push(g);if(f[b+1].pos<=h.pos){b++;i.push(f[b]);b++}else{i.push({pos:h.pos});f[b]={node:g.node.cloneNode(false),pos:h.pos}}}}while(e<a){i.push(d[e]);e++}while(b<c){i.push(f[b]);b++}return i}function sh_insertTags(k,h){var g=document;var l=document.createDocumentFragment();var e=0;var d=k.length;var b=0;var j=h.length;var c=l;while(b<j||e<d){var i;var a;if(e<d){i=k[e];a=i.pos}else{a=j}if(a<=b){if(i.node){var f=i.node;c.appendChild(f);c=f}else{c=c.parentNode}e++}else{c.appendChild(g.createTextNode(h.substring(b,a)));b=a}}return l}function sh_highlightElement(d,g){sh_addClass(d,"sh_sourceCode");var c=[];var e=sh_extractTags(d,c);var f=sh_highlightString(e,g);var b=sh_mergeTags(c,f);var a=sh_insertTags(b,e);while(d.hasChildNodes()){d.removeChild(d.firstChild)}d.appendChild(a)}function sh_getXMLHttpRequest(){if(window.ActiveXObject){return new ActiveXObject("Msxml2.XMLHTTP")}else{if(window.XMLHttpRequest){return new XMLHttpRequest()}}throw"No XMLHttpRequest implementation available"}function sh_load(language,element,prefix,suffix){if(language in sh_requests){sh_requests[language].push(element);return}sh_requests[language]=[element];var request=sh_getXMLHttpRequest();var url=prefix+"sh_"+language+suffix;request.open("GET",url,true);request.onreadystatechange=function(){if(request.readyState===4){try{if(!request.status||request.status===200){eval(request.responseText);var elements=sh_requests[language];for(var i=0;i<elements.length;i++){sh_highlightElement(elements[i],sh_languages[language])}}else{throw"HTTP error: status "+request.status}}finally{request=null}}};request.send(null)}function sh_highlightDocument(g,k){var b=document.getElementsByTagName("pre");for(var e=0;e<b.length;e++){var f=b.item(e);var a=sh_getClasses(f);for(var c=0;c<a.length;c++){var h=a[c].toLowerCase();if(h==="sh_sourcecode"){continue}if(h.substr(0,3)==="sh_"){var d=h.substring(3);if(d in sh_languages){sh_highlightElement(f,sh_languages[d])}else{if(typeof(g)==="string"&&typeof(k)==="string"){sh_load(d,f,g,k)}else{throw'Found <pre> element with class="'+h+'", but no such language exists'}}break}}}};$(document).ready(function(){sh_highlightDocument("/js/shjs/lang/",".min.js");$("#keywords").focus(function(){if($(this).val()=="Keywords"){$(this).val("")}});$("#keywords").blur(function(){if($(this).val()==""){$(this).val("Keywords")}})});$(document).ready(function(){var a;var c=false;var b=$("#toTop");var e=$(window);var d=$(document.body).children(0).position().top;e.scroll(function(){window.clearTimeout(a);a=window.setTimeout(function(){if(e.scrollTop()<=d){c=false;b.fadeOut(500)}else{if(c==false){c=true;b.stop(true,true).fadeIn(500).click(function(){b.fadeOut(500)})}}},100)})});$(document).ready(function(){$(".post_comments a,.write a,.tagcloud a").smoothScroll({afterScroll:function(){}});$("#toTop a").smoothScroll({afterScroll:function(){$("#toTop").fadeOut(500)}})});