Commit da0cd132 authored by dkasliwal's avatar dkasliwal

add web component in mfg module-resouce folder


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103042 ce508802-f39f-4f6c-b175-0d175dae99d5
parent bcaebce4
.tdLabel {
FONT-FAMILY: Arial;
font-size: 12pt;
}
.title {
FONT-FAMILY: Arial;
align: center;
font-size: 14pt;
}
.dropdown {
border-radius: 3px;
width: 1000px;
align: center;
background-color: #F5F5F5;
margin-top:10px;
}
.chartTable{
align: center;
border-spacing:3px;
}
.summaryTable {
height: 50px;
width: 100px;
align: center;
cellspacing:1;
cellpadding:2;
margin-left:auto;
margin-right:auto;
}
.summaryTr
{
background-color:#00cc00;
height: 30px;
font-size: 7pt;
}
.chartCell{
border:1px solid lightgrey;
}
.summaryDetail {
background-color: yellow;
height: 20px;
font-size: 7pt;
}
.countryLbl {
background-color: #F5F5F5;
margin-top:10px;
width: 1100px;
FONT-FAMILY: Arial;
font-size: 14pt;
}
/** Minimal stand-alone css for dropdownchecklist support
We highly recommend using JQuery ThemeRoller instead
*/
.ui-dropdownchecklist {
font-size: medium;
color: black;
}
.ui-dropdownchecklist-selector {
height: 20px;
border: 1px solid #ddd;
background: #fff;
}
.ui-state-hover, .ui-state-active {
border-color: #5794bf;
}
.ui-dropdownchecklist-dropcontainer {
background-color: #fff;
border: 1px solid #999;
}
.ui-dropdownchecklist-item {
}
.ui-state-hover {
background-color: #39f;
}
.ui-state-disabled label {
color: #ccc;
}
.ui-dropdownchecklist-group {
font-weight: bold;
font-style: italic;
}
.ui-dropdownchecklist-indent {
padding-left: 7px;
}
/* Font size of 0 on the -selector and an explicit medium on -text required to eliminate
descender problems within the containers and still have a valid size for the text */
.ui-dropdownchecklist-selector-wrapper {
vertical-align: middle;
font-size: 0px;
}
.ui-dropdownchecklist-selector {
padding: 1px 2px 2px 2px;
font-size: 0px;
}
.ui-dropdownchecklist-text {
font-size: medium;
/* line-height: 20px; */
}
.ui-dropdownchecklist-group {
padding: 1px 2px 2px 2px;
}
/*!
* jQuery JavaScript Library v1.6.1
* http://jquery.com/
*
* Copyright 2011, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2011, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Thu May 12 15:04:36 2011 -0400
*/
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(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(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem
)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.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 pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.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){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=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|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={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,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(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,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||
b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){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:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<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>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
(function(a){a.widget("ui.dropdownchecklist",{version:function(){alert("DropDownCheckList v1.4")},_appendDropContainer:function(b){var d=a("<div/>");d.addClass("ui-dropdownchecklist ui-dropdownchecklist-dropcontainer-wrapper");d.addClass("ui-widget");d.attr("id",b.attr("id")+"-ddw");d.css({position:"absolute",left:"-33000px",top:"-33000px"});var c=a("<div/>");c.addClass("ui-dropdownchecklist-dropcontainer ui-widget-content");c.css("overflow-y","auto");d.append(c);d.insertAfter(b);d.isOpen=false;return d},_isDropDownKeyShortcut:function(c,b){return c.altKey&&(a.ui.keyCode.DOWN==b)},_isDropDownCloseKey:function(c,b){return(a.ui.keyCode.ESCAPE==b)||(a.ui.keyCode.ENTER==b)},_keyFocusChange:function(f,i,c){var g=a(":focusable");var d=g.index(f);if(d>=0){d+=i;if(c){var e=this.dropWrapper.find("input:not([disabled])");var b=g.index(e.get(0));var h=g.index(e.get(e.length-1));if(d<b){d=h}else{if(d>h){d=b}}}g.get(d).focus()}},_handleKeyboard:function(d){var b=this;var c=(d.keyCode||d.which);if(!b.dropWrapper.isOpen&&b._isDropDownKeyShortcut(d,c)){d.stopImmediatePropagation();b._toggleDropContainer(true)}else{if(b.dropWrapper.isOpen&&b._isDropDownCloseKey(d,c)){d.stopImmediatePropagation();b._toggleDropContainer(false);b.controlSelector.focus()}else{if(b.dropWrapper.isOpen&&(d.target.type=="checkbox")&&((c==a.ui.keyCode.DOWN)||(c==a.ui.keyCode.UP))){d.stopImmediatePropagation();b._keyFocusChange(d.target,(c==a.ui.keyCode.DOWN)?1:-1,true)}else{if(b.dropWrapper.isOpen&&(c==a.ui.keyCode.TAB)){}}}}},_handleFocus:function(f,d,b){var c=this;if(b&&!c.dropWrapper.isOpen){f.stopImmediatePropagation();if(d){c.controlSelector.addClass("ui-state-hover");if(a.ui.dropdownchecklist.gLastOpened!=null){a.ui.dropdownchecklist.gLastOpened._toggleDropContainer(false)}}else{c.controlSelector.removeClass("ui-state-hover")}}else{if(!b&&!d){if(f!=null){f.stopImmediatePropagation()}c.controlSelector.removeClass("ui-state-hover");c._toggleDropContainer(false)}}},_cancelBlur:function(c){var b=this;if(b.blurringItem!=null){clearTimeout(b.blurringItem);b.blurringItem=null}},_appendControl:function(){var j=this,c=this.sourceSelect,k=this.options;var b=a("<span/>");b.addClass("ui-dropdownchecklist ui-dropdownchecklist-selector-wrapper ui-widget");b.css({display:"inline-block",cursor:"default",overflow:"hidden"});var f=c.attr("id");if((f==null)||(f=="")){f="ddcl-"+a.ui.dropdownchecklist.gIDCounter++}else{f="ddcl-"+f}b.attr("id",f);var h=a("<span/>");h.addClass("ui-dropdownchecklist-selector ui-state-default");h.css({display:"inline-block",overflow:"hidden","white-space":"nowrap"});var d=c.attr("tabIndex");if(d==null){d=0}else{d=parseInt(d);if(d<0){d=0}}h.attr("tabIndex",d);h.keyup(function(l){j._handleKeyboard(l)});h.focus(function(l){j._handleFocus(l,true,true)});h.blur(function(l){j._handleFocus(l,false,true)});b.append(h);if(k.icon!=null){var i=(k.icon.placement==null)?"left":k.icon.placement;var g=a("<div/>");g.addClass("ui-icon");g.addClass((k.icon.toOpen!=null)?k.icon.toOpen:"ui-icon-triangle-1-e");g.css({"float":i});h.append(g)}var e=a("<span/>");e.addClass("ui-dropdownchecklist-text");e.css({display:"inline-block","white-space":"nowrap",overflow:"hidden"});h.append(e);b.hover(function(){if(!j.disabled){h.addClass("ui-state-hover")}},function(){if(!j.disabled){h.removeClass("ui-state-hover")}});b.click(function(l){if(!j.disabled){l.stopImmediatePropagation();j._toggleDropContainer(!j.dropWrapper.isOpen)}});b.insertAfter(c);a(window).resize(function(){if(!j.disabled&&j.dropWrapper.isOpen){j._toggleDropContainer(true)}});return b},_createDropItem:function(g,f,o,l,q,h,e,k){var m=this,c=this.options,d=this.sourceSelect,p=this.controlWrapper;var t=a("<div/>");t.addClass("ui-dropdownchecklist-item");t.css({"white-space":"nowrap"});var r=h?' checked="checked"':"";var j=e?' class="inactive"':' class="active"';var b=p.attr("id");var n=b+"-i"+g;var s;if(m.isMultiple){s=a('<input disabled type="checkbox" id="'+n+'"'+r+j+' tabindex="'+f+'" />')}else{s=a('<input disabled type="radio" id="'+n+'" name="'+b+'"'+r+j+' tabindex="'+f+'" />')}s=s.attr("index",g).val(o);t.append(s);var i=a("<label for="+n+"/>");i.addClass("ui-dropdownchecklist-text");if(q!=null){i.attr("style",q)}i.css({cursor:"default"});i.html(l);if(k){t.addClass("ui-dropdownchecklist-indent")}t.addClass("ui-state-default");if(e){t.addClass("ui-state-disabled")}i.click(function(u){u.stopImmediatePropagation()});t.append(i);t.hover(function(v){var u=a(this);if(!u.hasClass("ui-state-disabled")){u.addClass("ui-state-hover")}},function(v){var u=a(this);u.removeClass("ui-state-hover")});s.click(function(w){var v=a(this);w.stopImmediatePropagation();if(v.hasClass("active")){var x=m.options.onItemClick;if(a.isFunction(x)){try{x.call(m,v,d.get(0))}catch(u){v.prop("checked",!v.prop("checked"));m._syncSelected(v);return}}m._syncSelected(v);m.sourceSelect.trigger("change","ddcl_internal");if(!m.isMultiple&&c.closeRadioOnClick){m._toggleDropContainer(false)}}});t.click(function(y){var x=a(this);y.stopImmediatePropagation();if(!x.hasClass("ui-state-disabled")){var v=x.find("input");var w=v.prop("checked");v.prop("checked",!w);var z=m.options.onItemClick;if(a.isFunction(z)){try{z.call(m,v,d.get(0))}catch(u){v.prop("checked",w);m._syncSelected(v);return}}m._syncSelected(v);m.sourceSelect.trigger("change","ddcl_internal");if(!w&&!m.isMultiple&&c.closeRadioOnClick){m._toggleDropContainer(false)}}else{x.focus();m._cancelBlur()}});t.focus(function(v){var u=a(this);v.stopImmediatePropagation()});t.keyup(function(u){m._handleKeyboard(u)});return t},_createGroupItem:function(f,d){var b=this;var e=a("<div />");e.addClass("ui-dropdownchecklist-group ui-widget-header");if(d){e.addClass("ui-state-disabled")}e.css({"white-space":"nowrap"});var c=a("<span/>");c.addClass("ui-dropdownchecklist-text");c.css({cursor:"default"});c.text(f);e.append(c);e.click(function(h){var g=a(this);h.stopImmediatePropagation();g.focus();b._cancelBlur()});e.focus(function(h){var g=a(this);h.stopImmediatePropagation()});return e},_createCloseItem:function(e){var b=this;var d=a("<div />");d.addClass("ui-state-default ui-dropdownchecklist-close ui-dropdownchecklist-item");d.css({"white-space":"nowrap","text-align":"right"});var c=a("<span/>");c.addClass("ui-dropdownchecklist-text");c.css({cursor:"default"});c.html(e);d.append(c);d.click(function(g){var f=a(this);g.stopImmediatePropagation();f.focus();b._toggleDropContainer(false)});d.hover(function(f){a(this).addClass("ui-state-hover")},function(f){a(this).removeClass("ui-state-hover")});d.focus(function(g){var f=a(this);g.stopImmediatePropagation()});return d},_appendItems:function(){var d=this,f=this.options,h=this.sourceSelect,g=this.dropWrapper;var b=g.find(".ui-dropdownchecklist-dropcontainer");h.children().each(function(j){var k=a(this);if(k.is("option")){d._appendOption(k,b,j,false,false)}else{if(k.is("optgroup")){var l=k.prop("disabled");var n=k.attr("label");if(n!=""){var m=d._createGroupItem(n,l);b.append(m)}d._appendOptions(k,b,j,true,l)}}});if(f.explicitClose!=null){var i=d._createCloseItem(f.explicitClose);b.append(i)}var c=b.outerWidth();var e=b.outerHeight();return{width:c,height:e}},_appendOptions:function(g,d,f,c,b){var e=this;g.children("option").each(function(h){var i=a(this);var j=(f+"."+h);e._appendOption(i,d,j,c,b)})},_appendOption:function(g,b,h,d,n){var m=this;var k=g.html();if((k!=null)&&(k!="")){var j=g.val();var i=g.attr("style");var f=g.prop("selected");var e=(n||g.prop("disabled"));var c=m.controlSelector.attr("tabindex");var l=m._createDropItem(h,c,j,k,i,f,e,d);b.append(l)}},_syncSelected:function(h){var i=this,l=this.options,b=this.sourceSelect,d=this.dropWrapper;var c=b.get(0).options;var g=d.find("input.active");if(l.firstItemChecksAll=="exclusive"){if((h==null)&&a(c[0]).prop("selected")){g.prop("checked",false);a(g[0]).prop("checked",true)}else{if((h!=null)&&(h.attr("index")==0)){var e=h.prop("checked");g.prop("checked",false);a(g[0]).prop("checked",e)}else{var f=true;var k=null;g.each(function(m){if(m>0){var n=a(this).prop("checked");if(!n){f=false}}else{k=a(this)}});if(k!=null){if(f){g.prop("checked",false)}k.prop("checked",f)}}}}else{if(l.firstItemChecksAll){if((h==null)&&a(c[0]).prop("selected")){g.prop("checked",true)}else{if((h!=null)&&(h.attr("index")==0)){g.prop("checked",h.prop("checked"))}else{var f=true;var k=null;g.each(function(m){if(m>0){var n=a(this).prop("checked");if(!n){f=false}}else{k=a(this)}});if(k!=null){k.prop("checked",f)}}}}}var j=0;g=d.find("input");g.each(function(n){var m=a(c[n+j]);var o=m.html();if((o==null)||(o=="")){j+=1;m=a(c[n+j])}m.prop("selected",a(this).prop("checked"))});i._updateControlText();if(h!=null){h.focus()}},_sourceSelectChangeHandler:function(c){var b=this,d=this.dropWrapper;d.find("input").val(b.sourceSelect.val());b._updateControlText()},_updateControlText:function(){var c=this,g=this.sourceSelect,d=this.options,f=this.controlWrapper;var h=g.find("option:first");var b=g.find("option");var i=c._formatText(b,d.firstItemChecksAll,h);var e=f.find(".ui-dropdownchecklist-text");e.html(i);e.attr("title",e.text())},_formatText:function(b,d,e){var f;if(a.isFunction(this.options.textFormatFunction)){try{f=this.options.textFormatFunction(b)}catch(c){alert("textFormatFunction failed: "+c)}}else{if(d&&(e!=null)&&e.prop("selected")){f=e.html()}else{f="";b.each(function(){if(a(this).prop("selected")){if(f!=""){f+=", "}var g=a(this).attr("style");var h=a("<span/>");h.html(a(this).html());if(g==null){f+=h.html()}else{h.attr("style",g);f+=a("<span/>").append(h).html()}}});if(f==""){f=(this.options.emptyText!=null)?this.options.emptyText:"&nbsp;"}}}return f},_toggleDropContainer:function(e){var c=this;var d=function(f){if((f!=null)&&f.dropWrapper.isOpen){f.dropWrapper.isOpen=false;a.ui.dropdownchecklist.gLastOpened=null;var h=f.options;f.dropWrapper.css({top:"-33000px",left:"-33000px"});var g=f.controlSelector;g.removeClass("ui-state-active");g.removeClass("ui-state-hover");var j=f.controlWrapper.find(".ui-icon");if(j.length>0){j.removeClass((h.icon.toClose!=null)?h.icon.toClose:"ui-icon-triangle-1-s");j.addClass((h.icon.toOpen!=null)?h.icon.toOpen:"ui-icon-triangle-1-e")}a(document).unbind("click",d);f.dropWrapper.find("input.active").prop("disabled",true);if(a.isFunction(h.onComplete)){try{h.onComplete.call(f,f.sourceSelect.get(0))}catch(i){alert("callback failed: "+i)}}}};var b=function(n){if(!n.dropWrapper.isOpen){n.dropWrapper.isOpen=true;a.ui.dropdownchecklist.gLastOpened=n;var g=n.options;if((g.positionHow==null)||(g.positionHow=="absolute")){n.dropWrapper.css({position:"absolute",top:n.controlWrapper.position().top+n.controlWrapper.outerHeight()+"px",left:n.controlWrapper.position().left+"px"})}else{if(g.positionHow=="relative"){n.dropWrapper.css({position:"relative",top:"0px",left:"0px"})}}var m=0;if(g.zIndex==null){var l=n.controlWrapper.parents().map(function(){var o=a(this).css("z-index");return isNaN(o)?0:o}).get();var i=Math.max.apply(Math,l);if(i>=0){m=i+1}}else{m=parseInt(g.zIndex)}if(m>0){n.dropWrapper.css({"z-index":m})}var j=n.controlSelector;j.addClass("ui-state-active");j.removeClass("ui-state-hover");var h=n.controlWrapper.find(".ui-icon");if(h.length>0){h.removeClass((g.icon.toOpen!=null)?g.icon.toOpen:"ui-icon-triangle-1-e");h.addClass((g.icon.toClose!=null)?g.icon.toClose:"ui-icon-triangle-1-s")}a(document).bind("click",function(o){d(n)});var f=n.dropWrapper.find("input.active");f.prop("disabled",false);var k=f.get(0);if(k!=null){k.focus()}}};if(e){d(a.ui.dropdownchecklist.gLastOpened);b(c)}else{d(c)}},_setSize:function(b){var m=this.options,f=this.dropWrapper,l=this.controlWrapper;var k=b.width;if(m.width!=null){k=parseInt(m.width)}else{if(m.minWidth!=null){var c=parseInt(m.minWidth);if(k<c){k=c}}}var i=this.controlSelector;i.css({width:k+"px"});var g=i.find(".ui-dropdownchecklist-text");var d=i.find(".ui-icon");if(d!=null){k-=(d.outerWidth()+4);g.css({width:k+"px"})}k=l.outerWidth();var j=(m.maxDropHeight!=null)?parseInt(m.maxDropHeight):-1;var h=((j>0)&&(b.height>j))?j:b.height;var e=b.width<k?k:b.width;a(f).css({height:h+"px",width:e+"px"});f.find(".ui-dropdownchecklist-dropcontainer").css({height:h+"px"})},_init:function(){var c=this,d=this.options;if(a.ui.dropdownchecklist.gIDCounter==null){a.ui.dropdownchecklist.gIDCounter=1}c.blurringItem=null;var g=c.element;c.initialDisplay=g.css("display");g.css("display","none");c.initialMultiple=g.prop("multiple");c.isMultiple=c.initialMultiple;if(d.forceMultiple!=null){c.isMultiple=d.forceMultiple}g.prop("multiple",true);c.sourceSelect=g;var e=c._appendControl();c.controlWrapper=e;c.controlSelector=e.find(".ui-dropdownchecklist-selector");var f=c._appendDropContainer(e);c.dropWrapper=f;var b=c._appendItems();c._updateControlText(e,f,g);c._setSize(b);if(d.firstItemChecksAll){c._syncSelected(null)}if(d.bgiframe&&typeof c.dropWrapper.bgiframe=="function"){c.dropWrapper.bgiframe()}c.sourceSelect.change(function(i,h){if(h!="ddcl_internal"){c._sourceSelectChangeHandler(i)}})},_refreshOption:function(e,d,c){var b=e.parent();if(d){e.prop("disabled",true);e.removeClass("active");e.addClass("inactive");b.addClass("ui-state-disabled")}else{e.prop("disabled",false);e.removeClass("inactive");e.addClass("active");b.removeClass("ui-state-disabled")}e.prop("checked",c)},_refreshGroup:function(c,b){if(b){c.addClass("ui-state-disabled")}else{c.removeClass("ui-state-disabled")}},close:function(){this._toggleDropContainer(false)},refresh:function(){var b=this,e=this.sourceSelect,d=this.dropWrapper;var c=d.find("input");var g=d.find(".ui-dropdownchecklist-group");var h=0;var f=0;e.children().each(function(i){var j=a(this);var l=j.prop("disabled");if(j.is("option")){var k=j.prop("selected");var n=a(c[f]);b._refreshOption(n,l,k);f+=1}else{if(j.is("optgroup")){var o=j.attr("label");if(o!=""){var m=a(g[h]);b._refreshGroup(m,l);h+=1}j.children("option").each(function(){var p=a(this);var r=(l||p.prop("disabled"));var q=p.prop("selected");var s=a(c[f]);b._refreshOption(s,r,q);f+=1})}}});b._syncSelected(null)},enable:function(){this.controlSelector.removeClass("ui-state-disabled");this.disabled=false},disable:function(){this.controlSelector.addClass("ui-state-disabled");this.disabled=true},destroy:function(){a.Widget.prototype.destroy.apply(this,arguments);this.sourceSelect.css("display",this.initialDisplay);this.sourceSelect.prop("multiple",this.initialMultiple);this.controlWrapper.unbind().remove();this.dropWrapper.remove()}});a.extend(a.ui.dropdownchecklist,{defaults:{width:null,maxDropHeight:null,firstItemChecksAll:false,closeRadioOnClick:false,minWidth:50,positionHow:"absolute",bgiframe:false,explicitClose:null}})})(jQuery);
\ No newline at end of file
<%@ page contentType="text/html"%>
<%@ page import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"%>
<%@page import="ibase.dashboard.mfg.ejb.*"%>
<%@page import="ibase.utility.CommonConstants"%>
<%@ page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="ibase.webitm.utility.GenericUtility"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.*"%>
<%@page import="java.text.SimpleDateFormat"%>
<jsp:useBean id="machineUtDetailBean" class="ibase.dashboard.mfg.bean.MachineUtlDetailsBean"></jsp:useBean>
<%!GenericUtility genericUtility = GenericUtility.getInstance();
String user="1313";
String siteCode="";
String toDate="";
String fromDate="";
List wrkDList =new ArrayList<String>() ;
int ctr = 0;
String xmlDataString="";
Document dom = null;
NodeList dtlList = null;
NodeList wrkDateList = null;
Node parentNode = null;
NodeList childNodeList = null;
Node currDetailNode = null;
String childNodeName = "";
String mc_code="";
String pre_mCode="";
String descr="";
String work_date="";
String work_ctr = "";
String shift="";
String load_date="";
int workDateLength=0;
HashSet hs = new HashSet();
NodeList workDateChildList=null;
Node workshiftDetailNode=null;
boolean status=false;
String load_mc_code="";
String load_shift="";
String item_code="";
String item_descr="";
String worder="";
String start_date="";
String end_date="";
Calendar calendar=null;
NodeList detailNodeList=null;
NodeList wrkCenterList=null;
NodeList descrList=null;
NodeList shiftList=null;
Node detailNode=null;
Node workCenterNode=null;
Node descrNode=null;
Node shifNode=null;
String pre_workDate="";
//Add new field here
String rptTitle="";
String xmlsiteCodeList="";
String sitedescr="";
String currentMonth="";
String currentYear="";
String xmlFormatData="";
int month=13;
int year=0;
%>
<%
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache,must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
CommonConstants.setAPPLICATION_CONTEXT(config.getServletContext().getRealPath("/"));
%>
<html>
<head>
<link href="/ibase/jquery/css/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="/ibase/jquery/js/jquery.min.js"></script> <script src="/ibase/jquery/js/jquery-ui.min.js"></script>
<script src="/ibase/jquery/js/jquery-1.9.1.js"></script>
<script src="/ibase/jquery/js/jquery-ui.js"></script>
<style type="text/css">
.container {
overflow: auto;
}
.section1Div {
height: 50px;
float: left;
overflow: auto;
}
.leftDiv {
height: 100%;
width: 100% px;
float: left;
overflow: auto;
}
.detailTable {
font-size: 10px;
font-family: Arial;
border-collapse: collapse;
}
.detailTableHeadingTr {
font-size: 10pt;
border-bottom: 1px solid black;
font-weight: bold;
vertical-align: top;
text-align: center;
}
.detailTableTr {
border-bottom: 1px solid black;
}
.detailTableTd {
border: 1px solid black;
vertical-align: top;
font-size: 10px;
font-family: Arial;
}
.wrkordrtbl {
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
width: 400px;
font: Arial, sans-serif, courier;
font-size: 9pt;
margin-left: 5;
margin-top: 4;
}
.workorderdtltbl {
background: none repeat scroll 0 0 #EFF5FB;
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
width: 420px;
font: Arial, sans-serif, courier;
font-size: 9pt;
/* border: 1px solid;*/
}
.shiftTableTd {
border: 1px solid black;
vertical-align: top;
font-size: 10px;
font-family: Arial;
}
.whiteColorTd {
border: 1px solid black;
vertical-align: top;
font-size: 10px;
font-family: Arial;
height: 17px;
width: 18px;
}
</style>
<script>
var xmlDatInScript;
function setDateNYear()
{
selectedSiteCode=document.getElementById("sitecode").value;
currentMonth=document.getElementById("month").value;
currentYear=document.getElementById("year").value;
if(currentMonth !=null )
{
window.location.replace("MachineUtlDetails.jsp?month="+currentMonth+"&year="+currentYear+"&siteCode="+selectedSiteCode);
<%
xmlDataString="";
currentMonth=request.getParameter("month");
currentYear=request.getParameter("year");
siteCode=request.getParameter("siteCode");
if( machineUtDetailBean !=null && currentMonth !=null )
{
xmlDataString = machineUtDetailBean.getMachineUtlDetailsBySiteCode(siteCode,currentMonth,currentYear);
System.out.println("in item change xmlDataString "+xmlDataString);
xmlDataString = xmlDataString.replaceAll("\"", "'");
}
%>
xmlDatInScript="<%=xmlDataString%>";
}
}
function getOnclickData(wrkCenter,wrkdate,shift)
{
//alert("wrkCenter = "+wrkCenter +"wotkdate = "+wrkdate +"shift= "+shift);
var newTable,startTag,endTag;
startTag="<TABLE id='wrkOrdertbl' class='wrkordrtbl' border='1'><TBODY>"
endTag="</TBODY></TABLE>"
<%
xmlDataString = xmlDataString.replaceAll("\"", "'");
%>
var data="<%=xmlDataString%>";
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(data,"text/xml");
}
else
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(data);
}
if (xmlDoc != null && xmlDoc != "")
{
x=xmlDoc.getElementsByTagName("Root")[0];
detailNodeList = x.childNodes;
for (i = 0; i < detailNodeList.length; i++)
{
detailNode=detailNodeList[i];
wrkCtrList= detailNode.childNodes;
if(wrkCtrList[0].attributes !=null)
{
workCenter=wrkCtrList[0].attributes.getNamedItem("wrkcenter").nodeValue;
if(wrkCenter==workCenter)
{
for (j = 0; j < wrkCtrList.length; j++)
{
wrkctrNode= wrkCtrList[j];
workDateNodeList= wrkctrNode.childNodes;
for (k= 0; k< workDateNodeList.length; k++)
{
dayNode=workDateNodeList[k];
if(k !=0)
{
if(dayNode.attributes!=null)
{
workDate=dayNode.attributes.getNamedItem("date").nodeValue;
if(workDate==wrkdate)
{
shiftNodeList=dayNode.childNodes;
for (l= 0; l< shiftNodeList.length; l++)
{
shiftNode=shiftNodeList[l];
selectedShift= shiftNode.attributes.getNamedItem("shift").nodeValue;
if(selectedShift==shift)
{
newTable=startTag;
actualUsedList=shiftNode.childNodes;
for (l= 0; l< actualUsedList.length; l++)
{
dtlNode=actualUsedList[l];
itmDtlList= dtlNode.childNodes;
newTable+="<TR>";
newTable+="<TD>";
newTable+="<TABLE id='workOrderDtlTbl' class='workorderdtltbl'>";
for (m= 0; m< itmDtlList.length; m++)
{
itemDtlNode=itmDtlList[m];
if(m==0)
{
newTable+="<TR><TD> Work Order :" +itemDtlNode.childNodes[0].nodeValue; +"<TD></TR>";
}
if(m==1)
{
newTable+="<TR><TD> Item Code :" +itemDtlNode.childNodes[0].nodeValue; +"<TD>";
}
if(m==2)
{
newTable+="<TD> Description :" +itemDtlNode.childNodes[0].nodeValue; +"<TD></TR>";
}
if(m==3)
{
newTable+="<TR><TD> Work Center :" +itemDtlNode.childNodes[0].nodeValue; +"<TD></TR>";
}
if(m==4)
{
newTable+="<TR><TD> Start Date :" +itemDtlNode.childNodes[0].nodeValue; +"<TD></TR>";
}
if(m==5)
{
newTable+="<TR><TD> End Date :" +itemDtlNode.childNodes[0].nodeValue; +"<TD></TR>";
}
}
newTable+="</TABLE>";
newTable+="</TD>";
newTable+="</TR>";
}
newTable+=endTag;
}
}
}
}
}
}
}
}
}
}
}
if(typeof(newTable) !="undefined")
{/*
document.getElementById('worderDetailDiv').innerHTML=newTable;
$("#worderDetailDiv").dialog({width:440,height:350});
$('#worderDetailDiv').css({
width: '440px',
}); */
}
if(typeof(shift) =="undefined" || typeof(newTable)=="undefined")
{
$('#worderDetailDiv').dialog('close');
}
}
</script>
<script type="text/javascript">
function setMonthNYearSelected()
{
var selectedMonth ="<%=request.getParameter("month")%>";
var selectedYear ="<%=request.getParameter("year")%>";
var selectedSiteCode ="<%=request.getParameter("siteCode")%>";
var monthDropDwn = document.getElementById("month");
var yearDropDwn = document.getElementById("year");
var siteCodeDropDwn = document.getElementById("sitecode");
var opts = monthDropDwn.options.length;
for ( var i = 0; i < opts; i++)
{
if (monthDropDwn.options[i].value == selectedMonth)
{
monthDropDwn.options[i].selected = true;
break;
}
}
var opts = yearDropDwn.options.length;
for ( var i = 0; i < opts; i++)
{
if (yearDropDwn.options[i].value == selectedYear)
{
yearDropDwn.options[i].selected = true;
break;
}
}
var opts = monthDropDwn.options.length;
for ( var i = 0; i < opts; i++)
{
if (siteCodeDropDwn.options[i].value == selectedSiteCode)
{
siteCodeDropDwn.options[i].selected = true;
break;
}
}
}
</script>
</head>
<body>
<form name="form1" id="form1" >
<div id="container" class="container">
<%
try
{
rptTitle = request.getParameter("rtitle");
if (rptTitle == null || rptTitle.trim().length() == 0)
{
rptTitle =" " ;
}
else
{
if(rptTitle.equalsIgnoreCase("Y") && rptTitle.trim().length()!= 0)
{
rptTitle ="Machine Utilization Details";
}
else
{
rptTitle =" " ;
}
}
//End of block for report title display
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yy");
calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
int lastDayOfMonth=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
String lastDateOfMoth = simpleDateFormat.format(calendar.getTime());
calendar=null;
calendar=Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
String frstDate = simpleDateFormat.format(calendar.getTime());
Context context = new InitialContext();
if (user != null && user.trim().length() != 0)
{
xmlsiteCodeList=machineUtDetailBean.getSiteCodeList();
System.out.println("CurrentMonth--> "+currentMonth);
System.out.println("Current Year--> "+currentYear);
System.out.println("siteCode after--> "+siteCode);
if(currentMonth !=null && currentYear!=null && siteCode !=null && machineUtDetailBean !=null )
{
if(xmlDataString !=null && xmlDataString.length()<=0)
{
xmlDataString = machineUtDetailBean.getMachineUtlDetailsBySiteCode(siteCode,currentMonth,currentYear);
System.out.println("xmlDataString-->"+xmlDataString);
}
}
else
{
if(xmlsiteCodeList !=null && xmlsiteCodeList.trim().length() > 0)
{
if(currentMonth ==null && siteCode==null && machineUtDetailBean!=null && currentYear==null )
{
dom = genericUtility.parseString(xmlsiteCodeList);
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr <1 ; cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
if(childNodeList.getLength()>0)
{
siteCode = childNodeList.item(0).getTextContent();
calendar=Calendar.getInstance();
month = calendar.get(Calendar.MONTH);
//year= calendar.get(Calendar.YEAR);
year= 2011;
out.print("month is= "+month +" Year is after modification="+year);
xmlDataString = machineUtDetailBean.getMachineUtlDetailsBySiteCode(siteCode,""+month,""+year);
}
}
}
}
}
}
//----------------------------------------------------------
%>
<div id="section1Div" class="section1Div">
<table>
<tr>
<td class="tdLabel">Site Code :</td>
<td><select id="sitecode" name="sitecode">
<%
if (xmlsiteCodeList!= null && xmlsiteCodeList.trim().length() > 0)
{
dom = genericUtility.parseString(xmlsiteCodeList);
if (dom != null)
{
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
if(childNodeList.getLength()>0)
{
siteCode = childNodeList.item(0).getTextContent();
sitedescr = childNodeList.item(1).getTextContent();
%>
<option value="<%=siteCode%>"><%=sitedescr%></option>
<%
}
}
}
}
%>
</select></td>
<td class="tdLabel">Month:</td>
<td>
<select id="month" name="month" onchange="setDateNYear()">
<%
if(month!=13 && month==0)
{%>
<option value='00' selected="selected">January</option>
<%
}else
{
%>
<option value='00'>January</option>
<%
}
if(month!=13 && month==1)
{%>
<option value='01' selected="selected">February</option>
<%
}else
{
%>
<option value='01'>February</option>
<%
}
if(month!=13 && month==2)
{%>
<option value='02' selected="selected">March</option>
<%
}else
{
%>
<option value='02'>March</option>
<%
}
if(month!=13 && month==3)
{%>
<option value='03' selected="selected" >April</option>
<%
}else
{
%>
<option value='03'>April</option>
<%
}
if(month!=13 && month==4)
{%>
<option value='04' selected="selected">May</option>
<%
}else
{
%>
<option value='04'>May</option>
<%
}
if(month!=13 && month==5)
{%>
<option value='05' selected="selected">June</option>
<%
}else
{
%>
<option value='05'>June</option>
<%
}
if(month!=13 && month==6)
{
%>
<option value='06' selected="selected">July</option>
<%
}else
{
%>
<option value='06'>July</option>
<%
}
if(month!=13 && month==7)
{
%>
<option value='07' selected="selected">August</option>
<%
}else
{
%>
<option value='07'>August</option>
<%
}
if(month!=13 && month==8)
{
%>
<option value='08' selected="selected">September</option>
<%
}
else
{
%>
<option value='08'>September</option>
<%
}
if(month!=13 && month==9)
{
%>
<option value='09' selected="selected">October</option>
<%
}else
{
%>
<option value='09'>October</option>
<%
}
if(month!=13 && month==10)
{
%>
<option value='10' selected="selected">November</option>
<%
}else
{
%>
<option value='10'>November</option>
<%
}
if(month!=13 && month==11)
{
%>
<option value='11' selected="selected">December</option>
<%
}else
{
%>
<option value='11'>December</option>
<%
}
%>
</select>
</td>
<td class="tdLabel">Year:</td>
<td><select id="year" name="year" onchange="setDateNYear()">
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<%
if(year!=0 && year==2013)
{
%>
<!-- <option value="2013" selected="selected">2013</option> -->
<%
}else
{
%>
<option value="2013">2013</option>
<%
}
if(year!=0 && year==2014)
{
%>
<option value="2014" selected="selected">2014</option>
<%
}else
{
%>
<option value="2014">2014</option>
<%
}
if(year!=0 && year==2015)
{
%>
<option value="2015" selected="selected">2015</option>
<%
}else
{
%>
<option value="2015">2015</option>
<%
}
if(year!=0 && year==2016)
{
%>
<option value="2016" selected="selected">2016</option>
<%
}else
{
%>
<option value="2016">2016</option>
<%
}
if(year!=0 && year==2017)
{
%>
<option value="2017" selected="selected">2017</option>
<%
}else
{
%>
<option value="2017">2017</option>
<%
}
if(year!=0 && year==2018)
{
%>
<option value="2018" selected="selected">2018</option>
<%
}else
{
%>
<option value="2018">2018</option>
<%
}
if(year!=0 && year==2019)
{
%>
<option value="2019" selected="selected">2019</option>
<%
}else
{
%>
<option value="2019">2019</option>
<%
}
if(year!=0 && year==2020)
{
%>
<option value="2020" selected="selected">2020</option>
<%
}else
{
%>
<option value="2020">2020</option>
<%
}
if(year!=0 && year==2021)
{
%>
<option value="2021" selected="selected">2021</option>
<%
}else
{
%>
<option value="2021">2021</option>
<%
}
if(year!=0 && year==2022)
{
%>
<option value="2022" selected="selected">2022</option>
<%
}else
{
%>
<option value="2022">2022</option>
<%
}
%>
</select></td>
</tr>
</table>
</div>
<%
if(xmlDataString.indexOf("<work_ctr>") > -1)
{ %>
<div id="leftDiv" class="leftDiv"> <table class="detailTable"> <tr class="detailTableHeadingTr"> <td class="shiftTableTd">Work Center</td> <td class="shiftTableTd">Description</td>
<%
//xmlDataString="<?xml version='1.0'?><Root><Detail><work_ctr>GAVIS</work_ctr><mc_code>HVIB18 </mc_code><descr>VISUAL INSPECTION BOOTH</descr><work_date date='2013-07-01 00:00:00.0'><shift>MG1</shift><shift>TG1</shift><shift>WG1</shift></work_date><work_date date='2013-07-02 00:00:00.0'><shift>TG1</shift></work_date><work_date date='2013-07-03 00:00:00.0'><shift>WG1</shift></work_date><work_date date='2013-07-04 00:00:00.0'><shift>HG1</shift></work_date><load_details><shift_details><load_mc_code>HVIB18 </load_mc_code><load_date>2013-07-01 00:00:00.0</load_date><load_shift>MG1</load_shift></shift_details><shift_details><load_mc_code>HVIB18 </load_mc_code><load_date>02-JAN-13</load_date><load_shift>TG1</load_shift></shift_details><shift_details><load_mc_code>HVIB18 </load_mc_code><load_date>2013-07-04 00:00:00.0</load_date><load_shift>HG1</load_shift></shift_details></load_details></Detail></Root>";
dom = genericUtility.parseString(xmlDataString);
if(dom !=null )
{
detailNodeList = dom.getElementsByTagName("Detail");
for(int dltCnt=0; dltCnt<1; dltCnt++)
{
detailNode= detailNodeList.item(dltCnt);
wrkCenterList =detailNode.getChildNodes();
for(int wrkListCnt=0; wrkListCnt<1; wrkListCnt++)
{
workCenterNode=wrkCenterList.item(wrkListCnt);
descrList= workCenterNode.getChildNodes();
int cntr=0;
for(int descrListCnt=0; descrListCnt<descrList.getLength(); descrListCnt++)
{
descrNode=descrList.item(descrListCnt);
if(descrListCnt >0)
{
cntr++;
shiftList=descrNode.getChildNodes();
%>
<td class="shiftTableTd"><%=cntr %>
<table>
<tr>
<%
for(int shiftCnt=0; shiftCnt<shiftList.getLength(); shiftCnt++)
{
shifNode= shiftList.item(shiftCnt);
if(shifNode!=null)
{
%>
<td class="shiftTableTd"><%=shifNode.getAttributes().item(0).getNodeValue()%>
</td>
<%
}
}
%>
</tr>
</table></td>
<%
}
}
}
}
}
%>
</tr>
<%
String color="";
String workCentr="";
int length=0;
if(dom !=null )
{
detailNodeList = dom.getElementsByTagName("Detail");
for(int dltCnt=0; dltCnt<detailNodeList.getLength(); dltCnt++)
{
detailNode= detailNodeList.item(dltCnt);
wrkCenterList =detailNode.getChildNodes();
for(int wrkListCnt=0; wrkListCnt<wrkCenterList.getLength(); wrkListCnt++)
{
workCenterNode=wrkCenterList.item(wrkListCnt);
descrList= workCenterNode.getChildNodes();
%>
<tr class="detailTableTr">
<td class="detailTableTd"><%= workCenterNode.getAttributes().item(0).getNodeValue() %></td>
<%
for(int descrListCnt=0; descrListCnt<descrList.getLength(); descrListCnt++)
{
descrNode=descrList.item(descrListCnt);
if(descrListCnt <1)
{
%>
<td class="detailTableTd"><%=descrNode.getTextContent()%></td>
<%
}else
{
shiftList=descrNode.getChildNodes();
%>
<td class="shiftTableTd">
<table>
<tr>
<%
for(int shiftCnt=0; shiftCnt<shiftList.getLength(); shiftCnt++)
{
shifNode= shiftList.item(shiftCnt);
if(shifNode!=null)
{
if(shifNode.getFirstChild()!=null)
{
color=shifNode.getFirstChild().getAttributes().item(0).getNodeValue();
workCentr=shifNode.getFirstChild().getFirstChild().getTextContent();
length=workCentr.length();
if(color.equals("yellow") || color.equals("lightgreen"))
{
xmlDataString = xmlDataString.replaceAll("\"", "'");
%>
<td class="shiftTableTd" bgcolor="<%=color%>" onclick="getOnclickData('<%=workCenterNode.getAttributes().item(0).getNodeValue()%>','<%=descrNode.getAttributes().item(0).getNodeValue()%>','<%= shifNode.getAttributes().item(0).getNodeValue()%>')"> <%=workCentr.subSequence(length-3,length) %></td>
<%
}
else
{
%>
<td bgcolor="<%=color%>" class="whiteColorTd" onclick="getOnclickData()">&nbsp;</td>
<%
}
}
else
{
%>
<td bgcolor="<%=color%>" class="whiteColorTd" onclick="getOnclickData()">&nbsp;</td>
<%
}
}
}
%>
</tr>
</table>
</td>
<%
}
}
%>
</tr>
<%
}
}
}
%>
</table>
<div id="worderDetailDiv"></div>
</div>
<%
}
} catch (Exception ex)
{
System.out.println("Exception in JSP ::" + ex.getMessage());
}
%>
<%
%>
</form>
<script>
window.onload=setMonthNYearSelected;
</script>
</body>
</html>
<%@page contentType="text/html"%>
<%@page import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"%>
<%@page import="ibase.dashboard.mfg.bean.*"%>
<%@page import="javax.naming.Context"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="ibase.webitm.utility.GenericUtility"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page errorPage="error.jsp"%>
<%@ page import="java.io.File,ibase.utility.CommonConstants" %>
<%@page import="java.text.SimpleDateFormat"%>
<jsp:useBean id="productionVsBudgetBean" scope="request" class="ibase.dashboard.mfg.bean.ProductionVsBudgetReportBean" />
<%!GenericUtility genericUtility = GenericUtility.getInstance();
String objName = "";
Document dom = null;
NodeList dtlList = null;
Node parentNode = null;
NodeList childNodeList = null;
Node currDetail = null;
ArrayList<String> chartDataList = null;
List<String> geoLocList = null;
List<String> unitFormList = null;
String childNodeName = "";
String period = "";
String netsales = "";
String amount = "";
String fin_entity = "";
StringBuffer chartData = null;
String selectedEntity = "";
String entity = "", descr = "";
String user = "TA821";
String rptTitle = "";
String srcJSPath = "";
String srcImagesPath = "";
Calendar calendar = null;
String frmDate = "";
String toDate = "", unitForm = "";
String dayQty = "", fldValue = "";
String fldDescr="",unitDescr="";
NodeList locationList = null;
NodeList detailList = null;
NodeList unitList = null;
NodeList dateList = null;
NodeList dayQtyList = null;
Node locationNode = null;
NodeList foreCastList = null;
Node unitNode = null;
Node dateNode = null;
Node dayNode = null;
Node foreCastNode = null;
String date = "";
int lastDayOfMonth = 0;
int todaysDay = 0;
int month = 0;
int preyear = 0;
int preyearVal = 0;
int year = 0;
int curryearVal =0;
int currmonthVal =0;
String[] geo_loc = null;
String[] unit_form = null;
String unitFrmXml = "";
String geoLocCodeXml = "";
String xmlDataString ="";
String checkGeoLoc = "";
String checkUnitForm = "";
List<String> sumDayPro = null;
List<String> cumLstYear = null;
List<Double> cumuQty = null;
List<String> LBEList = null;
SimpleDateFormat simpleDateFormat = null;
Double cumulativePro = 0.0;
Double cumuQtyInDoubl = 0.0;
Double cumLstYearInDouble = 0.0;
Double lbeInDouble = 0.0;
String cumulativeProStr = "";
String cumuQtyStr = "";
String cumLstYearStr = "";
String lbeValStr = "";
//11/11/2013
String[] seclectYear = null;
String[] seclectMonth = null;
String monthStr="";
int day=1;
//28/11/2013
int deviceDisplay=0;
int deviceFilter=0;
%>
<%
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache,must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
%>
<%
String userAgent = request.getHeader("user-agent");
if (userAgent.indexOf("Android") > 0 || userAgent.indexOf("iPhone") > 0 )
{
srcJSPath = "/ibase/FusionChart/js/FusionCharts.js";
srcImagesPath = "/ibase/FusionChart/images/MSCombi3D.swf";
System.out.println("userAgent for iPhone==" + userAgent);
deviceDisplay =1;
deviceFilter =3;
}
else if (userAgent.indexOf("Android") > 0 || userAgent.indexOf("iPad") > 0)
{
System.out.println("userAgent For iPad==" + userAgent);
deviceDisplay =2;
deviceFilter =3;
}
else
{
srcJSPath = "/ibase/FusionChart/js/FusionCharts.js";
srcImagesPath = "/ibase/FusionChart/images/MSCombi3D.swf";
System.out.println("userAgent for PC ==" + userAgent);
deviceDisplay =3;
deviceFilter =1;
System.out.println("srcJSPath =="+srcJSPath+"srcImagesPath==="+srcImagesPath);
}
%>
<html>
<head>
<script type="text/javascript" src="<%=srcJSPath%>"></script>
<link rel="stylesheet" type="text/css" href="/ibase/dashboard/mfg/css/ui.dropdownchecklist.standalone.css" />
<link rel="stylesheet" type="text/css" href="/ibase/dashboard/mfg/css/mfg.css" />
<script type="text/javascript" src="/ibase/dashboard/mfg/jquery/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="/ibase/dashboard/mfg/jquery/jquery-ui-1.8.13.custom.min.js"></script>
<script type="text/javascript" src="/ibase/dashboard/mfg/jquery/ui.dropdownchecklist-1.4-min.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){
$("#geo_loc").dropdownchecklist({ firstItemChecksAll: true, maxDropHeight: 100 ,emptyText: "Select ..."});
});
$(document).ready(function(){
$("#unit_form").dropdownchecklist({ firstItemChecksAll: true, maxDropHeight: 100,emptyText: "Select ..."});
});
$(document).ready(function(){
$("#acct_year").dropdownchecklist({emptyText: "For previous." });
});
$(document).ready(function(){
$("#acct_month").dropdownchecklist({emptyText: "For previous." });
});
//function for validation on change 27/11/2013
function isLocationSelected()
{
if (document.getElementById("geo_loc").selectedIndex == -1 )
{
alert("Please select at least one Location code");
return false;
}
else if(document.getElementById("unit_form").selectedIndex==-1)
{
alert("Please select at least one Unit Form");
return false;
}
return true;
}
</script>
<body>
<%
try
{
//ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean)session.getAttribute("USER_INFO");
simpleDateFormat = new SimpleDateFormat("dd-MMM-yy");
calendar = Calendar.getInstance();
preyear = calendar.get(Calendar.YEAR) - 1;
preyearVal = calendar.get(Calendar.YEAR) - 1;
month = calendar.get(Calendar.MONTH)+1 ;
currmonthVal = calendar.get(Calendar.MONTH)+1;
year = calendar.get(Calendar.YEAR);
curryearVal = calendar.get(Calendar.YEAR);
//out.println("Testing Month==="+month);
String currDate = simpleDateFormat.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
toDate = simpleDateFormat.format(calendar.getTime());
calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
frmDate = simpleDateFormat.format(calendar.getTime());
todaysDay = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
lastDayOfMonth = Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);
//frmDate = "01-apr-12";
//toDate = "30-apr-12";
//new code added by Birendra Pandey It is VIMP
seclectYear = request.getParameterValues("acct_year");
seclectMonth = request.getParameterValues("acct_month");
if(seclectYear!=null && seclectMonth!=null)
{
year = Integer.parseInt(seclectYear[0]);
month = Integer.parseInt(seclectMonth[0]);
preyear = year - 1;
if(month==1)
monthStr="Jan";
else if(month==2)
monthStr="Feb";
else if(month==3)
monthStr="Mar";
else if(month==4)
monthStr="Apr";
else if(month==5)
monthStr="May";
else if(month==6)
monthStr="Jun";
else if(month==7)
monthStr="Jul";
else if(month==8)
monthStr="Aug";
else if(month==9)
monthStr="Sep";
else if(month==10)
monthStr="Oct";
else if(month==11)
monthStr="Nov";
else if(month==12)
monthStr="Dec";
//ADD-------1St of month and last of month
calendar =Calendar.getInstance();
calendar.set(year, month-1, day);
frmDate = simpleDateFormat.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
toDate = simpleDateFormat.format(calendar.getTime());
lastDayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
//End of -------1St of month and last of month
currDate =todaysDay+"-"+monthStr+"-"+seclectYear[0];
//out.println("frmDate===="+frmDate+"To Date====="+toDate);
//out.println("lastDayOfMonth for selected "+lastDayOfMonth);
}
//End by Birendra Pandey
rptTitle = "Production Vs Budget Report For :" + currDate;
unitFrmXml = productionVsBudgetBean.getUnitFormXmlData();
geoLocCodeXml = productionVsBudgetBean.getGeoLoCodeXmlData();
System.out.println("rptTitle=====" + rptTitle);
%>
<form method="post" action="ProductionVsBudgetReport.jsp" name="ProductionVsBudgetReport">
<br>
<table class="dropdown">
<tr>
<td class="tdLabel">
Location : <select id="geo_loc" name="geo_loc" multiple="multiple" size="5">
<%
dom = genericUtility.parseString(geoLocCodeXml);
if (dom != null)
{
%>
<option value="0">All</option>
<%
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
if (childNodeList.getLength() > 0)
{
fldValue = childNodeList.item(0).getTextContent();
descr = childNodeList.item(1).getTextContent();
%>
<option value="<%=fldValue%>"><%=descr%></option>
<%
}
}
}
%>
</select>
Product Form :
<select id="unit_form" name="unit_form" multiple="multiple" size="5">
<%
dom = genericUtility.parseString(unitFrmXml);
if (dom != null)
{
%>
<option value="0">All</option>
<%
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
if (childNodeList.getLength() > 0)
{
unitForm = childNodeList.item(0).getTextContent();
unitDescr = childNodeList.item(1).getTextContent();
%>
<option value="<%=unitForm%>"><%=unitDescr%></option>
<%
}
}
}
%>
</select>
Year : <select id="acct_year" name="acct_year" size="3">
<option value="<%=curryearVal%>"><%=curryearVal%></option>
<option value="<%=preyearVal%>"><%=preyearVal%></option>
</select>
Month : <select id="acct_month" name="acct_month" size="3">
<option value="1">JAN</option>
<option value="2">FEB</option>
<option value="3">MAR</option>
<option value="4">APR</option>
<option value="5">MAY</option>
<option value="6">JUN</option>
<option value="7">JUL</option>
<option value="8">AUG</option>
<option value="9">SEP</option>
<option value="10">OCT</option>
<option value="11">NOV</option>
<option value="12">DEC</option>
</select>
<input type="submit" name="showChart" value="View" onclick="return isLocationSelected();"/>
</td>
</tr>
</table>
<br>
<%
geo_loc = request.getParameterValues("geo_loc");
unit_form = request.getParameterValues("unit_form");
String geoLoc = "", unitFrm = "";
if (geo_loc == null)
{
geoLoc = request.getParameter("geoLocation");
if (geoLoc != null && geoLoc.trim().length() != 0)
{
geo_loc = geoLoc.trim().split(",");
}
}
if (unit_form == null)
{
unitFrm = request.getParameter("unitForm");
if (unitFrm != null && unitFrm.trim().length() != 0)
{
unit_form = unitFrm.trim().split(",");
}
}
checkGeoLoc = "";
if (geo_loc != null && geo_loc.length != 0)
{
for (int i = 0; i < geo_loc.length; i++)
{
if (!geo_loc[i].equals("0"))
{
if (i == geo_loc.length - 1)
checkGeoLoc += "'" + geo_loc[i] + "'";
else
checkGeoLoc += "'" + geo_loc[i] + "',";
}
}
}
checkUnitForm = "";
if (unit_form != null && unit_form.length != 0)
{
for (int i = 0; i < unit_form.length; i++)
{
if (!unit_form[i].equals("0"))
{
if (i == unit_form.length - 1)
checkUnitForm += "'" + unit_form[i] + "'";
else
checkUnitForm += "'" + unit_form[i] + "',";
}
}
}
System.out.println("checkGeoLoc ==="+checkGeoLoc +"checkUnitForm ="+checkUnitForm );
//here set selected value of geoLocation and unitForm with final utput
if((checkGeoLoc!=null && checkGeoLoc.trim().length() != 0 ) && (checkUnitForm!=null && checkUnitForm.trim().length() != 0) ){
xmlDataString = productionVsBudgetBean.getProductionBudget(frmDate, toDate, this.checkGeoLoc, this.checkUnitForm);
}
System.out.print("Final xmlDataString inside jsp= " + xmlDataString);
//parse xml
dom = genericUtility.parseString(xmlDataString);
//End here set selected value of geoLocation and unitForm with final output
if (dom != null)
{
//Initilization of all variable on dated 28/10/2013
chartDataList = new ArrayList<String>();
geoLocList =new ArrayList<String>();
unitFormList =new ArrayList<String>();
//***************BIrendra Pandey*************************
sumDayPro = new ArrayList<String>();
cumLstYear = new ArrayList<String>();
cumuQty = new ArrayList<Double>();
LBEList = new ArrayList<String>();
detailList = dom.getElementsByTagName("Detail");
if (detailList.item(0).getFirstChild() != null)
{
locationList = dom.getElementsByTagName("geo_loc");
for (int cntr = 0; cntr < locationList.getLength(); cntr++)
{
locationNode = locationList.item(cntr);
//start of the Lable setting 1
geoLocList.add(locationNode.getAttributes().getNamedItem("glocdescr").getNodeValue());
chartData = new StringBuffer("<chart caption='");
chartData.append("' palette='1' showValues='0' yAxisValuesPadding='10' numberPrefix='' chartOrder='line,area,column' startAngX='8' startAngY='-32' endAngX='8' endAngY='-32' zdepth='50' zgapPlot='10' showPlotBorder='0' dynamicShading='1' showAlternateHGridColor='1' labelDisplay='Stagger' legendNumColumns='2'>");
chartData.append("<categories>");
unitList = locationNode.getChildNodes();
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
//Add unit form in unitForm List
unitFormList.add(unitNode.getAttributes().getNamedItem("unitdescr").getNodeValue());
//geoLocList.add(locationNode.getAttributes().getNamedItem("glocdescr").getNodeValue());
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
date = dateNode.getAttributes().item(0).getNodeValue();
chartData.append("<category label='" + date + "'/>");
}
}
chartData.append("<category label='" + "fc" + "'/>");
chartData.append("</categories>");
//1.End of Lable setting 1
//2. start dataset for Day Production
chartData.append("<dataset seriesName='Day Production' color='FF8533'>");
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
int day = Integer.parseInt(dateNode.getAttributes().item(0).getNodeValue());
dayQtyList = dateNode.getChildNodes();
//add new code for previous report as on dated 14/11/2013
if(currmonthVal==month && curryearVal==year)
{
if (day <= todaysDay)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
dayQty = dayNode.getAttributes().item(0).getNodeValue();
chartData.append("<set value='" + dayQty + "'/>");
}
}
else
{
for (int p = todaysDay + 1; p <= lastDayOfMonth; p++)
{
chartData.append("<set value='0'/>");
}
}
}
else
{ if (day <= lastDayOfMonth)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
dayQty = dayNode.getAttributes().item(0).getNodeValue();
chartData.append("<set value='" + dayQty + "'/>");
}
}
}
//end on dated 14/11/2013
}
}
chartData.append("</dataset>");
//2. End dataset for Day Production
//3. Start dataset for Cumulative Production
chartData.append("<dataset seriesName='Cumulative Production' color='00cc00'>");
String curCumQtyTem = "";
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
int day = Integer.parseInt(dateNode.getAttributes().item(0).getNodeValue());
dayQtyList = dateNode.getChildNodes();
//add new code for previous report as on dated 14/11/2013
if(currmonthVal==month && curryearVal==year)
{
if (day <= todaysDay)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
NodeList curCumQtyList = dayNode.getChildNodes();
for (int curCumCtr = 0; curCumCtr < curCumQtyList.getLength(); curCumCtr++)
{
Node curCumQtyNode = curCumQtyList.item(curCumCtr);
if (curCumQtyNode.getNodeName().equals("cur_cumqty"))
{
curCumQtyTem = curCumQtyNode.getTextContent();
chartData.append("<set value='" + curCumQtyNode.getTextContent() + "'/>");
}
}
}
} else
{
for (int p = todaysDay + 1; p <= lastDayOfMonth; p++)
{
chartData.append("<set value='0'/>");
}
}
}
else
{
if (day <= lastDayOfMonth)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
NodeList curCumQtyList = dayNode.getChildNodes();
for (int curCumCtr = 0; curCumCtr < curCumQtyList.getLength(); curCumCtr++)
{
Node curCumQtyNode = curCumQtyList.item(curCumCtr);
if (curCumQtyNode.getNodeName().equals("cur_cumqty"))
{
curCumQtyTem = curCumQtyNode.getTextContent();
chartData.append("<set value='" + curCumQtyNode.getTextContent() + "'/>");
}
}
}
}
}
//end of previous report on dated 14/11/2013
}
}
sumDayPro.add(curCumQtyTem);
chartData.append("</dataset>");
//3. End dataset for Cumulative Production
//4. Start dataset for Forecasting
chartData.append("<dataset seriesName='Forecast' color='F5F907' >");
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
double cumulativeQty = 0.0;
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
dayQtyList = dateNode.getChildNodes();
int day = Integer.parseInt(dateNode.getAttributes().item(0).getNodeValue());
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
foreCastList = dayNode.getChildNodes();
for (int prevCtr = 0; prevCtr < foreCastList.getLength(); prevCtr++)
{
foreCastNode = foreCastList.item(prevCtr);
if (foreCastNode.getNodeName().equals("cur_cumqty"))
{
//out.println("day:"+day+"--todaysDay"+todaysDay);
if(currmonthVal==month && curryearVal==year)
{
if (day == todaysDay)
{
cumulativeQty = Double.parseDouble(foreCastNode.getTextContent());
cumulativeQty = Math.round(cumulativeQty * lastDayOfMonth) / day;
cumuQty.add(cumulativeQty);
for (int dayOfMonth = 1; dayOfMonth <= lastDayOfMonth; dayOfMonth++)
{
chartData.append("<set value='0'/>");
}
chartData.append("<set value='" + cumulativeQty + "'/>");
}
}
else
{
if(day == lastDayOfMonth)//added if condition on 16 nov2013
{
cumulativeQty = Double.parseDouble(foreCastNode.getTextContent());
cumulativeQty = Math.round(cumulativeQty * lastDayOfMonth) / day;
cumuQty.add(cumulativeQty);
for (int dayOfMonth = 1; dayOfMonth <= lastDayOfMonth; dayOfMonth++)
{
chartData.append("<set value='0'/>");
}
chartData.append("<set value='" + cumulativeQty + "'/>");
}
}
}
}
}
}
}
chartData.append("</dataset>");
//4. End dataset for Forecasting
//5. start dataset for Last year Quantity
chartData.append("<dataset seriesName='Cumulative Last Year' color='1E86A8' renderAs='Line'>");
String prevYearQtyTemp = "";
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
dayQtyList = dateNode.getChildNodes();
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
//dayNode = dayQtyList.item(dateCtr);
dayNode = dayQtyList.item(dayCtr);
NodeList prevYearQtyList = dayNode.getChildNodes();
for (int prevCtr = 0; prevCtr < prevYearQtyList.getLength(); prevCtr++)
{
Node prevYearQtyNode = prevYearQtyList.item(prevCtr);
if (prevYearQtyNode.getNodeName().equals("pyr_cumqty"))
{
prevYearQtyTemp = (prevYearQtyNode.getTextContent());
if(prevYearQtyTemp=="")
prevYearQtyTemp="0.0";
chartData.append("<set value='" + prevYearQtyNode.getTextContent() + "'/>");
}
}
}
}
}
cumLstYear.add(prevYearQtyTemp);
chartData.append("</dataset>");
//5. End dataset for Last year Quantity
//6. Start dataset for Daily Budget Quantity
chartData.append("<dataset seriesName='Cumulative Budget' color='660426' renderAs='Line'>");
String LBETEMP = "";
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
dayQtyList = dateNode.getChildNodes();
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
NodeList dailyBdgtList = dayNode.getChildNodes();
for (int dBdgtCtr = 0; dBdgtCtr < dailyBdgtList.getLength(); dBdgtCtr++)
{
Node dailyBdgtNode = dailyBdgtList.item(dBdgtCtr);
if (dailyBdgtNode.getNodeName().equals("cum_budqty"))
{
LBETEMP = dailyBdgtNode.getTextContent();
chartData.append("<set value='" + LBETEMP + "'/>");
}
}
}
}
}
LBEList.add(LBETEMP);
chartData.append("</dataset>");
//6. End dataset for Daily Budget Quantity
chartData.append("</chart>");
chartDataList.add(chartData.toString());
//out.println(" Final chartData is==" + chartData.toString() + "Chart data List of size ==" + chartDataList.size());
chartData.setLength(0);
}
} else
{
%>
<table cellspacing="1" cellpadding="2" align="center">
<tr>
<td>
<h4>No data found !</h4>
</td>
</tr>
</table>
<%
}
}
int chartDivId = 0;
int countChart = 0;
int tablId = 0;
Double actLBE = 0.0;
Double cumuQtyLBE = 0.0;
%>
<script>
var geoLocation ="<%=this.checkGeoLoc%>";
var unitform ="<%=this.checkUnitForm%>";
var curryear ="<%=this.year%>";
var currmonth ="<%=this.month%>";
//window.onload =getData(geoLocation.trim(),unitform,curryear,currmonth);
window.onload = new function() {
//1
var element = document.getElementById("geo_loc");
var location =geoLocation.split(",");
for(i=0;i<location.length;i++)
{
for (var j = 0; j < element.options.length; j++)
{
var checkLoc= "'"+element.options[j].value+"'";
if(checkLoc== location[i])
{
element.options[j].selected = true;
}
}
}
//2
var elementForm = document.getElementById("unit_form");
var unitForm = unitform.split(",");
for(k=0;k <unitForm.length;k++)
{
for (var l = 0; l < elementForm.options.length; l++)
{
var checkUnit= "'"+elementForm.options[l].value+"'";
if(checkUnit== unitForm[k])
{
elementForm.options[l].selected = true;
}
}
}
//3
var curryearList = document.getElementById("acct_year");
// alert("curryear==="+curryear);
for (var m = 0; m < curryearList.options.length; m++)
{
var checkyear = curryearList.options[m].value;
if(checkyear==curryear)
{
curryearList.options[m].selected = true;
}
}
//4
var currmonthList = document.getElementById("acct_month");
//alert("currmonth================="+currmonth);
for (var n = 0; n < currmonthList.options.length; n++)
{
var checkmonth = currmonthList.options[n].value;
if(checkmonth==currmonth)
{
currmonthList.options[n].selected = true;
}
}
};
</script>
<table class="chartTable">
<%
String chartId="";
for (String chartDatFrmList : chartDataList)
{
chartDivId++;
%>
<%
if (tablId == 0 || (tablId % deviceDisplay == 0))
{
%>
<tr>
<%
tablId = 0;
}
%>
<td class="chartCell">
<div id="chartContainer<%=chartDivId%>">Chart will load here !</div>
<script type="text/javascript">
FusionCharts.setCurrentRenderer('javascript');
var myChart = new FusionCharts("<%=srcImagesPath%>", "myChartId<%=chartDivId%>", "400", "350", "0", "0");
myChart.setXMLData("<%=chartDatFrmList%>");
myChart.setChartAttribute( "caption" , "<%=geoLocList.get(countChart)%>: <%=unitFormList.get(countChart)%>" );
myChart.render("chartContainer<%=chartDivId%>");
</script>
<table class="summaryTable" >
<tr class="summaryTr">
<td>Month</td>
<td>Actual</td>
<td>Work Plan</td>
<td>Actual/Work Plan</td>
<td>Pace(EOM)</td>
<td>Pace(EOM)/Work Plan</td>
<td><%=preyear%>/<%=monthStr%></td>
</tr>
<tr class="summaryDetail">
<td><%=year%>/<%=monthStr%></td>
<%
cumulativePro = Double.parseDouble(sumDayPro.get(countChart));
if (cumulativePro >= 1000000)
{
cumulativePro = Math.round(cumulativePro / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumulativeProStr = cumulativePro.toString() + "M";
} else
{
cumulativePro = Math.round(cumulativePro / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumulativeProStr = cumulativePro.toString() + "K";
}
cumuQtyInDoubl = cumuQty.get(countChart);
if (cumuQtyInDoubl >= 1000000)
{
cumuQtyInDoubl = Math.round(cumuQtyInDoubl / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumuQtyStr = cumuQtyInDoubl.toString() + "M";
} else
{
cumuQtyInDoubl = Math.round(cumuQtyInDoubl / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumuQtyStr = cumuQtyInDoubl.toString() + "K";
}
if (Double.parseDouble(LBEList.get(countChart)) == 0.0)
{
actLBE = 0.0;
cumuQtyLBE = 0.0;
}
else
{
actLBE = ((Double.parseDouble(sumDayPro.get(countChart)) / Double.parseDouble(LBEList.get(countChart)) * 100));
cumuQtyLBE = (cumuQty.get(countChart) / Double.parseDouble(LBEList.get(countChart)) * 100);
}
cumLstYearInDouble = Double.parseDouble(cumLstYear.get(countChart));
if (cumLstYearInDouble >= 1000000)
{
cumLstYearInDouble = Math.round(cumLstYearInDouble / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumLstYearStr = cumLstYearInDouble.toString() + "M";
} else
{
cumLstYearInDouble = Math.round(cumLstYearInDouble / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumLstYearStr = cumLstYearInDouble.toString() + "K";
}
lbeInDouble = Double.parseDouble(LBEList.get(countChart));
if (lbeInDouble >= 1000000)
{
lbeInDouble = Math.round(lbeInDouble / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
lbeValStr = lbeInDouble.toString() + "M";
} else
{
lbeInDouble = Math.round(lbeInDouble / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
lbeValStr = lbeInDouble.toString() + "K";
}
%>
<td><%=cumulativeProStr%></td>
<td><%=lbeValStr%></td>
<td><%=String.format("%.2f", actLBE)%> %</td>
<td><%=cumuQtyStr%></td>
<td><%=String.format("%.2f",cumuQtyLBE)%> %</td>
<td><%=cumLstYearStr%></td>
</tr>
</table>
</td>
<%
if (tablId > 0 && tablId % deviceDisplay == 0)
{
%>
</tr>
<%
}
%>
<%
tablId++;
countChart++;
}
chartDataList =null;
geoLocList = null;
unitFormList = null;
//***************************Birendra Pandey
sumDayPro = null;
cumLstYear = null;
cumuQty = null;
LBEList = null;
chartDivId = 0;
countChart = 0;
tablId = 0;
unitFrmXml ="";
geoLocCodeXml ="";
xmlDataString ="";
//add on dated 28/10/2013
cumulativePro = 0.0;
cumuQtyInDoubl = 0.0;
cumLstYearInDouble = 0.0;
lbeInDouble = 0.0;
actLBE = 0.0;
cumuQtyLBE = 0.0;
cumulativeProStr = "";
cumuQtyStr = "";
cumLstYearStr = "";
lbeValStr = "";
dom = null;
%>
</table>
<%
} catch (Exception ex)
{
System.out.println("Exception : ProductionVsBudgetReport.jsp :" + ex.getMessage());
}
%>
</form>
</body>
</html>
<%@page contentType="text/html"%>
<%@page import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"%>
<%@page import="ibase.dashboard.mfg.bean.*"%>
<%@page import="javax.naming.Context"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="ibase.webitm.utility.GenericUtility"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.HashMap"%>
<%@page errorPage="error.jsp"%>
<%@ page import="java.io.File,ibase.utility.CommonConstants" %>
<%@page import="java.text.SimpleDateFormat"%>
<jsp:useBean id="productionVsBudgetBean" scope="request" class="ibase.dashboard.mfg.bean.ProductionVsBudgetReportBean" />
<%!GenericUtility genericUtility = GenericUtility.getInstance();
String objName = "";
Document dom = null;
NodeList dtlList = null;
Node parentNode = null;
NodeList childNodeList = null;
Node currDetail = null;
ArrayList<String> chartDataList = null;
List<String> geoLocList = null;
List<String> unitFormList = null;
String childNodeName = "";
String period = "";
String netsales = "";
String amount = "";
String fin_entity = "";
StringBuffer chartData = null;
String selectedEntity = "";
String entity = "", descr = "";
String user = "TA821";
String rptTitle = "";
String srcJSPath = "";
String srcImagesPath = "";
Calendar calendar = null;
String frmDate = "";
String toDate = "", unitForm = "";
String dayQty = "", fldValue = "";
String fldDescr="",unitDescr="";
NodeList locationList = null;
NodeList detailList = null;
NodeList unitList = null;
NodeList dateList = null;
NodeList dayQtyList = null;
Node locationNode = null;
NodeList foreCastList = null;
Node unitNode = null;
Node dateNode = null;
Node dayNode = null;
Node foreCastNode = null;
String date = "";
int lastDayOfMonth = 0;
int todaysDay = 0;
int month = 0;
int preyear = 0;
int preyearVal = 0;
int year = 0;
int curryearVal =0;
int currmonthVal =0;
String[] geo_loc = null;
String[] unit_form = null;
String unitFrmXml = "";
String geoLocCodeXml = "";
String xmlDataString ="";
String checkGeoLoc = "";
String checkUnitForm = "";
List<String> sumDayPro = null;
List<String> cumLstYear = null;
List<Double> cumuQty = null;
List<String> LBEList = null;
SimpleDateFormat simpleDateFormat = null;
Double cumulativePro = 0.0;
Double cumuQtyInDoubl = 0.0;
Double cumLstYearInDouble = 0.0;
Double lbeInDouble = 0.0;
String cumulativeProStr = "";
String cumuQtyStr = "";
String cumLstYearStr = "";
String lbeValStr = "";
String[] seclectYear = null;
String[] seclectMonth = null;
String monthStr="";
int day=1;
//28/11/2013
int deviceDisplay=0;
int deviceFilter=0;
//07/01/2014
int chartDivId = 0;
String preyearMonth="";
String exportPDFPath ="";
String exportImagePath="";
HashMap <String, List<String>> grdDataMap =null;
List gridDataList=null;
String userID="";
%>
<%
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache,must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
CommonConstants.setAPPLICATION_CONTEXT(config.getServletContext().getRealPath("/"));
%>
<%
String userAgent = request.getHeader("user-agent");
if (userAgent.indexOf("Android") > 0 || userAgent.indexOf("iPhone") > 0 )
{
srcJSPath = "/ibase/FusionChart/js/FusionCharts.js";
srcImagesPath = "/ibase/FusionChart/images/MSColumnLine3D.swf";
System.out.println("userAgent for iPhone==" + userAgent);
deviceDisplay =1;
deviceFilter =3;
}
else if (userAgent.indexOf("Android") > 0 || userAgent.indexOf("iPad") > 0)
{
System.out.println("userAgent For iPad==" + userAgent);
deviceDisplay =2;
deviceFilter =3;
}
else
{
srcJSPath = "/ibase/FusionChart/js/FusionCharts.js";
srcImagesPath = "/ibase/FusionChart/images/MSColumnLine3D.swf";
System.out.println("userAgent for PC ==" + userAgent);
deviceDisplay =3;
deviceFilter =1;
System.out.println("srcJSPath =="+srcJSPath+"srcImagesPath==="+srcImagesPath);
}
%>
<html>
<head>
<script type="text/javascript" src="<%=srcJSPath%>"></script>
<link rel="stylesheet" type="text/css" href="/ibase/dashboard/mfg/css/ui.dropdownchecklist.standalone.css" />
<link rel="stylesheet" type="text/css" href="/ibase/dashboard/mfg/css/mfg.css" />
<script type="text/javascript" src="/ibase/dashboard/mfg/jquery/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="/ibase/dashboard/mfg/jquery/jquery-ui-1.8.13.custom.min.js"></script>
<script type="text/javascript" src="/ibase/dashboard/mfg/jquery/ui.dropdownchecklist-1.4-min.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){
$("#geo_loc").dropdownchecklist({ firstItemChecksAll: true, maxDropHeight: 100 ,emptyText: "Select ..."});
});
$(document).ready(function(){
$("#unit_form").dropdownchecklist({ firstItemChecksAll: true, maxDropHeight: 100,emptyText: "Select ..."});
});
$(document).ready(function(){
$("#acct_year").dropdownchecklist({emptyText: "For previous." });
});
$(document).ready(function(){
$("#acct_month").dropdownchecklist({emptyText: "For previous." });
});
//function for validation on change 27/11/2013
function isLocationSelected()
{
if (document.getElementById("geo_loc").selectedIndex == -1 )
{
alert("Please select at least one Location code");
return false;
}
else if(document.getElementById("unit_form").selectedIndex==-1)
{
alert("Please select at least one Unit Form");
return false;
}
return true;
}
</script>
<body>
<%
try
{
exportPDFPath = CommonConstants.APPLICATION_CONTEXT + "dashboard" + File.separator + "mfg"+ File.separator + "Scheduler"+File.separator +"ExportExample"+ File.separator + "ExportPDF"+File.separator;
exportImagePath = CommonConstants.APPLICATION_CONTEXT + "dashboard" + File.separator + "mfg"+ File.separator + "Scheduler"+ File.separator +"ExportExample"+ File.separator + "ExportImages"+File.separator;
//out.println("exportImagePath========"+exportImagePath);
userID =request.getParameter("userID");
//ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean)session.getAttribute("USER_INFO");
simpleDateFormat = new SimpleDateFormat("dd-MMM-yy");
calendar = Calendar.getInstance();
preyear = calendar.get(Calendar.YEAR) - 1;
preyearVal = calendar.get(Calendar.YEAR) - 1;
month = calendar.get(Calendar.MONTH)+1 ;
currmonthVal = calendar.get(Calendar.MONTH)+1;
year = calendar.get(Calendar.YEAR);
curryearVal = calendar.get(Calendar.YEAR);
String currDate = simpleDateFormat.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
toDate = simpleDateFormat.format(calendar.getTime());
calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
frmDate = simpleDateFormat.format(calendar.getTime());
todaysDay = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
lastDayOfMonth = Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);
//new code added by Birendra Pandey It is VIMP
seclectYear = request.getParameterValues("acct_year");
seclectMonth = request.getParameterValues("acct_month");
if(seclectYear!=null && seclectMonth!=null)
{
year = Integer.parseInt(seclectYear[0]);
month = Integer.parseInt(seclectMonth[0]);
preyear = year - 1;
if(month==1)
monthStr="Jan";
else if(month==2)
monthStr="Feb";
else if(month==3)
monthStr="Mar";
else if(month==4)
monthStr="Apr";
else if(month==5)
monthStr="May";
else if(month==6)
monthStr="Jun";
else if(month==7)
monthStr="Jul";
else if(month==8)
monthStr="Aug";
else if(month==9)
monthStr="Sep";
else if(month==10)
monthStr="Oct";
else if(month==11)
monthStr="Nov";
else if(month==12)
monthStr="Dec";
//ADD-------1St of month and last of month
calendar =Calendar.getInstance();
calendar.set(year, month-1, day);
frmDate = simpleDateFormat.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
toDate = simpleDateFormat.format(calendar.getTime());
lastDayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
//End of -------1St of month and last of month
currDate =todaysDay+"-"+monthStr+"-"+seclectYear[0];
//out.println("frmDate===="+frmDate+"To Date====="+toDate);
//out.println("lastDayOfMonth for selected "+lastDayOfMonth);
}
//End by Birendra Pandey
rptTitle = "Production Vs Budget Report For : " + currDate;
preyearMonth =""+preyearVal+"/"+month;
unitFrmXml = productionVsBudgetBean.getUnitFormXmlData();
geoLocCodeXml = productionVsBudgetBean.getGeoLoCodeXmlData();
System.out.println("rptTitle=====" + rptTitle);
%>
<form method="post" action="ProductionVsBudgetReportExport.jsp" name="ProductionVsBudgetReport">
<br>
<table class="dropdown">
<tr>
<td class="tdLabel">
Location : <select id="geo_loc" name="geo_loc" multiple="multiple" size="5">
<%
dom = genericUtility.parseString(geoLocCodeXml);
if (dom != null)
{
%>
<option value="0">All</option>
<%
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
if (childNodeList.getLength() > 0)
{
fldValue = childNodeList.item(0).getTextContent();
descr = childNodeList.item(1).getTextContent();
%>
<option value="<%=fldValue%>"><%=descr%></option>
<%
}
}
}
%>
</select>
Product Form :
<select id="unit_form" name="unit_form" multiple="multiple" size="5">
<%
dom = genericUtility.parseString(unitFrmXml);
if (dom != null)
{
%>
<option value="0">All</option>
<%
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
if (childNodeList.getLength() > 0)
{
unitForm = childNodeList.item(0).getTextContent();
unitDescr = childNodeList.item(1).getTextContent();
%>
<option value="<%=unitForm%>"><%=unitDescr%></option>
<%
}
}
}
%>
</select>
Year : <select id="acct_year" name="acct_year" size="3">
<option value="<%=curryearVal%>"><%=curryearVal%></option>
<option value="<%=preyearVal%>"><%=preyearVal%></option>
</select>
Month : <select id="acct_month" name="acct_month" size="3">
<option value="1">JAN</option>
<option value="2">FEB</option>
<option value="3">MAR</option>
<option value="4">APR</option>
<option value="5">MAY</option>
<option value="6">JUN</option>
<option value="7">JUL</option>
<option value="8">AUG</option>
<option value="9">SEP</option>
<option value="10">OCT</option>
<option value="11">NOV</option>
<option value="12">DEC</option>
</select>
<input type="submit" name="showChart" value="View" onclick="return isLocationSelected();"/>
</td>
</tr>
</table>
<br>
<%
geo_loc =request.getParameterValues("geo_loc");
unit_form =request.getParameterValues("unit_form");
String geoLoc = "", unitFrm = "";
if (geo_loc == null)
{
geoLoc = request.getParameter("geoLocation");
if (geoLoc != null && geoLoc.trim().length() != 0)
{
geo_loc = geoLoc.trim().split(",");
}
}
if (unit_form == null)
{
unitFrm = request.getParameter("unitForm");
if (unitFrm != null && unitFrm.trim().length() != 0)
{
unit_form = unitFrm.trim().split(",");
}
}
checkGeoLoc = "";
if (geo_loc != null && geo_loc.length != 0)
{
for (int i = 0; i < geo_loc.length; i++)
{
if (!geo_loc[i].equals("0"))
{
if (i == geo_loc.length - 1)
checkGeoLoc += "'" + geo_loc[i] + "'";
else
checkGeoLoc += "'" + geo_loc[i] + "',";
}
}
}
checkUnitForm = "";
if (unit_form != null && unit_form.length != 0)
{
for (int i = 0; i < unit_form.length; i++)
{
if (!unit_form[i].equals("0"))
{
if (i == unit_form.length - 1)
checkUnitForm += "'" + unit_form[i] + "'";
else
checkUnitForm += "'" + unit_form[i] + "',";
}
}
}
System.out.println("checkGeoLoc ==="+checkGeoLoc +"checkUnitForm ="+checkUnitForm );
//here set selected value of geoLocation and unitForm for final report output
if((checkGeoLoc!=null && checkGeoLoc.trim().length() != 0 ) && (checkUnitForm!=null && checkUnitForm.trim().length() != 0) ){
xmlDataString = productionVsBudgetBean.getProductionBudget(frmDate, toDate, this.checkGeoLoc, this.checkUnitForm);
}
System.out.print("Final xmlDataString ,which make charts= " + xmlDataString);
//parse xml
dom = genericUtility.parseString(xmlDataString);
if (dom != null)
{
//Initilization of all variable on dated 28/10/2013
chartDataList = new ArrayList<String>();
geoLocList =new ArrayList<String>();
unitFormList =new ArrayList<String>();
//***************BIrendra Pandey*************************
sumDayPro = new ArrayList<String>();
cumLstYear = new ArrayList<String>();
cumuQty = new ArrayList<Double>();
LBEList = new ArrayList<String>();
detailList = dom.getElementsByTagName("Detail");
if (detailList.item(0).getFirstChild() != null)
{
locationList = dom.getElementsByTagName("geo_loc");
for (int cntr = 0; cntr < locationList.getLength(); cntr++)
{
locationNode = locationList.item(cntr);
//start of the Lable setting 1
geoLocList.add(locationNode.getAttributes().getNamedItem("glocdescr").getNodeValue());
chartData = new StringBuffer("<chart caption='");
chartData.append("' palette='1' showValues='0' yAxisValuesPadding='10' numberPrefix='' chartOrder='line,area,column' startAngX='8' startAngY='-32' endAngX='8' endAngY='-32' zdepth='50' zgapPlot='10' showPlotBorder='0' dynamicShading='1' showAlternateHGridColor='1' labelDisplay='Stagger' legendNumColumns='2' showBorder='0' exportEnabled='1' exportAtClient='0' exportHandler='FCExporter' exportAction='save'>");
chartData.append("<categories>");
unitList = locationNode.getChildNodes();
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
//Add unit form in unitForm List
unitFormList.add(unitNode.getAttributes().getNamedItem("unitdescr").getNodeValue());
//geoLocList.add(locationNode.getAttributes().getNamedItem("glocdescr").getNodeValue());
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
date = dateNode.getAttributes().item(0).getNodeValue();
chartData.append("<category label='" + date + "'/>");
}
}
chartData.append("<category label='" + "fc" + "'/>");
chartData.append("</categories>");
//1.End of Lable setting 1
//2. start dataset for Day Production
chartData.append("<dataset seriesName='Day Production' color='FF8533'>");
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
int day = Integer.parseInt(dateNode.getAttributes().item(0).getNodeValue());
dayQtyList = dateNode.getChildNodes();
//add new code for previous report as on dated 14/11/2013
if(currmonthVal==month && curryearVal==year)
{
if (day <= todaysDay)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
dayQty = dayNode.getAttributes().item(0).getNodeValue();
chartData.append("<set value='" + dayQty + "'/>");
}
}
else
{
for (int p = todaysDay + 1; p <= lastDayOfMonth; p++)
{
chartData.append("<set value='0'/>");
}
}
}
else
{ if (day <= lastDayOfMonth)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
dayQty = dayNode.getAttributes().item(0).getNodeValue();
chartData.append("<set value='" + dayQty + "'/>");
}
}
}
//end on dated 14/11/2013
}
}
chartData.append("</dataset>");
//2. End dataset for Day Production
//3. Start dataset for Cumulative Production
chartData.append("<dataset seriesName='Cumulative Production' color='00cc00'>");
String curCumQtyTem = "";
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
int day = Integer.parseInt(dateNode.getAttributes().item(0).getNodeValue());
dayQtyList = dateNode.getChildNodes();
//add new code for previous report as on dated 14/11/2013
if(currmonthVal==month && curryearVal==year)
{
if (day <= todaysDay)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
NodeList curCumQtyList = dayNode.getChildNodes();
for (int curCumCtr = 0; curCumCtr < curCumQtyList.getLength(); curCumCtr++)
{
Node curCumQtyNode = curCumQtyList.item(curCumCtr);
if (curCumQtyNode.getNodeName().equals("cur_cumqty"))
{
curCumQtyTem = curCumQtyNode.getTextContent();
chartData.append("<set value='" + curCumQtyNode.getTextContent() + "'/>");
}
}
}
} else
{
for (int p = todaysDay + 1; p <= lastDayOfMonth; p++)
{
chartData.append("<set value='0'/>");
}
}
}
else
{
if (day <= lastDayOfMonth)
{
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
NodeList curCumQtyList = dayNode.getChildNodes();
for (int curCumCtr = 0; curCumCtr < curCumQtyList.getLength(); curCumCtr++)
{
Node curCumQtyNode = curCumQtyList.item(curCumCtr);
if (curCumQtyNode.getNodeName().equals("cur_cumqty"))
{
curCumQtyTem = curCumQtyNode.getTextContent();
chartData.append("<set value='" + curCumQtyNode.getTextContent() + "'/>");
}
}
}
}
}
//end of previous report on dated 14/11/2013
}
}
sumDayPro.add(curCumQtyTem);
chartData.append("</dataset>");
//3. End dataset for Cumulative Production
//4. Start dataset for Forecasting
chartData.append("<dataset seriesName='Forecast' color='F5F907' >");
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
double cumulativeQty = 0.0;
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
dayQtyList = dateNode.getChildNodes();
int day = Integer.parseInt(dateNode.getAttributes().item(0).getNodeValue());
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
foreCastList = dayNode.getChildNodes();
for (int prevCtr = 0; prevCtr < foreCastList.getLength(); prevCtr++)
{
foreCastNode = foreCastList.item(prevCtr);
if (foreCastNode.getNodeName().equals("cur_cumqty"))
{
//out.println("day:"+day+"--todaysDay"+todaysDay);
if(currmonthVal==month && curryearVal==year)
{
if (day == todaysDay)
{
cumulativeQty = Double.parseDouble(foreCastNode.getTextContent());
cumulativeQty = Math.round(cumulativeQty * lastDayOfMonth) / day;
cumuQty.add(cumulativeQty);
for (int dayOfMonth = 1; dayOfMonth <= lastDayOfMonth; dayOfMonth++)
{
chartData.append("<set value='0'/>");
}
chartData.append("<set value='" + cumulativeQty + "'/>");
}
}
else
{
if(day == lastDayOfMonth)//added if condition on 16 nov2013
{
cumulativeQty = Double.parseDouble(foreCastNode.getTextContent());
cumulativeQty = Math.round(cumulativeQty * lastDayOfMonth) / day;
cumuQty.add(cumulativeQty);
for (int dayOfMonth = 1; dayOfMonth <= lastDayOfMonth; dayOfMonth++)
{
chartData.append("<set value='0'/>");
}
chartData.append("<set value='" + cumulativeQty + "'/>");
}
}
}
}
}
}
}
chartData.append("</dataset>");
//4. End dataset for Forecasting
//5. start dataset for Last year Quantity
chartData.append("<dataset seriesName='Cumulative Last Year' color='1E86A8' renderAs='Line'>");
String prevYearQtyTemp = "";
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
dayQtyList = dateNode.getChildNodes();
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
//dayNode = dayQtyList.item(dateCtr);
dayNode = dayQtyList.item(dayCtr);
NodeList prevYearQtyList = dayNode.getChildNodes();
for (int prevCtr = 0; prevCtr < prevYearQtyList.getLength(); prevCtr++)
{
Node prevYearQtyNode = prevYearQtyList.item(prevCtr);
if (prevYearQtyNode.getNodeName().equals("pyr_cumqty"))
{
prevYearQtyTemp = (prevYearQtyNode.getTextContent());
if(prevYearQtyTemp=="")
prevYearQtyTemp="0.0";
chartData.append("<set value='" + prevYearQtyNode.getTextContent() + "'/>");
}
}
}
}
}
cumLstYear.add(prevYearQtyTemp);
chartData.append("</dataset>");
//5. End dataset for Last year Quantity
//6. Start dataset for Daily Budget Quantity
chartData.append("<dataset seriesName='Cumulative Budget' color='660426' renderAs='Line'>");
String LBETEMP = "";
for (int nodCtr = 0; nodCtr < unitList.getLength(); nodCtr++)
{
unitNode = unitList.item(nodCtr);
dateList = unitNode.getChildNodes();
for (int dateCtr = 0; dateCtr < dateList.getLength(); dateCtr++)
{
dateNode = dateList.item(dateCtr);
dayQtyList = dateNode.getChildNodes();
for (int dayCtr = 0; dayCtr < dayQtyList.getLength(); dayCtr++)
{
dayNode = dayQtyList.item(dayCtr);
NodeList dailyBdgtList = dayNode.getChildNodes();
for (int dBdgtCtr = 0; dBdgtCtr < dailyBdgtList.getLength(); dBdgtCtr++)
{
Node dailyBdgtNode = dailyBdgtList.item(dBdgtCtr);
if (dailyBdgtNode.getNodeName().equals("cum_budqty"))
{
LBETEMP = dailyBdgtNode.getTextContent();
chartData.append("<set value='" + LBETEMP + "'/>");
}
}
}
}
}
LBEList.add(LBETEMP);
chartData.append("</dataset>");
//6. End dataset for Daily Budget Quantity
chartData.append("</chart>");
chartDataList.add(chartData.toString());
chartData.setLength(0);
}
} else
{
%>
<table cellspacing="1" cellpadding="2" align="center">
<tr>
<td>
<h4>No data found !</h4>
</td>
</tr>
</table>
<script type="text/javascript">
// changes by Birendra Pandey on dated 29/03/2014 ,case when data not found
window.close();
</script>
<%
}
}
int countChart = 0;
int tablId = 0;
Double actLBE = 0.0;
Double cumuQtyLBE = 0.0;
%>
<script>
var geoLocation ="<%=this.checkGeoLoc%>";
var unitform ="<%=this.checkUnitForm%>";
var curryear ="<%=this.year%>";
var currmonth ="<%=this.month%>";
//window.onload =getData(geoLocation.trim(),unitform,curryear,currmonth);
window.onload = new function() {
//1
var element = document.getElementById("geo_loc");
var location =geoLocation.split(",");
for(i=0;i<location.length;i++)
{
for (var j = 0; j < element.options.length; j++)
{
var checkLoc= "'"+element.options[j].value+"'";
if(checkLoc== location[i])
{
element.options[j].selected = true;
}
}
}
//2
var elementForm = document.getElementById("unit_form");
var unitForm = unitform.split(",");
for(k=0;k <unitForm.length;k++)
{
for (var l = 0; l < elementForm.options.length; l++)
{
var checkUnit= "'"+elementForm.options[l].value+"'";
if(checkUnit== unitForm[k])
{
elementForm.options[l].selected = true;
}
}
}
//3
var curryearList = document.getElementById("acct_year");
// alert("curryear==="+curryear);
for (var m = 0; m < curryearList.options.length; m++)
{
var checkyear = curryearList.options[m].value;
if(checkyear==curryear)
{
curryearList.options[m].selected = true;
}
}
//4
var currmonthList = document.getElementById("acct_month");
//alert("currmonth================="+currmonth);
for (var n = 0; n < currmonthList.options.length; n++)
{
var checkmonth = currmonthList.options[n].value;
if(checkmonth==currmonth)
{
currmonthList.options[n].selected = true;
}
}
};
</script>
<table class="chartTable">
<%
String chartId="";
String chartName="";
//Add new code on dated 06/02/2014
grdDataMap = new HashMap<String, List<String>>();
for (String chartDatFrmList : chartDataList)
{
chartDivId++;
chartId ="myChartId"+chartDivId+userID;
chartName ="myChartId"+chartDivId;
gridDataList =new ArrayList<String>();
%>
<%
if (tablId == 0 || (tablId % deviceDisplay == 0))
{
%>
<tr>
<%
tablId = 0;
}
%>
<td class="chartCell">
<div id="chartContainer<%=chartDivId%>">Chart will load here !</div>
<script type="text/javascript">
//FusionCharts.setCurrentRenderer('javascript');
var myChart = new FusionCharts("<%=srcImagesPath%>", "<%=chartId%>", "400", "350", "0", "0");
myChart.setXMLData("<%=chartDatFrmList%>");
myChart.setChartAttribute( "caption" , "<%=geoLocList.get(countChart)%>: <%=unitFormList.get(countChart)%>" );
myChart.render("chartContainer<%=chartDivId%>");
//Add new code on dated 07/01/2014
myChart.addEventListener("Rendered", function ()
{
var cObject = getChartFromId('<%=chartId%>');
if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'png',exportFileName:'<%=chartId%>'});
} );
//end
</script>
<table class="summaryTable" >
<tr class="summaryTr">
<td>Month</td>
<td>Actual</td>
<td>Work Plan</td>
<td>Actual/Work Plan</td>
<td>Pace(EOM)</td>
<td>Pace(EOM)/Work Plan</td>
<td><%=preyear%>/<%=monthStr%></td>
</tr>
<tr class="summaryDetail">
<td><%=year%>/<%=monthStr%></td>
<%
cumulativePro = Double.parseDouble(sumDayPro.get(countChart));
if (cumulativePro >= 1000000)
{
cumulativePro = Math.round(cumulativePro / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumulativeProStr = cumulativePro.toString() + "M";
} else
{
cumulativePro = Math.round(cumulativePro / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumulativeProStr = cumulativePro.toString() + "K";
}
cumuQtyInDoubl = cumuQty.get(countChart);
if (cumuQtyInDoubl >= 1000000)
{
cumuQtyInDoubl = Math.round(cumuQtyInDoubl / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumuQtyStr = cumuQtyInDoubl.toString() + "M";
} else
{
cumuQtyInDoubl = Math.round(cumuQtyInDoubl / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumuQtyStr = cumuQtyInDoubl.toString() + "K";
}
if (Double.parseDouble(LBEList.get(countChart)) == 0.0)
{
actLBE = 0.0;
cumuQtyLBE = 0.0;
}
else
{
actLBE = ((Double.parseDouble(sumDayPro.get(countChart)) / Double.parseDouble(LBEList.get(countChart)) * 100));
cumuQtyLBE = (cumuQty.get(countChart) / Double.parseDouble(LBEList.get(countChart)) * 100);
}
cumLstYearInDouble = Double.parseDouble(cumLstYear.get(countChart));
if (cumLstYearInDouble >= 1000000)
{
cumLstYearInDouble = Math.round(cumLstYearInDouble / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumLstYearStr = cumLstYearInDouble.toString() + "M";
} else
{
cumLstYearInDouble = Math.round(cumLstYearInDouble / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
cumLstYearStr = cumLstYearInDouble.toString() + "K";
}
lbeInDouble = Double.parseDouble(LBEList.get(countChart));
if (lbeInDouble >= 1000000)
{
lbeInDouble = Math.round(lbeInDouble / 1000000 * Math.pow(10, 2)) / Math.pow(10, 2);
lbeValStr = lbeInDouble.toString() + "M";
} else
{
lbeInDouble = Math.round(lbeInDouble / 1000 * Math.pow(10, 2)) / Math.pow(10, 2);
lbeValStr = lbeInDouble.toString() + "K";
}
//Add new code on dated 07/01/2014
gridDataList.add(""+year+"/"+month);
gridDataList.add(cumulativeProStr);
gridDataList.add(lbeValStr);
gridDataList.add(String.format("%.2f", actLBE));
gridDataList.add(cumuQtyStr);
gridDataList.add(String.format("%.2f",cumuQtyLBE));
gridDataList.add(cumLstYearStr);
grdDataMap.put(chartName, gridDataList);
//End of new code
%>
<td><%=cumulativeProStr%></td>
<td><%=lbeValStr%></td>
<td><%=String.format("%.2f", actLBE)%> %</td>
<td><%=cumuQtyStr%></td>
<td><%=String.format("%.2f",cumuQtyLBE)%> %</td>
<td><%=cumLstYearStr%></td>
</tr>
</table>
</td>
<%
if (tablId > 0 && tablId % deviceDisplay == 0)
{
%>
</tr>
<%
}
%>
<%
tablId++;
countChart++;
}//end of for loop
chartDataList =null;
geoLocList = null;
unitFormList = null;
sumDayPro = null;
cumLstYear = null;
cumuQty = null;
LBEList = null;
countChart = 0;
tablId = 0;
unitFrmXml ="";
geoLocCodeXml ="";
xmlDataString ="";
cumulativePro = 0.0;
cumuQtyInDoubl = 0.0;
cumLstYearInDouble = 0.0;
lbeInDouble = 0.0;
actLBE = 0.0;
cumuQtyLBE = 0.0;
cumulativeProStr = "";
cumuQtyStr = "";
cumLstYearStr = "";
lbeValStr = "";
dom = null;
//add on dated 07/01/2014
session.setAttribute("gridDataMap", grdDataMap);
%>
</table>
<%
} catch (Exception ex)
{
System.out.println("Exception : ProductionVsBudgetReport.jsp :" + ex.getMessage());
}
%>
<script>
var actualChart ="<%=chartDivId%>";
//14/01/2014
var exportPDFPath ="<%=exportPDFPath%>";
var exportImagePath ="<%=exportImagePath%>";
var preyearMonth ="<%=preyearMonth%>";
var rptTitle ="<%=rptTitle%>";
var userID ="<%=userID%>";
function getXMLHttpRequest()
{
var xmlHttpReq;
// to create XMLHttpRequest object in non-Microsoft browsers
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
//to create XMLHttpRequest object in later versions of Internet Explorer
xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (exp1) {
try {
//to create XMLHttpRequest object in later versions of Internet Explorer
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (exp2) {
//xmlHttpReq = false;
alert("Exception in getXMLHttpRequest()!");
}
}
}
return xmlHttpReq;
}
/*
* AJAX call starts with this function
*/
function makeRequest(userID)
{
if(userID!=""&& userID.length>0)
{
var xmlHttpRequest = getXMLHttpRequest();
xmlHttpRequest.onreadystatechange = getReadyStateHandler(xmlHttpRequest);
xmlHttpRequest.open("POST","/ibase/ProductionVsBudgetReportServlet?userID="+userID+"&exportPDFPath="+exportPDFPath+"&exportImagePath="+exportImagePath+"&preyearMonth="+preyearMonth+"&rptTitle="+rptTitle, true);
xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlHttpRequest.send(null);
}
}
function getReadyStateHandler(xmlHttpRequest)
{
return function()
{
if (xmlHttpRequest.readyState == 4)
{
if (xmlHttpRequest.status == 200)
{
}
else
{
alert("Http error " + xmlHttpRequest.status + ":" + xmlHttpRequest.statusText);
}
}
};
}
var chartCnt=0;
function FC_Exported(objRtn)
{
if (objRtn.statusCode=="1")
{
chartCnt++;
if(chartCnt==actualChart)
{
makeRequest(userID);
//window.open('', '_parent', '');
window.close();
}
}
else
{
alert("The chart with DOM Id " + objRtn.DOMId + " could not be saved on server. There was an error. Description : " + objRtn.statusMessage);
}
}
</script>
</form>
<%
chartDivId=0;
%>
</body>
</html>
<?xml version='1.0'?>
<Root>
<filters>
<filter type='3'>
<col_title><![CDATA[Geo Location Filter]]></col_title>
<col_name id='GEO_LOC' moduleName='X'><![CDATA[Geo Location:]]></col_name>
<col_descr id='descr'><![CDATA[Descr:]]></col_descr>
</filter>
<filter type='1'>
<col_title><![CDATA[Month Filter]]></col_title>
<col_name id='LAST_MONTH' moduleName='X'><![CDATA[Last Month:]]></col_name>
<col_descr id='descr'><![CDATA[Descr:]]></col_descr>
</filter>
</filters>
<page_title><![CDATA[QC Sample cost of plants for ]]></page_title>
<datasource id ='1' driverName='DriverITM'><![CDATA[QCSampleCostServlet]]></datasource>
<view id='1' name='QC Dashboard' >
<graph datasource='1' id='1' type='G'>
<chart_properties>
<chart_type id='bar'><![CDATA[ScrollCombiDY2D]]></chart_type>
<caption><![CDATA[QC Sample Cost of Plants]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[A8D7AB]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[Month Wise Profit]]></col_group_title>
<columns>
<column id='qc_date'><![CDATA[Date]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[Month Wise Sales Value]]></col_group_title>
<columns>
<column id='sample_cost' render='bar' color='#1ECC2A' showvalue='1' linevisibility='0' dotthickness='0'><![CDATA[Sample Cost]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</graph>
</view>
</Root>
<?xml version='1.0'?>
<Root>
<filters>
<filter type='1'>
<col_title><![CDATA[Heading of the Column]]></col_title>
<col_name id='LAST_MONTH' moduleName='X'><![CDATA[Last Month:]]></col_name>
<col_descr id='descr'><![CDATA[Descr:]]></col_descr>
</filter>
</filters>
<page_title><![CDATA[Sample Release Status for]]></page_title>
<datasource id ='1' driverName='DriverITM'><![CDATA[SampleRcpDtlServlet]]></datasource>
<view id='1' name='RCP Dashboard'>
<graph datasource='1' id='1' type='G'>
<chart_properties>
<chart_type id='bar'><![CDATA[ScrollCombiDY2D]]></chart_type>
<caption><![CDATA[Sample Release Status]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[A8D7AB]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[Month Wise Profit]]></col_group_title>
<columns>
<column id='curr_date'><![CDATA[Date]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[Month Wise Sales Value]]></col_group_title>
<columns>
<column id='day_received' render='bar' color='#1ECC2A' showvalue='1' linevisibility='0' dotthickness='0'><![CDATA[Received]]></column>
<column id='day_approved' render='bar' color='#61380B' showvalue='1' linevisibility='0' dotthickness='0'><![CDATA[Released]]></column>
<column id='day_pending' render='bar' color='#DD37DA' showvalue='1' linevisibility='0' dotthickness='0'><![CDATA[Pending]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</graph>
</view>
</Root>
<?xml version='1.0'?>
<Root>
<filters>
<filter type='1'>
<col_title><![CDATA[Heading of the Column]]></col_title>
<col_name id='LAST_MONTH' moduleName='X'><![CDATA[Last Month:]]></col_name>
<col_descr id='descr'><![CDATA[Descr:]]></col_descr>
</filter>
</filters>
<page_title><![CDATA[Recall for Period:]]></page_title>
<datasource id ='1' driverName='DriverITM'><![CDATA[PlantWiseRecallServlet]]></datasource>
<datasource id ='2' driverName='DriverITM'><![CDATA[MarketWiseRecallServlet]]></datasource>
<datasource id ='3' driverName='DriverITM'><![CDATA[ProductWiseRecallServlet]]></datasource>
<view id='1' name='Plant Wise Recall'>
<graph datasource='1' id='1' type='G'>
<chart_properties>
<chart_type id='pie'><![CDATA[Pie3D]]></chart_type>
<caption><![CDATA[Plant Wise Recall]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[A8D7AB]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='geo_loc'><![CDATA[Geo Location]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='product_recall' render='bar' showvalue='1' color='#2B7703' linevisibility='3' dotthickness='0'><![CDATA[Plant Recall]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</graph>
</view>
<view id='2' name='Market Wise Recall'>
<graph datasource='2' id='2' type='G'>
<chart_properties>
<chart_type id='pie'><![CDATA[Pie3D]]></chart_type>
<caption><![CDATA[Market Wise Recall]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[A8D7AB]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='market_reg'><![CDATA[Market Reg]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='market_recall' render='bar' showvalue='1' color='#2F8C87' linevisibility='0' dotthickness='0'><![CDATA[Market Recall]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</graph>
</view>
<view id='3' name='Product Wise Recall'>
<graph datasource='3' id='3' type='G'>
<chart_properties>
<chart_type id='pie'><![CDATA[Pie3D]]></chart_type>
<caption><![CDATA[Product Form Wise Recall]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[A8D7AB]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='unit__form'><![CDATA[Unit Form]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='product_recall' render='bar' showvalue='1' color='#0B615E' linevisibility='0' dotthickness='0'><![CDATA[Product Recall ]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</graph>
</view>
</Root>
#Please specify the path to a folder with write permissions relative to web application root
#The exported image/PDF files would be saved here.
SAVEPATH =dashboard/mfg/JSP/ExportExample/ExportImages/
#This constant HTTP_URI stores the HTTP reference to
#the folder where exported charts will be saved.
#Please enter the HTTP representation of that folder
#in this constant e.g., http://www.yourdomain.com/images/
HTTP_URI=http://localhost:9090/ibase/dashboard/mfg/JSP/ExportExample/ExportedImages/
#OVERWRITEFILE sets whether the export handler would overwrite an existing file
#the newly created exported file. If it is set to false the export handler would
#not overwrite. In this case if INTELLIGENTFILENAMING is set to true the handler
#would add a suffix to the new file name. The suffix is a randomly generated UUID.
#Additionally, you can add a timestamp or random number as additional prefix.
OVERWRITEFILE=true
INTELLIGENTFILENAMING=true
FILESUFFIXFORMAT=TIMESTAMP
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment