/* Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
		  
var tb_pathToImage="/img/tb_loading.gif";

$(document).ready(function(){tb_init("a.thickbox, area.thickbox, input.thickbox");imgLoader=new Image();imgLoader.src=tb_pathToImage});function tb_init(a){$(a).click(function(){var c=this.title||this.name||null;var b=this.href||this.alt;var d=this.rel||false;tb_show(c,b,d);this.blur();return false})}function tb_show(j,b,h){try{if(typeof document.body.style.maxHeight==="undefined"){$("body","html").css({height:"100%",width:"100%"});$("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove)}}else{if(document.getElementById("TB_overlay")===null){$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove)}}if(tb_detectMacXFF()){$("#TB_overlay").addClass("TB_overlayMacFFBGHack")}else{$("#TB_overlay").addClass("TB_overlayBG")}if(j===null){j=""}$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");$("#TB_load").show();var c;if(b.indexOf("?")!==-1){c=b.substr(0,b.indexOf("?"))}else{c=b}var f=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var k=c.toLowerCase().match(f);if(k==".jpg"||k==".jpeg"||k==".png"||k==".gif"||k==".bmp"){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(h){TB_TempArray=$("a[rel="+h+"]").get();for(TB_Counter=0;((TB_Counter<TB_TempArray.length)&&(TB_NextHTML===""));TB_Counter++){var g=TB_TempArray[TB_Counter].href.toLowerCase().match(f);if(!(TB_TempArray[TB_Counter].href==b)){if(TB_FoundURL){TB_NextCaption=TB_TempArray[TB_Counter].title;TB_NextURL=TB_TempArray[TB_Counter].href;TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>"}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>"}}else{TB_FoundURL=true;TB_imageCount="Image "+(TB_Counter+1)+" of "+(TB_TempArray.length)}}}imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var n=tb_getPageSize();var l=n[0]-150;var q=n[1]-150;var m=imgPreloader.width;var e=imgPreloader.height;if(m>l){e=e*(l/m);m=l;if(e>q){m=m*(q/e);e=q}}else{if(e>q){m=m*(q/e);e=q;if(m>l){e=e*(l/m);m=l}}}TB_WIDTH=m+20;TB_HEIGHT=e+60;$("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+b+"' width='"+m+"' height='"+e+"' alt='"+j+"'/></a><div id='TB_caption'>"+j+"<div id='TB_secondLine'>"+TB_imageCount+TB_PrevHTML+TB_NextHTML+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");$("#TB_closeWindowButton").click(tb_remove);if(!(TB_PrevHTML==="")){function p(){if($(document).unbind("click",p)){$(document).unbind("click",p)}$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_PrevCaption,TB_PrevURL,h);return false}$("#TB_prev").click(p)}if(!(TB_NextHTML==="")){function o(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_NextCaption,TB_NextURL,h);return false}$("#TB_next").click(o)}document.onkeydown=function(r){if(r==null){keycode=event.keyCode}else{keycode=r.which}if(keycode==27){tb_remove()}else{if(keycode==190||keycode==39){if(!(TB_NextHTML=="")){document.onkeydown="";o()}}else{if(keycode==188||keycode==37){if(!(TB_PrevHTML=="")){document.onkeydown="";p()}}}}};tb_position();$("#TB_load").remove();$("#TB_ImageOff").click(tb_remove);$("#TB_window").css({display:"block"})};imgPreloader.src=b}else{var a=b.replace(/^[^\?]+\??/,"");var d=tb_parseQuery(a);TB_WIDTH=(d.width*1)+20||630;TB_HEIGHT=(d.height*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(b.indexOf("TB_iframe")!=-1){urlNoQuery=b.split("TB_");$("#TB_iframeContent").remove();if(d.modal!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+j+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' > </iframe>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'> </iframe>")}}else{if($("#TB_window").css("display")!="block"){if(d.modal!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+j+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>")}}else{$("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";$("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";$("#TB_ajaxContent")[0].scrollTop=0;$("#TB_ajaxWindowTitle").html(j)}}$("#TB_closeWindowButton").click(tb_remove);if(b.indexOf("TB_inline")!=-1){$("#TB_ajaxContent").append($("#"+d.inlineId).children());$("#TB_window").unload(function(){$("#"+d.inlineId).append($("#TB_ajaxContent").children())});tb_position();$("#TB_load").remove();$("#TB_window").css({display:"block"})}else{if(b.indexOf("TB_iframe")!=-1){tb_position();if($.browser.safari){$("#TB_load").remove();$("#TB_window").css({display:"block"})}}else{$("#TB_ajaxContent").load(b+="&random="+(new Date().getTime()),function(){tb_position();$("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");$("#TB_window").css({display:"block"})})}}}if(!d.modal){document.onkeyup=function(l){if(l==null){keycode=event.keyCode}else{keycode=l.which}if(keycode==27){tb_remove()}}}}catch(i){}}function tb_showIframe(){$("#TB_load").remove();$("#TB_window").css({display:"block"})}function tb_remove(){$("#TB_imageOff").unbind("click");$("#TB_closeWindowButton").unbind("click");$("#TB_window").fadeOut("fast",function(){$("#TB_window,#TB_overlay,#TB_HideSelect").trigger("unload").unbind().remove()});$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$("body","html").css({height:"auto",width:"auto"});$("html").css("overflow","")}document.onkeydown="";document.onkeyup="";return false}function tb_position(){$("#TB_window").css({marginLeft:"-"+parseInt((TB_WIDTH/2),10)+"px",width:TB_WIDTH+"px"});if(!(jQuery.browser.msie&&jQuery.browser.version<7)){$("#TB_window").css({marginTop:"-"+parseInt((TB_HEIGHT/2),10)+"px"})}}function tb_parseQuery(d){var e={};if(!d){return e}var a=d.split(/[;&]/);for(var c=0;c<a.length;c++){var g=a[c].split("=");if(!g||g.length!=2){continue}var b=unescape(g[0]);var f=unescape(g[1]);f=f.replace(/\+/g," ");e[b]=f}return e}function tb_getPageSize(){var c=document.documentElement;var a=window.innerWidth||self.innerWidth||(c&&c.clientWidth)||document.body.clientWidth;var b=window.innerHeight||self.innerHeight||(c&&c.clientHeight)||document.body.clientHeight;arrayPageSize=[a,b];return arrayPageSize}function tb_detectMacXFF(){var a=navigator.userAgent.toLowerCase();if(a.indexOf("mac")!=-1&&a.indexOf("firefox")!=-1){return true}};


/*eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('$(c).2J(9(){1t(\'a.1b, 2R.1b, 2S.1b\');1w=1r 1M();1w.K=2K});9 1t(1R){$(1R).m(9(){6 t=S.X||S.1v||L;6 a=S.q||S.22;6 g=S.2d||N;1a(t,a,g);S.36();H N})}9 1a(B,d,15){32{3(2h c.o.C.2i==="2j"){$("o","13").l({v:"1T%",p:"1T%"});$("13").l("2q","35");3(c.1U("1L")===L){$("o").n("<P 5=\'1L\'></P><4 5=\'u\'></4><4 5=\'8\'></4>");$("#u").m(D)}}b{3(c.1U("u")===L){$("o").n("<4 5=\'u\'></4><4 5=\'8\'></4>");$("#u").m(D)}}3(2G()){$("#u").1V("2U")}b{$("#u").1V("2X")}3(B===L){B=""}$("o").n("<4 5=\'E\'><21 K=\'"+1w.K+"\' /></4>");$(\'#E\').2Y();6 1f;3(d.J("?")!==-1){1f=d.34(0,d.J("?"))}b{1f=d}6 1p=/\\.1Q$|\\.2a$|\\.2b$|\\.2c$|\\.2e$/;6 U=1f.1P().26(1p);3(U==\'.1Q\'||U==\'.2a\'||U==\'.2b\'||U==\'.2c\'||U==\'.2e\'){1H="";1G="";11="";1u="";1F="";M="";1D="";1y=N;3(15){A=$("a[2d="+15+"]").2V();2u(r=0;((r<A.1d)&&(M===""));r++){6 2Z=A[r].q.1P().26(1p);3(!(A[r].q==d)){3(1y){1u=A[r].X;1F=A[r].q;M="<1c 5=\'24\'>  <a q=\'#\'>2P ></a></1c>"}b{1H=A[r].X;1G=A[r].q;11="<1c 5=\'23\'>  <a q=\'#\'>< 2L</a></1c>"}}b{1y=1g;1D="1M "+(r+1)+" 2N "+(A.1d)}}}T=1r 1M();T.1j=9(){T.1j=L;6 1O=2x();6 x=1O[0]-1Y;6 y=1O[1]-1Y;6 f=T.p;6 j=T.v;3(f>x){j=j*(x/f);f=x;3(j>y){f=f*(y/j);j=y}}b 3(j>y){f=f*(y/j);j=y;3(f>x){j=j*(x/f);f=x}}14=f+30;19=j+2Q;$("#8").n("<a q=\'\' 5=\'1Z\' X=\'1n\'><21 5=\'2W\' K=\'"+d+"\' p=\'"+f+"\' v=\'"+j+"\' 22=\'"+B+"\'/></a>"+"<4 5=\'37\'>"+B+"<4 5=\'3r\'>"+1D+11+M+"</4></4><4 5=\'3u\'><a q=\'#\' 5=\'V\' X=\'1n\'>1N</a> 1z 1E 1I</4>");$("#V").m(D);3(!(11==="")){9 Y(){3($(c).I("m",Y)){$(c).I("m",Y)}$("#8").s();$("o").n("<4 5=\'8\'></4>");1a(1H,1G,15);H N}$("#23").m(Y)}3(!(M==="")){9 1A(){$("#8").s();$("o").n("<4 5=\'8\'></4>");1a(1u,1F,15);H N}$("#24").m(1A)}c.1i=9(e){3(e==L){G=2D.2C}b{G=e.2H}3(G==27){D()}b 3(G==3v){3(!(M=="")){c.1i="";1A()}}b 3(G==3q){3(!(11=="")){c.1i="";Y()}}};Z();$("#E").s();$("#1Z").m(D);$("#8").l({O:"W"})};T.K=d}b{6 20=d.2w(/^[^\\?]+\\??/,\'\');6 F=2t(20);14=(F[\'p\']*1)+30||3e;19=(F[\'v\']*1)+3c||3o;R=14-30;Q=19-3b;3(d.J(\'2g\')!=-1){1x=d.1K(\'38\');$("#12").s();3(F[\'1q\']!="1g"){$("#8").n("<4 5=\'1S\'><4 5=\'1m\'>"+B+"</4><4 5=\'1W\'><a q=\'#\' 5=\'V\' X=\'1n\'>1N</a> 1z 1E 1I</4></4><P 25=\'0\' 1X=\'0\' K=\'"+1x[0]+"\' 5=\'12\' 1v=\'12"+1l.28(1l.1s()*2f)+"\' 1j=\'1o()\' C=\'p:"+(R+29)+"k;v:"+(Q+17)+"k;\' > </P>")}b{$("#u").I();$("#8").n("<P 25=\'0\' 1X=\'0\' K=\'"+1x[0]+"\' 5=\'12\' 1v=\'12"+1l.28(1l.1s()*2f)+"\' 1j=\'1o()\' C=\'p:"+(R+29)+"k;v:"+(Q+17)+"k;\'> </P>")}}b{3($("#8").l("O")!="W"){3(F[\'1q\']!="1g"){$("#8").n("<4 5=\'1S\'><4 5=\'1m\'>"+B+"</4><4 5=\'1W\'><a q=\'#\' 5=\'V\'>1N</a> 1z 1E 1I</4></4><4 5=\'z\' C=\'p:"+R+"k;v:"+Q+"k\'></4>")}b{$("#u").I();$("#8").n("<4 5=\'z\' 3s=\'3i\' C=\'p:"+R+"k;v:"+Q+"k;\'></4>")}}b{$("#z")[0].C.p=R+"k";$("#z")[0].C.v=Q+"k";$("#z")[0].3h=0;$("#1m").13(B)}}$("#V").m(D);3(d.J(\'3j\')!=-1){$("#z").n($(\'#\'+F[\'2E\']).2F());$("#8").2l(9(){$(\'#\'+F[\'2E\']).n($("#z").2F())});Z();$("#E").s();$("#8").l({O:"W"})}b 3(d.J(\'2g\')!=-1){Z();3($.1J.3k){$("#E").s();$("#8").l({O:"W"})}}b{$("#z").3m(d+="&1s="+(1r 3l().3g()),9(){Z();$("#E").s();1t("#z a.1b");$("#8").l({O:"W"})})}}3(!F[\'1q\']){c.2r=9(e){3(e==L){G=2D.2C}b{G=e.2H}3(G==27){D()}}}}3f(e){}}9 1o(){$("#E").s();$("#8").l({O:"W"})}9 D(){$("#3a").I("m");$("#V").I("m");$("#8").39("3d",9(){$(\'#8,#u,#1L\').3n("2l").I().s()});$("#E").s();3(2h c.o.C.2i=="2j"){$("o","13").l({v:"2k",p:"2k"});$("13").l("2q","")}c.1i="";c.2r="";H N}9 Z(){$("#8").l({3x:\'-\'+2v((14/2),10)+\'k\',p:14+\'k\'});3(!(2y.1J.3w&&2y.1J.3t<7)){$("#8").l({3p:\'-\'+2v((19/2),10)+\'k\'})}}9 2t(1B){6 1k={};3(!1B){H 1k}6 1C=1B.1K(/[;&]/);2u(6 i=0;i<1C.1d;i++){6 18=1C[i].1K(\'=\');3(!18||18.1d!=2){2O}6 2z=2s(18[0]);6 1h=2s(18[1]);1h=1h.2w(/\\+/g,\' \');1k[2z]=1h}H 1k}9 2x(){6 16=c.2T;6 w=2B.2m||2o.2m||(16&&16.2p)||c.o.2p;6 h=2B.2n||2o.2n||(16&&16.2A)||c.o.2A;2I=[w,h];H 2I}9 2G(){6 1e=31.1e.1P();3(1e.J(\'33\')!=-1&&1e.J(\'2M\')!=-1){H 1g}}',62,220,'|||if|div|id|var||TB_window|function||else|document|url||imageWidth||||imageHeight|px|css|click|append|body|width|href|TB_Counter|remove||TB_overlay|height||||TB_ajaxContent|TB_TempArray|caption|style|tb_remove|TB_load|params|keycode|return|unbind|indexOf|src|null|TB_NextHTML|false|display|iframe|ajaxContentH|ajaxContentW|this|imgPreloader|urlType|TB_closeWindowButton|block|title|goPrev|tb_position||TB_PrevHTML|TB_iframeContent|html|TB_WIDTH|imageGroup|de||KeyVal|TB_HEIGHT|tb_show|thickbox|span|length|userAgent|baseURL|true|val|onkeydown|onload|Params|Math|TB_ajaxWindowTitle|Close|tb_showIframe|urlString|modal|new|random|tb_init|TB_NextCaption|name|imgLoader|urlNoQuery|TB_FoundURL|or|goNext|query|Pairs|TB_imageCount|Esc|TB_NextURL|TB_PrevURL|TB_PrevCaption|Key|browser|split|TB_HideSelect|Image|close|pagesize|toLowerCase|jpg|domChunk|TB_title|100|getElementById|addClass|TB_closeAjaxWindow|hspace|150|TB_ImageOff|queryString|img|alt|TB_prev|TB_next|frameborder|match||round||jpeg|png|gif|rel|bmp|1000|TB_iframe|typeof|maxHeight|undefined|auto|unload|innerWidth|innerHeight|self|clientWidth|overflow|onkeyup|unescape|tb_parseQuery|for|parseInt|replace|tb_getPageSize|jQuery|key|clientHeight|window|keyCode|event|inlineId|children|tb_detectMacXFF|which|arrayPageSize|ready|tb_pathToImage|Prev|firefox|of|continue|Next|60|area|input|documentElement|TB_overlayMacFFBGHack|get|TB_Image|TB_overlayBG|show|urlTypeTemp||navigator|try|mac|substr|hidden|blur|TB_caption|TB_|fadeOut|TB_imageOff|45|40|fast|630|catch|getTime|scrollTop|TB_modal|TB_inline|safari|Date|load|trigger|440|marginTop|188|TB_secondLine|class|version|TB_closeWindow|190|msie|marginLeft'.split('|'),0,{}))
*/

/* jQuery Tooltip plugin 1.3
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
 * http://docs.jquery.com/Plugins/Tooltip
 *
 * Copyright (c) 2006 - 2008 Jörn Zaefferer
 *
 * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
 
 ;(function($){var helper={},current,title,tID,IE=$.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),track=false;$.tooltip={blocked:false,defaults:{delay:200,fade:false,showURL:true,extraClass:"",top:15,left:15,id:"tooltip"},block:function(){$.tooltip.blocked=!$.tooltip.blocked;}};$.fn.extend({tooltip:function(settings){settings=$.extend({},$.tooltip.defaults,settings);createHelper(settings);return this.each(function(){$.data(this,"tooltip",settings);this.tOpacity=helper.parent.css("opacity");this.tooltipText=this.title;$(this).removeAttr("title");this.alt="";}).mouseover(save).mouseout(hide).click(hide);},fixPNG:IE?function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage':'none','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative')$(this).css('position','relative');});}});}:function(){return this;},unfixPNG:IE?function(){return this.each(function(){$(this).css({'filter':'',backgroundImage:''});});}:function(){return this;},hideWhenEmpty:function(){return this.each(function(){$(this)[$(this).html()?"show":"hide"]();});},url:function(){return this.attr('href')||this.attr('src');}});function createHelper(settings){if(helper.parent)return;helper.parent=$('<div id="'+settings.id+'"><h3></h3><div class="body"></div><div class="url"></div></div>').appendTo(document.body).hide();if($.fn.bgiframe)helper.parent.bgiframe();helper.title=$('h3',helper.parent);helper.body=$('div.body',helper.parent);helper.url=$('div.url',helper.parent);}function settings(element){return $.data(element,"tooltip");}function handle(event){if(settings(this).delay)tID=setTimeout(show,settings(this).delay);else
show();track=!!settings(this).track;$(document.body).bind('mousemove',update);update(event);}function save(){if($.tooltip.blocked||this==current||(!this.tooltipText&&!settings(this).bodyHandler))return;current=this;title=this.tooltipText;if(settings(this).bodyHandler){helper.title.hide();var bodyContent=settings(this).bodyHandler.call(this);if(bodyContent.nodeType||bodyContent.jquery){helper.body.empty().append(bodyContent)}else{helper.body.html(bodyContent);}helper.body.show();}else if(settings(this).showBody){var parts=title.split(settings(this).showBody);helper.title.html(parts.shift()).show();helper.body.empty();for(var i=0,part;(part=parts[i]);i++){if(i>0)helper.body.append("<br/>");helper.body.append(part);}helper.body.hideWhenEmpty();}else{helper.title.html(title).show();helper.body.hide();}if(settings(this).showURL&&$(this).url())helper.url.html($(this).url().replace('http://','')).show();else
helper.url.hide();helper.parent.addClass(settings(this).extraClass);if(settings(this).fixPNG)helper.parent.fixPNG();handle.apply(this,arguments);}function show(){tID=null;if((!IE||!$.fn.bgiframe)&&settings(current).fade){if(helper.parent.is(":animated"))helper.parent.stop().show().fadeTo(settings(current).fade,current.tOpacity);else
helper.parent.is(':visible')?helper.parent.fadeTo(settings(current).fade,current.tOpacity):helper.parent.fadeIn(settings(current).fade);}else{helper.parent.show();}update();}function update(event){if($.tooltip.blocked)return;if(event&&event.target.tagName=="OPTION"){return;}if(!track&&helper.parent.is(":visible")){$(document.body).unbind('mousemove',update)}if(current==null){$(document.body).unbind('mousemove',update);return;}helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");var left=helper.parent[0].offsetLeft;var top=helper.parent[0].offsetTop;if(event){left=event.pageX+settings(current).left;top=event.pageY+settings(current).top;var right='auto';if(settings(current).positionLeft){right=$(window).width()-left;left='auto';}helper.parent.css({left:left,right:right,top:top});}var v=viewport(),h=helper.parent[0];if(v.x+v.cx<h.offsetLeft+h.offsetWidth){left-=h.offsetWidth+20+settings(current).left;helper.parent.css({left:left+'px'}).addClass("viewport-right");}if(v.y+v.cy<h.offsetTop+h.offsetHeight){top-=h.offsetHeight+20+settings(current).top;helper.parent.css({top:top+'px'}).addClass("viewport-bottom");}}function viewport(){return{x:$(window).scrollLeft(),y:$(window).scrollTop(),cx:$(window).width(),cy:$(window).height()};}function hide(event){if($.tooltip.blocked)return;if(tID)clearTimeout(tID);current=null;var tsettings=settings(this);function complete(){helper.parent.removeClass(tsettings.extraClass).hide().css("opacity","");}if((!IE||!$.fn.bgiframe)&&tsettings.fade){if(helper.parent.is(':animated'))helper.parent.stop().fadeTo(tsettings.fade,0,complete);else
helper.parent.stop().fadeOut(tsettings.fade,complete);}else
complete();if(settings(this).fixPNG)helper.parent.unfixPNG();}})(jQuery);


/* Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */

jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000))}else{date=options.expires}expires='; expires='+date.toUTCString()}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('')}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break}}}return cookieValue}};


/* Copyright (c) 2006 Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * $LastChangedDate: 2007-06-20 16:25:35 -0500 (Wed, 20 Jun 2007) $
 * $Rev: 2125 $
 *
 * Version: 2.2
 */
 
(function($){$.fn.extend({mousewheel:function(f){if(!f.guid)f.guid=$.event.guid++;if(!$.event._mwCache)$.event._mwCache=[];return this.each(function(){if(this._mwHandlers)return this._mwHandlers.push(f);else this._mwHandlers=[];this._mwHandlers.push(f);var s=this;this._mwHandler=function(e){e=$.event.fix(e||window.event);$.extend(e,this._mwCursorPos||{});var delta=0,returnValue=true;if(e.wheelDelta)delta=e.wheelDelta/120;if(e.detail)delta=-e.detail/3;if(window.opera)delta=-e.wheelDelta;for(var i=0;i<s._mwHandlers.length;i++)if(s._mwHandlers[i])if(s._mwHandlers[i].call(s,e,delta)===false){returnValue=false;e.preventDefault();e.stopPropagation();}return returnValue;};if($.browser.mozilla&&!this._mwFixCursorPos){this._mwFixCursorPos=function(e){this._mwCursorPos={pageX:e.pageX,pageY:e.pageY,clientX:e.clientX,clientY:e.clientY};};$(this).bind('mousemove',this._mwFixCursorPos);}if(this.addEventListener)if($.browser.mozilla)this.addEventListener('DOMMouseScroll',this._mwHandler,false);else this.addEventListener('mousewheel',this._mwHandler,false);else
this.onmousewheel=this._mwHandler;$.event._mwCache.push($(this));});},unmousewheel:function(f){return this.each(function(){if(f&&this._mwHandlers){for(var i=0;i<this._mwHandlers.length;i++)if(this._mwHandlers[i]&&this._mwHandlers[i].guid==f.guid)delete this._mwHandlers[i];}else{if($.browser.mozilla&&!this._mwFixCursorPos)$(this).unbind('mousemove',this._mwFixCursorPos);if(this.addEventListener)if($.browser.mozilla)this.removeEventListener('DOMMouseScroll',this._mwHandler,false);else this.removeEventListener('mousewheel',this._mwHandler,false);else
this.onmousewheel=null;this._mwHandlers=this._mwHandler=this._mwFixCursorPos=this._mwCursorPos=null;}});}});$(window).one('unload',function(){var els=$.event._mwCache||[];for(var i=0;i<els.length;i++)els[i].unmousewheel();});})(jQuery);


/* Copyright (c) 2006 Kelvin Luck (kelvin AT kelvinluck DOT com || http://www.kelvinluck.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * See http://kelvinluck.com/assets/jquery/jScrollPane/
 * $Id: jScrollPane.js 4702 2008-02-09 10:19:47Z kelvin.luck $
 */
 
jQuery.jScrollPane={active:[]};jQuery.fn.jScrollPane=function(settings)
{settings=jQuery.extend({scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false},settings);return this.each(function()
{var $this=jQuery(this);if(jQuery(this).parent().is('.jScrollPaneContainer')){var currentScrollPosition=settings.maintainPosition?$this.offset({relativeTo:jQuery(this).parent()[0]}).top:0;var $c=jQuery(this).parent();var paneWidth=$c.innerWidth();var paneHeight=$c.outerHeight();var trackHeight=paneHeight;if($c.unmousewheel){$c.unmousewheel();}
jQuery('>.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown',$c).remove();$this.css({'top':0});}else{var currentScrollPosition=0;this.originalPadding=$this.css('paddingTop')+' '+$this.css('paddingRight')+' '+$this.css('paddingBottom')+' '+$this.css('paddingLeft');this.originalSidePaddingTotal=(parseInt($this.css('paddingLeft'))||0)+(parseInt($this.css('paddingRight'))||0);var paneWidth=$this.innerWidth();var paneHeight=$this.innerHeight();var trackHeight=paneHeight;$this.wrap(jQuery('<div></div>').attr({'className':'jScrollPaneContainer'}).css({'height':paneHeight+'px','width':paneWidth+'px'}));jQuery(document).bind('emchange',function(e,cur,prev)
{$this.jScrollPane(settings);});}
var p=this.originalSidePaddingTotal;var cssToApply={'height':'auto','width':paneWidth-settings.scrollbarWidth-settings.scrollbarMargin-p+'px'}
if(settings.scrollbarOnLeft){cssToApply.paddingLeft=settings.scrollbarMargin+settings.scrollbarWidth+'px';}else{cssToApply.paddingRight=settings.scrollbarMargin+'px';}
$this.css(cssToApply);var contentHeight=$this.outerHeight();var percentInView=paneHeight/contentHeight;if(percentInView<.99){var $container=$this.parent();$container.append(jQuery('<div></div>').attr({'className':'jScrollPaneTrack'}).css({'width':settings.scrollbarWidth+'px'}).append(jQuery('<div></div>').attr({'className':'jScrollPaneDrag'}).css({'width':settings.scrollbarWidth+'px'}).append(jQuery('<div></div>').attr({'className':'jScrollPaneDragTop'}).css({'width':settings.scrollbarWidth+'px'}),jQuery('<div></div>').attr({'className':'jScrollPaneDragBottom'}).css({'width':settings.scrollbarWidth+'px'}))));var $track=jQuery('>.jScrollPaneTrack',$container);var $drag=jQuery('>.jScrollPaneTrack .jScrollPaneDrag',$container);if(settings.showArrows){var currentArrowButton;var currentArrowDirection;var currentArrowInterval;var currentArrowInc;var whileArrowButtonDown=function()
{if(currentArrowInc>4||currentArrowInc%4==0){positionDrag(dragPosition+currentArrowDirection*mouseWheelMultiplier);}
currentArrowInc++;};var onArrowMouseUp=function(event)
{jQuery('html').unbind('mouseup',onArrowMouseUp);currentArrowButton.removeClass('jScrollActiveArrowButton');clearInterval(currentArrowInterval);};var onArrowMouseDown=function(){jQuery('html').bind('mouseup',onArrowMouseUp);currentArrowButton.addClass('jScrollActiveArrowButton');currentArrowInc=0;whileArrowButtonDown();currentArrowInterval=setInterval(whileArrowButtonDown,100);};$container.append(jQuery('<a></a>').attr({'href':'javascript:;','className':'jScrollArrowUp'}).css({'width':settings.scrollbarWidth+'px'}).html('Scroll up').bind('mousedown',function()
{currentArrowButton=jQuery(this);currentArrowDirection=-1;onArrowMouseDown();this.blur();return false;}),jQuery('<a></a>').attr({'href':'javascript:;','className':'jScrollArrowDown'}).css({'width':settings.scrollbarWidth+'px'}).html('Scroll down').bind('mousedown',function()
{currentArrowButton=jQuery(this);currentArrowDirection=1;onArrowMouseDown();this.blur();return false;}));var $upArrow=jQuery('>.jScrollArrowUp',$container);var $downArrow=jQuery('>.jScrollArrowDown',$container);if(settings.arrowSize){trackHeight=paneHeight-settings.arrowSize-settings.arrowSize;$track.css({'height':trackHeight+'px',top:settings.arrowSize+'px'})}else{var topArrowHeight=$upArrow.height();settings.arrowSize=topArrowHeight;trackHeight=paneHeight-topArrowHeight-$downArrow.height();$track.css({'height':trackHeight+'px',top:topArrowHeight+'px'})}}
var $pane=jQuery(this).css({'position':'absolute','overflow':'visible'});var currentOffset;var maxY;var mouseWheelMultiplier;var dragPosition=0;var dragMiddle=percentInView*paneHeight/2;var getPos=function(event,c){var p=c=='X'?'Left':'Top';return event['page'+c]||(event['client'+c]+(document.documentElement['scroll'+p]||document.body['scroll'+p]))||0;};var ignoreNativeDrag=function(){return false;};var initDrag=function()
{ceaseAnimation();currentOffset=$drag.offset(false);currentOffset.top-=dragPosition;maxY=trackHeight-$drag[0].offsetHeight;mouseWheelMultiplier=2*settings.wheelSpeed*maxY/contentHeight;};var onStartDrag=function(event)
{initDrag();dragMiddle=getPos(event,'Y')-dragPosition-currentOffset.top;jQuery('html').bind('mouseup',onStopDrag).bind('mousemove',updateScroll);if(jQuery.browser.msie){jQuery('html').bind('dragstart',ignoreNativeDrag).bind('selectstart',ignoreNativeDrag);}
return false;};var onStopDrag=function()
{jQuery('html').unbind('mouseup',onStopDrag).unbind('mousemove',updateScroll);dragMiddle=percentInView*paneHeight/2;if(jQuery.browser.msie){jQuery('html').unbind('dragstart',ignoreNativeDrag).unbind('selectstart',ignoreNativeDrag);}};var positionDrag=function(destY)
{destY=destY<0?0:(destY>maxY?maxY:destY);dragPosition=destY;$drag.css({'top':destY+'px'});var p=destY/maxY;$pane.css({'top':((paneHeight-contentHeight)*p)+'px'});$this.trigger('scroll');if(settings.showArrows){$upArrow[destY==0?'addClass':'removeClass']('disabled');$downArrow[destY==maxY?'addClass':'removeClass']('disabled');}};var updateScroll=function(e)
{positionDrag(getPos(e,'Y')-currentOffset.top-dragMiddle);};var dragH=Math.max(Math.min(percentInView*(paneHeight-settings.arrowSize*2),settings.dragMaxHeight),settings.dragMinHeight);$drag.css({'height':dragH+'px'}).bind('mousedown',onStartDrag);var trackScrollInterval;var trackScrollInc;var trackScrollMousePos;var doTrackScroll=function()
{if(trackScrollInc>8||trackScrollInc%4==0){positionDrag((dragPosition-((dragPosition-trackScrollMousePos)/2)));}
trackScrollInc++;};var onStopTrackClick=function()
{clearInterval(trackScrollInterval);jQuery('html').unbind('mouseup',onStopTrackClick).unbind('mousemove',onTrackMouseMove);};var onTrackMouseMove=function(event)
{trackScrollMousePos=getPos(event,'Y')-currentOffset.top-dragMiddle;};var onTrackClick=function(event)
{initDrag();onTrackMouseMove(event);trackScrollInc=0;jQuery('html').bind('mouseup',onStopTrackClick).bind('mousemove',onTrackMouseMove);trackScrollInterval=setInterval(doTrackScroll,100);doTrackScroll();};$track.bind('mousedown',onTrackClick);if($container.mousewheel){$container.mousewheel(function(event,delta){initDrag();ceaseAnimation();var d=dragPosition;positionDrag(dragPosition-delta*mouseWheelMultiplier);var dragOccured=d!=dragPosition;return!dragOccured;},false);}
var _animateToPosition;var _animateToInterval;function animateToPosition()
{var diff=(_animateToPosition-dragPosition)/settings.animateStep;if(diff>1||diff<-1){positionDrag(dragPosition+diff);}else{positionDrag(_animateToPosition);ceaseAnimation();}}
var ceaseAnimation=function()
{if(_animateToInterval){clearInterval(_animateToInterval);delete _animateToPosition;}};var scrollTo=function(pos,preventAni)
{if(typeof pos=="string"){$e=jQuery(pos,this);if(!$e.length)return;pos=$e.offset().top-$this.offset().top;}
ceaseAnimation();var destDragPosition=-pos/(paneHeight-contentHeight)*maxY;if(!preventAni||settings.animateTo){_animateToPosition=destDragPosition;_animateToInterval=setInterval(animateToPosition,settings.animateInterval);}else{positionDrag(destDragPosition);}};$this[0].scrollTo=scrollTo;$this[0].scrollBy=function(delta)
{var currentPos=-parseInt($pane.css('top'))||0;scrollTo(currentPos+delta);};initDrag();scrollTo(-currentScrollPosition,true);jQuery.jScrollPane.active.push($this[0]);}else{$this.css({'height':paneHeight+'px','width':paneWidth-this.originalSidePaddingTotal+'px','padding':this.originalPadding});}})};jQuery(window).bind('unload',function(){var els=jQuery.jScrollPane.active;for(var i=0;i<els.length;i++){els[i].scrollTo=els[i].scrollBy=null;}});

/* TableSorter 2.0 - Client-side table sorting with ease!
 * Version 2.0.3
 * @requires jQuery v1.2.3
 * 
 * Copyright (c) 2007 Christian Bach
 * Examples and docs at: http://tablesorter.com
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */

(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,cells[i]);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,node){var l=parsers.length;for(var i=1;i<l;i++){if(parsers[i].is($.trim(getElementText(table.config,node)),table,node)){return parsers[i];}}return parsers[0];}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=table.tBodies[0].rows[i],cols=[];cache.row.push($(c));for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c.cells[j]),table,c.cells[j]));}cols.push(i);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){if(!node)return"";var t="";if(config.textExtraction=="simple"){if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){t=node.childNodes[0].innerHTML;}else{t=node.innerHTML;}}else{if(typeof(config.textExtraction)=="function"){t=config.textExtraction(node);}else{t=$(node).text();}}return t;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){rows.push(r[n[i][checkCell]]);if(!table.config.appender){var o=r[n[i][checkCell]];var l=o.length;for(var j=0;j<l;j++){tableBody[0].appendChild(o[j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false,tableHeadersRows=[];for(var i=0;i<table.tHead.rows.length;i++){tableHeadersRows[i]=0;};$tableHeaders=$("thead th",table);$tableHeaders.each(function(index){this.count=0;this.column=index;this.order=formatSortingOrder(table.config.sortInitialOrder);if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(!this.sortDisabled){$(this).addClass(table.config.cssHeader);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){i=(v.toLowerCase()=="desc")?1:0;}else{i=(v==(0||1))?v:0;}return i;}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(getCachedSortType(table.config.parsers,c)=="text")?((order==0)?"sortText":"sortTextDesc"):((order==0)?"sortNumeric":"sortNumericDesc");var e="e"+i;dynamicExp+="var "+e+" = "+s+"(a["+c+"],b["+c+"]); ";dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function sortText(a,b){return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){var DECIMAL='\\'+config.decimal;var exp='/(^[+]?0('+DECIMAL+'0+)?$)|(^([-+]?[1-9][0-9]*)$)|(^([-+]?((0?|[1-9][0-9]*)'+DECIMAL+'(0*[1-9][0-9]*)))$)|(^[-+]?[1-9]+[0-9]*'+DECIMAL+'0+$)/';return RegExp(exp).test($.trim(s));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}$("tr:visible",table.tBodies[0]).filter(':even').removeClass(table.config.widgetZebra.css[1]).addClass(table.config.widgetZebra.css[0]).end().filter(':odd').removeClass(table.config.widgetZebra.css[0]).addClass(table.config.widgetZebra.css[1]);if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);


/*
 PdMarker

 Purpose: extends Google Map API GMap and GMarker (hover effects, image swapping, moving)
 Details: http://www.pixeldevelopment.com/pdmarker.asp
 Updated: [see getPdMarkerRevisionInfo]
 Author:  Peter Jones
 Notes:   Relies on undocumented features of the Google Map API which may change.
	    Based on my own PJToolTip and ideas from GxMarker, TLabel and the Google Maps API forum.

 Contact http://www.pixeldevelopment.com for your custom Google Map needs
*/

function getPdMarkerRevisionInfo(){var cr="<br/>";var s="2.03  10/02/07 - fixed zindex bug (setMarkerZIndex, topMarkerZIndex)"+cr+"2.02  05/22/07 - fixed minor issues (blink, initDetailWin)"+cr+"2.01  04/29/07 - improved left hand side detail window positioning, uses new Google setImage & show "+"routines for added reliability, fixed zoomToMarkers for single marker case."+cr+"2.00  04/22/07 - fix for setImage when using Explorer 7."+cr+"1.99f 07/09/06 - zoomToMarkers now takes into account markers not displayed."+cr+"1.99e 05/05/06 - fixed zoomed tooltip positioning & non-centered marker graphics."+cr+"1.99d 05/01/06 - fixed display & blink when defining .transparent."+cr+"1.99c 04/25/06 - added display and blink."+cr+"1.99b 04/21/06 - added 'Powered By' version & marker count display."+cr+"1.99a 04/18/06 - revised for Google Maps API Version 2, GMap2 required."+cr+"0.99c 01/30/06 - added setDetailWinClass and resetDetailWinClass."+cr+"0.99a 10/12/05 - now handles maps in containers with undefined widths"+cr+"define a div with id 'pdmarkerwork' to reduce flicker"+cr+"0.99  10/03/05 - added setImageEnabled, allowLeftTooltips (global)"+cr+"0.98  09/30/05 - fixed zoomToMarkers"+cr+"0.97  09/24/05 - added setHoverImage, setShowDetailOnClick, setDetailWinHTML, showDetailWin, closeDetailWin"+cr+"0.96  09/22/05 - added setTooltipHiding, getTooltipHiding"+cr+"0.95  09/20/05 - handle zoom for lingering tooltips mouseOutEnabled(false) "+"disables setImage and restoreImage"+cr+"0.94  09/20/05 - added setTooltipClass and resetTooltipClass"+cr+"0.93  09/19/05 - added slopPercentage [optional] parameter to zoomToMarkers"+cr+"0.92  09/18/05 - added getMouseOutEnabled, setMouseOutEnabled"+cr+"0.91  09/17/05 - fixed setOpacity";return s;}
function getPdMarkerVersion(){return getPdMarkerRevisionInfo().substring(0,15);}
function getPdMarkerShortVersion(){return getPdMarkerRevisionInfo().substring(0,5);}
var APIkey="";function getGoogleMapsVersion(){var i,a,b,c;var v="unknown";if(document.getElementsByTagName)
for(i=0;(a=document.getElementsByTagName("script")[i]);i++)
if(a.getAttribute("src"))
{b=a.getAttribute("src");c=b.indexOf("/mapfiles/maps");d=b.indexOf("http://maps.google.com/maps?file=api");e=b.indexOf("key=");f=b.indexOf("/mapfiles/");g=b.indexOf("/maps");if(c>0)
v=parseFloat(b.substring(c+14));else if(f>0)
v="2."+b.substring(f+10,g);if(d>=0)
if(e>0)
APIkey=b.substring(e+4);}
return v;}
function latLongToPixel(map,coord,zoom){return map.fromLatLngToDivPixel(coord);}
var pdMarkerExtList=[];function PdMarkerAddToExtList(marker){pdMarkerExtList.push(marker);}
function PdMarkerRemoveFromExtList(id){for(var i=0;i<pdMarkerExtList.length;i++)
if(pdMarkerExtList[i].internalId==id)
pdMarkerExtList.splice(i,1);}
function PdMarkerFindInExtList(id){for(var i=0;i<pdMarkerExtList.length;i++)
if(pdMarkerExtList[i].internalId==id)
return pdMarkerExtList[i];}
function PdMarkerClose(id){for(var i=0;i<pdMarkerExtList.length;i++)
if(pdMarkerExtList[i].internalId==id)
{pdMarkerExtList[i].closeDetailWin();pdMarkerExtList.splice(i,1);}}
function PdMarkerBlinkOnOff(id){var marker=PdMarkerFindInExtList(id);if(marker)
{if(!marker.blinking)return;marker.blinkOn=!marker.blinkOn;marker.display(marker.blinkOn);setTimeout("PdMarkerBlinkOnOff("+marker.getId()+");",marker.blinkSpeed);}}
function isPdMarker(a){if(a.isMarker)
return true;return false;}
function getPdMarkerCount(a){if(a.pdMarkers)
return a.pdMarkers.length;return 0;}
GMap2.prototype.getMarkerById=function(id){var count=getPdMarkerCount(this);for(var i=0;i<count;i++)
if(isPdMarker(this.pdMarkers[i]))
if(this.pdMarkers[i].internalId==id)
{this.cursor=i;return this.pdMarkers[i];}
return null;}
GMap2.prototype.getFirstMarker=function(){var count=getPdMarkerCount(this);for(var i=0;i<count;i++)
if(isPdMarker(this.pdMarkers[i]))
{this.cursor=i;return this.pdMarkers[i];}
return null;}
GMap2.prototype.getNextMarker=function(){var count=getPdMarkerCount(this);if(count>0)
if(this.cursor>=0)
for(var i=this.cursor+1;i<count;i++)
if(isPdMarker(this.pdMarkers[i]))
{this.cursor=i;return this.pdMarkers[i];}
return null;}
GMap2.prototype.getNthMarker=function(nTh){var count=getPdMarkerCount(this);for(var i=0;i<count;i++)
if(isPdMarker(this.pdMarkers[i]))
{nTh--;if(nTh==0)
{this.cursor=i;return this.pdMarkers[i];}}
return null;}
GMap2.prototype.getMarkerCount=function(){return getPdMarkerCount(this);}
GMap2.prototype.boxMap=function(center,span){var spec=this.spec;var zoom=spec.getLowestZoomLevel(center,span,this.viewSize);this.centerAndZoom(new GPoint(center.x,center.y),zoom);}
GMap2.prototype.zoomToMarkers=function(slopPercentage,heightOffsetPct){var count=0;var thePoint,x,y,minX,maxX,minY,maxY,span;var marker=this.getFirstMarker();while(marker!=null)
{if(!marker.isHidden())
{thePoint=marker.getPoint();x=thePoint.lat();y=thePoint.lng();if(count==0)
{minX=x;maxX=x;minY=y;maxY=y;}
else
{if(x<minX)minX=x;if(x>maxX)maxX=x;if(y<minY)minY=y;if(y>maxY)maxY=y;}
count++;}
marker=this.getNextMarker();}
if(count==1)
this.setCenter(new GLatLng(x,y),this.getZoom());else if(count>1)
{var center=new GLatLng((minX+maxX)/2,(minY+maxY)/2)
span=new GSize(Math.abs(maxX-minX),Math.abs(maxY-minY));slopWid=0;slopHgt=0;if(typeof slopPercentage!="undefined")
{slopWid=span.width*slopPercentage/200;slopHgt=span.height*slopPercentage/200;span.width*=1+slopPercentage/100;span.height*=1+slopPercentage/100;}
deltaHgt=0;if(typeof heightOffsetPct!="undefined")
{deltaHgt=span.height*heightOffsetPct/100;center=new GLatLng(center.lat()+deltaHgt,center.lng());}
var bounds=new GLatLngBounds(new GLatLng(minX-slopHgt,minY-slopWid),new GLatLng(maxX+slopHgt,maxY+slopWid));var zoom=this.getBoundsZoomLevel(bounds);this.setCenter(center,zoom);}}
function shorten(x){var factor=1000000
return Math.round(x*factor)/factor;}
function poweredByClick(map){var center=map.getCenter();var span=map.getBounds().toSpan();var zoom=map.getZoom();var url="http://maps.google.com/maps?ll="+center.lat()+","+center.lng()+"&spn="+shorten(span.lat())+","+shorten(span.lng())+"&z="+zoom+"&key="+APIkey;document.location=url;}
function poweredByMouseover(map){var marker=map.getFirstMarker();var bounds=map.getBounds();var visibleCount=0;var totalCount=0;while(marker!=null){if(!marker.isHidden())
{var point=marker.getPoint();if(bounds.contains(point))
visibleCount++;totalCount=totalCount+1;}
marker=map.getNextMarker();}
var title=map.poweredByTitle+" ("+visibleCount+" markers of "+totalCount+" visible)"
map.poweredByObj.setAttribute("title",title);map.poweredByObj.setAttribute("alt",title);}
function getPoweredBy(map){try{var tooltip="GMap "+getGoogleMapsVersion()+" & PdMarker "+getPdMarkerShortVersion();map.poweredByTitle=tooltip;var b=document.createElement("img");b.setAttribute("src","http://www.google.com/intl/en_ALL/mapfiles/transparent.gif");b.setAttribute("width",62);b.setAttribute("alt",tooltip);b.setAttribute("title",tooltip);b.setAttribute("height",30);b.style.display="block";b.style.position="absolute";b.style.left="2px";b.style.bottom="0px";b.style.width="62px";b.style.height="30px";b.style.cursor="pointer";b.style.zIndex=600001;b.onclick=function(){poweredByClick(map);};b.onmouseover=function(){poweredByMouseover(map);};map.getPane(G_MAP_FLOAT_PANE).parentNode.parentNode.appendChild(b);return b;}
catch(e){}
return true;}
function setPoweredBy(map){if(!map.poweredByObj){getGoogleMapsVersion();map.poweredByObj=getPoweredBy(map);}}
function PdMarkerNamespace(){var userAgent=navigator.userAgent.toLowerCase();var n4=(document.layers);var n6=(document.getElementById&&!document.all);var ie=(document.all);var o6=(userAgent.indexOf("opera")!=-1);var safari=(userAgent.indexOf("safari")!=-1);var msie=(userAgent.indexOf("msie")!=-1)&&(userAgent.indexOf("opera")==-1);var msiePre7=false;if(msie)
msiePre7=userAgent.substr(userAgent.indexOf("msie")+5,2)<7;var nextMarkerId=10;var permitLeft=true;var icon=new GIcon();icon.shadow="http://www.google.com/mapfiles/shadow50.png";icon.iconSize=new GSize(20,34);icon.shadowSize=new GSize(37,34);icon.iconAnchor=new GPoint(9,34);icon.infoWindowAnchor=new GPoint(9,2);icon.infoShadowAnchor=new GPoint(18,25);icon.image="http://www.google.com/mapfiles/marker.png";function PdMarker(a,b,tooltip){this.inheritFrom=GMarker;if(typeof b=="undefined")
b=icon;this.inheritFrom(a,b);if(typeof tooltip!="undefined")
this.pendingTitle=tooltip;else
this.pendingTitle="";if(typeof b!="undefined")
this.oldImagePath=b.image;else
this.oldImagePath="http://www.google.com/mapfiles/marker.png";this.internalId=nextMarkerId;nextMarkerId+=1;this.zIndexSaved=false;this.pendingCursor="";this.percentOpacity=70;this.mouseOutEnabled=true;this.setImageOn=true;this.hidingEnabled=true;this.showDetailOnClick=true;this.detailOpen=false;this.userData="";this.displayed=true;}
PdMarker.prototype=new GMarker(new GLatLng(1,1));function addMarkerToMapList(map,marker){try{if(map.pdMarkers.length);}
catch(e){map.pdMarkers=new Array();}
map.pdMarkers.push(marker);}
function removeMarkerFromMapList(map,marker){var id=marker.internalId;for(var i=0;i<map.pdMarkers.length;i++)
if(map.pdMarkers[i].internalId==id)
{map.pdMarkers.splice(i,1);return;}}
PdMarker.prototype.initialize=function(a){if(typeof a=="GMap")
{GLog.write("PdMarker requires GMap2");return;}
addMarkerToMapList(a,this);try
{GMarker.prototype.initialize.call(this,a);this.isMarker=true;if(this.pendingTitle.length>0)
this.setTitle(this.pendingTitle);if(this.pendingCursor.length>0)
this.setCursor(this.pendingCursor);this.map=a;setPoweredBy(a);GEvent.bindDom(this,"mouseover",this,this.onMouseOver);GEvent.bindDom(this,"mouseout",this,this.onMouseOut);GEvent.bindDom(this,"click",this,this.onClick);GEvent.bind(this.map,"zoomend",this,this.reZoom);}
catch(e){alert("PdMarker initialize error: "+e);}}
PdMarker.prototype.allowLeftTooltips=function(a){permitLeft=a;}
PdMarker.prototype.reZoom=function(){var didSet=false;if(this.tooltipObject)
if(this.tooltipObject.style.display=="block")
{setTTPosition(this);didSet=true;}
if(this.detailObject)
{if(!didSet)
setTTPosition(this);setDetailPosition(this);}}
PdMarker.prototype.setId=function(id){this.internalId=id;}
PdMarker.prototype.getId=function(){return this.internalId;}
PdMarker.prototype.setName=function(a){this.name=a;}
PdMarker.prototype.getName=function(){if(this.name)
return this.name;else
return null;}
PdMarker.prototype.setUserData=function(a){this.userData=a;}
PdMarker.prototype.getUserData=function(){if(this.userData)
return this.userData;else
return"";}
PdMarker.prototype.setUserData2=function(a){this.userData2=a;}
PdMarker.prototype.getUserData2=function(){if(this.userData2)
return this.userData2;else
return"";}
PdMarker.prototype.setImageEnabled=function(a){this.setImageOn=a;}
var PdMIN="";var PdMIA="";function PdCompPdMIN(marker){if(PdMIN.length==0)
for(var i in marker)
if(eval("typeof marker."+i)=="object")
try{if(eval("typeof marker."+i+"[0].src")!="undefined")
{PdMIA="this."+i;PdMIN=PdMIA+"[0]";}}
catch(e){}}
PdMarker.prototype.setImageOld=function(a){var msFilter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+a+'")';if(this.mouseOutEnabled&&this.setImageOn)
{PdCompPdMIN(this);try{if(this.oldImagePath.length==0)
eval("this.oldImagePath = "+PdMIN+".src");if(msie&&msiePre7)
eval(PdMIN+".style.filter = msFilter");else
eval(PdMIN+".src = a");}
catch(e){}}}
PdMarker.prototype.setImage=function(a){if(this.mouseOutEnabled&&this.setImageOn)
GMarker.prototype.setImage.call(this,a);}
PdMarker.prototype.restoreImage=function(){if(this.mouseOutEnabled&&this.setImageOn&&this.oldImagePath.length>0)
this.setImage(this.oldImagePath);}
PdMarker.prototype.display=function(a){if(a)
this.show();else
this.hide();}
PdMarker.prototype.blink=function(a,b){if(a)
{this.blinkOn=true;this.blinkSpeed=b;if(!this.blinking)
{this.blinking=a;PdMarkerAddToExtList(this);PdMarkerBlinkOnOff(this.getId());}}
else
{this.blinking=a;this.display(true);PdMarkerRemoveFromExtList(this);}}
PdMarker.prototype.setIcon=function(a){this.remove();this.icon=a;this.initialize(this.map);this.redraw(true);}
PdMarker.prototype.setMarkerZIndex=function(a){PdCompPdMIN(this);if(!this.zIndexSaved)
{this.zIndexSaved=true;this.oldZIndex=eval(PdMIN+".style.zIndex");}
eval(PdMIN+".style.zIndex = a")
this.redraw(true);}
PdMarker.prototype.topMarkerZIndex=function(){this.setMarkerZIndex(600000);}
PdMarker.prototype.restoreMarkerZIndex=function(){PdCompPdMIN(this);if(this.zIndexSaved)
{this.zIndexSaved=false;eval(PdMIN+".style.zIndex = this.oldZIndex")
this.redraw(true);}}
PdMarker.prototype.onInfoWindowOpen=function(){this.hideTooltip();GMarker.prototype.onInfoWindowOpen.call(this);}
PdMarker.prototype.setHoverImage=function(a){this.hoverImage=a;}
var inMouseOver=false;PdMarker.prototype.onMouseOver=function(){if(inMouseOver)
return;inMouseOver=true;if(this.hoverImage)
this.setImage(this.hoverImage);if(!this.detailOpen)
this.showTooltip();inMouseOver=false;}
PdMarker.prototype.onMouseOut=function(){if(this.hoverImage)
this.restoreImage();if(!this.detailOpen)
if(this.mouseOutEnabled)
this.hideTooltip();}
PdMarker.prototype.setMouseOutEnabled=function(a){this.mouseOutEnabled=a;}
PdMarker.prototype.getMouseOutEnabled=function(){return this.mouseOutEnabled;}
PdMarker.prototype.setTooltipHiding=function(a){this.hidingEnabled=a;}
PdMarker.prototype.getTooltipHiding=function(){return this.hidingEnabled;}
PdMarker.prototype.setTitle=function(a){this.tooltipText="";PdCompPdMIN(this);try{eval(PdMIN+".title = a");}
catch(e){this.pendingTitle=a;}}
PdMarker.prototype.setCursor=function(a){PdCompPdMIN(this);try{eval(PdMIN+".style.cursor = a");}
catch(e){this.pendingCursor=a;}}
PdMarker.prototype.setTooltipClass=function(a){this.pendingClassName=a;if(this.tooltipObject)
{var showing=(this.tooltipObject.style.display!="none");this.deleteObjects();if(this.tooltipRaw)
this.setTooltipNoResize(this.tooltipRaw);if(showing)
this.showTooltip();}
else
if(this.tooltipRaw)
this.setTooltipNoResize(this.tooltipRaw);}
PdMarker.prototype.resetTooltipClass=function(){this.setTooltipClass("markerTooltip");}
PdMarker.prototype.getTooltip=function(){try{return this.tooltipRaw;}
catch(e)
{return"";}}
PdMarker.prototype.setTooltipNoResize=function(a){this.setTitle("");var ttClass="markerTooltip";if(this.pendingClassName)
ttClass=this.pendingClassName;this.tooltipRaw=a;this.tooltipText="<div class='"+ttClass+"'>"+a+"</div>";if(this.tooltipObject)
this.tooltipObject.innerHTML=this.tooltipText;}
PdMarker.prototype.setTooltip=function(a){this.setTooltipNoResize(a);this.deleteObjects();}
PdMarker.prototype.showTooltip=function(){if(this.tooltipText)
{if(!this.tooltipObject)
initTooltip(this);setTTPosition(this);this.tooltipObject.style.display="block";}}
PdMarker.prototype.hideTooltip=function(){if(this.tooltipObject)
if(this.hidingEnabled)
this.tooltipObject.style.display="none";}
PdMarker.prototype.onClick=function(a){if(this.showDetailOnClick&&this.detailWinHTML)
this.showDetailWin();}
PdMarker.prototype.setShowDetailOnClick=function(a){this.showDetailOnClick=a;}
PdMarker.prototype.setDetailWinHTML=function(a){this.detailWinHTML=a;}
PdMarker.prototype.setDetailWinClass=function(a){this.pendingDetailClassName=a;}
PdMarker.prototype.resetDetailWinClass=function(){this.setDetailWinClass("markerDetail");}
PdMarker.prototype.showDetailWin=function(){if(this.detailOpen)
{this.closeDetailWin();return;}
this.hideTooltip();this.setMouseOutEnabled(false);var winClass="markerDetail";if(this.pendingWinClassName)
winClass=this.pendingWinClassName;var html="<table><tr><td>"+this.detailWinHTML+"<\/td><td valign='top'><a class='markerDetailClose' href='javascript:PdMarkerClose("+this.internalId+")'><img src='http://www.google.com/mapfiles/close.gif' width='14' height='13'><\/a><\/td><\/tr><\/table>";html="<div class='"+winClass+"'>"+html+"</div>";this.detailOpen=true;if(!this.tooltipText)
{this.ttWidth=150;this.ttHeight=30;setTTPosition(this);}
initDetailWin(this,this.ttTop,this.ttLeft,html);PdMarkerAddToExtList(this);}
PdMarker.prototype.closeDetailWin=function(){this.detailOpen=false;if(this.detailObject)
{this.setMouseOutEnabled(true);this.onMouseOut();this.map.getPane(G_MAP_FLOAT_PANE).removeChild(this.detailObject);this.detailObject=null;}}
PdMarker.prototype.deleteObjects=function(){if(this.tooltipObject)
{this.map.getPane(G_MAP_FLOAT_PANE).removeChild(this.tooltipObject);this.tooltipObject=null;}
if(this.detailObject)
{this.map.getPane(G_MAP_FLOAT_PANE).removeChild(this.detailObject);this.detailObject=null;}}
PdMarker.prototype.remove=function(a){removeMarkerFromMapList(this.map,this);PdMarkerRemoveFromExtList(this.getId());GMarker.prototype.remove.call(this);this.deleteObjects();}
PdMarker.prototype.setOpacity=function(b){if(b<0)
b=0;if(b>=100)
b=100;var c=b/100;this.percentOpacity=b;var d=document.getElementById(this.objId);if(d)
{if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';}
if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;}
if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;}
if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}}}
PdMarker.prototype.setOpacityNew=function(b){setObjOpacity(this.objId);this.percentOpacity=b;}
function setObjOpacity(objId,b){if(b<0)
b=0;if(b>=100)
b=100;var c=b/100;var d=document.getElementById(objId);if(d)
{if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';}
if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;}
if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;}
if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}}}
function idToElemId(id){return"ttobj"+id;}
function initTooltip(theObj){theObj.objId=idToElemId(theObj.internalId);theObj.anchorLatLng=theObj.point;var b=document.createElement('span');theObj.tooltipObject=b;b.setAttribute('id',theObj.objId);b.innerHTML=theObj.tooltipText;var c=document.body;var d=document.getElementById("pdmarkerwork");if(d)
c=d;c.appendChild(b);b.style.position="absolute";b.style.bottom="5px";b.style.left="5px";b.style.zIndex=1;if(theObj.percentOpacity)
theObj.setOpacity(theObj.percentOpacity);var tempObj=document.getElementById(theObj.objId);theObj.ttWidth=tempObj.offsetWidth;theObj.ttHeight=tempObj.offsetHeight;c.removeChild(b);b.style.zIndex=600000;b.style.bottom="";b.style.left="";theObj.map.getPane(G_MAP_FLOAT_PANE).appendChild(b);}
function initDetailWin(theObj,top,left,html){theObj.detailId="detail"+theObj.internalId;var b=document.createElement('span');theObj.detailObject=b;b.setAttribute('id',theObj.detailId);b.innerHTML=html;b.style.display="block";b.style.position="absolute";b.style.top=top+"px";if(theObj.rightSide)
b.style.left=left+"px";else
b.style.right=-left+"px";b.style.zIndex=600001;theObj.map.getPane(G_MAP_FLOAT_PANE).appendChild(b);}
function setTTPosition(theObj){var gap=5;var map=theObj.map;var pt=theObj.getPoint();var ttPos=latLongToPixel(map,pt,map.getZoom());var theIcon=theObj.getIcon();ttPos.y-=Math.floor(theIcon.iconAnchor.y/2);var rightSide=true;var bounds=map.getBounds();var boundsSpan=bounds.toSpan();var longSpan=boundsSpan.lng();var mapWidth=map.getSize().width;var tooltipWidthInDeg=(theObj.ttWidth+theIcon.iconSize.width+6)/mapWidth*longSpan;if(pt.lng()+tooltipWidthInDeg>bounds.getNorthEast().lng()&&permitLeft)
rightSide=false;ttPos.y-=Math.floor(theObj.ttHeight/2);delta=(theIcon.iconSize.width-theIcon.iconAnchor.x)+gap;if(rightSide)
ttPos.x+=delta;else
ttPos.x-=delta
theObj.rightSide=rightSide;theObj.ttLeft=ttPos.x;theObj.ttTop=ttPos.y;if(theObj.tooltipObject)
{if(rightSide){theObj.tooltipObject.style.left=ttPos.x+"px";theObj.tooltipObject.style.right=null;}
else{theObj.tooltipObject.style.left=null;theObj.tooltipObject.style.right=-ttPos.x+"px";}
theObj.tooltipObject.style.top=ttPos.y+"px";}}
function makeInterface(a){var b=a||window;b.PdMarker=PdMarker;}
makeInterface();}
PdMarkerNamespace();






































