/*!
 * 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);
try{if(e)f[b]=d;}catch(ex){}; /*PrimeObjects Change*/
return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?
a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);

/*!
 * jQuery UI 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||function(c){c.ui={version:"1.8.1",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")=="hidden")return false;
b=b&&b=="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,f,g){return c.ui.isOverAxis(a,d,f)&&c.ui.isOverAxis(b,e,g)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,
PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||
/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==
undefined)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b||"area"==b?a.href||!isNaN(d):!isNaN(d))&&
!c(a)["area"==b?"parents":"closest"](":hidden").length},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}(jQuery);
;/*!
 * jQuery UI Widget 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype=
b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g=
b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();
this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f,
h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=
b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
;/*!
 * jQuery UI Mouse 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Mouse
 *
 * Depends:
 *	jquery.ui.widget.js
 */
(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&
this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();
return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&
this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-
a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
;/*
 * jQuery UI Position 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Position
 */
(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h=
0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+=
g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k,
elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"?
-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position=
"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery);
;/*
 * jQuery UI Draggable 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Draggables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-
this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();
d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||
this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,
b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==
a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-
(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment==
"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&
a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),
10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+
this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+
Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-
this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=
this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.1"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");
if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;
c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=
1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;
this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=
this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=
d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;
if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!=
"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-
b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&
o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=
p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&
(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
;/*
 * jQuery UI Droppable 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Droppables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 *	jquery.ui.mouse.js
 *	jquery.ui.draggable.js
 */
(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.1"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
switch(c){case "fit":return i<e&&g<k&&j<f&&h<l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=i&&
e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
"none";if(c[f].visible){c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight};e=="mousedown"&&c[f]._activate.call(c[f],b)}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=
d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery);
;/*
 * jQuery UI Resizable 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Resizables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(d){d.widget("ui.resizable",d.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");d.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&d.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(d('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e<c.length;e++){var g=d.trim(c[e]),f=d('<div class="ui-resizable-handle '+("ui-resizable-"+g)+'"></div>');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection();
this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};
if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),
e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset=
this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:
this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",
b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height;
g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",
b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top=
a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,g=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,f=k(b.width)&&a.minWidth&&a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,
l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var e=[c.css("borderTopWidth"),
c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],g=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=d.map(e,function(f,h){f=parseInt(f,10)||0;h=parseInt(g[h],10)||0;return f+h})}d.browser.msie&&(d(b).is(":hidden")||d(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=
this.element.offset();if(this._helper){this.helper=this.helper||d('<div style="overflow:hidden;"></div>');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+
a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this,
arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable,
{version:"1.8.1"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)});
else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&&
d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a=
d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing,
step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset;
var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left:
a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top-
e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition,
g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b=
d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height=
e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
;/*
 * jQuery UI Selectable 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Selectables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var d=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(d.options.filter,d.element[0]);f.each(function(){var c=e(this),b=c.offset();e.data(this,"selectable-item",{element:this,$element:c,left:b.left,top:b.top,right:b.left+c.outerWidth(),bottom:b.top+c.outerHeight(),startselected:false,selected:c.hasClass("ui-selected"),
selecting:c.hasClass("ui-selecting"),unselecting:c.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},
_mouseStart:function(d){var f=this;this.opos=[d.pageX,d.pageY];if(!this.options.disabled){var c=this.options;this.selectees=e(c.filter,this.element[0]);this._trigger("start",d);e(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});c.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!d.metaKey){b.$element.removeClass("ui-selected");
b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",d,{unselecting:b.element})}});e(d.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){b.$element.removeClass("ui-unselecting").addClass("ui-selecting");b.unselecting=false;b.selecting=true;b.selected=true;f._trigger("selecting",d,{selecting:b.element});return false}})}},_mouseDrag:function(d){var f=this;this.dragged=true;if(!this.options.disabled){var c=this.options,
b=this.opos[0],g=this.opos[1],h=d.pageX,i=d.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(c.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(c.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",d,{selecting:a.element})}}else{if(a.selecting)if(d.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",d,{unselecting:a.element})}if(a.selected)if(!d.metaKey&&
!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",d,{unselecting:a.element})}}}});return false}},_mouseStop:function(d){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var c=e.data(this,"selectable-item");c.$element.removeClass("ui-unselecting");c.unselecting=false;c.startselected=false;f._trigger("unselected",d,{unselected:c.element})});e(".ui-selecting",this.element[0]).each(function(){var c=
e.data(this,"selectable-item");c.$element.removeClass("ui-selecting").addClass("ui-selected");c.selecting=false;c.selected=true;c.startselected=true;f._trigger("selected",d,{selected:c.element})});this._trigger("stop",d);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.1"})})(jQuery);
;/*
 * jQuery UI Sortable 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Sortables
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable");
this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(self,
arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=
c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,
{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();
if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",
a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");
if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+
this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+
b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+
"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,
c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==
document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",
null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):
d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},
_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/
2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=
d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=
this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?
h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),
b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?
i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,
c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=
this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-
parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],
this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=
1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",
a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==
this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-
(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;
if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=
d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-
this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+
this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;
if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-
this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+
(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&
this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||
this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",
g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",
this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=
0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.1"})})(jQuery);
;/*
 * jQuery UI Accordion 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},_create:function(){var a=this.options,b=this;this.running=0;this.element.addClass("ui-accordion ui-widget ui-helper-reset");
this.element[0].nodeName=="UL"&&this.element.children("li").addClass("ui-accordion-li-fix");this.headers=this.element.find(a.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c(this).removeClass("ui-state-focus")});
this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(a.navigation){var d=this.element.find("a").filter(a.navigationFilter);if(d.length){var f=d.closest(".ui-accordion-header");this.active=f.length?f:d.closest(".ui-accordion-content").prev()}}this.active=this._findActive(this.active||a.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");
this._createIcons();this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(g){return b._keydown(g)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();this.active.length?this.active.attr("aria-expanded","true").attr("tabIndex","0"):this.headers.eq(0).attr("tabIndex","0");c.browser.safari||this.headers.find("a").attr("tabIndex","-1");a.event&&this.headers.bind(a.event+
".accordion",function(g){b._clickHandler.call(b,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("<span/>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");
this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(a.autoHeight||a.fillHeight)b.css("height",
"");return this},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();b&&this._createIcons()}},_keydown:function(a){var b=c.ui.keyCode;if(!(this.options.disabled||a.altKey||a.ctrlKey)){var d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},
a.target);a.preventDefault()}if(g){c(a.target).attr("tabIndex","-1");c(g).attr("tabIndex","0");g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,
b-c(this).innerHeight()+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a=="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=
this.options;if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]==this.active[0];d.active=d.collapsible&&b?false:c(".ui-accordion-header",this.element).index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);
a.next().addClass("ui-accordion-content-active")}e=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):e,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(e,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},e=this.active=c([]);this._toggle(e,f,g)}},_toggle:function(a,b,d,f,g){var e=this.options,k=this;this.toShow=a;this.toHide=b;this.data=d;var i=function(){if(k)return k._completed.apply(k,arguments)};this._trigger("changestart",null,this.data);this.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),
toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var h=e.duration,j=e.animated;if(j&&!f[j]&&!c.easing[j])j="slide";f[j]||(f[j]=function(l){this.slide(l,{easing:j,
duration:h||700})});f[j](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}i(true)}b.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();a.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(a){var b=this.options;this.running=a?0:--this.running;if(!this.running){b.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,
{version:"1.8.1",animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},e={},k;b=a.toShow;k=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(i,h){e[h]="hide";i=(""+c.css(a.toShow[0],
h)).match(/^([\d+-.]+)(.*)$/);g[h]={value:i[1],unit:i[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(e,{step:function(i,h){if(h.prop=="height")f=h.end-h.start===0?0:(h.now-h.start)/(h.end-h.start);a.toShow[0].style[h.prop]=f*g[h.prop].value+g[h.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css("width",k);a.toShow.css({overflow:d});a.complete()}})}else a.toHide.animate({height:"hide"},
a);else a.toShow.animate({height:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
;/*
 * jQuery UI Autocomplete 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Autocomplete
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 *	jquery.ui.position.js
 */
(function(e){e.widget("ui.autocomplete",{options:{minLength:1,delay:300},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage",c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();
break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:a.menu.active&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;case d.LEFT:case d.RIGHT:case d.SHIFT:case d.CONTROL:case d.ALT:break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){a.search(null,c)},a.options.delay);break}}).bind("focus.autocomplete",function(){a.selectedItem=null;a.previous=a.element.val()}).bind("blur.autocomplete",
function(c){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("<ul></ul>").addClass("ui-autocomplete").appendTo("body",b).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("select",
c,{item:d})&&a.element.val(d.value);a.close(c);c=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=c}a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");
this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,b;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(a,c.term))}}else if(typeof this.options.source==="string"){b=this.options.source;this.source=function(c,d){e.getJSON(b,c,d)}}else this.source=this.options.source},search:function(a,b){a=
a!=null?a:this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search")!==false)return this._search(a)},_search:function(a){this.term=this.element.addClass("ui-autocomplete-loading").val();this.source({term:a},this.response)},_response:function(a){if(a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);
if(this.menu.element.is(":visible")){this._trigger("close",a);this.menu.element.hide();this.menu.deactivate()}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return e.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return e.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+
1),c;this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();this.menu.element.show().position({my:"left top",at:"left bottom",of:this.element,collision:"none"});a=b.width("").width();c=this.element.width();b.width(Math.max(a,c))},_renderMenu:function(a,b){var c=this;e.each(b,function(d,f){c._renderItem(a,f)})},_renderItem:function(a,b){return e("<li></li>").data("item.autocomplete",b).append("<a>"+b.label+"</a>").appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&
/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value||d)})}})})(jQuery);
(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
-1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||
this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last"));
else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})})(jQuery);
;/*
 * jQuery UI Button 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Button
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,e=a([]);if(c)e=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return e};a.widget("ui.button",{options:{text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",i);this._determineButtonType();
this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",e="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",
function(){c.disabled||a(this).removeClass(e)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active");b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",
function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var f=b.element[0];h(f).not(f).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",
function(f){if(c.disabled)return false;if(f.keyCode==a.ui.keyCode.SPACE||f.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(f){f.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?
"input":"button";if(this.type==="checkbox"||this.type==="radio"){this.buttonElement=this.element.parents().last().find("[for="+this.element.attr("id")+"]");this.element.addClass("ui-helper-hidden-accessible");var b=this.element.is(":checked");b&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement,c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),
d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon");this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});
a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},
destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery);
;/*
 * jQuery UI Dialog 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Dialog
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 *  jquery.ui.button.js
 *	jquery.ui.draggable.js
 *	jquery.ui.mouse.js
 *	jquery.ui.position.js
 *	jquery.ui.resizable.js
 */
(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",
c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,
function(g,f){g=c('<button type="button"></button>').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");
b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");
a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",
f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]=
g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a,
b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break;
case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",
d.uiDialogTitlebar).html(""+(b||"&#160;"));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",
this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.1",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&
c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&
b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,
document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,
height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
;/*
 * jQuery UI Slider 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.mouse.js
 *	jquery.ui.widget.js
 */
(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");a.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
this.range=d([]);if(a.range){if(a.range===true){this.range=d("<div></div>");if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}else this.range=d("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(a.range==="min"||a.range==="max")this.range.addClass("ui-slider-range-"+a.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
if(a.values&&a.values.length)for(;d(".ui-slider-handle",this.element).length<a.values.length;)d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();
else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),g,h,i;if(!b.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e=
false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");g=b._start(c,f);if(g===false)return}break}i=b.options.step;g=b.options.values&&b.options.values.length?(h=b.values(f)):(h=b.value());switch(c.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=g+(b._valueMax()-b._valueMin())/5;break;case d.ui.keyCode.PAGE_DOWN:h=g-(b._valueMax()-b._valueMin())/5;break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(g===
b._valueMax())return;h=g+i;break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(g===b._valueMin())return;h=g-i;break}b._slide(c,f,h);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(c,e);b._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
this._mouseDestroy();return this},_mouseCapture:function(b){var a=this.options,c,e,f,g,h,i;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c={x:b.pageX,y:b.pageY};e=this._normValueFromMouse(c);f=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(j){var k=Math.abs(e-h.values(j));if(f>k){f=k;g=d(this);i=j}});if(a.range===true&&this.values(1)===a.min){i+=1;g=d(this.handles[i])}if(this._start(b,
i)===false)return false;this._mouseSliding=true;h._handleIndex=i;g.addClass("ui-state-active").focus();a=g.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-g.width()/2,top:b.pageY-a.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)};e=this._normValueFromMouse(c);this._slide(b,i,e);return this._animateOff=true},_mouseStart:function(){return true},
_mouseDrag:function(b){var a=this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;
if(this.orientation==="horizontal"){a=this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=
this.values(a);c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var e;if(this.options.values&&this.options.values.length){e=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>e||a===1&&c<e))c=e;if(c!==this.values(a)){e=this.values();e[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:e});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],
value:c});b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=
this._trimAlignValue(b);this._refreshValue();this._change(null,0)}return this._value()},values:function(b,a){var c,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;f<c.length;f+=1){c[f]=this._trimAlignValue(e[f]);this._change(null,f)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):this.value();
else return this._values()},_setOption:function(b,a){var c,e=0;if(d.isArray(this.options.values))e=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<e;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];
return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<this._valueMin())return this._valueMin();if(b>this._valueMax())return this._valueMax();var a=this.options.step,c=b%a;b=b-c;if(c>=a/2)b+=a;return parseFloat(b.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,a=this.options,c=this,
e=!this._animateOff?a.animate:false,f,g={},h,i,j,k;if(this.options.values&&this.options.values.length)this.handles.each(function(l){f=(c.values(l)-c._valueMin())/(c._valueMax()-c._valueMin())*100;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](g,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(l===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},a.animate);if(l===1)c.range[e?"animate":"css"]({width:f-h+"%"},{queue:false,duration:a.animate})}else{if(l===
0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},a.animate);if(l===1)c.range[e?"animate":"css"]({height:f-h+"%"},{queue:false,duration:a.animate})}h=f});else{i=this.value();j=this._valueMin();k=this._valueMax();f=k!==j?(i-j)/(k-j)*100:0;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](g,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e?
"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.1"})})(jQuery);
;/*
 * jQuery UI Tabs 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function(d){var s=0,u=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&&e==this.options.selected||
this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+ ++s},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++u);return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c=
d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]||
(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected=
this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass":
"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs",
function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show",
null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs",
function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g,
j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",
function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,
"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",
true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");
this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=c}),function(h){return h>=c?--h:h});this._tabify();this._trigger("remove",
null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this},
select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing");
if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}},
abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.1"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate=
function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k<a.anchors.length?k:0)},c);i&&i.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(i){i.clientX&&a.rotate(null)}:function(){t=b.selected;h()});if(c){this.element.bind("tabsshow",h);this.anchors.bind(b.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(b.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
;/*
 * jQuery UI Datepicker 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	jquery.ui.core.js
 */
(function(d){function J(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
minDate:null,maxDate:null,duration:"_default",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}function E(a,b){d.extend(a,
b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.1"}});var y=(new Date).getTime();d.extend(J.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=
f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id)a.id="dp"+ ++this.uuid;var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}},
_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&
b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==
""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,
c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),
true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){a="dp"+ ++this.uuid;this._dialogInput=d('<input type="text" id="'+a+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor==Date?
this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);
d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},
_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=
d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;
for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&
this._hideDatepicker();var h=this._getDateDatepicker(a,true);E(e.settings,f);this._attachments(d(a),e);this._autoSize(e);this._setDateDatepicker(a,h);this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&
!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass,b.dpDiv).add(d("td."+d.datepicker._currentClass,b.dpDiv));c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();
return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||
a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,
a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));
var c=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||
a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);
d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&
d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,
h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");
this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");
this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),
k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"];
a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():
"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&
!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;
b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){a=this._getInst(d(a)[0]);
a.input&&a._selectingMonthYear&&!d.browser.msie&&a.input.focus();a._selectingMonthYear=!a._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,
"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||
this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;
for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1<a.length&&a.charAt(z+1)==p)&&z++;return p},m=function(p){o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"?4:p=="o"?3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+
s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,w,G){p=o(p)?G:w;for(w=0;w<p.length;w++)if(b.substr(s,p[w].length)==p[w]){s+=p[w].length;return w+1}throw"Unknown name at position "+s;},r=function(){if(b.charAt(s)!=a.charAt(z))throw"Unexpected literal at position "+s;s++},s=0,z=0;z<a.length;z++)if(j)if(a.charAt(z)=="'"&&!o("'"))j=false;else r();else switch(a.charAt(z)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":k=m("m");break;case "M":k=n("M",i,g);break;
case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "'":if(o("'"))r();else j=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,
k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?
c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+1<a.length&&a.charAt(j+1)==o)&&j++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},k=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var j=0;j<a.length;j++)if(u)if(a.charAt(j)=="'"&&!i("'"))u=false;else l+=a.charAt(j);else switch(a.charAt(j)){case "d":l+=g("d",b.getDate(),2);break;
case "D":l+=k("D",b.getDay(),e,f);break;case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=k("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(j)}return l},_possibleChars:function(a){for(var b="",c=false,
e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),
e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},
_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,k=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=u.exec(h);j;){switch(j[2]||"d"){case "d":case "D":g+=parseInt(j[1],10);break;case "w":case "W":g+=parseInt(j[1],
10)*7;break;case "m":case "M":l+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break;case "y":case "Y":k+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break}j=u.exec(h)}return new Date(k,l,g)};if(b=(b=b==null?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):b)&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;
a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||
a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&n<j?j:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a));
n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', -"+k+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,
g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', +"+k+", 'M');\" title=\""+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&
a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+y+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
y+".datepicker._gotoToday('#"+a.id+"');\">"+k+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),G=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var K=this._getDefaultDate(a),H="",C=0;C<i[0];C++){for(var L=
"",D=0;D<i[1];D++){var M=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",x="";if(l){x+='<div class="ui-datepicker-group';if(i[1]>1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&C==0?c?
f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var A=k?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+r[q]+'">'+s[q]+"</span></th>"}x+=A+"</tr></thead><tbody>";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var N=0;N<A;N++){x+="<tr>";var O=!k?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,I=B&&!G||!F[0]||j&&q<j||o&&q>o;O+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(B?" ui-datepicker-other-month":"")+(q.getTime()==M.getTime()&&g==a.selectedMonth&&
a._keyEvent||K.getTime()==q.getTime()&&K.getTime()==M.getTime()?" "+this._dayOverClass:"")+(I?" "+this._unselectableClass+" ui-state-disabled":"")+(B&&!w?"":" "+F[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!B||w)&&F[2]?' title="'+F[2]+'"':"")+(I?"":' onclick="DP_jQuery_'+y+".datepicker._selectDay('#"+a.id+"',"+q.getMonth()+","+q.getFullYear()+', this);return false;"')+">"+(B&&!w?"&#xa0;":I?'<span class="ui-state-default">'+q.getDate()+
"</span>":'<a class="ui-state-default'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==u.getTime()?" ui-state-active":"")+(B?" ui-priority-secondary":"")+'" href="#">'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=O+"</tr>"}g++;if(g>11){g=0;m++}x+="</tbody></table>"+(l?"</div>"+(i[0]>0&&D==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");L+=x}H+=L}H+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
"");a._keyEvent=false;return H},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='<div class="ui-datepicker-title">',o="";if(h||!k)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+
a.id+"');\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(j+=o+(h||!(k&&l)?"&#xa0;":""));if(h||!l)j+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,
i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)j+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";j+="</select>"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?"&#xa0;":"")+o;j+="</div>";return j},_adjustInstDate:function(a,b,c){var e=
a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,
"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);
c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,
"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=
function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));
return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new J;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.1";window["DP_jQuery_"+y]=d})(jQuery);
;/*
 * jQuery UI Progressbar 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Progressbar
 *
 * Depends:
 *   jquery.ui.core.js
 *   jquery.ui.widget.js
 */
(function(b){b.widget("ui.progressbar",{options:{value:0},_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===undefined)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){switch(a){case "value":this.options.value=c;this._refreshValue();this._trigger("change");break}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;if(a<this._valueMin())a=this._valueMin();if(a>this._valueMax())a=this._valueMax();return a},
_valueMin:function(){return 0},_valueMax:function(){return 100},_refreshValue:function(){var a=this.value();this.valueDiv[a===this._valueMax()?"addClass":"removeClass"]("ui-corner-right").width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.1"})})(jQuery);
;/*
 * jQuery UI Effects 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||function(f){function k(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return l.transparent;return l[f.trim(c).toLowerCase()]}function q(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return k(b)}function m(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function n(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in r||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function s(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function j(c,a,b,d){if(typeof c=="object"){d=
a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(f.isFunction(b)){d=b;b=null}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=q(b.elem,a);b.end=k(b.end);b.colorInit=
true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var l={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,
183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,
165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},o=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=n(m.call(this)),p,t=e.attr("className");f.each(o,function(u,
i){c[i]&&e[i+"Class"](c[i])});p=n(m.call(this));e.attr("className",t);e.animate(s(h,p),a,b,function(){f.each(o,function(u,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?
f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===undefined?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.1",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==
null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();
var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});
c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c||
typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this,
arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,
a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+
b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,
10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*
a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,
a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==undefined)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==undefined)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,
a,b,d,e,g){if(g==undefined)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,
d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
;/*
 * jQuery UI Effects Blind 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Blind
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","left"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,g);b.effects.removeWrapper(a);
c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
;/*
 * jQuery UI Effects Bounce 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Bounce
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","left"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
;/*
 * jQuery UI Effects Clip 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Clip
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","left","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,c/2)}var h={};h[g.size]=
f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
;/*
 * jQuery UI Effects Drop 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Drop
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","left","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e=="show"?1:
0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
;/*
 * jQuery UI Effects Explode 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Explode
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
;/*
 * jQuery UI Effects Fold 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Fold
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100*
f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
;/*
 * jQuery UI Effects Highlight 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
;/*
 * jQuery UI Effects Pulsate 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Pulsate
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
;/*
 * jQuery UI Effects Scale 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Scale
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","left","width","height","overflow","opacity"],g=["position","top","left","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=c.effects.setMode(a,
b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};if(m=="box"||m=="both"){if(d.from.y!=
d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);a.css("overflow","hidden").css(a.from);
if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);child.to=c.effects.setTransition(child,
f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,n?e:g);c.effects.removeWrapper(a);b.callback&&
b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
;/*
 * jQuery UI Effects Shake 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Shake
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","left"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=(h=="pos"?"-=":"+=")+
e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
;/*
 * jQuery UI Effects Slide 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Slide
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","left"],e=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(e=="show")a.css(f,b=="pos"?-g:g);var i={};i[f]=(e=="show"?b=="pos"?
"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
;/*
 * jQuery UI Effects Transfer 1.8.1
 *
 * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Transfer
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
b.dequeue()})})}})(jQuery);
;

var allUIMenus = [];

$.fn.menu = function(options){
	var caller = this;
	var options = options;
	var m = new Menu(caller, options);	
	allUIMenus.push(m);
	
	$(this)
	.mousedown(function(){
		if (!m.menuOpen) { m.showLoading(); };
	})	
	.click(function(){
		if (m.menuOpen == false) { m.showMenu(); }
		else { m.kill(); };
		return false;
	});	
};

function Menu(caller, options){
	var menu = this;
	var caller = $(caller);
	var container = $('<div class="fg-menu-container ui-widget ui-widget-content ui-corner-all">'+options.content+'</div>');
	
	this.menuOpen = false;
	this.menuExists = false;
	
	var options = jQuery.extend({
		content: null,
		width: 180, // width of menu container, must be set or passed in to calculate widths of child menus
		maxHeight: 180, // max height of menu (if a drilldown: height does not include breadcrumb)
		positionOpts: {
			posX: 'left', 
			posY: 'bottom',
			offsetX: 0,
			offsetY: 0,
			directionH: 'right',
			directionV: 'down', 
			detectH: true, // do horizontal collision detection  
			detectV: true, // do vertical collision detection
			linkToFront: false
},
        /*Start PrimeObjects Changes*/
        zIndex: -99999,
        /*Emd PrimeObjects Changes*/
        
		showSpeed: 200, // show/hide speed in milliseconds
		callerOnState: 'ui-state-active', // class to change the appearance of the link/button when the menu is showing
		loadingState: 'ui-state-loading', // class added to the link/button while the menu is created
		linkHover: 'ui-state-hover', // class for menu option hover state
		linkHoverSecondary: 'li-hover', // alternate class, may be used for multi-level menus		
	// ----- multi-level menu defaults -----
		crossSpeed: 200, // cross-fade speed for multi-level menus
		crumbDefaultText: 'Choose an option:',
		backLink: true, // in the ipod-style menu: instead of breadcrumbs, show only a 'back' link
		backLinkText: 'Back',
		flyOut: false, // multi-level menus are ipod-style by default; this parameter overrides to make a flyout instead
		flyOutOnState: 'ui-state-default',
		nextMenuLink: 'ui-icon-triangle-1-e', // class to style the link (specifically, a span within the link) used in the multi-level menu to show the next level
		topLinkText: 'All',
		nextCrumbLink: 'ui-icon-carat-1-e'
		
	}, options);
	
	var killAllMenus = function(){
		$.each(allUIMenus, function(i){
			if (allUIMenus[i].menuOpen) { allUIMenus[i].kill(); };	
		});
	};

	this.kill = function() {
	    caller
			.removeClass(options.loadingState)
			.removeClass('fg-menu-open')
			.removeClass(options.callerOnState);
	    container.find('li').removeClass(options.linkHoverSecondary).find('a').removeClass(options.linkHover);
	    if (options.flyOutOnState) { container.find('li a').removeClass(options.flyOutOnState); };
	    if (options.callerOnState) { caller.removeClass(options.callerOnState); };
	    if (container.is('.fg-menu-ipod')) { menu.resetDrilldownMenu(); };
	    if (container.is('.fg-menu-flyout')) { menu.resetFlyoutMenu(); };
	    container.parent().hide();
	    menu.menuOpen = false;
	    $(document).unbind('click', killAllMenus);
	    $(document).unbind('keydown');

	};
	
	this.showLoading = function(){
		caller.addClass(options.loadingState);
	};

	this.showMenu = function() {
	    killAllMenus();
	    if (!menu.menuExists) { menu.create() };

	    caller
			.addClass('fg-menu-open')
			.addClass(options.callerOnState);
	    container.parent().show().click(function() { menu.kill(); return false; });
	    /*Start PrimeObjects Change*/
	    if (options.zIndex > -99999) container.parent().css('z-index', options.zIndex);
	    /*End PrimeObjects Change*/
	    
	    container.hide().slideDown(options.showSpeed).find('.fg-menu:eq(0)');
	    menu.menuOpen = true;
	    caller.removeClass(options.loadingState);
	    $(document).click(killAllMenus);

	    // assign key events
	    $(document).keydown(function(event) {
	        var e;
	        if (event.which != "") { e = event.which; }
	        else if (event.charCode != "") { e = event.charCode; }
	        else if (event.keyCode != "") { e = event.keyCode; }

	        var menuType = ($(event.target).parents('div').is('.fg-menu-flyout')) ? 'flyout' : 'ipod';

	        switch (e) {
	            case 37: // left arrow 
	                if (menuType == 'flyout') {
	                    $(event.target).trigger('mouseout');
	                    if ($('.' + options.flyOutOnState).size() > 0) { $('.' + options.flyOutOnState).trigger('mouseover'); };
	                };

	                if (menuType == 'ipod') {
	                    $(event.target).trigger('mouseout');
	                    if ($('.fg-menu-footer').find('a').size() > 0) { $('.fg-menu-footer').find('a').trigger('click'); };
	                    if ($('.fg-menu-header').find('a').size() > 0) { $('.fg-menu-current-crumb').prev().find('a').trigger('click'); };
	                    if ($('.fg-menu-current').prev().is('.fg-menu-indicator')) {
	                        $('.fg-menu-current').prev().trigger('mouseover');
	                    };
	                };
	                return false;
	                break;

	            case 38: // up arrow 
	                if ($(event.target).is('.' + options.linkHover)) {
	                    var prevLink = $(event.target).parent().prev().find('a:eq(0)');
	                    if (prevLink.size() > 0) {
	                        $(event.target).trigger('mouseout');
	                        prevLink.trigger('mouseover');
	                    };
	                }
	                else { container.find('a:eq(0)').trigger('mouseover'); }
	                return false;
	                break;

	            case 39: // right arrow 
	                if ($(event.target).is('.fg-menu-indicator')) {
	                    if (menuType == 'flyout') {
	                        $(event.target).next().find('a:eq(0)').trigger('mouseover');
	                    }
	                    else if (menuType == 'ipod') {
	                        $(event.target).trigger('click');
	                        setTimeout(function() {
	                            $(event.target).next().find('a:eq(0)').trigger('mouseover');
	                        }, options.crossSpeed);
	                    };
	                };
	                return false;
	                break;

	            case 40: // down arrow 
	                if ($(event.target).is('.' + options.linkHover)) {
	                    var nextLink = $(event.target).parent().next().find('a:eq(0)');
	                    if (nextLink.size() > 0) {
	                        $(event.target).trigger('mouseout');
	                        nextLink.trigger('mouseover');
	                    };
	                }
	                else { container.find('a:eq(0)').trigger('mouseover'); }
	                return false;
	                break;

	            case 27: // escape
	                killAllMenus();
	                break;

	            case 13: // enter
	                if ($(event.target).is('.fg-menu-indicator') && menuType == 'ipod') {
	                    $(event.target).trigger('click');
	                    setTimeout(function() {
	                        $(event.target).next().find('a:eq(0)').trigger('mouseover');
	                    }, options.crossSpeed);
	                };
	                break;
	        };
	    });
	};

	this.create = function() {
	   
	    container.css({ width: options.width }).appendTo('body').find('ul:first').not('.fg-menu-breadcrumb').addClass('fg-menu');
	    container.find('ul, li a').addClass('ui-corner-all');

	    // aria roles & attributes
	    container.find('ul').attr('role', 'menu').eq(0).attr('aria-activedescendant', 'active-menuitem').attr('aria-labelledby', caller.attr('id'));
	    container.find('li').attr('role', 'menuitem');
	    container.find('li:has(ul)').attr('aria-haspopup', 'true').find('ul').attr('aria-expanded', 'false');
	    container.find('a').attr('tabindex', '-1');

	    // when there are multiple levels of hierarchy, create flyout or drilldown menu
	    if (container.find('ul').size() > 1) {
	        if (options.flyOut) { menu.flyout(container, options); }
	        else { menu.drilldown(container, options); }
	    }
	    else {
	        container.find('a').click(function() {
	            menu.chooseItem(this);
	            return false;
	        });
	    };

	    if (options.linkHover) {
	        var allLinks = container.find('.fg-menu li a');
	        allLinks.hover(
				function() {
				    var menuitem = $(this);
				    $('.' + options.linkHover).removeClass(options.linkHover).blur().parent().removeAttr('id');
				    $(this).addClass(options.linkHover).focus().parent().attr('id', 'active-menuitem');
				},
				function() {
				    $(this).removeClass(options.linkHover).blur().parent().removeAttr('id');
				}
			);
	    };

	    if (options.linkHoverSecondary) {
	        container.find('.fg-menu li').hover(
				function() {
				    $(this).siblings('li').removeClass(options.linkHoverSecondary);
				    if (options.flyOutOnState) { $(this).siblings('li').find('a').removeClass(options.flyOutOnState); }
				    $(this).addClass(options.linkHoverSecondary);
				},
				function() { $(this).removeClass(options.linkHoverSecondary); }
			);
	    };

	    menu.setPosition(container, caller, options);
	    menu.menuExists = true;
	};

	this.chooseItem = function(item) {
	    menu.kill();
	    // edit this for your own custom function/callback:
	    //Start PrimeObjects Change
	    //$('#menuSelection').text($(item).text());
	    if ($(item).attr('href') != null && $(item).attr('href') != "" && $(item).attr('href') != "#") location.href = $(item).attr('href');
	    //End PrimeObjects Change

	    // location.href = $(item).attr('href');
	};
};

Menu.prototype.flyout = function(container, options) {
	var menu = this;
	
	this.resetFlyoutMenu = function(){
		var allLists = container.find('ul ul');
		allLists.removeClass('ui-widget-content').hide();	
	};
	
	container.addClass('fg-menu-flyout').find('li:has(ul)').each(function(){
		var linkWidth = container.width();
		var showTimer, hideTimer;
		var allSubLists = $(this).find('ul');		
		
		allSubLists.css({ left: linkWidth, width: linkWidth }).hide();
			
		$(this).find('a:eq(0)').addClass('fg-menu-indicator').html('<span>' + $(this).find('a:eq(0)').text() + '</span><span class="ui-icon '+options.nextMenuLink+'"></span>').hover(
			function(){
				clearTimeout(hideTimer);
				var subList = $(this).next();
				if (!fitVertical(subList, $(this).offset().top)) { subList.css({ top: 'auto', bottom: 0 }); };
				if (!fitHorizontal(subList, $(this).offset().left + 100)) { subList.css({ left: 'auto', right: linkWidth, 'z-index': 999 }); };
				showTimer = setTimeout(function(){
					subList.addClass('ui-widget-content').show(options.showSpeed).attr('aria-expanded', 'true');	
				}, 300);	
			},
			function(){
				clearTimeout(showTimer);
				var subList = $(this).next();
				hideTimer = setTimeout(function(){
					subList.removeClass('ui-widget-content').hide(options.showSpeed).attr('aria-expanded', 'false');
				}, 400);	
			}
		);

		$(this).find('ul a').hover(
			function(){
				clearTimeout(hideTimer);
				if ($(this).parents('ul').prev().is('a.fg-menu-indicator')) {
					$(this).parents('ul').prev().addClass(options.flyOutOnState);
				}
			},
			function(){
				hideTimer = setTimeout(function(){
					allSubLists.hide(options.showSpeed);
					container.find(options.flyOutOnState).removeClass(options.flyOutOnState);
				}, 500);	
			}
		);	
	});
	
	container.find('a').click(function(){
		menu.chooseItem(this);
		return false;
	});
};


