// checkbox.js 
/*!
* 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:1E8,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);
function GetWidth()
{
var x = 0;
/*if( window.innerWidth )
{
x = window.innerWidth - window.scrollbarWidth;
}
else*/ if( window.clientWidth + window.scrollbarHeight )
{
x = window.clientWidth;
}
else if( document.documentElement && document.documentElement.clientWidth )
{
x = document.documentElement.clientWidth - window.scrollbarWidth;
}
else if( self.innerWidth )
{
x = self.innerWidth - window.scrollbarWidth;
}
else if ( document.body )
{
x = document.body.clientWidth - window.scrollbarWidth;
}
return x;
}
function GetHeight()
{
var y = 0;
/*if( window.innerHeight )
{
y = window.innerHeight - window.scrollbarHeight;
}
else*/ if( window.clientHeight + window.scrollbarHeight )
{
y = window.clientHeight;
}
else if( document.documentElement && document.documentElement.clientHeight )
{
y = document.documentElement.clientHeight - window.scrollbarHeight;
}
else if( self.innerHeight )
{
y = self.innerHeight - window.scrollbarHeight;
}
else if ( document.body )
{
y = document.body.clientHeight - window.scrollbarHeight;
}
return y;
}
/** get_scrollbar_sizes()
*
*This function calculates window.scrollbarWidth and window.scrollbarHeight.
*/
function get_scrollbar_sizes()
{
var i = document.createElement( "p" );
i.style.width = "200px";
i.style.height = "200px";
var o = document.createElement( "div" );
o.style.position = "absolute";
o.style.top = "0px";
o.style.left = "0px";
o.style.visibility = "hidden";
o.style.width = "150px";
o.style.height = "150px";
o.style.overflow = "hidden";
o.appendChild( i );
document.body.appendChild( o );
var w1 = i.offsetWidth;
var h1 = i.offsetHeight;
o.style.overflow = "scroll";
var w2 = i.offsetWidth;
var h2 = i.offsetHeight;
if ( w1 == w2 ) 
{
w2 = o.clientWidth;
}
if ( h1 == h2 )
{
h2 = o.clientHeight;
}
document.body.removeChild( o );
window.scrollbarWidth = w1 - w2 - 50;
window.scrollbarHeight = h1 - h2 - 50;
}// global variables that can be used by ALL the functions on this page.
var baseaddr = ".";
if( document.getElementsByTagName ) 
{
var elements = document.getElementsByTagName( 'base' );
if( elements.length ) 
{
baseaddr = elements[0].href;
}
}
var inputs;
var imgFalse = baseaddr + "/images/checkbox-half.png";
var imgTrue = baseaddr + "/images/checkbox-checked-half.png";
var imgRefresh = baseaddr + "/images/spinner_half.gif";
var ajaxImage;
var oldAjaxImage;
// this function runs when the page is loaded, put all your other onload stuff in here too.
function initChecks() 
{
replaceChecks();
}
function replaceChecks() 
{
//get all the input fields on the page
inputs = document.getElementsByTagName( 'input' );
//cycle trough the input fields
for(var i=0; i < inputs.length; i++) {
//check if the input is a checkbox
if( inputs[i].getAttribute('type') == 'checkbox' 
|| inputs[i].getAttribute('type') == 'radio' ) 
{
//create a new image
var img = document.createElement('img');
//check if the checkbox is checked
if(inputs[i].checked) {
img.src = imgTrue;
} else {
img.src = imgFalse;
}
//set image ID and onclick action
img.id = 'checkImage'+i;
//set image
img.onclick = new Function('checkChange('+i+')');
//place image in front of the checkbox
inputs[i].parentNode.insertBefore(img, inputs[i]);
//hide the checkbox
inputs[i].style.display='none';
}
}
}
//change the checkbox status and the replacement image
function checkChange(i) {
var myname = inputs[i].name;
for( var si = 0; si < inputs.length; si++) 
{
if ( myname == inputs[si].name
&& inputs[si].getAttribute('type') == 'radio' )
{
inputs[si].checked = false;
document.getElementById( 'checkImage' + si ).src = imgFalse;
}
}
if ( inputs[i].checked ) 
{
inputs[i].checked = false;
document.getElementById( 'checkImage' + i ).src=imgFalse;
} 
else 
{
inputs[i].checked = true;
document.getElementById('checkImage'+i).src=imgTrue;
}
if ( inputs[i].onclick != null )
{
ajaxImage = 'checkImage' + i;
inputs[i].onclick();
}
}
$(window).ready( function() { initChecks(); } );
/*if( window.addEventListener )
{
window.addEventListener( "load", initChecks, false );
}
else
{
window.onload = initChecks;
}*/
/**
* sprintf() for JavaScript v.0.4
*
* Copyright (c) 2007 Alexandru Marasteanu <http://alexei.417.ro/>
* Thanks to David Baird (unit test and patch).
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
function str_repeat(i, m) { for (var o = []; m > 0; o[--m] = i); return(o.join('')); }
function sprintf () {
var i = 0, a, f = arguments[i++], o = [], m, p, c, x;
while (f) {
if (m = /^[^\x25]+/.exec(f)) o.push(m[0]);
else if (m = /^\x25{2}/.exec(f)) o.push('%');
else if (m = /^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)) {
if (((a = arguments[m[1] || i++]) == null) || (a == undefined)) throw("Too few arguments.");
if (/[^s]/.test(m[7]) && (typeof(a) != 'number'))
throw("Expecting number but found " + typeof(a));
switch (m[7]) {
case 'b': a = a.toString(2); break;
case 'c': a = String.fromCharCode(a); break;
case 'd': a = parseInt(a); break;
case 'e': a = m[6] ? a.toExponential(m[6]) : a.toExponential(); break;
case 'f': a = m[6] ? parseFloat(a).toFixed(m[6]) : parseFloat(a); break;
case 'o': a = a.toString(8); break;
case 's': a = ((a = String(a)) && m[6] ? a.substring(0, m[6]) : a); break;
case 'u': a = Math.abs(a); break;
case 'x': a = a.toString(16); break;
case 'X': a = a.toString(16).toUpperCase(); break;
}
a = (/[def]/.test(m[7]) && m[2] && a > 0 ? '+' + a : a);
c = m[3] ? m[3] == '0' ? '0' : m[3].charAt(1) : ' ';
x = m[5] - String(a).length;
p = m[5] ? str_repeat(c, x) : '';
o.push(m[4] ? a + p : p + a);
}
else throw ("Huh ?!");
f = f.substring(m[0].length);
}
return o.join('');
}/*
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Version 1.1 Copyright (C) Paul Johnston 1999 - 2002.
* Code also contributed by Greg Holt
* See http://pajhome.org.uk/site/legal.html for details.
*/
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF)
var msw = (x >> 16) + (y >> 16) + (lsw >> 16)
return (msw << 16) | (lsw & 0xFFFF)
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
function rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt))
}
/*
* These functions implement the four basic operations the algorithm uses.
*/
function cmn(q, a, b, x, s, t)
{
return safe_add(rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b)
}
function ff(a, b, c, d, x, s, t)
{
return cmn((b & c) | ((~b) & d), a, b, x, s, t)
}
function gg(a, b, c, d, x, s, t)
{
return cmn((b & d) | (c & (~d)), a, b, x, s, t)
}
function hh(a, b, c, d, x, s, t)
{
return cmn(b ^ c ^ d, a, b, x, s, t)
}
function ii(a, b, c, d, x, s, t)
{
return cmn(c ^ (b | (~d)), a, b, x, s, t)
}
/*
* Calculate the MD5 of an array of little-endian words, producing an array
* of little-endian words.
*/
function coreMD5(x)
{
var a = 1732584193
var b = -271733879
var c = -1732584194
var d = 271733878
for(i = 0; i < x.length; i += 16)
{
var olda = a
var oldb = b
var oldc = c
var oldd = d
a = ff(a, b, c, d, x[i+ 0], 7 , -680876936)
d = ff(d, a, b, c, x[i+ 1], 12, -389564586)
c = ff(c, d, a, b, x[i+ 2], 17, 606105819)
b = ff(b, c, d, a, x[i+ 3], 22, -1044525330)
a = ff(a, b, c, d, x[i+ 4], 7 , -176418897)
d = ff(d, a, b, c, x[i+ 5], 12, 1200080426)
c = ff(c, d, a, b, x[i+ 6], 17, -1473231341)
b = ff(b, c, d, a, x[i+ 7], 22, -45705983)
a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416)
d = ff(d, a, b, c, x[i+ 9], 12, -1958414417)
c = ff(c, d, a, b, x[i+10], 17, -42063)
b = ff(b, c, d, a, x[i+11], 22, -1990404162)
a = ff(a, b, c, d, x[i+12], 7 , 1804603682)
d = ff(d, a, b, c, x[i+13], 12, -40341101)
c = ff(c, d, a, b, x[i+14], 17, -1502002290)
b = ff(b, c, d, a, x[i+15], 22, 1236535329)
a = gg(a, b, c, d, x[i+ 1], 5 , -165796510)
d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632)
c = gg(c, d, a, b, x[i+11], 14, 643717713)
b = gg(b, c, d, a, x[i+ 0], 20, -373897302)
a = gg(a, b, c, d, x[i+ 5], 5 , -701558691)
d = gg(d, a, b, c, x[i+10], 9 , 38016083)
c = gg(c, d, a, b, x[i+15], 14, -660478335)
b = gg(b, c, d, a, x[i+ 4], 20, -405537848)
a = gg(a, b, c, d, x[i+ 9], 5 , 568446438)
d = gg(d, a, b, c, x[i+14], 9 , -1019803690)
c = gg(c, d, a, b, x[i+ 3], 14, -187363961)
b = gg(b, c, d, a, x[i+ 8], 20, 1163531501)
a = gg(a, b, c, d, x[i+13], 5 , -1444681467)
d = gg(d, a, b, c, x[i+ 2], 9 , -51403784)
c = gg(c, d, a, b, x[i+ 7], 14, 1735328473)
b = gg(b, c, d, a, x[i+12], 20, -1926607734)
a = hh(a, b, c, d, x[i+ 5], 4 , -378558)
d = hh(d, a, b, c, x[i+ 8], 11, -2022574463)
c = hh(c, d, a, b, x[i+11], 16, 1839030562)
b = hh(b, c, d, a, x[i+14], 23, -35309556)
a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060)
d = hh(d, a, b, c, x[i+ 4], 11, 1272893353)
c = hh(c, d, a, b, x[i+ 7], 16, -155497632)
b = hh(b, c, d, a, x[i+10], 23, -1094730640)
a = hh(a, b, c, d, x[i+13], 4 , 681279174)
d = hh(d, a, b, c, x[i+ 0], 11, -358537222)
c = hh(c, d, a, b, x[i+ 3], 16, -722521979)
b = hh(b, c, d, a, x[i+ 6], 23, 76029189)
a = hh(a, b, c, d, x[i+ 9], 4 , -640364487)
d = hh(d, a, b, c, x[i+12], 11, -421815835)
c = hh(c, d, a, b, x[i+15], 16, 530742520)
b = hh(b, c, d, a, x[i+ 2], 23, -995338651)
a = ii(a, b, c, d, x[i+ 0], 6 , -198630844)
d = ii(d, a, b, c, x[i+ 7], 10, 1126891415)
c = ii(c, d, a, b, x[i+14], 15, -1416354905)
b = ii(b, c, d, a, x[i+ 5], 21, -57434055)
a = ii(a, b, c, d, x[i+12], 6 , 1700485571)
d = ii(d, a, b, c, x[i+ 3], 10, -1894986606)
c = ii(c, d, a, b, x[i+10], 15, -1051523)
b = ii(b, c, d, a, x[i+ 1], 21, -2054922799)
a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359)
d = ii(d, a, b, c, x[i+15], 10, -30611744)
c = ii(c, d, a, b, x[i+ 6], 15, -1560198380)
b = ii(b, c, d, a, x[i+13], 21, 1309151649)
a = ii(a, b, c, d, x[i+ 4], 6 , -145523070)
d = ii(d, a, b, c, x[i+11], 10, -1120210379)
c = ii(c, d, a, b, x[i+ 2], 15, 718787259)
b = ii(b, c, d, a, x[i+ 9], 21, -343485551)
a = safe_add(a, olda)
b = safe_add(b, oldb)
c = safe_add(c, oldc)
d = safe_add(d, oldd)
}
return [a, b, c, d]
}
/*
* Convert an array of little-endian words to a hex string.
*/
function binl2hex(binarray)
{
var hex_tab = "0123456789abcdef"
var str = ""
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8)) & 0xF)
}
return str
}
/*
* Convert an array of little-endian words to a base64 encoded string.
*/
function binl2b64(binarray)
{
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
var str = ""
for(var i = 0; i < binarray.length * 32; i += 6)
{
str += tab.charAt(((binarray[i>>5] << (i%32)) & 0x3F) |
((binarray[i>>5+1] >> (32-i%32)) & 0x3F))
}
return str
}
/*
* Convert an 8-bit character string to a sequence of 16-word blocks, stored
* as an array, and append appropriate padding for MD4/5 calculation.
* If any of the characters are >255, the high byte is silently ignored.
*/
function str2binl(str)
{
var nblk = ((str.length + 8) >> 6) + 1 // number of 16-word blocks
var blks = new Array(nblk * 16)
for(var i = 0; i < nblk * 16; i++) blks[i] = 0
for(var i = 0; i < str.length; i++)
blks[i>>2] |= (str.charCodeAt(i) & 0xFF) << ((i%4) * 8)
blks[i>>2] |= 0x80 << ((i%4) * 8)
blks[nblk*16-2] = str.length * 8
return blks
}
/*
* Convert a wide-character string to a sequence of 16-word blocks, stored as
* an array, and append appropriate padding for MD4/5 calculation.
*/
function strw2binl(str)
{
var nblk = ((str.length + 4) >> 5) + 1 // number of 16-word blocks
var blks = new Array(nblk * 16)
for(var i = 0; i < nblk * 16; i++) blks[i] = 0
for(var i = 0; i < str.length; i++)
blks[i>>1] |= str.charCodeAt(i) << ((i%2) * 16)
blks[i>>1] |= 0x80 << ((i%2) * 16)
blks[nblk*16-2] = str.length * 16
return blks
}
/*
* External interface
*/
function hexMD5 (str) { return binl2hex(coreMD5( str2binl(str))) }
function hexMD5w(str) { return binl2hex(coreMD5(strw2binl(str))) }
function b64MD5 (str) { return binl2b64(coreMD5( str2binl(str))) }
function b64MD5w(str) { return binl2b64(coreMD5(strw2binl(str))) }
/* Backward compatibility */
function calcMD5(str) { return binl2hex(coreMD5( str2binl(str))) }
// form.js 
var MIN_PASSWORD_LENGTH = 4;
function trim( s )
{
return s.replace( /^\s*(.*?)\s*$/, "$1" );
}
var focused_form_control = null;
function i_have_focus( e )
{
focused_form_control = e;
}
function urlencode( str ) 
{
str = escape( str );
str = str.replace( '+', '%2B' );
str = str.replace( '%20', '+' );
str = str.replace( '*', '%2A' );
str = str.replace( '/', '%2F' );
str = str.replace( '@', '%40' );
return str;
}
function urldecode( str ) 
{
str = str.replace( '+', ' ' );
str = unescape( str );
return str;
}
function SubmitForm( e, xtra )
{
if ( e==null )
return false;
if ( xtra!=null )
e.action = e.action + '?cmd=' + xtra;
e.submit();
}
function HashPassword( e, xtra )
{
if ( e == null )
{
alert( "HashPassword: The form object is missing." );
return false;
}
if ( document.getElementById( "password" ) == null )
{
alert( "HashPassword: The id 'password' input element is missing." );
return false;
}
if ( document.getElementById( "password_encoded" ) == null )
{
alert( "HashPassword: The id 'password_encoded' input element is missing." );
return false;
}
i = trim( e.password.value );
if ( i.length < MIN_PASSWORD_LENGTH )
{
alert( "Please provide a password that is at least " +
MIN_PASSWORD_LENGTH + " characters long." );
return false;
}
var theCookie = "" + document.cookie;
var cookieName = "PHPSESSID";
var ind = theCookie.indexOf( cookieName );
if( ind == -1 || cookieName == "" )
{
RandomServerString = null;
}
else
{
var ind1 = theCookie.indexOf( ";", ind );
if( ind1 == -1 ) 
{
ind1 = theCookie.length; 
}
RandomServerString = unescape( theCookie.substring( ind + cookieName.length + 1, ind1 ) );
}
hash = calcMD5( RandomServerString + calcMD5( i ) );
e.password_encoded.value = hash;
e.password.value = "";
return SubmitForm( e, xtra );
}
function HashPasswordWithoutKey( e, xtra )
{
if ( e == null )
{
alert( "HashPasswordWithoutKey: The form object is missing." );
return false;
}
if ( document.getElementById( "password" ) == null )
{
alert( "HashPasswordWithoutKey: The id 'password' input element is missing." );
return false;
}
if ( document.getElementById( "password_encoded" ) == null )
{
alert( "HashPasswordWithoutKey: The id 'password_encoded' input element is missing." );
return false;
}
if ( document.getElementById( "password_verify" ) == null )
{
alert( "HashPasswordWithoutKey: The id 'password_verify' input element is missing." );
return false;
}
i = trim( e.password.value );
j = trim( e.password_verify.value );
if ( i.length < MIN_PASSWORD_LENGTH )
{
alert( "Please provide a password that is at least " +
MIN_PASSWORD_LENGTH + " characters long." );
return false;
}
if ( i != j )
{
alert( "The verification password did not match. Please " +
"make sure the password and the verification password " +
"are exactly the same." );
return false;
}
hash = calcMD5( i );
e.password_encoded.value = hash;
e.password.value = "";
e.password_verify.value = "";
return SubmitForm( e, xtra );
}
function check_all_by_group( me, e )
{
if ( me == null
|| e == null )
{
alert( "One of these objects is missing: the checkbox " +
"or the group name." );
return false;
}
var elements = document.getElementsByTagName( "*" );
for( s = 0 ; s < elements.length; s++ )
{
var c = elements[s];
if( c.type == 'checkbox' )
{
var group = c.getAttribute( "group" );
if ( group == e )
c.checked = me.checked;
}
}
}
function check_all_by_name( me, e )
{
if ( me == null
|| e == null )
{
alert( "One of these objects is missing: the checkbox " +
"or the checkbox name." );
return false;
}
var elements = document.getElementsByName( e );
for( s = 0 ; s < elements.length; s++ )
{
var c = elements[s];
if( c.type == 'checkbox' )
{
c.checked = me.checked;
}
}
}
function ListSelectAll( a )
{
ListClearFirst( a );
for ( si = 0; si < a.options.length; si++ )
{
a.options[ si ].selected = true;
}
}
function ListSortCompFunc( a, b )
{
if ( a == null || b == null || a == b ) 
return 0;
aa = a.text.toLowerCase();
bb = b.text.toLowerCase();
if ( aa > bb )
return 1;
return -1;
}
function ListSort( s )
{
a = new Array();
for ( si = 0; si < s.options.length; si++ )
{
a[si] = new Option( s.options[si].text, s.options[si].value );
if ( s.options[si].selected == true )
a[si].selected = true;
}
a.sort( ListSortCompFunc );
for ( si = 0; si < s.options.length; si++ )
s.options[ si ] = a[ si ];
}
function ListClearAll( s )
{
for ( si = s.options.length - 1; si >= 0; si-- )
{
s.options[ si ] = null;
}
}
function ListClearFirst( s )
{
if ( s.options.length > 0 )
if ( s.options[ 0 ].text == '---------------------' )
s.options[ 0 ] = null;
}
function ListClear( s )
{
if ( !s )
{
alert( "The ID of the list is missing." );
}
var element = document.getElementById( s );
if ( !element )
{
alert( "I could not find the list with ID '" + s + "'." );
}
if ( element.options.length > 0 )
{
if ( element.options[ 0 ].text == '---------------------' )
{
element.options[ 0 ] = null;
}
}
}
function ListAddOptionExplicit( f, s, v, k )
{
f1 = document.forms[f];
if ( f1 == null )
{
alert( "Bad form name." );
return false;
}
s1 = f1.elements[s];
if ( s1 == null )
{
alert( "Bad element name." );
return false;
}
var o = new Option( v, k );
s1.options[ s1.options.length ] = o;
}
function ListAddOptionsExplicit( f, s, v, k )
{
f1 = document.forms[f];
if ( f1 == null )
{
alert( "Bad form name." );
return false;
}
s1 = f1.elements[s];
if ( s1 == null )
{
alert( "Bad element name." );
return false;
}
for ( si = 0; si < v.length; si++ )
{
var o = new Option( v[si], k[si] );
s1.options[ s1.options.length ] = o;
}
}
function ListAddOne( s1, s2, tosort )
{
ListClearFirst( s1 );
ListClearFirst( s2 );
for ( si = 0; si < s1.options.length; si++ )
{
if ( s1.options[si].selected == true )
{
v = s1.options[ si ].value;
t = s1.options[ si ].text;
var opt = new Option( t, v );
opt.selected = true;
s2.options[ s2.options.length ] = opt;
}
}
for ( si = s1.options.length-1; si >= 0; si-- )
{
if ( s1.options[si].selected == true )
{
s1.options[ si ] = null;
}
}
if ( tosort != null )
{
ListSort( tosort );
}
}
function ListAddAll( s1, s2, tosort )
{
ListClearFirst( s1 );
ListClearFirst( s2 );
for ( si = 0; si < s1.options.length; si++ )
{
v = s1.options[ si ].value;
t = s1.options[ si ].text;
var opt = new Option( t, v );
s2.options[ s2.options.length ] = opt;
}
for ( si = s1.options.length-1; si >= 0; si-- )
{
s1.options[ si ] = null;
}
if ( tosort != null )
ListSort( s1 ) ;
}
function ListMoveUp( s1 )
{
ListClearFirst( s1 );
for ( si = 1; si < s1.options.length; si++ )
{
if ( s1.options[si].selected == true)
{
if ( s1.options[si-1].selected != true )
{
v = s1.options[ si ].value;
t = s1.options[ si ].text;
var opt = new Option( t, v );
v = s1.options[ si-1 ].value;
t = s1.options[ si-1 ].text;
var rep = new Option( t, v );
s1.options[ si - 1 ] = opt;
s1.options[ si ] = rep;
s1.options[ si - 1 ].selected = true;
}
}
}
}
function ListMoveDown( s1 )
{
ListClearFirst( s1 );
for ( si = s1.options.length-2; si >= 0; si-- )
{
if ( s1.options[si].selected == true)
{
if ( s1.options[si+1].selected != true )
{
v = s1.options[ si ].value;
t = s1.options[ si ].text;
var opt = new Option( t, v );
v = s1.options[ si+1 ].value;
t = s1.options[ si+1 ].text;
var rep = new Option( t, v );
s1.options[ si + 1 ] = opt;
s1.options[ si ] = rep;
s1.options[ si + 1 ].selected = true;
}
}
}
}
var nopopups = 0;
function RePopulateList( f, s, t, r, v )
{ 
f1 = document.forms[f];
if ( f1 == null )
{
alert( "Bad form name." );
return false;
}
s1 = f1.elements[s];
if ( s1 == null )
{
alert( "Bad element name." );
return false;
}
if ( s1.options.length < 1 ) 
return PopulateList( f, s, t, r, v );
return true;
}
function PopulateList( f, s, t, r, v )
{ 
f1 = document.forms[f];
if ( f1 == null )
{
alert( "Bad form name." );
return false;
}
s1 = f1.elements[s];
if ( s1 == null )
{
alert( "Bad element name." );
return false;
}
ListClearAll( s1 );
nw = window.open( "http://glbt.unm.edu/alliance/getjsdata.php?f=" + f + 
"&s=" + s + "&t=" + t + "&r=" + r + "&v= " + v, 
"retdata",
"height=1,width=1,directories=no,location=no,menubar=no," +
"resizeable=no,scrollbars=no,status=no,toolbar=no,titlebar=no," +
"dependent=yes" );
if ( nw == null && nopopups == 0 )
{
alert( "If you have JavaScript popups blocked, please enable " +
"them on this site for this feature to function." );
nopopups = 1;
return false;
}
return true;
}
var xmlHttp = null;
var baseaddr = "http://latinlexicon.org/";
var base_AJAX_address = "http://latinlexicon.org/ajax/";
// in milliseconds
var ajax_request_timeout_in_ms = 10000;
var ajax_request_typing_delay_in_ms = 250;
var ajax_request_timeout_timer = undefined;
var ajax_request_delay_timer = undefined;
var ajax_request_delay_timer_2 = undefined;
try
{
xmlHttp = create_cross_browser_xmlHttp_object();
}
catch( e )
{
if ( e instanceof String )
{
alert( e );
}
alert( "Can't create xmlHttp transport object." );
}
function ajax_request_timeout()
{
alert( "I can't fulfill the AJAX request because it timed out. \n\n" + 
"Wait 10 seconds and try again.");
xmlHttp.abort();
}
function create_cross_browser_xmlHttp_object()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
throw "Your browser does not support AJAX!" 
}
}
}
return xmlHttp;
}
function urlencode(str) 
{
str = escape(str);
str = str.replace('+', '%2B');
str = str.replace('%20', '+');
str = str.replace('*', '%2A');
str = str.replace('/', '%2F');
str = str.replace('@', '%40');
return str;
}
function urldecode(str) 
{
str = str.replace('+', ' ');
str = unescape(str);
return str;
}
//var baseaddr = ".";
/*
if( document.getElementsByTagName ) 
{
var elems = document.getElementsByTagName( 'base' );
if( elems.length ) 
{
baseaddr = elems[ 0 ].href;
}
}
*/
function entry_feedback( p1, p2, p3, p4 )
{
if( p1 == 4 || p1 == 5 )
{
// the user pressed cancel
if( p3 == null )
{
return;
}
p3 = p3.replace( /^\s+|\s+$/ig, "" );
if( p3 == "null" || p3 == "undefined" || p3 == "''" || p3 == "" )
{
alert( "Sorry, I can't submit a blank answer!" );
return;
}
}
p1 = urlencode( p1 );
p2 = urlencode( p2 );
p3 = urlencode( p3 );
p4 = urlencode( p4 );
var gateway = baseaddr + "/ajax/entry_feedback.php?p1=" 
+ p1 + "&p2=" + p2 + "&p3=" + p3 + "&p4=" + p4;
try
{
oldAjaxImage = document.getElementById( ajaxImage ).src;
document.getElementById( ajaxImage ).src = imgRefresh;
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = function()
{
if( xmlHttp.readyState == 4 )
{
//document.myForm.time.value = xmlHttp.responseText;
if ( xmlHttp.status == 200 )
{
var tmp_str = xmlHttp.responseText.replace( /^\s+|\s+$/g, '' ); 
if ( tmp_str.length > 0 )
{
alert( tmp_str );
}
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
document.getElementById( ajaxImage ).src = oldAjaxImage;
}
}
xmlHttp.send( null );
//alert( ajaxImage );
}
catch( e )
{
alert( "I could not open the AJAX gateway.\n\n" + gateway );
document.getElementById( ajaxImage ).src = oldAjaxImage;
}
}
/**
*
*
*/
function ajax_latin_and_english_lexicon_lookup_event( evt, language )
{
var lookup_input_element_id = "lookup_input_element";
var lookup_select_element_id = "lookup_select_element";
// for Internet Explorer compatibility
if ( !evt )
{
evt = window.event;
}
var input_element = document.getElementById( lookup_input_element_id )
if ( input_element == null )
{
alert( "input element not found" );
return false;
}
var select_element = document.getElementById( lookup_select_element_id )
if ( select_element == null )
{
alert( "select element not found" );
return false;
}
switch( evt.type )
{
case "keydown":
if ( evt.keyCode == "38" ) // up arrow
{
if ( select_element.options.selectedIndex >= 0
&& select_element.selectedIndex > 0 )
{
select_element.selectedIndex--;
lookup_entry( select_element.options[select_element.options.selectedIndex].value );
}
}
else if ( evt.keyCode == "40" ) // down arrow
{
if ( select_element.options.selectedIndex >= 0
&& select_element.selectedIndex < ( select_element.options.length - 1 ) )
{
select_element.selectedIndex++;
lookup_entry( select_element.options[select_element.options.selectedIndex].value );
}
}
break;
case "keyup":
keychar = String.fromCharCode( evt.keyCode );
if ( ( keychar >= 'A' && keychar <= 'Z' )// A-Z
|| ( keychar >= 'a' && keychar <= 'z' ) // a-z (probably unnecessary but just in case)
|| ( evt.keyCode == 8 ) // backspace
|| ( evt.keyCode == 46 ) )// delete
{
if ( language == 'english' )
{
ajax_english_lexicon_lookup( input_element.value );
}
else
{
ajax_latin_lexicon_lookup( input_element.value );
}
}
else if ( evt.keyCode == "13" ) // enter key
{
if ( select_element.options.selectedIndex >= 0 )
{
lookup_entry( select_element.options[select_element.options.selectedIndex].value );
}
}
else if ( evt.keyCode == "27" ) // escape key
{
input_element.focus();
input_element.value = '';
}
break;
case "keypress":
break;
case "mousedown":
break;
case "mouseup":
break;
default:
alert( evt.type );
}
}
/**
*
*
*/
function ajax_latin_lexicon_lookup( word )
{
if ( ajax_request_delay_timer != undefined )
{
clearTimeout( ajax_request_delay_timer );
}
word = word.replace( /^\s+|\s+$/g, '' ); 
word = word.replace( /'/g, '' );
ajax_request_delay_timer = setTimeout( "ajax_latin_lexicon_lookup_keyboard_delay( '" + word + "' )", 
ajax_request_typing_delay_in_ms );
}
/**
*
*
*/
function ajax_latin_lexicon_lookup_keyboard_delay( word )
{
var lookup_select_element_id = "lookup_select_element";
p1 = urlencode( word );
p1 = p1.replace( /^\s+|\s+$/g, '' ); 
var el = document.getElementById( lookup_select_element_id )
if ( el == null )
{
alert( "select element not found" );
return false;
}
if ( p1.length == 0 )
{
el.options.length = 0;
return;
}
var gateway = baseaddr + "/ajax/lookup.php?p1=" + p1;
try
{
el.disabled = true;
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = xmlHttp.onreadystatechange = function()
{
switch( xmlHttp.readyState )
{
/*
0 = open has not yet been called
1 = send has not yet been called but open has been called
2 = send has been called but no response from server
3 = data is in the process of being received from the server
4 = response from server has arrived
*/
case 4:
var el = document.getElementById( lookup_select_element_id )
if ( el == null )
{
alert( "select element not found" );
return false;
}
el.disabled = false;
if ( xmlHttp.status == 200 )
{
var split_res = xmlHttp.responseText.split( "|" );
el.options.length = 0;
for ( si = 0; si < split_res.length - 2; si++ )
{
var pair = split_res[si+1].split( "=" );
key = pair[1];
value = pair[0];
// Select the first word in the list automatically
if ( si == 0 )
{
el.options[si] = new Option( value, key, true, true );
}
else
{
el.options[si] = new Option( value, key );
}
}
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
break;
default:
// ignore everything else 
}
}
xmlHttp.send( null );
}
catch( e )
{
alert( e );
alert( "I could not open the AJAX gateway.\n\n" + gateway );
return false;
}
return true;
}
function ajax_latin_lexicon_lookup_iphone( word )
{
if ( ajax_request_delay_timer != undefined )
{
clearTimeout( ajax_request_delay_timer );
}
word = word.replace( /^\s+|\s+$/g, '' ); 
word = word.replace( /'/g, '' );
ajax_request_delay_timer = setTimeout( "ajax_latin_lexicon_lookup_iphone_keyboard_delay( '" + word + "' )", 
ajax_request_typing_delay_in_ms );
}
function ajax_latin_lexicon_lookup_iphone_keyboard_delay( word )
{
var iphone_search_list_element_id = "iphone_search_list_element";
p1 = urlencode( word );
p1 = p1.replace( /^\s+|\s+$/g, "" ); 
if ( p1.length == 0 )
{
var el = document.getElementById( iphone_search_list_element_id )
el.innerHTML = null;
return;
}
var gateway = baseaddr + "/../ajax/lookup_iphone.php?p1=" + p1;
try
{
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = xmlHttp.onreadystatechange = function()
{
switch( xmlHttp.readyState )
{
/*
0 = open has not yet been called
1 = send has not yet been called but open has been called
2 = send has been called but no response from server
3 = data is in the process of being received from the server
4 = response from server has arrived
*/
case 4:
if ( xmlHttp.status == 200 )
{
var split_res = xmlHttp.responseText.split( "|" );
var el = document.getElementById( iphone_search_list_element_id )
if ( el == null )
{
alert( "select element not found" );
return false;
}
el.innerHTML = null;
var output = "";
for ( si = 0; si < split_res.length - 2; si++ )
{
var pair = split_res[si+1].split( "=" );
key = pair[1];
value = pair[0];
output += "<li onclick=\"lookup_entry_iphone( this );\">" +
"<div>" + value +
"<span>" +
"<input value=\"" + key + "\" type=\"hidden\">" +
"</span>" +
"</div>" +
"</li>";
}
el.innerHTML = output;
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
break;
default:
// ignore everything else 
}
}
xmlHttp.send( null );
}
catch( e )
{
alert( e );
alert( "I could not open the AJAX gateway.\n\n" + gateway );
return false;
}
return true;
}
/**
*
*
*/
function ajax_english_lexicon_lookup( word )
{
if ( ajax_request_delay_timer != undefined )
{
clearTimeout( ajax_request_delay_timer );
}
word = word.replace( /^\s+|\s+$/g, '' ); 
word = word.replace( /'/g, '' );
ajax_request_delay_timer = setTimeout( "ajax_english_lexicon_lookup_keyboard_delay( '" + word + "' )", 
ajax_request_typing_delay_in_ms );
}
function ajax_english_lexicon_lookup_keyboard_delay( word )
{
var lookup_select_element_id = "lookup_select_element";
p1 = urlencode( word );
p1 = p1.replace(/^\s+|\s+$/g, ''); 
var el = document.getElementById( lookup_select_element_id )
if ( el == null )
{
alert( "select element not found" );
return false;
}
if ( p1.length == 0 )
{
var el = document.getElementById( lookup_select_element_id )
el.options.length = 0;
return;
}
var gateway = baseaddr + "/ajax/lookup_english.php?p1=" + p1;
try
{
el.disabled = true;
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = function()
{
switch( xmlHttp.readyState )
{
/*
0 = open has not yet been called
1 = send has not yet been called but open has been called
2 = send has been called but no response from server
3 = data is in the process of being received from the server
4 = response from server has arrived
*/
case 4:
if ( xmlHttp.status == 200 )
{
var split_res = xmlHttp.responseText.split( "|" );
var el = document.getElementById( lookup_select_element_id )
if ( el == null )
{
alert( "select element not found" );
return false;
}
el.disabled = false;
el.options.length = 0;
for ( si = 0; si < split_res.length - 2; si++ )
{
var pair = split_res[si+1].split( "=" );
key = pair[1];
value = pair[0];
if ( si == 0 )
{
el.options[si] = new Option( value, key, true, true );
}
else
{
el.options[si] = new Option( value, key );
}
}
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
break;
default:
// not used
}
}
xmlHttp.send( null );
}
catch( e )
{
alert( e );
alert( "I could not open the AJAX gateway.\n\n" + gateway );
return false;
}
return true;
}
function lookup_input_focus() 
{
var temp_function = function() 
{
var lookup_input_element_id = "lookup_input_element";
var input_element = document.getElementById( lookup_input_element_id )
if ( input_element == null )
{
alert( "input element not found" );
return false;
}
input_element.focus();
} 
var generic_timer = setTimeout(temp_function, ajax_request_typing_delay_in_ms );
}
var old_lexicon_id;
function lookup_entry( lexicon_id )
{
if ( ajax_request_delay_timer_2 != undefined )
{
clearTimeout( ajax_request_delay_timer_2 );
}
lexicon_id = lexicon_id.replace( /^\s+|\s+$/g, '' ); 
lexicon_id = lexicon_id.replace( /'/g, '' );
if ( lexicon_id != old_lexicon_id )
{
ajax_request_delay_timer_2 = setTimeout( "lookup_entry_keyboard_delay( '" + lexicon_id + "' )", 
ajax_request_typing_delay_in_ms );
old_lexicon_id = lexicon_id;
}
lookup_input_focus();
}
function lookup_entry_keyboard_delay( lexicon_id )
{
var lookup_div_element_id = "lookup_div_element";
p1 = urlencode( lexicon_id );
p1 = p1.replace(/^\s+|\s+$/g, ''); 
if ( p1.length == 0 )
{
return;
}
var gateway = baseaddr + "/ajax/lookup_entry.php?p1=" + p1.toString();
try
{
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = function()
{
switch( xmlHttp.readyState )
{
/*
0 = open has not yet been called
1 = send has not yet been called but open has been called
2 = send has been called but no response from server
3 = data is in the process of being received from the server
4 = response from server has arrived
*/
case 4:
if ( xmlHttp.status == 200 )
{
//alert( xmlHttp.responseText );
//alert( xmlHttp.responseXML );
var txt = xmlHttp.responseText;
//alert( split_res[1] );
var el = document.getElementById( lookup_div_element_id )
if ( el == null )
{
alert( "div element not found" );
return false;
}
el.innerHTML = txt;
initChecks();
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
break;
default:
// Not used
}
}
xmlHttp.send( null );
}
catch( e )
{
alert( e );
alert( "I could not open the AJAX gateway.\n\n" + gateway );
return false;
}
return true;
}
function lookup_entry_iphone( el )
{
var elements = el.getElementsByTagName( "input" );
if ( elements.length == 0 )
{
alert( "There are not enough input elements in this list element." );
return;
}
if ( elements.length > 1 )
{
alert( "There are too many input elements in this list element." );
return;
}
var input_element = elements[0];
var lexicon_id = input_element.value;
lexicon_id = lexicon_id.replace( /^\s+|\s+$/g, "" ); 
if ( ajax_request_delay_timer != undefined )
{
clearTimeout( ajax_request_delay_timer );
}
lexicon_id = lexicon_id.replace( /^\s+|\s+$/g, '' ); 
lexicon_id = lexicon_id.replace( /'/g, '' );
ajax_request_delay_timer = setTimeout( "lookup_entry_iphone_keyboard_delay( '" + lexicon_id + "' )", 
ajax_request_typing_delay_in_ms );
}
function lookup_entry_iphone_keyboard_delay( lexicon_id )
{
var lookup_div_element_id = "lookup_div_element";
var iphone_search_list_element_id = "iphone_search_list_element";
var lookup_container_element_id = "iphone_search_container";
var lookup_back_button_element_id = "lookup_back_button";
p1 = urlencode( lexicon_id );
p1 = p1.replace( /^\s+|\s+$/g, "" ); 
if ( p1.length == 0 )
{
alert( "Javascript error: lookup_entry_iphone_keyboard_delay" );
return;
}
var gateway = baseaddr + "/../ajax/lookup_entry_iphone.php?p1=" + p1.toString();
var el = document.getElementById( lookup_container_element_id )
if ( el == null )
{
alert( "list element not found" );
return false;
}
el.style.visibility = "hidden";
el.style.display = "none";
var el = document.getElementById( lookup_div_element_id )
if ( el == null )
{
alert( "div element not found" );
return false;
}
el.innerHTML = "";
el.style.visibility = "visible";
el.style.display = "block";
var el = document.getElementById( lookup_back_button_element_id )
if ( el == null )
{
alert( "div element not found" );
return false;
}
el.style.visibility = "visible";
el.style.display = "block";
try
{
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = function()
{
switch( xmlHttp.readyState )
{
/*
0 = open has not yet been called
1 = send has not yet been called but open has been called
2 = send has been called but no response from server
3 = data is in the process of being received from the server
4 = response from server has arrived
*/
case 4:
if ( xmlHttp.status == 200 )
{
//alert( xmlHttp.responseText );
//alert( xmlHttp.responseXML );
var txt = xmlHttp.responseText;
//alert( split_res[1] );
var el = document.getElementById( lookup_div_element_id )
if ( el == null )
{
alert( "div element not found" );
return false;
}
el.innerHTML = txt;
initChecks();
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
break;
default:
// Not used
}
}
xmlHttp.send( null );
}
catch( e )
{
alert( e );
alert( "I could not open the AJAX gateway.\n\n" + gateway );
return false;
}
return true;
}
function back_to_search()
{
var lookup_div_element_id = "lookup_div_element";
var iphone_search_list_element_id = "iphone_search_list_element";
var lookup_container_element_id = "iphone_search_container";
var lookup_back_button_element_id = "lookup_back_button";
var el = document.getElementById( lookup_container_element_id )
if ( el == null )
{
alert( "list element not found" );
return false;
}
el.style.visibility = "visible";
el.style.display = "block";
var el = document.getElementById( lookup_div_element_id )
if ( el == null )
{
alert( "div element not found" );
return false;
}
el.style.visibility = "hidden";
el.style.display = "none";
var el = document.getElementById( lookup_back_button_element_id )
if ( el == null )
{
alert( "div element not found" );
return false;
}
el.style.visibility = "hidden";
el.style.display = "none";
setTimeout
( 
function()
{
window.scrollTo(0, 1) 
}, 0 
);
}
var saved_tags = new Array();
var saved_section_tags = new Array();
function clear_text( id )
{
var element = document.getElementById( id );
if ( element == null )
{
alert( "input element not found" );
return false;
}
element.value = "";
element.focus();
}
function clear_select( id )
{
var element = document.getElementById( id );
if ( element == null )
{
alert( "select element not found" );
return false;
}
element.options.length = 0;
}
function clear_search( id )
{
var element = document.getElementById( id );
if ( element == null )
{
alert( "text element not found" );
return false;
}
link_search( element );
}
function link_search( text_box )
{
// only fill out the saved_tags once
if ( saved_tags.length == 0 )
{
// get all the div tags in the document
var div_tags = document.getElementsByTagName( "div" );
// iterate the div tags
for ( si = 0; si < div_tags.length; si++ )
{
var tag = div_tags[si];
// find the div tags named "link_container"
if ( tag.className == "link_container" )
{
// grab all the "a" tags
var sub_tags = tag.getElementsByTagName( "a" );
// get the link description
var keyword_string = sub_tags[0].innerHTML;
// grab all the "div" tags
var sub_tags = tag.getElementsByTagName( "div" );
// get the full description, convert to lower case
keyword_string += " " + sub_tags[0].innerHTML;
keyword_string = keyword_string.toLowerCase();
// set a variable inside the "div" tag
tag.keyword_string = keyword_string;
// save the "div" tag (as a pointer!)
saved_tags[saved_tags.length] = tag;
}
// find the div tags named "link_section_container"
if ( tag.className == "link_section_container" )
{
// save the "div" tag (as a pointer!)
saved_section_tags[saved_section_tags.length] = tag;
}
}
}
// grab the value of the text box ("what the user typed")
var search_string = text_box.value;
search_string = search_string.toLowerCase();
// split it up into an array
var search_array = search_string.split( " " );
// make a list of tags to show (these are all pointers!)
var show_list = new Array();
// iterate through the list of saved tags to determine
// if this link matches or not
for ( si = 0; si < saved_tags.length; si++ )
{
var tag_item = saved_tags[si];
show_list[si] = 0; 
for ( ssi = 0; ssi < search_array.length; ssi++ )
{
var search_item = search_array[ssi];
if( tag_item.keyword_string.indexOf( search_item ) != -1 )
{
show_list[si]++;
}
}
if( show_list[si] == search_array.length )
{
tag_item.style.display = "block";
}
else
{
tag_item.style.display = "none";
}
}
/* ONLY SHOW LINK SECTIONS WHICH HAVE MORE THAN ONE VISIBLE LINK_CONTAINER */
// iterate the section tags
for ( si = 0; si < saved_section_tags.length; si++ )
{
var tag = saved_section_tags[si];
// grab all the "div" tags
var sub_tags = tag.getElementsByTagName( "div" );
var show_section = 0;
for ( ti = 0; ti < sub_tags.length; ti++ )
{
if ( sub_tags[ti].style.display == "block" )
{
show_section++;
}
}
if ( show_section > 0 )
{
tag.style.display = "block";
}
else
{
tag.style.display = "none";
}
}
}/*
CSS Browser Selector v0.3.2
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',h=document.getElementsByTagName('html')[0],b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3')?g+' ff3':is('gecko/')?g:/opera(\s|\/)(\d+)/.test(ua)?'opera opera'+RegExp.$2:is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);
function combo_dropdown( evt, combo_base_name, gateway )
{
text_element = document.getElementById( combo_base_name + "_text" )
if ( text_element == null )
{
alert( combo_base_name + "_text element not found." );
}
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
if ( !evt )
{
evt = window.event;
}
switch( evt.type )
{
case "keyup":
if ( evt.keyCode == "9" ) // tab
{
combo_dropdown_hide( combo_base_name );
return;
}
if ( evt.keyCode == "13" ) // enter
{
return false;
}
if ( evt.keyCode == "38" ) // up arrow
{
return;
}
if ( evt.keyCode == "40" ) // down arrow
{
return;
}
break;
}
combo_ajax_query( combo_base_name, gateway );
}
function combo_select_previous( combo_base_name )
{
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
if ( select_element.options.length == 0 
|| select_element.options.length == false )
{
return;
}
var index = select_element.options.selectedIndex;
index--;
if ( index < 0 )
{
index = 0;
}
select_element.options.selectedIndex = index;
}
function combo_select_next( combo_base_name )
{
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
if ( select_element.options.length == 0 
|| select_element.options.length == false )
{
return;
}
var index = select_element.options.selectedIndex;
index++;
if ( index > select_element.options.length - 1 )
{
index = select_element.options.length - 1;
}
select_element.options.selectedIndex = index;
}
function combo_dropdown_toggle( evt, combo_base_name, gateway )
{
text_element = document.getElementById( combo_base_name + "_text" )
if ( text_element == null )
{
alert( combo_base_name + "_text element not found." );
}
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
if ( select_element.style.visibility == 'visible' )
{
select_element.style.visibility = "hidden";
select_element.style.display = "none";
}
else
{
combo_dropdown( evt, combo_base_name, gateway );
}
text_element.focus();
focused_form_control = select_element;
}
function combo_dropdown_show( combo_base_name )
{
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
select_element.options.selectedIndex = 0;
select_element.style.visibility = "visible";
select_element.style.display = "block";
}
function combo_dropdown_hide( combo_base_name )
{
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
select_element.style.visibility = "hidden";
select_element.style.display = "none";
}
function combo_textbox_blur( combo_base_name )
{
func = function()
{
if ( focused_form_control.id != combo_base_name + "_select" )
{
combo_dropdown_hide( combo_base_name );
}
}
var combo_textbox_blur_timer = setTimeout( func, 
1000 );
}
function combo_ajax_query( combo_base_name, gateway )
{
if ( ajax_request_timeout_timer != undefined )
{
clearTimeout( ajax_request_timeout_timer );
}
func = function()
{
combo_ajax_query_keyboard_delay( combo_base_name, gateway );
}
ajax_request_timeout_timer = setTimeout( func, ajax_request_typing_delay_in_ms );
}
function combo_ajax_query_keyboard_delay( combo_base_name, gateway )
{
//alert( gateway );
try
{
xmlHttp.open( "GET", gateway, true );
xmlHttp.onreadystatechange = function()
{
switch( xmlHttp.readyState )
{
/*
0 = open has not yet been called
1 = send has not yet been called but open has been called
2 = send has been called but no response from server
3 = data is in the process of being received from the server
4 = response from server has arrived
*/
case 4:
window.clearTimeout( ajax_request_timeout_timer );
if ( xmlHttp.status == 200 )
{
//alert( xmlHttp.responseText );
//alert( xmlHttp.responseXML );
var txt = xmlHttp.responseText;
//alert( split_res[1] );
var el = document.getElementById( combo_base_name + "_select" )
if ( el == null )
{
alert( "select element not found" );
return false;
}
el.options.length = 0;
var split_res = xmlHttp.responseText.split( "|" );
for ( si = 0; si < split_res.length - 1; si++ )
{
key = split_res[si+1];
value = split_res[si+1];
el.options[si] = new Option( value, key );
}
el.options.selectedIndex = 0;
el.style.visibility = "visible";
el.style.display = "block";
}
else
{
if ( xmlHttp.status == 0 ) 
{
// This just means we aborted the connection
}
else
{
alert( "I encountered error " + 
xmlHttp.status + " (" + xmlHttp.statusText + ") " + 
"while trying to communicate with the AJAX gateway." );
}
}
break;
}
}
xmlHttp.send( null );
ajax_request_timeout_timer = window.setTimeout( "ajax_request_timeout()", ajax_request_timeout_in_ms );
}
catch( e )
{
alert( e );
alert( "I could not open the AJAX gateway.\n\n" + gateway );
return false;
}
return true;
}
function combo_set_text( combo_base_name )
{
text_element = document.getElementById( combo_base_name + "_text" )
if ( text_element == null )
{
alert( combo_text_text + " element not found." );
}
select_element = document.getElementById( combo_base_name + "_select" );
if ( select_element == null )
{
alert( combo_base_name + "_select element not found." );
}
if ( select_element.options.selectedIndex >= 0 )
{
text_element.value = select_element.options[select_element.options.selectedIndex].value;
}
select_element.style.visibility = "hidden";
select_element.style.display = "none";
text_element.focus();
focused_form_control = select_element;
}
function check_for_tab( evt, combo_base_name )
{
if ( !evt )
{
evt = window.event;
}
switch( evt.type )
{
case "keydown":
if ( evt.keyCode == "9" ) // tab
{
combo_dropdown_hide( combo_base_name );
return;
}
if ( evt.keyCode == "13" ) // enter
{
combo_set_text( combo_base_name );
return false;
}
if ( evt.keyCode == "38" ) // up arrow
{
combo_select_previous( combo_base_name );
}
if ( evt.keyCode == "40" ) // down arrow
{
combo_select_next( combo_base_name );
}
break;
}
}
/**Source Box Javascript
*
*Requires JQuery 1.4.2 (or later).
*/
$(document).ready( initialize_search_box );
var source_box_container_id = "source_box_container";
var source_box_control_id = "source_box_control";
var source_box_check_name = "source_box_check";
var source_box_arrow_name = "source_box_arrow";
var source_box_minimizable_row_name = "source_box_minimizable_row"
var source_box_container_element = null;
// MAKE SURE THIS IS A FULLY QUALIFIED BASE
var image_base = "http://latinlexicon.org/images/source_box/";
var preload_images = new Array();
preload_images["minimize_high"] = image_base + "top_control_minimize_high.png";
preload_images["minimize_normal"] = image_base + "top_control_minimize_normal.png";
preload_images["maximize_high"] = image_base + "top_control_maximize_high.png";
preload_images["maximize_normal"] = image_base + "top_control_maximize_normal.png";
preload_images["check_normal"] = image_base + "check_normal.png";
preload_images["check_high"] = image_base + "check_high.png";
preload_images["check_glow"] = image_base + "check_glow.png";
preload_images["check_checked_normal"] = image_base + "check_checked_normal.png";
preload_images["check_checked_high"] = image_base + "check_checked_high.png";
preload_images["check_checked_glow"] = image_base + "check_checked_glow.png";
preload_images["arrow_normal"] = image_base + "arrow_normal.png";
preload_images["arrow_high"] = image_base + "arrow_high.png";
preload_images["arrow_invisible"] = image_base + "arrow_invisible.png";
preload_images["arrow_glow"] = image_base + "arrow_glow.png";
function initialize_search_box()
{
source_box_container_element = $(source_box_container_id);
if( source_box_container_element == null )
{
alert( "'" + source_box_container_element + "' not found." );
return false;
}
if( document.images )
{
var preloaded_image = new Array();
for( var si = 0; si < preload_images.length; si++ )
{
preloaded_image[si] = new Image();
preloaded_image[si].src = preload_images[si];
}
}
// the minimize/maximize control
$("#source_box_control")
.mouseenter( mouseenter_control )
.mouseleave( mouseleave_control )
.click( click_control );
// the check box controls
$(".source_box_check")
.mouseenter( mouseenter_check )
.mouseleave( mouseleave_check )
.mousedown( mousedown_check )
.mouseup( mouseup_check )
.click( click_check );
// the arrow controls
$(".source_box_arrow")
.mouseenter( mouseenter_arrow )
.mouseleave( mouseleave_arrow )
.mousedown( mousedown_arrow )
.mouseup( mouseup_arrow )
.click( click_arrow );
show_hide_arrows();
get_source_box_states( true );
$(window).resize( function() { calculate_position_and_show( true ); } );
$(window).scroll( function() { calculate_position_and_show( true ); } );
}// initialize_search_box
function calculate_position_and_show( after )
{
var source_box_jq = $("#source_box_container");
var previous_height = source_box_jq.data( "previous_height" );
source_box_jq.css( "display", "block" );
source_box_jq.css( "position", "absolute" );
if( !previous_height )
{
previous_height = source_box_jq.outerHeight();
source_box_jq.data( "previous_height", previous_height );
}
if( !after )
{
source_box_jq.animate
(
{ 
"top" : $(window).height() - previous_height + $(window).scrollTop() - 1 + "px",
"left" : $(window).width() - source_box_jq.outerWidth() + $(window).scrollLeft() - 1 + "px"
}, 
"fast" 
);
}
else if( after )
{
source_box_jq.css( "left", $(window).width() - source_box_jq.outerWidth() + $(window).scrollLeft() - 1 + "px" );
source_box_jq.css( "top", $(window).height() - source_box_jq.outerHeight() + $(window).scrollTop() - 1 + "px" );
}
}
function mouseenter_control( e ) 
{
switch( this.src )
{
case preload_images["minimize_normal"]:
this.src = preload_images["minimize_high"];
break;
case preload_images["maximize_normal"]:
this.src = preload_images["maximize_high"];
break;
default:
throw "The domains probably don't match: " + this.src + image_base;
}
return false; // don't bubble this click 
};
function mouseleave_control( e ) 
{
switch( this.src )
{
case preload_images["minimize_high"]:
this.src = preload_images["minimize_normal"];
break;
case preload_images["maximize_high"]:
this.src = preload_images["maximize_normal"];
break;
default:
throw "The domains probably don't match: " + this.src + image_base;
}
return false; // don't bubble this click 
};
function click_control( e )
{
calculate_position_and_show( false );
$( ".source_box_minimizable_row" ).slideToggle
(
"fast", 
function () 
{
calculate_position_and_show( true );
}
)
switch( $(this).attr( "src" ) )
{
case preload_images["minimize_normal"]:
$(this).attr( "src", preload_images["maximize_normal"] );
break;
case preload_images["minimize_high"]:
$(this).attr( "src", preload_images["maximize_high"] );
break;
case preload_images["maximize_normal"]:
$(this).attr( "src", preload_images["minimize_normal"] );
break;
case preload_images["maximize_high"]:
$(this).attr( "src", preload_images["minimize_high"] );
break;
default:
throw "The domains probably don't match: " + this.src + image_base;
}
}
function mouseenter_check( e ) 
{
if( $(this).data( "checked" ) )
{
this.src = preload_images["check_checked_high"];
}
else
{
this.src = preload_images["check_high"];
}
return false; // don't bubble this click 
};
function mouseleave_check( e ) 
{
if( $(this).data( "checked" ) )
{
this.src = preload_images["check_checked_normal"];
}
else
{
this.src = preload_images["check_normal"];
}
return false; // don't bubble this click 
};
function mousedown_check( e )
{
if( $(this).data( "checked" ) )
{
this.src = preload_images["check_checked_glow"];
}
else
{
this.src = preload_images["check_glow"];
}
return false;
}
function mouseup_check( e )
{
if( $(this).data( "checked" ) )
{
this.src = preload_images["check_checked_normal"];
}
else
{
this.src = preload_images["check_normal"];
}
return false;
}
function click_check( e ) 
{
switch( this.src )
{
case preload_images["check_normal"]:
this.src = preload_images["check_checked_normal"];
checked = true;
break;
case preload_images["check_high"] :
this.src = preload_images["check_checked_high"];
checked = true;
break;
case preload_images["check_checked_normal"]:
this.src = preload_images["check_normal"];
checked = false;
break;
case preload_images["check_checked_high"]:
this.src = preload_images["check_high"] ;
checked = false;
break;
default:
throw "The domains probably don't match: " + this.src + image_base;
}
$(this).data( "checked", checked );
set_source_box_states();
return false; // don't bubble this click 
};
function mouseenter_arrow( e ) 
{
this.src = preload_images["arrow_high"];
return false; // don't bubble this click 
};
function mouseleave_arrow( e ) 
{
this.src = preload_images["arrow_normal"];
return false; // don't bubble this click 
};
function mousedown_arrow( e )
{
this.src = preload_images["arrow_glow"];
return false; // don't bubble this event
}
function mouseup_arrow( e )
{
this.src = preload_images["arrow_normal"];
return false; // don't bubble this event
}
function click_arrow( e ) 
{
// run ajax here to send and receive the reordering commands
//alert( $(this).parents( ".source_box_minimizable_row" ).prev( ".source_box_minimizable_row" ) );
$(this).parents( ".source_box_minimizable_row" ).prev( ".source_box_minimizable_row" ).insertAfter( $(this).parents( ".source_box_minimizable_row" ) );
show_hide_arrows();
set_source_box_states();
return false; // don't bubble this click 
};
function show_hide_arrows()
{
$("#invisible_arrow").remove();
$(".source_box_minimizable_row .source_box_arrow").each
(
function( index )
{
if( index == 0 )
{
$(this).css( "display", "none" );
$(this).after( $("<img id=\"invisible_arrow\">").attr( "src", preload_images["arrow_invisible"] ) );
}
else
{
$(this).css( "display", "block" );
}
}
);
}
function get_source_box_states( first )
{
var data = { "f": "1" };
$.getJSON
(
"/ajax/functions.php", 
data,
function( data )
{
if( data.s )
{
alert( "Error: no such function." );
return;
}
if( first )
{
$(".source_box_middle_row").each
( 
function( index ) 
{ 
if( data.d[index] )
{
$(this).data( "name", data.d[index].name );
$(this).data( "source_id", data.d[index].source_id );
}
} 
);
$(".source_box_middle_row_middle").each
( 
function( index ) 
{ 
if( data.d[index] )
{
$(this).html( data.d[index].name );
}
} 
);
$(".source_box_minimizable_row").each
( 
function( index ) 
{
if( data.d[index] == null )
{
$(this).remove();
}
} 
);
}
$(".source_box_check").each
( 
function( index ) 
{ 
if( data.d[index] )
{
if( data.d[index].checked == true )
{
$(this).data( "checked", true );
$(this).attr( "src", preload_images["check_checked_normal"] );
}
else
{
$(this).data( "checked", false );
$(this).attr( "src", preload_images["check_normal"] );
}
}
} 
);
calculate_position_and_show( true );
}
);
$.ajaxSetup
(
{ "error" : function( XMLHttpRequest, textStatus, errorThrown ) 
{
alert( "Error" + textStatus + " " + errorThrown );
//$("#DIV").html( "Error" + textStatus + " " + errorThrown );
}
}
);
} // get_source_box_states
function set_source_box_states()
{
var d = new Array();
$(".source_box_middle_row").each
( 
function( index ) 
{ 
d[index] = 
{ 
source_id: $(this).data( "source_id" ),
order: index,
checked: $(".source_box_check",this).data( "checked" )
};
} 
);
$.ajax
(
{
url: "/ajax/functions.php", 
dataType: "json",
data: { "f": "2", "p1" : d },
type: "POST",
success: function( data )
{
//
}
}
);
} // get_source_box_states