/* ##################################################################################################################### */
/* GLOBAL FUNCTIONS */
/* ##################################################################################################################### */

// Help me, I'm stupid!
if (!Array.prototype.indexOf) {
	Array.prototype.indexOf = function(val, fromIndex) {
		if (typeof(fromIndex) != 'number') fromIndex = 0;
		for (var index = fromIndex,len = this.length; index < len; index++)
			if (this[index] == val) return index;
		return -1;
	}
}





/* ##################################################################################################################### */
/* GOOGLE MAP */
/* ##################################################################################################################### */

var map;

$(document).unload(function(){
	GUnload();
});

$.fn.mymap = function() {
	
	$('#legend, #legend .content').show();
	
	var fullscreenpos = $('#legend .button').width() + 24;
	//var fullscreenpos = $('#legend .content').width() + 48;
	//alert(fullscreenpos);
	$('#map #fullscreen').css({'left':fullscreenpos});
	$('#fullscreen').show();
	
	$('#map_large').css({
		height: '26.5em'
	});
	$('#map_small').css({
		height: '172px'
	});
	
	$("#legend .button a").click(function(){
		$('#legend .content').toggle();
		return false;
	});
	
	$('#fullscreen a').toggle(function(){
		$('body').animate({scrollTop:0},50).css({
			overflow: 'hidden'
		});
		$('.mapholder').appendTo('body').addClass('fullscreen');
		$('#fullscreen').appendTo('body').css({'left':'1em'});
		$('#fullscreen a').text(text_fullscreenexit);
		
		map.checkResize();
		map.setCenter(bounds.getCenter());
		
		if (site == 'detail') {
			map.removeControl(smallControl);
		
			largeControl = new GLargeMapControl();
			map.addControl(largeControl, new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,40)));
			
			typeControl = new GMapTypeControl();
			map.addControl(typeControl);
		}
		return false;
	},function(){
		$('body').css({
			overflow: 'auto'
		});
		$('.mapholder').appendTo('.mapcontainer').removeClass('fullscreen');
		$('#fullscreen').appendTo('.mapcontainer');
		$('#map #fullscreen').css({'left':fullscreenpos});
		$('#fullscreen a').text(text_fullscreen);
		
		map.checkResize();
		
		//map.setZoom(9);
		map.setCenter(bounds.getCenter());
		
		if (site == 'detail') {
			map.removeControl(largeControl);
			map.removeControl(typeControl);
			
			map.addControl(smallControl, new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)));
		}
		return false;
	});
	
	$(".close").click(function(){
		$(this).parent().hide();
		return false;
	});
}