Menu.prototype.drilldown = function(container, options) {
	var menu = this;	
	var topList = container.find('.fg-menu');	
	var breadcrumb = $('<ul class="fg-menu-breadcrumb ui-widget-header ui-corner-all ui-helper-clearfix"></ul>');
	var crumbDefaultHeader = $('<li class="fg-menu-breadcrumb-text">'+options.crumbDefaultText+'</li>');
	var firstCrumbText = (options.backLink) ? options.backLinkText : options.topLinkText;
	var firstCrumbClass = (options.backLink) ? 'fg-menu-prev-list' : 'fg-menu-all-lists';
	var firstCrumbLinkClass = (options.backLink) ? 'ui-state-default ui-corner-all' : '';
	var firstCrumbIcon = (options.backLink) ? '<span class="ui-icon ui-icon-triangle-1-w"></span>' : '';
	var firstCrumb = $('<li class="'+firstCrumbClass+'"><a href="#" class="'+firstCrumbLinkClass+'">'+firstCrumbIcon+firstCrumbText+'</a></li>');
	
	container.addClass('fg-menu-ipod');
	
	if (options.backLink) { breadcrumb.addClass('fg-menu-footer').appendTo(container).hide(); }
	else { breadcrumb.addClass('fg-menu-header').prependTo(container); };
	breadcrumb.append(crumbDefaultHeader);
	
	var checkMenuHeight = function(el){
		if (el.height() > options.maxHeight) { el.addClass('fg-menu-scroll') };	
		el.css({ height: options.maxHeight });
	};
	
	var resetChildMenu = function(el){ el.removeClass('fg-menu-scroll').removeClass('fg-menu-current').height('auto'); };
	
	this.resetDrilldownMenu = function(){
		$('.fg-menu-current').removeClass('fg-menu-current');
		topList.animate({ left: 0 }, options.crossSpeed, function(){
			$(this).find('ul').each(function(){
				$(this).hide();
				resetChildMenu($(this));				
			});
			topList.addClass('fg-menu-current');			
		});		
		$('.fg-menu-all-lists').find('span').remove();	
		breadcrumb.empty().append(crumbDefaultHeader);		
		$('.fg-menu-footer').empty().hide();	
		checkMenuHeight(topList);		
	};
	
	topList
		.addClass('fg-menu-content fg-menu-current ui-widget-content ui-helper-clearfix')
		.css({ width: container.width() })
		.find('ul')
			.css({ width: container.width(), left: container.width() })
			.addClass('ui-widget-content')
			.hide();		
	checkMenuHeight(topList);	
	
	topList.find('a').each(function(){
		// if the link opens a child menu:
		if ($(this).next().is('ul')) {
			$(this)
				.addClass('fg-menu-indicator')
				.each(function(){ $(this).html('<span>' + $(this).text() + '</span><span class="ui-icon '+options.nextMenuLink+'"></span>'); })
				.click(function(){ // ----- show the next menu			
					var nextList = $(this).next();
		    		var parentUl = $(this).parents('ul:eq(0)');   		
		    		var parentLeft = (parentUl.is('.fg-menu-content')) ? 0 : parseFloat(topList.css('left'));    		
		    		var nextLeftVal = Math.round(parentLeft - parseFloat(container.width()));
		    		var footer = $('.fg-menu-footer');
		    		
		    		// show next menu   		
		    		resetChildMenu(parentUl);
		    		checkMenuHeight(nextList);
					topList.animate({ left: nextLeftVal }, options.crossSpeed);						
		    		nextList.show().addClass('fg-menu-current').attr('aria-expanded', 'true');    
		    		
		    		var setPrevMenu = function(backlink){
		    			var b = backlink;
		    			var c = $('.fg-menu-current');
			    		var prevList = c.parents('ul:eq(0)');
			    		c.hide().attr('aria-expanded', 'false');
		    			resetChildMenu(c);
		    			checkMenuHeight(prevList);
			    		prevList.addClass('fg-menu-current').attr('aria-expanded', 'true');
			    		if (prevList.hasClass('fg-menu-content')) { b.remove(); footer.hide(); };
		    		};		
		
					// initialize "back" link
					if (options.backLink) {
						if (footer.find('a').size() == 0) {
							footer.show();
							$('<a href="#"><span class="ui-icon ui-icon-triangle-1-w"></span> <span>Back</span></a>')
								.appendTo(footer)
								.click(function(){ // ----- show the previous menu
									var b = $(this);
						    		var prevLeftVal = parseFloat(topList.css('left')) + container.width();		    						    		
						    		topList.animate({ left: prevLeftVal },  options.crossSpeed, function(){
						    			setPrevMenu(b);
						    		});			
									return false;
								});
						}
					}
					// or initialize top breadcrumb
		    		else { 
		    			if (breadcrumb.find('li').size() == 1){				
							breadcrumb.empty().append(firstCrumb);
							firstCrumb.find('a').click(function(){
								menu.resetDrilldownMenu();
								return false;
							});
						}
						$('.fg-menu-current-crumb').removeClass('fg-menu-current-crumb');
						var crumbText = $(this).find('span:eq(0)').text();
						var newCrumb = $('<li class="fg-menu-current-crumb"><a href="javascript://" class="fg-menu-crumb">'+crumbText+'</a></li>');	
						newCrumb
							.appendTo(breadcrumb)
							.find('a').click(function(){
								if ($(this).parent().is('.fg-menu-current-crumb')){
									menu.chooseItem(this);
								}
								else {
									var newLeftVal = - ($('.fg-menu-current').parents('ul').size() - 1) * 180;
									topList.animate({ left: newLeftVal }, options.crossSpeed, function(){
										setPrevMenu();
									});
								
									// make this the current crumb, delete all breadcrumbs after this one, and navigate to the relevant menu
									$(this).parent().addClass('fg-menu-current-crumb').find('span').remove();
									$(this).parent().nextAll().remove();									
								};
								return false;
							});
						newCrumb.prev().append(' <span class="ui-icon '+options.nextCrumbLink+'"></span>');
		    		};			
		    		return false;    		
    			});
		}
		// if the link is a leaf node (doesn't open a child menu)
		else {
			$(this).click(function(){
				menu.chooseItem(this);
				return false;
			});
		};
	});
};


/* Menu.prototype.setPosition parameters (defaults noted with *):
	referrer = the link (or other element) used to show the overlaid object 
	settings = can override the defaults:
		- posX/Y: where the top left corner of the object should be positioned in relation to its referrer.
				X: left*, center, right
				Y: top, center, bottom*
		- offsetX/Y: the number of pixels to be offset from the x or y position.  Can be a positive or negative number.
		- directionH/V: where the entire menu should appear in relation to its referrer.
				Horizontal: left*, right
				Vertical: up, down*
		- detectH/V: detect the viewport horizontally / vertically
		- linkToFront: copy the menu link and place it on top of the menu (visual effect to make it look like it overlaps the object) */

Menu.prototype.setPosition = function(widget, caller, options) { 
	var el = widget;
	var referrer = caller;
	var dims = {
		refX: referrer.offset().left,
		refY: referrer.offset().top,
		refW: referrer.getTotalWidth(),
		refH: referrer.getTotalHeight()
	};	
	var options = options;
	var xVal, yVal;
	
	var helper = $('<div class="positionHelper"></div>');
	helper.css({ position: 'absolute', left: dims.refX, top: dims.refY, width: dims.refW, height: dims.refH });
	el.wrap(helper);
	
	// get X pos
	switch(options.positionOpts.posX) {
		case 'left': 	xVal = 0; 
			break;				
		case 'center': xVal = dims.refW / 2;
			break;				
		case 'right': xVal = dims.refW;
			break;
	};
	
	// get Y pos
	switch(options.positionOpts.posY) {
		case 'top': 	yVal = 0;
			break;				
		case 'center': yVal = dims.refH / 2;
			break;				
		case 'bottom': yVal = dims.refH;
			break;
	};
	
	// add the offsets (zero by default)
	xVal += options.positionOpts.offsetX;
	yVal += options.positionOpts.offsetY;
	
	// position the object vertically
	if (options.positionOpts.directionV == 'up') {
		el.css({ top: 'auto', bottom: yVal });
		if (options.positionOpts.detectV && !fitVertical(el)) {
			el.css({ bottom: 'auto', top: yVal });
		}
	} 
	else {
		el.css({ bottom: 'auto', top: yVal });
		if (options.positionOpts.detectV && !fitVertical(el)) {
			el.css({ top: 'auto', bottom: yVal });
		}
	};
	
	// and horizontally
	if (options.positionOpts.directionH == 'left') {
		el.css({ left: 'auto', right: xVal });
		if (options.positionOpts.detectH && !fitHorizontal(el)) {
			el.css({ right: 'auto', left: xVal });
		}
	} 
	else {
		el.css({ right: 'auto', left: xVal });
		if (options.positionOpts.detectH && !fitHorizontal(el)) {
			el.css({ left: 'auto', right: xVal });
		}
	};
	
	// if specified, clone the referring element and position it so that it appears on top of the menu
	if (options.positionOpts.linkToFront) {
		referrer.clone().addClass('linkClone').css({
			position: 'absolute', 
			top: 0, 
			right: 'auto', 
			bottom: 'auto', 
			left: 0, 
			width: referrer.width(), 
			height: referrer.height()
		}).insertAfter(el);
	};
};


/* Utilities to sort and find viewport dimensions */

function sortBigToSmall(a, b) { return b - a; };

jQuery.fn.getTotalWidth = function(){
	return $(this).width() + parseInt($(this).css('paddingRight')) + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('borderRightWidth')) + parseInt($(this).css('borderLeftWidth'));
};

jQuery.fn.getTotalHeight = function(){
	return $(this).height() + parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom')) + parseInt($(this).css('borderTopWidth')) + parseInt($(this).css('borderBottomWidth'));
};

function getScrollTop(){
	return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
};

function getScrollLeft(){
	return self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;
};

function getWindowHeight(){
	var de = document.documentElement;
	return self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
};

function getWindowWidth(){
	var de = document.documentElement;
	return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
};

/* Utilities to test whether an element will fit in the viewport
	Parameters:
	el = element to position, required
	leftOffset / topOffset = optional parameter if the offset cannot be calculated (i.e., if the object is in the DOM but is set to display: 'none') */
	
function fitHorizontal(el, leftOffset){
	var leftVal = parseInt(leftOffset) || $(el).offset().left;
	return (leftVal + $(el).width() <= getWindowWidth() + getScrollLeft() && leftVal - getScrollLeft() >= 0);
};

function fitVertical(el, topOffset){
	var topVal = parseInt(topOffset) || $(el).offset().top;
	return (topVal + $(el).height() <= getWindowHeight() + getScrollTop() && topVal - getScrollTop() >= 0);
};

/*-------------------------------------------------------------------- 
 * javascript method: "pxToEm"
 * by:
   Scott Jehl (scott@filamentgroup.com) 
   Maggie Wachs (maggie@filamentgroup.com)
   http://www.filamentgroup.com
 *
 * Copyright (c) 2008 Filament Group
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 *
 * Description: Extends the native Number and String objects with pxToEm method. pxToEm converts a pixel value to ems depending on inherited font size.  
 * Article: http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/
 * Demo: http://www.filamentgroup.com/examples/pxToEm/	 	
 *							
 * Options:  	 								
 		scope: string or jQuery selector for font-size scoping
 		reverse: Boolean, true reverses the conversion to em-px
 * Dependencies: jQuery library						  
 * Usage Example: myPixelValue.pxToEm(); or myPixelValue.pxToEm({'scope':'#navigation', reverse: true});
 *
 * Version: 2.0, 08.01.2008 
 * Changelog:
 *		08.02.2007 initial Version 1.0
 *		08.01.2008 - fixed font-size calculation for IE
--------------------------------------------------------------------*/

Number.prototype.pxToEm = String.prototype.pxToEm = function(settings){
	//set defaults
	settings = jQuery.extend({
		scope: 'body',
		reverse: false
	}, settings);
	
	var pxVal = (this == '') ? 0 : parseFloat(this);
	var scopeVal;
	var getWindowWidth = function(){
		var de = document.documentElement;
		return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
	};	
	
	/* When a percentage-based font-size is set on the body, IE returns that percent of the window width as the font-size. 
		For example, if the body font-size is 62.5% and the window width is 1000px, IE will return 625px as the font-size. 	
		When this happens, we calculate the correct body font-size (%) and multiply it by 16 (the standard browser font size) 
		to get an accurate em value. */
				
	if (settings.scope == 'body' && $.browser.msie && (parseFloat($('body').css('font-size')) / getWindowWidth()).toFixed(1) > 0.0) {
		var calcFontSize = function(){		
			return (parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3) * 16;
		};
		scopeVal = calcFontSize();
	}
	else { scopeVal = parseFloat(jQuery(settings.scope).css("font-size")); };
			
	var result = (settings.reverse == true) ? (pxVal * scopeVal).toFixed(2) + 'px' : (pxVal / scopeVal).toFixed(2) + 'em';
	return result;
};


function CreateXmlDocument(bFreeThreaded) {
    if (bFreeThreaded == undefined) {
        bFreeThreaded = false;
    }

    var oXml = null;

    if (window.ActiveXObject) {
        oXml = new ActiveXObject(bFreeThreaded ? "Msxml2.FreeThreadedDOMDocument" : "Msxml2.DOMDocument");
    }
    else if (document.implementation && document.implementation.createDocument) {
        oXml = document.implementation.createDocument("", "", null);
    }
    else {
        alert("Your browser can\'t handle this ActiveX Object");
        return;
    }

    oXml.async = false;
    oXml.resolveExternals = false;

    return oXml;
}


function AddCommandParameter(command, parameterName, parameterType, parameterValue) {
    if (jQuery.browser.msie) {
        AddCommandParameterIE(command, parameterName, parameterType, parameterValue);
    }
    else {
        AddCommandParameterFireFox(command, parameterName, parameterType, parameterValue);
    }
}

function SetCommandLoginSession(command, session) {
    var xmlElemParamSession = command.createAttribute("Session");
    xmlElemParamSession.value = session;
    command.documentElement.attributes.setNamedItem(xmlElemParamSession);
}

function GetElementAttributeValue(xmlElem, attributeName) {
    if (jQuery.browser.msie) {
        if (xmlElem.attributes.getNamedItem(attributeName) == null) return null;
        return xmlElem.attributes.getNamedItem(attributeName).value;
    }
    else {
        if (xmlElem.getAttributeNode(attributeName) == null) return null;
        return xmlElem.getAttributeNode(attributeName).nodeValue;
    }
}

function SetElementAttributeValue(xmlDoc, xmlElem, attributeName, value) {
    var xmlElemAttr = xmlDoc.createAttribute(attributeName);
    if (jQuery.browser.msie) {
        xmlElemAttr.value = value;
        xmlElem.attributes.setNamedItem(xmlElemAttr);
    }
    else {
        xmlElemAttr.nodeValue = value;
        xmlElem.setAttributeNode(xmlElemAttr);
    }
    return xmlElem
}

function AddCommandParameterFireFox(command, parameterName, parameterType, parameterValue) {
    var xmlElemParameters = command.documentElement.getElementsByTagName("Parameters")[0];
    var xmlElemParameter = command.createElement("Parameter");
    var xmlElemParameterType = command.createAttribute("Type");
    xmlElemParameterType.nodeValue = parameterType;
    xmlElemParameter.setAttributeNode(xmlElemParameterType);
    var xmlElemParameterName = command.createAttribute("Name");
    xmlElemParameterName.nodeValue = parameterName;
    xmlElemParameter.setAttributeNode(xmlElemParameterName);
    xmlElemParameter.textContent = parameterValue;
    xmlElemParameters.appendChild(xmlElemParameter);
    return command;
}


function AddCommandParameterIE(command, parameterName, parameterType, parameterValue) {
    var xmlElemParameters = command.documentElement.selectSingleNode("Parameters");
    var xmlElemParameter = command.createElement("Parameter");
    var xmlElemParameterType = command.createAttribute("Type");
    xmlElemParameterType.value = parameterType;
    var xmlElemParameterName = command.createAttribute("Name");
    xmlElemParameterName.value = parameterName;
    xmlElemParameter.attributes.setNamedItem(xmlElemParameterType);
    xmlElemParameter.attributes.setNamedItem(xmlElemParameterName);
    xmlElemParameter.text = parameterValue;
    xmlElemParameters.appendChild(xmlElemParameter);
    return command;
}

function AppendXmlElement(xmlDoc, name, text, aname, avalue) {
    var xmlElem = xmlDoc.createElement(name);
    if (jQuery.browser.msie) {
        xmlElem.text = text;
    }
    else {
        xmlElem.textContent = text;
    }
    if (aname != null && aname != undefined && aname != "" && avalue != null && avalue != undefined) {
        xmlElem = SetElementAttributeValue(xmlElem, aname, avalue);
    }
    xmlDoc.documentElement.appendChild(xmlElem);

    return xmlDoc;
}

function CreateXmlElement(xmlDoc, name, text) {
    var xmlElem = xmlDoc.createElement(name);
    if (jQuery.browser.msie) {
        xmlElem.text = text;
    }
    else {
        xmlElem.textContent = text;
    }
    return xmlElem;
}

function GetXmlElement(xmlDoc, name) {
    var xmlElem = null;
    if (jQuery.browser.msie) {
        xmlElem = xmlDoc.documentElement.selectSingleNode(name);
        if (xmlElem == null || xmlElem == undefined) return null; else return xmlElem;
    }
    else {
        xmlElem = xmlDoc.documentElement.getElementsByTagName(name)[0];
        if (xmlElem == null || xmlElem == undefined) return null; else return xmlElem;
    }
}

function GetXmlElementText(xmlDoc, name) {
    var xmlElem = GetXmlElement(xmlDoc, name);
    if (xmlElem == null || xmlElem == undefined) return null;
    if (jQuery.browser.msie) {
        return xmlElem.text;
    }
    else {
        return xmlElem.textContent;
    }
}

function GetXmlElementInnerXml(xmlDoc, name) {
    var xmlElem = GetXmlElement(xmlDoc, name);
    if (xmlElem == null || xmlElem == undefined) return null;
    if (jQuery.browser.msie) {
        return xmlElem.xml;
    }
    else {
        var serializer = new XMLSerializer();
        var xml = serializer.serializeToString(xmlElem);
        return xml;
    }
}

function SetXmlElementText(xmlElem, text) {
    if (jQuery.browser.msie) {
        xmlElem.text = text;
    }
    else {
        xmlElem.textContent = text;
    }
    return xmlElem;
}

function GetXmlElementByXPath(xmlDoc, xpath) {
    var xmlElem = null;
    if (jQuery.browser.msie) {
        xmlElem = xmlDoc.documentElement.selectSingleNode(xpath);
        if (xmlElem == null || xmlElem == undefined) return null; else return xmlElem;
    }
    else {
        var nodesSnapshot = xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
        xmlElem = nodesSnapshot.snapshotItem(0);
        if (xmlElem == null || xmlElem == undefined) return null; else return xmlElem;
    }
}

function GetXmlElementTextByXPath(xmlDoc, xpath) {
    var xmlElem = GetXmlElementByXPath(xmlDoc, xpath);
    if (xmlElem == null || xmlElem == undefined) return null;
    if (jQuery.browser.msie) {
        return xmlElem.text;
    }
    else {
        return xmlElem.textContent;
    }
}

function GetXmlDocContent(xmlDoc) {
    if (window.ActiveXObject) {
        if (xmlDoc.xml == undefined) {
            return xmlDoc;
        }
        else {
            return xmlDoc.xml;
        }
    }
    else {
        var serializer = new XMLSerializer();
        var xml = serializer.serializeToString(xmlDoc);
        return xml;
    }
}

function CreateXmlDoc(xml) {
    var xmlDoc = CreateXmlDocument(true);
   

    if (window.ActiveXObject) {
        xmlDoc.loadXML(xml);
    }
    else {
        var parser = new DOMParser();
        xmlDoc = parser.parseFromString(xml, "text/xml");
    }
    return xmlDoc;
}

function Command(commandName, commandLocation, commandNamespace, commandClass, commandFunction, commandReturnType, allowGuest, loginId, password) {
    if (commandLocation == null || commandLocation == "") commandLocation = "PrimeObjects.ApplicationSystem.Platform.dll";
    if (commandNamespace == null || commandNamespace == "") commandNamespace = "PrimeObjects.ApplicationSystem.Platform";
    if (commandClass == null || commandClass == "") commandClass = "GenericAPIs";

    var commandXml = "";
    if (allowGuest == null || allowGuest != null && !allowGuest) {
        var commandXml = '<Command Name="' + commandName + '" Location="' + commandLocation + '" Namespace="' + commandNamespace + '" Class="' + commandClass + '" Function="' + commandFunction + '" ReturnType="' + commandReturnType + '"><Parameters></Parameters></Command>';
    }
    else {
        var commandXml = '<Command AllowGuest="true" Name="' + commandName + '" Location="' + commandLocation + '" Namespace="' + commandNamespace + '" Class="' + commandClass + '" Function="' + commandFunction + '" ReturnType="' + commandReturnType + '"><Parameters></Parameters></Command>';
    }

    var xmlDoc = CreateXmlDoc(commandXml);
    
    if (loginId != null && password != null) {
        var xmlElemParamLoginId = xmlDoc.createAttribute("LoginId");
        xmlElemParamLoginId.value = loginId;
        var xmlElemParamPassword = xmlDoc.createAttribute("Password");
        xmlElemParamPassword.value = password;
        xmlDoc.documentElement.attributes.setNamedItem(xmlElemParamLoginId);
        xmlDoc.documentElement.attributes.setNamedItem(xmlElemParamPassword);
    }
    return xmlDoc;
}



function ExecuteCommand(command, callback, onError) {
    if (onError == null) onError = OnError;
    PrimeObjects.ApplicationSystem.Web.Services.CommandEngine.Execute(GetXmlDocContent(command), callback, onError);
}

function BusinessCommand(commandName, commandClass, commandFunction, commandReturnType, allowGuest, loginId, password) {
    return Command(commandName, "PrimeObjects.ApplicationSystem.Business.dll", "PrimeObjects.ApplicationSystem.Business", commandClass, commandFunction, commandReturnType, allowGuest, loginId, password);
}

function UICommand(commandName, commandClass, commandFunction, commandReturnType, allowGuest, loginId, password) {
    return Command(commandName, "PrimeObjects.ApplicationSystem.UI.dll", "PrimeObjects.ApplicationSystem.UI", commandClass, commandFunction, commandReturnType, allowGuest, loginId, password);
}

function MetadataCommand(commandName, commandClass, commandFunction, commandReturnType, allowGuest, loginId, password) {
    return Command(commandName, "PrimeObjects.ApplicationSystem.Platform.dll", "PrimeObjects.ApplicationSystem.Platform.Metadata", commandClass, commandFunction, commandReturnType, allowGuest, loginId, password);
}


function PlatformCommand(commandName, commandClass, commandFunction, commandReturnType, allowGuest, loginId, password) {
    return Command(commandName, null, null, commandClass, commandFunction, commandReturnType, allowGuest, loginId, password);
}

function GenericAPICommand(commandName, commandFunction, commandReturnType, allowGuest, loginId, password) {
    return Command(commandName, null, null, null, commandFunction, commandReturnType, allowGuest, loginId, password);
}
/**
* jquery.mask.js
* @version: 1.1.3
* Created by Fabio M. Costa on 2008-09-16. Please report any bug at http://www.meiocodigo.com
* Copyright (c) 2008 Fabio M. Costa http://www.meiocodigo.com
* The MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
(function(D) { var C = (window.orientation != undefined), A = ((D.browser.opera || (D.browser.mozilla && parseFloat(D.browser.version.substr(0, 3)) < 1.9)) ? "input" : "paste"); D.event.special.paste = { setup: function() { if (this.addEventListener) { this.addEventListener(A, B, false) } else { if (this.attachEvent) { this.attachEvent(A, B) } } }, teardown: function() { if (this.removeEventListener) { this.removeEventListener(A, B, false) } else { if (this.detachEvent) { this.detachEvent(A, B) } } } }; function B(F) { var E = this; F = D.event.fix(F || window.e); F.type = "paste"; setTimeout(function() { D.event.handle.call(E, F) }, 1) } D.extend({ mask: { rules: { "z": /[a-z]/, "Z": /[A-Z]/, "a": /[a-zA-Z]/, "*": /[0-9a-zA-Z]/, "@": /[0-9a-zA-ZçÇáàãâéèêíìóòôõúùü]/ }, keyRepresentation: { 8: "backspace", 9: "tab", 13: "enter", 16: "shift", 17: "control", 18: "alt", 27: "esc", 33: "page up", 34: "page down", 35: "end", 36: "home", 37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "delete", 116: "f5", 123: "f12", 224: "command" }, iphoneKeyRepresentation: { 10: "go", 127: "delete" }, signals: { "+": "", "-": "-" }, options: { attr: "alt", mask: null, type: "fixed", maxLength: -1, defaultValue: "", signal: false, textAlign: true, selectCharsOnFocus: true, autoTab: true, setSize: false, fixedChars: "[(),.:/ -]", onInvalid: function() { }, onValid: function() { }, onOverflow: function() { } }, masks: { "phone": { mask: "(99) 9999-9999" }, "phone-us": { mask: "(999) 999-9999" }, "cpf": { mask: "999.999.999-99" }, "cnpj": { mask: "99.999.999/9999-99" }, "date": { mask: "39/19/9999" }, "date-us": { mask: "19/39/9999" }, "cep": { mask: "99999-999" }, "time": { mask: "29:59" }, "cc": { mask: "9999 9999 9999 9999" }, "integer": { mask: "999.999.999.999", type: "reverse" }, "decimal": { mask: "99,999.999.999.999", type: "reverse", defaultValue: "000" }, "decimal-us": { mask: "99.999,999,999,999", type: "reverse", defaultValue: "000" }, "signed-decimal": { mask: "99,999.999.999.999", type: "reverse", defaultValue: "+000" }, "signed-decimal-us": { mask: "99,999.999.999.999", type: "reverse", defaultValue: "+000"} }, init: function() { if (!this.hasInit) { var E = this, F, G = (C) ? this.iphoneKeyRepresentation : this.keyRepresentation; this.ignore = false; for (F = 0; F <= 9; F++) { this.rules[F] = new RegExp("[0-" + F + "]") } this.keyRep = G; this.ignoreKeys = []; D.each(G, function(H) { E.ignoreKeys.push(parseInt(H)) }); this.hasInit = true } }, set: function(I, F) { var E = this, G = D(I), H = "maxLength"; F = F || {}; this.init(); return G.each(function() { if (F.attr) { E.options.attr = F.attr } var O = D(this), Q = D.extend({}, E.options), N = O.attr(Q.attr), J = ""; J = (typeof F == "string") ? F : (N != "") ? N : null; if (J) { Q.mask = J } if (E.masks[J]) { Q = D.extend(Q, E.masks[J]) } if (typeof F == "object" && F.constructor != Array) { Q = D.extend(Q, F) } if (D.metadata) { Q = D.extend(Q, O.metadata()) } if (Q.mask != null) { if (O.data("mask")) { E.unset(O) } var K = Q.defaultValue, L = (Q.type == "reverse"), M = new RegExp(Q.fixedChars, "g"); if (Q.maxLength == -1) { Q.maxLength = O.attr(H) } Q = D.extend({}, Q, { fixedCharsReg: new RegExp(Q.fixedChars), fixedCharsRegG: M, maskArray: Q.mask.split(""), maskNonFixedCharsArray: Q.mask.replace(M, "").split("") }); if ((Q.type == "fixed" || L) && Q.setSize && !O.attr("size")) { O.attr("size", Q.mask.length) } if (L && Q.textAlign) { O.css("text-align", "right") } if (this.value != "" || K != "") { var P = E.string((this.value != "") ? this.value : K, Q); this.defaultValue = P; O.val(P) } if (Q.type == "infinite") { Q.type = "repeat" } O.data("mask", Q); O.removeAttr(H); O.bind("keydown.mask", { func: E._onKeyDown, thisObj: E }, E._onMask).bind("keypress.mask", { func: E._onKeyPress, thisObj: E }, E._onMask).bind("keyup.mask", { func: E._onKeyUp, thisObj: E }, E._onMask).bind("paste.mask", { func: E._onPaste, thisObj: E }, E._onMask).bind("focus.mask", E._onFocus).bind("blur.mask", E._onBlur).bind("change.mask", E._onChange) } }) }, unset: function(F) { var E = D(F); return E.each(function() { var H = D(this); if (H.data("mask")) { var G = H.data("mask").maxLength; if (G != -1) { H.attr("maxLength", G) } H.unbind(".mask").removeData("mask") } }) }, string: function(J, F) { this.init(); var I = {}; if (typeof J != "string") { J = String(J) } switch (typeof F) { case "string": if (this.masks[F]) { I = D.extend(I, this.masks[F]) } else { I.mask = F } break; case "object": I = F } if (!I.fixedChars) { I.fixedChars = this.options.fixedChars } var E = new RegExp(I.fixedChars), G = new RegExp(I.fixedChars, "g"); if ((I.type == "reverse") && I.defaultValue) { if (typeof this.signals[I.defaultValue.charAt(0)] != "undefined") { var H = J.charAt(0); I.signal = (typeof this.signals[H] != "undefined") ? this.signals[H] : this.signals[I.defaultValue.charAt(0)]; I.defaultValue = I.defaultValue.substring(1) } } return this.__maskArray(J.split(""), I.mask.replace(G, "").split(""), I.mask.split(""), I.type, I.maxLength, I.defaultValue, E, I.signal) }, _onFocus: function(G) { var F = D(this), E = F.data("mask"); E.inputFocusValue = F.val(); E.changed = false; if (E.selectCharsOnFocus) { F.select() } }, _onBlur: function(G) { var F = D(this), E = F.data("mask"); if (E.inputFocusValue != F.val() && !E.changed) { F.trigger("change") } }, _onChange: function(E) { D(this).data("mask").changed = true }, _onMask: function(E) { var G = E.data.thisObj, F = {}; F._this = E.target; F.$this = D(F._this); if (F.$this.attr("readonly")) { return true } F.data = F.$this.data("mask"); F[F.data.type] = true; F.value = F.$this.val(); F.nKey = G.__getKeyNumber(E); F.range = G.__getRange(F._this); F.valueArray = F.value.split(""); return E.data.func.call(G, E, F) }, _onKeyDown: function(F, G) { this.ignore = D.inArray(G.nKey, this.ignoreKeys) > -1 || F.ctrlKey || F.metaKey || F.altKey; if (this.ignore) { var E = this.keyRep[G.nKey]; G.data.onValid.call(G._this, E ? E : "", G.nKey) } return C ? this._keyPress(F, G) : true }, _onKeyUp: function(E, F) { if (F.nKey == 9 || F.nKey == 16) { return true } if (F.data.type == "repeat") { this.__autoTab(F); return true } return this._onPaste(E, F) }, _onPaste: function(F, G) { if (G.reverse) { this.__changeSignal(F.type, G) } var E = this.__maskArray(G.valueArray, G.data.maskNonFixedCharsArray, G.data.maskArray, G.data.type, G.data.maxLength, G.data.defaultValue, G.data.fixedCharsReg, G.data.signal); G.$this.val(E); if (!G.reverse && G.data.defaultValue.length && (G.range.start == G.range.end)) { this.__setRange(G._this, G.range.start, G.range.end) } if ((D.browser.msie || D.browser.safari) && !G.reverse) { this.__setRange(G._this, G.range.start, G.range.end) } if (this.ignore) { return true } this.__autoTab(G); return true }, _onKeyPress: function(L, E) { if (this.ignore) { return true } if (E.reverse) { this.__changeSignal(L.type, E) } var M = String.fromCharCode(E.nKey), O = E.range.start, I = E.value, G = E.data.maskArray; if (E.reverse) { var H = I.substr(0, O), K = I.substr(E.range.end, I.length); I = H + M + K; if (E.data.signal && (O - E.data.signal.length > 0)) { O -= E.data.signal.length } } var N = I.replace(E.data.fixedCharsRegG, "").split(""), F = this.__extraPositionsTill(O, G, E.data.fixedCharsReg); E.rsEp = O + F; if (E.repeat) { E.rsEp = 0 } if (!this.rules[G[E.rsEp]] || (E.data.maxLength != -1 && N.length >= E.data.maxLength && E.repeat)) { E.data.onOverflow.call(E._this, M, E.nKey); return false } else { if (!this.rules[G[E.rsEp]].test(M)) { E.data.onInvalid.call(E._this, M, E.nKey); return false } else { E.data.onValid.call(E._this, M, E.nKey) } } var J = this.__maskArray(N, E.data.maskNonFixedCharsArray, G, E.data.type, E.data.maxLength, E.data.defaultValue, E.data.fixedCharsReg, E.data.signal, F); E.$this.val(J); return (E.reverse) ? this._keyPressReverse(L, E) : (E.fixed) ? this._keyPressFixed(L, E) : true }, _keyPressFixed: function(E, F) { if (F.range.start == F.range.end) { if ((F.rsEp == 0 && F.value.length == 0) || F.rsEp < F.value.length) { this.__setRange(F._this, F.rsEp, F.rsEp + 1) } } else { this.__setRange(F._this, F.range.start, F.range.end) } return true }, _keyPressReverse: function(E, F) { if (D.browser.msie && ((F.range.start == 0 && F.range.end == 0) || F.range.start != F.range.end)) { this.__setRange(F._this, F.value.length) } return false }, __autoTab: function(F) { if (F.data.autoTab && ((F.$this.val().length >= F.data.maskArray.length && !F.repeat) || (F.data.maxLength != -1 && F.valueArray.length >= F.data.maxLength && F.repeat))) { var E = this.__getNextInput(F._this, F.data.autoTab); if (E) { F.$this.trigger("blur"); E.focus().select() } } }, __changeSignal: function(F, G) { if (G.data.signal !== false) { var E = (F == "paste") ? G.value.charAt(0) : String.fromCharCode(G.nKey); if (this.signals && (typeof this.signals[E] != "undefined")) { G.data.signal = this.signals[E] } } }, __getKeyNumber: function(E) { return (E.charCode || E.keyCode || E.which) }, __maskArray: function(M, H, G, J, E, K, N, L, F) { if (J == "reverse") { M.reverse() } M = this.__removeInvalidChars(M, H, J == "repeat" || J == "infinite"); if (K) { M = this.__applyDefaultValue.call(M, K) } M = this.__applyMask(M, G, F, N); switch (J) { case "reverse": M.reverse(); return (L || "") + M.join("").substring(M.length - G.length); case "infinite": case "repeat": var I = M.join(""); return (E != -1 && M.length >= E) ? I.substring(0, E) : I; default: return M.join("").substring(0, G.length) } return "" }, __applyDefaultValue: function(G) { var E = G.length, F = this.length, H; for (H = F - 1; H >= 0; H--) { if (this[H] == G.charAt(0)) { this.pop() } else { break } } for (H = 0; H < E; H++) { if (!this[H]) { this[H] = G.charAt(H) } } return this }, __removeInvalidChars: function(H, G, E) { for (var F = 0, I = 0; F < H.length; F++) { if (G[I] && this.rules[G[I]] && !this.rules[G[I]].test(H[F])) { H.splice(F, 1); if (!E) { I-- } F-- } if (!E) { I++ } } return H }, __applyMask: function(H, F, I, E) { if (typeof I == "undefined") { I = 0 } for (var G = 0; G < H.length + I; G++) { if (F[G] && E.test(F[G])) { H.splice(G, 0, F[G]) } } return H }, __extraPositionsTill: function(H, F, E) { var G = 0; while (E.test(F[H++])) { G++ } return G }, __getNextInput: function(N, F) { var I = N.form.elements, H = D.inArray(N, I) + 1, M = null, J; for (J = H; J < I.length; J++) { M = D(I[J]); if (this.__isNextInput(M, F)) { return M } } var E = document.forms, G = D.inArray(N.form, E) + 1, L, K = null; for (L = G; L < E.length; L++) { K = E[L].elements; for (J = 0; J < K.length; J++) { M = D(K[J]); if (this.__isNextInput(M, F)) { return M } } } return null }, __isNextInput: function(G, E) { var F = G.get(0); return F && (F.offsetWidth > 0 || F.offsetHeight > 0) && F.nodeName != "FIELDSET" && (E === true || (typeof E == "string" && G.is(E))) }, __setRange: function(G, H, E) { if (typeof E == "undefined") { E = H } if (G.setSelectionRange) { G.setSelectionRange(H, E) } else { var F = G.createTextRange(); F.collapse(); F.moveStart("character", H); F.moveEnd("character", E - H); F.select() } }, __getRange: function(F) { if (!D.browser.msie) { return { start: F.selectionStart, end: F.selectionEnd} } var G = { start: 0, end: 0 }, E = document.selection.createRange(); G.start = 0 - E.duplicate().moveStart("character", -100000); G.end = G.start + E.text.length; return G }, unmaskedVal: function(E) { return D(E).val().replace(D.mask.fixedCharsRegG, "") } } }); D.fn.extend({ setMask: function(E) { return D.mask.set(this, E) }, unsetMask: function() { return D.mask.unset(this) }, unmaskedVal: function() { return D.mask.unmaskedVal(this[0]) } }) })(jQuery)

var KEY_UP = 38;
var KEY_DOWN = 40;
var KEY_ESC = 27;
var KEY_ENTER = 13;

function FillPrefixZero(v, n) {
    v = v.toString();
    while (n > v.length) {
        v = "0" + v;
    }
    return v;
}

/*
SmartFocus JQuery Plugin
USAGE EXAMPLE:

var mail = '* E-mail';
$('#mail').smartFocus(mail);

This will inject the text "* E-mail" into the element (an input or a textarea) with id='mail'
*/
jQuery.fn.smartFocus = function(text) {
    $(this).val(text).focus(function() {
        if ($(this).val() == text) {
            $(this).val('');
        }
    }).blur(function() {
        if ($(this).val() == '') {
            $(this).val(text);
        }
    });
};

