/*
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left");}catch(a){setTimeout(ma,1);return;}c.ready();}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b);}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b){X(a,o,b[o],f,e,d);}return a;}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++){e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);}return a;}return i?e(a[0],b):w;}function J(){return(new Date).getTime();}function Y(){return false;}function Z(){return true;}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d);}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1);}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=j.length;n<r;n++){for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave"){f=c(a.relatedTarget).closest(i.selector)[0];}if(!f||f!==o){d.push({elem:o,handleObj:i});}}}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break;}}return b;}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,"&");}function qa(a){return !a||!a.parentNode||a.parentNode.nodeType===11;}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f){for(var i in f[j]){c.event.add(this,j,f[j][i],f[j][i].data);}}}}});}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=true;if(j=c.fragments[a[0]]){if(j!==1){f=j;}}}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d);}if(e){c.fragments[a[0]]=j?f:1;}return{fragment:f,cacheable:e};}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a;});return d;}function wa(a){return"scrollTo" in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false;}var c=function(a,b){return new c.fn.init(a,b);},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a){return this;}if(a.nodeType){this.context=this[0]=a;this.length=1;return this;}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this;}if(typeof a==="string"){if((d=Ta.exec(a))&&(d[1]||!b)){if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a)){if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true);}else{a=[f.createElement(a[1])];}}else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes;}return c.merge(this,a);}else{if(b=s.getElementById(d[2])){if(b.id!==d[2]){return T.find(a);}this.length=1;this[0]=b;}this.context=s;this.selector=a;return this;}}else{if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,a);}else{return !b||b.jquery?(b||T).find(a):c(b).find(a);}}}else{if(c.isFunction(a)){return T.ready(a);}}if(a.selector!==w){this.selector=a.selector;this.context=a.context;}return c.makeArray(a,this);},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length;},toArray:function(){return R.call(this,0);},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a];},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b==="find"){f.selector=this.selector+(this.selector?" ":"")+d;}else{if(b){f.selector=this.selector+"."+b+"("+d+")";}}return f;},each:function(a,b){return c.each(this,a,b);},ready:function(a){c.bindReady();if(c.isReady){a.call(s,c);}else{Q&&Q.push(a);}return this;},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1);},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","));},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b);}));},end:function(){return this.prevObject||c(null);},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2;}if(typeof a!=="object"&&!c.isFunction(a)){a={};}if(d===b){a=this;--b;}for(;b<d;b++){if((e=arguments[b])!=null){for(j in e){i=a[j];o=e[j];if(a!==o){if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o);}else{if(o!==w){a[j]=o;}}}}}}return a;};c.extend({noConflict:function(a){A.$=Sa;if(a){A.jQuery=Ra;}return c;},isReady:false,ready:function(){if(!c.isReady){if(!s.body){return setTimeout(c.ready,13);}c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];){a.call(s,c);}Q=null;}c.fn.triggerHandler&&c(s).triggerHandler("ready");}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete"){return c.ready();}if(s.addEventListener){s.addEventListener("DOMContentLoaded",L,false);A.addEventListener("load",c.ready,false);}else{if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null;}catch(b){}s.documentElement.doScroll&&a&&ma();}}}},isFunction:function(a){return $.call(a)==="[object Function]";},isArray:function(a){return $.call(a)==="[object Array]";},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval){return false;}if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,"isPrototypeOf")){return false;}var b;for(b in a){}return b===w||aa.call(a,b);},isEmptyObject:function(a){for(var b in a){return false;}return true;},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a){return null;}a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+a))();}else{c.error("Invalid JSON: "+a);}},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval){d.appendChild(s.createTextNode(a));}else{d.text=a;}b.insertBefore(d,b.firstChild);b.removeChild(d);}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase();},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d){if(i){for(f in a){if(b.apply(a[f],d)===false){break;}}}else{for(;e<j;){if(b.apply(a[e++],d)===false){break;}}}}else{if(i){for(f in a){if(b.call(a[f],f,a[f])===false){break;}}}else{for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]){}}}return a;},trim:function(a){return(a||"").replace(Wa,"");},makeArray:function(a,b){b=b||[];if(a!=null){a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);}return b;},inArray:function(a,b){if(b.indexOf){return b.indexOf(a);}for(var d=0,f=b.length;d<f;d++){if(b[d]===a){return d;}}return -1;},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number"){for(var e=b.length;f<e;f++){a[d++]=b[f];}}else{for(;b[f]!==w;){a[d++]=b[f++];}}a.length=d;return a;},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++){!d!==!b(a[e],e)&&f.push(a[e]);}return f;},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null){f[f.length]=e;}}return f.concat.apply([],f);},guid:1,proxy:function(a,b,d){if(arguments.length===2){if(typeof b==="string"){d=a;a=d[b];b=w;}else{if(b&&!c.isFunction(b)){d=b;b=w;}}}if(!b&&a){b=function(){return a.apply(d||this,arguments);};}if(a){b.guid=a.guid=a.guid||b.guid||c.guid++;}return b;},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"};},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version;}if(c.browser.webkit){c.browser.safari=true;}if(ya){c.inArray=function(a,b){return ya.call(b,a);};}T=c(s);if(s.addEventListener){L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready();};}else{if(s.attachEvent){L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready();}};}}(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"));}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f];}try{delete b.test;}catch(o){c.support.deleteExpando=false;}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=false;d.detachEvent("onclick",k);});d.cloneNode(true).fireEvent("onclick");}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none";});a=function(k){var n=s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function";}return r;};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null;}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w){return null;}f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b);}else{if(!e[f]){a[G]=f;e[f]={};}}a=e[f];if(d!==w){a[b]=d;}return typeof b==="string"?a[b]:a;}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a);}}else{if(c.support.deleteExpando){delete a[c.expando];}else{a.removeAttribute&&a.removeAttribute(c.expando);}delete f[d];}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length){return c.data(this[0]);}else{if(typeof a==="object"){return this.each(function(){c.data(this,a);});}}var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length){f=c.data(this[0],a);}return f===w&&d[1]?this.data(d[0]):f;}else{return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b);});}},removeData:function(a){return this.each(function(){c.removeData(this,a);});}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d){return f||[];}if(!f||c.isArray(d)){f=c.data(a,b,c.makeArray(d));}else{f.push(d);}return f;}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress"){f=d.shift();}if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b);});}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx";}if(b===w){return c.queue(this[0],a);}return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a);});},dequeue:function(a){return this.each(function(){c.dequeue(this,a);});},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b);},a);});},clearQueue:function(a){return this.queue(a||"fx",[]);}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr);},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a);});},addClass:function(a){if(c.isFunction(a)){return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")));});}if(a&&typeof a==="string"){for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1){if(e.className){for(var j=" "+e.className+" ",i=e.className,o=0,k=b.length;o<k;o++){if(j.indexOf(" "+b[o]+" ")<0){i+=" "+b[o];}}e.className=c.trim(i);}else{e.className=a;}}}}return this;},removeClass:function(a){if(c.isFunction(a)){return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")));});}if(a&&typeof a==="string"||a===w){for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className){if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++){j=j.replace(" "+b[i]+" "," ");}e.className=c.trim(j);}else{e.className="";}}}}return this;},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a)){return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b);});}return this.each(function(){if(d==="string"){for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e);}}else{if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||"";}}});},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++){if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1){return true;}}return false;},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option")){return(b.attributes.value||{}).specified?b.value:b.text;}if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0){return null;}var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=e[j];if(i.selected){a=c(i).val();if(b){return a;}f.push(a);}}return f;}if(Ba.test(b.type)&&!c.support.checkOn){return b.getAttribute("value")===null?"on":b.value;}return(b.value||"").replace(Za,"");}return w;}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o){r=a.call(this,k,n.val());}if(typeof r==="number"){r+="";}if(c.isArray(r)&&Ba.test(this.type)){this.checked=c.inArray(n.val(),r)>=0;}else{if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),u)>=0;});if(!u.length){this.selectedIndex=-1;}}else{this.value=r;}}}});}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8){return w;}if(f&&b in c.attrFn){return c(a)[b](d);}f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d;}if(c.nodeName(a,"form")&&a.getAttributeNode(b)){return a.getAttributeNode(b).nodeValue;}if(b==="tabIndex"){return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;}return a[b];}if(!c.support.style&&f&&b==="style"){if(e){a.style.cssText=""+d;}return a.style.cssText;}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a;}return c.style(a,b,d);}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b;});};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement){a=A;}var e,j;if(d.handler){e=d;d=e.handler;}if(!d.guid){d.guid=c.guid++;}if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o){j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w;};}o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");k=r.shift();j.namespace=r.slice(0).sort().join(".");}else{r=[];j.namespace="";}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false){if(a.addEventListener){a.addEventListener(k,o,false);}else{a.attachEvent&&a.attachEvent("on"+k,o);}}}if(z.add){z.add.call(a,j);if(!j.handler.guid){j.handler.guid=d.guid;}}u.push(j);c.event.global[k]=true;}a=null;}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type;}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C){c.event.remove(a,e+b);}}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)");}if(r=C[e]){if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u);}if(f!=null){break;}}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false){Ca(a,e,z.handle);}delete C[e];}}else{for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1);}}}}}if(c.isEmptyObject(C)){if(b=z.handle){b.elem=null;}delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a);}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=e=e.slice(0,-1);a.exclusive=true;}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem);});}if(!d||d.nodeType===3||d.nodeType===8){return w;}a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a);}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()])){if(d["on"+e]&&d["on"+e].apply(d,b)===false){a.result=false;}}}catch(j){}if(!a.isPropagationStopped()&&f){c.event.trigger(a,b,f,true);}else{if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e]){f["on"+e]=null;}c.event.triggered=true;f[e]();}}catch(n){}if(i){f["on"+e]=i;}c.event.triggered=false;}}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)");}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation();}}if(a.isImmediatePropagationStopped()){break;}}}}return a.result;},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[G]){return a;}var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f];}if(!a.target){a.target=a.srcElement||s;}if(a.target.nodeType===3){a.target=a.target.parentNode;}if(!a.relatedTarget&&a.fromElement){a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;}if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0);}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode)){a.which=a.charCode||a.keyCode;}if(!a.metaKey&&a.ctrlKey){a.metaKey=a.ctrlKey;}if(!a.which&&a.button!==w){a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;}return a;},guid:100000000,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}));},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,"events").live||[],function(){if(d===this.origType.replace(O,"")){return b=false;}});b&&c.event.remove(this,a.origType,oa);}},beforeunload:{setup:function(a,b,d){if(this.setInterval){this.onbeforeunload=d;}return false;},teardown:function(a,b){if(this.onbeforeunload===b){this.onbeforeunload=null;}}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false);}:function(a,b,d){a.detachEvent("on"+b,d);};c.Event=function(a){if(!this.preventDefault){return new c.Event(a);}if(a&&a.type){this.originalEvent=a;this.type=a.type;}else{this.type=a;}this.timeStamp=J();this[G]=true;};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false;}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true;}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation();},isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;){b=b.parentNode;}if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments);}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments);};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a);},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da);}};});if(!c.support.submitBubbles){c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){return na("submit",this,arguments);}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){return na("submit",this,arguments);}});}else{return false;}},teardown:function(){c.event.remove(this,".specialSubmit");}};}if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox"){d=a.checked;}else{if(b==="select-multiple"){d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected;}).join("-"):"";}else{if(a.nodeName.toLowerCase()==="select"){d=a.selectedIndex;}}}return d;},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio"){c.data(d,"_change_data",e);}if(!(f===w||e===f)){if(f!=null||e){a.type="change";return c.event.trigger(a,b,d);}}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select"){return fa.call(this,a);}},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple"){return fa.call(this,a);}},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",Fa(a));}},setup:function(){if(this.type==="file"){return false;}for(var a in ea){c.event.add(this,a+".specialChange",ea[a]);}return da.test(this.nodeName);},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName);}};ea=c.event.special.change.filters;}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f);}c.event.special[b]={setup:function(){this.addEventListener(a,d,true);},teardown:function(){this.removeEventListener(a,d,true);}};});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d){this[b](j,f,d[j],e);}return this;}if(c.isFunction(f)){e=f;f=w;}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments);}):e;if(d==="unload"&&b!=="one"){this.one(d,f,e);}else{j=0;for(var o=this.length;j<o;j++){c.event.add(this[j],d,i,f);}}return this;};});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault){for(var d in a){this.unbind(d,a[d]);}}else{d=0;for(var f=this.length;d<f;d++){c.event.remove(this[d],a,b);}}return this;},delegate:function(a,b,d,f){return this.live(b,d,f,a);},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a);},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this);});},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result;}},toggle:function(a){for(var b=arguments,d=1;d<b.length;){c.proxy(a,b[d++]);}return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false;}));},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a);}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w;}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"");}if(i==="hover"){d.push("mouseenter"+k,"mouseleave"+k);}else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k;}else{i=(Ga[i]||i)+k;}b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n});}):u.unbind(pa(i,r),e);}}return this;};});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b);};if(c.attrFn){c.attrFn[b]=true;}});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache){if(c.cache[a].handle){try{c.event.remove(c.cache[a].handle.elem);}catch(b){}}}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4){h+=l.nodeValue;}else{if(l.nodeType!==8){h+=a(l.childNodes);}}}return h;}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break;}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q;}if(t.nodeName.toLowerCase()===h){y=t;break;}t=t[g];}m[q]=y;}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break;}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q;}if(typeof h!=="string"){if(t===h){y=true;break;}}else{if(k.filter(h,[t]).length>0){y=t;break;}}}t=t[g];}m[q]=y;}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0;});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9){return[];}if(!g||typeof g!=="string"){return l;}for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break;}}if(p.length>1&&r.exec(g)){if(p.length===2&&n.relative[p[0]]){t=ga(p[0]+p[1],h);}else{for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g]){g+=p.shift();}t=ga(g,t);}}}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0];}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0){y=z(t);}else{H=false;}for(;p.length;){var D=p.pop();v=D;if(n.relative[D]){v=p.pop();}else{D="";}if(v==null){v=h;}n.relative[D](y,v,M);}}else{y=[];}}y||(y=t);y||k.error(D||g);if(j.call(y)==="[object Array]"){if(H){if(h&&h.nodeType===1){for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g]))){l.push(t[g]);}}}else{for(g=0;y[g]!=null;g++){y[g]&&y[g].nodeType===1&&l.push(t[g]);}}}else{l.push.apply(l,y);}}else{z(y,l);}if(S){k(S,q,l,m);k.uniqueSort(l);}return l;};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i){for(var h=1;h<g.length;h++){g[h]===g[h-1]&&g.splice(h--,1);}}}return g;};k.matches=function(g,h){return k(g,null,null,h);};k.find=function(g,h,l){var m,q;if(!g){return[];}for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break;}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g};};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter){if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(v===p){p=[];}if(n.preFilter[H]){if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true){continue;}}else{y=I=true;}}if(t){for(var U=0;(D=v[U])!=null;U++){if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null){if(Ha){y=true;}else{v[U]=false;}}else{if(Ha){p.push(D);y=true;}}}}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y){return[];}break;}}}}if(g===q){if(y==null){k.error(g);}else{break;}}q=g;}return v;};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href");}},relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m){h=h.toLowerCase();}m=0;for(var q=g.length,p;m<q;m++){if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;){}g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h;}}l&&k.filter(h,g,true);},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false;}}}else{m=0;for(q=g.length;m<q;m++){if(p=g[m]){g[m]=l?p.parentNode:p.parentNode===h;}}l&&k.filter(h,g,true);}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b;}q("parentNode",h,m,g,p,l);},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b;}q("previousSibling",h,m,g,p,l);}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l){return(g=h.getElementById(g[1]))?[g]:[];}},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++){h[m].getAttribute("name")===g[1]&&l.push(h[m]);}return l.length===0?null:l;}},TAG:function(g,h){return h.getElementsByTagName(g[1]);}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p){return g;}p=0;for(var v;(v=h[p])!=null;p++){if(v){if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0)){l||m.push(v);}else{if(l){h[p]=false;}}}}return false;},ID:function(g){return g[1].replace(/\\/g,"");},TAG:function(g){return g[1].toLowerCase();},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0;}g[0]=e++;return g;},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h]){g[1]=n.attrMap[h];}if(g[2]==="~="){g[4]=" "+g[4]+" ";}return g;},PSEUDO:function(g,h,l,m,q){if(g[1]==="not"){if((f.exec(g[3])||"").length>1||/^\w/.test(g[3])){g[3]=k(g[3],null,null,h);}else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,g);return false;}}else{if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0])){return true;}}return g;},POS:function(g){g.unshift(true);return g;}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden";},disabled:function(g){return g.disabled===true;},checked:function(g){return g.checked===true;},selected:function(g){return g.selected===true;},parent:function(g){return !!g.firstChild;},empty:function(g){return !g.firstChild;},has:function(g,h,l){return !!k(l[3],g).length;},header:function(g){return/h\d/i.test(g.nodeName);},text:function(g){return"text"===g.type;},radio:function(g){return"radio"===g.type;},checkbox:function(g){return"checkbox"===g.type;},file:function(g){return"file"===g.type;},password:function(g){return"password"===g.type;},submit:function(g){return"submit"===g.type;},image:function(g){return"image"===g.type;},reset:function(g){return"reset"===g.type;},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button";},input:function(g){return/input|select|textarea|button/i.test(g.nodeName);}},setFilters:{first:function(g,h){return h===0;},last:function(g,h,l,m){return h===m.length-1;},even:function(g,h){return h%2===0;},odd:function(g,h){return h%2===1;},lt:function(g,h,l){return h<l[3]-0;},gt:function(g,h,l){return h>l[3]-0;},nth:function(g,h,l){return l[3]-0===h;},eq:function(g,h,l){return l[3]-0===h;}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p){return p(g,l,h,m);}else{if(q==="contains"){return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;}else{if(q==="not"){h=h[3];l=0;for(m=h.length;l<m;l++){if(h[l]===g){return false;}}return true;}else{k.error("Syntax error, unrecognized expression: "+q);}}}},CHILD:function(g,h){var l=h[1],m=g;switch(l){case"only":case"first":for(;m=m.previousSibling;){if(m.nodeType===1){return false;}}if(l==="first"){return true;}m=g;case"last":for(;m=m.nextSibling;){if(m.nodeType===1){return false;}}return true;case"nth":l=h[2];var q=h[3];if(l===1&&q===0){return true;}h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=m.nextSibling){if(m.nodeType===1){m.nodeIndex=++v;}}p.sizcache=h;}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0;}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h;},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h;},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1;},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m==="="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false;},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q){return q(g,l,h,m);}}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1);}));}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h;}return g;};try{Array.prototype.slice.call(s.documentElement.childNodes,0);}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]"){Array.prototype.push.apply(h,g);}else{if(typeof g.length==="number"){for(var l=0,m=g.length;l<m;l++){h.push(g[l]);}}else{for(l=0;g[l];l++){h.push(g[l]);}}}return h;};}var B;if(s.documentElement.compareDocumentPosition){B=function(g,h){if(!g.compareDocumentPosition||!h.compareDocumentPosition){if(g==h){i=true;}return g.compareDocumentPosition?-1:1;}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0){i=true;}return g;};}else{if("sourceIndex" in s.documentElement){B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h){i=true;}return g.sourceIndex?-1:1;}g=g.sourceIndex-h.sourceIndex;if(g===0){i=true;}return g;};}else{if(s.createRange){B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h){i=true;}return g.ownerDocument?-1:1;}var l=g.ownerDocument.createRange(),m=h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0){i=true;}return g;};}}}(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p){return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[];}};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q;};}l.removeChild(g);l=g=null;})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0){n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++){l[m].nodeType===1&&h.push(l[m]);}l=h;}return l;};}g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#"){n.attrHandle.href=function(h){return h.getAttribute("href",2);};}g=null;})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q)){try{return z(q.querySelectorAll(m),p);}catch(t){}}return g(m,q,p,v);};for(var l in g){k[l]=g[l];}h=null;}}();(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m){return l.getElementsByClassName(h[1]);}};g=null;}}})();var E=s.compareDocumentPosition?function(g,h){return !!(g.compareDocumentPosition(h)&16);}:function(g,h){return g!==h&&(g.contains?g.contains(h):true);},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false;},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"");}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++){k(g,h[q],l);}return k.filter(m,l);};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E;})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b)){return c.grep(a,function(e,j){return !!b.call(e,j,e)===d;});}else{if(b.nodeType){return c.grep(a,function(e){return e===b===d;});}else{if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1;});if(Ua.test(b)){return c.filter(b,f,!d);}else{b=c.filter(b,f);}}}}return c.grep(a,function(e){return c.inArray(e,b)>=0===d;});};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;c.find(a,this[f],b);if(f>0){for(var j=d;j<b.length;j++){for(var i=0;i<d;i++){if(b[i]===b[j]){b.splice(j--,1);break;}}}}}return b;},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++){if(c.contains(this,b[d])){return true;}}});},not:function(a){return this.pushStack(Ia(this,a,false),"not",a);},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a);},is:function(a){return !!a&&c.filter(a,this).length>0;},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j={},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i);}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i];}}f=f.parentNode;}}return d;}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a)){return r;}r=r.parentNode;}return null;});},index:function(a){if(!a||typeof a==="string"){return c.inArray(this[0],a?c(a):this.parent().children());}return c.inArray(a.jquery?a[0]:a,this);},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b));},andSelf:function(){return this.add(this.prevObject);}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null;},parents:function(a){return c.dir(a,"parentNode");},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d);},next:function(a){return c.nth(a,2,"nextSibling");},prev:function(a){return c.nth(a,2,"previousSibling");},nextAll:function(a){return c.dir(a,"nextSibling");},prevAll:function(a){return c.dir(a,"previousSibling");},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d);},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d);},siblings:function(a){return c.sibling(a.parentNode.firstChild,a);},children:function(a){return c.sibling(a.firstChild);},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes);}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string"){e=c.filter(f,e);}e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a)){e=e.reverse();}return this.pushStack(e,a,R.call(arguments).join(","));};});c.extend({filter:function(a,b,d){if(d){a=":not("+a+")";}return c.find.matches(a,b);},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b];}return f;},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d]){if(a.nodeType===1&&++f===b){break;}}return a;},sibling:function(a,b){for(var d=[];a;a=a.nextSibling){a.nodeType===1&&a!==b&&d.push(a);}return d;}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?a:b+"></"+d+">";},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize){F._default=[1,"div<div>","</div>"];}c.fn.extend({text:function(a){if(c.isFunction(a)){return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()));});}if(typeof a!=="object"&&a!==w){return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));}return c.text(this);},wrapAll:function(a){if(c.isFunction(a)){return this.each(function(d){c(this).wrapAll(a.call(this,d));});}if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;){d=d.firstChild;}return d;}).append(this);}return this;},wrapInner:function(a){if(c.isFunction(a)){return this.each(function(b){c(this).wrapInner(a.call(this,b));});}return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a);});},wrap:function(a){return this.each(function(){c(this).wrapAll(a);});},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes);}).end();},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a);});},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild);});},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this);});}else{if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments);}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling);});}else{if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a;}}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++){if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f]);}f.parentNode&&f.parentNode.removeChild(f);}}return this;},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;){b.removeChild(b.firstChild);}}return this;},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML;}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0];}else{return this.cloneNode(true);}});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"));}return b;},html:function(a){if(a===w){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,""):null;}else{if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++){if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a;}}}catch(f){this.empty().append(a);}}else{c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i);});}):this.empty().append(a);}}return this;},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a)){return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f));});}if(typeof a!=="string"){a=c(a).detach();}return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a);});}else{return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a);}},detach:function(a){return this.remove(a,true);},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||u.appendChild(u.ownerDocument.createElement("tbody")):u;}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i)){return this.each(function(){c(this).domManip(a,b,d,true);});}if(c.isFunction(i)){return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d);});}if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++){d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k);}}o.length&&c.each(o,Qa);}return this;}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);return this;}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i);}return this.pushStack(f,a,d.selector);}};});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined"){b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;}for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number"){i+="";}if(i){if(typeof i==="string"&&!jb.test(i)){i=b.createTextNode(i);}else{if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;){r=r.lastChild;}if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k){c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k]);}}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes;}}if(i.nodeType){e.push(i);}else{e=c.merge(e,i);}}}if(d){for(j=0;e[j];j++){if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript")){f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);}else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j]);}}}return e;},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++){if(d=o[c.expando]){b=f[d];if(b.events){for(var k in b.events){e[k]?c.event.remove(o,k):Ca(o,k,b.handle);}}if(j){delete o[c.expando];}else{o.removeAttribute&&o.removeAttribute(c.expando);}delete f[d];}}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=function(a,b){return b.toUpperCase();};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w){return c.curCSS(d,f);}if(typeof e==="number"&&!kb.test(f)){e+="px";}c.style(d,f,e);});};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8){return w;}if((b==="width"||b==="height")&&parseFloat(d)<0){d=w;}var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Na.test(a)?a.replace(Na,b):b;}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":"";}if(ha.test(b)){b=Pa;}b=b.replace(ia,ja);if(e){f[b]=d;}return f[b];},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin"){e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;}else{e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0;}});}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e));}return c.curCSS(a,b,d);},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f;}if(ha.test(b)){b=Pa;}if(!d&&e&&e[b]){f=e[b];}else{if(rb){if(ha.test(b)){b="float";}b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e){return null;}if(a=e.getComputedStyle(a,null)){f=a.getPropertyValue(b);}if(b==="opacity"&&f===""){f="1";}}else{if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j;}}}}return f;},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e];}d.call(a);for(e in b){a.style[e]=f[e];}}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none";};c.expr.filters.visible=function(a){return !c.expr.filters.hidden(a);};}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"){return zb.call(this,a);}else{if(!this.length){return this;}}var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f);}f="GET";if(b){if(c.isFunction(b)){d=b;b=null;}else{if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST";}}}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified"){j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);}d&&j.each(d,[i.responseText,o,i]);}});return this;},serialize:function(){return c.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type));}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d};}):{name:b.name,value:a};}).get();}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d);};});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null;}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f});},getScript:function(a,b){return c.get(a,null,b,"script");},getJSON:function(a,b,d){return c.get(a,b,d,"json");},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={};}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f});},ajaxSetup:function(a){c.extend(c.ajaxSettings,a);},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest;}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP");}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e]);}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop");}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p);}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string"){e.data=c.param(e.data,e.traditional);}if(e.dataType==="jsonp"){if(n==="GET"){N.test(e.url)||(e.url+=(ka.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");}else{if(!e.data||!N.test(e.data)){e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";}}e.dataType="json";}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data){e.data=(e.data+"").replace(N,"="+j+"$1");}e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j];}catch(p){}z&&z.removeChild(C);};}if(e.dataType==="script"&&e.cache===null){e.cache=false;}if(e.cache===false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"");}if(e.data&&n==="GET"){e.url+=(ka.test(e.url)?"&":"?")+e.data;}e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset){C.charset=e.scriptCharset;}if(!j){var B=false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C);}};}z.insertBefore(C,z.firstChild);return w;}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType){x.setRequestHeader("Content-Type",e.contentType);}if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url]);}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default);}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false;}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||d();E=true;if(x){x.onreadystatechange=c.noop;}}else{if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success"){try{o=c.httpData(x,e.dataType,e);}catch(v){i="parsererror";p=v;}}if(i==="success"||i==="notmodified"){j||b();}else{c.handleError(e,x,i,p);}d();q==="timeout"&&x.abort();if(e.async){x=null;}}}};try{var h=x.abort;x.abort=function(){x&&h.call(x);g("abort");};}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout");},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null);}catch(m){c.handleError(e,x,null,m);d();}e.async||g();return x;}},handleError:function(a,b,d,f){if(a.error){a.error.call(a.context||a,b,d,f);}if(a.global){(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f]);}},active:0,httpSuccess:function(a){try{return !a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0;}catch(b){}return false;},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d){c.lastModified[b]=d;}if(f){c.etag[b]=f;}return a.status===304||a.status===0;},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter){a=d.dataFilter(a,b);}if(typeof a==="string"){if(b==="json"||!b&&f.indexOf("json")>=0){a=c.parseJSON(a);}else{if(b==="script"||!b&&f.indexOf("javascript")>=0){c.globalEval(a);}}}return a;},param:function(a,b){function d(i,o){if(c.isArray(o)){c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n);});}else{!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n);}):f(i,o);}}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o);}var e=[];if(b===w){b=c.ajaxSettings.traditional;}if(c.isArray(a)||a.jquery){c.each(a,function(){f(this.name,this.value);});}else{for(var j in a){d(j,a[j]);}}return e.join("&").replace(yb,"+");}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0){return this.animate(K("show",3),a,b);}else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d]){f=la[d];}else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none"){f="block";}e.remove();la[d]=f;}c.data(this[a],"olddisplay",f);}}a=0;for(b=this.length;a<b;a++){this[a].style.display=c.data(this[a],"olddisplay")||"";}return this;}},hide:function(a,b){if(a||a===0){return this.animate(K("hide",3),a,b);}else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],"olddisplay",c.css(this[a],"display"));}a=0;for(b=this.length;a<b;a++){this[a].style.display="none";}return this;}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b)){this._toggle.apply(this,arguments);}else{a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]();}):this.animate(K("toggle",3),a,b);}return this;},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d);},animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a)){return this.each(e.complete);}return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n;}if(a[i]==="hide"&&o||a[i]==="show"&&!o){return j.complete.call(this);}if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow;}if(c.isArray(a[i])){(j.specialEasing=j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0];}}if(j.overflow!=null){this.style.overflow="hidden";}j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u)){z[u==="toggle"?o?"show":"hide":u](a);}else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E;}if(C[1]){u=(C[1]==="-="?-1:1)*u+B;}z.custom(B,u,E);}else{z.custom(B,u,"");}}});return true;});},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var f=d.length-1;f>=0;f--){if(d[f].elem===this){b&&d[f](true);d.splice(f,1);}}});b||this.dequeue();return this;}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f);};});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this);};return f;},easing:{linear:function(a,b,d,f){return d+f*a;},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d;}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig){b.orig={};}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style){this.elem.style.display="block";}},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop];}return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0;},custom:function(a,b,d){function f(j){return e.step(j);}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W){W=setInterval(c.fx.tick,13);}},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show();},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim){if(this.options.curAnim[f]!==true){d=false;}}if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none"){this.elem.style.display="block";}}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show){for(var e in this.options.curAnim){c.style(this.elem,e,this.options.orig[e]);}}this.options.complete.call(this.elem);}return false;}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update();}return true;}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++){a[b]()||a.splice(b--,1);}a.length||c.fx.stop();},stop:function(){clearInterval(W);W=null;},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now);},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;}else{a.elem[a.prop]=a.now;}}}});if(c.expr&&c.expr.filters){c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem;}).length;};}c.fn.offset="getBoundingClientRect" in s.documentElement?function(a){var b=this[0];if(a){return this.each(function(e){c.offset.setOffset(this,a,e);});}if(!b||!b.ownerDocument){return null;}if(b===b.ownerDocument.body){return c.offset.bodyOffset(b);}var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)};}:function(a){var b=this[0];if(a){return this.each(function(r){c.offset.setOffset(this,a,r);});}if(!b||!b.ownerDocument){return null;}if(b===b.ownerDocument.body){return c.offset.bodyOffset(b);}c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed"){break;}j=e?e.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0;}f=d;d=b.offsetParent;}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0;}f=j;}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft;}if(c.offset.supportsFixedPosition&&f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft);}return{top:k,left:n};};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);c.offset.initialize=c.noop;},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0;}return{top:b,left:d};},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position"))){a.style.position="relative";}var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b)){b=b.call(a,d,e);}d={top:b.top-e.top+j,left:b.left-e.left+i};"using" in b?b.using.call(a,d):f.css(d);}};c.fn.extend({position:function(){if(!this[0]){return null;}var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left};},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";){a=a.offsetParent;}return a;});}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e){return null;}if(f!==w){return this.each(function(){if(j=wa(this)){j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());}else{this[d]=f;}});}else{return(j=wa(e))?"pageXOffset" in j?j[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d];}};});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null;};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null;};c.fn[d]=function(f){var e=this[0];if(!e){return f==null?null:this;}if(c.isFunction(f)){return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()));});}return"scrollTo" in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px");};});A.jQuery=A.$=c;})(window);
/*
 * jQuery UI 1.8.4
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a){return !c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this);}).length;}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.4",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]]);}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode){for(var e=0;e<b.length;e++){a.options[b[e][0]]&&b[e][1].apply(a.element,d);}}}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b);},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden"){return false;}b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0){return true;}a[b]=1;d=a[b]>0;a[b]=0;return d;},isOverAxis:function(a,b,d){return a>b&&a<b+d;},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i);},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d);},a);}):this._focus.apply(this,arguments);},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","");},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none");},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1));}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1));}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a;},zIndex:function(a){if(a!==j){return this.css("zIndex",a);}if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0){return b;}}a=a.parent();}}return 0;}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l){g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;}if(m){g-=parseFloat(c.curCSS(f,"margin"+this,true))||0;}});return g;}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j){return i["inner"+b].call(this);}return this.each(function(){c.style(this,h,d(this,f)+"px");});};c.fn["outer"+b]=function(f,g){if(typeof f!=="number"){return i["outer"+b].call(this,f);}return this.each(function(){c.style(this,h,d(this,f,true,g)+"px");});};});c.extend(c.expr[":"],{data:function(a,b,d){return !!c.data(a,d[3]);},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map"){return false;}a=c("img[usemap=#"+d+"]")[0];return !!a&&k(a);}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a);},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable");}});}})(jQuery);
/*
 * jQuery UI Widget 1.8.4
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b,j){var k=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c){if(!a||b.filter(a,[this]).length){b("*",this).add([this]).each(function(){b(this).triggerHandler("remove");});}}return k.call(b(this),a,c);});};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget;}b.expr[":"][f]=function(h){return !!b.data(h,a);};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g);};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a]);};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_"){return h;}e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false;}}):this.each(function(){var g=b.data(this,a);if(g){d&&g.option(d);g._init();}else{b.data(this,a,new c(d,this));}});return h;};};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c);};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy();});this._create();this._init();},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled");},widget:function(){return this.element;},option:function(a,c){var d=a,e=this;if(arguments.length===0){return b.extend({},e.options);}if(typeof a==="string"){if(c===j){return this.options[a];}d={};d[a]=c;}b.each(d,function(f,h){e._setOption(f,h);});return e;},_setOption:function(a,c){this.options[a]=c;if(a==="disabled"){this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);}return this;},enable:function(){return this._setOption("disabled",false);},disable:function(){return this._setOption("disabled",true);},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f];}}this.element.trigger(c,d);return !(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented());}};})(jQuery);(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of){return p.apply(this,arguments);}a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0};}else{if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()};}else{if(a.of.preventDefault){a.at="left top";g=h=0;i={top:a.of.pageY,left:a.of.pageX};}else{g=b.outerWidth();h=b.outerHeight();i=b.offset();}}}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1){f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];}f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f;});if(d.length===1){d[1]=d[0];}e[0]=parseInt(e[0],10)||0;if(e.length===1){e[1]=e[0];}e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right"){i.left+=g;}else{if(a.at[0]==="center"){i.left+=g/2;}}if(a.at[1]==="bottom"){i.top+=h;}else{if(a.at[1]==="center"){i.top+=h/2;}}i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right"){j.left-=k;}else{if(a.my[0]==="center"){j.left-=k/2;}}if(a.my[1]==="bottom"){j.top-=l;}else{if(a.my[1]==="center"){j.top-=l/2;}}j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k,elemHeight:l,offset:e,my:a.my,at:a.at});});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}));});};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left);},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top);}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"?-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0;}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0;}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position"))){a.style.position="relative";}var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using" in b?b.using.call(a,e):d.css(e);};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument){return null;}if(a){return this.each(function(){c.offset.setOffset(this,a);});}return q.call(this);};}})(jQuery);(function(c,j){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b);}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string"){this.originalTitle="";}var a=this,b=a.options,d=b.title||a.originalTitle||"&#160;",f=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault();}}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(i){a.moveToTop(false,i);});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var e=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover");},function(){h.removeClass("ui-state-hover");}).focus(function(){h.addClass("ui-state-focus");}).blur(function(){h.removeClass("ui-state-focus");}).click(function(i){a.close(i);return false;}).appendTo(e);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",f).html(d).prependTo(e);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose)){b.beforeClose=b.beforeclose;}e.find("*").add(e).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe();},_init:function(){this.options.autoOpen&&this.open();},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a;},widget:function(){return this.uiDialog;},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide){b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a);});}else{b.uiDialog.hide();b._trigger("close",a);}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0]){d=Math.max(d,c(this).css("z-index"));}});c.ui.dialog.maxZ=d;}return b;}},isOpen:function(){return this._isOpen;},moveToTop:function(a,b){var d=this,f=d.options;if(f.modal&&!a||!f.stack&&!f.modal){return d._trigger("focus",b);}if(f.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=f.zIndex;}if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ);}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d;},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(f){if(f.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),e=g.filter(":first");g=g.filter(":last");if(f.target===g[0]&&!f.shiftKey){e.focus(1);return false;}else{if(f.target===e[0]&&f.shiftKey){g.focus(1);return false;}}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._trigger("open");a._isOpen=true;return a;}},_createButtons:function(a){var b=this,d=false,f=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(f);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return !(d=true);});if(d){c.each(a,function(e,h){e=c('<button type="button"></button>').text(e).click(function(){h.apply(b.element[0],arguments);}).appendTo(g);c.fn.button&&e.button();});f.appendTo(b.uiDialog);}},_makeDraggable:function(){function a(e){return{position:e.position,offset:e.offset};}var b=this,d=b.options,f=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",e,a(h));},drag:function(e,h){b._trigger("drag",e,a(h));},stop:function(e,h){d.position=[h.position.left-f.scrollLeft(),h.position.top-f.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",e,a(h));c.ui.dialog.overlay.resize();}});},_makeResizable:function(a){function b(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size};}a=a===j?this.options.resizable:a;var d=this,f=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:d._minHeight(),handles:a,start:function(e,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",e,b(h));},resize:function(e,h){d._trigger("resize",e,b(h));},stop:function(e,h){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();d._trigger("resizeStop",e,b(h));c.ui.dialog.overlay.resize();}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se");},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height);},_position:function(a){var b=[],d=[0,0],f;if(a){if(typeof a==="string"||typeof a==="object"&&"0" in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1){b[1]=b[0];}c.each(["left","top"],function(g,e){if(+b[g]===b[g]){d[g]=b[g];b[g]=e;}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")};}a=c.extend({},c.ui.dialog.prototype.options.position,a);}else{a=c.ui.dialog.prototype.options.position;}(f=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a);f||this.uiDialog.hide();},_setOption:function(a,b){var d=this,f=d.uiDialog,g=f.is(":data(resizable)"),e=false;switch(a){case"beforeclose":a="beforeClose";break;case"buttons":d._createButtons(b);e=true;break;case"closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case"dialogClass":f.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case"disabled":b?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":b?d._makeDraggable():f.draggable("destroy");break;case"height":e=true;break;case"maxHeight":g&&f.resizable("option","maxHeight",b);e=true;break;case"maxWidth":g&&f.resizable("option","maxWidth",b);e=true;break;case"minHeight":g&&f.resizable("option","minHeight",b);e=true;break;case"minWidth":g&&f.resizable("option","minWidth",b);e=true;break;case"position":d._position(b);break;case"resizable":g&&!b&&f.resizable("destroy");g&&typeof b==="string"&&f.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case"title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break;case"width":e=true;break;}c.Widget.prototype._setOption.apply(d,arguments);e&&d._size();},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width){a.width=a.minWidth;}b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight());}});c.extend(c.ui.dialog,{version:"1.8.4",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid;}return"ui-dialog-title-"+a;},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a);}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay";}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ;});},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault();}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize);}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b;},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"));});this.maxZ=b;},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px";}else{return c(document).height()+"px";}},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px";}else{return c(document).width()+"px";}},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this);});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()});}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el);}});})(jQuery);(function(d,p){function u(){return ++v;}function w(){return ++x;}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true);},_setOption:function(a,e){if(a=="selected"){this.options.collapsible&&e==this.options.selected||this.select(e);}else{this.options[a]=e;this._tabify();}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+u();},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:");},_cookie:function(){var a=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[a].concat(d.makeArray(arguments)));},_ui:function(a,e){return{tab:a,panel:e,index:this.anchors.index(a)};},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var a=d(this);a.html(a.data("label.tabs")).removeData("label.tabs");});},_tabify:function(a){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter");}var b=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0];});this.panels=d([]);this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||(q=d("base")[0])&&l===q.href)){j=f.hash;f.href=j;}if(h.test(j)){b.panels=b.panels.add(b._sanitizeSelector(j));}else{if(j!=="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=b._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(c.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[g-1]||b.list);f.data("destroy.tabs",true);}b.panels=b.panels.add(f);}else{c.disabled.push(g);}}});if(a){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false;}});if(typeof c.selected!=="number"&&c.cookie){c.selected=parseInt(b._cookie(),10);}if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length){c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));}c.selected=c.selected||(this.lis.length?0:-1);}else{if(c.selected===null){c.selected=-1;}}c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return b.lis.index(g);}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(c.selected>=0&&this.anchors.length){this.panels.eq(c.selected).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[c.selected],b.panels[c.selected]));});this.load(c.selected);}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null;});}else{c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));}this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);a=0;for(var i;i=this.lis[a];a++){d(i)[d.inArray(a,c.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");}c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g);},n=function(g,f){f.removeClass("ui-state-"+g);};this.lis.bind("mouseover.tabs",function(){k("hover",d(this));});this.lis.bind("mouseout.tabs",function(){n("hover",d(this));});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"));});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"));});}var m,o;if(c.fx){if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1];}else{m=o=c.fx;}}var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);b._trigger("show",null,b._ui(g,f[0]));});}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");b._trigger("show",null,b._ui(g,f[0]));},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);b.element.dequeue("tabs");});}:function(g,f){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");b.element.dequeue("tabs");};this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),j=b.panels.filter(":not(.ui-tabs-hide)"),l=d(b._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false;}c.selected=b.anchors.index(this);b.abort();if(c.collapsible){if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){s(g,j);}).dequeue("tabs");this.blur();return false;}else{if(!j.length){c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){r(g,l);});b.load(b.anchors.index(this));this.blur();return false;}}}c.cookie&&b._cookie(c.selected,c.cookie);if(l.length){j.length&&b.element.queue("tabs",function(){s(g,j);});b.element.queue("tabs",function(){r(g,l);});b.load(b.anchors.index(this));}else{throw"jQuery UI Tabs: Mismatching fragment identifier.";}d.browser.msie&&this.blur();});this.anchors.bind("click.tabs",function(){return false;});},_getIndex:function(a){if(typeof a=="string"){a=this.anchors.index(this.anchors.filter("[href$="+a+"]"));}return a;},destroy:function(){var a=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e){this.href=e;}var b=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){b.removeData(h+".tabs");});});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");});a.cookie&&this._cookie(null,a.cookie);return this;},add:function(a,e,b){if(b===p){b=this.anchors.length;}var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,a).replace(/#\{label\}/g,e));a=!a.indexOf("#")?a.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var i=d("#"+a);i.length||(i=d(h.panelTemplate).attr("id",a).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(b>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode);}else{e.insertBefore(this.lis[b]);i.insertBefore(this.panels[b]);}h.disabled=d.map(h.disabled,function(k){return k>=b?++k:k;});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]));});this.load(0);}this._trigger("add",null,this._ui(this.anchors[b],this.panels[b]));return this;},remove:function(a){a=this._getIndex(a);var e=this.options,b=this.lis.eq(a).remove(),c=this.panels.eq(a).remove();if(b.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(a+(a+1<this.anchors.length?1:-1));}e.disabled=d.map(d.grep(e.disabled,function(h){return h!=a;}),function(h){return h>=a?--h:h;});this._tabify();this._trigger("remove",null,this._ui(b.find("a")[0],c[0]));return this;},enable:function(a){a=this._getIndex(a);var e=this.options;if(d.inArray(a,e.disabled)!=-1){this.lis.eq(a).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(b){return b!=a;});this._trigger("enable",null,this._ui(this.anchors[a],this.panels[a]));return this;}},disable:function(a){a=this._getIndex(a);var e=this.options;if(a!=e.selected){this.lis.eq(a).addClass("ui-state-disabled");e.disabled.push(a);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]));}return this;},select:function(a){a=this._getIndex(a);if(a==-1){if(this.options.collapsible&&this.options.selected!=-1){a=this.options.selected;}else{return this;}}this.anchors.eq(a).trigger(this.options.event+".tabs");return this;},load:function(a){a=this._getIndex(a);var e=this,b=this.options,c=this.anchors.eq(a)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs")){this.element.dequeue("tabs");}else{this.lis.eq(a).addClass("ui-state-processing");if(b.spinner){var i=d("span",c);i.data("label.tabs",i.html()).html(b.spinner);}this.xhr=d.ajax(d.extend({},b.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();b.cache&&d.data(c,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.success(k,n);}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.error(k,n,a,c);}catch(m){}}}));e.element.dequeue("tabs");return this;}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr;}this._cleanup();return this;},url:function(a,e){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",e);return this;},length:function(){return this.anchors.length;}});d.extend(d.ui.tabs,{version:"1.8.4"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(a,e){var b=this,c=this.options,h=b._rotate||(b._rotate=function(i){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var k=c.selected;b.select(++k<b.anchors.length?k:0);},a);i&&i.stopPropagation();});e=b._unrotate||(b._unrotate=!e?function(i){i.clientX&&b.rotate(null);}:function(){t=c.selected;h();});if(a){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h();}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate;}return this;}});})(jQuery);
/* Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (MIT_LICENSE.txt)
 * and GPL Version 2 (GPL_LICENSE.txt) licenses.
 *
 * Version: 1.1.1
 * Requires jQuery 1.3+
 * Docs: http://docs.jquery.com/Plugins/livequery
 */