gmarkers = [];
var i = 0;

function createMarker(point,icontype) {
	var marker = new PdMarker(point,gicons[icontype]);
	if (site != 'detail') {
		GEvent.addListener(marker, "click", function() {
			/*var item_id = '#' + marker.myOwnPropertyID.split('marker_')[1];
			var item_id_number = item_id.split('#item')[1];
			var item_name = $(item_id).find('.name').text();
			
			window.location = '/' + language + '/detail/' + item_id_number + '/' + item_name + '/';*/
			window.location = $('#' + marker.myOwnPropertyID.split('marker_')[1]).find('a').attr('href');
		});
	}
	
	gmarkers[i] = marker;
	i++;
	return marker;
}


$.fn.show_map = function() {
	if (GBrowserIsCompatible() && ($('.mapholder').length > 0)) {
		
		// Create the marker and set up the event		
			
		bounds = new GLatLngBounds();
		
		// Create the map
		map = new GMap2($(".mapholder")[0]);
		if (site != 'detail') {
			map.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,40)));
			map.addControl(new GMapTypeControl());
		} else  {
			smallControl = new GSmallMapControl();
			map.addControl(smallControl, new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)));
		}
		map.addMapType(G_PHYSICAL_MAP);
		map.setCenter(new GLatLng(46.8,8.5),7,G_PHYSICAL_MAP);
		
	
		$.fn.map_items();
	}
}