$(document).click(function(event) {
    if (!$(event.target).hasClass("po-lookup-inline-tb")) {
        try {
            HideInlineLookup();
        }
        catch (e) { }
    }
});

var C_EMPTYGUID = "00000000-0000-0000-0000-000000000000";

function URLEncode(v) { return escape(v).replace(/\+/g, '%2B').replace(/\"/g, '%22').replace(/\'/g, '%27'); }

function InitTooltips() {
    $('.fg-tooltip').css('visibility', 'visible');
    $('.fg-tooltip').hide();
    $('.tooltip').hover(
					function(e) { var n = '#' + $(this).attr("id") + '-t'; $(n).css('top', e.pageY - $(n).height() - 40); $(n).css('left', e.pageX); $(n).css('visiblity', 'hidden').fadeIn(); },
					function(e) { var n = '#' + $(this).attr("id") + '-t'; $(n).css('visiblity', 'visible').fadeOut(); }
				);
    $('.fg-tooltip').css("zIndex", "999999");
}

//Command Engine JS
function OnError(v) {
    HideDialog();
    var lcid = 1033;
    if ($("#_lcid").length > 0) lcid = $("#_lcid").val();
    
    if (v == null || v == undefined) return;
    if (!jQuery.isFunction(ShowTabs) && $("#po_tabs").length > 0) ShowTabs();
    if (v == MSG_SESSIONEXPIRED) {
        $.get("/Platform/LoginDialog." + lcid + ".htm", function(m) {
            if ($("#po_site_AppLoginDialogTitle").length > 0) v = $("#po_site_AppLoginDialogTitle").val();
            ShowMessageDialog(null, v, m, 530, 300, null, false);
            if ($("#po_site_AppLoginDialogContent").length > 0) $("#po_logindlg_content").html($("#po_site_AppLoginDialogContent").val());
            if ($("#po_site_AppLoginDialogFooter").length > 0) $("#po_logindlg_footer").html($("#po_site_AppLoginDialogFooter").val());
        });
    }
    else {

        if (v._message != null && v._message != undefined) v = v._message;

        if (v.indexOf(MSG_AUTHFAILEDERROR) >= 0) {
            ShowMessageDialog("ErrorDlg", MSG_ERROR_AUTHENTICATION_TITLE, MSG_ERROR_AUTHENTICATION, 350, 150, null, false);
        }
        else {
            ShowMessageDialog("ErrorDlg", MSG_ERROR_COMMAND_TITLE, "<div id='po_errormsg_wrapper' style='overflow: auto;  overflow-x: hidden; height:90px; width:260px;'>" + v + "</div>", 350, 150, null, true, function(event, ui) { $("#po_errormsg_wrapper").height($("#po_msgdlg").height()); $("#po_errormsg_wrapper").width($("#po_msgdlg").width()-90); });
        }
    }
}

function CreateHTMLElement(tag, id) {
    if ($("#" + id).length > 0) return $("#" + id);
    var o = document.createElement(tag);
    o = $(o);
    o.attr("id", id);
    $("form").append(o);
    return o;
}


function ShowMessageDialog(template, t, c, w, h, btns, resize, onresize) {
    $("#po_msgdlg").remove();
    if (!jQuery.isFunction(onresize)) {
        onresize = function(event, ui) { };
    }
    var lcid = "1033";
    if ($("#_lcid").val() != "") lcid = $("#_lcid").val();
       
    if ($("#po_lookup_inline_id").length>0) {HideInlineLookup(); };
    if (resize == null || resize == undefined) resize = false;
    if (w == null || w == undefined) w = "300";
    if (h == null || h == undefined) h = "140";
    
    var po_msgdlg = CreateHTMLElement("div", "po_msgdlg");
    po_msgdlg.css("overflow", "hidden");
    po_msgdlg.addClass("po-msgdlg");
   
    if (template == null || template == "") {
        $("#po_msgdlg").html(c);
        if (btns == null || btns==undefined) {
            $("#po_msgdlg").css("z-index",999999999).dialog({ bgiframe: true, autoOpen: true,
            resizable: resize, resizeStop: function(event, ui) { onresize(event, ui); }, height: h, width: w, modal: true, title: t
            });
        }
        else {
            $("#po_msgdlg").css("z-index", 999999999).dialog({ bgiframe: true, autoOpen: true,
            resizable: resize,resizeStop:function(event, ui) {onresize(event, ui); }, height: h, width: w, modal: true,title: t,
                buttons: btns
            });
        }
    }
    else {

        if ((btns == null || btns == undefined) && template!="ProgressDlg") {
            btns = { "OK": function() { $("#po_msgdlg").dialog("close"); } };
        }
        
        if (btns == null || btns == undefined)
        {
            $.get("/Content/DialogTemplates/" + template + "." + lcid + ".htm", function (m) {
                $("#po_msgdlg").html(m.replace("[Message]", c));
                $("#po_msgdlg").css("z-index", 999999999).dialog({ bgiframe: true, autoOpen: true,
                    resizable: resize, resizeStop: function (event, ui) { onresize(event, ui); }, height: h, width: w, modal: true, title: t
                });
            });
        }
        else {
            h = parseInt(h) + 40;
      
            $.get("/Content/DialogTemplates/" + template + "." + lcid + ".htm", function(m) {
            $("#po_msgdlg").html(m.replace("[Message]", c));
            $("#po_msgdlg").css("z-index", 999999999).dialog({ bgiframe: true, autoOpen: true,
            resizable: resize, resizeStop: function(event, ui) { onresize(event, ui); }, height: h, width: w, modal: true, title: t,
                    buttons: btns
                });

            });
        }
    }
   
}

function HideMessageDialog() {
    $("#po_msgdlg").dialog("destroy");
    $(".po-msgdlg").dialog("destroy");
}

function FormatCurrency(v, cid, enforce) {
    var c = $("#" + cid);
    if (enforce == null || enforce == undefined) enforce = false;
    if (c != null) {
       
        if (c.hasClass("po-form-d")) {
            c.html("<img src='/Images/Progressing.gif' style='width:16px;height:16px'/>");
        }
        else {
            if (c.val() == MSG_FORMATCURRENCY  || !enforce && c.val().indexOf(GetCurrencySymbol()) >= 0) return;
            c.val(MSG_FORMATCURRENCY);
        }
    }
    
    var command = PlatformCommand("FormatCurrency", "Context", "FormatCurrency", "System.String");
    AddCommandParameter(command, "value", "System.Double", v);
    AddCommandParameter(command, "controlId", "System.String", cid);
    ExecuteCommand(command, OnFormatCurrency, OnError);
}

function OnFormatCurrency(v) {
    var vs = v.split('|');
    var c = $("#" + vs[1]);
    if (c != null) {
        if (c.hasClass("po-form-d")) {
            c.html(vs[0]);
        }
        else {
            c.val(vs[0]);
            c.trigger("onchange");
        }
    }
    
}


function Logout() {
    ShowMessageDialog("ProgressDlg", MSG_LOGOUT_TITLE, MSG_LOGOUT_WAIT, 300, 100, null);
    var command = PlatformCommand("Logout", "Context", "Logout", "void", true);
    ExecuteCommand(command, OnLogoutSuccess, OnError);
}

function OnLogoutSuccess(v) {
    window.location = "/Default.aspx";
    //ShowDefaultLogin(); 
}

function Login(email, password, isformlogin) {
    if (isformlogin == null || isformlogin == undefined) {
        isformlogin = false;
    }
  
    $("#po_signin_msg").html("");

    if (isformlogin) {
        $("#po_login_icon").attr("src", "/Images/Progressing.gif");
    }
    else {
        $("#po_login_icon").parent().html("<img src='/Images/Progressing.gif' id='po_login_icon'/>");
    }
    var command = PlatformCommand("Login", "Context", "Login", "System.Guid", true);
    AddCommandParameter(command, "email", "System.String", email);
    AddCommandParameter(command, "password", "System.String", password);
    if (isformlogin) {
        ExecuteCommand(command, OnFormLoginSuccess, OnError);
    }
    else {
        ExecuteCommand(command, OnLoginSuccess, OnLoginError);
    }
}

function OnFormLoginSuccess(v) {
    if (v == "{00000000-0000-0000-0000-000000000000}") {
        $("#po_login_icon").attr("src","/Images/Login.png");
        $("#po_signin_msg").html(MSG_WARNING_LOGINFAILED_TITLE + " - " + MSG_WARNING_LOGINFAILED);
    }
    else {
        SetCookie("po.email", $("#email").val(), 30);
        window.location = SetQueryString(window, "session", $("#_session").val());
    }
}

function OnLoginError(v) {
    ShowUserDesktopPhoto();
    $("#po_signin_msg").html(MSG_WARNING_LOGINFAILED_TITLE + " - " + MSG_WARNING_LOGINFAILED);
}

function OnLoginSuccess(v) {
    if (v == "{00000000-0000-0000-0000-000000000000}") {
        ShowUserDesktopPhoto();
        $("#po_signin_msg").html(MSG_WARNING_LOGINFAILED_TITLE + " - " + MSG_WARNING_LOGINFAILED);
    }
    else {
        SetCookie("po.email", $("#email").val(), 30);
        window.location = "/Default.aspx";
        //ShowDesktop();
    }
}

function ShowUserDesktopPhoto() {
    $("#po_login_icon").parent().html("<img src='images/yourphoto.png' class='homephoto' id='po_login_icon'/>");
}

function ShowDesktop() {
    $("#po_signin").hide();
    $('#po_homemsg').hide();
    $('#po_homelogo').hide();
    HideMessageDialog();
    GetCurrentTaskbar();
}

function HideDesktopWindows() {
    $('.ui-dialog').hide();
}

function OpenNewWindow(id) {
    var ifa = $("iframe",$('#' + id));
    var url = "";
    if (ifa!=undefined) url = ifa.attr("src");
    if (url != "") window.open(url);
}

function MinWindow(id) {
    $('#' + id).parent().hide();
}

function ShowDefaultLogin() {
    HideMessageDialog();
    $("#po_signin").show();
    $('#po_homemsg').show();
    $('#po_homelogo').show();
    HideAllWindows();
    GetCurrentTaskbar();
}

function GetCurrentTaskbar() {
    $.get("CurrentTaskbar.aspx?ts=" + Guid(), function(c) {
        $("#po_taskbar").html(c);
        $.get("CurrentTaskbar.aspx?tooltip=true&ts=" + Guid(), function(t) {
            $("#taskbartooltip").html(t);
            $.get("CurrentTaskbar.aspx?menu=true&ts=" + Guid(), function(m) {
                $("#po_startmenu_c").html(m);
                InitTaskbar();
            });

        });
    });

}

function SelectPickList(id, code, v) {
    $(id).val(code);
    $(id + "-pl").prev().children(":eq(0)").html(v).css("color", "#333333").css("background", "");
}


function RenderPicklist(o) {
    if (o != null) {
        o.menu("destroy");
        o.menu({
            content: o.next().html(), zIndex: 99999
        });
        o.css("color", "#333333").css("border", 0).css("background", "").css("width", "95%").next().css("width", "5%");
    }
    else {
        $('.po-picklist').each(function() {
            $(this).menu("destroy");
            $(this).menu({
                content: $(this).next().html(), zIndex: 99999
            });
            $(this).css("color", "#333333").css("border", 0).css("background", "").css("width", "95%").next().css("width", "5%");
        }
    )
    }
}
function HideTaskbarMenu() {
    $("#po_startmenubase").css("visibility","hidden");
    $(".po-startmenu-subgrp").css("visibility", "hidden");
}

function ShowTaskbarMenu() {
    if ($("#po_startmenubase").css("visibility") != "hidden") {
        HideTaskbarMenu();
    }
    else {
        $("#po_startmenubase").css("visibility", "visible");
        $("#po_startmenubase").css("bottom", 40);
        $("#po_startmenubase").css("z-index", 9999999);
        $("#po_startbtn").css("margin-top", "4px");
        
        $(".po-startmenu-sidehr").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/images/po-startmenu_sidehr.gif");
        $(".po-startmenu-bullet").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/images/po-ico_leftbullet.gif");
        $(".po-startmenu-hr").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/images/po-startmenu_hr.gif");
    }
    return false;
}

function InitTaskbar() {
    
    InitTooltips();

    $('#po_startbtn').hover(
		    function() {
		        $(this).attr('src', $(this).attr('src').replace('po-bg_bar_btn_start.', 'po-bg_bar_btn_start_hover.'));
		    },
		    function() {
		        $(this).attr('src', $(this).attr('src').replace('po-bg_bar_btn_start_hover.', 'po-bg_bar_btn_start.'));
		    }
	        )
		    $('.po-bar-btn-c').live("mouseover",
		    function() {
		        $(this).parent().removeClass('po-bar-btn-r').addClass('po-bar-btn-r-hover');
		        $(this).parent().parent().removeClass('po-bar-btn-l').parent().addClass('po-bar-btn-l-hover');
		    });
		    $('.po-bar-btn-c').live("mouseout",
		    function() {
		        $(this).parent().removeClass('po-bar-btn-r-hover').addClass('po-bar-btn-r');
		        $(this).parent().parent().removeClass('po-bar-btn-l-hover').addClass('po-bar-btn-l');
		    });



    $('#po_taskbar').css("visibility", "visible");

    $('#po_startbtn').attr('src', '/CSS/Themes/' + $('#_theme').val() + '/images/po-bg_bar_btn_start.png').css("margin-top", "4px");
    $('.po-startmenu-item').hover(
    		            function() { $(this).removeClass('po-startmenu-item').addClass('po-startmenu-item-hover'); },
    		            function() { $(this).removeClass('po-startmenu-item-hover').addClass('po-startmenu-item'); }
    		        )
    $('.po-startmenu-sideitem').hover(
    		            function() { $(this).removeClass('po-startmenu-sideitem').addClass('po-startmenu-sideitem-hover'); },
    		            function() { $(this).removeClass('po-startmenu-sideitem-hover').addClass('po-startmenu-sideitem'); }
    		        )
    $(".po-startmenu-item").click(function(event) {
        if ($(".po-startmenu-subgrp", $(this)).length == 0) {
            HideTaskbarMenu();
        }
        else {
            $(".po-startmenu-item").each(function() { $(this).children(":first").next().css("visibility", "hidden"); });
            var mtop = $(this).offset().top - $("#po_startmenubase").offset().top;
            if ($(window).height() - $(this).offset().top - $(this).children(":first").next().height() < 0) {
                mtop = mtop - $(this).children(":first").next().height() + $(this).height();
            }
            $(this).children(":first").next().css("top", mtop).css("left", $(this).width()).css("visibility", "visible");
        }
        return false;
    });
}
function CloseWindow(event) {
    if (event == null || event == undefined) return;
    var dlg = $(event.target);
    if (!$(event.target).hasClass("ui-dialog-content")) {
        dlg = $(event.target).parent().parent().next();
    }
    $("#po_bar_btn_" + dlg.attr("id")).remove();
    dlg.dialog('destroy');
    dlg.remove();
}

function ShowWindow(id, url, t, btns, w, h, x, y, m, framescroll, onclose, refresh) {
    var p = "center";
    if (!jQuery.isFunction(onclose)) onclose = function(event) { CloseWindow(event); };

    id = "dlg" + id;
    if (refresh == null || refresh == undefined) refresh = false;
    if (w == null || w == undefined) w = $(window).width() * 4 / 5;
    if (h == null || h == undefined) h = $(window).height() * 4 / 5;

    if (x != null && x != undefined && y != null || y != undefined) {
        p = [x, y];
    }
    else {
        p = 'center';
    }
    
    if (m == null || m == undefined) m = false;
    if (framescroll == null) framescroll = true;

    if (url.indexOf("?") > 0) url = url + "&guid=" + Guid(); else url = url + "?guid=" + Guid();
    
    var dlg = $('#' + id);
    if (framescroll) {
        framescroll = "";
    }
    else
    {
        framescroll = " scrolling = 'no'";
    }

    var existing = false;
   
    if (dlg.length > 0) {
        existing = true;
        dlg.parent().show();
        if (refresh)
            dlg.html("<iframe id='ifa" + id + "' src='" + url + "' class='dlgifa' frameborder='0' " + framescroll + "/>");
        var maxIndex = 0;
        $(".ui-dialog").each(function() {
            var zindex = $(this).css("z-index");
            if (zindex != "") {
                zindex = parseInt(zindex);
                if (zindex != 0) $(this).css("z-index", zindex - 1);
            }
            else {
                zindex = 0;
            }
            if (zindex > maxIndex) maxIndex = zindex;
        });
        dlg.parent().css("z-index", maxIndex);
    }
    else {
        $('#dialogs').append("<div id='" + id + "'><iframe id='ifa" + id + "' src='" + url + "' class='dlgifa' frameborder='0' " + framescroll + "/></div>");
        dlg = $('#' + id);

        if (btns != null) {
            dlg.dialog({
                bgiframe: true, autoOpen: true, closeOnEscape: false, width: w, height: h, modal: m,
                position: p, resizable: true, draggable: true, title: t, buttons: btns,
                close: onclose,
                resizeStart: function(event, ui) { WinDialogResizeStart(event, ui, $(this)); },
                resizeStop: function(event, ui) { WinDialogResizeStop(event, ui, $(this)); }
            });
        }
        else {
            dlg.dialog({
                bgiframe: true, autoOpen: true, closeOnEscape: false, width: w, height: h, modal: m,
                position: p, resizable: true, draggable: true, title: t, buttons: {},
                close: onclose,
                resizeStart: function(event, ui) { WinDialogResizeStart(event, ui, $(this)); },
                resizeStop: function(event, ui) { WinDialogResizeStop(event, ui, $(this)); }
            });
        }
        WinDialogTriggerResize($(this));
        $(".po-win-icon", dlg.parent()).css("cursor", "pointer").dblclick(onclose);

            
        if ($("#po_startbtn").length > 0) {
            dlg.prev().append("<a style='-moz-user-select: none;' unselectable='on' role='button' class='ui-dialog-titlebar-min ui-corner-all' href=\"javascript:MinWindow('" + id + "');\"><span style='-moz-user-select: none;' unselectable='on' class='ui-icon ui-icon-minusthick' title='Minimize the current window'></span></a>");
        }

        dlg.prev().children(":first").after("<span onclick=\"OpenNewWindow('" + id + "');\" style='-moz-user-select: none;cursor:pointer;' unselectable='on' class='ui-icon ui-icon-zoomin' title='Open in the new window'></span>");
    }
   
    //{Refresh: function() { $('#ifa' + id).attr('src', $('#ifa' + id).attr('src')); }}
    

}

function WinDialogResizeStart(event, ui, o) {
    if (o.children(":first").tagName().toLowerCase() == "iframe") {
        o.children(":first").hide();
    }

}

function WinDialogResizeStop(event, ui, o) {
    WinDialogTriggerResize(o);
}

function WinDialogTriggerResize(o) {
    if (o.children(":first").tagName().toLowerCase() == "iframe") {
        o.children(":first").show();
        if (o.children(":first")[0] != undefined && $(o.children(":first")[0].contentWindow).length > 0) {
            $(o.children(":first")[0].contentWindow).trigger("resize");
        }
    }
}

function HideAllWindows() {
    $('.dlgifa').parent().dialog('close');
}

//Set cookies by days
function SetCookie(name,value,days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    $.cookie(name, value, { path: '/', expires: date });
}

function GetCookie(name) {
    return $.cookie(name);
}

function DeleteCookie(name)
{
    $.cookie(name, null);
}

function ChangeTheme(name) {
    SetCookie("po.theme", name, 30);
    window.location = "Default.aspx?theme=" + name;
}

function ShowThemePicker() {
    ShowDialog("Content/Dialogs/ThemePicker." + $("#_lcid").val() + ".htm", "Theme Picker", 370, 300, function() { ChangeTheme(); });
}

function ChangeTheme() {
    
    var command = PlatformCommand("ChangeTheme", "Context", "ChangeTheme", "Void", true);
    AddCommandParameter(command, "theme", "System.String", $("#po_changetheme").val());
    ExecuteCommand(command, OnChangeThemeSuccess, OnError);
}

function OnChangeThemeSuccess() {
    window.location = "/Default.aspx";
}

function GuidSeg() {
    return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
function Guid() {
    return GuidSeg() + GuidSeg() + "-" + GuidSeg() + "-" + GuidSeg() + "-" + GuidSeg() + "-" + GuidSeg() + GuidSeg() + GuidSeg();
}

function DynUrl(url) {
    if (url.indexOf("?") > 0) return url + "&poguid=" + Guid(); else return url + "?poguid=" + Guid();
}

function ShowUserProfile(session) {
    var url = "/Form.aspx?ename=SystemUser&noribbon=true&nonav=true&iid=" + $('#_userid').val();
    if (session != null && session != undefined) url = url + "&session=" + session;
    var btns = { 
    'Save': function() { SaveUserProfile(false);},
    'Save & Close': function() { SaveUserProfile(true); }, 
    'Cancel': function() { $("#dlguserprofile").dialog("close"); } };
    ShowWindow("userprofile", url, "My Profile", btns, null, null, null, null, true, false, null, null);
}

function SaveUserProfile(close) {
    if (close) {
        $("#ifadlguserprofile")[0].contentWindow.SaveRecord(null, function(iid) { $("#dlguserprofile").dialog("close"); });
    }
    else {
        $("#ifadlguserprofile")[0].contentWindow.SaveRecord(null, null);
    }
}

function ShowDialog(url, t, w, h, okjs, onresize, onshow, m, onclose) {
    $.get(DynUrl(url), function(c) {
        HideDialog();

        var dialog = document.createElement("div");
        $(dialog).attr("id", "dialog").css("overflow", "hidden");
        $("form").append($(dialog));

        var resize = false;
        if (jQuery.isFunction(onresize)) resize = true; else resize = onresize;
        if (resize == null) resize = false;

        if (m == null) m = true;
        var dlg = $("#dialog");
        dlg.html(c);
        if (!jQuery.isFunction(onclose)) onclose = function(event, ui) { HideDialog(); };

        if (okjs != null && jQuery.isFunction(okjs)) {
            if (jQuery.isFunction(onresize) && resize) {
                dlg.dialog({ bgiframe: true, autoOpen: true, height: h, width: w, modal: m, title: t, resizable: resize,
                    buttons: { 'Ok': function() { okjs($("#dialog")); } },
                    close: onclose,
                    resize: function(event, ui) { onresize(event, ui); }
                });
            }
            else
                dlg.dialog({ bgiframe: true, autoOpen: true, height: h, width: w, modal: m, title: t, resizable: resize,
                    buttons: { 'Ok': function() { okjs($("#dialog")); } },
                    close: onclose
                });
            // $(".positionHelper").hide(); $(this).remove();
        }
        else {
            if (okjs == null) okjs = function() { HideDialog(); };

            if (jQuery.isFunction(onresize) && resize) {
                dlg.dialog({ bgiframe: true, autoOpen: true, height: h, width: w, modal: m, title: t, resizable: resize,
                    buttons: okjs,
                    close: onclose,
                    resize: function(event, ui) { onresize(event, ui); }
                });
            }
            else
                dlg.dialog({ bgiframe: true, autoOpen: true, height: h, width: w, modal: m, title: t, resizable: resize,
                    buttons: okjs,
                    close: onclose
                });
        }
        if (onshow != null) onshow($("#dialog"));
    });
}

function HideDialogById(id) {
    HideDialog($("#" + id));
}
function HideDialog(dlg) {
    if (dlg == null || dlg == undefined) dlg = $('#dialog');
    if (dlg.length > 0) {
        dlg.dialog("destroy");
        dlg.remove();
    }
    
    $(".positionHelper").hide();
    HideInlineLookup();
}

function ShowAccessKeyDialog() {
    ShowDialog("/Platform/AccessKey.aspx", "Generate Access Key", 450, 280, {'Generate Access Key':function() { GenerateAccessKey(); }});
}

function GenerateAccessKey() {
    var command = PlatformCommand("GenerateAccessKey", "Context", "GenerateAccessKey", "System.String");
    AddCommandParameter(command, "domainName", "System.String",  $("#po_accesskey_domainname").val());
    ExecuteCommand(command, OnGenerateAccessKey, function(v) { HideDialog(); OnError(v); });
}

function OnGenerateAccessKey(v) {
    $("#po_accesskey_value").val(v);
    $("#po_accesskey_value").select();
}


function ShowSignUpDialog(preOpen, onClose) {
    if (preOpen != null && preOpen != undefined) preOpen();
    if ($("#_orgid").val() != "") {
        ShowDialog("/Platform/SignUpNewUser.aspx", "Sign Up", 580, 400, function() { SignUp(); }, false, null, true, onClose);
    }
    else {
        ShowDialog("/Platform/SignUpNewOrg.aspx", "Sign Up", 350, 310, function() { SignUp(); }, false, null, true, onClose);
    }
}


function SignUp() {
    $('#po_signup_msg').html("<img src='Images/Progressing.gif' id='po_signup_progressing'/>");

    if ($("#po_signup_org").length > 0 && $("#po_signup_org").val() == "") {
        $('#po_signup_msg').html(MSG_ERROR_ORGNAMENEEDED);
        return;
    }
    
    if ($('#po_signup_email').val() != $('#po_signup_reenteremail').val()) {
        $('#po_signup_msg').html(MSG_ERROR_EMAILNOMATCH);
        return;
    }
    
    if ($('#po_signup_password').val() != $('#po_signup_reenterpassword').val()) {
        $('#po_signup_msg').html(MSG_ERROR_PASSWORDNOMATCH);
        return;
    }

    if ($('#po_signup_email').val() == "" || $('#po_signup_password').val()=="") {
        $('#po_signup_msg').html(MSG_ERROR_NOEMAILPASSWORD);
        return;
    }
   
    if (!$('#po_signup_readagreement').attr("checked")) {
        $('#po_signup_msg').html(MSG_ERROR_READAGREEMENT);
        return;
    }

    var currencyId = "9EEE0E8E-C364-41E9-8B1A-5F22FA898FC6"; //USD
    if ($("#_lcid").val() == "2052") currencyId = "D531C983-24C3-4630-B790-0F290B61D48E"; //CNY

    var languageId = "3693DC14-EA66-4CD7-B05D-71CA09D549AB"; //ENG
    if ($("#_lcid").val() == "2052") languageId = "DC5EFD85-40DF-4376-B718-BE9F43755C07"; //CHN
    
    var timezoneId = "2f221c9a-63ea-4e19-babf-ec1edfbc1eb0"; //(GMT-08:00) Pacific Time (US &amp; Canada)
    if ($("#_lcid").val() == "2052") timezoneId = "2a0482c6-290b-42fb-8b0e-af296c7db9a3"; //(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi

    
    var command = null;
    if ($("#_orgid").val()!="") {
        var firstName = "";
        if ($("#po_signup_firstname").length > 0) firstName = $("#po_signup_firstname").val();

        var lastName = "";
        if ($("#po_signup_firstname").length > 0) lastName = $("#po_signup_lastname").val();

        command = PlatformCommand("WebSignUpNewUser", "Context", "WebSignUpNewUser", "System.Guid", true);
        AddCommandParameter(command, "firstName", "System.String", firstName);
        AddCommandParameter(command, "lastName", "System.String", lastName);
        AddCommandParameter(command, "orgId", "System.Guid", $("#_orgid").val());
    }
    else {
    
        command = PlatformCommand("WebSignUpNewOrg", "Context", "WebSignUpNewOrg", "System.Guid", true);
        AddCommandParameter(command, "firstName", "System.String", "System");
        AddCommandParameter(command, "lastName", "System.String", "Administrtaor");
        if ($("#po_signup_org").length > 0) {
            AddCommandParameter(command, "orgName", "System.String", $("#po_signup_org").val());
        }
        else {
            AddCommandParameter(command, "orgName", "System.String", "");
        }
    }
   
    AddCommandParameter(command, "email", "System.String", $("#po_signup_email").val());
    AddCommandParameter(command, "password", "System.String", $("#po_signup_password").val());
    AddCommandParameter(command, "languageId", "System.Guid", languageId);
    AddCommandParameter(command, "currencyId", "System.Guid", currencyId);
    AddCommandParameter(command, "timezoneId", "System.Guid", timezoneId);
    AddCommandParameter(command, "roleIds", "System.String", $("#_signuproleids").val());
    AddCommandParameter(command, "homePageUIId", "System.Guid", "00000000-0000-0000-0000-000000000000");
    AddCommandParameter(command, "referralCode", "System.String", $("#_userid").val());
    AddCommandParameter(command, "alisoftUserId", "System.String", $("#_alisoftuid").val());
    if ($("#_orgid").val()!="")
    {
        AddCommandParameter(command, "isAutoSignUp", "System.Boolean", "false");
    }
    AddCommandParameter(command, "solutionId", "System.String", "1");
    AddCommandParameter(command, "featureIds", "System.String", "1,2,3,4");
    AddCommandParameter(command, "stId", "System.String", "0");
    AddCommandParameter(command, "isActivation", "System.Boolean", "false");
                     
    ExecuteCommand(command, OnSignUpSuccess, OnSignUpError);
}

function OnSignUpError(v) {
    $('#po_signup_msg').html(MSG_SIGNUPERROR);
}

function OnSignUpSuccess(v) {
    $("#po_signup_progressing").attr("src", "Images/PH_1x1.gif");
    switch (v) {
        case "{00000000-0000-0000-0000-000000000001}":
            {
                $('#po_signup_msg').html(MSG_SIGNUPERROR_USEREXIST);
                break;
            }
        case "{00000000-0000-0000-0000-000000000002}":
            {
                $('#po_signup_msg').html(MSG_SIGNUPERROR_ORGEXIST);
                break;
            }
        case "{00000000-0000-0000-0000-000000000003}":
            {
                $('#po_signup_msg').html(MSG_SIGNUPERROR_NOADMIN);
                break;
            }
        case "{00000000-0000-0000-0000-000000000010}":
            {
                $('#po_signup_msg').html(MSG_SIGNUPERROR_NOTALLOWED);
                break;
            }
       default:
            {
                SetCookie("po.email", $("#email").val(), 30);
                $.get("/Content/SignUpActivation." + $("#_lcid").val() + ".htm", function(c) {
                    HideDialog();
                    ShowMessageDialog("DoneDlg", MSG_SIGNUP_SUCCESS_TITLE, c, 460, 250);
                });
                break;
            }
    }
}

function ShowUserActivationDlg() {
    ShowMessageDialog("ProgressDlg", MSG_ACTUSER_TITLE, MSG_ACTUSER_WAIT);
    var command = PlatformCommand("WebActivate", "Context", "WebActivate", "System.Guid", true);
    AddCommandParameter(command, "userActivationId", "System.Guid", $("#_useractid").val());

    ExecuteCommand(command, OnActivateUserSuccess, OnActivateUserError);
}

function OnActivateUserSuccess(v) {

    HideDialog();
    switch (v) {
        case "{00000000-0000-0000-0000-000000000000}":
            {
                ShowMessageDialog("WarningDlg", MSG_WARNING_ACTUSERFAILED_TITLE, MSG_WARNING_WRONGACTUSERID);
                break;
            }
        default:
            {
                $.get("/Content/Welcome." + $("#_lcid").val() + ".htm", function(c) {
                    ShowMessageDialog("", MSG_ACTUSER_SUCCESS_TITLE, c, 450, 320);
                });
                break;
            }
    }
}

function OnActivateUserError(v) {
    HideDialog();
    OnError(v);
}

function OpenRecord(o, ename, iid, rename, riid, laname, formParam, winParam, winnameprefix) {
    var url = "";
    var name = ename;
    if (winParam == null || winParam == undefined) {
        winParam = "menubar=0, location=0, resizable=1, status=1, width=1050, height=650";
    }

    if ($("#_domain").length > 0) {
        url = "http://" + $("#_domain").val() + "/Form.aspx?ename=" + ename
    }
    else {
        url = "/Form.aspx?ename=" + ename
    }

    if (formParam != null && formParam != undefined && formParam != "") {
        url = url + "&" + formParam;
    }

    if (iid != null && iid != '') {
        url = url + "&iid=" + iid;
        name = name + iid.replace(/-/g, "").replace(/{/g, "").replace(/}/g, "").toLowerCase();
    }
    else {
        name = name + " New";
    }
    
    if (winnameprefix != null && winnameprefix != undefined) name = winnameprefix + name;
    
    if (rename != null) {
        url = url + "&rename=" + rename;
    }

    if (riid != null) {
        url = url + "&riid=" + riid;
    }

    if (laname != null) {
        url = url + "&laname=" + laname;
    }
    name = name.replace(/ /g, "");
    name = name.replace(/{/g, "");
    name = name.replace(/}/g, "");
    name = name.replace(/-/g, "");
    name = name.replace(/\./g, "");
    name = name.replace(/:/g, "");
    
    var w = window.open(url, name, winParam);
    if (window.focus && w!=null) { w.focus() }
}

function ShowDashboard() {
    ShowContent("/Content/DefaultDashboard.htm","My Dashboard");
}

function ShowContent(url, t, c) {
    var po_desktop_content = $("#po_desktop_content");
    if (po_desktop_content.length == 0) {
        po_desktop_content = $(document.createElement("div"));
         $("form").append(po_desktop_content);
     }

    po_desktop_content.attr("id", "po_desktop_content");
    
    if (url != null) {
        $.get(url, function(c) {
            ShowContent(null, t, c);
        });
    }
    var w = $(window).width() - 20;
    var h = $(window).height() - 60;
    if (c != null && c != undefined) $("#po_desktop_content").html(c);
    
    if (t == null) t = '';
    $("#po_desktop_content").dialog("destroy");
    
    $("#po_desktop_content").dialog({
    bgiframe: true, autoOpen: true, closeOnEscape: false, width: w, height: h,
        position: [5, 5], resizable: false, draggable: false, buttons: {},
        title: t});
        AdjustContentDialog();
}

function AdjustContentDialog() {
    var ddlg = $("#po_desktop_content");
    if (ddlg.length > 0) {
        var w = $(window).width() - 20;
        var h = $(window).height() - 60;
        ddlg.dialog('option', 'height', h);
        ddlg.dialog('option', 'width', w);

        if (ddlg.children(":first").length > 0 && ddlg.children(":first").tagName().toLowerCase() == "iframe") {
            ddlg.children(":first").height(h - 50);
        };
    }
}

jQuery.fn.outerHTML = function() {
    return $('<div>').append(this.eq(0).clone()).html();
};

function QuickWindow(ename, edisplay, iid, w, h, param) {
    if (param == null || param == undefined) param = "";
    if (iid == null) iid = "";
    if (w == null) w = Max($(window).width() / 2, 700);
    if (h == null) h = Max($(window).height() - 90, 380);
    var winid = "win_po_quick_" + ename + "_" + iid;
    ShowWindow(winid, "/Form.aspx?dlgid=dlg" + winid + "&ename=" + ename + "&iid=" + iid + "&notab=true&tabscroll=false&" + param, "<img src='Images/EntityIcons/ico_" + ename + ".gif' align='left' style='margin-right:5px;'></img>New " + edisplay, { "Save & Close": function() { SaveRecordFromQuickCreate(winid, true); }, Save: function() {SaveRecordFromQuickCreate(winid, false); } }, Max(w, 600), Max(h, 400), null, null, true);
}

function DesktopWindow(name, title, url, winParam) {
    var w = $(window).width() - 20;
    var h = $(window).height() - 60
    if (winParam == null || winParam == undefined) {
        winParam = "menubar=0, location=0, resizable=1, status=0, width=" + w + ", height=" + h;
    }
    if ($("#_inlinelistwindow").val() != "true") {
        var w = window.open(url, name, winParam);
        if (window.focus && w != null) {
            w.focus();
        }
    }
    else {
        if ($("#dlg" + name).length == 0 && $("#po_startbtn").length > 0) {
            $("#po_startbtn").parent().parent().parent().parent().append("<div style='float:left;' id='po_bar_btn_dlg" + name + "'><div class='po-bar-btn-l'><div class='po-bar-btn-r'><div class='po-bar-btn-c po-bar-btn-win' onclick=\"DesktopWindow('" + name + "','" + title + "','" + url + "');\">" + title + "</div></div></div></div>");
        }
        ShowWindow(name, url, title, null, w, h, 5, 5);
    }
}


function ListWindow(ename, edisplay, winParam) {
    var w = $(window).width() - 20;
    var h = $(window).height() - 60
    if (winParam == null || winParam == undefined) {
        winParam = "menubar=0, location=0, resizable=1, status=0, width=" + w + ", height=" + h;
    }
    var name = "win_po_" + ename;
    var url = "/List.aspx?ename=" + ename;

    if ($("#_inlinelistwindow").val() != "true") {

        var w = window.open(url, name, winParam);
        if (window.focus && w != null) {
            w.focus();
        }
    }
    else {
        var title = "<img class='po-win-icon' src='Images/EntityIcons/ico_" + ename + ".gif' align='left' style='margin-right:5px;'></img>" + edisplay;
        if ($("#dlg" + name).length == 0 && $("#po_startbtn").length>0) {
            $("#po_startbtn").parent().parent().parent().parent().append("<div style='float:left;' id='po_bar_btn_dlg" + name + "'><div class='po-bar-btn-l'><div class='po-bar-btn-r'><div class='po-bar-btn-c po-bar-btn-win' onclick=\"ListWindow('" + ename + "','" + edisplay + "','" + winParam + "');\">" + title + "</div></div></div></div>");
        }
        ShowWindow(name, url, title, null, w, h, 5, 5);
    }
}


function SaveRecordFromQuickCreate(winid, close) {
    if (close == undefined || close == null) close = false;
    if (!close) {
        $("#ifadlg" + winid)[0].contentWindow.SaveRecord();
    }
    else {
        $("#ifadlg" + winid)[0].contentWindow.SaveRecord(null, function(id,winid) { CloseParentDialog(winid); });
    }
}

function CloseParentDialog(dlgid) {
    window.parent.window.HideDialogById(dlgid);
}

function Max(a,b,top) {
    var v = a;
    if (a < b) v = b;
    if (v > top) v = top;
    return v;
}

function Min(a, b, bottom) {
    var v = a;
    if (a > b) v = b;
    if (v < bottom) v = bottom;
    return v;
}

function SubmitMicroBlogItem() {
    var blogIds = $("#po_wp_MicroBlog_Blogs").contents().find('#_iids').val();
    var content = $("#po_wp_MicroBlog_Content").val();
    var command = BusinessCommand("SubmitMicroBlogItem", "Blog", "CreateMicroBlogItem", "void", true);
    AddCommandParameter(command, "blogIds", "System.String", blogIds);
    AddCommandParameter(command, "content", "System.String", content);
    ExecuteCommand(command, OnSubmitMicroBlogItem, OnError);
}

function OnSubmitMicroBlogItem(v) {
    ShowMessageDialog("DoneDlg", MSG_NEWMICROBLOG_SUCCESS_TITLE, MSG_NEWMICROBLOG_SUCCESS, 300, 200);
}

$.fn.tagName = function() {
    var name = "";
    if (this.get(0) != undefined) name = this.get(0).tagName;
    return name;
}

function GetParentTABLE(o) {
    if (o.length != 0) {
        o = o.parent();
        while (o.length > 0) {
            if (o.tagName().toLowerCase() == "table") {
                return o;
            }
            else {
                o = o.parent();
            }
        }
    }
    return null;
}

function GetParentTR(o) {
    while (o.length > 0) {
        if (o.tagName().toLowerCase() == "tr") {
            return o;
        }
        else {
            o = o.parent();
        }
    }
    return null;
}

function GetParentTD(o) {
    while (o.length > 0) {
        if (o.tagName().toLowerCase() == "td") {
            return o;
        }
        else {
            o = o.parent();
        }
    }
    return null;
}

var _GUID_EMPTY = "00000000-0000-0000-0000-000000000000";

function GetDTString(dt, sp, incltime, ymd) {
    if (ymd == null || ymd == undefined) ymd = false;
    if (incltime == null || incltime == undefined) incltime = true;
    if (sp == null || sp == undefined) sp = "/";
    var mon = dt.getMonth() + 1;
    if (mon < 10) mon = "0" + mon;
    var d = dt.getDate();
    if (d < 10) d = "0" + d;
    var h = dt.getHours();
    if (h < 10) h = "0" + h;
    var m = dt.getMinutes();
    if (m < 10) m = "0" + m;
    var s = dt.getSeconds();
    if (s < 10) s = "0" + s;
    if (incltime)
        if (!ymd)
            return mon + sp + d + sp + dt.getFullYear() + " " + h + ":" + m + ":" + s;
        else
            return dt.getFullYear() + sp + mon + sp + d + " " + h + ":" + m + ":" + s;
    else
        if (!ymd)
            return mon + sp + d + sp + dt.getFullYear();
        else
            return dt.getFullYear() + sp + mon + sp + d;
   
}

jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options = $.extend({}, options); // clone object since it's unexpected behavior if the expired property were changed
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // NOTE Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

var _sidebar_scrolling = false;
function AdjustDesktopSideBar(c) {
    if (!_sidebar_scrolling) {
        var sidebar = $("#po_desktop_sidebar");
        if (sidebar.length == 0) {
            sidebar = $(document.createElement("div"));
            sidebar.attr("style", "width:250px; position:absolute; top:40px; background:url(Images/DesktopSideBarBG.png);").attr("id", "po_desktop_sidebar");
            sidebar.html("<div style='width:2px; float:left; background: url(Images/DesktopSideBarVHR.png);' id='po_desktop_sidebar_vhr'></div><div style='float:left;padding-left:5px;margin-top:3px; padding-right:5px;overflow:hidden; overflow-y:auto;' id='po_desktop_sidebar_c'></div>");
            $("form").append(sidebar);
        }

        var sidebarc = $("#po_desktop_sidebar_c");
        if (c != null && c != undefined) sidebarc.html(c);
        
        var h = $(window).height() - 80;
        sidebar.height(h);
        var sideleft = $(window).width() - sidebar.width();
        sidebar.css("left",sideleft);
        $("#po_welcome").css("left", sideleft);
        $("#po_welcome_hr").css("left",sideleft);
        $("#po_welcome").css("visibility", "visible");
        $("#po_welcome_hr").css("visibility", "visible");
        sidebar.children(":first").height(h).next().height(h - 5);
        sidebar.children(":eq(1)").width(sidebar.width() - 13);
    }
}

jQuery.fn.setCursorPosition = function(pos) {
    try {
        if ($(this).get(0).setSelectionRange) {
            $(this).get(0).setSelectionRange(pos, pos);
        } else if ($(this).get(0).createTextRange) {
            var range = $(this).get(0).createTextRange();
            range.collapse(true);
            range.moveEnd('character', pos);
            range.moveStart('character', pos);
            range.select();
        }
    } catch (e) { };
}

jQuery.fn.setCursorToEnd = function() {
    if ($(this).length > 0) {
        $(this).setCursorPosition($(this).val().length);
    }
}

function GetQueryStringValue(win, key) {
    var l = win.location + "";
    var idx = l.indexOf("?");
    var baseUrl = l;
    if (idx > 0) baseUrl = baseUrl.substring(0, idx);
    var query = l.replace(baseUrl, "").replace("?", "");
    var vars = query.split("&");
    query = "";
    var newP = true;
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0].toLowerCase() == key.toLowerCase()) {
            return pair[1];
        }
    }

    return null;
}