(function($){$.extend($.fn,{livequery:function(type,fn,fn2){var self=this,q;if($.isFunction(type)){fn2=fn,fn=type,type=undefined;}$.each($.livequery.queries,function(i,query){if(self.selector==query.selector&&self.context==query.context&&type==query.type&&(!fn||fn.$lqguid==query.fn.$lqguid)&&(!fn2||fn2.$lqguid==query.fn2.$lqguid)){return(q=query)&&false;}});q=q||new $.livequery(this.selector,this.context,type,fn,fn2);q.stopped=false;q.run();return this;},expire:function(type,fn,fn2){var self=this;if($.isFunction(type)){fn2=fn,fn=type,type=undefined;}$.each($.livequery.queries,function(i,query){if(self.selector==query.selector&&self.context==query.context&&(!type||type==query.type)&&(!fn||fn.$lqguid==query.fn.$lqguid)&&(!fn2||fn2.$lqguid==query.fn2.$lqguid)&&!this.stopped){$.livequery.stop(query.id);}});return this;}});$.livequery=function(selector,context,type,fn,fn2){this.selector=selector;this.context=context;this.type=type;this.fn=fn;this.fn2=fn2;this.elements=[];this.stopped=false;this.id=$.livequery.queries.push(this)-1;fn.$lqguid=fn.$lqguid||$.livequery.guid++;if(fn2){fn2.$lqguid=fn2.$lqguid||$.livequery.guid++;}return this;};$.livequery.prototype={stop:function(){var query=this;if(this.type){this.elements.unbind(this.type,this.fn);}else{if(this.fn2){this.elements.each(function(i,el){query.fn2.apply(el);});}}this.elements=[];this.stopped=true;},run:function(){if(this.stopped){return;}var query=this;var oEls=this.elements,els=$(this.selector,this.context),nEls=els.not(oEls);this.elements=els;if(this.type){nEls.bind(this.type,this.fn);if(oEls.length>0){$.each(oEls,function(i,el){if($.inArray(el,els)<0){$.event.remove(el,query.type,query.fn);}});}}else{nEls.each(function(){query.fn.apply(this);});if(this.fn2&&oEls.length>0){$.each(oEls,function(i,el){if($.inArray(el,els)<0){query.fn2.apply(el);}});}}}};$.extend($.livequery,{guid:0,queries:[],queue:[],running:false,timeout:null,checkQueue:function(){if($.livequery.running&&$.livequery.queue.length){var length=$.livequery.queue.length;while(length--){$.livequery.queries[$.livequery.queue.shift()].run();}}},pause:function(){$.livequery.running=false;},play:function(){$.livequery.running=true;$.livequery.run();},registerPlugin:function(){$.each(arguments,function(i,n){if(!$.fn[n]){return;}var old=$.fn[n];$.fn[n]=function(){var r=old.apply(this,arguments);$.livequery.run();return r;};});},run:function(id){if(id!=undefined){if($.inArray(id,$.livequery.queue)<0){$.livequery.queue.push(id);}}else{$.each($.livequery.queries,function(id){if($.inArray(id,$.livequery.queue)<0){$.livequery.queue.push(id);}});}if($.livequery.timeout){clearTimeout($.livequery.timeout);}$.livequery.timeout=setTimeout($.livequery.checkQueue,20);},stop:function(id){if(id!=undefined){$.livequery.queries[id].stop();}else{$.each($.livequery.queries,function(id){$.livequery.queries[id].stop();});}}});$.livequery.registerPlugin("append","prepend","after","before","wrap","attr","removeAttr","addClass","removeClass","toggleClass","empty","remove","html");$(function(){$.livequery.play();});})(jQuery);var Claypool={Logging:{},extend:function(t,$class,args){$class.apply(t,args||[]);}};(function($,$$){$$.Logging.NullLogger=function(){var nullFunction=function(){return this;};$.extend(this,{debug:nullFunction,info:nullFunction,warn:nullFunction,error:nullFunction,exception:nullFunction});return this;};$.extend($$.Logging.NullLogger.prototype,{getLogger:function(){return new $$.Logging.NullLogger();}});})(jQuery,Claypool);(function($,$$){$$.Configuration={ioc:[],aop:[],logging:[],mvc:{"hijax:a":[],"hijax:form":[],"hijax:button":[],"hijax:event":[]},env:{dev:{},prod:{},test:{}}};})(jQuery,Claypool);(function($,$$){$$.CachingStrategy$Interface={cache:null,size:null,clear:function(){throw new $$.MethodNotImplementedError();},add:function(id,object){throw new $$.MethodNotImplementedError();},remove:function(id){throw new $$.MethodNotImplementedError();},find:function(id){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool);(function($,$$){$$.SimpleCachingStrategy=function(options){$.extend(true,this,options);this.logger=new $$.Logging.NullLogger();this.clear();return this;};$.extend($$.SimpleCachingStrategy.prototype,$$.CachingStrategy$Interface,{clear:function(){this.logger.debug("Clearing Cache.");this.cache=null;this.cache={};this.size=0;},add:function(id,object){this.logger.debug("Adding To Cache: %s",id);if(!this.cache[id]){this.cache[id]=object;this.size++;return id;}return null;},remove:function(id){this.logger.debug("Removing From Cache id: %s",id);if(this.find(id)){return(delete this.cache[id])?--this.size:-1;}return null;},find:function(id){this.logger.debug("Searching Cache for id: %s",id);return this.cache[id]||null;}});})(jQuery,Claypool);(function($,$$){$$.Context=function(options){$$.extend(this,$$.SimpleCachingStrategy);$.extend(true,this,options);this.logger=new $$.Logging.NullLogger();};$.extend($$.Context.prototype,$$.SimpleCachingStrategy.prototype,{get:function(id){throw new $$.MethodNotImplementedError();},put:function(id,object){throw new $$.MethodNotImplementedError();}});})(jQuery,Claypool);(function($,$$){$$.ContextContributor=function(options){$$.extend(this,$$.Context);$.extend(true,this,options);this.logger=$.logger("Claypool.ContextContributor");};$.extend($$.ContextContributor.prototype,$$.Context.prototype,{registerContext:function(id){throw new $$.MethodNotImplementedError();}});})(jQuery,Claypool);(function($,$$){$$.Router=function(options){$$.extend(this,$$.SimpleCachingStrategy);$.extend(true,this,options);this.logger=$$.Logging.getLogger("Claypool.Router");};$.extend($$.Router.prototype,$$.SimpleCachingStrategy.prototype,{compile:function(patternMap,patternKey){this.logger.debug("compiling patterns for match strategies");var pattern,routable,params;var i,j;patternKey=patternKey.split("|");for(i=0;i<patternMap.length;i++){for(j=0;j<patternKey.length;j++){pattern=patternMap[i][patternKey[j]];params=[];if(pattern){this.logger.debug("Compiling \n\tpattern: %s for \n\ttarget.",pattern);pattern=pattern.replace(/\<\:(.+?)\:\>/g,function(){var name,i=arguments[0].indexOf("(");name=arguments[0].substring(2,i);params.push(name);return arguments[0].substring(i,arguments[0].length-2);});pattern=pattern.replace(/\|\:\w+\|/g,function(){var name;name=arguments[0].substring(2,arguments[0].length-1);params.push(name);return"([\\w\\-\\.]+)";});this.add(String($.uuid()),{pattern:new RegExp(pattern),payload:patternMap[i],params:params});}}}return this;},first:function(string){this.logger.debug("Using strategy 'first'");var route,id,map={};for(id in this.cache){route=this.find(id);this.logger.debug("checking pattern %s for string %s",route.pattern,string);if(route&&route.pattern&&route.pattern.test&&route.pattern.test(string)){this.logger.debug("found match for \n\tpattern: %s \n\ttarget : %s ",route.pattern,route.payload.controller||route.payload.rewrite);if(route.params&&route.params.length>0){string.replace(route.pattern,function(){var i;for(i=1;i<arguments.length-2;i++){map[route.params[i-1]]=arguments[i];}});}return[$.extend({map:map},route)];}}this.logger.debug("found no match for \n\tpattern: %s",string);return[];},all:function(string){this.logger.debug("Using strategy 'all'");var routeList=[];var route,id,map={};for(id in this.cache){route=this.find(id);this.logger.debug("checking pattern: %s for string %s",route.pattern,string);if(route&&route.pattern&&route.pattern.test&&route.pattern.test(string)){this.logger.debug("found match for \n\tpattern: %s \n\ttarget : %s ",route.pattern,route.payload.controller);if(route.params&&route.params.length>0){string.replace(route.pattern,function(){var i;for(i=1;i<arguments.length-2;i++){map[route.params[i-1]]=arguments[i];}});}routeList.push($.extend({map:map},route));}}if(routeList.length===0){this.logger.debug("found no match for \n\tpattern: %s",string);}return routeList;}});})(jQuery,Claypool);(function($,$$){$$.Factory$Interface={create:function(){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool);(function($,$$){$$.Configurable$Interface={configurationId:null,configuration:null,configurationUrl:null,configurationType:null,getConfig:function(){throw new $$.MethodNotImplementedError();},loadConfig:function(){throw new $$.MethodNotImplementedError();},setConfig:function(){throw new $$.MethodNotImplementedError();},updateConfig:function(){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool);(function($,$$){$$.Scanner$Interface={scan:function(){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool);(function($,$$){$$.BaseFactory=function(options){$$.extend(this,$$.SimpleCachingStrategy);$.extend(true,this,{configurationUrl:"./app/configs/config.js",configurationType:"json"},options);this.logger=new $$.Logging.NullLogger();return this;};$.extend($$.BaseFactory.prototype,$$.SimpleCachingStrategy.prototype,$$.Factory$Interface,$$.Configurable$Interface,$$.Scanner$Interface,{getConfig:function(){if(!this.configuration){this.logger.debug("Configuration for <%s> has not been set explicitly or has been updated implicitly.",this.configurationId);try{this.logger.debug("$$.Configuration: \n %o",$$.Configuration);if($$.Configuration[this.configurationId]){this.logger.debug("Found Claypool.Configuration");this.configuration=$$.Configuration[this.configurationId];}else{if(!$$.Configuration){this.loadConfig();}}}catch(e){this.logger.exception(e);throw new $$.ConfigurationError(e);}}return this.configuration;},loadConfig:function(options){options=options||{};this.configurationUrl=options.url||this.configurationUrl;this.logger.debug("Attempting to load configuration from: %s",this.configurationUrl);var _this=this;try{jQuery.ajax({type:"Get",url:this.configurationUrl,async:false,data:{},dataType:"json",success:function(json){if(_this.configurationUrl=="./app/configs/config.js"){$$.Configuration=$$.Configuration||{};$.extend(true,$$.Configuration,json);}else{_this.setConfig(_this.configurationId,json?json:null);}if(options.callback){options.callback($$.Configuration);}}});}catch(e){this.logger.exception(e);throw new $$.ConfigurationError(e);}},setConfig:function(id,configuration){this.logger.debug("Setting configuration");this.configuration=configuration;$$.Configuration[id]=configuration;},updateConfig:function(id){throw new $$.MethodNotImplementedError();}});})(jQuery,Claypool);(function($,$$){$$.Error=function(e,options){$.extend(true,this,e||new Error());this.name=(options&&options.name?options.name:"Claypool.UnknownError")+" > Claypool.Error"+(this.name?(" > "+this.name):"");this.message=(options&&options.name?options.name:"No Message Provided \n Nested exception is:\n\t")+(this.message||"UnknownError");};})(jQuery,Claypool);(function($,$$){$$.ConfigurationError=function(e,options){var details={name:"Claypool.ConfigurationError",message:"An error occured trying to locate or load the system configuration."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool);(function($,$$){$$.MethodNotImplementedError=function(e,options){var details={name:"Claypool.MethodNotImplementedError",message:"Method not implemented."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool);(function($,$$){$$.NameResolutionError=function(e,options){var details={name:"Claypool.NameResolutionError",message:"Unexpected error resolving name."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool);(function($,$$){var globalContext=[],guid=0,plugins={},env;$.extend(plugins,{$:function(id,value){var a,i;if(value===undefined){a=null;for(i=0;i<globalContext.length;i++){a=globalContext[i]().get(id);if(a){return a;}}return null;}else{globalContext[0]().put(id,value);}},register:function(context,priority){if(Math.abs(priority)>(globalContext.length-1)/2){if(priority===0&&$.isFunction(context.getContext)){globalContext[0]=context.getContext;}else{if(priority!==0){if($.isFunction(context.getContext)){globalContext.push(context.getContext);}if($.isFunction(context.getCachedContext)){globalContext.unshift(context.getCachedContext);}}}}},uuid:function(){return new Date().getTime()+"_"+(++guid)+"_"+Math.round(Math.random()*100000000);},resolve:function(namespacedName){var _resolver;var namespaces;var target;var i;try{_resolver=function(name){return this[name];};namespaces=namespacedName.split(".");target=null;for(i=0;i<namespaces.length;i++){target=_resolver.call(target,namespaces[i]);if(target===undefined){return target;}}return target;}catch(e){throw new $$.NameResolutionError(e);}},config:function(){var config,subconfig;if(arguments.length===0){return $$.Configuration;}else{if(arguments.length===1&&typeof(arguments[0])=="string"){return $.resolve("Claypool.Configuration."+arguments[0]);}else{config=$.resolve("Claypool.Configuration."+arguments[0]);if(config){subconfig=arguments[1];if(subconfig instanceof Array){config=$.merge(config,subconfig);}else{if(subconfig instanceof Object){config=$.extend(true,config,subconfig);}}}}}return this;},env:function(){var applocation,automap;if(arguments.length==2){env=$.extend(true,env||{},$.config("env."+arguments[0]),$.config("env."+arguments[1]));return env;}else{if(arguments.length===0){automap=$.config("env.automap");for(applocation in automap){if(new RegExp(applocation).exec(window.location)){return $.env("defaults",automap[applocation]);}}}else{if(arguments.length===1&&!(typeof(arguments[0])=="string")){return $.config("env",arguments[0]);}return env[arguments[0]]||null;}}return null;}});$.extend($$,plugins);$.extend($,plugins);})(jQuery,Claypool);Claypool.Logging={NullLogger:null,getLogger:null};(function($,$$,$$Log){$.extend($$Log,{loggerFactory:null,getLogger:function(category){if(!$$Log.loggerFactory){$$Log.loggerFactory=new $$Log.Factory();}if($$Log.updated){$$Log.loggerFactory.updateConfig();$$Log.updated=false;}return $$Log.loggerFactory.create(category);}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.Level={DEBUG:0,INFO:1,WARN:2,ERROR:3,NONE:4};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.Logger$Interface={debug:function(){throw new $$.MethodNotImplementedError();},info:function(){throw new $$.MethodNotImplementedError();},warn:function(){throw new $$.MethodNotImplementedError();},error:function(){throw new $$.MethodNotImplementedError();},exception:function(){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.NullLogger=function(){var nullFunction=function(){return this;};$.extend(this,{debug:nullFunction,info:nullFunction,warn:nullFunction,error:nullFunction,exception:nullFunction});};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.Logger=function(options){this.category="root";this.level=null;try{$.extend(true,this,options);this.level=$$Log.Level[this.level?this.level:"NONE"];try{this.appender=new ($.resolve(this.appender||"Claypool.Logging.ConsoleAppender"))(options);}catch(e){try{this.appender=new $$Log.ConsoleAppender(options);}catch(e){this.appender=new $$Log.SysOutAppender(options);}}return this;}catch(e){return new $$Log.NullLogger();}};$.extend($$Log.Logger.prototype,$$Log.Logger$Interface,{debug:function(){if(this.level<=$$Log.Level.DEBUG){this.appender.append("DEBUG",this.category,arguments);return this;}else{this.debug=function(){return this;};}return this;},info:function(){if(this.level<=$$Log.Level.INFO){this.appender.append("INFO",this.category,arguments);return this;}else{this.debug=function(){return this;};}return this;},warn:function(){if(this.level<=$$Log.Level.WARN){this.appender.append("WARN",this.category,arguments);return this;}else{this.debug=function(){return this;};}return this;},error:function(){if(this.level<=$$Log.Level.ERROR){this.appender.append("ERROR",this.category,arguments);return this;}else{this.debug=function(){return this;};}return this;},exception:function(e){if(this.level<$$Log.Level.NONE){if(e){this.appender.append("EXCEPTION",this.category,e);return this;}}else{this.debug=function(){return this;};}return this;}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.Appender$Interface={formatter:null,append:function(level,category,message){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.SysOutAppender=function(options){var rhinoCheck=function(){var isRhino=null;isRhino.toString();};if($.isFunction(print)&&(window.load!==undefined)&&$.isFunction(window.load)){try{rhinoCheck();}catch(caught){if(caught.rhinoException){$.extend(true,this,options);this.formatter=new $$Log.DefaultFormatter(options);return this;}}}throw new $$Log.NoAppendersAvailableError();};$.extend($$Log.SysOutAppender.prototype,$$Log.Appender$Interface,{append:function(level,category,message){switch(level){case"DEBUG":print(this.formatter.format(level,category,message));break;case"INFO":print(this.formatter.format(level,category,message));break;case"WARN":print(this.formatter.format(level,category,message));break;case"ERROR":print(this.formatter.format(level,category,message));break;case ("EXCEPTION"):var msg=message&&message.rhinoException?"\n\t"+message.rhinoException.message+"\tcolumn: "+message.rhinoException.columnNumber()+"\tline: "+message.rhinoException.lineNumber():"UNKNOWN RUNTIME ERROR";print(this.formatter.format(level,category,msg));break;}}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.ConsoleAppender=function(options){var test;try{if(window&&window.console&&window.console.log){try{if("Envjs" in window){return new $$Log.SysOutAppender(options);}}catch(e){}$.extend(true,this,options);this.formatter=new $$Log.FireBugFormatter(options);return this;}else{return new $$Log.SysOutAppender(options);}}catch(e){throw e;}return this;};$.extend($$Log.ConsoleAppender.prototype,$$Log.Appender$Interface,{append:function(level,category,message){switch(level){case ("DEBUG"):console.log.apply(console,this.formatter.format(level,category,message));break;case ("INFO"):console.info.apply(console,this.formatter.format(level,category,message));break;case ("WARN"):console.warn.apply(console,this.formatter.format(level,category,message));break;case ("ERROR"):console.error.apply(console,this.formatter.format(level,category,message));break;case ("EXCEPTION"):console.error.apply(console,this.formatter.format(level,category,message.message?[message.message]:[]));console.trace();break;}}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.Formatter$Interface={format:function(level,category,objects){throw new $.MethodNotImplementedError();}};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.FireBugFormatter=function(options){$.extend(true,this,options);};$.extend($$Log.FireBugFormatter.prototype,$$Log.Formatter$Interface,{getDateString:function(){return" ["+new Date().toUTCString()+"] ";},format:function(level,category,objects){var msgPrefix=category+" "+level+": "+this.getDateString();objects=(objects&&objects.length&&(objects.length>0))?objects:[];var msgFormat=(objects.length>0)?objects[0]:null;if(typeof(msgFormat)!="string"){objects.unshift(msgPrefix);}else{objects[0]=msgPrefix+msgFormat;}return objects;}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){var parseFormatRegExp=/((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/,functionRenameRegExp=/function ?(.*?)\(/,objectRenameRegExp=/\[object (.*?)\]/;$$Log.DefaultFormatter=function(options){$.extend(true,this,options);};$.extend($$Log.DefaultFormatter.prototype,$$Log.Formatter$Interface,{getDateString:function(){return" ["+new Date().toUTCString()+"] ";},format:function(level,category,objects){var msgPrefix=" "+level+":  "+this.getDateString()+"{"+category+"} ";var msg=[msgPrefix?msgPrefix:""];var format=objects[0];var objIndex=0;if(typeof(format)!="string"){format="";objIndex=-1;}var parts=this.parseFormat(format);var i;for(i=0;i<parts.length;++i){if(parts[i]&&typeof(parts[i])=="object"){parts[i].appender.call(this,objects[++objIndex],msg);}else{this.appendText(parts[i],msg);}}for(i=objIndex+1;i<objects.length;++i){this.appendText(" ",msg);if(typeof(objects[i])=="string"){this.appendText(objects[i],msg);}else{this.appendObject(objects[i],msg);}}return msg.join("");},parseFormat:function(format){var parts=[];var appenderMap={s:this.appendText,d:this.appendInteger,i:this.appendInteger,f:this.appendFloat};var type;var appender;var precision;var m;for(m=parseFormatRegExp.exec(format);m;m=parseFormatRegExp.exec(format)){type=m[8]?m[8]:m[5];appender=type in appenderMap?appenderMap[type]:this.appendObject;precision=m[3]?parseInt(m[3],10):(m[4]=="."?-1:0);parts.push(format.substr(0,m[0][0]=="%"?m.index:m.index+1));parts.push({appender:appender,precision:precision});format=format.substr(m.index+m[0].length);}parts.push(format);return parts;},objectToString:function(object){try{return object+"";}catch(e){return null;}},appendText:function(object,msg){msg.push(this.objectToString(object));},appendNull:function(object,msg){msg.push(this.objectToString(object));},appendString:function(object,msg){msg.push(this.objectToString(object));},appendInteger:function(object,msg){msg.push(this.objectToString(object));},appendFloat:function(object,msg){msg.push(this.objectToString(object));},appendFunction:function(object,msg){var m=functionRenameRegExp.exec(this.objectToString(object));var name=m?m[1]:"function";msg.push(this.objectToString(name));},appendObject:function(object,msg){try{if(object===undefined){this.appendNull("undefined",msg);}else{if(object===null){this.appendNull("null",msg);}else{if(typeof object=="string"){this.appendString(object,msg);}else{if(typeof object=="number"){this.appendInteger(object,msg);}else{if(typeof object=="function"){this.appendFunction(object,msg);}else{if(object.nodeType==1){this.appendSelector(object,msg);}else{if(typeof object=="object"){this.appendObjectFormatted(object,msg);}else{this.appendText(object,msg);}}}}}}}}catch(e){}},appendObjectFormatted:function(object,msg){var text=this.objectToString(object);var m=objectRenameRegExp.exec(text);msg.push(m?m[1]:text);},appendSelector:function(object,msg){msg.push(object.nodeName.toLowerCase());if(object.id){msg.push(object.id);}if(object.className){msg.push(object.className);}msg.push("</span>");},appendNode:function(node,msg){var attr;var i;var child;if(node.nodeType==1){msg.push("<",node.nodeName.toLowerCase(),">");for(i=0;i<node.attributes.length;++i){attr=node.attributes[i];if(!attr.specified){continue;}msg.push(attr.nodeName.toLowerCase(),'="',attr.nodeValue,'"');}if(node.firstChild){for(child=node.firstChild;child;child=child.nextSibling){this.appendNode(child,html);}msg.push("</",node.nodeName.toLowerCase(),">");}else{msg.push("/>");}}else{if(node.nodeType==3){msg.push(node.nodeValue);}}}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.Factory=function(options){$$.extend(this,$$.BaseFactory);this.configurationId="logging";$.extend(true,this,options);this.logger=new $$Log.Logger({category:"Claypool.Logging.Factory",level:"INFO",appender:"Claypool.Logging.ConsoleAppender"});this.attemptedConfigure=false;};$.extend($$Log.Factory.prototype,$$.BaseFactory.prototype,{create:function(category){var categoryParts,subcategory,loggerConf,rootLoggerConf;if(!this.configuration){if(!this.attemptedConfigure){this.logger.warn("Claypool Logging was not initalized correctly. Logging will not occur unless initialized.");}this.attemptedConfigure=true;return new $$Log.NullLogger();}else{categoryParts=category.split(".");for(i=0;i<categoryParts.length;i++){subcategory=categoryParts.slice(0,categoryParts.length-i).join(".");loggerConf=this.find(subcategory);if(loggerConf!==null){loggerConf.category=category;return new $$Log.Logger(loggerConf);}}rootLoggerConf=this.find("root");this.logger.debug("root logging category is set to %s",rootLoggerConf);if(rootLoggerConf!==null){rootLoggerConf.category=category;return new $$Log.Logger(rootLoggerConf);}}this.logger.warn("No Matching category: %s Please configure a root logger.",category);return new $$Log.NullLogger();},updateConfig:function(){var loggingConfiguration;var logconf;var i;try{this.logger.debug("Configuring Claypool Logging");this.clear();loggingConfiguration=this.getConfig()||[];for(i=0;i<loggingConfiguration.length;i++){try{logconf=loggingConfiguration[i];this.add(logconf.category,logconf);}catch(ee){this.logger.exception(ee);return false;}}}catch(e){this.logger.exception(e);throw new $$Log.ConfigurationError(e);}return true;}});})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.ConfigurationError=function(e,options){$.extend(this,new $$.ConfigurationError(e,options||{name:"Claypool.Logging.ConfigurationError",message:"An error occured trying to configure the logging system."}));};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$$Log.NoAppendersAvailableError=function(e,options){$.extend(this,new $$.Error(e,options||{name:"Claypool.Logging.NoAppendersAvailableError",message:"An error occured trying to configure the logging system."}));};})(jQuery,Claypool,Claypool.Logging);(function($,$$,$$Log){$.extend($,{logger:function(name){return $$Log.getLogger(name);},logging:function(){if(arguments.length===0){return $.config("logging");}else{$$Log.updated=true;return $.config("logging",arguments[0]);}}});var $log;$.extend($,{debug:function(){$log=$log||$.logger("jQuery");$log.debug.apply($log,arguments);return this;},info:function(){$log=$log||$.logger("jQuery");$log.info.apply($log,arguments);return this;},warn:function(){$log=$log||$.logger("jQuery");$log.warn.apply($log,arguments);return this;},error:function(){$log=$log||$.logger("jQuery");$log.error.apply($log,arguments);return this;},exception:function(){$log=$log||$.logger("jQuery");$log.exception.apply($log,arguments);return this;}});})(jQuery,Claypool,Claypool.Logging);Claypool.Application={};(function($,$$,$$App){var CONTEXT_PRIORITY=0;$$App.context=null;$.extend($$App,{getContext:function(){if(!$$App.context){$$App.context=new $$App.Context();}return $$App.context;},Initialize:function(callback){$(document).trigger("claypool:initialize",[$$App]);if(callback){callback();}$(document).trigger("ApplicationLoaded");return $$App.getContext();},Reinitialize:function(callback){$(document).trigger("claypool:reinitialize",[$$App]);if(callback){callback();}$(document).trigger("ApplicationReloaded");return $$App.getContext();}});$.register($$App,CONTEXT_PRIORITY);$$.Commands={};})(jQuery,Claypool,Claypool.Application);(function($,$$,$$App){$$App.Context=function(options){$$.extend(this,$$.Context);this.contextContributors={};$.extend(true,this,options);this.logger=$.logger("Claypool.Application.Context");};$.extend($$App.Context.prototype,$$.Context.prototype,{get:function(id){var contextObject,contributor,ns;try{ns=typeof(id)=="string"&&id.indexOf("#")>-1?[id.split("#")[0],"#"+id.split("#")[1]]:["",id];if(!this.find(ns[0])){this.add(ns[0],new $$.SimpleCachingStrategy());}this.logger.debug("Searching application context for object: %s",id);contextObject=null;contextObject=this.find(ns[0]).find(ns[1]);if(contextObject!==null){this.logger.debug("Found object in global application context. Object id: %s",id);return contextObject;}else{this.logger.debug("Searching for object in contributed application context. Object id: %s",id);for(contributor in this.contextContributors){this.logger.debug("Checking Application Context Contributor %s.",contributor);contextObject=this.contextContributors[contributor].get(id);if(contextObject!==null){this.logger.debug("Found object in contributed application context. Object id: %s",id);return contextObject;}}}this.logger.debug("Cannot find object in any application context. Object id: %s",id);return null;}catch(e){throw new $$App.ContextError(e);}},put:function(id,object){var ns,nscache;ns=typeof(id)=="string"&&id.indexOf("#")>-1?[id.split("#")[0],"#"+id.split("#")[1]]:["",id];nscache=this.find(ns[0]);if(!nscache){nscache=new $$.SimpleCachingStrategy();this.add(ns[0],nscache);}if(nscache.find(ns[0])){nscache.remove(ns[1]);}this.logger.debug("Adding object to global application context %s",id);nscache.add(ns[1],object);}});})(jQuery,Claypool,Claypool.Application);(function($,$$,$$App){$$App.ContextContributor=function(options){$$.extend(this,$$.ContextContributor);$.extend(true,this,options);this.logger=$.logger("Claypool.Application.ContextContributor");return this;};$.extend($$App.ContextContributor.prototype,$$.ContextContributor.prototype,{registerContext:function(id){this.logger.info("Registering Context id: %s",id);$$App.getContext().contextContributors[id]=this;}});})(jQuery,Claypool,Claypool.Application);(function($,$$,$$App){$$App.Aware=function(options){$.extend(this,options);this.logger=$.logger("Claypool.Application.Aware");};$.extend($$App.Aware.prototype,{$:function(){return $$App.getContext();}});})(jQuery,Claypool,Claypool.Application);(function($,$$,$$App){$$App.ContextError=function(e,options){var details={name:"Claypool.Application.ContextError",message:"An unexpected error occured while searching the application context."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool,Claypool.Application);(function($,$$,$$App){$.extend($,{app:function(){return $$App.getContext();},boot:function(cb){$$App.Initialize(cb);return this;},reboot:function(cb){$$App.Reinitialize(cb);return this;},manage:function(containerName,managedId,callback){$(document).bind("claypool:initialize",function(event,context){if(!context[managedId]){context[managedId]=new ($.resolve(containerName))();if(context.ContextContributor&&$.isFunction(context.ContextContributor)){context[managedId].registerContext(containerName);}}else{context[managedId].factory.updateConfig();}if(callback&&$.isFunction(callback)){callback(context[managedId]);}}).bind("claypool:reinitialize",function(event,context){context[managedId]=new ($.resolve(containerName))();if(context.ContextContributor&&$.isFunction(context.ContextContributor)){context[managedId].registerContext(containerName);}if(callback&&$.isFunction(callback)){callback(context[managedId]);}});return this;}});})(jQuery,Claypool,Claypool.Application);Claypool.AOP={};(function($,$$,$$AOP){$.manage("Claypool.AOP.Container","claypool:AOP");})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.Aspect=function(options){this.id=null;this.type=null;$$.extend(this,$$.SimpleCachingStrategy);$.extend(true,this,options);this.logger=$.logger("Claypool.AOP.Aspect");this.strategy=this.strategy||"all";};$.extend($$AOP.Aspect.prototype,$$.SimpleCachingStrategy.prototype,{weave:function(){var _this=this;var pattern;var targetObject;if(!this.target){_this.logger.warn("No pointcut was specified.  Cant weave aspect.");return;}var _weave=function(methodName){var pointcut,cutline,details;try{_this.logger.debug("Weaving Advice %s for Aspect %s",methodName,_this.id);_this.hasPrototype=typeof(_this.target.prototype)!="undefined";cutline=_this.hasPrototype?_this.target.prototype[methodName]:_this.target[methodName];pointcut=_this.advise(cutline,_this._target,methodName);if(!_this.hasPrototype){_this.target[methodName]=pointcut;}else{_this.target.prototype[methodName]=pointcut;}details={pointcut:pointcut,cutline:cutline,method:methodName,target:_this._target};return details;}catch(e){throw new $$AOP.WeaveError(e,"Weave");}};if(this.size===0){pattern=new RegExp(this[this.type?this.type:"method"]);targetObject=this.target.prototype?this.target.prototype:this.target;for(var f in targetObject){if($.isFunction(targetObject[f])&&pattern.test(f)){this.logger.debug("Adding aspect to method %s",f);this.add($.uuid(),_weave(f));if(this.strategy==="first"){break;}}}}return this;},unweave:function(){var aspect;try{for(var id in this.cache){aspect=this.find(id);if(!this.hasPrototype){this.target[this.method]=aspect.cutline;}else{this.target.prototype[this.method]=aspect.cutline;}this.hasPrototype=null;}this.clear();}catch(e){throw new $$AOP.WeaveError(e,"Unweave");}return true;},advise:function(cutline){throw new $$.MethodNotImplementedError();}});})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.After=function(options){$$.extend(this,$$AOP.Aspect);$.extend(true,this,options);this.logger=$.logger("Claypool.AOP.After");this.type="after";};$.extend($$AOP.After.prototype,$$AOP.Aspect.prototype,{advise:function(cutline,target,method){var _this=this;try{return function(){var returnValue=cutline.apply(this,arguments);return _this.advice.apply(_this,[returnValue,target,method]);};}catch(e){throw new $$AOP.AspectError(e,"After");}}});})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.Before=function(options){$$.extend(this,$$AOP.Aspect);$.extend(true,this,options);this.logger=$.logger("Claypool.AOP.Before");this.type="before";};$.extend($$AOP.Before.prototype,$$AOP.Aspect.prototype,{advise:function(cutline,target,method){var _this=this;try{return function(){var args=[];_this.logger.debug("cutline arguments length %s",arguments.length);for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}args.push({target:target,method:method});_this.logger.debug("applying advice to %s.%s",target,method);_this.advice.apply(_this,args);return cutline.apply(this,arguments);};}catch(e){throw new $$AOP.AspectError(e,"Before");}}});})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.Around=function(options){$$.extend(this,$$AOP.Aspect);$.extend(true,this,options);this.logger=$.logger("Claypool.AOP.Around");this.type="around";};$.extend($$AOP.Around.prototype,$$AOP.Aspect.prototype,{advise:function(cutline,target,method){var _this=this;try{return function(){var invocation={object:this,args:arguments};return _this.advice.apply(_this,[{object:invocation.object,arguments:invocation.args,target:target,method:method,proceed:function(){var returnValue=cutline.apply(invocation.object,invocation.args);return returnValue;}}]);};}catch(e){throw new $$AOP.AspectError(e,"Around");}}});})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.Factory=function(options){$$.extend(this,$$.BaseFactory);$.extend(true,this,options);this.configurationId="aop";this.aspectCache=null;this.logger=$.logger("Claypool.AOP.Factory");this.aspectCache=new $$.SimpleCachingStrategy();};$.extend($$AOP.Factory.prototype,$$.BaseFactory.prototype,{updateConfig:function(lateTarget){var _this=this;var aopConfiguration;var aopconf;var i;var targetRef,namespace,prop,genconf;try{this.logger.debug("Configuring Claypool AOP AspectFactory");aopConfiguration=this.getConfig()||[];this.logger.debug("AOP Configurations: %d",aopConfiguration.length);for(i=0;i<aopConfiguration.length;i++){aopconf=aopConfiguration[i];if(typeof(aopconf.target)=="string"){try{if(!$.isFunction(aopconf.advice)){aopconf.advice=$.resolve(aopconf.advice);}if(aopconf.target.match("^ref://")){targetRef=aopconf.target.substr(6,aopconf.target.length);$(document).bind("claypool:ioc:"+targetRef,function(event,id,iocContainer){_this.logger.debug("Creating aspect id %s for instance %s",aopconf.id);var instance,ns;ns=typeof(id)=="string"&&id.indexOf("#")>-1?[id.split("#")[0],"#"+id.split("#")[1]]:["",id];if(!iocContainer.find(ns[0])){iocContainer.add(ns[0],new $$.SimpleCachingStrategy());}instance=iocContainer.find(ns[0]).find(ns[1]);aopconf.literal={scope:"global",object:id};aopconf._target=aopconf.target;aopconf.target=instance._this;_this.add(aopconf.id,aopconf);var aspect=_this.create(aopconf.id);instance._this=aspect.target;iocContainer.find(ns[0]).remove(ns[1]);iocContainer.find(ns[0]).add(ns[1],instance);_this.logger.debug("Created aspect \n%s, \n%s");}).bind("claypool:predestroy:"+targetRef,function(event,instance){_this.logger.debug("Destroying aspect id %s for instance %s",aopconf.id);var aspect=_this.aspectCache.find(aopconf.id);if(aspect&&aspect.unweave){aspect.unweave();}});}else{if(aopconf.target.match(/\.\*$/)){this.logger.debug("Broad aspect target %s",aopconf.target);if(!lateTarget||(lateTarget.clazz.match(aopconf.target))){namespace=$.resolve(aopconf.target.substring(0,aopconf.target.length-2));for(prop in namespace){if($.isFunction(namespace[prop])){genconf=$.extend({},aopconf,{id:aopconf.id+$.uuid(),target:namespace[prop],_target:aopconf.target.substring(0,aopconf.target.length-1)+prop});this.logger.debug("Creating aspect id %s [%s] (%s)",aopconf.target,prop,genconf.id);this.add(genconf.id,genconf);this.create(genconf.id);}}}}else{if(!lateTarget||(lateTarget.clazz.match(aopconf.target))){this.logger.debug("Creating aspect id %s",aopconf.id);aopconf._target=aopconf.target;aopconf.target=$.resolve(aopconf.target);this.add(aopconf.id,aopconf);this.create(aopconf.id);}}}}catch(e){this.logger.exception(e);}}}}catch(e){this.logger.exception(e);throw new $$AOP.ConfigurationError(e);}return true;},create:function(id,namespace){var configuration;var _continuation;var aspect=this.aspectCache.find(id);var _this=this;var createWeave=function(options){var aspect=null;if(options.after){aspect=new $$AOP.After(options);}else{if(options.before){aspect=new $$AOP.Before(options);}else{if(options.around){aspect=new $$AOP.Around(options);}}}return aspect.weave();};if(aspect){return aspect;}else{try{this.logger.debug("Looking for configuration for aspect %s",id);configuration=this.find(id);if(configuration===undefined||configuration===null){this.logger.debug("%s is not an Aspect.",id);return null;}else{this.logger.debug("Found configuration for instance %s",id);if(configuration.selector){this.logger.debug("Attaching contructor to an active selector");_this=this;_continuation=function(){aspect=createWeave(configuration);_this.aspectCache.add(configuration.id+"#"+this.toString(),aspect);return aspect;};if(configuration.active){$(configuration.selector).livequery(_continuation);}else{$(configuration.selector).each(_continuation);}}else{aspect=createWeave(configuration);this.aspectCache.add(id,aspect);}return aspect;}}catch(e){this.logger.exception(e);throw new $$AOP.FactoryError(e);}}}});})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.Container=function(options){$$.extend(this,$$.Application.ContextContributor);$.extend(true,this,options);this.factory=null;this.logger=$.logger("Claypool.AOP.Container");this.logger.debug("Configuring Claypool AOP Container");this.factory=new $$AOP.Factory(options);this.factory.updateConfig();};$.extend($$AOP.Container.prototype,$$.Application.ContextContributor.prototype,{get:function(id){var aspect,ns;try{ns=typeof(id)=="string"&&id.indexOf("#")>-1?[id.split("#")[0],"#"+id.split("#")[1]]:["",id];if(!this.find(ns[0])){this.add(ns[0],new $$.SimpleCachingStrategy());}this.logger.debug("Search for a container managed aspect :%s",id);aspect=this.find(ns[0]).find(ns[1]);if(aspect===undefined||aspect===null){this.logger.debug("Can't find a container managed aspect :%s",id);aspect=this.factory.create(ns[1],ns[0]);if(aspect!==null){this.find(ns[0]).add(ns[1],aspect);return aspect;}}else{this.logger.debug("Found container managed instance :%s",id);return aspect;}}catch(e){this.logger.exception(e);throw new $$AOP.ContainerError(e);}return null;}});})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.ContainerError=function(e,options){var details={name:"Claypool.AOP.ContainerError",message:"An error occured inside the aop container."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.ConfigurationError=function(e,options){var details={name:"Claypool.AOP.ConfigurationError",message:"An error occured updating the aop container configuration."};$.extend(this,new $$.ConfigurationError(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.FactoryError=function(e,options){var details={name:"Claypool.AOP.FactoryError",message:"An error occured creating the aspect from the configuration."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.WeaveError=function(e,options){var details={name:"Claypool.AOP.WeaveError",message:"An error occured weaving or unweaving the aspect."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool,Claypool.AOP);(function($,$$,$$AOP){$$AOP.AspectError=function(e,options){var details={name:"Claypool.AOP.AspectError",message:"An error occured while applying an aspect."};$.extend(this,new $$.Error(e,options?{name:(options.name?(options.name+" > "):"")+details.name,message:(options.message?(options.message+" \n "):"")+details.message}:details));};})(jQuery,Claypool,Claypool.AOP);(function($,$$,$AOP){$.extend($,{filters:function(){if(arguments.length===0){return $.config("aop");}else{return $.config("aop",arguments[0]);}}});})(jQuery,Claypool,Claypool.AOP);Claypool.IoC={};(function($,$$,$$IoC){$.manage("Claypool.IoC.Container","claypool:IoC");})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.Instance=function(id,configuration){$.extend(this,{_this:null,id:null,configuration:null,guid:$.uuid(),type:null,id:id,configuration:configuration||{},logger:$.logger("Claypool.IoC.Instance")});this.logger.category=this.logger.category+"."+this.id;};$.extend($$IoC.Instance.prototype,{precreate:function(){try{this._this={claypoolId:this.id};this.logger.debug("Precreating Instance");$(document).trigger("claypool:precreate",[this._this,this.id]);$(document).trigger("claypool:precreate:"+this.id,[this._this]);return this;}catch(e){this.logger.error("An Error occured in the Pre-Create LifeCycle Phase");this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},create:function(){var factory,factoryClass,factoryMethod,retVal;var _this,_thisOrUndefined,C_onstructor,args;var injections,injectionValue;try{this.logger.debug("Applying Selector to Instance");if(this.configuration.selector){this._this=$(this.configuration.selector);this.logger.debug("Result for selector : ",this._this);}else{this.logger.debug("Using default empty object");this._this={};}if(this.configuration.factory){factory={};if(this.configuration.factory.substring(6,0)=="ref://"){this.logger.debug("Retreiving Factory from Application Context");factory=$.$(this.configuration.factory);}else{this.logger.info("Creating Instance from Factory");factoryClass=this.resolveConstructor(this.configuration.factory);retval=factoryClass.apply(factory,this.configuration.options);factory=retval||factory;}this.logger.debug("Applying factory creation method");factoryMethod=this.configuration.factoryMethod||"create";_this=factory[factoryMethod].apply(factory,this.configuration.options);this._this=$.extend(true,_this,this._this);}else{this.logger.info("Creating Instance simulating constructor: %s",this.configuration.clazz);C_onstructor=this.resolveConstructor(this.configuration.clazz);args=this.configuration.options||[];_this={};switch(args.length){case 0:_this=new C_onstructor();break;case 1:_this=new C_onstructor(args[0]);break;case 2:_this=new C_onstructor(args[0],args[1]);break;case 3:_this=new C_onstructor(args[0],args[1],args[2]);break;case 4:_this=new C_onstructor(args[0],args[1],args[2],args[3]);break;case 5:_this=new C_onstructor(args[0],args[1],args[2],args[3],args[4]);break;case 6:_this=new C_onstructor(args[0],args[1],args[2],args[3],args[4],args[5]);break;case 7:_this=new C_onstructor(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);break;case 8:_this=new C_onstructor(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7]);break;case 9:_this=new C_onstructor(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8]);break;default:_thisOrUndefined=C_onstructor.apply(_this,args);_this=_thisOrUndefined||_this;}_this.$ns=this.configuration.clazz;_this.$log=$.logger(_this.$ns);_this.$log.debug("Created new instance of %s",_this.$ns);this._this=$.extend(true,_this,this._this);}injections=this.configuration.inject||{};for(var dependency in injections){injectionValue=injections[dependency];if($.isFunction(injectionValue.substring)&&(injectionValue.substring(0,6)=="ref://")){injections[dependency]=$.$(injectionValue.substring(6,injectionValue.length));}}$.extend(this._this,injections);$(document).trigger("claypool:create",[this._this,this.id]);$(document).trigger("claypool:create:"+this.id,[this._this]);return this._this;}catch(e){this.logger.error("An Error occured in the Create LifeCycle Phase");this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},postcreate:function(){try{this.logger.debug("PostCreate invoked");$(document).trigger("claypool:postcreate",[this._this,this.id]);$(document).trigger("claypool:postcreate:"+this.id,[this._this]);return this._this;}catch(e){this.logger.error("An Error occured in the Post-Create LifeCycle Phase");this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},predestroy:function(){try{this.logger.debug("Predestory invoked");$(document).trigger("claypool:predestroy",[this._this,this.id]);$(document).trigger("claypool:predestroy:"+this.id,[this._this]);return this._this;}catch(e){this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},destroy:function(){try{this.logger.info("Destroy invoked");$(document).trigger("claypool:destroy",[this._this,this.id]);$(document).trigger("claypool:destroy:"+this.id,[this._this]);return delete this._this;}catch(e){this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},postdestroy:function(){try{this.logger.debug("Postdestory invoked");$(document).trigger("claypool:postdestroy",[this.id]);$(document).trigger("claypool:postdestroy:"+this.id);return this;}catch(e){this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},resolveConstructor:function(constructorName){var constructor;try{constructor=$.resolve(constructorName);if($.isFunction(constructor)){this.logger.debug(" Resolved "+constructorName+" to a function");return constructor;}else{throw new Error("Constructor is not a function: "+constructorName);}}catch(e){this.logger.exception(e);throw new $$IoC.ConstructorResolutionError(e);}}});})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.Factory=function(options){$$.extend(this,$$.BaseFactory);$.extend(true,this,options);this.configurationId="ioc";this.lazyLoadAttempts={};this.logger=$.logger("Claypool.IoC.Factory");};$.extend($$IoC.Factory.prototype,$$.BaseFactory.prototype,{createLifeCycle:function(instance){try{instance.precreate();instance.create();instance.postcreate();}catch(e){this.logger.error("An Error occured in the Creation Lifecycle.");this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},destroyLifeCycle:function(instance){try{instance.predestroy();instance.destroy();instance.postdestroy();}catch(e){this.logger.error("An Error occured in the Destory Lifecycle.");this.logger.exception(e);throw new $$IoC.LifeCycleError(e);}},create:function(id,namespace){var configuration,instance,_this=this,remote,folder,file,appbase,literal;try{namespace=namespace||"";if(!this.find(namespace)){this.logger.debug("Adding cache for namespace %s",namespace);this.add(namespace,new $$.SimpleCachingStrategy());}this.logger.debug("Looking for configuration for instance %s%s",namespace,id);configuration=this.find(namespace).find(id);if(configuration===null){this.logger.warn("No known configuration for instance %s%s",namespace,id);remote=id.match(/#([a-z]+([A-Z]?[a-z]+)+)([A-Z][a-z]+)+/);if(remote){_this.logger.debug("resolving lazyload %s",id);literal=[$$.Namespaces[namespace]];folder=namespace||"";literal[1]=remote.pop();literal[1]=literal[1]+"s";appbase=$.env("appbase");appbase=(appbase==null)?"/":typeof(appbase)=="string"?appbase:appbase[namespace];folder=appbase+folder+literal[1].toLowerCase()+"/";literal[2]=remote[1].substring(0,1).toUpperCase()+remote[1].substring(1);file=remote[1].toLowerCase()+".js";_this.logger.debug("attempting to lazyload %s from %s%s",id,folder,file);if(_this.lazyLoadAttempts[folder+file]){_this.logger.debug("already attempted to load %s%s",folder,file);return null;}else{_this.lazyLoadAttempts[folder+file]=1;$.ajax({async:false,url:folder+file,dataType:"text",timeout:3000,success:function(text){_this.logger.info("lazyloaded %s ",literal.join("."));if(!$.env("debug")){jQuery.globalEval(text);}else{eval(text);}var config={id:id,namespace:namespace,clazz:literal.join(".")};if(literal[1]=="Views"){config.selector="#"+literal[2].substring(0,1).toLowerCase()+literal[2].substring(1);}_this.find(namespace).add(id,config);try{$$.Application["claypool:AOP"].factory.updateConfig(config);}catch(e){_this.logger.error("Failed in late binding to aop configuration").exception(e);}},error:function(xhr,status,e){_this.logger.error("failed (%s) to load %s%s",xhr.status,folder,file).exception(e);}});_this.logger.info("completed lazyloaded for %s%s ",id,namespace);return _this.create(id,namespace);}}else{_this.logger.warn("id requested did not match those applicable for late loading %s",id);}return null;}else{this.logger.debug("Found configuration for instance %s%s",namespace,id);instance=new $$IoC.Instance(configuration.id,configuration);if(configuration.active&&configuration.selector){this.logger.debug("Attaching contructor to an active selector");instance.precreate();instance._this["@claypool:activeobject"]=configuration.selector;instance._this["@claypool:id"]=instance.id;jQuery(configuration.selector).livequery(function(){_this.logger.debug("Processing Creation Lifecycle.");_this.createLifeCycle(instance);},function(){_this.logger.debug("Processing Destruction Lifecycle.");_this.destroyLifeCycle(instance);});}else{this.logger.debug("Processing Creation Lifecycle.");this.createLifeCycle(instance);}return instance;}}catch(e){this.logger.exception(e);throw new $$IoC.FactoryError(e);}},updateConfig:function(){var iocConfiguration;var iocconf;var i;try{this.logger.debug("Configuring Claypool IoC Factory");iocConfiguration=this.getConfig()||[];this.logger.debug("IoC Configurations: %d",iocConfiguration.length);for(i=0;i<iocConfiguration.length;i++){try{iocconf=iocConfiguration[i];if(iocconf.scan&&iocconf.factory){this.logger.debug("Scanning %s with %s",iocconf.scan,iocconf.factory);iocConfiguration=iocConfiguration.concat(iocconf.factory.scan(iocconf.scan,iocconf.namespace));}else{this.logger.debug("IoC Configuration for Id: %s%s",iocconf.namespace||"",iocconf.id);if(iocconf.namespace){if(!this.find(iocconf.namespace)){this.add(iocconf.namespace,new $$.SimpleCachingStrategy());}this.find(iocconf.namespace).add(iocconf.id,iocconf);}else{if(!this.find("")){this.add("",new $$.SimpleCachingStrategy());}this.find("").add(iocconf.id,iocconf);}}}catch(e){this.logger.exception(e);return false;}}}catch(e){this.logger.exception(e);throw new $$IoC.ConfigurationError(e);}return true;}});})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.Container=function(options){$$.extend(this,$$.Application.ContextContributor);$.extend(true,this,options);this.factory=null;this.logger=$.logger("Claypool.IoC.Container");this.logger.debug("Configuring Claypool IoC Container");this.factory=new $$IoC.Factory();this.factory.updateConfig();};$.extend($$IoC.Container.prototype,$$.Application.ContextContributor.prototype,{get:function(id){var instance,ns,_this=this;try{ns=typeof(id)=="string"&&id.indexOf("#")>-1?[id.split("#")[0],"#"+id.split("#")[1]]:["",id];if(!this.find(ns[0])){this.add(ns[0],new $$.SimpleCachingStrategy());}this.logger.debug("Searching for a container managed instance :%s",id);instance=this.find(ns[0]).find(ns[1]);if(!instance){this.logger.debug("Can't find a container managed instance :%s",id);instance=this.factory.create(ns[1],ns[0]);if(instance){this.logger.debug("Storing managed instance %s in container",id);this.find(ns[0]).add(ns[1],instance);if(instance._this["@claypool:activeobject"]){$(document).bind("claypool:postcreate:"+instance.id,function(event,reattachedObject,id){_this.logger.info("Reattached Active Object Inside IoC Container");instance._this=reattachedObject;});$(document).bind("claypool:postdestroy:"+instance.id,function(){_this.logger.info("Removed Active Object Inside IoC Container");_this.find(ns[0]).remove(ns[1]);});}else{$(document).trigger("claypool:ioc",[id,this]);$(document).trigger("claypool:ioc:"+id,[id,this]);}return this.find(ns[0]).find(ns[1])._this;}}else{this.logger.debug("Found container managed instance :%s",id);return instance._this;}}catch(e){this.logger.exception(e);throw new $$IoC.ContainerError(e);}return null;}});})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.ContainerError=function(e){$.extend(this,new $$.Error(e,{name:"Claypool.IoC.ContainerError",message:"An error occured in the ioc instance factory."}));};})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.FactoryError=function(e){$.extend(this,new $$.Error(e,{name:"Claypool.IoC.FactoryError",message:"An error occured in the ioc factory."}));};})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.ConfigurationError=function(e){$.extend(this,new $$.ConfigurationError(e,{name:"Claypool.IoC.ConfigurationError",message:"An error occured updating the ioc container configuration."}));};})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.LifeCycleError=function(e){$.extend(this,new $$.Error(e,{name:"Claypool.IoC.LifeCycleError",message:"An error occured during the lifecycle process."}));};})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$IoC.ConstructorResolutionError=function(e){$.extend(this,new $$.NameResolutionError(e,{name:"Claypool.IoC.ConstructorResolutionError",message:"An error occured trying to resolve the constructor."}));};})(jQuery,Claypool,Claypool.IoC);(function($,$$,$$IoC){$$.Namespaces={};$.extend($,{scan:function(){var scanPaths,ns;if(arguments.length===0){return $.config("ioc");}else{scanPaths=[];if($.isPlainObject(arguments[0])){for(ns in arguments[0]){_scan(arguments[0][ns],ns);}}else{if($.isArray(arguments[0])){_scan(arguments[0]);}else{if(typeof arguments[0]=="string"){_scan(arguments[0]);}}}return $.config("ioc",scanPaths);}function _scan(path,namespace){var i;namespace=namespace||"";if($.isArray(path)){if(!(namespace in $$.Namespaces)){$$.Namespaces[namespace]=path[0].split(".")[0];}for(i=0;i<path.length;i++){scanPaths.push({scan:path[i],factory:$$.MVC.Factory.prototype,namespace:namespace?namespace:null});}}else{if(!(namespace in $$.Namespaces)){$$.Namespaces[namespace]=path;}scanPaths.push({scan:path,factory:$$.MVC.Factory.prototype,namespace:namespace?namespace:null});}}},invert:function(){if(arguments.length===0){return $.config("ioc");}else{return $.config("ioc",arguments[0]);}}});})(jQuery,Claypool,Claypool.IoC);Claypool.MVC={};(function($){$.manage("Claypool.MVC.Container","claypool:MVC",function(container){var i,id,router,config=container.factory.getConfig(),type;for(type in config){container.logger.debug("eagerly loading mvc routers: %s",type);for(i=0;i<config[type].length;i++){id=config[type][i].id;controller=container.get(id);container.logger.debug("attaching mvc core controller: %s",id);if(controller&&!controller.attached){controller.attach();controller.attached=true;}}}});})(jQuery);(function($,$$,$$MVC){$$MVC.View$Interface={update:function(model){throw new $$.MethodNotImplementedError();},think:function(){throw new $$.MethodNotImplementedError();}};})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.Controller=function(options){$$.extend(this,$$.SimpleCachingStrategy);$.extend(true,this,options);this.logger=$.logger("Claypool.MVC.Controller");};$.extend($$MVC.Controller.prototype,$$.SimpleCachingStrategy.prototype,{handle:function(event){throw new $$.MethodNotImplementedError();}});})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.HijaxController=function(options){$$.extend(this,$$MVC.Controller);$.extend(true,this,{forwardingList:[],selector:"",filter:"",active:true,preventDefault:true,stopPropagation:true,hijaxMap:[],resolveQueue:[],strategy:null},options);this.router=new $$.Router();this.bindCache=new $$.SimpleCachingStrategy();this.logger=$.logger("Claypool.MVC.HijaxController");};$.extend($$MVC.HijaxController.prototype,$$MVC.Controller.prototype,{handle:function(data){this.logger.debug("Handling pattern: %s",data.pattern);this.forwardingList=this.router[this.strategy||"all"](data.pattern);this.logger.debug("Resolving matched paterns");var _this=this,_event=data.args[0],extra=[],state={};for(var i=1;i<data.args.length;i++){extra[i-1]=data.args[i];}if(this.forwardingList.length>0){this.logger.debug("normalizing event state params %s",_event);if($.isFunction(this.normalize)){state=this.normalize(_event);}}return jQuery(this.forwardingList).each(function(){var target,action,defaultView,targetId;try{_this.logger.info("Forwaring to registered controller %s",this.payload.controller);target=$.$(this.payload.controller);targetId=this.payload.controller;defaultView=this.payload.controller.match("Controller")?this.payload.controller.replace("Controller","View"):null;defaultView=this.payload.controller.match("Service")?this.payload.controller.replace("Service","View"):defaultView;this.map=$.extend(state,this.map);(function(t){var m,v,c,eventflow=$.extend({},_event,{m:function(){if(arguments.length===0){return m;}else{if(arguments.length===1){if(typeof(arguments[0])=="string"){return m[arguments[0]];}else{if(arguments[0] instanceof Array){m.length+=arguments[0].length;Array.prototype.push.apply(m,arguments[0]);}else{if(arguments[0] instanceof Object){$.extend(true,m,arguments[0]);}}}}else{if(arguments.length===2){if(arguments[1] instanceof Array){if(typeof(arguments[0])=="string"&&!(arguments[0] in m)){m[arguments[0]]=[];}$.merge(m[arguments[0]],arguments[1]);}else{if(arguments[1] instanceof XML||arguments[1] instanceof XMLList){m[arguments[0]]=arguments[1];}else{if(arguments[1] instanceof Object){if(typeof(arguments[0])=="string"&&!(arguments[0] in m)){m[arguments[0]]={};}$.extend(true,m[arguments[0]],arguments[1]);}}}}}}return this;},v:function(view){if(!view){return v;}if(view&&typeof(view)=="string"){view=view.split(".");if(view.length===1){v=view;}else{if(view.length===2){if(view[0]!==""){v=view.join(".");}else{v=v.split(".")[0]+"."+view[1];}}}}return this;},c:function(){var target,action,controller;if(arguments.length===0){return c;}else{if(arguments.length>0&&typeof(arguments[0])=="string"){if(arguments.length>1&&$.isPlainObject(arguments[1])){t.map=$.extend(true,t.map||{},arguments[1]);}target=arguments[0].split(".");v=target[0].match("Controller")?target[0].replace("Controller","View"):null;v=target[0].match("Service")?target[0].replace("Service","View"):v;action=(target.length>1&&target[1].length>0)?target[1]:"handle";controller=_this.find(target[0]);if(controller===null){controller=$.$(target[0]);_this.add(target[0],controller);}controller[action||"handle"].apply(controller,[this].concat(extra));}}return this;},render:_this.renderer(),reset:function(){m={flash:[],length:0};v=defaultView;c=targetId;m.reset=function resetm(){m={flash:[],length:0};m.reset=resetm;return eventflow;};v.reset=function resetv(){v=defaultView;v.reset=resetv;return eventflow;};c.reset=function resetc(){c=targetId;c.reset=resetc;return eventflow;};return this;},params:function(param){if(arguments.length===0){return t.map?t.map:{};}else{return(t.map&&(param in t.map))?t.map[param]:null;}}});eventflow.reset();target[t.payload.action||"handle"].apply(target,[eventflow].concat(extra));})(this);}catch(e){e=e?e:new Error();if(e.name&&e.name.indexOf("Claypool.Application.ContextError")>-1){_this.logger.warn("No controller with id: %s",this.payload.controller);}else{_this.logger.exception(e);throw e;}}});},attach:function(){this.router.compile(this.hijaxMap,this.routerKeys);var _this=this;if(this.active&&(this.selector!==""||this.filter!=="")){this.logger.debug("Actively Hijaxing %s's %s%s",this.hijaxKey,this.selector,this.filter);$(this.selector+this.filter).livequery(function(){_this.hijax(this);});}else{if(this.selector!==""||this.filter!==""){this.logger.debug("Hijaxing Current %s's.",this.hijaxKey);$(this.selector+this.filter).each(function(){_this.hijax(this);});}else{if(document!==undefined){this.logger.debug("Hijaxing Document For %s's.",this.hijaxKey);_this.hijax(document);}else{this.logger.warn("Unable to attach controller: %s",options.id);}}}},hijax:function(target){this.logger.debug("Hijaxing %s: %s",this.hijaxKey,target);var _this=this;var _hijax=function(event){var retVal=true;_this.logger.info("Hijaxing %s: ",_this.hijaxKey);if(_this.stopPropagation){_this.logger.debug("Stopping propogation of event");event.stopPropagation();}if(_this.preventDefault){_this.logger.debug("Preventing default event behaviour");event.preventDefault();retVal=false;}_this.handle({pattern:_this.target.apply(_this,arguments),args:arguments,normalize:_this.normalize?_this.normalize:function(){return{};}});return retVal;};if(this.event){$(this.event.split("|")).each(function(){$(target).bind(this+"."+_this.eventNamespace,_hijax);_this.logger.debug("Binding event %s to hijax controller on target",this,target);});}else{$(this.hijaxMap).each(function(){if(this.event&&!_this.bindCache.find(this.event)){_this.bindCache.add(this.event,_this);_this.logger.debug("Binding event %s to controller %s on target %s",this.event,this.controller,target);$(target).bind(this.event+"."+_this.eventNamespace,_hijax);}});}return true;},renderer:function(){var _this=this;var callbackStack=[];return function(callback){var target,controller,action,view,viewMethod,guidedEventRegistration;if(callback&&$.isFunction(callback)){callbackStack.push(callback);}_this.logger.debug(" - Resolving Control - %s)",this.c());try{view=this.v();viewMethod=$.isFunction(this.write)?($.isFunction($.render)?"write":"render"):"update";if(view.indexOf(".")>-1){viewMethod=view.split(".");view=viewMethod[0];viewMethod=viewMethod[viewMethod.length-1];}_this.logger.debug("Calling View %s.%s",view,viewMethod);view=$.$(view);if(view){if($.isFunction(view[viewMethod])){switch(viewMethod){case"write":case"writeln":this[viewMethod](view[viewMethod](this.m(),this));break;case"render":view.write=this.write;view.writeln=this.writeln;view[viewMethod](this.m(),this);break;default:view[viewMethod](this.m(),this);}_this.logger.debug("Cascading callbacks");while(callbackStack.length>0){(callbackStack.pop())();}}else{if(view["@claypool:activeobject"]){guidedEventRegistration="claypool:postcreate:"+view["@claypool:id"]+"."+$.uuid();$(document).bind(guidedEventRegistration,function(event,newView){_this.logger.warn("The view is reattached to the dom.");$(document).unbind(guidedEventRegistration);newView.update(this.m());_this.logger.debug("Cascading callbacks");while(callbackStack.length>0){(callbackStack.pop())();}});}else{_this.logger.debug("View method cannot be resolve",viewMethod);}}}else{_this.logger.warn("Cant resolve view %s. ",this.v());}}catch(e){_this.logger.error("Error resolving flow %s => %s",this.c(),this.v()).exception(e);throw e;}return this;};},target:function(event){throw new $$.MethodNotImplementedError();}});})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.Factory=function(options){$$.extend(this,$$.IoC.Factory);$.extend(true,this,options);this.configurationId="mvc";this.logger=$.logger("Claypool.MVC.Factory");this.add("",new $$.SimpleCachingStrategy());};$.extend($$MVC.Factory.prototype,$$.IoC.Factory.prototype,{updateConfig:function(){var mvcConfig,controller,type,id,i;try{this.logger.debug("Configuring Claypool MVC Controller Factory");mvcConfig=this.getConfig()||{};$(document).trigger("claypool:hijax",[this,this.initializeHijaxController,mvcConfig]);}catch(e){this.logger.exception(e);throw new $$MVC.ConfigurationError(e);}},scan:function(name,namespace){var log=this.logger||$.logger("Claypool.MVC.Factory");var prop,scanBase,configsByConvention=[],conf,idNamingConvention=function(localName,type){return("#"+localName.substring(0,1).toLowerCase()+localName.substring(1)+type.substring(0,type.length-1));},domNamingConvention=function(localName){return("#"+localName.substring(0,1).toLowerCase()+localName.substring(1));};namespace=namespace||"";log.debug("Scanning %s%s",namespace,name);try{if(name.split(".").length==1){scanBase=$.resolve(name);for(prop in scanBase){log.debug("Scan Checking %s.%s",name,prop);if($.isPlainObject(scanBase[prop])){log.debug("Scan Following %s.%s",name,prop);configsByConvention.push(this.scan(name+"."+prop,namespace));}}}else{if(name.split(".").length==2){scanBase=$.resolve(name);for(prop in scanBase){log.debug("Scan Checking %s.%s",name,prop);if($.isFunction(scanBase[prop])){log.debug("Configuring by Convention %s.%s",name,prop);config={id:idNamingConvention(prop,name.split(".")[1]),clazz:name+"."+prop,namespace:namespace};if(name.match(".Views")){config.selector=domNamingConvention(prop);}configsByConvention.push(config);}}}else{if(name.split(".").length==3){scanBase=$.resolve(name);if($.isFunction(scanBase)){log.debug("Appending to Configuration by Convention %s",name);config={id:idNamingConvention(prop,name.split(".")[2]),clazz:name,namespace:namespace};if(name.match(".Views")){config.selector=domNamingConvention(prop);}configsByConvention.push(config);}}}}}catch(e){log.error("Error Scanning %s!!",name).exception(e);}return configsByConvention;},initializeHijaxController:function(mvcConfig,key,clazz,options){var configuration,i;if(mvcConfig[key]){for(i=0;i<mvcConfig[key].length;i++){configuration={};configuration.id=mvcConfig[key][i].id;configuration.clazz=clazz;configuration.options=[$.extend(true,{},options,mvcConfig[key][i])];this.logger.debug("Adding MVC Configuration for Controller Id: %s",configuration.id);this.find("").add(configuration.id,configuration);}}}});})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.Container=function(options){$$.extend(this,$$.Application.ContextContributor);$.extend(true,this,options);this.factory=null;this.logger=$.logger("Claypool.MVC.Container").debug("Configuring Claypool MVC Container");this.factory=new $$MVC.Factory();this.factory.updateConfig();};$.extend($$MVC.Container.prototype,$$.Application.ContextContributor.prototype,{get:function(id){var controller,ns;try{this.logger.debug("Search for a container managed controller : %s",id);ns=typeof(id)=="string"&&id.indexOf("#")>-1?[id.split("#")[0],"#"+id.split("#")[1]]:["",id];if(!this.find(ns[0])){this.add(ns[0],new $$.SimpleCachingStrategy());}controller=this.find(ns[0]).find(ns[1]);if(controller===undefined||controller===null){this.logger.debug("Can't find a container managed controller : %s",id);controller=this.factory.create(ns[1],ns[0]);if(controller!==null){this.find(ns[0]).add(ns[1],controller);return controller._this;}else{return null;}}else{this.logger.debug("Found container managed controller : %s",id);return controller._this;}}catch(e){this.logger.exception(e);throw new $$MVC.ContainerError();}throw new $$MVC.FactoryError(id);}});})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.ContainerError=function(e){$.extend(this,new $$.Error(e,{name:"Claypool.MVC.ContainerError",message:"An error occurred trying to retreive a container managed object."}));};})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.FactoryError=function(e){$.extend(this,new $$.Error(e,{name:"Claypool.MVC.FactoryError",message:"An error occured trying to create the factory object."}));};})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){$$MVC.ConfigurationError=function(e){$.extend(this,new $$.ConfigurationError(e,{name:"Claypool.MVC.ConfigurationError",message:"An error occured during the configuration."}));};})(jQuery,Claypool,Claypool.MVC);(function($,$$,$$MVC){var log;$.extend($,{router:function(confId,options){$(document).bind("claypool:hijax",function(event,_this,registrationFunction,configuration){log=log||$.logger("Claypool.MVC.Plugins");log.debug("registering router plugin: %s",confId);registrationFunction.apply(_this,[configuration,confId,"Claypool.MVC.HijaxController",options]);});return this;},mvc:function(){var prop,config;if(arguments.length===0){return $.config("mvc");}else{config=$.config("mvc");for(prop in arguments[0]){if(prop in config){$.merge(config[prop],arguments[0][prop]);}else{config[prop]=arguments[0][prop];}}return this;}}});$.routes=$.mvc;$.router("hijax:a",{selector:"a",event:"click",strategy:"first",routerKeys:"urls",hijaxKey:"link",eventNamespace:"Claypool:MVC:HijaxLinkController",target:function(event){var link=event.target||event.currentTarget;while(link.tagName.toUpperCase()!="A"){link=$(link).parent()[0];}return $(link).attr("href");},normalize:function(event){var link=event.target||event.currentTarget,data={};while(link.tagName.toUpperCase()!="A"){link=$(link).parent()[0];}var href=$(link).attr("href");var params=href.split("?");params=params&&params.length>1?params[1]:"";$(params.split("&")).each(function(i,param){var name_value=param.split("="),name=name_value[0],value=name_value[1],tmp;if(name in data){if(!$.isArray(data[name])){tmp=data[name];data[name]=[tmp];}data[name].push(value);}else{data[name]=value;}});return data;}}).router("hijax:button",{selector:":button",event:"click",strategy:"all",routerKeys:"ids",hijaxKey:"button",eventNamespace:"Claypool:MVC:HijaxButtonController",target:function(event){return event.target.id;},normalize:function(event){return{};}}).router("hijax:input",{selector:"input",event:"blur|focus",strategy:"all",routerKeys:"ids",hijaxKey:"input",eventNamespace:"Claypool:MVC:HijaxInputController",target:function(event){return event.target.id;},normalize:function(event){var params={};params[event.target.name]=event.target.value;return params;}}).router("hijax:form",{selector:"form",event:"submit",strategy:"first",routerKeys:"urls",hijaxKey:"form",eventNamespace:"Claypool:MVC:HijaxFormController",target:function(event){return event.target.action;},normalize:function(event){var params={},serialized=$(event.target).serializeArray();$(serialized).each(function(i,object){var tmp;if(object.name in params){if(!$.isArray(params[object.name])){tmp=params[object.name];params[object.name]=[];}params[object.name].push(object.value);}else{params[object.name]=object.value;}});return params;}}).router("hijax:event",{strategy:"all",routerKeys:"event",hijaxKey:"event",eventNamespace:"Claypool:MVC:HijaxEventController",target:function(event){return event.type;},normalize:function(event){return{};}});$.mvc_scanner=$$MVC.Factory.prototype;})(jQuery,Claypool,Claypool.MVC);
/* Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Version 2.1.3-pre
 */
(function($){$.fn.bgiframe=($.browser.msie&&/msie 6\.0/i.test(navigator.userAgent)?function(s){s=$.extend({top:"auto",left:"auto",width:"auto",height:"auto",opacity:true,src:"javascript:false;"},s);var html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?"filter:Alpha(Opacity='0');":"")+"top:"+(s.top=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')":prop(s.top))+";left:"+(s.left=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')":prop(s.left))+";width:"+(s.width=="auto"?"expression(this.parentNode.offsetWidth+'px')":prop(s.width))+";height:"+(s.height=="auto"?"expression(this.parentNode.offsetHeight+'px')":prop(s.height))+';"/>';return this.each(function(){if($(this).children("iframe.bgiframe").length===0){this.insertBefore(document.createElement(html),this.firstChild);}});}:function(){return this;});$.fn.bgIframe=$.fn.bgiframe;function prop(n){return n&&n.constructor===Number?n+"px":n;}})(jQuery);(function($){$.objtree=function(opts){ObjTree.prototype.xmlDecl=opts.xmlDecl||ObjTree.prototype.xmlDecl;ObjTree.prototype.attr_prefix=opts.attr_prefix||ObjTree.prototype.attr_prefix;ObjTree.prototype.ns_colon=opts.ns_colon||ObjTree.prototype.ns_colon;ObjTree.prototype.mixed_content_name=opts.ns_colon||ObjTree.prototype.mixed_content_name;};$.xml2js=function(xml,opts){var objtree=$.extend(new ObjTree(),opts||{});var obj=objtree.parseXML(xml);};$.dom2js=function(dom,opts){var objtree=$.extend(new ObjTree(),opts||{});return objtree.parseDOM(dom);};$.x=$.js2xml=function(js,opts){var objtree=$.extend(new ObjTree(),opts||{});return objtree.writeXML(js);};$.fn.x=function(i){var xml="";if(i&&this[i]){xml=$.js2xml(this[i]);}else{for(i=0;i<this.length;i++){xml+=$.js2xml(this[i]);}}return xml;};$.escape=function(xml){return ObjTree.prototype.xml_escape(xml);};$.e3x=function(xml,model){var t=$(xml).clone();$(".e3x",t).each(function(){var result,e3x=$(this).text().replace("{","{__$__:");with(model||{}){eval("result = "+e3x);}$(this).html($.x(result.__$__));});return t;};var ObjTree=function(){return this;};ObjTree.VERSION="0.24";ObjTree.prototype.xmlDecl='<?xml version="1.0" encoding="UTF-8" ?>\n';ObjTree.prototype.attr_prefix="$";ObjTree.prototype.ns_colon="$";ObjTree.prototype.mixed_content_name="$";ObjTree.prototype.parseXML=function(xml){var root;if(window.DOMParser){var xmldom=new DOMParser();var dom=xmldom.parseFromString(xml,"application/xml");if(!dom){return;}root=dom.documentElement;}else{if(window.ActiveXObject){xmldom=new ActiveXObject("Microsoft.XMLDOM");xmldom.async=false;xmldom.loadXML(xml);root=xmldom.documentElement;}}if(!root){return;}return this.parseDOM(root);};ObjTree.prototype.parseDOM=function(root){if(!root){return;}this.__force_array={};if(this.force_array){for(var i=0;i<this.force_array.length;i++){this.__force_array[this.force_array[i]]=1;}}var json=this.parseElement(root);if(this.__force_array[root.nodeName]){json=[json];}if(root.nodeType!=11){var tmp={};tmp[root.nodeName]=json;json=tmp;}return json;};ObjTree.prototype.parseElement=function(elem){if(elem.nodeType==7){return;}if(elem.nodeType==3||elem.nodeType==4){var bool=elem.nodeValue.match(/[^\x00-\x20]/);if(bool==null){return;}return elem.nodeValue;}var retval;var cnt={};if(elem.attributes&&elem.attributes.length){retval={};for(var i=0;i<elem.attributes.length;i++){var key=elem.attributes[i].nodeName;if(typeof(key)!="string"){continue;}var val=elem.attributes[i].nodeValue;if(!val){continue;}key=this.attr_prefix+key;if(typeof(cnt[key])=="undefined"){cnt[key]=0;}cnt[key]++;this.addNode(retval,key,cnt[key],val);}}if(elem.childNodes&&elem.childNodes.length){var textonly=true;if(retval){textonly=false;}for(var i=0;i<elem.childNodes.length&&textonly;i++){var ntype=elem.childNodes[i].nodeType;if(ntype==3||ntype==4){continue;}textonly=false;}if(textonly){if(!retval){retval="";}for(var i=0;i<elem.childNodes.length;i++){retval+=elem.childNodes[i].nodeValue;}}else{if(!retval){retval={};}for(var i=0;i<elem.childNodes.length;i++){var key=elem.childNodes[i].nodeName;if(typeof(key)!="string"){continue;}var val=this.parseElement(elem.childNodes[i]);if(!val){continue;}if(typeof(cnt[key])=="undefined"){cnt[key]=0;}cnt[key]++;this.addNode(retval,key,cnt[key],val);}}}return retval;};ObjTree.prototype.addNode=function(hash,key,cnts,val){key=this.removeColon(key);if(this.__force_array[key]){if(cnts==1){hash[key]=[];}hash[key][hash[key].length]=val;}else{if(cnts==1){hash[key]=val;}else{if(cnts==2){hash[key]=[hash[key],val];}else{hash[key][hash[key].length]=val;}}}};ObjTree.prototype.writeXML=function(tree){var xml="",i;if(typeof(tree)=="undefined"||tree==null){xml="";}else{if(typeof(tree)=="object"&&tree.length){for(i=0;i<tree.length;i++){xml+="\n"+this.writeXML(tree[i]);}}else{if(typeof(tree)=="object"){xml=this.hash_to_xml(null,tree);}else{xml=tree;}}}return xml;};ObjTree.prototype.replaceColon=function(name){return name?(name.substring(0,1)+name.substring(1).replace(this.ns_colon,":")):name;};ObjTree.prototype.removeColon=function(name){return name?(name.replace(":",this.ns_colon)):name;};ObjTree.prototype.hash_to_xml=function(name,tree){var elem=[];var attr=[];name=this.replaceColon(name);for(var key in tree){if(!tree.hasOwnProperty(key)){continue;}var val=tree[key];if(key.charAt(0)!=this.attr_prefix){if(typeof(val)=="undefined"||val==null){elem[elem.length]="<"+key+" />";}else{if(typeof(val)=="object"&&val.length){elem[elem.length]=this.array_to_xml(key,val);}else{if(typeof(val)=="object"){elem[elem.length]=this.hash_to_xml(key,val);}else{elem[elem.length]=this.scalar_to_xml(key,val);}}}}else{if(key==this.mixed_content_name){if(typeof(val)=="undefined"||val==null){elem[elem.length]=" ";}else{if(typeof(val)=="object"&&val.length){elem[elem.length]=this.writeXML(val);}else{if(typeof(val)=="object"){elem[elem.length]=this.hash_to_xml(key,val);}else{elem[elem.length]=this.scalar_to_xml(key,val);}}}}else{attr[attr.length]=" "+(this.replaceColon(key).substring(1))+'="'+(this.xml_escape(val))+'"';}}}var jattr=attr.join("");var jelem=elem.join("");if(typeof(name)=="undefined"||name==null){}else{if(elem.length>0){if(jelem.match(/\n/)){jelem="<"+name+jattr+">\n"+jelem+"</"+name+">\n";}else{jelem="<"+name+jattr+">"+jelem+"</"+name+">\n";}}else{jelem="<"+name+jattr+" />\n";}}return jelem;};ObjTree.prototype.array_to_xml=function(name,array){var out=[];if(!(name==this.mixed_content_name)){name=this.replaceColon(name);}for(var i=0;i<array.length;i++){var val=array[i];if(typeof(val)=="undefined"||val==null){out[out.length]="<"+name+" />";}else{if(typeof(val)=="object"&&val.constructor==Array&&name!=this.mixed_content_name){out[out.length]=this.array_to_xml(name,val);}else{if(typeof(val)=="object"){out[out.length]=this.hash_to_xml(name,val);}else{out[out.length]=this.scalar_to_xml(name,val);}}}}return out.join("");};ObjTree.prototype.scalar_to_xml=function(name,text){if(name=="$"){return this.xml_escape(text);}else{name=this.replaceColon(name);return"<"+name+">"+this.xml_escape(text)+"</"+name+">\n";}};ObjTree.prototype.xml_escape=function(text){return String(text).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");};})(jQuery);(function($){$.json=$.js2json=function(js,filter,indentValue){return __JSON__.stringify(js,filter,indentValue||"");};$.fn.json=$.fn.js2json=function(filter,indentValue){var i,str="[";for(i=0;i<this.length;i++){str+=__JSON__.stringify(this[i],filter,indentValue||"");if(!(i+1==this.length)){str+=",\n";}}return str+"]";};$.eval=$.json2js=function(json,filter){return JSON.parse(json,filter);};$.fn.eval=$.fn.json2js=function(filter){var i,js=[];for(i=0;i<this.length;i++){js[i]=JSON.parse(this[i],filter);}return js;};$.strip=$.stripjs=function(js,filter){return $.eval($.js2json(js,filter,""));};$.fn.strip=$.fn.stripjs=function(filter){return $.eval(this.js2json(filter,""));};var __json__=null;if(typeof JSON!=="undefined"){__json__=JSON;}var JSON={parse:function(text,safe){if(__json__!==null||safe){return(__json__!==null)?__json__.parse(text):__JSON__.parse(text);}if(browser.gecko){return new Function("return "+text)();}return eval("("+text+")");}};var __JSON__=function(){function f(n){return n<10?"0"+n:n;}Date.prototype.toJSON=function(key){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z";};String.prototype.toJSON=function(key){return String(this);};Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==="string"){return c;}return"\\u"+("0000"+(+(a.charCodeAt(0))).toString(16)).slice(-4);})+'"':'"'+string+'"';}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key);}if(typeof rep==="function"){value=rep.call(holder,key,value);}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"xml":return'"'+value.toXMLString().replace("\n","\\\n","g").replace('"','\\"',"g")+'"';case"object":if(!value){return"null";}gap+=indent;partial=[];if(typeof value.length==="number"&&!(value.propertyIsEnumerable("length"))){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null";}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v;}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v);}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v;}}return{stringify:function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" ";}}else{if(typeof space==="string"){indent=space;}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify");}return str("",{"":value});},parse:function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+(+(a.charCodeAt(0))).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j;}throw new SyntaxError("JSON.parse");}};}();var Browser=function(){var o={ie:0,opera:0,gecko:0,webkit:0};var ua=navigator.userAgent,m;if((/KHTML/).test(ua)){o.webkit=1;}m=ua.match(/AppleWebKit\/([^\s]*)/);if(m&&m[1]){o.webkit=parseFloat(m[1]);}if(!o.webkit){m=ua.match(/Opera[\s\/]([^\s]*)/);if(m&&m[1]){o.opera=parseFloat(m[1]);}else{m=ua.match(/MSIE\s([^;]*)/);if(m&&m[1]){o.ie=parseFloat(m[1]);}else{m=ua.match(/Gecko\/([^\s]*)/);if(m){o.gecko=1;m=ua.match(/rv:([^\s\)]*)/);if(m&&m[1]){o.gecko=parseFloat(m[1]);}}}}}return o;};var browser=Browser();})(jQuery);var LOCShare={Models:{},Views:{},Controllers:{}};(function($){$.scan(["LOCShare.Models","LOCShare.Views","LOCShare.Controllers"]);})(jQuery);(function($){$.env({defaults:{locshare:{root:"/share/",app_id:"Jl2ctw2m",request_type:"POST",request_datatype:"json",site_name:"loc.gov",subscribe_url:"/share/sites/Jl2ctw2m/subscribe.php",default_subscribe_url:"/share/sites/Jl2ctw2m/subscribe.php",link:window.location.href,title:window.document.title,object_type:"page",embed_type:null,embed_detail:null,embed_alt:null,download_links:null,download_link_label:null,thumbnail:{url:"",alt:"",width:"",height:""},img_alt_prefix:"Share to ",action:"share",message_max_chars:500,field_defaults:{to_email:"Recipient e-mail address(es)",from_email:"Your e-mail address"},align:"right",position:{horizontal:"auto",vertical:"auto"},show:{buttons:{print:true,subscribe:true,share:true},tabs:{share:true,email:true,save:true},features:{link:true,bookmark:true,download:true}},toolbar:{print:{text:null,style:null},subscribe:{text:null,style:null},share:{text:null,style:null}},autoload:true,allow_plugins:false}},current:{locshare:{}}});})(jQuery);(function($){$.logging([{category:"LOCShare",level:"ERROR"},{category:"LOCShare.Models",level:"ERROR"},{category:"LOCShare.Views",level:"ERROR"},{category:"LOCShare.Controllers",level:"ERROR"},{category:"Claypool",level:"ERROR"},{category:"root",level:"WARN"}]);})(jQuery);(function($){$.routes({"hijax:a":[{id:"#locshare-hash-routes",active:true,filter:"[href*=#locshare]",stopPropagation:true,preventDefault:true,strategy:"first",hijaxMap:[{urls:"print$",controller:"#printController",action:"print"},{urls:"subscribe/close/|:id|$",controller:"#subscribeController",action:"close"},{urls:"subscribe$",controller:"#subscribeController"},{urls:"share/close/|:id|$",controller:"#shareController",action:"close"},{urls:"share/addfavorite/|:id|$",controller:"#shareController",action:"addFavorite"},{urls:"share/showlink/|:id|$",controller:"#shareController",action:"showLink"},{urls:"share/showembed/|:id|$",controller:"#shareController",action:"showEmbed"},{urls:"share/email/confirm/|:id|$",controller:"#shareController",action:"confirmEmail"},{urls:"share$",controller:"#shareController"}]}],"hijax:event":[{id:"#locshare-event-routes",stopPropagation:true,strategy:"all",hijaxMap:[{event:"locshare-start",controller:"#toolbarController",action:"monitor"},{event:"locshare-attach",controller:"#toolbarController",action:"setup"},{event:"locshare-register",controller:"#pluginController",action:"register"},{event:"locshare-unregister",controller:"#pluginController",action:"unregister"},{event:"locshare-open",controller:"#shareController",action:"closeAll"},{event:"locshare-open",controller:"#subscribeController",action:"closeAll"}]}],"hijax:form":[{id:"#locshare-form-routes",active:true,filter:"[action*=#locshare]",stopPropagation:true,preventDefault:true,hijaxMap:[{urls:"share/email/|:id|$",controller:"#shareController",action:"email"}]}]});})(jQuery);(function($){var log,logModel,shareModel,pluginModel,fieldDefaults;$.filters([{id:"#LOCShareControllerBeforeFilter",target:"LOCShare.Controllers.*",before:"([a-z]*)",advice:function(event){log=log||$.logger("LOCShare.Filters");pluginModel=pluginModel||$.$("#pluginModel");var invocation=arguments[arguments.length-1];var target=invocation.target;var method=invocation.method;switch(target){case"LOCShare.Controllers.Toolbar":switch(method){case"setup":pluginModel.run("pre-"+method,{event:event});break;case"create":pluginModel.run("pre-toolbar",{event:event});break;}break;case"LOCShare.Controllers.Print":switch(method){case"print":pluginModel.run("pre-"+method,{event:event});break;}break;case"LOCShare.Controllers.Share":switch(method){case"handle":pluginModel.run("pre-share-open",{event:event});break;case"close":case"closeAll":pluginModel.run("pre-share-close",{event:event});break;}break;case"LOCShare.Controllers.Subscribe":switch(method){case"handle":pluginModel.run("pre-subscribe-open",{event:event});break;case"close":case"closeAll":pluginModel.run("pre-subscribe-close",{event:event});break;}break;}}},{id:"#LOCShareControllerAfterFilter",target:"LOCShare.Controllers.*",after:"([a-z]*)",advice:function(values,target,method){log=log||$.logger("LOCShare.Filters");pluginModel=pluginModel||$.$("#pluginModel");switch(target){case"LOCShare.Controllers.Toolbar":switch(method){case"setup":pluginModel.run("post-"+method,values);break;case"create":pluginModel.run("post-toolbar",values);break;}break;case"LOCShare.Controllers.Print":switch(method){case"print":pluginModel.run("post-"+method,values);break;}break;case"LOCShare.Controllers.Share":switch(method){case"handle":pluginModel.run("post-share-open",values);break;case"close":case"closeAll":pluginModel.run("post-share-close",values);break;}break;case"LOCShare.Controllers.Subscribe":switch(method){case"handle":pluginModel.run("post-subscribe-open",values);break;case"close":case"closeAll":pluginModel.run("post-subscribe-close",values);break;}break;}}}]);$("div.locshare-share-tab-link-list > div > a").livequery("click",function(event){log=log||$.logger("LOCShare");logModel=logModel||$.$("#logModel");shareModel=shareModel||$.$("#shareModel");var id=$(event.target).attr("rel"),options=shareModel.get(id),target=$(event.target).text();log.debug("logging share %s:%s",target,options.link);logModel.post({root:options.root,app_id:options.app_id,request_type:options.request_type,request_datatype:options.request_datatype,object_type:options.object_type,action:"share",target:target,title:options.title,link:options.link,embed_type:null,embed_detail:null,download_link_label:null});});$("div.locshare-save-tab-downloads > div > div > p > a").livequery("click",function(event){log=log||$.logger("LOCShare");logModel=logModel||$.$("#logModel");shareModel=shareModel||$.$("#shareModel");var id=$(event.target).attr("rel"),options=shareModel.get(id),target=$(event.target).text(),link=$(event.target).attr("href");log.debug("logging share %s:%s",target,link);logModel.post({root:options.root,app_id:options.app_id,request_type:options.request_type,request_datatype:options.request_datatype,object_type:options.object_type,action:"download_file",target:null,title:options.title,link:link,embed_type:null,embed_detail:null,download_link_label:target});});$("textarea.locshare-email-tab-form-field-message").livequery("keyup",function(event){if(!log){log=$.logger("LOCShare");}var max=$.env("locshare").message_max_chars,current=$(event.target).attr("value").length,remaining=max-current;if(max<current){log.debug("string too long. trimming %s characters",(current-max));$(event.target).attr("value",$(event.target).attr("value").substring(0,max));}else{log.debug("field contains %s characters, %s remaining",current,remaining);$("span.locshare-email-tab-field-message-remaining-chars",$(event.target).parent("div.locshare-email-tab-input")).text(remaining);}return false;});$("textarea.locshare-email-tab-form-field-message").livequery("keypress",function(event){if(!log){log=$.logger("LOCShare");}if((!event.keyCode||(event.keyCode>46&&event.keyCode<90))&&$(event.target).attr("value").length>=$.env("locshare").message_max_chars){log.debug("preventing keypress");return false;}});$("input.locshare-email-tab-form-field-defaults").livequery("focus",function(event){if(!log){log=$.logger("LOCShare");}if(!fieldDefaults){fieldDefaults=$.env("locshare").field_defaults;}if($(event.target).attr("value")==fieldDefaults[$(event.target).attr("name")]){log.debug("clearing %s",$(event.target).attr("name"));$(event.target).attr("value","");}});$("input.locshare-email-tab-form-field-defaults").livequery("blur",function(event){if(!log){log=$.logger("LOCShare");}if(!fieldDefaults){fieldDefaults=$.env("locshare").field_defaults;}if($(event.target).attr("value")==""){log.debug("resetting %s",$(event.target).attr("name"));$(event.target).attr("value",fieldDefaults[$(event.target).attr("name")]);}});})(jQuery);(function($,$V){var log,template="            <div class='locshare-toolbar'>                <span class='locshare-print-button'>                    <a href='#locshare/print'>                        Print                    </a>                </span>                <span class='locshare-subscribe-button'>                    <a href='#locshare/subscribe'>                        Subscribe                    </a>                </span>                <span class='locshare-share-button'>                    <a href='#locshare/share'>                        Share/Save                    </a>                </span>            </div>        ";$V.Toolbar=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Views.Toolbar");};$.extend($V.Toolbar.prototype,{think:function(model){},update:function(model){var shareToolbar=$(template);$(shareToolbar).attr("id",model.id);switch(model.config.align){case"right":log.debug("aligning right");$(shareToolbar).addClass("right");break;case"left":log.debug("aligning left");$(shareToolbar).addClass("left");break;case"center":log.debug("aligning center");$(shareToolbar).addClass("center");break;}if(false==model.config.show.buttons.print){log.debug("supressing print button");$(".locshare-print-button",shareToolbar).remove();}else{if(null!==model.config.toolbar.print.text){$(".locshare-print-button > a",shareToolbar).html(model.config.toolbar.print.text);}if(null!==model.config.toolbar.print.style){$(".locshare-print-button",shareToolbar).addClass(model.config.toolbar.print.style);}}if(false==model.config.show.buttons.subscribe){log.debug("supressing subscribe button");$(".locshare-subscribe-button",shareToolbar).remove();}else{if(null!==model.config.toolbar.subscribe.text){$(".locshare-subscribe-button > a",shareToolbar).html(model.config.toolbar.subscribe.text);}if(null!==model.config.toolbar.subscribe.style){$(".locshare-subscribe-button",shareToolbar).addClass(model.config.toolbar.subscribe.style);}}if(false==model.config.show.buttons.share){log.debug("supressing share button");$(".locshare-share-button",shareToolbar).remove();}else{if(null!==model.config.toolbar.share.text){$(".locshare-share-button > a",shareToolbar).html(model.config.toolbar.share.text);}if(null!==model.config.toolbar.share.style){$(".locshare-share-button",shareToolbar).addClass(model.config.toolbar.share.style);}}$(model.target).replaceWith(shareToolbar);}});})(jQuery,LOCShare.Views);(function($,$V){var log,cache,subscribeModel,template="            <div class='locshare-dialog-inner'>                <div class='locshare-dialog-head'>                    <a href='#' class='locshare-dialog-close'>Close</a>                </div>                <div class='locshare-dialog-loading'></div>            </div>        ";$V.Subscribe=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Views.Subscribe");cache={};subscribeModel=$.$("#subscribeModel");};$.extend($V.Subscribe.prototype,{think:function(model){},update:function(model){var subscribeDialog,id;if(!(model&&model.id)){log.debug("closing all subscribe dialogs");for(id in cache){if($(cache[id]).dialog("isOpen")){$(cache[id]).dialog("close");}}}else{if(!(model.id in cache)){log.debug("creating new subscribe dialog for id %s",model.id);subscribeDialog=$(template);$(subscribeDialog).attr("id",model.id+"-subscribe-dialog");$("a.locshare-dialog-close",subscribeDialog).attr("href","#locshare/subscribe/close/"+model.id);$("span.locshare-dialog-title-site",subscribeDialog).html(model.options.site_name);log.debug("lazy loading content for subscribe dialog from %s",model.options.subscribe_url);subscribeModel.get({id:model.id,url:model.options.subscribe_url,fallback_url:model.options.default_subscribe_url,request_type:model.options.request_type,request_datatype:model.options.request_datatype},function(content){$("div.locshare-dialog-loading",subscribeDialog).replaceWith(content);});$(subscribeDialog).dialog({autoOpen:false,resizable:false,bgiframe:true,width:"510px",dialogClass:"locshare-dialog locshare-subscribe-arrow",close:function(){$("#"+model.id+" a[href*=locshare/subscribe]").focus();}});cache[model.id]=subscribeDialog;}else{subscribeDialog=cache[model.id];}}if(model&&model.id){if($(subscribeDialog).dialog("isOpen")){log.debug("closing subscribe dialog for id %s",model.id);$(subscribeDialog).dialog("close");}else{log.debug("opening subscribe dialog for id %s",model.id);model.position.top=model.position.top-$(document).scrollTop();$(subscribeDialog).dialog("option","position",[model.position.left,model.position.top]);$(subscribeDialog).dialog("open");$(subscribeDialog).parents(".ui-dialog").appendTo("#"+model.id).focus();}}}});})(jQuery,LOCShare.Views);(function($,$V){var log,cache,fieldError="<div class='locshare-field-error locshare-message-error'></div>",template="        <div class='locshare-dialog-inner'>            <div class='locshare-dialog-head'>                <ul class='locshare-dialog-menu'>                    <li class='locshare-dialog-menu-item locshare-dialog-menu-item-share locshare-dialog-menu-item-active'><a href='#'><span>SHARE</span></a></li>                    <li class='locshare-dialog-menu-item locshare-dialog-menu-item-email'><a href='#'><span>E-MAIL</span></a></li>                    <li class='locshare-dialog-menu-item locshare-dialog-menu-item-save'><a href='#'><span>SAVE</span></a></li>                </ul>                <a href='#' class='locshare-dialog-close'>Close</a>            </div>            <div class='locshare-share-tab'>                <div class='locshare-dialog-content'>                    <div class='locshare-share-tab-link-list e3x'>{                        $(options.urls).map(function(index, value){                            return {                                div:{                                    $class:(index!==0&&index%3==0)?'locshare-share-tab-item-clear':'',                                    a:{                                        $rel:id,                                        $href:this.url,                                        $target:'_blank',                                        $:[                                            this.name,                                            {img:{                                                $src:options.root+this.icon,                                                $alt:options.img_alt_prefix+this.name                                            }}                                        ]                                    }                                }                            };                        }).x()                    }</div>                </div>                <div class='locshare-dialog-footer'>                    <a href='http://www.loc.gov/homepage/legal.html#privacy_policy'                       target='_blank' class='locshare-privacy'>Privacy Policy</a>                    <a href='http://www.loc.gov/global/disclaim.html'                       target='_blank' class='locshare-disclaimer'>Disclaimer</a>                </div>            </div>            <div class='locshare-email-tab'>                <div class='locshare-dialog-content'>                    <div class='locshare-email-tab-form-container'>                        <form name='locshare-share_form_email' class='locshare-email-tab-form' method='post' action='#locshare/share/email'>                            <div class='locshare-email-tab-input'>                                <div class='locshare-email-tab-rcpt-message'>Multiple recipient e-mail addresses may be provided by using either , or ; to separate the addresses.</div>                                <div class='locshare-email-tab-input-2col first'>                                    <label class='locshare-email-table-label locshare-email-tab-label-to_email'><span class='locshare-form-field-required'>*</span> To</label>                                    <input value='' name='to_email' type='text'                                         class='locshare-email-tab-form-field-to_email locshare-email-tab-form-field-defaults' />                                </div>                                <div class='locshare-email-tab-input-2col'>                                    <label class='locshare-email-table-label locshare-email-tab-label-from_email'><span class='locshare-form-field-required'>*</span> From</label>                                    <input value='' name='from_email' type='text'                                         class='locshare-email-tab-form-field-from_email locshare-email-tab-form-field-defaults' />                                </div>                            </div>                            <div class='locshare-email-tab-input'>                                <label class='locshare-email-table-label locshare-email-tab-label-message'>                                    Message <span>                                    (<span class='locshare-email-tab-field-message-remaining-chars'></span>                                     remaining)</span>                                </label>                                <textarea value='' class='locshare-email-tab-form-field-message'                                    name='message'></textarea>                            </div>                            <div class='locshare-email-tab-input locshare-right'>                                <input value=''                                       name='send_copy'                                       type='checkbox' />                                <label class='locshare-email-tab-label-send_copy'>                                    Send me a copy                                </label>                                <button class='locshare-button'                                        value='Send'                                        name='locshare_email_submit'                                        type='submit'>                                    <img src='' width='54' height='20' alt='Send' />                                </button>                            </div>                            <div class='locshare-email-tab-message'>                                <p class=''></p>                            </div>                        </form>                    </div>                    <div class='locshare-email-tab-wait-container'>                        <div class='locshare-email-tab-wait-box'>                            Please wait...                        </div>                    </div>                    <div class='locshare-email-tab-confirm-container'>                        <div class='locshare-email-tab-confirm-box'>                            <p class='locshare-email-tab-confirm-message locshare-message-success'>                                Your message has been sent successfully.                            </p>                            <p class='locshare-email-tab-confirm-button'>                                <a href='#locshare/share/email/confirm/'>Continue</a>                            </p>                        </div>                    </div>                </div>                <div class='locshare-dialog-footer'>                    <a href='http://www.loc.gov/homepage/legal.html#privacy_policy'                       target='_blank' class='locshare-privacy'>Privacy Policy</a>                </div>            </div>            <div class='locshare-save-tab'>                <div class='locshare-dialog-content'>                    <div class='locshare-save-tab-links'>                        <h3>To link to or embed this content, copy and paste this into your Web site or blog.</h3>                        <div class='locshare-save-tab-link-list'>                            <span class='locshare-save-tab-link-list-first'>                                <a href='#locshare/share/showlink'>Link</a>                            </span>                            <span>                                <a href='#locshare/share/showembed'>Embed</a>                            </span>                        </div>                        <p class='locshare-save-tab-link-instruction'>                            Paste this code into your Website or blog.                        </p>                        <input type='text' name='locshare-save-tab-copy-box'                            class='locshare-save-tab-copy-box'                            value='Click on the links above to update this field.'>                    </div>                    <div class='locshare-save-tab-addfavorite'>                        <h3>Save to Favorites</h3>                        <p class='locshare-save-tab-save-box'>                            <em>Save to my Browser</em>                             <a href='#locshare/share/addfavorite'>Save</a>                        </p>                    </div>                    <div class='locshare-save-tab-downloads'>                        <h3>Download</h3>                        <div class='locshare-save-tab-downloads-scroll'>                            <div class='e3x'>                                {options.download_links?$(options.download_links).map(function(index, value){                                    return {                                        p:{                                            a:{                                                $href:value.link,                                                $target:'_blank',                                                $:value.label,                                                $rel:id                                            },                                            span:{                                                $class:'locshare-download-meta',                                                $:(value.meta!=undefined&&value.meta!='')?'('+value.meta+')':''                                            }                                        }                                    };                                }).x():''}                            </div>                        </div>                    </div>                </div>                <div class='locshare-dialog-footer'>                    <a href='http://www.loc.gov/homepage/legal.html#privacy_policy'                       target='_blank' class='locshare-privacy'>Privacy Policy</a>                </div>            </div>        </div>    ";$V.Share=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Views.Share");cache={};};$.extend($V.Share.prototype,{think:function(model){},update:function(model){var shareDialog;if(!(model&&model.id)){log.debug("closing all share dialogs");for(id in cache){if($(cache[id]).dialog("isOpen")){$(cache[id]).dialog("close");}}}else{if(!(model.id in cache)){log.debug("creating new share dialog for id %s",model.id);shareDialog=$($.e3x(template,model));$(shareDialog).attr("id",model.id+"-share-dialog");$("a.locshare-dialog-close",shareDialog).attr("href","#locshare/share/close/"+model.id);log.debug("rendering template");if(false==model.options.show.tabs.share){log.debug("supressing share tab");$("div.locshare-share-tab",shareDialog).remove();$("li.locshare-dialog-menu-item-share",shareDialog).remove();}else{$("div.locshare-share-tab",shareDialog).attr("id",model.id+"-share-tab");$("li.locshare-dialog-menu-item-share a",shareDialog).attr("href","#"+model.id+"-share-tab");}if(false==model.options.show.tabs.email){log.debug("supressing email tab");$("div.locshare-email-tab",shareDialog).remove();$("li.locshare-dialog-menu-item-email",shareDialog).remove();}else{$("div.locshare-email-tab",shareDialog).attr("id",model.id+"-email-tab");$("li.locshare-dialog-menu-item-email a",shareDialog).attr("href","#"+model.id+"-email-tab");$("form.locshare-email-tab-form",shareDialog).attr("action","#locshare/share/email/"+model.id);$("span.locshare-email-tab-field-message-remaining-chars",shareDialog).text(model.options.message_max_chars);$("input.locshare-email-tab-form-field-defaults",shareDialog).each(function(){$(this).attr("value",model.options.field_defaults[$(this).attr("name")]);});$("input[name=to_email]",shareDialog).attr("id","to_email_"+model.id);$("label.locshare-email-tab-label-to_email",shareDialog).attr("for","to_email_"+model.id);$("input[name=from_email]",shareDialog).attr("id","from_email_"+model.id);$("label.locshare-email-tab-label-from_email",shareDialog).attr("for","from_email_"+model.id);$("textarea[name=message]",shareDialog).attr("id","message_"+model.id);$("label.locshare-email-tab-label-message",shareDialog).attr("for","message_"+model.id);$("input[name=send_copy]",shareDialog).attr("id","send_copy_"+model.id);$("label.locshare-email-tab-label-send_copy",shareDialog).attr("for","send_copy_"+model.id);$("div.locshare-email-tab-message",shareDialog).hide();$("div.locshare-email-tab-confirm-container",shareDialog).hide();$("p.locshare-email-tab-confirm-button > a",shareDialog).attr("href","#locshare/share/email/confirm/"+model.id);$("button[name=locshare_email_submit] > img",shareDialog).attr("src",model.options.root+"images/btn-submit.png");$("div.locshare-email-tab-wait-container",shareDialog).hide();}if(false==model.options.show.tabs.save){log.debug("supressing save tab");$("div.locshare-save-tab",shareDialog).remove();$("li.locshare-dialog-menu-item-save",shareDialog).remove();}else{$("div.locshare-save-tab",shareDialog).attr("id",model.id+"-save-tab");$("li.locshare-dialog-menu-item-save a",shareDialog).attr("href","#"+model.id+"-save-tab");if(false==model.options.show.features.link){log.debug("suppressing link feature");$("div.locshare-save-tab-links",shareDialog).remove();}else{$("p.locshare-save-tab-link-instruction",shareDialog).hide();if(model.options.embed_type&&model.options.embed_detail){$("div.locshare-save-tab-link-list > span > a",shareDialog).each(function(){var href=$(this).attr("href");$(this).attr("href",href+"/"+model.id);});}else{$("div.locshare-save-tab-link-list",shareDialog).hide();$("input.locshare-save-tab-copy-box",shareDialog).attr("value",model.options.link);}}if(false==model.options.show.features.bookmark){log.debug("suppressing bookmark feature");$("div.locshare-save-tab-addfavorite",shareDialog).remove();}else{$("p.locshare-save-tab-save-box > a",shareDialog).attr("href","#locshare/share/addfavorite/"+model.id);}if(false==model.options.show.features.download){log.debug("suppressing download feature");$("div.locshare-save-tab-downloads",shareDialog).remove();}else{if(!($.isArray(model.options.download_links)&&model.options.download_links.length)){$("div.locshare-save-tab-downloads",shareDialog).hide();}}}$(shareDialog).dialog({autoOpen:false,resizable:false,bgiframe:true,width:"510px",dialogClass:"locshare-dialog locshare-share-arrow",close:function(){$("#"+model.id+" a[href*=locshare/share]").focus();}});($("div.locshare-dialog-head",shareDialog)).tabs();cache[model.id]=shareDialog;}else{shareDialog=cache[model.id];}}if(model&&model.id){if($(shareDialog).dialog("isOpen")){log.debug("closing share dialog for id %s",model.id);$(shareDialog).dialog("close");}else{log.debug("opening share dialog for id %s",model.id);model.position.top-=$(document).scrollTop();$(shareDialog).dialog("option","position",[model.position.left,model.position.top]);$(shareDialog).dialog("open");$(shareDialog).parents(".ui-dialog").appendTo("#"+model.id).focus();}}},showLink:function(model){var shareDialog=cache[model.id];$("div.locshare-save-tab-link-list span",shareDialog).removeClass("locshare-selected");$(model.target).parent().addClass("locshare-selected");$("p.locshare-save-tab-link-instruction",shareDialog).hide();$("input.locshare-save-tab-copy-box",shareDialog).attr("value",model.options.link);},showEmbed:function(model){var shareDialog=cache[model.id],embedText;switch(model.options.embed_type){case"video":embedText='<script src="http://www.loc.gov/videoplayer.js?video='+model.options.embed_detail+'&other_options" type="text/javascript"><\/script><noscript>Embedded video from <a href="http://loc.gov">Library of Congress</a></noscript>';break;case"audio":embedText='<script src="http://www.loc.gov/audioplayer.js?audio='+model.options.embed_detail+'&other_options" type="text/javascript"><\/script><noscript>Embedded audio from <a href="http://loc.gov">Library of Congress</a></noscript>';break;case"image":if(model.options.embed_alt==null){model.options.embed_alt="Image shared from Library Of Congress";}embedText='<a href="'+model.options.link+'" target="_blank"><img src="'+model.options.embed_detail+'" alt="'+model.options.embed_alt+'" /></a>';break;default:embedText="Embed code is not available for this item.";break;}$("div.locshare-save-tab-link-list span",shareDialog).removeClass("locshare-selected");$(model.target).parent().addClass("locshare-selected");$("input.locshare-save-tab-copy-box",shareDialog).attr("value",embedText);},showEmailErrors:function(model){var shareDialog=cache[model.id],_this=this;log.debug("Showing email errors");$.each(model.errors,function(){var input=$("[name="+this.field+"]",shareDialog);if(!input.hasClass("locshare-error")){input.addClass("locshare-error");}var errorDiv=$(fieldError);$(errorDiv).text(this.message);input.parent().append(errorDiv);});$("div.locshare-email-tab-wait-container",shareDialog).hide();$("div.locshare-email-tab-form-container",shareDialog).show();},updateEmailStatus:function(model){var shareDialog=cache[model.id],form_container=$("div.locshare-email-tab-form-container",shareDialog),form_status=$("div.locshare-email-tab-message > p",shareDialog);$("div.locshare-email-tab-wait-container",shareDialog).hide();if(model.success){var confirm_container=$("div.locshare-email-tab-confirm-container",shareDialog);$("p.locshare-email-tab-confirm-message",shareDialog).text(model.text);form_status.text("");if(form_status.hasClass("locshare-message-error")){form_status.removeClass("locshare-message-error");}$("[name=to_email]",form_container).attr("value",model.options.field_defaults.to_email);$("[name=from_email]",form_container).attr("value",model.options.field_defaults.from_email);$("[name=message]",form_container).attr("value","");$("[name=send_copy]",form_container).attr("checked",false);$("span.locshare-email-tab-field-message-remaining-chars",form_container).text(model.options.message_max_chars);form_container.hide();confirm_container.show();}else{form_status.text(model.text);if(form_status.hasClass("locshare-message-success")){form_status.removeClass("locshare-message-success");}form_status.addClass("locshare-message-error");$("div.locshare-email-tab-message",shareDialog).show();form_container.show();}},confirmEmail:function(model){var shareDialog=cache[model.id];$("div.locshare-email-tab-confirm-container",shareDialog).hide();$("div.locshare-email-tab-form-container",shareDialog).show();},waitEmail:function(model){var shareDialog=cache[model.id];log.debug("Email form waiting");$("div.locshare-email-tab-form-container",shareDialog).hide();$("div.locshare-email-tab-wait-container",shareDialog).show();$("div.locshare-email-tab-form-container input.locshare-error",shareDialog).each(function(){$(this).removeClass("locshare-error");});$("div.locshare-email-tab-form-container div.locshare-field-error",shareDialog).each(function(){$(this).remove();});}});})(jQuery,LOCShare.Views);(function($,$C){var log,pluginModel;$C.Plugin=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Controllers.Plugin");pluginModel=$.$("#pluginModel");};$.extend($C.Plugin.prototype,{register:function(event,config){log.info("Registering plugin for event '%s' with name '%s'",config.type,config.name);pluginModel.register(config.type,config.name,config.plugin);},unregister:function(event,config){log.info("Unregistering plugin for event '%s' with name '%s'",config.type,config.name);pluginModel.unregister(config.type,config.name);}});})(jQuery,LOCShare.Controllers);(function($,$C){var log,started=false,shareModel,pluginModel;$C.Toolbar=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Controllers.Toolbar");shareModel=$.$("#shareModel");pluginModel=$.$("#pluginModel");};$.extend($C.Toolbar.prototype,{monitor:function(event){if(false===started){$("div.locshare-this").livequery(function(){$(this).trigger("locshare-attach");});started=true;}},setup:function(event){var id=$(event.target).attr("id");log.debug("setting up loc share toolbar for id %s",id);var data=$("> code",event.target);shareModel.put(id,data.length?$(data).html():"{}");event.c("#toolbarController.create").render();return{event:event,config:shareModel.get(id)};},create:function(event){var id=$(event.target).attr("id");log.debug("creating loc share toolbar for id %s",id);var model={id:id,target:event.target,config:shareModel.get(id)};event.m(model).render();return{config:model};}});})(jQuery,LOCShare.Controllers);(function($,$C){var log,logModel,shareModel,pluginModel;$C.Subscribe=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Controllers.Subscribe");logModel=$.$("#logModel");shareModel=$.$("#shareModel");pluginModel=$.$("#pluginModel");};$.extend($C.Subscribe.prototype,{handle:function(event){var id=$(event.target).parents("div").attr("id"),config=shareModel.get(id),position=$(event.target).position(),configHpos=config.position.horizontal,configVpos=config.position.vertical;if(("left"==configHpos)||("right"!=configHpos&&position.left+511>$(document).width())){position.left=position.left-450;}position.top+=18;log.debug("subscribe clicked for id %s",id);$(document).trigger("locshare-open");logModel.post({root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,object_type:config.object_type,action:"view_subscribe",target:null,title:config.title,link:config.link,embed_type:null,embed_detail:null,download_link_label:null});var model={id:id,options:config,position:position};event.m(model).render();return{event:event,config:model};},close:function(event){var id=event.params().id;log.debug("close clicked for id %s",id);event.m({id:id}).render(function(){$(document).trigger("locshare-close");});return{event:event};},closeAll:function(event){log.debug("closing all");event.render();return{event:event};}});})(jQuery,LOCShare.Controllers);(function($,$C){var log,logModel,shareModel,pluginModel;$C.Share=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Controllers.Share");logModel=$.$("#logModel");shareModel=$.$("#shareModel");pluginModel=$.$("#pluginModel");};$.extend($C.Share.prototype,{handle:function(event){var id=$(event.target).parents("div").attr("id"),config=shareModel.get(id),position=$(event.target).position(),configHpos=config.position.horizontal,configVpos=config.position.vertical;if(("left"==configHpos)||("right"!=configHpos&&position.left+511>$(document).width())){position.left=position.left-450;}position.top+=18;log.debug("share clicked for id %s",id);$(document).trigger("locshare-open");logModel.post({root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,object_type:config.object_type,action:"view_save_share",target:null,title:config.title,link:config.link,embed_type:null,embed_detail:null,download_link_label:null});var model={id:id,options:config,position:position};event.m(model).render();return{event:event,config:model};},closeAll:function(event){log.debug("closing all");event.render();return{event:event};},addFavorite:function(event){var id=event.params("id"),config=shareModel.get(id);log.debug("addfavorite clicked");logModel.post({root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,object_type:config.object_type,action:"save_browser",target:null,title:config.title,link:config.link,embed_type:null,embed_detail:null,download_link_label:null});if(window.sidebar){window.sidebar.addPanel(config.title,config.link,"");}else{if(window.external){window.external.AddFavorite(config.link,config.title);}else{alert("Press Command/CTRL-D to bookmark this page.");}}},showLink:function(event){var id=event.params("id"),config=shareModel.get(id);log.debug("show link clicked for id %s",id);logModel.post({root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,object_type:config.object_type,action:"link_view",target:null,title:config.title,link:config.link,embed_type:null,embed_detail:null,download_link_label:null});event.m({id:id,options:config,target:event.target}).v(".showLink").render();},showEmbed:function(event){var id=event.params("id"),config=shareModel.get(id);log.debug("show embed clicked for id %s",id);logModel.post({root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,object_type:config.object_type,action:"embed_view",target:null,title:config.title,link:config.link,embed_type:config.embed_type,embed_detail:config.embed_detail,download_link_label:null});event.m({id:id,options:config,target:event.target}).v(".showEmbed").render();},email:function(event){var id=event.params("id"),config=shareModel.get(id),emailModel=$.$("#emailModel"),resultSuccess=false,resultText="An Unknown Error Has Occured";log.debug("email clicked");event.m({id:id,options:config}).v(".waitEmail").render();emailModel.validate({id:id,config:config,data:{root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,to_email:$("[name=to_email]",event.target).attr("value"),from_email:$("[name=from_email]",event.target).attr("value"),title:config.title,link:config.link,message:$("[name=message]",event.target).attr("value"),send_copy:$("[name=send_copy]",event.target).attr("checked"),thumbnail:config.thumbnail},success:function(data){emailModel.send(data,function(status,result,code){log.debug("got e-mail response: %s, %s, %s",status,result,code);if(status=="success"){resultSuccess=true;logModel.post({root:config.root,app_id:config.app_id,request_type:config.request_type,request_datatype:config.request_datatype,object_type:config.object_type,action:"email",target:null,title:config.title,link:config.link,embed_type:null,embed_detail:null,download_link_label:null});}resultText=result;event.m({id:id,options:config,success:resultSuccess,code:code,text:resultText}).v(".updateEmailStatus").render();});},error:function(data,errors){log.debug("email validation failed.");event.m({id:id,options:config,errors:errors}).v(".showEmailErrors").render();}});},confirmEmail:function(event){var id=event.params("id");log.debug("email confirm clicked for id %s",id);event.m({id:id}).v(".confirmEmail").render();},close:function(event){var id=event.params("id");log.debug("close clicked for id %s",id);event.m({id:id}).render(function(){$(document).trigger("locshare-close");});return{event:event};}});})(jQuery,LOCShare.Controllers);(function($,$C){var log,pluginModel;$C.Print=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Controllers.Print");pluginModel=$.$("#pluginModel");};$.extend($C.Print.prototype,{print:function(event){window.print();return{event:event};}});})(jQuery,LOCShare.Controllers);(function($,$M){var plugins={};var points=["pre-setup","post-setup","pre-toolbar","post-toolbar","pre-print","post-print","pre-subscribe-open","post-subscribe-open","pre-subscribe-close","post-subscribe-close","pre-share-open","post-share-open","pre-share-close","post-share-close"];var enabled=false;$M.Plugin=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Models.Plugin");if(true===$.env("locshare")["allow_plugins"]){enabled=true;log.debug("The use of plugins is allowed.  Plugins are enabled.");}else{log.debug("The use of plugins is not allowed. Plugins are disabled.");}};$.extend($M.Plugin.prototype,{register:function(extPoint,name,plugin){if(true===enabled){var _this=this;if(true===$.isFunction(plugin)){if(-1<$.inArray(extPoint,points)){if(undefined==plugins[extPoint]){log.debug("Adding the first plugin for extension point '%s'",extPoint);plugins[extPoint]={};}plugins[extPoint][name]=plugin;log.debug("Registered a plugin named '%s' at extension point '%s'",name,extPoint);}else{log.warn("Plugin '%s' references an invalid extension point: '%s'.",name,extPoint);}}else{log.warn("Provided plugin '%s' for extension point '%s' is not a function.",name,extPoint);}}},unregister:function(extPoint,name){if(true===enabled){var _this=this;if(-1<$.inArray(extPoint,points)){if(undefined!=plugins[extPoint]){if(null!=name){if(undefined!=plugins[extPoint][name]){delete plugins[extPoint][name];log.debug("Plugin '%s' unregistered from the extension point '%s'",name,extPoint);}else{log.info("A plugin named '%s' does not exist at extension point '%s'",name,extPoint);}}else{delete plugins[extPoint];log.debug("All plugins for the extension point '%s' have been cleared",extPoint);}}else{log.warn("Extension point '%s' does not have any registered plugins",extPoint);}}else{log.warn("Extension point references for '%s' is invalid",extPoint);}}},list:function(){return plugins;},run:function(extPoint,data){if(true===enabled){if(undefined!=plugins[extPoint]){$.each(plugins[extPoint],function(name,plugin){if(true===$.isFunction(plugin)){log.debug("Running '%s' plugin at extension point '%s'",name,extPoint);plugin(data);log.debug("Finished running '%s' plugin at extension point '%s'",name,extPoint);}});}var triggerName="locshare-event-"+extPoint;log.debug("Firing trigger '%s'at extension point '%s'",triggerName,extPoint);$(document).trigger(triggerName,data);}}});})(jQuery,LOCShare.Models);(function($,$M){var log;$M.Log=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Models.Log");};$.extend($M.Log.prototype,{post:function(data){var _this=this;if(data.request_type==undefined){data.request_type="POST";}if(data.request_datatype==undefined){data.request_datatype="json";}log.debug("running log using root: %s",data.root);$.ajax({type:data.request_type,url:data.root+"log.php",dataType:data.request_datatype,data:{app_id:$.trim(data.app_id),object_type:$.trim(data.object_type),action:$.trim(data.action),target:$.trim(data.target),title:$.trim(data.title),link:$.trim(data.link),embed_type:$.trim(data.embed_type),embed_detail:$.trim(data.embed_detail),download_link_label:$.trim(data.download_link_label)},success:function(result){_this.$log.debug("Successfully posted log record.");}});}});})(jQuery,LOCShare.Models);(function($,$M){var log;$M.Email=function(options){$.extend(true,this,options);log=$.logger("LOCShare.Models.Log");};$.extend($M.Email.prototype,{validate:function(options){log.debug("Validating e-mail data...");var _this=this,field_defaults=$.env("locshare").field_defaults,baseError={field:null,message:null},isError=false,errors=[],success=null,error=null,data=options.data;if(options.success&&$.isFunction(options.success)){success=options.success;}if(options.error&&$.isFunction(options.error)){error=options.error;}if(field_defaults.from_email==data.from_email||""==$.trim(data.from_email)){log.debug("From field not populated");isError=true;errors.push($.extend({},baseError,{field:"from_email",message:"Please fill in this required field."}));}else{if(!_this._validateEmail($.trim(data.from_email))){log.debug("From field does not contain a valid e-mail address");isError=true;errors.push($.extend({},baseError,{field:"from_email",message:"Please provide a correctly formatted e-mail address."}));}}if(field_defaults.to_email==data.to_email||""==data.to_email){log.debug("To field not populated");isError=true;errors.push($.extend({},baseError,{field:"to_email",message:"Please fill in this required field."}));}else{var toError=false,emailString=data.to_email,toAddresses;emailString=emailString.replace(/;/g,",");toAddresses=emailString.split(",");$.each(toAddresses,function(i,email){if(""!=$.trim(email)&&!_this._validateEmail($.trim(email))){toError=true;return false;}});if(toError){log.debug("To field does not contain a valid e-mail address");isError=true;errors.push($.extend({},baseError,{field:"to_email",message:"Please ensure that the correct format is used for e-mail address(es)."}));}}log.debug("Validation finished with error status %s",isError);if(!isError&&null!=success){log.debug("Calling success callback...");success(data);}else{if(isError&&null!=error){log.debug("Calling error callback...");error(data,errors);}else{log.debug("No callback given...");}}},send:function(data,callback){var _this=this,field_defaults=$.env("locshare").field_defaults;log.debug("Attempting to send email...");if(data.request_type==undefined){data.request_type="POST";}if(data.request_datatype==undefined){data.request_datatype="json";}if(field_defaults.to_email==data.to_email){data.to_email="";}if(field_defaults.from_email==data.from_email){data.from_email="";}else{data.from_email=$.trim(data.from_email);}$.ajax({type:data.request_type,url:data.root+"email.php",dataType:data.request_datatype,data:{app_id:data.app_id,to_email:data.to_email,from_email:data.from_email,title:data.title,link:data.link,message:data.message,send_copy:data.send_copy,tn_url:data.thumbnail.url,tn_alt:data.thumbnail.alt,tn_height:data.thumbnail.height,tn_width:data.thumbnail.width},success:function(result){_this.$log.debug("Successfully sent e-mail.");if(callback&&$.isFunction(callback)){callback(result.status,result.message,result.code);}},error:function(request,status,error){_this.$log.debug("Failed to sent e-mail.");if(callback&&$.isFunction(callback)){callback(status,request.responseText);}}});},_validateEmail:function(email){log.debug("Validating %s",email);var pattern=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return pattern.test(email);}});})(jQuery,LOCShare.Models);(function($,$M){var log,cache,template=function(url,title,config){url=encodeURIComponent(url);title=encodeURIComponent(title);if(undefined===config){config={};}return[{name:"myLOC",url:"https://myloc.gov/membership/extbookmarks.aspx?&url="+url+"&title="+title+(("site_name" in config)?"&sourceSiteName="+encodeURIComponent(config.site_name):"")+(("thumbnail" in config&&"url" in config.thumbnail)?"&thumbnailUrl="+encodeURIComponent(config.thumbnail["url"]):"")+(("object_type" in config)?"&format="+encodeURIComponent(config.object_type):""),icon:"images/icons/bm_myloc.gif"},{name:"Facebook",url:"http://www.facebook.com/share.php?src=bm&u="+url+"&t="+title+"&v=3",icon:"images/icons/bm_facebook.gif"},{name:"Twitter",url:"http://twitter.com/home?status="+title+"%20-%20"+url+"",icon:"images/icons/bm_twitter.gif"},{name:"Delicious",url:"http://del.icio.us/post?&url="+url+"&title="+title+"",icon:"images/icons/bm_delicious.gif"},{name:"Digg",url:"http://digg.com/submit/?url="+url+"&title="+title+"",icon:"images/icons/bm_digg.gif"},{name:"Google",url:"http://www.google.com/bookmarks/mark?op=add&title="+title+"&bkmk="+url+"",icon:"images/icons/bm_google.gif"},{name:"Diigo",url:"http://www.diigo.com/post?url="+url+"&title="+title+"",icon:"images/icons/bm_diigo.jpg"},{name:"MySpace",url:"http://www.myspace.com/Modules/PostTo/Pages/?t="+title+"&c=%20&u="+url+"&l=2",icon:"images/icons/bm_myspace.gif"},{name:"Reddit",url:"http://reddit.com/submit?url="+url+"&title="+title+"",icon:"images/icons/bm_reddit.gif"},{name:"StumbleUpon",url:"http://www.stumbleupon.com/submit?url="+url+"&title="+title+"",icon:"images/icons/bm_stumbleupon.gif"},{name:"Technorati",url:"http://technorati.com/faves?add="+url+"",icon:"images/icons/bm_technorati.gif"},{name:"Yahoo!",url:"http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&u="+url+"&t="+title+"&d=",icon:"images/icons/bm_yahoo.gif"}];};$M.Share=function(){log=$.logger("LOCShare.Models.Share");cache={};};$.extend($M.Share.prototype,{get:function(id){if(!(id in cache)){this.put(id,"{}");}return cache[id];},put:function(id,config){if(!(id in cache)){config=$.extend(true,{},$.env("locshare"),$.json2js(config));if(""==config.title){config.title=config.link;}cache[id]=$.extend(config,{urls:template(config.link,config.title,config)});}}});})(jQuery,LOCShare.Models);(function($,$M){var log,cache;$M.Subscribe=function(){log=$.logger("LOCShare.Models.Subscribe");cache={};};$.extend($M.Subscribe.prototype,{get:function(data,callback){var _this=this;if(data.url==undefined&&data.fallback_url!=undefined){data.url=data.fallback_url;}if(!(data.id in cache)){_this.$log.debug("Page data not cached, sending request");_this.put(data,callback);}else{if(callback&&$.isFunction(callback)){callback(cache[data.id]);}}},put:function(data,callback){var _this=this;if(!(data.id in cache)){if(data.request_type==undefined||data.request_type=="POST"){data.request_type="GET";}if(data.request_datatype==undefined){data.request_datatype="json";}$.ajax({type:data.request_type,url:data.url,dataType:data.request_datatype,success:function(result){_this.$log.debug("Successfully got subscribe content.");cache[data.id]=result.content;if(callback&&$.isFunction(callback)){callback(cache[data.id]);}},error:function(request,status,error){_this.$log.debug("Failed to get subscribe content.");cache[data.id]="An error occured. Please try again later.";if(callback&&$.isFunction(callback)){callback(cache[data.id]);}}});}}});})(jQuery,LOCShare.Models);(function($){$.config("env",{current:{locshare:{root:"/share/",app_id:"bUpu6Upe",site_name:"Asian Pacific American Heritage Month",subscribe_url:"/share/sites/bUpu6Upe/subscribe.php"}}});})(jQuery);jQuery.noConflict();(function($){var log,boostrapped,ready,start=new Date().getTime();$.env("defaults","current");$(document).ready(function(){ready=new Date().getTime();$.boot(function(){bootstrapped=new Date().getTime();log=$.logger("LOCShare");log.info("document ready %s",start-ready).info("app boot strapped %s",bootstrapped-ready);$("div.locshare-this").livequery(function(){$(this).hide();});if(false!==$.env("locshare")["autoload"]){$(document).trigger("locshare-start");}});});})(jQuery);
