﻿addLoadEvent(function() {
    addClass(document.getElementsByTagName("body")[0], "jsEnabled");
    stripeTable("stripe");
    hoverBox("hoverbox");
    addIEHover("areas-of-study");
});
/*
 * Assigns a class to a container on mouseover and mouseout
 * Used to replicate hover affects on groups of objects
 * Clicking any object in the container will load a new page based on the href of an a tag in the container
 *    className - all elements with the specified class will be affected
 *    node - (optional) specify a parent element to search in, default is document
 *    tag - (optional) only search specific tags
 */
function hoverBox(hoverClass, node, tag) {
    var els = getElementsByClass(hoverClass, node, tag);
    for(var i=0;i<els.length;i++) {
        els[i].onmouseover = function(){toggleClass(this, "hover");};
        els[i].onmouseout = function(){toggleClass(this, "hover");};
        els[i].onclick = function() {window.location = this.getElementsByTagName("a")[0].getAttribute("href");};
    }
}
/*
 * Assigns class of "odd" to alternating rows in a table
 * targetClass - target tables that have the provided class leave blank to target ALL tables on the page
 */
function stripeTable(targetClass) {
    var tables, rows;
    tables = (typeof targetClass == "undefined") ? document.getElementsByTagName("TABLE") : getElementsByClass(targetClass);
    for(var i=0; i<tables.length; i++) {
        rows = tables[i].getElementsByTagName("TR");
        for(var j=0; j<rows.length; j++) {
            if ((j & 1) == 0) addClass(rows[j], "odd");
        }
    }
}
function tabify(className, node, tag, closable) {
    var tabs = getElementsByClass(className, node, tag);
    if ( closable == null ) closable = 0;
    
    for(var i=0;i<tabs.length;i++) {
        var vSibling = tabs[i].nextSibling;
        while (vSibling.nodeType==3) {
            vSibling = vSibling.nextSibling;
        };
        
        if(closable) {            
            var newEl = document.createElement("a");
            newEl.setAttribute('id',"close");
            newEl.innerHTML = "Click to close";
            vSibling.appendChild(newEl);
            
            newEl.onclick = clearClass;
        }
        tabs[i].onclick = setactive;
    }
    
    return false;
}
//Removes all classes
function clearClass() {
    this.parentNode.parentNode.parentNode.className = "";
    return false;
}
//Gets element id and appends it as a class to its parent's parent
function setactive() {
    var el = this;
    var className = el.parentNode.id;
    el.parentNode.parentNode.className = className;
    return false;
}
function profileGallery() {
    var nextButton = document.getElementById("next-profile");
    var prevButton = document.getElementById("previous-profile");
    
    nextButton.onclick = nextItem;
    prevButton.onclick = prevItem;
}
function nextItem() {
    shiftGallery(1);
    return false;
}
function prevItem() {
    shiftGallery(0);
    return false;
}
function shiftGallery(increment) {
    var c = document.getElementById("profile-gallery");
    var targets = new Array();
    //get all valid nodeTypes
    var items = c.childNodes;
    for(var i=0; i<items.length; i++) {
        if(items[i].nodeType == 1) {
            targets.push(items[i]);
        }
    }
    //loop through valid nodes
    var curItem;
    for(var target=0; target<targets.length; target++) {
        if(targets[target].className == "active") {
            curItem = target;
        }
        removeClass(targets[target], "active");
    }
    
    if(increment) {
        if(curItem == targets.length-1) curItem = 0;
        else curItem++;
    }
    else {
        if(curItem == 0) curItem = targets.length-1;
        else curItem--;
    }

    targets[curItem].className = "active";

}

/*====================================================
    Core Functions
====================================================*/    
/*
 * addLoadEvent function written by Simon Willison:
 * http://simonwillison.net/2004/May/26/addLoadEvent/
 * Replacement for window.onload which can cause issues with multiple functions being loaded at once overriding each other
 *
 * Use 
 *     addLoadEvent(nameOfSomeFunctionToRunOnPageLoad);
 * or
 *     addLoadEvent(function() {
 *         more code to run on page load
 *     });
*/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

//Fixes IE caching problem that can cause background images to flicker
try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}

/*
 * Returns an array of all items that have the specified class
 *    searchClass - the class to search for
 *    node - specify a parent element to search in, default is document
 *    tag    - only search specific tags
 */
function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null ) node = document;
    else node = document.getElementById(node);
    if ( tag == null ) tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}
/*
 * Adds an element to the DOM
 *    container - parent to add an element to
 *    elName - id to be given to the new element
 *    elType - type of element (span, p, div, etc)
 *    elContent - innerHTML added to the created element
 */
function addElement(container, elName, elType, elContent) {
    if(!document.getElementById || !document.getElementById(container)) return;
    var container = document.getElementById(container);
    var newEl = document.createElement(elType);
    newEl.setAttribute('id',elName);
    newEl.innerHTML = elContent;
    container.appendChild(newEl);
}
/*
 * Remove an element from the DOM
 *    container - parent of item to be removed
 *    elId - id of element to be removed
 */
function removeElement(container, elId) {
    if(!document.getElementById || !document.getElementById(container) || !document.getElementById(elId)) return;
    var container = document.getElementById(container);
    var el = document.getElementById(elId);
    container.removeChild(el);
}
/*
 * Toggles specified class on an element
 *    el - element to target
 *    className - class name to add or remove
 */
function toggleClass(el, className) {
    var curClass = el.className;
    var pattern = new RegExp("(^|\\s)"+className+"(\\s|$)");
    if ( pattern.test(curClass) )
        el.className = curClass.replace(pattern, "");
    else
        el.className += " " + className;
}
/*
 * Adds specified class to an element if it does not already exists
 *    el - element to target
 *    className - class name to add
 */
function addClass(el, className) {
    var curClass = el.className;
    var pattern = new RegExp("(^|\\s)"+className+"(\\s|$)");
    if (!pattern.test(curClass)) el.className += " " + className;
}
/*
 * Removes specified class from an element if it exists
 *    el - element to target
 *    className - class name to remove
 */
function removeClass(el, className) {
    var curClass = el.className;
    var pattern = new RegExp("(^|\\s)"+className+"(\\s|$)");
    if (pattern.test(curClass)) el.className = curClass.replace(pattern, "");
}
/*
 * Mimics the :hover css psuedo class for IE6 and below
 * which do not properly support it
 */
function addIEHover(id) {
    var el = document.getElementById(id);
    if(el) {
        el.onmouseover = function(){toggleClass(this, "hover");};
        el.onmouseout = function(){toggleClass(this, "hover");};
    }
}
/*
 * jQuery 1.2.2b2 - New Wave Javascript
 *
 * Copyright (c) 2007 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2007-12-20 10:14:13 -0500 (Thu, 20 Dec 2007) $
 * $Rev: 4269 $
 */
eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(J(){7(1d.19)L w=1d.19;L E=1d.19=J(a,b){K 1A E.2m.4P(a,b)};7(1d.$)L D=1d.$;1d.$=E;L u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;L G=/^.[^:#\\[\\.]*$/;E.1h=E.2m={4P:J(d,b){d=d||T;7(d.15){6[0]=d;6.M=1;K 6}N 7(1u d=="24"){L c=u.36(d);7(c&&(c[1]||!b)){7(c[1])d=E.54([c[1]],b);N{L a=T.5H(c[3]);7(a)7(a.2w!=c[3])K E().2i(d);N{6[0]=a;6.M=1;K 6}N d=[]}}N K 1A E(b).2i(d)}N 7(E.1s(d))K 1A E(T)[E.1h.1Y?"1Y":"41"](d);K 6.6A(d.1n==1K&&d||(d.5b||d.M&&d!=1d&&!d.15&&d[0]!=Y&&d[0].15)&&E.2H(d)||[d])},5b:"1.2.82",7W:J(){K 6.M},M:0,1Z:J(a){K a==Y?E.2H(6):6[a]},2D:J(b){L a=E(b);a.4S=6;K a},6A:J(a){6.M=0;1K.2m.1i.1k(6,a);K 6},V:J(a,b){K E.V(6,a,b)},5x:J(b){L a=-1;6.V(J(i){7(6==b)a=i});K a},1G:J(c,a,b){L d=c;7(c.1n==47)7(a==Y)K 6.M&&E[b||"1G"](6[0],c)||Y;N{d={};d[c]=a}K 6.V(J(i){Q(c 1o d)E.1G(b?6.10:6,c,E.1m(6,d[c],b,i,c))})},1l:J(b,a){7((b==\'26\'||b==\'1W\')&&2K(a)<0)a=Y;K 6.1G(b,a,"2q")},21:J(b){7(1u b!="4w"&&b!=12)K 6.4t().3r((6[0]&&6[0].2u||T).5t(b));L a="";E.V(b||6,J(){E.V(6.3p,J(){7(6.15!=8)a+=6.15!=1?6.6G:E.1h.21([6])})});K a},5G:J(b){7(6[0])E(b,6[0].2u).5h().3o(6[0]).2c(J(){L a=6;25(a.1z)a=a.1z;K a}).3r(6);K 6},8q:J(a){K 6.V(J(){E(6).6u().5G(a)})},8i:J(a){K 6.V(J(){E(6).5G(a)})},3r:J(){K 6.3L(1a,P,S,J(a){7(6.15==1)6.3l(a)})},6j:J(){K 6.3L(1a,P,P,J(a){7(6.15==1)6.3o(a,6.1z)})},6i:J(){K 6.3L(1a,S,S,J(a){6.1b.3o(a,6)})},50:J(){K 6.3L(1a,S,P,J(a){6.1b.3o(a,6.2E)})},3j:J(){K 6.4S||E([])},2i:J(b){L c=E.2c(6,J(a){K E.2i(b,a)});K 6.2D(/[^+>] [^+>]/.17(b)||b.1g("..")>-1?E.4X(c):c)},5h:J(e){L f=6.2c(J(){7(E.14.1f&&!E.3C(6)){L a=6.65(P),4M=T.34("1t"),4K=T.34("1t");4M.3l(a);4K.2Q=4M.2Q;K 4K.1z}N K 6.65(P)});L d=f.2i("*").4H().V(J(){7(6[F]!=Y)6[F]=12});7(e===P)6.2i("*").4H().V(J(i){L c=E.R(6,"2L");Q(L a 1o c)Q(L b 1o c[a])E.16.1c(d[i],a,c[a][b],c[a][b].R)});K f},1B:J(b){K 6.2D(E.1s(b)&&E.3x(6,J(a,i){K b.1U(a,i)})||E.3e(b,6))},4L:J(b){7(b.1n==47)7(G.17(b))K 6.2D(E.3e(b,6,P));N b=E.3e(b,6);L a=b.M&&b[b.M-1]!==Y&&!b.15;K 6.1B(J(){K a?E.2W(6,b)<0:6!=b})},1c:J(a){K!a?6:6.2D(E.2S(6.1Z(),a.1n==47?E(a).1Z():a.M!=Y&&(!a.11||E.11(a,"3k"))?a:[a]))},3t:J(a){K a?E.3e(a,6).M>0:S},7c:J(a){K 6.3t("."+a)},77:J(b){7(b==Y){7(6.M){L c=6[0];7(E.11(c,"2o")){L e=c.3M,5B=[],W=c.W,37=c.U=="2o-37";7(e<0)K 12;Q(L i=37?e:0,2d=37?e+1:W.M;i<2d;i++){L d=W[i];7(d.2l){b=E.14.1f&&!d.9s.1D.9j?d.21:d.1D;7(37)K b;5B.1i(b)}}K 5B}N K(6[0].1D||"").1r(/\\r/g,"")}K Y}K 6.V(J(){7(6.15!=1)K;7(b.1n==1K&&/5p|5o/.17(6.U))6.3b=(E.2W(6.1D,b)>=0||E.2W(6.2M,b)>=0);N 7(E.11(6,"2o")){L a=b.1n==1K?b:[b];E("8Y",6).V(J(){6.2l=(E.2W(6.1D,a)>=0||E.2W(6.21,a)>=0)});7(!a.M)6.3M=-1}N 6.1D=b})},4v:J(a){K a==Y?(6.M?6[0].2Q:12):6.4t().3r(a)},6K:J(a){K 6.50(a).1O()},6I:J(i){K 6.32(i,i+1)},32:J(){K 6.2D(1K.2m.32.1k(6,1a))},2c:J(b){K 6.2D(E.2c(6,J(a,i){K b.1U(a,i,a)}))},4H:J(){K 6.1c(6.4S)},3L:J(g,f,h,d){L e=6.M>1,3n;K 6.V(J(){7(!3n){3n=E.54(g,6.2u);7(h)3n.8F()}L b=6;7(f&&E.11(6,"1R")&&E.11(3n[0],"4o"))b=6.3R("1S")[0]||6.3l(6.2u.34("1S"));L c=E([]);E.V(3n,J(){L a=e?E(6).5h(P)[0]:6;7(E.11(a,"1p")){c=c.1c(a)}N{7(a.15==1)c=c.1c(E("1p",a).1O());d.1U(b,a)}});c.V(6x)})}};E.2m.4P.2m=E.2m;J 6x(i,a){7(a.3P)E.3O({1e:a.3P,3m:S,1Q:"1p"});N E.5c(a.21||a.6v||a.2Q||"");7(a.1b)a.1b.35(a)}E.1q=E.1h.1q=J(){L b=1a[0]||{},i=1,M=1a.M,5a=S,W;7(b.1n==8e){5a=b;b=1a[1]||{};i=2}7(1u b!="4w"&&1u b!="J")b={};7(M==1){b=6;i=0}Q(;i<M;i++)7((W=1a[i])!=12)Q(L a 1o W){7(b===W[a])6s;7(5a&&W[a]&&1u W[a]=="4w"&&b[a]&&!W[a].15)b[a]=E.1q(b[a],W[a]);N 7(W[a]!=Y)b[a]=W[a]}K b};L F="19"+(1A 3K()).3u(),6q=0,56={};L H=/z-?5x|87-?85|1y|6k|81-?1W/i;E.1q({7X:J(a){1d.$=D;7(a)1d.19=w;K E},1s:J(a){K!!a&&1u a!="24"&&!a.11&&a.1n!=1K&&/J/i.17(a+"")},3C:J(a){K a.1F&&!a.1j||a.29&&a.2u&&!a.2u.1j},5c:J(a){a=E.3g(a);7(a){L b=T.3R("6e")[0]||T.1F,1p=T.34("1p");1p.U="21/7T";7(E.14.1f)1p.21=a;N 1p.3l(T.5t(a));b.3l(1p);b.35(1p)}},11:J(b,a){K b.11&&b.11.2C()==a.2C()},1P:{},R:J(c,d,b){c=c==1d?56:c;L a=c[F];7(!a)a=c[F]=++6q;7(d&&!E.1P[a])E.1P[a]={};7(b!=Y)E.1P[a][d]=b;K d?E.1P[a][d]:a},3G:J(c,b){c=c==1d?56:c;L a=c[F];7(b){7(E.1P[a]){2R E.1P[a][b];b="";Q(b 1o E.1P[a])28;7(!b)E.3G(c)}}N{1M{2R c[F]}1V(e){7(c.4V)c.4V(F)}2R E.1P[a]}},V:J(c,a,b){7(b){7(c.M==Y)Q(L d 1o c)a.1k(c[d],b);N Q(L i=0,M=c.M;i<M;i++)7(a.1k(c[i],b)===S)28}N{7(c.M==Y)Q(L d 1o c)a.1U(c[d],d,c[d]);N Q(L i=0,M=c.M,1D=c[0];i<M&&a.1U(1D,i,1D)!==S;1D=c[++i]){}}K c},1m:J(b,a,c,i,d){7(E.1s(a))a=a.1U(b,i);K a&&a.1n==4U&&c=="2q"&&!H.17(d)?a+"38":a},1v:{1c:J(c,b){E.V((b||"").2b(/\\s+/),J(i,a){7(c.15==1&&!E.1v.3Q(c.1v,a))c.1v+=(c.1v?" ":"")+a})},1O:J(c,b){7(c.15==1)c.1v=b!=Y?E.3x(c.1v.2b(/\\s+/),J(a){K!E.1v.3Q(b,a)}).6a(" "):""},3Q:J(b,a){K E.2W(a,(b.1v||b).3F().2b(/\\s+/))>-1}},67:J(b,c,a){L e={};Q(L d 1o c){e[d]=b.10[d];b.10[d]=c[d]}a.1U(b);Q(L d 1o c)b.10[d]=e[d]},1l:J(d,e,c){7(e=="26"||e=="1W"){L b,3E={3T:"4O",4N:"22",18:"3X"},3f=e=="26"?["7K","7J"]:["7I","7H"];J 4J(){b=e=="26"?d.7F:d.7E;L a=0,2U=0;E.V(3f,J(){a+=2K(E.2q(d,"7D"+6,P))||0;2U+=2K(E.2q(d,"2U"+6+"5V",P))||0});b-=1X.7A(a+2U)}7(E(d).3t(":49"))4J();N E.67(d,3E,4J);K 1X.2d(0,b)}K E.2q(d,e,c)},2q:J(e,k,j){L d;J 3y(b){7(!E.14.2e)K S;L a=T.46.4C(b,12);K!a||a.4E("3y")==""}7(k=="1y"&&E.14.1f){d=E.1G(e.10,"1y");K d==""?"1":d}7(E.14.2z&&k=="18"){L c=e.10.18;e.10.18="3X";e.10.18=c}7(k.1C(/4x/i))k=y;7(!j&&e.10[k])d=e.10[k];N 7(T.46&&T.46.4C){7(k.1C(/4x/i))k="4x";k=k.1r(/([A-Z])/g,"-$1").2h();L h=T.46.4C(e,12);7(h&&!3y(e))d=h.4E(k);N{L f=[],2A=[];Q(L a=e;a&&3y(a);a=a.1b)2A.4Y(a);Q(L i=0;i<2A.M;i++)7(3y(2A[i])){f[i]=2A[i].10.18;2A[i].10.18="3X"}d=k=="18"&&f[2A.M-1]!=12?"2V":(h&&h.4E(k))||"";Q(L i=0;i<f.M;i++)7(f[i]!=12)2A[i].10.18=f[i]}7(k=="1y"&&d=="")d="1"}N 7(e.44){L g=k.1r(/\\-(\\w)/g,J(a,b){K b.2C()});d=e.44[k]||e.44[g];7(!/^\\d+(38)?$/i.17(d)&&/^\\d/.17(d)){L l=e.10.27,3v=e.3v.27;e.3v.27=e.44.27;e.10.27=d||0;d=e.10.7h+"38";e.10.27=l;e.3v.27=3v}}K d},54:J(l,h){L k=[];h=h||T;7(1u h.34==\'Y\')h=h.2u||h[0]&&h[0].2u||T;E.V(l,J(i,d){7(!d)K;7(d.1n==4U)d=d.3F();7(1u d=="24"){d=d.1r(/(<(\\w+)[^>]*?)\\/>/g,J(b,a,c){K c.1C(/^(7e|7d|5J|7b|4l|78|9W|3s|9S|9Q)$/i)?b:a+"></"+c+">"});L f=E.3g(d).2h(),1t=h.34("1t");L e=!f.1g("<9O")&&[1,"<2o 74=\'74\'>","</2o>"]||!f.1g("<9L")&&[1,"<73>","</73>"]||f.1C(/^<(9G|1S|9E|9C|9z)/)&&[1,"<1R>","</1R>"]||!f.1g("<4o")&&[2,"<1R><1S>","</1S></1R>"]||(!f.1g("<9y")||!f.1g("<9x"))&&[3,"<1R><1S><4o>","</4o></1S></1R>"]||!f.1g("<5J")&&[2,"<1R><1S></1S><6X>","</6X></1R>"]||E.14.1f&&[1,"1t<1t>","</1t>"]||[0,"",""];1t.2Q=e[1]+d+e[2];25(e[0]--)1t=1t.5j;7(E.14.1f){L g=!f.1g("<1R")&&f.1g("<1S")<0?1t.1z&&1t.1z.3p:e[1]=="<1R>"&&f.1g("<1S")<0?1t.3p:[];Q(L j=g.M-1;j>=0;--j)7(E.11(g[j],"1S")&&!g[j].3p.M)g[j].1b.35(g[j]);7(/^\\s/.17(d))1t.3o(h.5t(d.1C(/^\\s*/)[0]),1t.1z)}d=E.2H(1t.3p)}7(d.M===0&&(!E.11(d,"3k")&&!E.11(d,"2o")))K;7(d[0]==Y||E.11(d,"3k")||d.W)k.1i(d);N k=E.2S(k,d)});K k},1G:J(d,e,c){7(!d||d.15==3||d.15==8)K Y;L f=E.3C(d)?{}:E.3E;7(e=="2l"&&E.14.2e)d.1b.3M;7(f[e]){7(c!=Y)d[f[e]]=c;K d[f[e]]}N 7(E.14.1f&&e=="10")K E.1G(d.10,"9w",c);N 7(c==Y&&E.14.1f&&E.11(d,"3k")&&(e=="9r"||e=="9o"))K d.9m(e).6G;N 7(d.29){7(c!=Y){7(e=="U"&&E.11(d,"4l")&&d.1b)6S"U 9i 9g\'t 9f 9e";d.9b(e,""+c)}7(E.14.1f&&/6Q|3P/.17(e)&&!E.3C(d))K d.4s(e,2);K d.4s(e)}N{7(e=="1y"&&E.14.1f){7(c!=Y){d.6k=1;d.1B=(d.1B||"").1r(/6O\\([^)]*\\)/,"")+(2K(c).3F()=="96"?"":"6O(1y="+c*6N+")")}K d.1B&&d.1B.1g("1y=")>=0?(2K(d.1B.1C(/1y=([^)]*)/)[1])/6N).3F():""}e=e.1r(/-([a-z])/95,J(a,b){K b.2C()});7(c!=Y)d[e]=c;K d[e]}},3g:J(a){K(a||"").1r(/^\\s+|\\s+$/g,"")},2H:J(b){L a=[];7(1u b!="93")Q(L i=0,M=b.M;i<M;i++)a.1i(b[i]);N a=b.32(0);K a},2W:J(b,a){Q(L i=0,M=a.M;i<M;i++)7(a[i]==b)K i;K-1},2S:J(a,b){7(E.14.1f){Q(L i=0;b[i];i++)7(b[i].15!=8)a.1i(b[i])}N Q(L i=0;b[i];i++)a.1i(b[i]);K a},4X:J(a){L c=[],2v={};1M{Q(L i=0,M=a.M;i<M;i++){L b=E.R(a[i]);7(!2v[b]){2v[b]=P;c.1i(a[i])}}}1V(e){c=a}K c},3x:J(c,a,d){7(1u a=="24")a=4r("S||J(a,i){K "+a+"}");L b=[];Q(L i=0,M=c.M;i<M;i++)7(!d&&a(c[i],i)||d&&!a(c[i],i))b.1i(c[i]);K b},2c:J(d,a){L c=[];Q(L i=0,M=d.M;i<M;i++){L b=a(d[i],i);7(b!==12&&b!=Y){7(b.1n!=1K)b=[b];c=c.6T(b)}}K c}});L v=8W.8V.2h();E.14={5l:(v.1C(/.+(?:8S|8R|8Q|8O)[\\/: ]([\\d.]+)/)||[])[1],2e:/72/.17(v),2z:/2z/.17(v),1f:/1f/.17(v)&&!/2z/.17(v),40:/40/.17(v)&&!/(8L|72)/.17(v)};L y=E.14.1f?"6F":"6E";E.1q({8J:!E.14.1f||T.6C=="79",3E:{"Q":"8E","8D":"1v","4x":y,6E:y,6F:y,2Q:"2Q",1v:"1v",1D:"1D",2Y:"2Y",3b:"3b",8C:"8B",2l:"2l",8A:"8z",3M:"3M",6z:"6z",29:"29",11:"11"}});E.V({6y:"O.1b",8y:"19.4n(O,\'1b\')",8x:"19.2X(O,2,\'2E\')",8w:"19.2X(O,2,\'4m\')",8v:"19.4n(O,\'2E\')",8u:"19.4n(O,\'4m\')",8t:"19.5f(O.1b.1z,O)",8s:"19.5f(O.1z)",6u:"19.11(O,\'8r\')?O.8p||O.8o.T:19.2H(O.3p)"},J(c,d){d=4r("S||J(O){K "+d+"}");E.1h[c]=J(b){L a=E.2c(6,d);7(b&&1u b=="24")a=E.3e(b,a);K 6.2D(E.4X(a))}});E.V({6w:"3r",8n:"6j",3o:"6i",8m:"50",8l:"6K"},J(c,b){E.1h[c]=J(){L a=1a;K 6.V(J(){Q(L i=0,M=a.M;i<M;i++)E(a[i])[b](6)})}});E.V({8k:J(a){E.1G(6,a,"");7(6.15==1)6.4V(a)},8j:J(a){E.1v.1c(6,a)},8h:J(a){E.1v.1O(6,a)},8g:J(a){E.1v[E.1v.3Q(6,a)?"1O":"1c"](6,a)},1O:J(a){7(!a||E.1B(a,[6]).r.M){E("*",6).1c(6).V(J(){E.16.1O(6);E.3G(6)});7(6.1b)6.1b.35(6)}},4t:J(){E(">*",6).1O();25(6.1z)6.35(6.1z)}},J(a,b){E.1h[a]=J(){K 6.V(b,1a)}});E.V(["8f","5V"],J(i,c){L b=c.2h();E.1h[b]=J(a){K 6[0]==1d?E.14.2z&&T.1j["59"+c]||E.14.2e&&1d["8d"+c]||T.6C=="79"&&T.1F["59"+c]||T.1j["59"+c]:6[0]==T?1X.2d(1X.2d(T.1j["58"+c],T.1F["58"+c]),1X.2d(T.1j["57"+c],T.1F["57"+c])):a==Y?(6.M?E.1l(6[0],b):12):6.1l(b,a.1n==47?a:a+"38")}});L C=E.14.2e&&4k(E.14.5l)<8b?"(?:[\\\\w*4j-]|\\\\\\\\.)":"(?:[\\\\w\\8a-\\89*4j-]|\\\\\\\\.)",6p=1A 4i("^>\\\\s*("+C+"+)"),6o=1A 4i("^("+C+"+)(#)("+C+"+)"),6n=1A 4i("^([#.]?)("+C+"*)");E.1q({55:{"":"m[2]==\'*\'||19.11(a,m[2])","#":"a.4s(\'2w\')==m[2]",":":{88:"i<m[3]-0",86:"i>m[3]-0",2X:"m[3]-0==i",6I:"m[3]-0==i",3c:"i==0",3J:"i==r.M-1",6m:"i%2==0",6l:"i%2","3c-4e":"a.1b.3R(\'*\')[0]==a","3J-4e":"19.2X(a.1b.5j,1,\'4m\')==a","84-4e":"!19.2X(a.1b.5j,2,\'4m\')",6y:"a.1z",4t:"!a.1z",83:"(a.6v||a.80||19(a).21()||\'\').1g(m[3])>=0",49:\'"22"!=a.U&&19.1l(a,"18")!="2V"&&19.1l(a,"4N")!="22"\',22:\'"22"==a.U||19.1l(a,"18")=="2V"||19.1l(a,"4N")=="22"\',7Y:"!a.2Y",2Y:"a.2Y",3b:"a.3b",2l:"a.2l||19.1G(a,\'2l\')",21:"\'21\'==a.U",5p:"\'5p\'==a.U",5o:"\'5o\'==a.U",53:"\'53\'==a.U",52:"\'52\'==a.U",51:"\'51\'==a.U",6h:"\'6h\'==a.U",6g:"\'6g\'==a.U",2B:\'"2B"==a.U||19.11(a,"2B")\',4l:"/4l|2o|6f|2B/i.17(a.11)",3Q:"19.2i(m[3],a).M",7V:"/h\\\\d/i.17(a.11)",7U:"19.3x(19.3H,J(1h){K a==1h.O;}).M"}},6d:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1A 4i("^([:.#]*)("+C+"+)")],3e:J(a,c,b){L d,2p=[];25(a&&a!=d){d=a;L f=E.1B(a,c,b);a=f.t.1r(/^\\s*,\\s*/,"");2p=b?c=f.r:E.2S(2p,f.r)}K 2p},2i:J(t,p){7(1u t!="24")K[t];7(p&&p.15!=1&&p.15!=9)K[];p=p||T;L d=[p],2v=[],3J,11;25(t&&3J!=t){L r=[];3J=t;t=E.3g(t);L o=S;L g=6p;L m=g.36(t);7(m){11=m[1].2C();Q(L i=0;d[i];i++)Q(L c=d[i].1z;c;c=c.2E)7(c.15==1&&(11=="*"||c.11.2C()==11))r.1i(c);d=r;t=t.1r(g,"");7(t.1g(" ")==0)6s;o=P}N{g=/^([>+~])\\s*(\\w*)/i;7((m=g.36(t))!=12){r=[];L l={};11=m[2].2C();m=m[1];Q(L j=0,3i=d.M;j<3i;j++){L n=m=="~"||m=="+"?d[j].2E:d[j].1z;Q(;n;n=n.2E)7(n.15==1){L h=E.R(n);7(m=="~"&&l[h])28;7(!11||n.11.2C()==11){7(m=="~")l[h]=P;r.1i(n)}7(m=="+")28}}d=r;t=E.3g(t.1r(g,""));o=P}}7(t&&!o){7(!t.1g(",")){7(p==d[0])d.4d();2v=E.2S(2v,d);r=d=[p];t=" "+t.6c(1,t.M)}N{L k=6o;L m=k.36(t);7(m){m=[0,m[2],m[3],m[1]]}N{k=6n;m=k.36(t)}m[2]=m[2].1r(/\\\\/g,"");L f=d[d.M-1];7(m[1]=="#"&&f&&f.5H&&!E.3C(f)){L q=f.5H(m[2]);7((E.14.1f||E.14.2z)&&q&&1u q.2w=="24"&&q.2w!=m[2])q=E(\'[@2w="\'+m[2]+\'"]\',f)[0];d=r=q&&(!m[3]||E.11(q,m[3]))?[q]:[]}N{Q(L i=0;d[i];i++){L a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&d[i].11.2h()=="4w")a="3s";r=E.2S(r,d[i].3R(a))}7(m[1]==".")r=E.4Z(r,m[2]);7(m[1]=="#"){L e=[];Q(L i=0;r[i];i++)7(r[i].4s("2w")==m[2]){e=[r[i]];28}r=e}d=r}t=t.1r(k,"")}}7(t){L b=E.1B(t,r);d=r=b.r;t=E.3g(b.t)}}7(t)d=[];7(d&&p==d[0])d.4d();2v=E.2S(2v,d);K 2v},4Z:J(r,m,a){m=" "+m+" ";L c=[];Q(L i=0;r[i];i++){L b=(" "+r[i].1v+" ").1g(m)>=0;7(!a&&b||a&&!b)c.1i(r[i])}K c},1B:J(t,r,h){L d;25(t&&t!=d){d=t;L p=E.6d,m;Q(L i=0;p[i];i++){m=p[i].36(t);7(m){t=t.7S(m[0].M);m[2]=m[2].1r(/\\\\/g,"");28}}7(!m)28;7(m[1]==":"&&m[2]=="4L")r=G.17(m[3])?E.1B(m[3],r,P).r:E(r).4L(m[3]);N 7(m[1]==".")r=E.4Z(r,m[2],h);N 7(m[1]=="["){L g=[],U=m[3];Q(L i=0,3i=r.M;i<3i;i++){L a=r[i],z=a[E.3E[m[2]]||m[2]];7(z==12||/6Q|3P|2l/.17(m[2]))z=E.1G(a,m[2])||\'\';7((U==""&&!!z||U=="="&&z==m[5]||U=="!="&&z!=m[5]||U=="^="&&z&&!z.1g(m[5])||U=="$="&&z.6c(z.M-m[5].M)==m[5]||(U=="*="||U=="~=")&&z.1g(m[5])>=0)^h)g.1i(a)}r=g}N 7(m[1]==":"&&m[2]=="2X-4e"){L e={},g=[],17=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.36(m[3]=="6m"&&"2n"||m[3]=="6l"&&"2n+1"||!/\\D/.17(m[3])&&"7R+"+m[3]||m[3]),3c=(17[1]+(17[2]||1))-0,d=17[3]-0;Q(L i=0,3i=r.M;i<3i;i++){L j=r[i],1b=j.1b,2w=E.R(1b);7(!e[2w]){L c=1;Q(L n=1b.1z;n;n=n.2E)7(n.15==1)n.4h=c++;e[2w]=P}L b=S;7(3c==0){7(j.4h==d)b=P}N 7((j.4h-d)%3c==0&&(j.4h-d)/3c>=0)b=P;7(b^h)g.1i(j)}r=g}N{L f=E.55[m[1]];7(1u f!="24")f=E.55[m[1]][m[2]];f=4r("S||J(a,i){K "+f+"}");r=E.3x(r,f,h)}}K{r:r,t:t}},4n:J(b,c){L d=[];L a=b[c];25(a&&a!=T){7(a.15==1)d.1i(a);a=a[c]}K d},2X:J(a,e,c,b){e=e||1;L d=0;Q(;a;a=a[c])7(a.15==1&&++d==e)28;K a},5f:J(n,a){L r=[];Q(;n;n=n.2E){7(n.15==1&&(!a||n!=a))r.1i(n)}K r}});E.16={1c:J(f,i,g,e){7(f.15==3||f.15==8)K;7(E.14.1f&&f.4W!=Y)f=1d;7(!g.2G)g.2G=6.2G++;7(e!=Y){L h=g;g=J(){K h.1k(6,1a)};g.R=e;g.2G=h.2G}L j=E.R(f,"2L")||E.R(f,"2L",{}),1E=E.R(f,"1E")||E.R(f,"1E",J(){L a;7(1u E=="Y"||E.16.4T)K a;a=E.16.1E.1k(f,1a);K a});E.V(i.2b(/\\s+/),J(c,b){L a=b.2b(".");b=a[0];g.U=a[1];L d=j[b];7(!d){d=j[b]={};7(!E.16.2j[b]||E.16.2j[b].4c.1U(f)===S){7(f.3N)f.3N(b,1E,S);N 7(f.6b)f.6b("4b"+b,1E)}}d[g.2G]=g;E.16.2a[b]=P})},2G:1,2a:{},1O:J(d,g,e){7(d.15==3||d.15==8)K;L h=E.R(d,"2L"),3h,5x;7(h){7(g==Y)Q(L f 1o h)6.1O(d,f);N{7(g.U){e=g.2r;g=g.U}E.V(g.2b(/\\s+/),J(b,a){L c=a.2b(".");a=c[0];7(h[a]){7(e)2R h[a][e.2G];N Q(e 1o h[a])7(!c[1]||h[a][e].U==c[1])2R h[a][e];Q(3h 1o h[a])28;7(!3h){7(!E.16.2j[a]||E.16.2j[a].4a.1U(d)===S){7(d.69)d.69(a,E.R(d,"1E"),S);N 7(d.68)d.68("4b"+a,E.R(d,"1E"))}3h=12;2R h[a]}}})}Q(3h 1o h)28;7(!3h){E.3G(d,"2L");E.3G(d,"1E")}}},1T:J(f,b,c,d,h){b=E.2H(b||[]);7(!c){7(6.2a[f])E("*").1c([1d,T]).1T(f,b)}N{7(c.15==3||c.15==8)K Y;L a,g,1h=E.1s(c[f]||12),16=!b[0]||!b[0].31;7(16)b.4Y(6.4R({U:f,2F:c}));b[0].U=f;7(E.1s(E.R(c,"1E")))a=E.R(c,"1E").1k(c,b);7(!1h&&c["4b"+f]&&c["4b"+f].1k(c,b)===S)a=S;7(16)b.4d();7(h&&E.1s(h)){L g=h.1k(c,b.6T(a));7(g!==Y)a=g}7(1h&&d!==S&&a!==S&&!(E.11(c,\'a\')&&f=="4Q")){6.4T=P;1M{c[f]()}1V(e){}}6.4T=S}K a},1E:J(c){L a;c=E.16.4R(c||1d.16||{});L b=c.U.2b(".");c.U=b[0];L f=E.R(6,"2L")&&E.R(6,"2L")[c.U],3D=1K.2m.32.1U(1a,1);3D.4Y(c);Q(L j 1o f){L d=f[j];3D[0].2r=d;3D[0].R=d.R;7(!b[1]||d.U==b[1]){L e=d.1k(6,3D);7(a!==S)a=e;7(e===S){c.31();c.3U()}}}7(E.14.1f)c.2F=c.31=c.3U=c.2r=c.R=12;K a},4R:J(c){7(c[F])K c;L a=c;c=E.1q({},a);c[F]=P;c.31=J(){7(a.31)a.31();a.7Q=S};c.3U=J(){7(a.3U)a.3U();a.7P=P};7(!c.2F)c.2F=c.7O||T;7(c.2F.15==3)c.2F=a.2F.1b;7(!c.5u&&c.5r)c.5u=c.5r==c.2F?c.7N:c.5r;7(c.64==12&&c.63!=12){L b=T.1F,1j=T.1j;c.64=c.63+(b&&b.2x||1j&&1j.2x||0)-(b.62||0);c.7M=c.7L+(b&&b.2y||1j&&1j.2y||0)-(b.61||0)}7(!c.3f&&(c.60||c.5Z))c.3f=c.60||c.5Z;7(!c.5Y&&c.5X)c.5Y=c.5X;7(!c.3f&&c.2B)c.3f=(c.2B&1?1:(c.2B&2?3:(c.2B&4?2:0)));K c},2j:{1Y:{4c:J(){5w();K},4a:J(){K}},3B:{4c:J(){7(E.14.1f)K S;E(6).2t("4I",E.16.2j.3B.2r);K P},4a:J(){7(E.14.1f)K S;E(6).42("4I",E.16.2j.3B.2r);K P},2r:J(a){7(I(a,6))K P;1a[0].U="3B";K E.16.1E.1k(6,1a)}},3z:{4c:J(){7(E.14.1f)K S;E(6).2t("4G",E.16.2j.3z.2r);K P},4a:J(){7(E.14.1f)K S;E(6).42("4G",E.16.2j.3z.2r);K P},2r:J(a){7(I(a,6))K P;1a[0].U="3z";K E.16.1E.1k(6,1a)}}}};E.1h.1q({2t:J(c,a,b){K c=="4A"?6.37(c,a,b):6.V(J(){E.16.1c(6,c,b||a,b&&a)})},37:J(d,b,c){K 6.V(J(){E.16.1c(6,d,J(a){E(6).42(a);K(c||b).1k(6,1a)},c&&b)})},42:J(a,b){K 6.V(J(){E.16.1O(6,a,b)})},1T:J(c,a,b){K 6.V(J(){E.16.1T(c,a,6,P,b)})},5W:J(c,a,b){7(6[0])K E.16.1T(c,a,6[0],S,b);K Y},2g:J(){L b=1a;K 6.4Q(J(a){6.4F=0==6.4F?1:0;a.31();K b[6.4F].1k(6,1a)||S})},7B:J(a,b){K 6.2t(\'3B\',a).2t(\'3z\',b)},1Y:J(a){5w();7(E.2N)a.1U(T,E);N E.3A.1i(J(){K a.1U(6,E)});K 6}});E.1q({2N:S,3A:[],1Y:J(){7(!E.2N){E.2N=P;7(E.3A){E.V(E.3A,J(){6.1k(T)});E.3A=12}$(T).5W("1Y")}}});L x=S;J 5w(){7(x)K;x=P;7(T.3N&&!E.14.2z)T.3N("5U",E.1Y,S);7(E.14.1f&&1d==3a)(J(){7(E.2N)K;1M{T.1F.7z("27")}1V(39){3w(1a.48,0);K}E.1Y()})();7(E.14.2z)T.3N("5U",J(){7(E.2N)K;Q(L i=0;i<T.4D.M;i++)7(T.4D[i].2Y){3w(1a.48,0);K}E.1Y()},S);7(E.14.2e){L a;(J(){7(E.2N)K;7(T.3d!="5T"&&T.3d!="1w"){3w(1a.48,0);K}7(a===Y)a=E("10, 78[7y=7x]").M;7(T.4D.M!=a){3w(1a.48,0);K}E.1Y()})()}E.16.1c(1d,"41",E.1Y)}E.V(("7w,7v,41,7u,58,4A,4Q,7t,"+"7s,7r,7C,4I,4G,7q,2o,"+"51,7p,7o,7G,39").2b(","),J(i,b){E.1h[b]=J(a){K a?6.2t(b,a):6.1T(b)}});L I=J(a,c){L b=a.5u;25(b&&b!=c)1M{b=b.1b}1V(39){b=c};K b==c};E(1d).2t("4A",J(){E("*").1c(T).42()});E.1h.1q({41:J(g,d,c){7(E.1s(g))K 6.2t("41",g);L e=g.1g(" ");7(e>=0){L i=g.32(e,g.M);g=g.32(0,e)}c=c||J(){};L f="4B";7(d)7(E.1s(d)){c=d;d=12}N{d=E.3s(d);f="5S"}L h=6;E.3O({1e:g,U:f,1Q:"4v",R:d,1w:J(a,b){7(b=="1N"||b=="5R")h.4v(i?E("<1t/>").3r(a.45.1r(/<1p(.|\\s)*?\\/1p>/g,"")).2i(i):a.45);h.V(c,[a.45,b,a])}});K 6},7n:J(){K E.3s(6.5Q())},5Q:J(){K 6.2c(J(){K E.11(6,"3k")?E.2H(6.7m):6}).1B(J(){K 6.2M&&!6.2Y&&(6.3b||/2o|6f/i.17(6.11)||/21|22|52/i.17(6.U))}).2c(J(i,c){L b=E(6).77();K b==12?12:b.1n==1K?E.2c(b,J(a,i){K{2M:c.2M,1D:a}}):{2M:c.2M,1D:b}}).1Z()}});E.V("5P,5O,5N,66,5M,5L".2b(","),J(i,o){E.1h[o]=J(f){K 6.2t(o,f)}});L B=(1A 3K).3u();E.1q({1Z:J(d,b,a,c){7(E.1s(b)){a=b;b=12}K E.3O({U:"4B",1e:d,R:b,1N:a,1Q:c})},7l:J(b,a){K E.1Z(b,12,a,"1p")},7k:J(c,b,a){K E.1Z(c,b,a,"3I")},7j:J(d,b,a,c){7(E.1s(b)){a=b;b={}}K E.3O({U:"5S",1e:d,R:b,1N:a,1Q:c})},7Z:J(a){E.1q(E.4z,a)},4z:{2a:P,U:"4B",2P:0,5K:"7i/x-7g-3k-7f",6r:P,3m:P,R:12},4g:{},3O:J(s){L f,2T=/=\\?(&|$)/g,1x,R;s=E.1q(P,s,E.1q(P,{},E.4z,s));7(s.R&&s.6r&&1u s.R!="24")s.R=E.3s(s.R);7(s.1Q=="4f"){7(s.U.2h()=="1Z"){7(!s.1e.1C(2T))s.1e+=(s.1e.1C(/\\?/)?"&":"?")+(s.4f||"5I")+"=?"}N 7(!s.R||!s.R.1C(2T))s.R=(s.R?s.R+"&":"")+(s.4f||"5I")+"=?";s.1Q="3I"}7(s.1Q=="3I"&&(s.R&&s.R.1C(2T)||s.1e.1C(2T))){f="4f"+B++;7(s.R)s.R=(s.R+"").1r(2T,"="+f+"$1");s.1e=s.1e.1r(2T,"="+f+"$1");s.1Q="1p";1d[f]=J(a){R=a;1N();1w();1d[f]=Y;1M{2R 1d[f]}1V(e){}7(h)h.35(g)}}7(s.1Q=="1p"&&s.1P==12)s.1P=S;7(s.1P===S&&s.U.2h()=="1Z"){L i=(1A 3K()).3u();L j=s.1e.1r(/(\\?|&)4j=.*?(&|$)/,"$8c="+i+"$2");s.1e=j+((j==s.1e)?(s.1e.1C(/\\?/)?"&":"?")+"4j="+i:"")}7(s.R&&s.U.2h()=="1Z"){s.1e+=(s.1e.1C(/\\?/)?"&":"?")+s.R;s.R=12}7(s.2a&&!E.5g++)E.16.1T("5P");7((!s.1e.1g("7a")||!s.1e.1g("//"))&&(s.1Q=="1p"||s.1Q=="3I")&&s.U.2h()=="1Z"){L h=T.3R("6e")[0];L g=T.34("1p");g.3P=s.1e;7(s.6t)g.9Z=s.6t;7(!f){L l=S;g.9X=g.9V=J(){7(!l&&(!6.3d||6.3d=="5T"||6.3d=="1w")){l=P;1N();1w();h.35(g)}}}h.3l(g);K Y}L m=S;L k=1d.76?1A 76("9U.9T"):1A 75();k.9R(s.U,s.1e,s.3m);1M{7(s.R)k.5E("9P-9N",s.5K);7(s.5e)k.5E("9M-5d-9K",E.4g[s.1e]||"9J, 9I 9H 9F 5A:5A:5A 9D");k.5E("X-9B-9A","75")}1V(e){}7(s.71)s.71(k);7(s.2a)E.16.1T("5L",[k,s]);L c=J(a){7(!m&&k&&(k.3d==4||a=="2P")){m=P;7(d){70(d);d=12}1x=a=="2P"&&"2P"||!E.6Z(k)&&"39"||s.5e&&E.6H(k,s.1e)&&"5R"||"1N";7(1x=="1N"){1M{R=E.6Y(k,s.1Q)}1V(e){1x="5v"}}7(1x=="1N"){L b;1M{b=k.5i("6B-5d")}1V(e){}7(s.5e&&b)E.4g[s.1e]=b;7(!f)1N()}N E.5k(s,k,1x);1w();7(s.3m)k=12}};7(s.3m){L d=4W(c,13);7(s.2P>0)3w(J(){7(k){k.9v();7(!m)c("2P")}},s.2P)}1M{k.9t(s.R)}1V(e){E.5k(s,k,12,e)}7(!s.3m)c();J 1N(){7(s.1N)s.1N(R,1x);7(s.2a)E.16.1T("5M",[k,s])}J 1w(){7(s.1w)s.1w(k,1x);7(s.2a)E.16.1T("5N",[k,s]);7(s.2a&&!--E.5g)E.16.1T("5O")}K k},5k:J(s,a,b,e){7(s.39)s.39(a,b,e);7(s.2a)E.16.1T("66",[a,s,e])},5g:0,6Z:J(r){1M{K!r.1x&&9q.9p=="53:"||(r.1x>=6W&&r.1x<9n)||r.1x==6U||r.1x==9l||E.14.2e&&r.1x==Y}1V(e){}K S},6H:J(a,c){1M{L b=a.5i("6B-5d");K a.1x==6U||b==E.4g[c]||E.14.2e&&a.1x==Y}1V(e){}K S},6Y:J(r,b){L c=r.5i("9k-U");L d=b=="6L"||!b&&c&&c.1g("6L")>=0;L a=d?r.9h:r.45;7(d&&a.1F.29=="5v")6S"5v";7(b=="1p")E.5c(a);7(b=="3I")a=4r("("+a+")");K a},3s:J(a){L s=[];7(a.1n==1K||a.5b)E.V(a,J(){s.1i(3q(6.2M)+"="+3q(6.1D))});N Q(L j 1o a)7(a[j]&&a[j].1n==1K)E.V(a[j],J(){s.1i(3q(j)+"="+3q(6))});N s.1i(3q(j)+"="+3q(a[j]));K s.6a("&").1r(/%20/g,"+")}});E.1h.1q({1H:J(c,b){K c?6.2f({1W:"1H",26:"1H",1y:"1H"},c,b):6.1B(":22").V(J(){6.10.18=6.5q||"";7(E.1l(6,"18")=="2V"){L a=E("<"+6.29+" />").6w("1j");6.10.18=a.1l("18");a.1O()}}).3j()},1I:J(b,a){K b?6.2f({1W:"1I",26:"1I",1y:"1I"},b,a):6.1B(":49").V(J(){6.5q=6.5q||E.1l(6,"18");6.10.18="2V"}).3j()},6R:E.1h.2g,2g:J(a,b){K E.1s(a)&&E.1s(b)?6.6R(a,b):a?6.2f({1W:"2g",26:"2g",1y:"2g"},a,b):6.V(J(){E(6)[E(6).3t(":22")?"1H":"1I"]()})},9d:J(b,a){K 6.2f({1W:"1H"},b,a)},9c:J(b,a){K 6.2f({1W:"1I"},b,a)},9a:J(b,a){K 6.2f({1W:"2g"},b,a)},99:J(b,a){K 6.2f({1y:"1H"},b,a)},98:J(b,a){K 6.2f({1y:"1I"},b,a)},97:J(c,a,b){K 6.2f({1y:a},c,b)},2f:J(l,k,j,h){L i=E.6P(k,j,h);K 6[i.33===S?"V":"33"](J(){7(6.15!=1)K S;L g=E.1q({},i);L f=E(6).3t(":22"),4u=6;Q(L p 1o l){7(l[p]=="1I"&&f||l[p]=="1H"&&!f)K E.1s(g.1w)&&g.1w.1k(6);7(p=="1W"||p=="26"){g.18=E.1l(6,"18");g.2O=6.10.2O}}7(g.2O!=12)6.10.2O="22";g.3V=E.1q({},l);E.V(l,J(c,a){L e=1A E.2s(4u,g,c);7(/2g|1H|1I/.17(a))e[a=="2g"?f?"1H":"1I":a](l);N{L b=a.3F().1C(/^([+-]=)?([\\d+-.]+)(.*)$/),23=e.2p(P)||0;7(b){L d=2K(b[2]),2J=b[3]||"38";7(2J!="38"){4u.10[c]=(d||1)+2J;23=((d||1)/e.2p(P))*23;4u.10[c]=23+2J}7(b[1])d=((b[1]=="-="?-1:1)*d)+23;e.3Y(23,d,2J)}N e.3Y(23,a,"")}});K P})},33:J(a,b){7(E.1s(a)||(a&&a.1n==1K)){b=a;a="2s"}7(!a||(1u a=="24"&&!b))K A(6[0],a);K 6.V(J(){7(6.15!=1)K;7(b.1n==1K)A(6,a,b);N{A(6,a).1i(b);7(A(6,a).M==1)b.1k(6)}})},94:J(b,c){L a=E.3H;7(b)6.33([]);6.V(J(){Q(L i=a.M-1;i>=0;i--)7(a[i].O==6){7(c)a[i](P);a.6M(i,1)}});7(!c)6.5n();K 6}});L A=J(b,c,a){7(!b)K Y;c=c||"2s";L q=E.R(b,c+"33");7(!q||a)q=E.R(b,c+"33",a?E.2H(a):[]);K q};E.1h.5n=J(a){a=a||"2s";K 6.V(J(){L q=A(6,a);q.4d();7(q.M)q[0].1k(6)})};E.1q({6P:J(b,a,c){L d=b&&b.1n==92?b:{1w:c||!c&&a||E.1s(b)&&b,2k:b,3W:c&&a||a&&a.1n!=91&&a};d.2k=(d.2k&&d.2k.1n==4U?d.2k:{90:8Z,8X:6W}[d.2k])||9u;d.5s=d.1w;d.1w=J(){7(d.33!==S)E(6).5n();7(E.1s(d.5s))d.5s.1k(6)};K d},3W:{6V:J(p,n,b,a){K b+a*p},5m:J(p,n,b,a){K((-1X.8U(p*1X.8T)/2)+0.5)*a+b}},3H:[],43:12,2s:J(b,c,a){6.W=c;6.O=b;6.1m=a;7(!c.3Z)c.3Z={}}});E.2s.2m={4y:J(){7(6.W.2Z)6.W.2Z.1k(6.O,[6.2I,6]);(E.2s.2Z[6.1m]||E.2s.2Z.6J)(6);7(6.1m=="1W"||6.1m=="26")6.O.10.18="3X"},2p:J(a){7(6.O[6.1m]!=12&&6.O.10[6.1m]==12)K 6.O[6.1m];L r=2K(E.1l(6.O,6.1m,a));K r&&r>-8P?r:2K(E.2q(6.O,6.1m))||0},3Y:J(c,b,d){6.5y=(1A 3K()).3u();6.23=c;6.3j=b;6.2J=d||6.2J||"38";6.2I=6.23;6.4p=6.4q=0;6.4y();L e=6;J t(a){K e.2Z(a)}t.O=6.O;E.3H.1i(t);7(E.43==12){E.43=4W(J(){L a=E.3H;Q(L i=0;i<a.M;i++)7(!a[i]())a.6M(i--,1);7(!a.M){70(E.43);E.43=12}},13)}},1H:J(){6.W.3Z[6.1m]=E.1G(6.O.10,6.1m);6.W.1H=P;6.3Y(0,6.2p());7(6.1m=="26"||6.1m=="1W")6.O.10[6.1m]="8N";E(6.O).1H()},1I:J(){6.W.3Z[6.1m]=E.1G(6.O.10,6.1m);6.W.1I=P;6.3Y(6.2p(),0)},2Z:J(a){L t=(1A 3K()).3u();7(a||t>6.W.2k+6.5y){6.2I=6.3j;6.4p=6.4q=1;6.4y();6.W.3V[6.1m]=P;L b=P;Q(L i 1o 6.W.3V)7(6.W.3V[i]!==P)b=S;7(b){7(6.W.18!=12){6.O.10.2O=6.W.2O;6.O.10.18=6.W.18;7(E.1l(6.O,"18")=="2V")6.O.10.18="3X"}7(6.W.1I)6.O.10.18="2V";7(6.W.1I||6.W.1H)Q(L p 1o 6.W.3V)E.1G(6.O.10,p,6.W.3Z[p])}7(b&&E.1s(6.W.1w))6.W.1w.1k(6.O);K S}N{L n=t-6.5y;6.4q=n/6.W.2k;6.4p=E.3W[6.W.3W||(E.3W.5m?"5m":"6V")](6.4q,n,0,1,6.W.2k);6.2I=6.23+((6.3j-6.23)*6.4p);6.4y()}K P}};E.2s.2Z={2x:J(a){a.O.2x=a.2I},2y:J(a){a.O.2y=a.2I},1y:J(a){E.1G(a.O.10,"1y",a.2I)},6J:J(a){a.O.10[a.1m]=a.2I+a.2J}};E.1h.57=J(){L b=0,3a=0,O=6[0],5z;7(O)8M(E.14){L d=O.1b,3S=O,1J=O.1J,1L=O.2u,5C=2e&&4k(5l)<8K,30=E.1l(O,"3T")=="30";7(O.6D){L c=O.6D();1c(c.27+1X.2d(1L.1F.2x,1L.1j.2x),c.3a+1X.2d(1L.1F.2y,1L.1j.2y));1c(-1L.1F.62,-1L.1F.61)}N{1c(O.5F,O.5D);25(1J){1c(1J.5F,1J.5D);7(40&&!/^t(8I|d|h)$/i.17(1J.29)||2e&&!5C)2U(1J);7(!30&&E.1l(1J,"3T")=="30")30=P;3S=/^1j$/i.17(1J.29)?3S:1J;1J=1J.1J}25(d&&d.29&&!/^1j|4v$/i.17(d.29)){7(!/^8H|1R.*$/i.17(E.1l(d,"18")))1c(-d.2x,-d.2y);7(40&&E.1l(d,"2O")!="49")2U(d);d=d.1b}7((5C&&(30||E.1l(3S,"3T")=="4O"))||(40&&E.1l(3S,"3T")!="4O"))1c(-1L.1j.5F,-1L.1j.5D);7(30)1c(1X.2d(1L.1F.2x,1L.1j.2x),1X.2d(1L.1F.2y,1L.1j.2y))}5z={3a:3a,27:b}}J 2U(a){1c(E.2q(a,"8G",P),E.2q(a,"9Y",P))}J 1c(l,t){b+=4k(l)||0;3a+=4k(t)||0}K 5z}})();',62,620,'||||||this|if||||||||||||||||||||||||||||||||||||||function|return|var|length|else|elem|true|for|data|false|document|type|each|options||undefined||style|nodeName|null||browser|nodeType|event|test|display|jQuery|arguments|parentNode|add|window|url|msie|indexOf|fn|push|body|apply|css|prop|constructor|in|script|extend|replace|isFunction|div|typeof|className|complete|status|opacity|firstChild|new|filter|match|value|handle|documentElement|attr|show|hide|offsetParent|Array|doc|try|success|remove|cache|dataType|table|tbody|trigger|call|catch|height|Math|ready|get||text|hidden|start|string|while|width|left|break|tagName|global|split|map|max|safari|animate|toggle|toLowerCase|find|special|duration|selected|prototype||select|cur|curCSS|handler|fx|bind|ownerDocument|done|id|scrollLeft|scrollTop|opera|stack|button|toUpperCase|pushStack|nextSibling|target|guid|makeArray|now|unit|parseFloat|events|name|isReady|overflow|timeout|innerHTML|delete|merge|jsre|border|none|inArray|nth|disabled|step|fixed|preventDefault|slice|queue|createElement|removeChild|exec|one|px|error|top|checked|first|readyState|multiFilter|which|trim|ret|rl|end|form|appendChild|async|elems|insertBefore|childNodes|encodeURIComponent|append|param|is|getTime|runtimeStyle|setTimeout|grep|color|mouseleave|readyList|mouseenter|isXMLDoc|args|props|toString|removeData|timers|json|last|Date|domManip|selectedIndex|addEventListener|ajax|src|has|getElementsByTagName|offsetChild|position|stopPropagation|curAnim|easing|block|custom|orig|mozilla|load|unbind|timerId|currentStyle|responseText|defaultView|String|callee|visible|teardown|on|setup|shift|child|jsonp|lastModified|nodeIndex|RegExp|_|parseInt|input|previousSibling|dir|tr|pos|state|eval|getAttribute|empty|self|html|object|float|update|ajaxSettings|unload|GET|getComputedStyle|styleSheets|getPropertyValue|lastToggle|mouseout|andSelf|mouseover|getWH|container2|not|container|visibility|absolute|init|click|fix|prevObject|triggered|Number|removeAttribute|setInterval|unique|unshift|classFilter|after|submit|password|file|clean|expr|windowData|offset|scroll|client|deep|jquery|globalEval|Modified|ifModified|sibling|active|clone|getResponseHeader|lastChild|handleError|version|swing|dequeue|checkbox|radio|oldblock|fromElement|old|createTextNode|relatedTarget|parsererror|bindReady|index|startTime|results|00|values|safari2|offsetTop|setRequestHeader|offsetLeft|wrapAll|getElementById|callback|col|contentType|ajaxSend|ajaxSuccess|ajaxComplete|ajaxStop|ajaxStart|serializeArray|notmodified|POST|loaded|DOMContentLoaded|Width|triggerHandler|ctrlKey|metaKey|keyCode|charCode|clientTop|clientLeft|clientX|pageX|cloneNode|ajaxError|swap|detachEvent|removeEventListener|join|attachEvent|substr|parse|head|textarea|reset|image|before|prepend|zoom|odd|even|quickClass|quickID|quickChild|uuid|processData|continue|scriptCharset|contents|textContent|appendTo|evalScript|parent|defaultValue|setArray|Last|compatMode|getBoundingClientRect|cssFloat|styleFloat|nodeValue|httpNotModified|eq|_default|replaceWith|xml|splice|100|alpha|speed|href|_toggle|throw|concat|304|linear|200|colgroup|httpData|httpSuccess|clearInterval|beforeSend|webkit|fieldset|multiple|XMLHttpRequest|ActiveXObject|val|link|CSS1Compat|http|img|hasClass|br|abbr|urlencoded|www|pixelLeft|application|post|getJSON|getScript|elements|serialize|keypress|keydown|change|mouseup|mousedown|dblclick|resize|focus|blur|stylesheet|rel|doScroll|round|hover|mousemove|padding|offsetHeight|offsetWidth|keyup|Bottom|Top|Right|Left|clientY|pageY|toElement|srcElement|cancelBubble|returnValue|0n|substring|javascript|animated|header|size|noConflict|enabled|ajaxSetup|innerText|line|2b2|contains|only|weight|gt|font|lt|uFFFF|u0128|417|1_|inner|Boolean|Height|toggleClass|removeClass|wrap|addClass|removeAttr|replaceAll|insertAfter|prependTo|contentWindow|contentDocument|wrapInner|iframe|children|siblings|prevAll|nextAll|prev|next|parents|maxLength|maxlength|readOnly|readonly|class|htmlFor|reverse|borderLeftWidth|inline|able|boxModel|522|compatible|with|1px|ie|10000|ra|it|rv|PI|cos|userAgent|navigator|fast|option|600|slow|Function|Object|array|stop|ig|NaN|fadeTo|fadeOut|fadeIn|slideToggle|setAttribute|slideUp|slideDown|changed|be|can|responseXML|property|specified|content|1223|getAttributeNode|300|method|protocol|location|action|attributes|send|400|abort|cssText|th|td|cap|With|Requested|colg|GMT|tfoot|1970|thead|Jan|01|Thu|Since|leg|If|Type|opt|Content|area|open|hr|XMLHTTP|Microsoft|onreadystatechange|meta|onload|borderTopWidth|charset'.split('|'),0,{}))
/*
 * 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 = "images/loadingAnimation.gif";
/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
//on page load call tb_init
$(document).ready(function(){   
  tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
  imgLoader = new Image();// preload image
  imgLoader.src = tb_pathToImage;
});
//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
  $(domChunk).click(function(){
  var t = this.title || this.name || null;
  var a = this.href || this.alt;
  var g = this.rel || false;
  tb_show(t,a,g);
  this.blur();
  return false;
  });
}
function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
  try {
    if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
      $("body","html").css({height: "100%", width: "100%"});
      $("html").css("overflow","hidden");
      if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
        $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div><div id='TB_border'></div>");
        $("#TB_overlay").click(tb_remove);
      }
    }else{//all others
      if(document.getElementById("TB_overlay") === null){
        $("body").append("<div id='TB_overlay'></div><div id='TB_window'></div><div id='TB_border'></div");
        $("#TB_overlay").click(tb_remove);
      }
    }
    
    if(tb_detectMacXFF()){
      $("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
    }else{
      $("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
    }
    
    if(caption===null){caption="";}
    $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
    $('#TB_load').show();//show loader
    
    var baseURL;
     if(url.indexOf("?")!==-1){ //ff there is a query string involved
      baseURL = url.substr(0, url.indexOf("?"));
     }else{ 
         baseURL = url;
     }
     
     var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
     var urlType = baseURL.toLowerCase().match(urlString);
    if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
        
      TB_PrevCaption = "";
      TB_PrevURL = "";
      TB_PrevHTML = "";
      TB_NextCaption = "";
      TB_NextURL = "";
      TB_NextHTML = "";
      TB_imageCount = "";
      TB_FoundURL = false;
      if(imageGroup){
        TB_TempArray = $("a[@rel="+imageGroup+"]").get();
        for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
          var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
            if (!(TB_TempArray[TB_Counter].href == url)) {            
              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;
        
      // Resizing large images - orginal by Christian Montoya edited by me.
      var pagesize = tb_getPageSize();
      var x = pagesize[0] - 150;
      var y = pagesize[1] - 150;
      var imageWidth = imgPreloader.width;
      var imageHeight = imgPreloader.height;
      if (imageWidth > x) {
        imageHeight = imageHeight * (x / imageWidth); 
        imageWidth = x; 
        if (imageHeight > y) { 
          imageWidth = imageWidth * (y / imageHeight); 
          imageHeight = y; 
        }
      } else if (imageHeight > y) { 
        imageWidth = imageWidth * (y / imageHeight); 
        imageHeight = y; 
        if (imageWidth > x) { 
          imageHeight = imageHeight * (x / imageWidth); 
          imageWidth = x;
        }
      }
      // End Resizing
      
      TB_WIDTH = imageWidth + 30;
      TB_HEIGHT = imageHeight + 60;
      $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<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 goPrev(){
          if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
          $("#TB_window").remove();
          $("body").append("<div id='TB_window'></div>");
          tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
          return false;  
        }
        $("#TB_prev").click(goPrev);
      }
      
      if (!(TB_NextHTML === "")) {    
        function goNext(){
          $("#TB_window").remove();
          $("body").append("<div id='TB_window'></div>");
          tb_show(TB_NextCaption, TB_NextURL, imageGroup);        
          return false;  
        }
        $("#TB_next").click(goNext);
        
      }
      document.onkeydown = function(e){   
        if (e == null) { // ie
          keycode = event.keyCode;
        } else { // mozilla
          keycode = e.which;
        }
        if(keycode == 27){ // close
          tb_remove();
        } else if(keycode == 190){ // display previous image
          if(!(TB_NextHTML == "")){
            document.onkeydown = "";
            goNext();
          }
        } else if(keycode == 188){ // display next image
          if(!(TB_PrevHTML == "")){
            document.onkeydown = "";
            goPrev();
          }
        }  
      };
      
      tb_position();
      $("#TB_load").remove();
      $("#TB_ImageOff").click(tb_remove);
      $("#TB_window").css({display:"block"}); //for safari using css instead of show
      };
      
      imgPreloader.src = url;
    }else{//code to show html
      
      var queryString = url.replace(/^[^\?]+\??/,'');
      var params = tb_parseQuery( queryString );
      TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
      TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
      ajaxContentW = TB_WIDTH - 30;
      ajaxContentH = TB_HEIGHT - 45;
      
      if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window    
          urlNoQuery = url.split('TB_');
          $("#TB_iframeContent").remove();
          if(params['modal'] != "true"){//iframe no modal
            $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</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{//iframe modal
          $("#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{// not an iframe, ajax
          if($("#TB_window").css("display") != "block"){
            if(params['modal'] != "true"){//ajax no modal
            $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</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{//ajax modal
            $("#TB_overlay").unbind();
            $("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");  
            }
          }else{//this means the window is already up, we are just loading new content via ajax
            $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
            $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
            $("#TB_ajaxContent")[0].scrollTop = 0;
            $("#TB_ajaxWindowTitle").html(caption);
          }
      }
          
      $("#TB_closeWindowButton").click(tb_remove);
      
        if(url.indexOf('TB_inline') != -1){  
          $("#TB_ajaxContent").append($('#' + params['inlineId']).children());
          $("#TB_window").unload(function () {
            $('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
          });
          tb_position();
          $("#TB_load").remove();
          $("#TB_window").css({display:"block"}); 
        }else if(url.indexOf('TB_iframe') != -1){
          tb_position();
          if($.browser.safari){//safari needs help because it will not fire iframe onload
            $("#TB_load").remove();
            $("#TB_window").css({display:"block"});
          }
        }else{
          $("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
            tb_position();
            $("#TB_load").remove();
            tb_init("#TB_ajaxContent a.thickbox");
            $("#TB_window").css({display:"block"});
          });
        }
      
    }
    if(!params['modal']){
      document.onkeyup = function(e){   
        if (e == null) { // ie
          keycode = event.keyCode;
        } else { // mozilla
          keycode = e.which;
        }
        if(keycode == 27){ // close
          tb_remove();
        }  
      };
    }
    
  } catch(e) {
    //nothing here
  }
}
//helper functions below
function tb_showIframe(){
  $("#TB_load").remove();
  $("#TB_window, #TB_border").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,#TB_border').trigger("unload").unbind().remove();});
  $("#TB_load").remove();
  if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
    $("body","html").css({height: "auto", width: "auto"});
    $("html").css("overflow","");
  }
  document.onkeydown = "";
  document.onkeyup = "";
  return false;
}
function tb_position() {
$("#TB_window,#TB_border").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
  if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
    $("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
    $("#TB_border").css({marginTop: '-' + parseInt(((TB_HEIGHT / 2)-19),10)+ 'px'});
  }
}
function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}
function tb_getPageSize(){
  var de = document.documentElement;
  var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
  var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
  arrayPageSize = [w,h];
  return arrayPageSize;
}
function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return false;
  }
}