function RemoveQueryStringVariable(win, key) {
    var l = "";
    if (win.location == null || win.location == undefined) {
        l = win;
    }
    else {
        l = win.location + "";
    }
    var idx = l.indexOf("?");
    var baseUrl = l;
    if (idx > 0) baseUrl = baseUrl.substring(0, idx);
    var query = l.replace(baseUrl, "").replace("?", "");
    var vars = query.split("&");
    query = "";
    var newP = true;
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0].toLowerCase() != key.toLowerCase()) {
            if (query == "")
                query = vars[i];
            else
                query = query + "&" + vars[i];
        }
    }
    
    return baseUrl + "?" + query;
}

function SetQueryString(win, key, value) {
    var l = "";
    if (win.location == null || win.location == undefined) {
        l = win;
    }
    else {
        l = win.location + "";
    }
    var idx = l.indexOf("?");
    var baseUrl = l;
    if (idx>0)  baseUrl = baseUrl.substring(0,idx);
    var query = l.replace(baseUrl, "").replace("?", "");
    var vars = query.split("&");
    query = "";
    var newP = true;
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        var p = vars[i];
        if (pair[0] == key) {
            p = pair[0] + "=" + value;
            newP = false;
        }
        if (query == "") {
            query = p;
        }
        else {
            query = query + "&" + p;
        }
    }
    if (newP) 
    {
        if (query == "") query = key + "=" + value; else query = query + "&" + key + "=" + value;
    }
    return baseUrl + "?" + query;
}

function SetCurControlId(cid) {
    if ($("#_curcid").length == 0) {
        $("form").append("<input id='_curcid' type='hidden' value=''/>");
    }
    
    $("#_curcid").val(cid);
}

function GetCurControlId(cid) {
    if ($("#_curcid").length == 0) {
        return "";
    }
    else {
        return $("#_curcid").val();
    }
}

function RgbToHex(r, g, b) {
    return "#" + IntToHex(r) + IntToHex(g) + IntToHex(b);
};
function IntToHexColor(intColor) {
    if (!intColor) return null;
    intColor = intColor.toString(16).toUpperCase();
    while (intColor.length < 6) intColor = "0" + intColor;
    return "#" + intColor.substring(4, 6) + intColor.substring(2, 4) + intColor.substring(0, 2);
};
function RgbStringToHex(rgbString) {
    var r, g, b;
    rgbString = rgbString.toString().toLowerCase();
    if (rgbString.indexOf("rgb(") == -1 || rgbString.indexOf(")") == -1) return rgbString;

    rgbString = rgbString.substring(rgbString.indexOf("(") + 1, rgbString.indexOf(")") - 1);
    rgb = rgbString.split(',');
    r = rgb[0];
    g = rgb[1];
    if (rgb.length == 2) b = rbg[2]; else b = 0;
    return RgbToHex(r, g, b);
};
function IntToHex(dec) {
    var result = (parseInt(dec).toString(16));
    if (result.length == 1)
        result = ("0" + result);
    return result.toUpperCase();
};

function UpdatePrimaryEmailAccount() {
    var command = GenericAPICommand("GetEmailAccountId", "Retrieve", "System.String");
    AddCommandParameter(command, "entityName", "System.String", "SystemUser");
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_userid").val());
    AddCommandParameter(command, "attributesXml", "System.String", "<Attributes><Attribute Name='PrimaryEmailAccountId'/></Attributes>");
    ExecuteCommand(command, OnGetEmailAccountId, OnError);
}

function OnGetEmailAccountId(xml) {
    var xmlDoc = CreateXmlDoc(xml);
    var xmlElem = GetXmlElement(xmlDoc, "PrimaryEmailAccountId");
    if (xmlElem == null) {
        QuickWindow("EmailAccount", "My Email Account", null, null, null, "rename=SystemUser&laname=OwnerId&riid=" + $("#_userid").val());
    }
    else {
        QuickWindow("EmailAccount", "My Email Account", GetXmlElementText(xmlDoc, "PrimaryEmailAccountId"));
    }
}

function CopyToClipboard(v,msg) {
    if (window.clipboardData) {
        window.clipboardData.setData("Text", v);
    }
    alert(msg);
}

(function() {
    var fieldSelection = {
        getSelection: function() {
            var e = this.jquery ? this[0] : this;
            return (
            /* mozilla / dom 3.0 */
				('selectionStart' in e && function() {
				    var l = e.selectionEnd - e.selectionStart;
				    return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) };
				}) ||
            /* exploder */
				(document.selection && function() {
				    e.focus();
				    var r = document.selection.createRange();
				    if (r == null) {
				        return { start: 0, end: e.value.length, length: 0 }
				    }
				    var re = e.createTextRange();
				    var rc = re.duplicate();
				    re.moveToBookmark(r.getBookmark());
				    rc.setEndPoint('EndToStart', re);
				    return { start: rc.text.length, end: rc.text.length + r.text.length, length: r.text.length, text: r.text };
				}) ||
                /* browser not supported */
				function() {
				    return { start: 0, end: e.value.length, length: 0 };
				}
			)();
        },
        replaceSelection: function() {
            var e = this.jquery ? this[0] : this;
            var text = arguments[0] || '';
            return (
                /* mozilla / dom 3.0 */
				('selectionStart' in e && function() {
				    e.value = e.value.substr(0, e.selectionStart) + text + e.value.substr(e.selectionEnd, e.value.length);
				    return this;
				}) ||
                /* exploder */
				(document.selection && function() {
				    e.focus();
				    document.selection.createRange().text = text;
				    return this;
				}) ||
                /* browser not supported */
				function() {
				    e.value += text;
				    return this;
				}
			)();
        }
    };
    jQuery.each(fieldSelection, function(i) { jQuery.fn[i] = this; });
})();

(function() {
    var special = jQuery.event.special,
        uid1 = 'D' + (+new Date()),
        uid2 = 'D' + (+new Date() + 1);
    special.scrollstart = {
        setup: function() {
            var timer,
                handler = function(evt) {
                    var _self = this,
                        _args = arguments;
                    if (timer) {
                        clearTimeout(timer);
                    } else {
                        evt.type = 'scrollstart';
                        jQuery.event.handle.apply(_self, _args);
                    }
                    timer = setTimeout(function() {
                        timer = null;
                    }, special.scrollstop.latency);
                };
            jQuery(this).bind('scroll', handler).data(uid1, handler);

        },
        teardown: function() {
            jQuery(this).unbind('scroll', jQuery(this).data(uid1));
        }
    };
    special.scrollstop = {
        latency: 300,
        setup: function() {
            var timer,
                    handler = function(evt) {
                        var _self = this,
                        _args = arguments;
                        if (timer) {
                            clearTimeout(timer);
                        }
                        timer = setTimeout(function() {

                            timer = null;
                            evt.type = 'scrollstop';
                            jQuery.event.handle.apply(_self, _args);

                        }, special.scrollstop.latency);
                    };
            jQuery(this).bind('scroll', handler).data(uid2, handler);
        },
        teardown: function() {
            jQuery(this).unbind('scroll', jQuery(this).data(uid2));
        }
    };
})();


jQuery.fn.highlight = function(pat) {
    function innerHighlight(node, pat) {
        var skip = 0;
        if (node.nodeType == 3) {
            var pos = node.data.toUpperCase().indexOf(pat);
            if (pos >= 0) {
                var spannode = document.createElement('span');
                spannode.className = 'highlight';
                var middlebit = node.splitText(pos);
                var endbit = middlebit.splitText(pat.length);
                var middleclone = middlebit.cloneNode(true);
                spannode.appendChild(middleclone);
                middlebit.parentNode.replaceChild(spannode, middlebit);
                skip = 1;
            }
        }
        else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
            for (var i = 0; i < node.childNodes.length; ++i) {
                i += innerHighlight(node.childNodes[i], pat);
            }
        }
        return skip;
    }
    return this.each(function() {
        innerHighlight(this, pat.toUpperCase());
    });
};

jQuery.fn.removeHighlight = function() {
    return this.find("span.highlight").each(function() {
        this.parentNode.firstChild.nodeName;
        with (this.parentNode) {
            replaceChild(this.firstChild, this);
            normalize();
        }
    }).end();
};

function RenderInlineMessage(id, msg, w, h) {
    if (id == null || id == undefined) id = Guid();
    if (w != null && w != undefined) w = "width:" + w + ";"; else w = "";
    if (h != null && h != undefined) h = "height:" + h + ";"; else h = "";
    return "<div id='" + id + "' style='" + h +  w + ";padding-left:3px;padding-right:3px;' class='po-highlightbox ui-widget ui-widget-content ui-state-highlight ui-corner-all'>" + msg + "</div>"
}