$.fn.map_items = function() {
	$('.item').not('.mapped').each(function() {
		$(this).addClass('mapped');
		
		var level = []; 
		
		var icontype_level = $(this).children('.mainlevel').text();
		
		var icontype_type = $(this).children('.type').text();
		var icontype = icontype_type + ' (' + icontype_level + ')';
		
		var myid = $(this).attr('id');
		
		var geo = $(this).children('.geo').text();
		if (geo != '') {
			geo = geo.split(',');
			var lat = unescape(geo[0]);
			var lng = unescape(geo[1]);
			var point = new GLatLng(lat,lng);
			
			var label = $(this).children('.name').text();
			
			var marker = createMarker(point,icontype);
			marker.myOwnPropertyID = 'marker_' + myid;
			marker.setTooltip(label);
			
			//marker.setHoverImage("http://www.google.com/mapfiles/dd-start.png");
		
			map.addOverlay(marker);
			bounds.extend(point);
		}
		
		
		var id = $(this).attr('id').split('item');
		var item_number = parseInt(id[1]);
		
		$(this).hover(function(){
			$(this).addClass('hover');
			gmarkers[item_number].showTooltip();
		},function(){
			$(this).removeClass('hover');
			gmarkers[item_number].hideTooltip();
		});
		
		$(this).click(function(){
			/*var item_id = $(this).attr('id');
			var item_id_number = item_id.split('item')[1];
			
			var item_name = $(this).find('.name').text();
			window.location = '/' + language + '/detail/' + item_id_number + '/' + item_name + '/';*/
			window.location = $(this).find('a').attr('href');
		});
	});

	
	// Get zoom level and center
	if (site != 'detail') { 
		map.setZoom(map.getBoundsZoomLevel(bounds));
	} else { 
		map.setZoom(9);
	}
	map.setCenter(bounds.getCenter());
	var myzoomlevel = map.getZoom();
	
	
	
	$("#items").trigger("sorton",[sorting]);
}


$.fn.myfilter = function() {

	// Show filter navigation
	$("ul.filter:not(.filter-short)").each(function(){
		$(this).append('<li><a class="filter_all" href="#">' + text_uncheckall + '<\/a> | <a class="filter_all show" href="#">' + text_checkall + '<\/a><\/li>');
	});
	
	// Check all checkboxes (Firefox Chache...)
	$("ul.filter .checkbox").each(function(){
		this.checked = true;
	});
	$("ul.filter-short .checkbox").each(function(){
		this.checked = false;
	});
	
	// Show reset button when needed
	$('#filter-reset').hide();
	$("ul.filter .checkbox, ul.filter a").click(function(){
		$('#filter-reset').show();
	});
	
	
	$("ul.filter .filter_all").click(function(){
		var filter_link = $(this);
		var filter = filter_link.parents('ul.filter');
		var filter_category = filter_link.parents('ul.filter').find('.checkbox').attr('id').split('-')[1];
		
		filter.find('.checkbox').each(function() {
			if (!filter_link.hasClass('show')) {
				this.checked = false;
			 } else {
				this.checked = true;
			 }
		});
		
		if (!filter_link.hasClass('show')) {
			$('.item').each(function() {
				var item = $(this);
				var item_id = item.attr('id').split('item');
				var item_number = parseInt(item_id[1]);
				
				item.find('.' + filter_category).addClass('filtered');
				item.hide();
				if (gmarkers[item_number]) {
					gmarkers[item_number].hide();
				}
			});
		} else {
			$('.item:hidden').each(function() {
				var item = $(this);
				var item_id = item.attr('id').split('item');
				var item_number = parseInt(item_id[1]);
				
				item.find('.' + filter_category).removeClass('filtered');
				if ((!item.find('.filtered').length > 0) && (item.is(':hidden'))) {
					item.show();
					if (gmarkers[item_number]) {
						gmarkers[item_number].show();
					}
				}
			});
		}
		
		$.fn.scroll();
		
		return false;
	});
	
	
	
	
	$("ul.filter:not('.filter-special') .checkbox").click(function(){
		var checkbox = $(this);
		var filter_criteria = checkbox.attr('id').split('-')[2];
		var filter_category = checkbox.attr('id').split('-')[1];
		
		if (checkbox.hasClass('multiple')) {
			shown_criterias = new Array();
			checkbox.parents('ul.filter').find('.checkbox').each(function(){
				if ($(this).is(':checked')) {
					shown_criterias.push($(this).attr('id').split('-')[2]);
				}
			});
		}
		
		if (!checkbox.parents('ul.filter').hasClass('filter-short')) {
			if (!checkbox.is(':checked')) {
				$('.item:visible').each(function() {
					var item = $(this);
					var item_id = item.attr('id').split('item');
					var item_number = parseInt(item_id[1]);
					
					var item_content = item.find('.' + filter_category).text();
					
					if (!checkbox.hasClass('multiple')) {
						if (item_content == filter_criteria) {
							item.find('.' + filter_category).addClass('filtered');
							item.hide();
							gmarkers[item_number].hide();
						}
					} else {
						var item_status = '';
						$.each(shown_criterias, function() {
							if (item_content.indexOf(this) != -1) {
								item_status = 'found';
							}
						});
						if (item_status != 'found') {
							item.find('.' + filter_category).addClass('filtered');
							item.hide();
							gmarkers[item_number].hide();
						}
					}
					
					
				});
			} else {
				$('.item:hidden').each(function() {
					var item = $(this);
					var item_id = item.attr('id').split('item');
					var item_number = parseInt(item_id[1]);
					
					var item_content = item.find('.' + filter_category).text();
					
					if (!checkbox.hasClass('multiple')) {
						if (item_content == filter_criteria) {
							item.find('.' + filter_category).removeClass('filtered');
							if (!item.find('.filtered').length > 0) {
								item.show();
								gmarkers[item_number].show();
							}
						}
					} else {
						var item_status = '';
						$.each(shown_criterias, function() {
							if (item_content.indexOf(this) != -1) {
								item_status = 'found';
							}
						});
						if (item_status == 'found') {
							item.find('.' + filter_category).removeClass('filtered');
							if (!item.find('.filtered').length > 0) {
								item.show();
								gmarkers[item_number].show();
							}
						}
					}
				});
			}
		} else {
			if (checkbox.is(':checked')) {
				$('.item:visible').each(function() {
					var item = $(this);
					var item_id = item.attr('id').split('item');
					var item_number = parseInt(item_id[1]);
					
					var item_content = item.find('.' + filter_category).text();
					
					if ((item_content == 'false') || (item_content == '')) {
						item.find('.' + filter_category).addClass('filtered');
						item.hide();
						gmarkers[item_number].hide();
					}
				});
			} else {
				$('.item:hidden').each(function() {
					var item = $(this);
					var item_id = item.attr('id').split('item');
					var item_number = parseInt(item_id[1]);
					
					var item_content = item.find('.' + filter_category).text();
					
					if ((item_content == 'false') || (item_content == '')) {
						item.find('.' + filter_category).removeClass('filtered');
						if (!item.find('.filtered').length > 0) {
							item.show();
							gmarkers[item_number].show();
						}
					}
				});
			}
		}
		
		$.fn.scroll();
	});
	
	$('#filter-aktuellerMonat').click(function(){
		if ($(this).is(':checked')) {
			var mymonth = $(this).parent().find('label span').text();
			$(this).parents('ul.filter').next().find('.filter_all:not(".show")').trigger('click');
			$('#filter-saison-' + mymonth).each(function(){
				this.checked = true;
				$(this).trigger('click');
				this.checked = true;
			});
		} else {
			$(this).parents('ul.filter').next().find('.show').trigger('click');
		}
	});
	
	$('#filter-reset').click(function(){
		$('#search input').val('');
		
		$('.filter:not(.filter-short) .checkbox').not(':checked').each(function(){
			this.checked = true;
		});
		$('.filter-short .checkbox:checked').each(function(){
			this.checked = false;
		});
		
		$('.item').each(function() {
			var item = $(this);
			var item_id = item.attr('id').split('item');
			var item_number = parseInt(item_id[1]);
			
			item.find('.filtered').removeClass('filtered');
			item.show();
			gmarkers[item_number].show();
		});
		
		$(this).hide();
		
		$.fn.scroll();
		
		return false;
	});
	
}