function RenderPDFFromURL(podomain, url) {
    var pdfURL = "http://" + podomain + "/PDF.aspx";
    var urlps = url.split('?');
    var pagepath = url;
    var pageparam = null;
    if (urlps.length > 1) {
        pagepath = urlps[0];
        pageparam = urlps[1];
    }
    pagepath = "weburl=" + pagepath.replace(":", "%3a").replace(/\//g, "%2f");
    if (pageparam != null) pagepath = pagepath + "&" + pageparam;

    window.open("http://" + podomain + "/pdf.aspx?" + pagepath);
}

function RenderPDFForCurPage(podomain) {
    RenderPDFFromURL(podomain, window.location);
}


function GetProgressingContent(msg) {
    return "<table cellspace='3' cellpadding='0' border='0' style='width:300px;'><tr><td style='width:32px;'><img src='/Images/Progressing.gif' align='left'/></td><td style='width:250px;color:green;font-size:12px;'>" + msg + " ...</td></tr></table>";
}

jQuery.download = function(url, data, method) {
    //url and data options required
    if (url && data) {
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : jQuery.param(data);
        //split params into form inputs
        var inputs = '';
        jQuery.each(data.split('&'), function() {
            var pair = this.split('=');
            inputs += '<input type="hidden" name="' + pair[0] + '" value="' + pair[1] + '" />';
        });
        //send request
        jQuery('<form action="' + url + '" method="' + (method || 'post') + '">' + inputs + '</form>')
		.appendTo('body').submit().remove();
    };
};

var _chkPPassFunc = null;
var _chkPFailFunc = null;
function CheckPrivilege(ename, iid, ptype, passFunc, failFunc) {
    _chkPPassFunc = passFunc;
    _chkPFailFunc = failFunc;
    var command = PlatformCommand("CheckPrivilege", "Context", "CheckPrivilege", "System.Boolean");
    AddCommandParameter(command, "entityName", "System.String", ename);
    if (iid!=null && iid!=undefined)
    {
        AddCommandParameter(command, "instanceId", "System.Guid", iid);
    }
    AddCommandParameter(command, "privilegeType", "System.Int32", ptype);
    ExecuteCommand(command, OnCheckPrivilege, OnError);
}

function OnCheckPrivilege(v) {
    if (v.toLowerCase()=="true") {
        if (jQuery.isFunction(_chkPPassFunc)) _chkPPassFunc();
    }
    else {
        if (jQuery.isFunction(_chkPFailFunc)) _chkPFailFunc();
    }

    _chkPFailFunc = null;
    _chkPPassFunc = null;
}

function AllowGuest() {
    if ($("#_allowguest").length == 0) {
        return false;
    }
    else {
        return $("#_allowguest").val().toLowerCase() == "true";
    }
}

function ShowOPNotAvailableDialog() {
    ShowMessageDialog("WarningDlg", MSG_WARNING_OPNOTAVAILABLE, MSG_OPNOTAVAILABLE, 350, 200);
}

function PrintPage() {
    PrintLink(" " + window.location);
}

function PrintLink(url) {
    url = GetPrintURL(url);
    $.download(url.split('?')[0], url.split('?')[1], 'GET');
}

function GetPrintURL(url) {
    var idx = url.indexOf("//");
    var http = url.substring(0, idx - 1).replace(" ", "");
    var port = "80";
    url = url.substring(idx + 2);
    idx = url.indexOf("/");
    var ds = url.substring(0, url.indexOf("/")).split(":");
    var domain = ds[0];
    if (ds.length > 1) port = ds[1];
    url = url.substring(idx + 1);
    url = "/pdf/" + http + "/" + domain + "/" + port + "/" + url;
    if (url.indexOf("?") > 0)
        url = url + "&pdf=true&session=" + $("#_session").val();
    else
        url = url + "?pdf=true&session=" + $("#_session").val();
    return url;
}

var _chkUserTrueFunc = null;
var _chkUserFalseFunc = null;

function CheckUserOrGuest(chkUserTrueFunc, chkUserFalseFunc, orgId, noGuest) {
    if (chkUserTrueFunc == null) {
        alert("please provide a function for handling checking result.");
        return;
    }
    else {
        _chkUserTrueFunc = chkUserTrueFunc
    }
    if (chkUserFalseFunc == null)
        _chkUserFalseFunc = function() { OnError(MSG_SESSIONEXPIRED); };
    else
        _chkUserFalseFunc = chkUserFalseFunc;
        
    if ((orgId == null || orgId == undefined) && $("#_orgid").length>0) {
        orgId = $("#_orgid").val();
    }
    else {
        orgId = C_EMPTYGUID;
    }
    if (noGuest == null || noGuest == undefined) {
        noGuest = true;
    }

    var command = PlatformCommand("CheckUserOrGuest", "Context", "CheckUserOrGuest", "System.Guid");
    AddCommandParameter(command, "orgId", "System.Guid", orgId);
    AddCommandParameter(command, "noGuest", "System.Boolean", noGuest);
    AddCommandParameter(command, "validSession", "System.Boolean", true);
    ExecuteCommand(command, OnCheckUserOrGuest, OnError);
}

function OnCheckUserOrGuest(iid) {
    if (iid.indexOf("000000") > 0) {
        _chkUserFalseFunc();
    }
    else {
        _chkUserTrueFunc();
    }
}


function ExpandShrinkRptContent(icon) {
    var o = GetParentTR(icon);
    var idx = parseInt(o.attr("idx"));

    o = o.next();
    var isShrink = true;
    var src = icon.attr("src").toLowerCase();
    if (src.indexOf("shrink") < 0) {
        icon.attr("src", src.replace("expand", "shrink"));
        isShrink = false;
    }
    else {
        icon.attr("src", src.replace("shrink", "expand"));
    }
    var grpend = false;
    while (o.length > 0 && !grpend) {
        var oidx = o.attr("idx");
        if (oidx != null && oidx != undefined && oidx != "" && parseInt(oidx) >= idx) {
            if (parseInt(oidx) == idx + 1 || parseInt(oidx) == idx) {
                if (isShrink) {
                    if (parseInt(oidx) == idx + 1) o.hide();
                    $(".po-rpt-esicon", o).each(function() {
                        $(this).attr("src", $(this).attr("src").toLowerCase().replace("shrin", "expandk"));
                    });
                }
                else {
                    o.show();
                    $(".po-rpt-esicon", o).each(function() {
                        $(this).attr("src", $(this).attr("src").toLowerCase().replace("expand", "shrink"));
                    });
                }
            }
            else {
                o.hide();
            }
        }
        o = o.next();
        if ($(".po-rpt-seicon", o).length > 0 && parseInt(o.attr("idx")) == idx) grpend = true;
    }
}

function GetParentTab(o) {
    var p = o;
    while (!p.hasClass("ui-tabs-panel") && p.length > 0) {
        p = p.parent();
    }
    return p;
}
/*PrimeObjects Changes*/
/*Add po- prefix before ui-state-active, this avoid the hightlight of the picklist in the form*/

(function($) {
    $.widget("ui.selectmenu", {
        _init: function() {
            var self = this, o = this.options;

            //quick array of button and menu id's
            var num = Math.round(Math.random() * 1000);
            this.ids = [this.element.attr('id') + '_' + 'button' + '_' + num, this.element.attr('id') + '_' + 'menu' + '_' + num];

            //define safe mouseup for future toggling
            this._safemouseup = true;

            //create menu button wrapper
            this.newelement = $('<a class="' + this.widgetBaseClass + ' ui-widget ui-state-default ui-corner-all" id="' + this.ids[0] + '" role="button" href="#" aria-haspopup="true" aria-owns="' + this.ids[1] + '" aria-expanded="false"></a>')
			.insertAfter(this.element);

            //transfer tabindex
            var tabindex = this.element.attr('tabindex') || '0';
            this.newelement.attr('tabindex', tabindex);

            //save reference to select in data for ease in calling methods
            this.newelement.data('selectelement', this.element);

            //menu icon
            this.selectmenuIcon = $('<span class="' + this.widgetBaseClass + '-icon ui-icon"></span>')
			.prependTo(this.newelement)
			.addClass((o.style == "popup") ? 'ui-icon-triangle-2-n-s' : 'ui-icon-triangle-1-s');


            //make associated form label trigger focus
            $('label[for=' + this.element.attr('id') + ']')
			.attr('for', this.ids[0])
			.bind('click', function() {
			    self.newelement.focus();
			    return false;
			});

            //click toggle for menu visibility
            this.newelement
			.bind('mousedown', function(event) {
			    self._toggle(event);
			    //make sure a click won't open/close instantly
			    if (o.style == "popup") {
			        self._safemouseup = false;
			        setTimeout(function() { self._safemouseup = true; }, 300);
			    }
			    return false;
			})
			.bind('click', function() {
			    return false;
			})
			.keydown(function(event) {
			    var ret = true;
			    switch (event.keyCode) {
			        case $.ui.keyCode.ENTER:
			            ret = true;
			            break;
			        case $.ui.keyCode.SPACE:
			            ret = false;
			            self._toggle(event);
			            break;
			        case $.ui.keyCode.UP:
			        case $.ui.keyCode.LEFT:
			            ret = false;
			            self._moveSelection(-1);
			            break;
			        case $.ui.keyCode.DOWN:
			        case $.ui.keyCode.RIGHT:
			            ret = false;
			            self._moveSelection(1);
			            break;
			        case $.ui.keyCode.TAB:
			            ret = true;
			            break;
			        default:
			            ret = false;
			            self._typeAhead(event.keyCode, 'mouseup');
			            break;
			    }
			    return ret;
			})
			.bind('mouseover focus', function() {
			    //$(this).addClass(self.widgetBaseClass + '-focus ui-state-hover'); //PrimeObjects Comment Out//
			})
			.bind('mouseout blur', function() {
			    $(this).removeClass(self.widgetBaseClass + '-focus ui-state-hover');
			});

            //document click closes menu
            $(document)
			.mousedown(function(event) {
			    self.close(event);
			});

            //change event on original selectmenu
            this.element
			.click(function() { this._refreshValue(); })
			.focus(function() { this.newelement.focus(); });

            //create menu portion, append to body
            var cornerClass = (o.style == "dropdown") ? " ui-corner-bottom" : " ui-corner-all"
            this.list = $('<ul class="' + self.widgetBaseClass + '-menu ui-widget ui-widget-content' + cornerClass + '" aria-hidden="true" role="listbox" aria-multiselectable="false" aria-labelledby="' + this.ids[0] + '" id="' + this.ids[1] + '"></ul>').appendTo('body');

            //serialize selectmenu element options	
            var selectOptionData = [];
            this.element
			.find('option')
			.each(function() {
			    selectOptionData.push({
			        value: $(this).attr('value'),
			        text: self._formatText(jQuery(this).text()),
			        selected: $(this).attr('selected'),
			        classes: $(this).attr('class'),
			        parentOptGroup: $(this).parent('optgroup').attr('label')
			    });
			});

            //active state class is only used in popup style
            var activeClass = (self.options.style == "popup") ? " po-ui-state-active" : "";

            //write li's
            for (var i in selectOptionData) {
                var thisLi = $('<li><a href="#" tabindex="-1" role="option" aria-selected="false">' + selectOptionData[i].text + '</a></li>')
				.data('index', i)
				.addClass(selectOptionData[i].classes)
				.data('optionClasses', selectOptionData[i].classes)
				.mouseup(function(event) {
				    if (self._safemouseup) {
				        var changed = $(this).data('index') != self._selectedIndex();
				        self.value($(this).data('index'));
				        self.select(event);
				        if (changed) { self.change(event); }
				        self.close(event, true);
				    }
				    return false;
				})
				.click(function() {
				    return false;
				})
				.bind('mouseover focus', function() {
				    self._selectedOptionLi().addClass(activeClass);
				    self._focusedOptionLi().removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');
				    $(this).removeClass('po-ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover');
				})
				.bind('mouseout blur', function() {
				    if ($(this).is(self._selectedOptionLi())) { $(this).addClass(activeClass); }
				    $(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');
				});

                //optgroup or not...
                if (selectOptionData[i].parentOptGroup) {
                    var optGroupName = self.widgetBaseClass + '-group-' + selectOptionData[i].parentOptGroup;
                    if (this.list.find('li.' + optGroupName).size()) {
                        this.list.find('li.' + optGroupName + ':last ul').append(thisLi);
                    }
                    else {
                        $('<li class="' + self.widgetBaseClass + '-group ' + optGroupName + '"><span class="' + self.widgetBaseClass + '-group-label">' + selectOptionData[i].parentOptGroup + '</span><ul></ul></li>')
						.appendTo(this.list)
						.find('ul')
						.append(thisLi);
                    }
                }
                else {
                    thisLi.appendTo(this.list);
                }

                //this allows for using the scrollbar in an overflowed list
                this.list.bind('mousedown mouseup', function() { return false; });

                //append icon if option is specified
                if (o.icons) {
                    for (var j in o.icons) {
                        if (thisLi.is(o.icons[j].find)) {
                            thisLi
							.data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon')
							.addClass(self.widgetBaseClass + '-hasIcon');
                            var iconClass = o.icons[j].icon || "";

                            thisLi
							.find('a:eq(0)')
							.prepend('<span class="' + self.widgetBaseClass + '-item-icon ui-icon ' + iconClass + '"></span>');
                        }
                    }
                }
            }

            //add corners to top and bottom menu items
            this.list.find('li:last').addClass("ui-corner-bottom");
            if (o.style == 'popup') { this.list.find('li:first').addClass("ui-corner-top"); }

            //transfer classes to selectmenu and list
            if (o.transferClasses) {
                var transferClasses = this.element.attr('class') || '';
                this.newelement.add(this.list).addClass(transferClasses);
            }

            //original selectmenu width
            var selectWidth = this.element.width();
           
            //set menu button width
            this.newelement.width((o.width) ? o.width : selectWidth);

            //set menu width to either menuWidth option value, width option value, or select width 
            if (o.style == 'dropdown') { this.list.width((o.menuWidth) ? o.menuWidth : ((o.width) ? o.width : selectWidth)); }
            else { this.list.width((o.menuWidth) ? o.menuWidth : ((o.width) ? o.width - o.handleWidth : selectWidth - o.handleWidth)); }

            //set max height from option 
            if (o.maxHeight && o.maxHeight < this.list.height()) { this.list.height(o.maxHeight); }

            //save reference to actionable li's (not group label li's)
            this._optionLis = this.list.find('li:not(.' + self.widgetBaseClass + '-group)');

            //transfer menu click to menu button
            this.list
			.keydown(function(event) {
			    var ret = true;
			    switch (event.keyCode) {
			        case $.ui.keyCode.UP:
			        case $.ui.keyCode.LEFT:
			            ret = false;
			            self._moveFocus(-1);
			            break;
			        case $.ui.keyCode.DOWN:
			        case $.ui.keyCode.RIGHT:
			            ret = false;
			            self._moveFocus(1);
			            break;
			        case $.ui.keyCode.HOME:
			            ret = false;
			            self._moveFocus(':first');
			            break;
			        case $.ui.keyCode.PAGE_UP:
			            ret = false;
			            self._scrollPage('up');
			            break;
			        case $.ui.keyCode.PAGE_DOWN:
			            ret = false;
			            self._scrollPage('down');
			            break;
			        case $.ui.keyCode.END:
			            ret = false;
			            self._moveFocus(':last');
			            break;
			        case $.ui.keyCode.ENTER:
			        case $.ui.keyCode.SPACE:
			            ret = false;
			            self.close(event, true);
			            $(event.target).parents('li:eq(0)').trigger('mouseup');
			            break;
			        case $.ui.keyCode.TAB:
			            ret = true;
			            self.close(event);
			            break;
			        case $.ui.keyCode.ESCAPE:
			            ret = false;
			            self.close(event, true);
			            break;
			        default:
			            ret = false;
			            self._typeAhead(event.keyCode, 'focus');
			            break;
			    }
			    return ret;
			});

            //selectmenu style
            if (o.style == 'dropdown') {
                this.newelement
				.addClass(self.widgetBaseClass + "-dropdown");
                this.list
				.addClass(self.widgetBaseClass + "-menu-dropdown");
            }
            else {
                this.newelement
				.addClass(self.widgetBaseClass + "-popup");
                this.list
				.addClass(self.widgetBaseClass + "-menu-popup");
            }

            //append status span to button
            this.newelement.prepend('<span class="' + self.widgetBaseClass + '-status">' + selectOptionData[this._selectedIndex()].text + '</span>');

            //hide original selectmenu element
            this.element.hide();

            //transfer disabled state
            if (this.element.attr('disabled') == true) { this.disable(); }

            //update value
            this.value(this._selectedIndex());
        },
        destroy: function() {
            this.element.removeData(this.widgetName)
			.removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled')
			.removeAttr('aria-disabled');

            //unbind click on label, reset its for attr
            $('label[for=' + this.newelement.attr('id') + ']')
			.attr('for', this.element.attr('id'))
			.unbind('click');
            this.newelement.remove();
            this.list.remove();
            this.element.show();
        },
        _typeAhead: function(code, eventType) {
            var self = this;
            //define self._prevChar if needed
            if (!self._prevChar) { self._prevChar = ['', 0]; }
            var C = String.fromCharCode(code);
            c = C.toLowerCase();
            var focusFound = false;
            function focusOpt(elem, ind) {
                focusFound = true;
                $(elem).trigger(eventType);
                self._prevChar[1] = ind;
            };
            this.list.find('li a').each(function(i) {
                if (!focusFound) {
                    var thisText = $(this).text();
                    if (thisText.indexOf(C) == 0 || thisText.indexOf(c) == 0) {
                        if (self._prevChar[0] == C) {
                            if (self._prevChar[1] < i) { focusOpt(this, i); }
                        }
                        else { focusOpt(this, i); }
                    }
                }
            });
            this._prevChar[0] = C;
        },
        _uiHash: function() {
            return {
                value: this.value()
            };
        },
        open: function(event) {
            var self = this;
            this._refreshPosition();
            this._closeOthers(event);
            this.newelement
			.attr('aria-expanded', true)
			.addClass('po-ui-state-active');

            this.list
			.appendTo('body')
			.addClass(self.widgetBaseClass + '-open')
			.attr('aria-hidden', false)
			.find('li:not(.' + self.widgetBaseClass + '-group):eq(' + this._selectedIndex() + ') a').focus();
            if (this.options.style == "dropdown") { this.newelement.removeClass('ui-corner-all').addClass('ui-corner-top'); }
            this._refreshPosition();
            this._trigger("open", event, this._uiHash());
        },
        close: function(event, retainFocus) {
            if (this.newelement.is('.po-ui-state-active')) {
                this.newelement
				.attr('aria-expanded', false)
				.removeClass('po-ui-state-active');
                this.list
				.attr('aria-hidden', true)
				.removeClass(this.widgetBaseClass + '-open');
                if (this.options.style == "dropdown") { this.newelement.removeClass('ui-corner-top').addClass('ui-corner-all'); }
                //if (retainFocus) { this.newelement.focus(); } /*PrimeObject Changes*/
                this._trigger("close", event, this._uiHash());
            }
        },
        change: function(event) {
            this.element.trigger('change');
            this._trigger("change", event, this._uiHash());
        },
        select: function(event) {
            this._trigger("select", event, this._uiHash());
        },
        _closeOthers: function(event) {
            $('.' + this.widgetBaseClass + '.po-ui-state-active').not(this.newelement).each(function() {
                $(this).data('selectelement').selectmenu('close', event);
            });
            $('.' + this.widgetBaseClass + '.ui-state-hover').trigger('mouseout');
        },
        _toggle: function(event, retainFocus) {
            if (this.list.is('.' + this.widgetBaseClass + '-open')) { this.close(event, retainFocus); }
            else { this.open(event); }
        },
        _formatText: function(text) {
            return this.options.format ? this.options.format(text) : text;
        },
        _selectedIndex: function() {
            return this.element[0].selectedIndex;
        },
        _selectedOptionLi: function() {
            return this._optionLis.eq(this._selectedIndex());
        },
        _focusedOptionLi: function() {
            return this.list.find('.' + this.widgetBaseClass + '-item-focus');
        },
        _moveSelection: function(amt) {
            var currIndex = parseInt(this._selectedOptionLi().data('index'), 10);
            var newIndex = currIndex + amt;
            return this._optionLis.eq(newIndex).trigger('mouseup');
        },
        _moveFocus: function(amt) {
            if (!isNaN(amt)) {
                var currIndex = parseInt(this._focusedOptionLi().data('index'), 10);
                var newIndex = currIndex + amt;
            }
            else { var newIndex = parseInt(this._optionLis.filter(amt).data('index'), 10); }

            if (newIndex < 0) { newIndex = 0; }
            if (newIndex > this._optionLis.size() - 1) {
                newIndex = this._optionLis.size() - 1;
            }
            this._focusedOptionLi().find('a:eq(0)').blur();
            this._optionLis.eq(newIndex).find('a:eq(0)').focus();
        },
        _scrollPage: function(direction) {
            var numPerPage = Math.floor(this.list.outerHeight() / this.list.find('li:first').outerHeight());
            numPerPage = (direction == 'up') ? -numPerPage : numPerPage;
            this._moveFocus(numPerPage);
        },
        _setData: function(key, value) {
            this.options[key] = value;
            if (key == 'disabled') {
                this.element
				.add(this.newelement)
				.add(this.list)
					[value ? 'addClass' : 'removeClass'](
						this.widgetBaseClass + '-disabled' + ' ' +
						this.namespace + '-state-disabled')
					.attr("aria-disabled", value);
            }
        },
        value: function(newValue) {
            if (arguments.length) {
                this.element[0].selectedIndex = newValue;
                this._refreshValue();
                this._refreshPosition();
            }
            return this.element[0].selectedIndex;
        },
        _refreshValue: function() {
            var activeClass = (this.options.style == "popup") ? "po-ui-state-active" : "";
            //deselect previous
            this.list
			.find('.' + this.widgetBaseClass + '-item-selected')
			.removeClass(this.widgetBaseClass + "-item-selected" + activeClass)
			.find('a')
			.attr('aria-selected', 'false');
            //select new
            this._selectedOptionLi()
			.addClass(this.widgetBaseClass + "-item-selected" + activeClass)
			.find('a')
			.attr('aria-selected', 'true');
            //toggle any class brought in from option
            var currentOptionClasses = this.newelement.data('optionClasses') ? this.newelement.data('optionClasses') : "";
            var newOptionClasses = this._selectedOptionLi().data('optionClasses') ? this._selectedOptionLi().data('optionClasses') : "";
            this.newelement
			.removeClass(currentOptionClasses)
			.data('optionClasses', newOptionClasses)
			.addClass(newOptionClasses)
			.find('.' + this.widgetBaseClass + '-status')
			.html(
				this._selectedOptionLi()
					.find('a:eq(0)')
					.html()
			);
        },
        _refreshPosition: function() {
            //set left value
            this.list.css('left', this.newelement.offset().left);

            //set top value
            var menuTop = this.newelement.offset().top;
            var scrolledAmt = this.list[0].scrollTop;
            this.list.find('li:lt(' + this._selectedIndex() + ')').each(function() {
                scrolledAmt -= $(this).outerHeight();
            });

            if (this.newelement.is('.' + this.widgetBaseClass + '-popup')) {
                menuTop += scrolledAmt;
                this.list.css('top', menuTop);
            }
            else {
                menuTop += this.newelement.height();
                this.list.css('top', menuTop);
            }
        }
    });

    $.extend($.ui.selectmenu, {
        getter: "value",
        version: "@VERSION",
        eventPrefix: "selectmenu",
        defaults: {
            transferClasses: true,
            style: 'popup',
            width: null,
            menuWidth: null,
            handleWidth: 26,
            maxHeight: null,
            icons: null,
            format: null
        }
    });

})(jQuery);
function AdjustNav() {
    var navAdjust = 0;
    if ($("#_nonav").val() != "true") {
        $("#po_nav_container").height($("#po_tabs").height());
        $("#po_nav").accordion("resize");

    }
    else {
        $("#po_nav_hide").hide();
        $("#po_tabs").css("left", 5);
        navAdjust = 225;
    }

    return navAdjust;
}

function AdjustForm() {
    var d1 = new Date();
    var tabs = $("#po_tabs");
    if (tabs.length == 0) return;
   
    AdjustContentDialog(false);

    var navAdjust = AdjustNav();

    var formc = $(".po-form-content");

    if ($("#_noribbon").val() != "true") {
        $("#po_ribbon").width($(window).width() - 15);
        if ($("#_notab").val() != "true") {
            tabs.height($(window).height() - 90);
            formc.height($(window).height() - 160).css("padding-top", 0).css("padding-bottom", 0).css("padding-right", 0).css("padding-left", 5);
        }
        $("#po_admin").css("left", $(window).width() - 42).css("top", 85);
        $("#po_formlock").css("left", $(window).width() - 105).css("top", 85);
    }
    else {

        if ($("#_notab").val() != "true") {
            $("#po_admin").css("left", $(window).width() - 42).css("top", 10);
            $("#po_formlock").css("left", $(window).width() - 110).css("top", 10);
            tabs.height($(window).height() - 15)
            if (formc.length > 0) formc.height($(window).height() - 87).css("padding-top", 0).css("padding-bottom", 0).css("padding-right", 0).css("padding-left", 5);
        }
        else {
            tabs.height($(window).height() - 5);
            formc.css("overflow-y", "hidden");
        }
    }
    var navl = parseInt( $("#po_nav_hide").attr("pos"));
    if ($("#_iid").val() != "" && navl!=0) {
        if (navl > 100) {
            tabs.width($(window).width() + navAdjust - 210);
        }
        else {
           tabs.width($(window).width() - 40);
        }
    }
    else {
        tabs.css("width", $(window).width() - 15);
    }
    HideInlineLookup();
    AdjustiFrame();
    AdjustFormCells(true);
}


$(document).ready(function() {
    if ($("#_exception").val() != "") {
        OnError($("#_exception").val());
        return;
    }
    var tabs = $("#po_tabs");
    if (tabs.length == 0) return;
    var nav = $("#po_nav");
    tabs.css("visibility", "visible").hide();
    RenderNav();
    RenderRibbon();
    RenderFormContent();
    tabs.show();
    AdjustForm();
});



function RenderNav() {
    if ($("#_nonav").val() != "true") {
        if ($("#_iid").val() != "") {
            $("#po_nav").accordion('destroy');
             $('#po_nav').html("<h3><a href='#'>Loading ...</a></h3><div><p><img src='/Images/Progressing.gif'/></p></div>");
            $("#po_nav").accordion({ fillSpace: true, autoHeight: false });
            ShowNav();
            $.get("FormNav.aspx?ename=" + $("#_ename").val() + "&iid=" + $("#_iid").val() + "&customization=" + $("#_customization").val() + "&guid=" + Guid(), function(c) {
                $("#po_nav").accordion('destroy');
                $('#po_nav').html(c);
                $("#po_nav").accordion({ fillSpace: true, autoHeight: false });
                $(".ui-accordion-content").each(function() {
                    $(this).css("padding-left", 2);
                });
                ShowNav();
                if ($("#_hidenav").val() == "true") {
                    ShowHideNav();
                }
            });
        }
         else {
            HideNav();
        }
    }
    

//    if ($("#_nonav").val() != "true") {
//        if ($("#_iid").val() != "") {
//            $("#po_nav").accordion('destroy');
//            $('#po_nav').html("<h3><a href='#'>Loading ...</a></h3><div><p><img src='/Images/Progressing.gif'/></p></div>");
//            $("#po_nav").accordion({ fillSpace: true, autoHeight: false });
//            ShowNav();
//            $.get("FormNav.aspx?ename=" + $("#_ename").val() + "&iid=" + $("#_iid").val() + "&customization=" + $("#_customization").val() + "&guid=" + Guid(), function(c) {
//                $("#po_nav").accordion('destroy');
//                $('#po_nav').html(c);
//                $("#po_nav").accordion({ fillSpace: true, autoHeight: false });
//                $(".ui-accordion-content").each(function() {
//                    $(this).css("padding-left", 2);
//                });
//                ShowNav();
//            });
//         }
//        else {
//            HideNav();
//        }
//    }
}

function RenderAdminInfo() {
    if ($("#_iid").val() != "") {
        ShowWindow("AdminInfo", "Form.aspx?ename=" + $("#_ename").val() + "&iid=" + $("#_iid").val() + "&nonav=true&noribbon=true&admin=true", "System/Admin Information");
    }
    else {
        ShowMessageDialog("WarningDlg", MSG_WARNING_TITLE, MSG_ADMININFONOTREADY);
    }
}

function RenderRibbon() {
    if ($("#_noribbon").val() != "true") {
        $('#po_ribbon').html("<img src='/Images/Progressing.gif'/>");
        $("#po_ribbon").addClass("ui-state-default");
        $.get("FormRibbon.aspx?ename=" + $("#_ename").val() + "&iid=" + $("#_iid").val(), function(c) {
            $('#po_ribbon').html(c);
        });
   }
    else {
        $('#po_ribbon').hide();
        $("#po_tabs").css("top", 5);
        $("#po_nav_container").css("top", 0);
        $("#po_nav_hide").css("top", 15);
    }
}

function RenderFormContent(v) {
    var po_tabs = $("#po_tabs");
    document.title = $("#po_formtitle").val();
    if ($("#_notab").val() != "true") {
        po_tabs.tabs({
            load: function(event,ui)
            {
                AdjustiFrame($("li:eq(" + ui.index + ")", $(event.target)));
            },
            show: function(event, ui) {
                AdjustiFrame($("li:eq(" + ui.index + ")", $(event.target)));
                AdjustFormCells(false);
                $("iframe", $(event.target)).each(function() {
                    try {
                       $($(this)[0].contentWindow).trigger("resize");
                    } catch (e) { }
                });

                HideInlineLookup();
            }
        });
       
       if ($("#_customization").val().toLowerCase() == "true") {
           po_tabs.find(".ui-tabs-nav").sortable({ axis: 'x' });
       }

       po_tabs.before($("#po_admin")).before($("#po_formlock"));
   }
   else {
        po_tabs.css("overflow", "auto");
        $("ul", po_tabs).remove();
   }

   
    
    $(".po-form-content").css("overflow-y", "auto");
    $(".po-form-section-on").css("background", "url(/CSS/Themes/" + $("#_theme").val() + "/images/po-form-section.gif)");
    $(".po-lookup-icon", po_tabs).live("click", function(event) {
        var tr = GetParentTR($(event.target));
        var td = GetParentTD($(event.target));
        var ename = "";
        var iid = "";
        if ($(".po-v", td).length > 1) {
            iid = $(".po-v:first", td).val();
            ename = $(".po-v:last", td).val();
        }
        if ($(".po-v", td).length == 1) {
            iid = $(event.target).attr("iid");
            ename = $(event.target).attr("ename");
        }
        if (ename != "" && iid != "") RenderInlineEdit(tr, ename, iid);
    });
    InitFormElements();
    if (IsNew()) {
        $(".po-htmleditor").each(function() {
            if (($(this).parent().parent().parent().parent().next().children(":first").attr("onclick") + " ").indexOf("ShowHTMLEditor") > 0) {
                $(this).parent().parent().parent().parent().next().children(":first").click();
            }
        });
    }

    POOnLoad();
    $("#_form").focus();
}

$(window).resize(function() {
    if ($("#_exception").val() != "") return;
    AdjustForm();
})


function RenderInlineEdit(tr, ename, iid) {
    var po_tabs = $("#po_tabs");
    if ($(".po-form-inlineedit", tr.next()).length > 0) {
        tr.next().remove();
    }
    var html = "<tr><td colspan='5'><div class='po-c-lt'><div class='po-c-rt'><div class='po-c-ct'></div></div></div><div class='po-c-l'><div class='po-c-r'><div class='po-c-c'>";
    html = html + "<iframe frameborder='0' class='po-form-inlineedit po-iframe' style='height:" + po_tabs.height() + "px;' src='/Form.aspx?noribbon=true&nonav=true&ename=" + ename + "&iid=" + iid + "'/>"
    html = html + "</div></div></div><div class='po-c-lb'><div class='po-c-rb'><div class='po-c-cb'></div></div></div></td><td style='vertical-align:top;'><div class='ui-state-default ui-corner-all po-form-btn' style='margin-bottom:2px;' onclick='SaveFormInlineRecord($(this));'><img alt='Save the inline record.' src='/Images/Buttons/Ribbon/Small_Save.gif'/></div><div class='ui-state-default ui-corner-all po-form-btn' style='margin-bottom:2px;' onclick='GetParentTR($(this)).remove();'><img alt='close the inline edit form.' src='/Images/Buttons/Form/Expand_Enabled.gif'/></div></td><td style='vertical-align:bottom;'></td></tr>";
    tr.after(html);
    $(".po-form-btn", tr.next()).width(22).hover(
            function() { $(this).removeClass('ui-state-default').addClass('ui-state-focus'); },
            function() { $(this).removeClass('ui-state-focus').addClass('ui-state-default'); });
    $(".po-c-c", tr.next()).resizable(
    {
        start: function(event, ui) {
            $("iframe", $(this)).hide();
        },
        resize: function(event, ui) {
            var ifra = $("iframe", $(this));
            ifra.height(ui.size.height);
            $(this).width(ui.originalSize.width);
        },
        stop: function(event, ui) {
            var ifra = $("iframe", $(this));
            ifra.height(ui.size.height);
            $(this).width(ui.originalSize.width);
            ifra.show();
        }
    });
}

function SaveFormInlineRecord(o) {
    var iframe = $(".po-form-inlineedit", GetParentTR(o));
    if (iframe.length > 0 && iframe[0].contentWindow!=null && jQuery.isFunction(iframe[0].contentWindow.SaveRecord)) {
        iframe[0].contentWindow.SaveRecord(null);
    }
}

function AdjustFormCells(adj) {
   
    var tabs = $("#po_tabs");

    if (jQuery.browser.msie && jQuery.browser.version < 8) {
        $("table", $("#po_tabs")).each(function() {
            if ($(this).width() > tabs.width() || $(this).attr("adj") == "true") {
                $(this).attr("adj", "true");
                $(".po-tb", $(this)).each(function() {
                    if (!$(this).hasClass("po-lookup-inline-tb") && !$(this).hasClass("po-number")) {
                        $(this).width(50);
                    }
                });

                var tr = $("tr:first", $(this));
                var td0 = $("td:eq(0)", tr);
                var td3 = $("td:eq(3)", tr);
                var tabw = tabs.width() - 6;

                var wtd0 = td0.width();
                var wtd3 = td3.width();
                td0.attr("w", wtd0);
                td3.attr("w", wtd3);

                td0.width(wtd0);
                td3.width(wtd3);
                var w = (tabw - wtd0 - wtd3) / 2;
                $("td:eq(1)", tr).width(w).attr("w", w);
                $("td:eq(4)", tr).width(w).attr("w", w);


                $(".po-tb", $(this)).each(function() {
                    if (!$(this).hasClass("po-lookup-inline-tb") && !$(this).hasClass("po-number")) {
                        var td = GetParentTD($(this));
                        var tr = $("tr:first", td.parent().parent());
                        var len = td.parent().children().length;
                        var w = 0;

                        if (len == 7 || len == 6) {
                            $(this).width($("td:eq(1)", tr).attr("w") - 35);
                        }
                        if (len == 4) {
                            if (parseInt(td.attr("colspan")) == 4) {
                                w = parseInt($("td:eq(1)", tr).attr("w")) + parseInt($("td:eq(3)", tr).attr("w")) + parseInt($("td:eq(4)", tr).attr("w"));
                                $(this).width(w - 85);
                            }
                            else {
                                $(this).width($("td:eq(1)", tr).attr("w") - 35);
                            }
                        }
                    }

                });
            }
        });
    }
    
    $("table", $("#po_tabs")).each(function() {
        if ($(this).width() > tabs.width() || $(this).attr("adj") =="true") {
            $(this).attr("adj", "true");
            $(".po-form-nowrap", $(this)).each(function() {
                if ($(this).children(":first").hasClass("po-lookup-icon"))
                { $(this).width(50); }
            });
            
            $(".po-form-nowrap", $(this)).each(function() {
                if ($(this).children(":first").hasClass("po-lookup-icon")) {
                    var td = GetParentTD($(this));
                    td.attr("w", td.width());
                }
            });
            $(".po-form-nowrap", $(this)).each(function() {
                if ($(this).children(":first").hasClass("po-lookup-icon")) {
                    var td = GetParentTD($(this));
                    $(this).width(td.attr("w") - 8);
                }
            });
        }
    });
}

function InitFormElements(o) {
    if (o == null || o == undefined) o = $(document);
    if ($("#po_lookup_inline_id").length == 0) {
        $("form").append("<input id='po_lookup_inline_id' type='hidden' value=''/>");
    }

    if ($("#po_lookup_inline").length == 0) {
        if ($("#po_tabs").length > 0) {
            $("#po_tabs").before("<div id='po_lookup_inline' style='position:absolute; z-index:999999;'></div>");
        }
        else {
            $("form").before("<div id='po_lookup_inline' style='position:absolute; z-index:999999;'></div>");
        }
    }

    $(".po-form-content").each(function() {
        $(this).bind("scrollstart", function(e) {
            HideInlineLookup();
        });
    });
   
    $(".po-pl-lookup").live("click", function(event) { InlineLookup(event, $(this).attr('id').replace("Inline", ""), LoadLookupEntityList, SelectLookupEntity); });
    $(".po-pl-form").live("click", function(event) { InlineLookup(event, $(this).attr('id').replace("Inline", ""), LoadPickList); });
    $(".po-lookup-inline-tb").live("click", function(event) { InlineLookup(event, $(this).attr('id').replace("Inline", "")); });
    $(".po-lookup-inline-tb").live("dblclick", function(event) { event.keyCode = KEY_ENTER; InlineLookupSearch(event, $(this).attr("id").substring(0, $(this).attr("id").length - 6)); });
    $(".po-lookup-inline-tb").live("keyup", function(event) { InlineLookupSearch(event, $(this).attr("id").substring(0, $(this).attr("id").length - 6)); });
    $(".po-lookup-inline-tb").live("keypress", function(event) { if(event.keyCode==KEY_ENTER) return false; });
    $(".po-multilookup-inline-tb").live("click", function(event) { InlineLookup(event, $(this).attr('id').replace("Inline", "")); });
    $(".po-multilookup-inline-tb").live("keyup", function(event) { InlineLookupSearch(event, $(this).attr("id").substring(0, $(this).attr("id").length - 6)); });
    $(".po-multilookup-inline-tb").live("keypress", function(event) { if (event.keyCode == KEY_ENTER) return false; });
    $(".po-multilookup-inline-tb").live("mouseover", function(event) { $(this).addClass("po-multilookup-inline-tb-hover"); });
    $(".po-multilookup-inline-tb").live("mouseout", function(event) { $(this).removeClass("po-multilookup-inline-tb-hover"); });

    $('.tb-btn').live("mouseover", function() { $(this).removeClass('ui-state-default').addClass('ui-state-focus'); });
    $('.tb-btn').live("mouseout", function() { $(this).removeClass('ui-state-focus').addClass('ui-state-default'); });
    $(".po-tvlookup-sel").live("click", function(event) { SelectTreeViewItem(event); });
    $(".po-dt-picker", o).datepicker().live("change", function() { $(this).next().val($(this).val() + " 00:00:00"); $(this).next().trigger("change"); });

//    $(".po-phone", o).setMask({ mask: "(999) 9999-9999" }).focus(function() {
//        $(this).select();
//    });

//    $(".po-dt", o).setMask({ mask: "99/99/9999 29:59:59" }).focus(function() {
//        $(this).select();
//    });


    $(".po-dt", o).live("change", function(event) {
        ValidateDateTime($(event.target));
    }).live("click", function(event) {
        if ($(this).getSelection().text.length > 0) return;

        var range = $(this).getSelection();
        var idx = $(this).val().indexOf(" ");
        if (idx <= 0 || idx >= range.start) {
            GetParentTD($(this)).next().children(":first").trigger("click");
            $("#ui-datepicker-div").css("z-index", 999999);
        }
        else {
            InlineLookup(event, $(this).attr('id'), LoadTimeList);
        }
    });

    $(".po-htmleditor", o).each(function() {
        if ($(this).attr("src") == 'about:blank' && $(this).attr("url") != "") {
            if ($(this).attr("url").toLowerCase().indexOf("htmleditor/player.aspx") > 0 &&
                        IsNew()) {
                $(this).attr("url", $(this).attr("url").replace("HTMLEditor/Player.aspx", "HTMLEditor/HTMLEditor.aspx"));
                $(this).attr("src", $(this).attr("url"));
           }
            else {
                $(this).attr("src", $(this).attr("url"));
            }
        }
    });

    $(".po-htmleditor-d", o).each(function() {
        if ($(this).attr("src") == 'about:blank' && $(this).attr("url") != "") {
            if ($("#_auditid").val() == "") {
                $(this).attr("src", $(this).attr("url"));
            }
            else {
                $(this).attr("url", $(this).attr("url") + "&auditid=" + $("#_auditid").val());
                $(this).attr("src", $(this).attr("url"));
            }
        }
    });

    $(".po-multilookup-inline-wrapper", o).each(function() {
    if ($(this).height() > 54) {
        $(this).css("overflow", "auto").height(54);
        }
    });

    $(".po-iframe", o).each(function() {
        if ($(this).attr("src") == "about:blank" && $(this).attr("initloadmsg") != "") {
            $(this)[0].contentWindow.document.open();
            $(this)[0].contentWindow.document.write("<html><head><link type='text/css' href='/Controls/Master.css' rel='stylesheet' /><link type='text/css' href='/CSS/Themes/" + $("#_theme").val() + "/jquery-ui." + $("#_LCID").val() + ".css' rel='stylesheet' /><link type='text/css' href='/CSS/Themes/" + $("#_theme").val() + "/po." + $("#_LCID").val() + ".css' rel='stylesheet' /><link type='text/css' href='/CSS/main.1033.css' media='screen' rel='stylesheet' /></head><body><div style='float:right;'>" + $(this).attr("initloadmsg") + "</div></body></html>");
            $(this)[0].contentWindow.document.close();
        }
        else {
            $(this).attr("src", $(this).attr("url"));
        }
    });

    $('.po-form-btn-control').height(22).hover(
            function() { $(this).removeClass('ui-state-default').addClass('ui-state-focus'); },
            function() { $(this).removeClass('ui-state-focus').addClass('ui-state-default'); });
            
    $('.po-form-btn').width(22).hover(
            function() { $(this).removeClass('ui-state-default').addClass('ui-state-focus'); },
            function() { $(this).removeClass('ui-state-focus').addClass('ui-state-default'); });
    $('.po-form-btn-d').width(22);

}

function ValidateDateTime(o) {

    o.val(jQuery.trim(o.val()));
    if (o.val() == "") return true;
    
    if (o.val().match(/^(\d+)(\/)(\d+)(\/)(\d+)$/)) o.val(o.val() + " 00:00:00");
    if (o.val().match(/^(\d+)(-)(\d+)(-)(\d+)$/)) o.val(o.val() + " 00:00:00");
    
    var dt = Date.parse(o.val());
    if (o.val() != "" && !o.val().match(/^(\d+)(\/)(\d+)(\/)(\d+) (\d+):(\d+):(\d+)$/)
        && !o.val().match(/^(\d+)(\/)(\d+)(\/)(\d+) (\d+):(\d+)$/)
        && !o.val().match(/^(\d+)(-)(\d+)(-)(\d+) (\d+):(\d+):(\d+)$/)
        && !o.val().match(/^(\d+)(-)(\d+)(-)(\d+) (\d+):(\d+)$/)
        ) {
        alert(MSG_INVALIDDATETIME);
        return false;
    }
    else {
        dt = o.val().split(' ');
        if (dt[0].split('-').length > 0) {
            var d = dt[0].split('-');
            if (parseInt(d[1]) < 0 || parseInt(d[1]) > 12) {
                alert(MSG_INVALIDDATETIME);
                return false;
            }
            if (parseInt(d[2]) < 0 || parseInt(d[2]) > 31) {
                alert(MSG_INVALIDDATETIME);
                return false;
            }
            if (d[0].length<4) {
                alert(MSG_INVALIDDATETIME);
                return false;
            }
        }
        else {
            var d = dt[0].split('/');
            var dformat = $("#_dformat").val();
            if (dformat == "M/d/yyyy" || dformat == "MM/dd/yyyy") {
                if (parseInt(d[0]) < 0 || parseInt(d[0]) > 12) {
                    alert(MSG_INVALIDDATETIME);
                    return false;
                }
                if (parseInt(d[1]) < 0 || parseInt(d[1]) > 31) {
                    alert(MSG_INVALIDDATETIME);
                    return false;
                }
                if (d[2].length < 4) {
                    alert(MSG_INVALIDDATETIME);
                    return false;
                }
            }
            else {
                if (parseInt(d[1]) < 0 || parseInt(d[1]) > 12) {
                    alert(MSG_INVALIDDATETIME);
                    return false;
                }
                if (parseInt(d[0]) < 0 || parseInt(d[0]) > 31) {
                    alert(MSG_INVALIDDATETIME);
                    return false;
                }
                if (d[2].length < 4) {
                    alert(MSG_INVALIDDATETIME);
                    return false;
                }
            }
        }

        if (dt.length == 2) {
            var t = dt[1].split(':');
            if (parseInt(t[0]) < 0 || parseInt(t[0]) > 23) {
                alert(MSG_INVALIDDATETIME);
                return false;
            }
            if (parseInt(t[1]) < 0 || parseInt(t[1]) > 59) {
                alert(MSG_INVALIDDATETIME);
                return false;
            }

            if (t.length == 3 && (parseInt(t[2]) < 0 || parseInt(t[2]) > 59)) {
                alert(MSG_INVALIDDATETIME);
                return false;
            }
        }
    }

    return true;
}

function SelectRadio(o) {
    var o = $("#" + o.id);
    SwapBooleanValue(o);
}

function SwapBooleanValue(o) {
    if (o.hasClass("po-tb-l-d")) return;
    var oimg = o.children(":first").children(":first").children(":first").children(":first");
    if (oimg.attr("src").indexOf("po-btn_radio_on.gif") > 0) {
        //make null
        oimg.attr("src", oimg.attr("src").replace("po-btn_radio_on.gif", "po-btn_radio_off.gif"));
        o.parent().children(":first").val("");
    }
    else {
        oimg.attr("src", "/CSS/Themes/" + $("#_theme").val() + "/Images/po-btn_radio_on.gif");
      
        if (o.prev().attr("type") == "hidden") {
            o.next().next().children(":first").children(":first").children(":first").children(":first").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/Images/po-btn_radio_off.gif");
        }
        else {
            o.prev().prev().children(":first").children(":first").children(":first").children(":first").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/Images/po-btn_radio_off.gif");
        }
        o.parent().children(":first").val(o.attr("code"));
    }
}


function AdjustiFrame(o, tabs, adjust) {
    
    if (tabs == null || tabs == undefined) tabs = $("#po_tabs");
    if (adjust == null || adjust == undefined) adjust = -30;
    var h = 0;
    var tbl = null;
    if (o == null || o == undefined) {
        tbl = $(".po-tab-tbl:eq(" + tabs.tabs('option', 'selected') + ")");
        if (tbl.length == 0) {
            tbl = $(".po-tab-tbl:first", tabs);
        }
    }
    else {
        tbl = $(o.children(":first").attr("href")).children(":first");
    }
    var pa = tbl.children(":first").children(":last");
    
    if (pa.children(":first").children(":first").hasClass("po-c-lt")
                || pa.children(":first").children(":first").hasClass("po-c-lt-d")
                || pa.children(":eq(1)").children(":first").hasClass("po-c-lt")
                || pa.children(":eq(1)").children(":first").hasClass("po-c-lt-d")
                ) {
        h = tabs.height() - pa.position().top + adjust;
        if (h < 250) h = 250;
        var o = pa.children(":first").children(":eq(1)");
        var rtb = $(".po-rtb", pa);
        var rtbd = $(".po-rtb-d", pa);
        if (rtb.length == 0 && rtbd.length == 0) {
            o.css("height", h);
            o.children(":first").css("height", h);
            o.children(":first").children(":first").height(h);
            var iframe = o.children(":first").children(":first").children(":first");
            iframe.height(h);
            try {
                if (iframe[0] != undefined && $(iframe[0].contentWindow).length > 0) {

                    $(iframe[0].contentWindow).trigger("resize");
                    if (jQuery.isFunction(iframe[0].contentWindow.OnResize)) iframe[0].contentWindow.OnResize();

                }
            }
            catch (e) { };
        }
        else {
            if (rtb.length > 0) {
                rtb.css("height", h);
            }
            if (rtbd.length > 0) {
                rtbd.css("height", h);
            }
        }
    }

    var po_lp_ifa = $("#po_lp_ifa");
    if (po_lp_ifa.length > 0) {
        po_lp_ifa.height(tabs.height() - tabs.position().top);
        try {
            if (po_lp_ifa[0] != undefined && $(po_ifanote[0].contentWindow).length > 0) {
                $(po_lp_ifa[0].contentWindow).trigger("resize");
            }
        }
        catch (e) { };
    }

    var po_ifanav = $("#po_ifanav");
    if (po_ifanav.length > 0) {
        po_ifanav.height(tabs.height() - tabs.position().top);
        try {
            if (po_ifanav[0] != undefined && $(po_ifanav[0].contentWindow).length > 0) {
                $(po_ifanav[0].contentWindow).trigger("resize");
            }
        }
        catch (e) { };
    }
}

function ShowHideNav() {
    if ($("#po_nav_hide").attr("pos") != "5") {
        HideNav();
    }
    else {
        ShowNav();
    }
    AdjustForm();
}

function CurrentInstanceId() {
    return $("#_iid").val();
}

function HideNav() {
    $("#po_nav_container").hide();
    $("#po_nav_container").css("height", $("#po_tabs").css("height"));
    if ($("#_iid").val() == "") {
        $("#po_tabs").css("left", 5);
        $("#po_tabs").css("width", $(window).width() - 15);
        $("#po_nav_hide").hide();
    }
    else
    {
        $("#po_tabs").css("left", 30);
        $("#po_tabs").css("width", $(window).width() - 40);
        $("#po_nav_hide").css("left", 5).attr("pos", "5");
        $("#po_nav_hide_img").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/images/po-nav-show.png");

    }
}



function ShowNav() {
     
    $("#po_tabs").css("left", 200);
    $("#po_tabs").css("width", $(window).width() - 210);

    $("#po_nav_container").show();
    $("#po_nav_container").height($("#po_tabs").height());
    $("#po_nav").accordion("resize");

    $("#po_nav_hide_img").attr("src", "/CSS/Themes/" + $("#_theme").val() + "/images/po-nav-hide.png");
    $("#po_nav_hide").css("left", 170).attr("pos", "170").css("visibility", "visible");
}



function RefreshForm() {
    window.location.reload(true);
}

function DeleteLookupItem(cid) {
    var div = $("#" + cid + "Wrapper");
    div.html("<input id='" + cid + "Inline' class='po-lookup-inline-tb po-tb' type='textbox'/>");
    $("#" + cid).parent().children().each(
    function() {
    if ($(this).attr("type") == "hidden" && $(this).hasClass("po-v"))
            $(this).val("");
    });
    $(".po-form-btn", GetParentTD($("#" + cid)).next()).trigger("dblclick");
}


function DeleteMultiSelectLookupItem(o, cid, update) {
    if (update == null || update == undefined) update = true;
     $(o).prev().remove();$(o).next().remove(); $(o).next().remove(); $(o).next().remove();
     $(o).remove();
     $("#" + cid).val(RegenerateMultiLookupValue(cid));
}

function SetTextEnd(o) {
    if (o.createTextRange) {
        var r = o.createTextRange();
        r.moveStart('character', o.value.length);
        r.collapse();
        r.select();
    }
}

function OnFocus(o) {
    //o.select();
    //SetTextEnd(o);
}


function ValidateEmail(id) {
    var v = $("#" + id).val();
    if (v != "" && (v.indexOf(".") <= 2 || v.indexOf("@") < 0))
    {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDEMAIL);
        return false;
    }
}

function ValidateURL(id) {
    var v = $("#" + id).val();
    if (v != "" && v.indexOf('/') != 0 && v.indexOf('http://') != 0 && v.indexOf('https://') != 0 && v.indexOf('wap://') != 0 && v.indexOf('ftp://') != 0) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDURL);
       
        
        return false;
    }
}