$.fn.mysearch = function() {
	$("#search").submit(function(){
		//$('#search input').val('');
		var search = $('#search input').val().toLowerCase();
		
		//$('.item').show();
		
		/*$('ul.filter:not(".filter-short") .checkbox').each(function() {
			this.checked = true;
		});
		
		$('ul.filter:is(".filter-short") .checkbox').each(function() {
			this.checked = false;
		});*/
		
		$('#filter-reset').trigger('click');
		
		$('.item').each(function(){
			var item = $(this);
			var item_content = item.text().toLowerCase();
			var item_id = item.attr('id').split('item');
			var item_number = parseInt(item_id[1]);
			
			if (item_content.indexOf(search) == -1) {
				item.find('.name').addClass('filtered');
				item.hide();
				if (gmarkers[item_number]) {
					gmarkers[item_number].hide();
				}
			} else {
				item.find('.name').removeClass('filtered');
				item.show();
				if (gmarkers[item_number]) {
					gmarkers[item_number].show();
				}
			}
		});		
		$.fn.scroll();
		
		return false;
	});
}




/* ##################################################################################################################### */
/* OTHER FUNCTIONAL STUFF */
/* ##################################################################################################################### */

// Enable tabs navigation
$.fn.tabs = function() {		
	$('.tabs').parents('.box').addClass('box-tabs');			
	$('.tabs').show();	
	
	$('.tabs-content:gt(0)').hide();
	$('.tabs li:eq(0)').addClass('current');
	
	var url = document.location.toString();
	
	$('.tabs a').click(function(){	
		var mytab = $(this).attr('href');
		var newurl = url.split('#')[0] + mytab;
		document.location = newurl;
		
		$('#lang a').each(function(){
			var myhref = $(this).attr('href').split('#')[0] + mytab;
			$(this).attr({'href':myhref});
		});
	
		$(this).parents('.tabs').find('li.current').removeClass('current');
		$(this).parent().addClass('current');
		var mynumber = $('.tabs a').index(this);
		$('.tabs-content').hide();
		$('.tabs-content:eq(' + mynumber + ')').show();
		if ($.browser.msie && $.browser.version < 7) {
			$('.tabs-content').parents('.box').find('.corner-bl,.corner-br').css('bottom','-1px').css('bottom','0');
		}
		return false;
	});
	
	if (url.match('#')) {
		var anchor = '#' + url.split('#')[1];
		if (anchor != '#tab1') {
			$('.tabs a[href="' + anchor + '"]').trigger('click');
		}
	}
}

// Scroll me to the moon
$.fn.scroll = function() {
	$('#table div.content').jScrollPane({
		showArrows: true,
		scrollbarWidth: 11
	});
	
	//if ($.browser.msie && $.browser.version < 8) {
		$('.jScrollPaneContainer, #table .content').width('100%');
	//}
	
	var mytablewidth = $('#items').width();
	$('#test').width(mytablewidth);
	
	$('#test th').each(function(){
		var header = $(this);
		
		var index = $('#test th').index(this);
		var mywidth = $('#items th:eq(' + index + ')').width();
		
		$(this).width(mywidth).addClass('header');
		
		setTimeout(function() {
			var myclass = $('#items th:eq(' + index + ')').attr('class');
			header.addClass(myclass);
		},1);
		
		
		$(this).click(function(e){
			$('#test th').removeClass('headerSortUp').removeClass('headerSortDown');
			
			$('#items th:eq(' + index + ')').trigger('click');
			
			
			setTimeout(function() {
				var myclass = $('#items th:eq(' + index + ')').attr('class');
				header.addClass(myclass);
			},1);
			
			e.stopPropagation(); // throw error to prevent from happening twice
		});
	});
}

// Enable table scrolling
var sorting = [[1,1]]; 
$.fn.table = function() {
/*	$('<table id="test"></table>').insertBefore('#table .content');
	//$('#test').hide();
	
	$('#items thead').clone().appendTo('#test');
	//$('#items thead').hide();
	*/
	$('#table .content').css({
		'height': '41.2em',
		'overflow': 'auto'
	});
	$.fn.scroll();
	$("#items").tablesorter(); //{sortList: sorting}
}

// Enable footer
$.fn.footer = function() {	
	/*$.fn.footer_height = function() {	
		if ($(window).height() >= $('#wrapper').height() ) {
			var myheight = $(window).height() + 1;
			$('html').height(myheight);
			//alert('window: ' + $(window).height() + ' | wrapper: ' + $('#wrapper').height());
		}
	}	
	if (/WebKit/i.test(navigator.userAgent)) {
		var _timer = setInterval(function() {
			if (/loaded|complete/.test(document.readyState)) {
				clearInterval(_timer);
				$.fn.footer_height();
			}
		}, 10);
	} else {
		$.fn.footer_height();
	}*/
	
	$('#footer .wrapper').addClass('js');
	
	var myheight = $('#footer .text').height();	
	if ($.browser.safari) {
		myheight = myheight + 50;
	} else {
		myheight = myheight + 15;
	}
	/*else {
		var myheight = $('#footer .text').height();
	}
	alert(myheight);*/
	//console.log($('#wrapper').height() + '-' + myheight);

	$.fn.footer_show = function() {		
		$.cookie('footer', 'visible', { expires: 1, path: '/' });
		$('#footer .expand a').text(text_hidefooter);
		$('#footer').animate({height: myheight},100);
		$('#footer .wrapper').addClass('expanded');
	}
	$.fn.footer_hide = function() {
		$.cookie('footer', 'hidden', { expires: 1, path: '/' });		
		$('#footer .expand a').text(text_showfooter);
		$('#footer').animate({height:'12px'},200);
		$('#footer .wrapper').removeClass('expanded');
	}
	
	$('#footer .expand').show();
	if (!$('#footer .wrapper').hasClass('expanded')) {
		$('#footer .expand a').text('Weitere Infos');
		$('#footer').height('12px');
		
	}
	$('#footer .expand a').click(function(){
		if (!$('#footer .wrapper').hasClass('expanded')) {
			$.fn.footer_show();
			var myscrollheight = $('#wrapper').height() + myheight;
			//console.log($('body').height() + '-' + myheight + '-' + myscrollheight);
			$('html, body').animate({scrollTop: myscrollheight},200);
		} else {
			$.fn.footer_hide();
		}
		return false;
	});
	
	
	
	var mystatus = $.cookie('footer');
	//alert(mystatus);
	if (mystatus == 'visible') {
		$.fn.footer_show();
	} else {
		$.fn.footer_hide();
	}
	
	//$.fn.footer_show();
}

// Enable tooltips 
$.fn.showtooltip = function() {
	$('.tooltip').tooltip({ 
		track: true,
	    top: 5, 
	    left: 15
	});
}

// Even though I'm stupid I wanna have pngs, too!
$.fn.fixmypngs = function() {
	$.ifixpng('/img/spacer.gif'); 
	$('img.icon').ifixpng(); 
}

// Get distance between two areas (code by http://www.mountainbiker.ch/inhalt/distanz-berechnen/aWQ9MTEz.html)
$.fn.getdistance = function(a_lat,a_long,b_lat,b_long) {
	return Math.round(Math.acos(Math.sin(b_lat/180*Math.PI)*Math.sin(a_lat/180*Math.PI) + Math.cos(b_lat/180*Math.PI)*Math.cos(a_lat/180*Math.PI)*Math.cos(b_long/180*Math.PI-a_long/180*Math.PI) ) * 6378.137);
}
$.fn.distance = function() {
	var a_lat = $('#coordinates').text().split(',')[0];
	var a_long = $('#coordinates').text().split(',')[1];
	
	$('.coordinates').each(function(){
		var b_lat = $(this).text().split(',')[0];
		var b_long = $(this).text().split(',')[1];
		
		var distance = '(' + $.fn.getdistance(a_lat,a_long,b_lat,b_long) + ' km)';
		
		$(this).parents('h3').find('a span').text(distance);
	});
}

// Show back-link
$.fn.goback = function() {
	$('span.goback').show().each(function(){
		var mytext = $(this).text();
		$(this).html('<a href="javascript:history.go(-1);">' + mytext + '</a>');
	});
	$('.goback').css({'display':'block'});
}

// Resize searchfield
$.fn.resizesearch = function() {
	myformwidth = $('#search').width();
	mybuttonwidth = $('#search button').width();
	myfieldwidth = myformwidth - mybuttonwidth - 10;
	$('#search input.text').width(myfieldwidth);
}




/* ##################################################################################################################### */
/* ONLOAD */
/* ##################################################################################################################### */

$(document).ready(function(){

	if (!($.browser.msie && $.browser.version < 7)) {
		$.fn.mymap();
		$.fn.myfilter();
		$.fn.mysearch();
		$.fn.tabs();
		$.fn.table();
		$.fn.show_map();
		$.fn.distance();
		$.fn.resizesearch();
		$.fn.showtooltip();
		$.fn.footer();
	} else {
		//$.fn.fixmypngs();
		$('.mapholder').hide();
		$('#filter,#map_small_container').append('<div class="ie"><p><strong>Bitte verwenden Sie einen aktuelleren Browser</strong>. Gute Alternativen zum Internet Explorer 6 sind <a href="http://www.firefox.com" target="_blank">Firefox</a> oder <a href="http://www.microsoft.com/germany/windows/downloads/ie/getitnow.mspx" target="_blank">Internet Explorer 7</a>. Wir haben uns jedoch bemüht, Ihnen trotzdem alle Informationen zugänglich zu machen - leider mit eingeschränkter Funktionalität.<br /><br /><strong>Please use an updated browser</strong>. Alternatives to Internet Explorer 6 are <a href="http://www.firefox.com" target="_blank">Firefox</a> or <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank">Internet Explorer 7</a>. We\'re trying hard offering you all available information anyway - unfortunately with limited functionality.</p></div>');
	}
	$.fn.goback();
	
	/*if (site != 'detail' && mydata != 'all') { 
		$.ajax({ 
			url : '/' + language + '/ajax.html', 
			success : function(html){ 
				$('#items tbody').append(html);
				
				$("#items").trigger("update");
	           	//$("#items").trigger("sorton",[sorting]);
	 
				$.fn.scroll();
				
				$('#test').show();
				$('#items').css({'margin-top':'-1.6em'});
				
				$.fn.map_items();
			} 
		});
	}*/

});