function ValidateDecimal(id) {
    var v = $("#" + id + "-Input").val();
    if (v != '' && !v.match(/^(-)?(\d+)(.)?(\d+)?$/)) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDDECIMAL);
        return false;
    }
    else {
        $("#" + id).val(v);
        return true;
    }
}

function ValidatePhoneNumber(id) {
    var v = $("#" + id).val();
    v = v.replace("(", "").replace(")", "").replace(" ","-");

    if (v.length > 0 && (v.indexOf('-') < 0 || v.length < 6 || !v.match(/^\d{1,4}(-){1,1}([\w-]+)?$/))) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDPHONENUMBER, 350,160);
        return false;
    }
}

function ValidateColor(id) {
    var v = $("#" + id).val();
    v = v.toUpperCase();
    if (v.indexOf("#") < 0) { v = "#" + v; $("#" + id).val(v); }
    var c = null;
    if (v.length > 0 && v.length < 8) {
        for (i = 1; i < v.length; i++) {
            c = v.substring(i, i + 1);
            if (!(c >= "0" && c <= "9" || c >= "A" && c <= "F")) {
                ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDCOLOR);
                return false;
            }
        }
    }
    else {
        if (v.length == 0) ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDCOLOR);
    }
}

function ValidateIntValue(v) {
    if (v != '' && !v.match(/^(-)?(\d+)?$/)) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDINT);
        return false;
    }
    return true;
}

function ValidateInt(id) {
    var v = $("#" + id + "-Input");
    if (ValidateIntValue(v.val())) {
        $("#" + id).val(v.val());
        return true;
    }
    else {
        return false;
    }
}

function ValidatePercentage(id) {
    var v = $("#" + id + "-Input").val();
    var symbol = GetPercentageSymbol();
    var v = v.replace(symbol, "").replace(/ /g, "");
    if (v != '' && !v.match(/^(-)?(\d+)?(\.)?(\d+)?$/)) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDPERCENT);
        return false;
    }
    else {
        if (symbol == null) symbol = "";
        $("#" + id).val(v.replace(symbol, "").replace("(", "-").replace(")", ""));
        return true;
    }
    
}

function ValidateCurrency(id) {
    
    var v = $("#" + id + "-Input").val();
    if (v == MSG_FORMATCURRENCY) return true;
    
    var symbol = GetCurrencySymbol();
    var v = v.replace(symbol, "").replace(/ /g, "").replace(/,/g, "").replace(symbol, "").replace("(", "").replace(")", "");
    if (v != '' && !v.match(/^(-)?(\d+)(.)?(\d+)?$/)) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDCURRENCY);
        return false;
    }
    else {
        if (symbol == null) symbol="";
        $("#" + id).val(v.replace(symbol, "").replace("(", "-").replace(")", ""));
        return true;
    }

}

function ValidateText(id, len, dbtype) {
    var v = $("#" + id).val();
    if (v.length > len) {
        ShowMessageDialog("WarningDlg", MSG_WARNING_INPUT_TITLE, MSG_INVALIDINPUTLEN.replace("{0}", len));
        return false;
    }
    else {
        return true;
    }
}

function ValidateDateTimeRange(s, f) {
    var sDT = $("#" + s);
    var fDT = $("#" + f);
    if (sDT != null && fDT != null && sDT.val() != "" && fDT.val() != "") {
        try {
            if (Date.parse(fDT.val()) < Date.parse(sDT.val())) {
                fDT.val(sDT.val());
            }
        }
        catch (e) { }
    }
}


function AutoSetStartEndDate(s, f, days, startdtonly) {
    if (startdtonly == null || startdtonly == undefined) startdtonly = true;
    if (days == null) days = 1;
    var sDT = $("#" + s);
    var fDT = $("#" + f);
    if (sDT != null && fDT != null) {
        if (!startdtonly && fDT.val() == "" && sDT.val() != "" && fDT != $(event.target)) {
            if (!isNaN(Date.parse(sDT.val())) && sDT.val().match(/^(\d+)(\/)(\d+)(\/)(\d+) (\d+)(:)(\d+)(:)(\d+)$/)) {
                fDT.val(GetDTString(new Date(Date.parse(sDT.val()) + days * 24 * 60 * 60 * 1000)));
                fDT.trigger("change");
            }
            return;
        }
        if (sDT.val() == "" && fDT.val() != "" && sDT != $(event.target)) {
            if (!isNaN(Date.parse(fDT.val())) && fDT.val().match(/^(\d+)(\/)(\d+)(\/)(\d+) (\d+)(:)(\d+)(:)(\d+)$/)) {
                sDT.val(GetDTString(new Date(Date.parse(fDT.val()) - days * 24 * 60 * 60 * 1000)));
                sDT.trigger("change");
            }
            return;
        }
        ValidateDateTimeRange(s, f);
    }
}



function ShowHTMLEditor(id, save) {
    var c = $("#" + id);
    var location = c.attr("src");
    try {
        location = c[0].contentWindow.GetLocation();
    } catch (e) { };
    if (location.indexOf("HTMLEditor/Player.aspx") >= 0) {
        c.attr("src", c.attr("src").replace("HTMLEditor/Player.aspx", "HTMLEditor/HTMLEditor.aspx"));
    }
    else {
        if (save == null) {
            if (IsNew()) {
                ShowMessageDialog("ConfirmationDlg", MSG_CONFIRMHTMLSAVE_TITLE, MSG_CONFIRMHTMLSAVE_CONTENT, 300, 200, { "No": function() { HideMessageDialog(); ShowHTMLEditor(id, false); }, "Yes": function() { HideMessageDialog(); ShowHTMLEditor(id, true); } });
            }
            else {
                ShowMessageDialog("ConfirmationDlg", MSG_CONFIRMHTMLSAVE_TITLE, MSG_CONFIRMHTMLSAVE_RECORD, 300, 200, { "No": function() { HideMessageDialog(); ShowHTMLEditor(id, false); }, "Yes": function() { HideMessageDialog(); ShowHTMLEditor(id, true); } });
            }
            return;
        }
        if (save) {
            if (IsNew()) { SaveRecord(); } else {if (c[0].contentWindow!=null) c[0].contentWindow.SaveHTML("player"); }
            return;
        }
       
        c.attr("src", c.attr("src").replace("HTMLEditor/HTMLEditor.aspx", "HTMLEditor/Player.aspx"));
    }
 }

function GetCurrencySymbol() { return $("#_currencySymbol").val(); }

function GetPercentageSymbol() { return $("#_percentageSymbol").val(); }

function GetDirtyData(func) {
    if (func == null) func = function(c) {
        $("#_data").val(c);
    };
    var command = GenericAPICommand("RetrieveInstance", "Retrieve", "System.String");
    AddCommandParameter(command, "entityId", "System.Guid", $("#_eid").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    ExecuteCommand(command,func, OnError);
}

function CloneRecord(iid) {
    if ($("#_ename").val() == "Entity" || $("#_ename").val() == "Attribute" || $("#_ename").val() == "EntityUI" || $("#_ename").val() == "AttributeUI") {
        alert(MSG_FEATURE_NOTREADY);
        return;
    }
    if (iid == null || iid == undefined) iid = $("#_iid").val();
    HideMessageDialog();
    ShowMessageDialog("ProgressDlg", MSG_CLONERECORD_TITLE, MSG_CLONERECORD_WAIT);
    var command = GenericAPICommand("Clone", "Clone", "System.Guid");
    AddCommandParameter(command, "entityId", "System.Guid", $("#_eid").val());
    AddCommandParameter(command, "instanceId", "System.Guid", iid);
    ExecuteCommand(command, OnCloneRecordSuccess, OnError);
}

function OnCloneRecordSuccess(iid)
{
    window.location = SetQueryString(window, "iid",iid);
}

function CloseForm() {
    if (jQuery.isFunction(window.parent.window.AllowListTabFormView)) {
        if (window.parent.window.AllowListTabFormView()) {
            window.parent.window.RefreshListTab(true);
        }
        else {
            window.close();
        }
    }
    else {
        window.close();
    }
}


function NewForm() {
    window.location = RemoveQueryStringVariable(window, "iid");
}

function GetRecordChanges(f) {
    GetDirtyData(function(c) {
        $("#_data").val(c);
        f(GetDataXml());
    });
}

function LoadSimpleFormDialog(title,w,h,ename,iid,euiid,btns) {
    var url = "/Form.aspx?noribbon=true&nonav=true&ename=" + ename + "&iid=" + iid + "&euiid=" + euiid;
    ShowDialog(url, title, w, h, btns, null, null, true, null);
}

function PostSaveReload(v) {
    if (jQuery.isFunction(window.parent.window.AllowListTabFormView)) {
        if (window.parent.window.AllowListTabFormView()) {
            window.parent.window.RefreshListTab(false);
        }
    }
    location.href = "Form.aspx?ename=" + $("#_ename").val() + "&iid=" + v + "&notab=" + $("#_notab").val() + "&nonav=" + $("#_nonav").val() + "&noribbon=" + $("#_noribbon").val() + "&OnLoadJS=" + $("#_onloadjs").val() + "&euiid=" + $("#_euiid").val() + "&guid=" + Guid();
}

function SaveRecord(prefunc, postfunc) {
    ShowMessageDialog("ProgressDlg", MSG_SAVERECORD_TITLE, MSG_SAVERECORD_WAIT);
    if (!CheckReqFields()) return;

    if (postfunc == null) postfunc = function(v) {
        PostSaveReload(v);
    };
    var xmlDoc = null;
    
    if (prefunc != null) prefunc();
    POOnSave();
    
    if ($("#_iid").val() != "") {
        GetDirtyData(function(c) {
            $("#_data").val(c);
            xmlDoc = GetDataXml();
            if (xmlDoc.documentElement.childNodes.length > 0) {
                var xmlElem = xmlDoc.createElement($("#_ename").val() + "Id");
                if (jQuery.browser.msie) {
                    xmlElem.text = $("#_iid").val();
                }
                else {
                    xmlElem.textContent = $("#_iid").val();
                }
                xmlDoc.documentElement.appendChild(xmlElem);
                //alert(GetXmlDocContent(xmlDoc));
                if ($("#_dchkattr").val() != "") {
                    CheckDuplicationOnSave(postfunc);
                }
                else {
                    var command = GenericAPICommand("UpdateInstance", "Update", "System.Guid");
                    AddCommandParameter(command, "xmlDocData", "System.Xml.XmlDocument", GetXmlDocContent(xmlDoc));
                    ExecuteCommand(command, function(iid) { postfunc(iid, $("#_dlgid").val()); }, OnError);
                }
            }
            else {
                postfunc($("#_iid").val(),$("#_dlgid").val());
            }

        });
    }
    else {
        if ($("#_dchkattr").val() != "") {
            CheckDuplicationOnSave(postfunc);
        }
        else {
            var command = GenericAPICommand("CreateRecord", "Create", "System.Guid");
            AddCommandParameter(command, "xmlDocData", "System.Xml.XmlDocument", GetXmlDocContent(GetDataXml()));
            ExecuteCommand(command, function(iid) { postfunc(iid, $("#_dlgid").val()); }, OnError);
        }
    }
}

var _postfunc = null;
function CheckDuplicationOnSave(postfunc) {
    _postfunc = postfunc;
    var iid = $("#_iid").val();
    if (iid = "") iid = C_EMPTYGUID;
    var command = GenericAPICommand("CheckDuplication", "CheckDuplication", "System.Guid");
    AddCommandParameter(command, "entityName", "System.Guid", $("#_eid").val());
    AddCommandParameter(command, "instanceId", "System.Guid", iid);
    AddCommandParameter(command, "xmlDocData", "System.Xml.XmlDocument", GetXmlDocContent(GetDataXml()));
    ExecuteCommand(command, OnCheckDuplicationOnSave, OnError);
}

function OnCheckDuplicationOnSave(v) {
    if (v.toString().indexOf("000000000000") < 0) {
        HideMessageDialog();
        var c = MSG_DUPLICATION_C.replace('{0}', $("#_dchkattr").attr("ui"));
        ShowMessageDialog("ConfirmationDlg", MSG_DUPLICATION_TITLE, c, 320, 200, { "Cancel": function() { HideMessageDialog(); return; }, "Save": function() { OnCheckDuplicationOnSave("00000000-0000-0000-0000-000000000000"); } });
    }
    else {
        HideMessageDialog();
        if ($("#_iid").val() != "") {
            var xmlDoc = GetDataXml();
            if (xmlDoc.documentElement.childNodes.length > 0) {
                var xmlElem = xmlDoc.createElement($("#_ename").val() + "Id");
                if (jQuery.browser.msie) {
                    xmlElem.text = $("#_iid").val();
                }
                else {
                    xmlElem.textContent = $("#_iid").val();
                }
                xmlDoc.documentElement.appendChild(xmlElem);
                //alert(GetXmlDocContent(xmlDoc));

                var command = GenericAPICommand("UpdateInstance", "Update", "System.Guid");
                AddCommandParameter(command, "xmlDocData", "System.Xml.XmlDocument", GetXmlDocContent(xmlDoc));
                ExecuteCommand(command, function(iid) { _postfunc(iid, $("#_dlgid").val()); }, OnError);
            }
        }
        else {
            var command = GenericAPICommand("CreateRecord", "Create", "System.Guid");
            AddCommandParameter(command, "xmlDocData", "System.Xml.XmlDocument", GetXmlDocContent(GetDataXml()));
            ExecuteCommand(command, function(iid) { _postfunc(iid, $("#_dlgid").val()); }, OnError);
        }
    }
}

function CheckReqFields() {
    var lst = "";
    $(".po-req").each(
    function() {
        var v = $(this).val();
        var o = $("#" + v);
        if (o.hasClass("po-pwd")) return;
        if (o.hasClass("po-mlookup") && o.val() == "&nbsp;") o.val("");
        if (o.val() == "") {
            if (lst == "") lst = $(this).attr("uiname"); else lst = lst + "," + $(this).attr("uiname");
        }
    })
    if (lst != "") {
        ShowMessageDialog("WarningDlg", MSG_WARNING_REQFIELD_TITLE, MSG_WARNING_REQFIELD.replace("{0}", lst),400,200);
        return false;
    }
    else {
        return true;
    }
}

function IsNew() {
    return $("#_iid").val() == "";
}

function GetDataXml() {
    var ename = $("#_ename").val();
    var xmlDoc = CreateXmlDoc("<" + ename + "/>");
    $(".po-v").each(
    function() {
        if ($(this).hasClass("po-file")) return;

        if ($(this).hasClass("po-htmleditor")) {
            //Handle HTML Editor & get value

            if ($(this)[0].contentWindow != null && jQuery.isFunction($(this)[0].contentWindow.GetHTML)
            && jQuery.isFunction($(this)[0].contentWindow.GetOriHTML)
            && jQuery.isFunction($(this)[0].contentWindow.GetCSS)
            && jQuery.isFunction($(this)[0].contentWindow.GetOriCSS)
            ) {
                var html = $(this)[0].contentWindow.GetHTML();
                var orihtml = $(this)[0].contentWindow.GetOriHTML();
                if (html != orihtml) xmlDoc = AppendXmlElement(xmlDoc, $(this).attr("id").replace(ename + "-", ""), html);

                var css = $(this)[0].contentWindow.GetCSS();
                var oricss = $(this)[0].contentWindow.GetOriCSS();
                if (css != oricss) xmlDoc = xmlDoc = AppendXmlElement(xmlDoc, $(this).attr("id").replace(ename + "-", "") + "_CSS", css);
            }
        }
        else {
            var v = $(this).val();

            var aname = $(this).attr("id").replace(ename + "-", "");
            var changed = false;
            if (IsNew()) {
                changed = true;
            }
            else {
                changed = AttributeValueChanged(aname);
                if (!changed && (aname.indexOf("EntityId") > 0 || aname.indexOf("StateCode") > 0 || aname == "InstanceIdDisplay")) changed = true;
            }
            if (changed) {
                var xmlElem = xmlDoc.createElement(aname);
                if (jQuery.browser.msie) {
                    xmlElem.text = $(this).val();
                }
                else {
                    xmlElem.textContent = $(this).val();
                }
                xmlDoc.documentElement.appendChild(xmlElem);

            }
        }
    });
    return xmlDoc ;
}

function AttributeValueChanged(aName) {
    var xmlDocOriData = CreateXmlDocument(true);
    var ename = $("#_ename").val();
    var instanceData = $("#_data").val();
    var UTCOffsetHours = parseFloat($("#_utcOffsetHours").val());
    
    if (instanceData == "") {
        xmlDocOriData = CreateXmlDoc("<" + ename + "/>");
    }
    else {
        xmlDocOriData = CreateXmlDoc(instanceData);
    }
  
    var cid = ename + "-" + aName;
    var v = $("#" + cid);

    var oriValue = oriValue = GetXmlElementText(xmlDocOriData, aName);
   
    if (v.hasClass("po-mlookup")) {
        v.val(RegenerateMultiLookupValue(cid));
    }
    
    //alert(aName + ":" + oriValue + "/" + v.val());
    
    if (oriValue == null) {
        if (v.val() != "" || v.val() == "" && v.hasClass("po-mlookup")) return true; else return false;
    }
    else {
        
        if (oriValue.toLowerCase() != v.val().toLowerCase()) {

            if (v.hasClass("po-dt")) {
                //Handle DateTime
                if (oriValue.split("+").length == 2) {
                    oriValue = oriValue.split("+")[0];
                }
                else {
                    var ovs = oriValue.split("-");
                    var i = 1;
                    oriValue = ovs[0];
                    while (i < ovs.length - 1) {
                        oriValue = oriValue + "-" + ovs[i];
                        i++;
                    }
                }
                var oriDT = new Date(oriValue.replace("T", " ").replace(/-/g, "/"));
                var curDT = new Date(v.val());
                if ((curDT - oriDT) / 3600000 != UTCOffsetHours) return true; else return false;
            }
            else {
                return true;
            }

        }
    }
    return false;
}

function LoadTreeViewLookupDialog(cid, ssel, action,ename,aname) {
    if (ssel == null) ssel = "true";
    var wrapper = $("#" + cid + "Wrapper");

    if (ename == null || ename == undefined) ename = $("#_ename").val();
    var enames = wrapper.attr("enames");

    if (aname == null || aname == undefined) aname = cid.replace(ename + "-", "");
    var faname = wrapper.attr("faname");
    
    var fvpid = wrapper.attr("fvpid");
    var mmename = wrapper.attr("mmename");
    var mmaname = wrapper.attr("mmaname");
    var mmfaname = wrapper.attr("mmfaname");
    var fv = wrapper.attr("fv");
    
    var iid = $("#_iid").val();

    if (fv==undefined && fvpid != "" && fvpid != undefined) {
        if (fvpid.indexOf("NULL|") >= 0 || fvpid.indexOf("|NULL") >= 0) {
            fv = "NULL|" + $("#" + fvpid.replace("NULL", "").replace("|", "")).val();
        }
        else {
            fv = $("#" + fvpid).val();
        }
    }
    if (enames == undefined) {
        enames = "Category";
        aname = "CategoryId";
    }
    
    var url = "/Platform/Form/TreeViewLookupDialog.aspx?ssel=" + ssel + "&cid=" + cid + "&enames=" + enames + "&ename=" + ename + "&aname=" + aname + "&iid=" + iid + "&faname=" + faname + "&fv=" + fv + "&mmename=" + mmename + "&mmaname=" + mmaname + "&mmfaname=" + mmfaname;
  
    $.get(DynUrl(url), function(c) {
        if ($("#po_lookupdialog").length == 0) {
            var dialog = CreateHTMLElement("div", "po_lookupdialog");
            dialog.css("overflow", "hidden");
        }

        var dlg = $("#po_lookupdialog");

        dlg.html(c);
        if (jQuery.isFunction(action)) {
            dlg.dialog({ bgiframe: true, autoOpen: true, height: $(window).height() - 30, width: $(window).width() - 40,
                modal: true, title: 'Lookup record', resizable: false,
                buttons: { "Select": function(e) { action(cid, $(e.target)); }, "New Record": function(e) { CreateFromTreeViewLookup($(e.target)); } },
                close: function() { HideDialog($("#po_lookupdialog")); }
            });
        }
        else {
            dlg.dialog({ bgiframe: true, autoOpen: true, height: $(window).height() - 30, width: $(window).width() - 40,
                modal: true, title: 'Lookup record', resizable: false,
                buttons: { "Select": function(e) { SelectTreeViewLookup(cid, $(e.target)); }, "New Record": function(e) { CreateFromTreeViewLookup($(e.target)); } },
                close: function() { HideDialog($("#po_lookupdialog")); }
            });
        }

    });
}



function SelectTreeViewLookup(cid, o) {
    if ($("span", o).text() != "Cancel") {
        if ($("#_po_tvlookup_ssel").val().toLowerCase() == "true" && $("#po_tvlookup_iids").val() != "") {
            var id = $("#po_tvlookup_iids").val();
            var o = $("#po_tvlookup_" + id);

            var icon = o.attr("src");

            $("#" + cid).val(id);
            $("#" + cid + "EntityId").val(o.attr("eid"));
            $("#" + cid + "StateCode").val(o.attr("statecode"));
            $("#" + cid + "Display").val(o.attr("title"));
            $("#" + cid + "EntityName").val(o.attr("ename"));
            $("#" + cid + "Wrapper").html(GetLookupHTML(cid, icon, o.attr("euiname"), o.attr("title")));
        }

        HideDialog($("#po_lookupdialog"));
    }
    else {
        LoadTreeViewLookup();
        $("span", o).text("Select");
        $("span", o.next()).text("New Record");
    }
}

function ShowTabs() {
    $("#po_tabs").show();
    AdjustForm();
}

function HideTabs() {
    $("#po_tabs").hide();
}

function LoadLookupDialog(cid, ssel, action) {
    if (ssel == null) ssel = "true";
    var wrapper = $("#" + cid + "Wrapper");
    var ename = $("#_ename").val();
    var enames = wrapper.attr("enames");
    
    var aname = cid.replace(ename + "-", "");
    var faname = wrapper.attr("faname");
    var fvpid = wrapper.attr("fvpid");
    var mmename = wrapper.attr("mmename");
    var mmaname = wrapper.attr("mmaname");
    var mmfaname = wrapper.attr("mmfaname");
    
    var iid = $("#_iid").val();
    var fv = "";
    if (fvpid != "") {
        if (fvpid.indexOf("NULL|") >= 0 || fvpid.indexOf("|NULL") >= 0) {
            fv = "NULL|" + $("#" + fvpid.replace("NULL", "").replace("|", "")).val();
        }
        else {
            fv = $("#" + fvpid).val();
        }
    }
    var url = "/Platform/Form/LookupDialog.aspx?ssel=" + ssel + "&cid=" + cid + "&enames=" + enames + "&ename=" + ename + "&aname=" + aname + "&iid=" + iid + "&faname=" + faname + "&fv=" + fv + "&mmename=" + mmename + "&mmaname=" + mmaname + "&mmfaname=" + mmfaname;
   
    $.get(DynUrl(url), function(c) {
        if ($("#po_lookupdialog").length == 0) {
            var dialog = CreateHTMLElement("div", "po_lookupdialog");
            dialog.css("overflow", "hidden");
        }

        var dlg = $("#po_lookupdialog");

        dlg.html(c);
        HideTabs();
        if (jQuery.isFunction(action)) {
            dlg.dialog({ bgiframe: true, autoOpen: true, height: $(window).height() - 20, width: $(window).width() - 40,
                modal: true, title: 'Lookup record', resizable: false,
                buttons: { "Select": function() { action(cid); $("#po_lookupdialog").dialog("close"); } },
                close: function() { HideDialog($("#po_lookupdialog")); ShowTabs(); }
            });
        }
        else {
            dlg.dialog({ bgiframe: true, autoOpen: true, height: $(window).height() - 20, width: $(window).width() - 40,
                modal: true, title: 'Lookup record', resizable: false,
                buttons: { "Select": function() { SelectLookup(cid); $("#po_lookupdialog").dialog("close"); } },
                close: function() { HideDialog($("#po_lookupdialog")); ShowTabs(); }
            });
        }

    });
    
    
}

function LoadPhotoLookupDialog(cid, ename, aname, iid, TN) {
    var url = "/Platform/Form/LookupDialog.aspx?ssel=true&cid=" + cid + "&enames=Photo&ename=" + ename + "&aname=" + aname + "&iid=" + iid;
    ShowDialog(url, "Select a photo", $(window).width() - 40, $(window).height() - 20, { "Select": function() { InsertPhotoToHTMLEditor(ename + "-" + aname); } }, null, function() { OnLoadPhotoLookupDialog(ename + "-" + aname); }, true, function() { OnLoadPhotoLookupDialogClose(ename + "-" + aname); });
}

function OnLoadPhotoLookupDialogClose(cid) {
    HideDialog();
}

function OnLoadPhotoLookupDialog(cid) {
    //$("#" + cid)[0].contentWindow.GetWrapper().hide();
   
    var ftr = $("#po_lookup_tbl", $("#dialog")).children(":first").children(":first");
    ftr.children(":first").html("Size (Width x Height):");
    var w = "<div class='po-tb-l' style='float:left;'><div class='po-tb-r'><div class='po-tb-c'><div class='po-form-nowrap'><input type='text' id='PhotoLookupDialog-Width' onfocusout=\"ValidateIntValue($('#PhotoLookupDialog-Width').val());\" class='po-tb po-number po-int' value='480'/></div></div></div></div>";
    var h = "<div class='po-tb-l' style='float:left;'><div class='po-tb-r'><div class='po-tb-c'><div class='po-form-nowrap'><input type='text' id='PhotoLookupDialog-Height' onfocusout=\"ValidateIntValue($('#PhotoLookupDialog-Height').val());\" class='po-tb po-number po-int' value='360'/></div></div></div></div>";
    var op = "<div style='float:left; width:30px;' >&nbsp;</div><div style='float:left; width:120px; padding-top:3px;'>Photo Data Source:</div><div style='float:left;'><input id='HTMLEditor-PhotoLookup-Source' value='Original' type='hidden' class='po-v'/><div style='float:left;' class='po-tb-l' onclick='SelectRadio(this);' code='Original' id='HTMLEditor-PhotoLookup-Source_Original'><div class='po-tb-r'><div class='po-tb-c'><div class='po-form-nowrap'><img src='/CSS/Themes/" + $("#_theme").val() + "/Images/po-btn_radio_on.gif'/></div></div></div></div><div style='float:left;margin-top:3px;'>&nbsp;Original&nbsp;</div><div style='float:left;' class='po-tb-l' onclick='SelectRadio(this);' code='Auto' id='HTMLEditor-PhotoLookup-Source_Auto'><div class='po-tb-r'><div class='po-tb-c'><div class='po-form-nowrap'><img src='/CSS/Themes/" + $("#_theme").val() + "/Images/po-btn_radio_off.gif'/></div></div></div></div><div style='float:left;margin-top:3px;'>&nbsp;Preset&nbsp;</div></div>"
    ftr.children(":eq(1)").html("<div>" + w + "<div style='float:left; padding-top:3px;'>&nbsp;&nbsp;X&nbsp;&nbsp;</div>" + h + op + "</div>");
    $("#PhotoLookupDialog-Width").width(100).parent().parent().parent().width(110);
    $("#PhotoLookupDialog-Height").width(100).parent().parent().parent().width(110);
}

var _InsertPhotoToHTMLEditorCID = null;
function InsertPhotoToHTMLEditor(cid, key) {
    //$("#" + cid)[0].contentWindow.GetWrapper().show();
    var id = $("#_po_iframeLookupGrid").contents().find('#_iids').val();
    if (id == "") {
        ShowMessageDialog("WarningDlg", MSG_WARNING_TITLE, MSG_SELECTRECORD);
    }
    else {
        if (_InsertPhotoToHTMLEditorCID == null) {
            _InsertPhotoToHTMLEditorCID = cid;
            var command = PlatformCommand("GetSecurityByPassKey", "Context", "GetSecurityByPassKey", "System.String");
            AddCommandParameter(command, "entityName", "System.String", "Photo");
            AddCommandParameter(command, "instanceId", "System.Guid", id);
            ExecuteCommand(command, function(key) { InsertPhotoToHTMLEditor(_InsertPhotoToHTMLEditorCID, key); }, function(v) { _InsertPhotoToHTMLEditorCID = null; OnError(v); });
        }
        else {
            _InsertPhotoToHTMLEditorCID = null;
            var w = $("#PhotoLookupDialog-Width").val();
            var h = $("#PhotoLookupDialog-Height").val();
            var TN = "";
            var img = $(document.createElement("img"));
            if ($("#HTMLEditor-PhotoLookup-Source").val() == "Auto") {
                if (w <= 1200 && w >= 480) TN = "1200x800";
                if (w <= 480 && w >= 240) TN = "480x360";
                if (w <= 240 && w >= 180) TN = "240x180";
                if (w <= 120 && w >= 0) TN = "120x90";
                img.css("width", w).css("height", h);
            }
            var src = "http://" + $("#_domain").val() + "/Photo/" + id;
            if (TN != "") src = src + "/" + TN;
            src = src + "/default.pophoto.jpg?orgid=" + $("#_orgid").val() + "&key=" + key;
            img.attr("src", src);
            $("#" + cid)[0].contentWindow.InsertHTML(img.outerHTML());
            OnLoadPhotoLookupDialogClose(cid);
        }
    }
}

function LoadTemplateLookupDialog(ename, aname, iid, eid) {
    var url = "/Platform/Form/LookupDialog.aspx?ssel=true&cid=_tid&enames=ContentTemplate&ename=" + ename + "&aname=" + aname + "&iid=" + iid + "&faname=ApplyToEntityId&fv=" + eid;
    ShowDialog(url, "Lookup", $(window).width() - 40, $(window).height() - 20, { "Select": function() { SelectTemplateLookup(ename, aname, iid); } }, false);
}

function SelectTemplateLookup( ename, aname, iid) {
    var id = $("#_po_iframeLookupGrid").contents().find('#_iids').val();
    $("#" + ename + "-" + aname).attr("src", SetQueryString($("#" + ename + "-" + aname)[0].contentWindow, "tid", id));
    HideDialog();
}

function LoadSpellCheckDialog(cid, ename, aname) {
    ShowDialog("/Platform/SpellCheck/SpellCheckLoader.aspx?cid=" + cid, "SpellCheck", 400, 350, {}, function() { AdjustSpellCheckDialog(); });
}


function SelectLookup(cid) {
    var ssel = $("#_po_iframeLookupGrid").contents().find('#_po_list_ssel').val() == "true";
    if (ssel) {
        var id = $("#_po_iframeLookupGrid").contents().find('#_iids').val();
        if (id != "") {
            var o = $("#_po_iframeLookupGrid").contents().find('#_po_list_icon_' + id);
            var icon = o.parent().css("background-image").replace('url("','').replace('")','');
            $("#" + cid).val(id);
            $("#" + cid + "EntityId").val(o.attr("eid"));
            $("#" + cid + "StateCode").val(o.attr("statecode"));
            $("#" + cid + "Display").val(o.attr("title"));
            $("#" + cid + "EntityName").val(o.attr("ename"));
            $("#" + cid + "Wrapper").html(GetLookupHTML(cid, icon, o.attr("euiname"), o.attr("title")));
        }
    }
}

var _LoadMultiLookupDialogAction = null;
function LoadMultiLookupDialog(cid, action) {
    _LoadMultiLookupDialogAction = action;
    var wrapper = $("#" + cid + "Wrapper");
    if (wrapper.length == 0) return;
    var ename = $("#_ename").val();
    var enames = wrapper.attr("enames");
    
    var aname = cid.replace(ename + "-", "");
    var faname = wrapper.attr("faname");
    var fvpid = wrapper.attr("fvpid");
    var mmename = wrapper.attr("mmename");
    var mmaname = wrapper.attr("mmaname");
    var mmfaname = wrapper.attr("mmfaname");
    
    var iid = $("#_iid").val();
    var fv = "";
    if (fvpid != "" && fvpid!=undefined) {
        if (fvpid.indexOf("NULL|") >= 0 || fvpid.indexOf("|NULL") >= 0) {
            fv = "NULL|" + $("#" + fvpid.replace("NULL", "").replace("|", "")).val();
        }
        else {
            fv = $("#" + fvpid).val();
        }
    }
    var url = "/Platform/Form/MultiLookupDialog.aspx?ssel=false&cid=" + cid + "&enames=" + enames + "&ename=" + ename + "&aname=" + aname + "&iid=" + iid + "&faname=" + faname + "&fv=" + fv + "&mmename=" + mmename + "&mmaname=" + mmaname + "&mmfaname=" + mmfaname;
    ShowDialog(url, "Muli-Lookup", $(window).width() - 60, $(window).height() - 20, { "Select": function() {if (jQuery.isFunction(_LoadMultiLookupDialogAction)) { _LoadMultiLookupDialogAction(cid); } else { SelectMultiLookup(cid); }; } }, false);
}


function SelectMultiLookup(cid) {
    var wrapper = $("#" + cid + "Wrapper");
    if (wrapper.length > 0) {
        var div = document.createElement("div");
        $(div).html(wrapper.html());
        $("img.po-link", $("#po_multilookup_picks")).each(
            function() {
                if ($("img[iid='" + $(this).attr("iid") + "']", wrapper).length > 0) {
                    $(this).prev().remove();
                    $(this).next().remove();
                    $(this).next().remove();
                    $(this).next().remove();
                    $(this).remove();
                }
            });
        $(div).remove();
        wrapper.append($("#po_multilookup_picks").html());
        $("#" + cid).val(RegenerateMultiLookupValue(cid));
    }
    HideDialog();
}


 
var po_file_cid = "";
function LoadFileUploadDialog(cid, ename, aname, iid, eui, rename, riid, okjs, onshow) {
    if (!jQuery.isFunction(onshow)) { onshow = null};
    po_file_cid = cid;
    var url = '/Business/Document/SimpleDocumentUpload.aspx?inline=true&ename=' + ename + '&aname=' + aname;
    if (iid != null && iid != undefined) {
        url = url + '&iid=' + iid;
    }
    if (rename != null && rename != undefined && riid != null && riid != undefined) {
        url = url + "&rename=" + rename + "&riid=" + riid;
    }
    if (!jQuery.isFunction(okjs))
    {
        ShowDialog(url, "<img src='/Images/EntityIcons/ico_" + ename + ".gif' align='left' style='margin-right:5px;'> Upload " + eui, 400, 180, null, false, onshow, true);
    }
    else
    {
        ShowDialog(url, "<img src='/Images/EntityIcons/ico_" + ename + ".gif' align='left' style='margin-right:5px;'> Upload " + eui, 400, 220, { "Done": okjs }, false, onshow, true);
    }
}

function RefreshiFrame(cid) {
    var o = $("#" + cid);
    var url = "";
    if (o.attr("urlproviderid") != "" && $("#" + o.attr("urlproviderid")).length>0 ) {
        url = $("#" + o.attr("urlproviderid")).val();
    }
    else {
        url = o.attr("url");
    }
    
    if (url.indexOf("http://") < 0) {
        if (url.indexOf("/") == 0) {
            url = "http://" + $("#_domain").val() + url;
        }
        else {
            url = "http://" + $("#_domain").val() + "/" + url;
        }
    }

   o.attr("src", url);
}

function TagFromForm(ename, iid) {
    if (ename = null || ename == undefined) ename = $("#_ename").val();
    if (iid = null || iid == undefined) iid = $("#_iid").val();
    var t = "<img src='/Images/EntityIcons/ico_Tag.gif' align='left' style='margin-right:5px;'> Tag the current record";
    var url = "/Business/Tag/TagDialog.aspx?ename=" + ename + "&iid=" + iid;
    HideTabs();
    ShowWindow("TagForm", url, t, { "Tag it": function() { TagIt(ename, iid); } }, 400, 300, null, null, true, false, function() { OnTagItSuccess(); }, true); 
}

function TagIt(ename, iid) {
    var words = $("#ifadlgTagForm")[0].contentWindow.GetWords();
    var command = GenericAPICommand("Tag", "Tag", "void");
    AddCommandParameter(command, "entityName", "System.String", ename);
    AddCommandParameter(command, "instanceId", "System.Guid",iid);
    AddCommandParameter(command, "words", "System.String", words);
    AddCommandParameter(command, "score", "System.Int32", 1);
    ShowMessageDialog("ProgressDlg", MSG_TAG_TITLE, MSG_TAG_WAIT);
    ExecuteCommand(command, function() { $("#dlgTagForm").dialog("close"); }, OnTagItError);
}

function OnTagItError(v) {
    $("#dlgTagForm").dialog("close");
    OnError(v);
}

function OnTagItSuccess() {
    HideMessageDialog();
    ShowTabs();
}



function AssignFromForm() {
    var url = "/Platform/Form/LookupDialog.aspx?ssel=true&cid=&enames=SystemUser&ename=" + $("#_ename").val() + "&aname=OwnedBy&iid=" + $("#_iid").val();
    HideTabs();
    ShowDialog(url, "Select a user to be the new owner of the record", $(window).width() - 40, $(window).height() - 20, { "Change Owner": function() { AssignNewOwner(); } }, null, null, true, function() { OnAssignNewOwnerClose(); });
}

function OnAssignNewOwnerClose() {
    ShowTabs();
    HideDialog();
}

function AssignNewOwner() {
     var iid = $("#_po_iframeLookupGrid").contents().find('#_iids').val();
    
    ShowMessageDialog("ProgressDlg", MSG_ASSIGN_TITLE, MSG_ASSIGN_WAIT);
    var command = GenericAPICommand("Assign", "Assign", "void");
    AddCommandParameter(command, "entityId", "System.Guid", $("#_eid").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    AddCommandParameter(command, "systemUserId", "System.Guid", iid);
    ExecuteCommand(command, RefreshForm, OnAssignNewOwnerError);
}

function OnAssignNewOwnerError(v) {
    OnAssignNewOwnerClose();
    OnError(v);
}

function DeactivateFromForm() {
    var url = "/Content/Dialogs/StateChange.aspx?stateCode=1&ename=" + $("#_ename").val() + "&iid=" + $("#_iid").val();
    HideTabs();
    ShowDialog(url, "<img src='/Images/EntityIcons/ico_Default.gif' align='left' style='margin-right:5px;'> " + MSG_DEACTIVATERECORD_SELECTSTATUS, 300, 150, { "Submit": function() { SubmitStateChange(); } }, true, null, null, function() {
        ShowTabs(); HideDialog();
    });
}

function ActivateFromForm() {
    var url = "/Content/Dialogs/StateChange.aspx?stateCode=0&ename=" + $("#_ename").val() + "&iid=" + $("#_iid").val();
    HideTabs();
    ShowDialog(url, "<img src='/Images/EntityIcons/ico_Default.gif' align='left' style='margin-right:5px;'> " + MSG_ACTIVATERECORD_SELECTSTATUS, 300, 150, { "Submit": function() { SubmitStateChange(); } }, true, null, null, function() {
        ShowTabs(); HideDialog();
    });
}


function LoadTimeList(event, cid) {
    if (GetLookupInlineId() != cid) { SetLookupInlineId(cid); LoadTimeList(event, cid); }
    $("#po_lookup_inline_result").html("<img src='/Images/Progressing.gif'/>");
    _query = cid;
    var command = UICommand("RenderInlineTimeList", "Form", "RenderInlineTimeList", "System.String");
    AddCommandParameter(command, "cid", "System.String", cid);
    AddCommandParameter(command, "width", "System.Int32", 80);
    ExecuteCommand(command, function(v) { ShowInlineLookupResult(v, SelectInlineTime, 80,100);}, OnError);
}

function SelectInlineTime(o) {
    var cid = GetLookupInlineId();
    var dt = $("#" + cid);
    var idx = dt.val().indexOf(" ");
    if (idx > 0) {
        dt.val(dt.val().substring(0,idx) + " " + o.attr("time"));
    }
    else
    {
        dt.val(dt.val() + " " + o.attr("time"));
    }
    dt.trigger("change");
}

function InlineLookup(event, cid, func, onclick) {
    var o = $("#" + cid + "Inline");
    
    if ($("#" + cid + "Wrapper").length > 0 && $("#" + cid + "Wrapper").attr("readonly").toLowerCase() == "true") return;
    if (o.length > 0 && o.hasClass("po-pl") && o.attr("readonly")!=null && o.attr("readonly").toLowerCase() == "true") return;
    
    if (func == null || func == undefined) func = function(event, cid, onclick) { InlineLookupSearch(event, cid, onclick); };
    var po_lookup_inline = $("#po_lookup_inline");
    
    if (o.length==0) o = $("#" + cid);
    
    po_lookup_inline.html("<div class='po-c-lt'><div class='po-c-rt'><div class='po-c-ct'></div></div></div><div class='po-c-l'><div class='po-c-r'><div class='po-c-c'></div></div></div><div class='po-c-lb'><div class='po-c-rb'><div class='po-c-cb'></div></div></div>");
    var h = 48;
    if (o.offset().top + h > $(window).height()) {
        po_lookup_inline.css("top", o.offset().top - h - 6).css("left", o.offset().left - 10).width(o.width() + 20).height(h);
    }
    else {
        po_lookup_inline.css("top", o.offset().top - h - 6).css("left", o.offset().left - 10).width(o.width() + 20).height(h);
        po_lookup_inline.css("top", o.offset().top + 18).css("left", o.offset().left - 10).width(o.width() + 20).height();
    }
    po_lookup_inline.children(":eq(1)").children(":first").children(":first").html("<div id='po_lookup_inline_result' style=' z-index:900;width:" + (po_lookup_inline.width() - 20) + ";height:50;overflow:auto; overflow-x: hidden;  background-color:#FFFFFF;'></div>");

    SetLookupInlineId(cid);
    po_lookup_inline.show();
    func(event, cid, onclick);
   
}

function HideInlineLookup() {
    if ($("#po_lookup_inline_id").length == 0) return;
    if (GetLookupInlineId() != "") {
        var o = $("#" + GetLookupInlineId() + "Inline");
        if (o.length > 0) o.val("");
    }
    SetLookupInlineId("");
    $("#po_lookup_inline").html("");
    $("#po_lookup_inline").hide();
}


function SelectInlineLookupRow(dir, o) {
    var selRow = GetCurrentInlineRow();

    switch (dir) {
        case 'UP':
            {
                if (selRow.prev().length > 0) {
                    SelectInlineLookupRow('', selRow.prev());
                    selRow.css('background-color', '#FFFFFF');
                    
                }
                break;
            }
        case 'DN':
            {
                if (selRow.next().length > 0) {
                    SelectInlineLookupRow('', selRow.next());
                    selRow.css('background-color', '#FFFFFF');
                }
                break;
            }
        case '':
            {
                o.css('background-color', '#CCCCCC');
                break;
            }
    }
}

function GetLookupHTML(cid, icon, euiname, title) {
    var c = "<img class='po-lookup-icon' align='absmiddle' src='" + icon + "' alt='" + euiname + "' style='cursor:pointer' title='Inline display/edit the current record.'/>";
    c = c + "&nbsp;<img class='po-link po-lookup-icon' align='absmiddle' onclick=\"DeleteLookupItem('" + cid + "');\" src='/Images/Buttons/Form/Lookup_Remove.gif'/>";
    c = c + "&nbsp;<span id='" + cid + "Display' class='po-form-l' onclick=\"javascript:OpenRecord(this,document.getElementById('" + cid + "EntityName').value,document.getElementById('" + cid + "').value);\">" + title + "</span>";

    return c;
}

function SelectInlineLookup(o) {
    if(o.length==0) return;
    var cid = GetLookupInlineId();

    if ($("#" + cid + "Wrapper").length > 0) {
        $("#" + cid + "EntityId").val(o.attr("eid"));
        $("#" + cid + "EntityName").val(o.attr("ename"));
        $("#" + cid).val(o.attr("iid"));
        $("#" + cid + "StateCode").val(o.attr("statecode"));
        $("#" + cid + "Display").val(o.attr("title"));

        var c = GetLookupHTML(cid, o.children(":first").attr("src"), o.attr("euiname"), o.attr("title"));

        $("#" + cid + "Wrapper").html(c);
    }
    else {
        $("#" + cid).val(o.attr("code"));
        $("#" + cid).attr("v",o.attr("value"));
        $("#" + cid + "Inline").html(o.html());
        $("#" + cid + "Inline").dblclick();
    }
    HideInlineLookup();
    $(".po-form-btn", GetParentTD($("#" + cid)).next()).trigger("dblclick");
}

function GetMultiLookupHTML(cid, icon, ename, euiname, iid, title, delFunc) {
    var wrapper = $("#" + cid + "Wrapper");
    if ($("img[iid='" + iid + "']", wrapper).length > 0) return "";
    if (delFunc==null || delFunc==undefined)  delFunc = "DeleteMultiSelectLookupItem";
    var c = "<img class='po-lookup-icon' ename='" + ename + "' iid='" + iid + "' align='absmiddle' src='" + icon + "' alt='" + euiname + "' style='cursor:pointer' title='" + MSG_FORM_INLINEEDITTITLE + "'/>";
    c = c + "&nbsp;<img ename='" + ename + "' iid='" + iid + "'  onclick=\"" + delFunc + "(this,'" + cid + "');\" src='/Images/Buttons/Form/Lookup_Remove.gif' class='po-link po-mlookup-icon' align = 'absmiddle'/>"
    c = c + "<span>&nbsp;</span><span id='" + cid + "Display' class='po-form-l' onclick=\"javascript:OpenRecord(this,'" + ename + "','" + iid + "');\">" + title + "</span><span>&nbsp;;&nbsp;</span>";
    return c;   
}

function SelectInlineMultiLookup(o) {
    if (o.length == 0) return;
    var cid = GetLookupInlineId();
    var wrapper = $("#" + cid + "Wrapper");

    if (wrapper.length > 0) {
        var ename = o.attr("ename");
        var iid = o.attr("iid");
        var c = GetMultiLookupHTML(cid, o.children(":first").attr("src"), ename, o.attr("euiname"), iid, o.attr("title"));
        wrapper.append(c);
        $("#" + cid).val(RegenerateMultiLookupValue(cid));
    }
    HideInlineLookup();
    $("#" + cid + "Inline").focus().trigger("click");
}

function RegenerateMultiLookupValue(cid) {
    var wrapper = $("#" + cid + "Wrapper");
    if (wrapper.height() > 54) {
        wrapper.css("overflow", "auto").height(54);
    }

    if (wrapper.html() == "") return "";

    var xmlDoc = CreateXmlDoc("<Instances/>");
    var div = document.createElement("div");
    $(div).html(wrapper.html());
    $("img.po-link", $(div)).remove();
    var v = $(div).html().replace(/&nbsp;&nbsp;/g, "&nbsp;");
    if (v == "&nbsp;") return "";
    var xmlElemHTML = CreateXmlElement(xmlDoc, "HTML", v);
    $(div).remove();
    
    xmlDoc.documentElement.appendChild(xmlElemHTML);
    $("img", wrapper).each(function() {
        if ($(this).attr("iid") != undefined && $(this).hasClass("po-lookup-icon")) {
            var xmlElemIs = CreateXmlElement(xmlDoc, "Instance", "");
            var xmlElemI = CreateXmlElement(xmlDoc, "ID", $(this).attr("iid"));
            xmlElemIs.appendChild(xmlElemI);
            xmlDoc.documentElement.appendChild(xmlElemIs);
        }
    });
    return GetXmlDocContent(xmlDoc);
}

var _query = "";

function InlineLookupSearch(event, cid, onclick) {
    if (GetLookupInlineId() != cid) { SetLookupInlineId(cid); InlineLookupSearch(event, cid); }
    var wrapper = $("#" + cid + "Wrapper");
    if (wrapper.length > 0 && wrapper.attr("readonly").toLowerCase() == "true") return;
    
    switch (event.keyCode) {
        case KEY_ESC:
            {
                HideInlineLookup();
                return;
                break;
            }
        case KEY_UP:
            {
                SelectInlineLookupRow("UP");
                return;
                break;
            }
        case KEY_DOWN:
            {
                SelectInlineLookupRow("DN");
                return;
                break;
            }
        case KEY_ENTER:
            {
                var selRow = GetCurrentInlineRow();
                if (selRow != null) {
                    if (wrapper.hasClass("po-multilookup-inline-wrapper")) {
                        SelectInlineMultiLookup(selRow.children(":first"));
                    }
                    else {
                        SelectInlineLookup(selRow.children(":first"));
                    }
                    return;
                }
                break;
            }
        default:
            {
                if ($("#po_lookup_inline_result").length == 0) {
                    $(event.target).trigger("click");
                }
                if ($("#po_lookup_inline_result").html().indexOf(MSG_LOOKUP_ENTERKEY) < 0) {
                    var enames = wrapper.attr("enames");
                    var command = UICommand("RenderInlineCreateHTML", "Form", "RenderInlineCreateHTML", "System.String");
                    AddCommandParameter(command, "entityNames", "System.String", enames);
                    ExecuteCommand(command, function(v) {
                        var o = $("#po_lookup_inline_result");
                        if (v != "") v = "<br/><br/><b>" + MSG_LOOKUP_CREATEINLINE + "</b><br/>" + v;
                        o.html("<span>" + MSG_LOOKUP_ENTERKEY + v + "</span>");
                        $(".po-inline-create", o).click(function(event) { RenderInlineEdit(GetParentTR($("#" + GetLookupInlineId())), $(event.target).attr("ename"), ''); });
                        o.height(o.children(":first").height());
                        o.parent().height(o.height());
                        o.parent().parent().height(o.height());
                        o.parent().parent().parent().height(o.height());
                    });
                }
                return;
            }
    }

    var isMultiLookup = ($(".po-multilookup-inline-tb", $("#" + GetLookupInlineId()).parent()).length > 0);
                    
    $("#po_lookup_inline_result").html("<img src='/Images/Progressing.gif'/>");

    var command = UICommand("RenderInlineLookup", "Form", "RenderInlineLookup", "System.String");
    AddCommandParameter(command, "controlId", "System.String", cid);
    AddCommandParameter(command, "entityNames", "System.String", wrapper.attr("enames"));

    _query = "";
    if (isMultiLookup) _query = wrapper.next().val(); else _query = wrapper.children(":first").val();

    AddCommandParameter(command, "query", "System.String", _query);
    AddCommandParameter(command, "width", "System.Int32", $("#po_lookup_inline").width() - 20);
    AddCommandParameter(command, "filterAttributeName", "System.String", wrapper.attr("faname"));
   
    var fvpid = wrapper.attr("fvpid");
    var fv = "";
    if (fvpid.split('|').length > 1) {
        if ($("#" + fvpid.split('|')[1]).val() != "") {
            fv = "NULL|" + $("#" + fvpid.split('|')[1]).val();
        }
        else {
            fv = "";
        }
    }
    else {
        if (fvpid != "" && $("#" + fvpid) != null) {
            fv = $("#" + fvpid).val();
        }
    }

    AddCommandParameter(command, "filterAttributeValue", "System.String", fv);

    var mmename = wrapper.attr("mmename");
    var mmaname = wrapper.attr("mmaname");
    var mmfaname = wrapper.attr("mmfaname");

    AddCommandParameter(command, "mmEnityName", "System.String", mmename);
    AddCommandParameter(command, "mmAttributeName", "System.String", mmaname);
    AddCommandParameter(command, "mmFilterAttributeName", "System.String", mmfaname);
    //RenderInlineLookup( controlId, string entityName, string query, int width);
    
    ExecuteCommand(command, function(v) { ShowInlineLookupResult(v, onclick); }, OnError);

}

function SetLookupInlineId(v) {
    $("#po_lookup_inline_id").val(v);
}

function GetLookupInlineId() {
    return $("#po_lookup_inline_id").val();
}

function ShowInlineLookupResult(v, onclick, xoff, w) {
    var result = $("#po_lookup_inline_result");
    if (xoff == undefined || xoff == null) xoff = 0;
    if (w == undefined || w == null) w = 0;
    var cid = GetLookupInlineId();
    
    var xmlDoc = CreateXmlDoc(v);
    if (xmlDoc.documentElement != null) {
        
        var query = GetElementAttributeValue(xmlDoc.documentElement, "query");
        if (query != null && query != _query) return;
        
        var pos = v.indexOf(">");
        if (pos > 0) {
            v = v.substring(pos + 1);
            v = v.substring(0, v.length - 6);
        }
    }
    
    v = v.replace(/&lt;/g, "<").replace(/&gt;/g, ">");
    result.html(v);
    if ($(".po-irow-norecord", result).length > 0) {
        $(".po-inline-create", result).click(function(event) { RenderInlineEdit(GetParentTR($("#" + GetLookupInlineId())), $(event.target).attr("ename"), ''); });
    }
    else {
        result.children().each(function() {
            if ($(this).html() != "...") {
                $(this).hover(
            function() {
                SelectInlineLookupRow('', $(this));
            },
            function() { $(this).css('background-color', '#FFFFFF'); });

                if (onclick == null) {
                    $(this).click(function() {
                        if ($(".po-multilookup-inline-tb", $("#" + cid).parent()).length > 0) {
                            SelectInlineMultiLookup($(this).children(":first"));
                        }
                        else {
                            SelectInlineLookup($(this).children(":first"));
                        }
                    });
                }
                else {
                    $(this).click(function() {
                        onclick($(this).children(":first"));
                    });
                }

            }

        });
    }
    if ($(".po-irow-ico", $("#po_lookup_inline_result")).length > 0) {
        result.children(":first").css('background-color', '#CCCCCC');
    }
    
    var h = result.children().length * 18 + $("br",result).length*18;
    if (h > 18 * 11) h = 18 * 11;
    var o = $("#" + cid + "Inline");

    if (o.length == 0) o = $("#" + cid);
    var ini = $("#po_lookup_inline");
    if (ini.length == 0) ini = $("#po-lookup-inline");
    
    if (o.offset().top + h > $(window).height()) {
        ini.css("top", o.offset().top - h - 6).height(h);
    }
    else {
        ini.css("top", o.offset().top + 18).height(h);
    }

    ini.css("left", o.offset().left - 10 + xoff);
    if (w == 0) {
        w = o.width();
    }
   
    ini.width(w + 16);
    $(".po-c-c", ini).children(":first").width(w);
    $(".po-c-c", ini).children(":first").children().width(w - 20);
    result.height(h);
    result.parent().height(h);
    result.parent().parent().height(h);
    result.parent().parent().parent().height(h);
}

function GetCurrentInlineRow() {
    var selRow = null;
    $("#po_lookup_inline_result").children().each(
    function() {
        if ($(this).css("background-color").toLowerCase() != "#ffffff" && $(this).css("background-color").toLowerCase() != "transparent") {
            selRow = $(this);
        };
    });

    if (selRow == null && $("div",$("#po_lookup_inline_result")).length > 0) {
        selRow = $("#po_lookup_inline_result").children(":first");
    }
    return selRow;
}

function LoadLookupEntityList(event, cid, onclick) {
    if (GetLookupInlineId() != cid) { SetLookupInlineId(cid); LoadLookupEntityList(event, cid); }
    var o = $("#" + cid + "Inline");
    if (o.attr("enames") != o.attr("ename")) {
        var command = UICommand("RenderLookupEntityList", "Form", "RenderLookupEntityList", "System.String");
        AddCommandParameter(command, "entityNames", "System.String", o.attr("enames"));
        AddCommandParameter(command, "width", "System.Int32", o.width() - 20);
        ExecuteCommand(command, function(v) {ShowInlineLookupResult(v, onclick); }, OnError);
    }
}

function SelectLookupEntity(o) {
    var cid = GetLookupInlineId();
    $("#" + cid).val(o.attr("code"));
    var cidi = $("#" + cid + "Inline");
    cidi.html(o.html());
    var nobuttons = false;
    if (cidi.attr("nobuttons") != undefined && cidi.attr("nobuttons") == "true") nobuttons = true;

    var notabs = false;
    if (cidi.attr("notabs") != undefined && cidi.attr("notabs") == "true") notabs = true;
    
    
    var url = "/List.aspx?ssel=" + $("#_po_lookup_ssel").val() + "&ename=" + o.attr("ename");
    if (nobuttons) url = url + "&nobuttons=true";
    if (notabs) url = url + "&notabs=true";
    
    $("#_po_iframeLookupGrid").attr("src",url);
}



function LoadPickList(event, cid, onclick) {
    
    if (GetLookupInlineId() != cid) { SetLookupInlineId(cid); LoadPickList(event, cid); }
    $("#po_lookup_inline_result").html("<img src='/Images/Progressing.gif'/>");
    var ename = $("#" + cid + "Inline").attr("ename");
    var aname = $("#" + cid + "Inline").attr("aname");
    _query = ename + '-' + aname;
    
    var command = UICommand("RenderInlinePickList", "Form", "RenderInlinePickList", "System.String");
    AddCommandParameter(command, "entityName", "System.String", ename);
    AddCommandParameter(command, "attributeName", "System.String", aname);
    AddCommandParameter(command, "width", "System.Int32", $("#po_lookup_inline").width() - 20);

    ExecuteCommand(command, function(v) {ShowInlineLookupResult(v, onclick); }, OnError);
}

var _prefillmlholder = "";

function PreFillMultiLookupControl(ename, aname, lename,liid, isControlEnabled) {
    _prefillmlholder = $("#" + ename + "-" + aname + "Wrapper");
    if (_prefillmlholder.length > 0) {
        var command = UICommand("RenderPrefillMultiLookupControl", "Form", "RenderPrefillMultiLookupControl", "System.String");
        AddCommandParameter(command, "entityName", "System.String", ename);
        AddCommandParameter(command, "attributeName", "System.String", aname);
        AddCommandParameter(command, "lookupEntityName", "System.String", lename);
        AddCommandParameter(command, "lookupInstanceId", "System.Guid", liid);
        AddCommandParameter(command, "isControlEnabled", "System.Boolean", isControlEnabled.toString());
        ExecuteCommand(command, OnPreFillMultiLookupControlComplete, OnError);
    }
}

function OnPreFillMultiLookupControlComplete(v) {
    if (v != "") {
        _prefillmlholder.html(v);
    }
}

var _prefillholder = "";

function PreFillLookupControl(ename, aname, lename, liid, isControlEnabled) {
    _prefillholder = $("#" + ename + "-" + aname + "Inline").parent().parent().parent().parent().parent();
    if (_prefillholder.length == 0) _prefillholder = $("#" + ename + "-" + aname).parent();
    var command = UICommand("RenderPrefillLookupControl", "Form", "RenderPrefillLookupControl", "System.String");
    AddCommandParameter(command, "entityName", "System.String", ename);
    AddCommandParameter(command, "attributeName", "System.String", aname);
    AddCommandParameter(command, "lookupEntityName", "System.String", lename);
    AddCommandParameter(command, "lookupInstanceId", "System.Guid", liid);
    AddCommandParameter(command, "isControlEnabled", "System.Boolean", isControlEnabled.toString());
    ExecuteCommand(command, OnPreFillLookupControlComplete, OnError);
}

function OnPreFillLookupControlComplete(v) {
    HandleFillLookupComplete(v, _prefillholder);
}

var _fillholder = null;
function FillLookup(eName, aName, leName, laName, liid, isControlEnabled, OnFillLookupFunction) {
    _fillholder = $("#" + eName + "-" + aName + "Inline").parent().parent().parent().parent().parent();
    if (_fillholder.length == 0) _fillholder = $("#" + eName + "-" + aName).parent();
    var command = UICommand("RenderFillLookupControl", "Form", "RenderFillLookupControl", "System.String");
    AddCommandParameter(command, "entityName", "System.String", eName);
    AddCommandParameter(command, "attributeName", "System.String", aName);
    AddCommandParameter(command, "lookupEntityName", "System.String", leName);
    AddCommandParameter(command, "lookupAttributeName", "System.String", laName);
    AddCommandParameter(command, "lookupInstanceId", "System.Guid", liid);
    AddCommandParameter(command, "isControlEnabled", "System.Boolean", isControlEnabled.toString());
    
    if (OnFillLookupFunction == null) {
        ExecuteCommand(command, OnFillLookupControlComplete, OnError);
    }
    else {
        ExecuteCommand(command, OnFillLookupFunction, OnError);
    }
}

function OnFillLookupControlComplete(v) {
    HandleFillLookupComplete(v, _fillholder);
}

function HandleFillLookupComplete(v, o) {
    if (v != "") {
        var div = document.createElement("div");
        var oriWrapper = o.children(":last").children(":last").children(":last").children(":last");
        var faname = '';
        var fvpid = '';
        var enames = '';
        var mmename = '';
        var mmaname = '';
        var mmfaname = '';
        
        if (oriWrapper.length > 0) {
            faname = oriWrapper.attr("faname");
            fvpid = oriWrapper.attr("fvpid");
            enames = oriWrapper.attr("enames");
            mmename = oriWrapper.attr("mmename");
            mmaname = oriWrapper.attr("mmaname");
            mmfaname = oriWrapper.attr("mmfaname");
        }
        $(div).html(v);
        o.html($(div).children(":eq(1)").html());
        var curWrapper = o.children(":last").children(":last").children(":last").children(":last");
        curWrapper.attr("faname", faname);
        curWrapper.attr("fvpid", fvpid);
        curWrapper.attr("enames", enames);
        curWrapper.attr("mmename", mmename);
        curWrapper.attr("mmaname", mmaname);
        curWrapper.attr("mmfaname", mmfaname);
    }
}

function RankRecordFromForm(credit) {
    ShowMessageDialog("ProgressDlg", MSG_RANK_TITLE, MSG_RANK_WAIT);
    var command = GenericAPICommand("Rank", "Rank", "System.Int32");
    AddCommandParameter(command, "entityName", "System.String", $("#_ename").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    AddCommandParameter(command, "credit", "System.Int32", credit);
    ExecuteCommand(command, OnRankRecordFromFormCompleted, OnError);
}

function OnRankRecordFromFormCompleted(v) {
    ShowMessageDialog("DoneDlg", "Rank Record", "<p>The rank of the current record is <span style='color:#006699;'><b>" + v + "</b></span>.<br/><i>Note: One user can only vote once per hour.</i></p>",320,160);
}

function PublishFromForm() {
    ShowMessageDialog("ProgressDlg", MSG_PUBLISH_TITLE, MSG_PUBLISH_WAIT);
    var command = GenericAPICommand("GenericAPIs.Publish", "Publish", "System.Int32");
    AddCommandParameter(command, "entityName", "System.String", $("#_ename").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    ExecuteCommand(command, OnPublishFromFormCompleted, OnError);
}

function OnPublishFromFormCompleted(v) {
    window.location.reload(false);
}

function UnpublishFromForm() {
    ShowMessageDialog("ProgressDlg", MSG_UNPUBLISH_TITLE, MSG_UNPUBLISH_WAIT);
    var command = GenericAPICommand("Unpublish", "Unpublish", "System.Int32");
    AddCommandParameter(command, "entityName", "System.String", $("#_ename").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    ExecuteCommand(command, OnUnpublishFromFormCompleted, OnError);
}


function OnUnpublishFromFormCompleted(v) {
    window.location.reload(false);
}

function ExpandShrinkContent(o) {
    var expand = true;
    if ($(o).children(":first").attr("src").indexOf("Expand") > 0) {
        $(o).children(":first").attr("src",$(o).children(":first").attr("src").replace("Expand","Shrink"));
    }
    else
    {
        expand = false;
        $(o).children(":first").attr("src", $(o).children(":first").attr("src").replace("Shrink", "Expand"));
    }

    o = $(o).parent().parent();
    while (o.prev().length > 0) {
        if (o.prev().prev().length > 0) {
            if (expand) o.prev().hide(); else o.prev().show(); 
        }
        o = o.prev();
    }
    AdjustiFrame();
}

function UploadDocumentFromForm(ename, eui, rename, riid) {
    var r = "/Business/Document/SimpleDocumentUpload.aspx?ename=" + ename + "&aname=BinaryContent";
    if (rename != null && rename != undefined && riid != null && riid != undefined) {
        r = r + "&rename=" + rename + "&riid=" + riid;
    }
    ShowDialog(r, "<img src='/Images/EntityIcons/ico_" + ename + ".gif' align='left' style='margin-right:5px;'> Upload " + eui, 400, 220, {"Upload another file": function() { ReadyForAnotherDocument(); } }, false, null, true);
}

var _deletefile_cid = null;
function DeleteFile(cid, ename, iid, aname) {
    _deletefile_cid = cid;
    ShowMessageDialog("ProgressDlg", MSG_DELETEFILE_TITLE, MSG_DELETEFILE_WAIT);
    var command = GenericAPICommand("DeleteBinaryAttribute", "DeleteBinaryAttribute", "void");
    AddCommandParameter(command, "entityName", "System.String", ename);
    AddCommandParameter(command, "instanceId", "System.Guid", iid);
    AddCommandParameter(command, "attributeName", "System.String", aname);
    ExecuteCommand(command, OnDeleteFileCompleted, OnError);
}

function OnDeleteFileCompleted() {
    $("#" + _deletefile_cid).parent().html("<input id='" + _deletefile_cid + "' value='' class='po-v po-file' type='hidden'>");
    HideMessageDialog();
}

function OnContentTemplateMerge() {
    var command = PlatformCommand("ContentTemplate.MergeContent", "ContentTemplate", "MergeContent", "System.String");
    AddCommandParameter(command, "entityName", "System.String", $("#_ename").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    AddCommandParameter(command, "templateContent", "System.String", $("#" + GetCurControlId())[0].contentWindow.GetHTML());
    ExecuteCommand(command, OnSuccessDoApplyExistingContentTemplateToHTMLEditor, OnErrorDoApplyExistingContentTemplateToHTMLEditor);
}

function OnSuccessDoApplyExistingContentTemplateToHTMLEditor(v) {
    $("#" + GetCurControlId())[0].contentWindow.SetHTML(v);
    HideMessageDialog();
    $("#" + GetCurControlId())[0].contentWindow.HideMessageDialog();
}

function OnErrorDoApplyExistingContentTemplateToHTMLEditor(v) {
    HideMessageDialog();
    $("#" + GetCurControlId())[0].contentWindow.HideMessageDialog();
    OnError(v);
}


function ApplyColorToHTMLEditor(ename, aname, cmd) {
    var cid = ename + "-" + aname;
    $("#" + cid)[0].contentWindow.SetColor(cmd, $("#po_colorpicker_cur").val());
    HideDialog();
}

function ShowColorPickerDialog(ename, aname, color, func) {
    if (color == null || color == undefined) {
        color = $("#" + ename + "-" + aname).val();
    }
    ShowDialog("/FormControls/Color/ColorPicker.aspx", "Pick a color", 520, 310, { "Select": func }, null, function() { InitColorPicker(color); });
}

function PickColorForAttribute(ename,aname)
{
    $("#" + ename + "-" + aname).val($("#po_colorpicker_cur").val()).trigger("change");
    HideDialog();
}

function SendSMS(prefunc, postfunc) {
    $("#SMSMessage-SentResultCode").val(-2);
    SaveRecord(prefunc, postfunc);
}

function SendEmail(prefunc, postfunc) {
    $("#Email-SentResultCode").val(-2);
    var d = $("#Email-SentResultCodeDescription");
    if (d.tagName().toLowerCase()=="div")
    {
        d.html("");
    }
    d.val("");
    SaveRecord(prefunc, postfunc);
}

function RenderHTMLEditorImageEditor(ename, aname) {
   ShowDialog("/Controls/FTB_3_2_2/CreateImage.aspx", "Create/Edit an image", 640, 420, function() { UpdateHTMLEditorImage(ename, aname); }, null, function() { InitHTMLEditorImageEditor(ename, aname); }, true, function() { OnHTMLEditorImageEditorClose(ename, aname); });
}

function UpdateHTMLEditorImage(ename, aname) {
    var cid = ename + "-" + aname;
    var ftb = $("#" + cid)[0].contentWindow.GetFTB();
    var img = $("#" + cid)[0].contentWindow.GetCurrentImage();
    var src = $("#HTMLEditor-CreateImage-URL").val();
    if (src == '') {
        alert('Please provide the location of the image.');
        $("#" + cid)[0].contentWindow.GetWrapper().hide();
        return false;
    }

    if (jQuery.browser.msie) $("#" + cid)[0].contentWindow.GetWrapper().show();
    
    if (img==null) {
        var img = $(document.createElement("img"));
        UpdateHTMLEditorImagePreview(img);
        $("#" + cid)[0].contentWindow.InsertHTML(img.outerHTML());
    }
    else {
        UpdateHTMLEditorImagePreview(img);
    }
    
    OnHTMLEditorImageEditorClose(ename, aname);
};


function InitHTMLEditorImageEditor(ename, aname) {
    var cid = ename + "-" + aname;
    var ftb = $("#" + cid)[0].contentWindow.GetFTB();
    var img = ftb.GetNearest('img');
    var imgSrc = "";
    if (img) {
        img = $(img);
        var imgSrc = img.attr('temp_src');
        if (!imgSrc) imgSrc = img.attr('src');
        $("#HTMLEditor-CreateImage-URL").val(imgSrc);
        $("#HTMLEditor-CreateImage-Title").val(img.attr('alt'));
        $("#HTMLEditor-CreateImage-Width").val(img.width());
        $("#HTMLEditor-CreateImage-Height").val(img.height());
        $("#HTMLEditor-CreateImage-Width-Input").val(img.width());
        $("#HTMLEditor-CreateImage-Height-Input").val(img.height());
        $("#HTMLEditor-CreateImage-BorderThick-Input").val(img.css("borderLeftWidth").replace("px", "").replace("pt", ""));
        if ($("#HTMLEditor-CreateImage-BorderThick-Input").val() == "medium") $("#HTMLEditor-CreateImage-BorderThick-Input").val(0);

        if (img.css("border") != undefined) {
            var color = img.css("border").replace("solid", "").replace(img.css("borderLeftWidth"), "").replace(/ /, "");
            if (color.indexOf("-moz-use-text-color">0)) color="";
            $("#HTMLEditor-CreateImage-BorderColor").val(color);
            if ($("#HTMLEditor-CreateImage-BorderColor").val().indexOf("rgb") >= 0) {
                color = $("#" + cid)[0].contentWindow.FTB_RgbStringToHex($("#HTMLEditor-CreateImage-BorderColor").val());
                $("#HTMLEditor-CreateImage-BorderColor").val(color);
            }
        }
        var hspace = img.attr("hspace");
        if (parseInt(hspace) < 0) hspace = "";
        $("#HTMLEditor-CreateImage-HSpace-Input").val(hspace);
        var vspace = img.attr("vspace");
        if (parseInt(vspace) < 0) vspace = "";
        $("#HTMLEditor-CreateImage-VSpace-Input").val(vspace);

        $("#HTMLEditor-CreateImage-BorderThick").val($("#HTMLEditor-CreateImage-BorderThick-Input").val());
        $("#HTMLEditor-CreateImage-HSpace").val(hspace);
        $("#HTMLEditor-CreateImage-VSpace").val(vspace);
        if (img.attr("align") != "") {
            $("#HTMLEditor-CreateImage-Alignment").attr("v", img.attr("align"));
            $("#HTMLEditor-CreateImage-AlignmentInline").html(img.attr("align"));
        }
        else {
            $("#HTMLEditor-CreateImage-Alignment").attr("v", "");
            $("#HTMLEditor-CreateImage-AlignmentInline").html("Not Set");
        }
  
        $("#" + cid)[0].contentWindow.SetCurrentImage();
    }

    UpdateHTMLEditorImagePreview($('#po_hecreateimage_preview'));
    
    if (jQuery.browser.msie) $("#" + cid)[0].contentWindow.GetWrapper().hide();
};

function OnHTMLEditorImageEditorClose(ename, aname) {
    var cid = ename + "-" + aname;
    $("#" + cid)[0].contentWindow.ResetCurrentImage();
    if (jQuery.browser.msie) $("#" + cid)[0].contentWindow.GetWrapper().show();
    HideDialog();
}

function UpdateHTMLEditorImagePreview(img) {
    var align = $("#HTMLEditor-CreateImage-Alignment").attr("v");
    var url = $("#HTMLEditor-CreateImage-URL").val();
    var bt = $("#HTMLEditor-CreateImage-BorderThick").val();
    var bc = $("#HTMLEditor-CreateImage-BorderColor").val();
    var hs = $("#HTMLEditor-CreateImage-HSpace").val();
    var vs = $("#HTMLEditor-CreateImage-VSpace").val();
    
    if (url != img.attr("src") && url != "") {
        img.attr("src", url);
    }
    img.attr("alt", $("#HTMLEditor-CreateImage-Title").val());

    if (align != '') img.attr("align", align);
    if (bt != '') {
        img.css("border", bt + "px solid " + bc);
    }
    else {
        img.css("border", "");
    }
    
    img.attr("hspace", hs);
    img.attr("vspace", vs);
   
    img.width(parseInt($("#HTMLEditor-CreateImage-Width").val()));
    img.height(parseInt($("#HTMLEditor-CreateImage-Height").val()));
    
    $("#po_hecreateimage_previewwrapper").children(":first").width(Max(284, img.width() + 80));
}


function ShareFromForm() {
    var ename = $("#_ename").val();
    var iid = $("#_iid").val();
    var url = "/Platform/Form/ShareRecordDialog.aspx?cid=&enames=SystemUser,SystemUserGroup&ename=" + ename + "&iid=" + iid;
    HideTabs();
    ShowDialog(url, "Share the record", $(window).width() - 40, $(window).height() - 20, { "Share it": function() { ShareIt(); } }, null, null, true, function() { OnShareItClose(); });
}

function DeleteFromForm(dll, ns, cls, func) {
    if ($("#_ename").val() == "Entity" || $("#_ename").val() == "Attribute" || $("#_ename").val() == "EntityUI" || $("#_ename").val() == "AttributeUI") {
        alert(MSG_FEATURE_NOTREADY);
        return;
    }
    
    if (dll == null || dll == undefined) dll = 'PrimeObjects.ApplicationSystem.Platform.dll';
    if (ns == null || ns == undefined) ns = 'PrimeObjects.ApplicationSystem.Platform';
    if (cls == null || cls == undefined) cls = 'GenericAPIs';
    if (func == null || func == undefined) func = 'Delete';

    var content = MSG_CONFIRMDELETE_CONTENT;
    content = content + "<input type='hidden' id='po_qryrdel_dll' value='" + dll + "'/>";
    content = content + "<input type='hidden' id='po_qryrdel_ns' value='" + ns + "'/>";
    content = content + "<input type='hidden' id='po_qryrdel_cls' value='" + cls + "'/>";
    content = content + "<input type='hidden' id='po_qryrdel_func' value='" + func + "'/>";
    content = content + "<input type='hidden' id='po_qryrdel_eid' value='" + $("#_eid").val() + "'/>";
    ShowMessageDialog("ConfirmationDlg", MSG_CONFIRMDELETE_TITLE, content, 320, 200, { "No": function() { HideMessageDialog(); return; }, "Yes": function() { ConfirmedDelete(); } });
}

function ConfirmedDelete() {
    var dll = $("#po_qryrdel_dll").val();
    var ns = $("#po_qryrdel_ns").val();
    var cls = $("#po_qryrdel_cls").val();
    var func = $("#po_qryrdel_func").val();
    var eid = $("#po_qryrdel_eid").val();
    var iid = $('#_iid').val();
    if (iid != null && iid != "") {
        ShowMessageDialog("ProgressDlg", MSG_DELETERECORD_TITLE, MSG_DELETEFROMGRID_WAIT);

        var command = Command(cls + "." + func, dll, ns, cls, func, "Void");
        AddCommandParameter(command, "entityId", "System.Guid", eid);
        AddCommandParameter(command, "instanceId", "System.Guid", iid);
        ExecuteCommand(command, OnDeleteFromFormCompleted, OnError);
    }
    else {
        ShowMessageDialog("WarningDlg", MSG_DELETERECORD_TITLE, MSG_SELECTRECORD);
    }
}

function OnDeleteFromFormCompleted(v) {
    CloseForm();
}

function JumpFromForm(jump) {
    if (jump == "true") {
        HideMessageDialog();
        var ename = $("#_ename").val();
        var url = "/Platform/Form/LookupDialog.aspx?ssel=true&cid=&enames=" + ename + "&ename=" + ename;
        ShowDialog(url, "Jump to another record", $(window).width() - 40, $(window).height() - 20, { "Jump to": function() { JumpTo(); } });
    }
    else {
        if (!IsReadOnly() && !IsLocked()) {
            GetRecordChanges(function(c) {
                if (c.documentElement.childNodes.length > 0) {
                    ShowMessageDialog("ConfirmationDlg", MSG_CONFIRMJUMPSAVE_TITLE, MSG_CONFIRMJUMPSAVE_CONTENT, 360, 160,
            { "No": function() { JumpFromForm("true") },
                "Yes": function() {
                    SaveRecord(null, function() { JumpFromForm("true") });
                }
            });
                }
                else {
                    JumpFromForm("true");
                }
            });
        }
        else {
            JumpFromForm("true");
        }
    }
   
}

function JumpTo() {
    var id = $("#_po_iframeLookupGrid").contents().find('#_iids').val();
    if (id == $("_iid").val()) return;
    window.location = SetQueryString(window, "iid", id);
}

function BlogFromForm() {
    SaveRecord(null, function() {
        HideMessageDialog();
        var url = "/Platform/Form/LookupDialog.aspx?ssel=true&cid=&enames=Blog&ename=" + $("#_ename").val() + "&aname=" + $("#_ename").val() + "Id&iid=" + $("#_iid").val();
        HideTabs();
        ShowDialog(url, "Select a blog", $(window).width() - 40, $(window).height() - 20, { "Select": function() { SelectBlogLookup(); } }, null, null, true, function() { OnBlogFromFormClose(); });
    });
}

function OnBlogFromFormClose() {
    ShowTabs();
    HideDialog();
}

function SelectBlogLookup() {
    var iid = $("#_po_iframeLookupGrid").contents().find('#_iids').val();
    HideDialog();
    ShowTabs();
    ShowMessageDialog("ProgressDlg", MSG_CREATEBLOGFROMFORM_TITLE, MSG_CREATEBLOGFROMFORM_WAIT);
    var command = BusinessCommand("CreateItemFromInstance", "Blog", "CreateItemFromInstance", "System.Guid");
    AddCommandParameter(command, "entityId", "System.Guid", $("#_eid").val());
    AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
    AddCommandParameter(command, "blogId", "System.Guid", iid);
    ExecuteCommand(command, OpenNewBlogItem, OnError);
}

function OpenNewBlogItem(id) {
    HideMessageDialog();
    OpenRecord(null, 'BlogItem', id);
}

var _curLinkUrl = null;
var _curLinkControlId = null;
var _curLinkTitleControlId = null;

function SetCurFavLinkURL() {
    var url = $("#FavoriteLink-URL");
    if (url.length > 0) {
        _curLinkUrl = url.val();
    }
}
function AutoFillLinkName(cid, tcid) {
    var url = $("#" + cid).val();
    if (url != "") {
        _curLinkUrl = url;
        _curLinkControlId = cid;
        _curLinkTitleControlId = tcid;

        ShowMessageDialog("ProgressDlg", MSG_AUTOFILLLINKNAME_TITLE, MSG_AUTOFILLLINKNAME_WAIT);
        
        var command = Command("GetCompanyTitleFromURL", "PrimeObjects.ApplicationSystem.Util.dll", "PrimeObjects.ApplicationSystem.Util", "Helper", "GetURLTitle", "System.String");
        AddCommandParameter(command, "url", "System.String", url);
        ExecuteCommand(command, OnAutoFillLinkName, OnError);
    }
}

function OnAutoFillLinkName(v) {
    var o = $("#" + _curLinkTitleControlId);
    o.val(v);
    HideMessageDialog();
    o.focus();
}

function HideFormField(cid) {
    var tr = GetParentTR($("#" + cid));
    if (tr == null) return;
    if (tr.children().length == 4) {
        tr.hide();
    }
    else {
        var td = GetParentTD($("#" + cid));
        td.children().hide();
        if (td.prev().length > 0 && td.prev().hasClass("po-islabel")) {
            td.prev().children().hide();
        }
        td.next().children().hide();
    }
}

function ShowFormField(cid) {
    var tr = GetParentTR($("#" + cid));
    if (tr == null) return;
    if (tr.children().length == 4) {
        tr.show();
    }
    else {
        var td = GetParentTD($("#" + cid));
        td.children().show();
        if (td.prev().length > 0 && td.prev().hasClass("po-islabel")) {
            td.prev().children().show();
        }
        td.next().children().show();
    }
}

function OpenURL(cid) {
    var v = $("#" + cid).val();
    if (v == undefined || v == "") return;
    var o = $("#" + cid);
    if (o.hasClass("po-url")) {
        window.open($("#" + cid).val());
    }
    else {
        window.open($("#" + cid).next().html());
    }
}

function ChangePickListValue(cid, code, v) {
    if (v != null && v != undefined) {
        $("#" + cid).val(code);
        $("#" + cid + "Inline").html(v).trigger("dblclick");
    }
    else {
        var command = UICommand("GetPickListName", "Form", "GetPickListName", "System.String");
        AddCommandParameter(command, "controlId", "System.String", cid);
        AddCommandParameter(command, "code", "System.Int32", code);
        ExecuteCommand(command, OnChangePickListValue, OnError);
    }
}

function OnChangePickListValue(v) {
    var vs = v.split("|");
    $("#" + vs[0] + "Inline").html(v.replace(vs[0] + "|", "")).trigger("dblclick");
}

function ChangeBooleanValue(cid, v) {
    if (v == null) {
        if ($("#" + cid + '_true').attr("code") == $("#" + cid).val()) {
            $("#" + cid + '_true').trigger("click");
        }
        if ($("#" + cid + '_false').attr("code") == $("#" + cid).val()) {
            $("#" + cid + '_false').trigger("click");
        }
    }
    else {
        if (v) v = "true"; else v = "false";
        var o = $("#" + cid + '_' + v);
        if (o.length > 0 && v != $("#" + cid).val()) {
            o.trigger("click");
        }
    }
}

var _addressOwnerIdFromForm = "AddressOwner-AddressId";
function AddNewAddressFromForm(addressOwnerIdFromForm) {
    _addressOwnerIdFromForm = addressOwnerIdFromForm;
    var h = $(window).height() - 20;
    var w = $(window).width() - 40;
    var winid = "win_po_quick_Address";
    ShowWindow(winid, "/Form.aspx?quick=true&ename=Address&iid=&notab=false&noribbon=true", "<img src='Images/EntityIcons/ico_Address.gif' align='left' style='margin-right:5px;'></img>New Address", { Save: function() { SaveAndPutToAddressOwner(winid); } }, w, h, null, null, true);

}

function SaveAndPutToAddressOwner(winid) {
    $("#ifadlg" + winid)[0].contentWindow.SaveRecord(null, function(iid) { PutToAddressOwner(iid); });
}

function PutToAddressOwner(iid) {
    var dlg = $('#dlgwin_po_quick_Address');
    dlg.dialog('destroy');
    dlg.remove();
    var cid = _addressOwnerIdFromForm;
    $("#" + cid).val(iid);
    $("#" + cid + "EntityId").val("C474A541-D115-45C2-AE04-CA080B92421D");
    $("#" + cid + "StateCode").val("0");
    $("#" + cid + "EntityName").val("Address");

    var command = UICommand("GetLookupHTML", "Form", "GetLookupHTML", "System.String");
    AddCommandParameter(command, "controlId", "System.String", cid);
    AddCommandParameter(command, "entityName", "System.String", "Address");
    AddCommandParameter(command, "instanceId", "System.Guid", iid);
    ExecuteCommand(command, FillAddressForAddressOwner, OnError);
}

function FillAddressForAddressOwner(v) {
    $("#" + _addressOwnerIdFromForm + "Wrapper").html(v);
}

function RenderFormInlineMessage(tabid, msgid, msg, replace, w, h) {
    if (replace == null && replace == undefined) replace = false;
    if ($("#" + msgid).length==0) {
        if (replace) {
            $("#po_tab_content_" + tabid).html(RenderInlineMessage(msgid, msg, w, h));
        }
        else {
            $("#po_tab_content_" + tabid).children(":first").before(RenderInlineMessage(msgid, msg, w, h));
        }
    }
}

function PrintHTMLEditor(o) {
    o = $(o);
    var ifra = $("iframe", GetParentTD(o).prev());
    if (ifra.length > 0) {
        ifra[0].contentWindow.print();
    }
}

function PrintHTMLControl(o) {
    o = $(o);
    var ifra = $("iframe", GetParentTD(o).prev());
    if (ifra.length > 0) {
        ifra[0].contentWindow.PrintPage();
    }
}

function CheckDuplication(cid,dcode)
{
}

function RenderFormListPlayer(title, ename, rename, laname, riid) {
    var url = "/Business/ListPlayer/Player.aspx?fromform=true&ename=" + ename;
    if (rename != null && rename != undefined &&
    laname != null && laname != undefined &&
    riid != null && riid != undefined) {
        url = url + "&rename=" + rename + "&laname=" + laname + "&riid=" + riid;
    }
    AddFormTab(title, url);
}

function ShowNavItemContent(nid, t, ename, iid, type, iframeurl, iframescroll) {
    var title = t.replace("<br>", " ").replace("<br/>", " ");
    var tabid = "po_win_nav_" + nid;
    
    var url = "/PH_1x1.gif";
    switch (type) {
        case 0:
            {
                url = "/FormNav.aspx?loader=0&rename=" + ename + "&riid=" + iid + "&nid=" + nid;
                break;
            }
        case 1:
            {
                url = "/FormNav.aspx?loader=1&rename=" + ename + "&riid=" + iid + "&nid=" + nid;
                break;
            }
        case 2:
            {
                url = "/FormNav.aspx?loader=2&rename=" + ename + "&riid=" + iid + "&nid=" + nid;
                break;
            }
        case 3:
            {
                url = "/FormNav.aspx?loader=3&isaudit=true&rename=" + ename + "&riid=" + iid + "&nid=" + nid;
                break;
            }
        case 4:
            {
                url = "/FormNav.aspx?loader=4&rename=" + ename + "&riid=" + iid + "&nid=" + nid;
                break;
            }
    }

    AddFormTab(title, url);
}

function AddFormTab(title,url) {
    var nav = $("span", $("li:last", "#po_tabs_ul"));
    var lastidx = $("li", "#po_tabs_ul").length - 1;
    if (nav.attr("id") != "po_nav_tab") {
        nav = $("span", $("li:last", "#po_tabs_ul").prev());
        lastidx = lastidx - 1;
    }
    if (nav.length == 0) {
        $("#po_tabs").tabs("add", url, title).tabs("select", $("li", "#po_tabs_ul").length - 1);
        $("span", $("li:last", "#po_tabs_ul")).attr("id", "po_nav_tab");
    }
    else {
        nav.html(title);
        $("#po_tabs").tabs("url", lastidx, url);
        $("#po_ifanav").attr("src", url);
        $("#po_nav_tab").trigger("click");
    }
}


 function IsReadOnly() {
     if ($("#po_readonly").length == 0) {
         return false;
     }
     else {
         return $("#po_readonly").val().toLowerCase()=="true";
     }
 }

 function IsLocked() {
     if ($("#po_islocked").length == 0) {
         return false;
     }
     else {
         return $("#po_islocked").val().toLowerCase() == "true";
     }
 }

 function LockRecord() {
     SaveRecord(null, function() {
         var command = GenericAPICommand("Lock", "Lock", "void");
         AddCommandParameter(command, "entityId", "System.Guid", $("#_eid").val());
         AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
         ExecuteCommand(command, OnLockRecord, OnError);
     });
 }

 function OnLockRecord() {
     PostSaveReload($("#_iid").val());
 }

 function UnLockRecord() {
     var command = GenericAPICommand("Unlock", "Unlock", "void");
     AddCommandParameter(command, "entityId", "System.Guid", $("#_eid").val());
     AddCommandParameter(command, "instanceId", "System.Guid", $("#_iid").val());
     ExecuteCommand(command, OnUnLockRecord, OnError);
 }

 function OnUnLockRecord() {
     PostSaveReload($("#_iid").val());
 }

 var _lpEntityName = null;
 var _lpInstanceId = null;
 var _lpOnSave = null;
 var _lpOnAdj = null;
 var _lpCurTR = null;


 function ListPlayerCategory(ename, iid, onsave, onadjust) {
     _lpEntityName = ename;
     _lpInstanceId = iid;
     _lpOnSave = onsave;
     _lpOnAdj = onadjust;
     LoadTreeViewLookupDialog("CategoryInstance-CategoryId", false, OnListPlayerCategory, "CategoryInstance", "CategoryId")
 }

 function OnListPlayerCategory(cid, o) {
     if ($("span", o).text() != "Cancel") {
         if ($("#po_tvlookup_iids").val() != "") {
             var iids = $("#po_tvlookup_iids").val().split(',');
             var xml = "<Instances>";
             for (var i = 0; i < iids.length; i++) {
                 xml = xml + "<Instance><ID>" + iids[i] + "</ID></Instance>";
             }
             xml = xml + "</Instances>";
             ShowMessageDialog("ProgressDlg", MSG_MMCREATE_TITLE, MSG_MMCREATE_WAIT);
             var command = PlatformCommand('MMCreate', 'GenericAPIs', 'MMCreate', "System.String");
             AddCommandParameter(command, "entityName", "System.String", "CategoryInstance");
             AddCommandParameter(command, "sourceEntityName", "System.String", _lpEntityName);
             AddCommandParameter(command, "sourceAttributeName", "System.String", "InstanceId");
             AddCommandParameter(command, "sourceInstanceId", "System.Guid", _lpInstanceId);
             AddCommandParameter(command, "targetEntityName", "System.String", "Category");
             AddCommandParameter(command, "targetAttributeName", "System.String", "CategoryId");
             AddCommandParameter(command, "targetInstanceIdXml", "System.String", xml);
             ExecuteCommand(command, OnListPlayerUpdateCategories, OnError);
         }

         HideDialog($("#po_lookupdialog"));
     }
     else {
         LoadTreeViewLookup();
         $("span", o).text("Select");
         $("span", o.next()).text("New Record");
     }
 }

 function OnListPlayerUpdateCategories(v) {
     _lpOnSave(_lpInstanceId, _lpOnAdj);
 }

 function ListPlayerTag(ename, iid, onsave, onadjust) {
     _lpEntityName = ename;
     _lpInstanceId = iid;
     _lpOnSave = onsave;
     _lpOnAdj = onadjust;
     var t = "<img src='/Images/EntityIcons/ico_Tag.gif' align='left' style='margin-right:5px;'> Tag the current record";
     var url = "/Business/Tag/TagDialog.aspx?ename=" + ename + "&iid=" + iid;
     ShowWindow("TagForm", url, t, { "Tag it": function() { OnListPlayerTag(_lpEntityName, _lpInstanceId); } },
        400, 300, null, null, true, false, function() { OnListPlayerTagSuccess(); }, true);
 }

 function OnListPlayerTag(ename, iid) {
     var words = $("#ifadlgTagForm")[0].contentWindow.GetWords();
     var command = GenericAPICommand("Tag", "Tag", "void");
     AddCommandParameter(command, "entityName", "System.String", ename);
     AddCommandParameter(command, "instanceId", "System.Guid", iid);
     AddCommandParameter(command, "words", "System.String", words);
     AddCommandParameter(command, "score", "System.Int32", 1);
     ShowMessageDialog("ProgressDlg", MSG_TAG_TITLE, MSG_TAG_WAIT);
     ExecuteCommand(command, OnListPlayerTagSuccess, OnError);
     HideDialog($("#dlgTagForm"));
 }


 function OnListPlayerTagSuccess() {
     _lpOnSave(_lpInstanceId, _lpOnAdj);
 }

 function OnListPlayerSave(iid, onadjust) {
     iid = iid.replace("{", "").replace("}", "");
     var url = SetQueryString(window, "refreshid", iid);
     url = RemoveQueryStringVariable(url, "fromform");
     $.get(DynUrl(url), function(c) {
         if ($('#po_lp_tr' + iid).length > 0) {
             $('#po_lp_tr' + iid).remove();
         }
         var tr = GetParentTR($("#po_lp_editwrapper"));
         tr.after(c);
         InitListPlayer(tr.next());
         $("#po_lp_editwrapper").html("");
         $("#po_lp_buttons_tr").show();
         if (jQuery.isFunction(_lpOnAdj)) _lpOnAdj();
         AdjustListPlayer();
         HideMessageDialog();
     });
 }

 function OnListPlayerSaveReplaceOri(iid, onadjust) {
     iid = iid.replace("{", "").replace("}", "");
     var url = SetQueryString(window, "refreshid", iid)
     $.get(DynUrl(url), function(c) {
        var o = $('#po_lp_tr' + iid);
        o.after(c);
        InitListPlayer(o.next());
        o.remove();
        _lpOnAdj();
        HideMessageDialog();
     });
 }

 function ListPlayerDelete(o,ename, iid) {
     _lpEntityName = ename;
     _lpInstanceId = iid;
     _lpCurTR = GetParentTR(GetParentTABLE(GetParentTABLE($(o))));
     ShowMessageDialog("ConfirmationDlg", MSG_CONFIRMDELETE_TITLE, MSG_CONFIRMDELETE_CONTENT, 320, 200, { "No": function() { HideMessageDialog(); return; }, "Yes": function() { OnListPlayerDelete(); } });
 }

 function OnListPlayerDelete() {
     ShowMessageDialog("ProgressDlg", MSG_DELETERECORD_TITLE, MSG_DELETEFROMGRID_WAIT);
         //Check permission
    CheckPrivilege(_lpEntityName, _lpInstanceId, 4, function() {
         var command = GenericAPICommand("Delete", "Delete", "Void");
         AddCommandParameter(command, "entityName", "System.String",_lpEntityName);
         AddCommandParameter(command, "instanceId", "System.Guid", _lpInstanceId);
         ExecuteCommand(command, OnListPlayerDeleteCompleted, OnError);
    },
    function() {
        ShowMessageDialog("WarningDlg", MSG_PRIVILEGECHECK_TITLE, MSG_PRIVILEGECHECK_FAILED);
    });
}

function OnListPlayerDeleteCompleted(v) {
     HideMessageDialog();
     _lpCurTR.remove();
 }

 function ListPlayerDetail(ename,iid) {
     OpenRecord(null, ename, iid);
 }

 function ListPlayerHideShowContent(o) {
     o = $(o);
     var td = GetParentTD(GetParentTABLE(o));
     var src = o.children(":first").attr("src");
     if (src.toLowerCase().indexOf("expand_enabled") > 0) {
         o.children(":first").attr("src", src.replace("Expand_Enabled", "Shrink_Enabled")).attr("title", "Show content");
         $(".po-lp-body", td).hide();
     }
     else {
         o.children(":first").attr("src", src.replace("Shrink_Enabled", "Expand_Enabled")).attr("title", "Hide content");
         $(".po-lp-body", td).show();
     }
     AdjustListPlayer(); 
 }

 function ListPlayerMore() {
     var page = parseInt($("#po-lp-trmore").attr("page"));
     var url = SetQueryString(window, "more", page + 1)
     $("#po_lp_morebtn").html("<img style='height:20px;width:20px;' src='http://" + $("#_domain").val() + "/Images/Progressing.gif'/>");
     $.get(DynUrl(url), function(c) {
         if (c == "") {
             $("#po-lp-trmore").remove();
         }
         else {
             $("#po-lp-trmore").attr("page", page + 1);
             $("#po-lp-trmore").before(c);
             $("#po_lp_morebtn").html("Load More ...");
             $(".po-lp-moreload").each(function() {
             InitListPlayer($(this));
                 $(this).removeClass("po-lp-moreload");
             });
             AdjustListPlayer();
         }
     });
 }

 function ListPlayerHideShowAllContent(titleonly) {
     var o = $("#po_lp_hsbtn_ico");
     var src = o.attr("src");

     if (titleonly != undefined && titleonly != null) {
         if (titleonly) {
             src = "/Images/Buttons/Form/Expand_Enabled.gif";
         }
         else {
             src = "/I