http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon1.gif ---------------------------------------------------------------------- diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon1.gif b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon1.gif deleted file mode 100644 index c5e5c04..0000000 Binary files a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon1.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon2.gif ---------------------------------------------------------------------- diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon2.gif b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon2.gif deleted file mode 100644 index b7d9077..0000000 Binary files a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon2.gif and /dev/null differ http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon3.gif ---------------------------------------------------------------------- diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon3.gif b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon3.gif deleted file mode 100644 index 45a2466..0000000 Binary files a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/icon3.gif and /dev/null differ http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js ---------------------------------------------------------------------- diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js deleted file mode 100644 index 9a84fc3..0000000 --- a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js +++ /dev/null @@ -1,432 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * Wicket Date parse function for the Calendar/ Date picker component. - */ - -/*globals YAHOO: true */ - -;(function (undefined) { - 'use strict'; - - // Wicket Namespace - - if (typeof(Wicket) === "undefined") { - window.Wicket = {}; - } - - Wicket.DateTime = {}; - - /** - * Parses date from simple date pattern. - * - * Supports patterns built up from the following elements: - * yy OR yyyy for year - * M OR MM OR MMM OR MMMM for month - * d OR dd for day - * EEEE for weekday (optional) - */ - Wicket.DateTime.parseDate = function(cfg, value) { - var numbers = value.match(/(\d+)/g); - var pattern = cfg.datePattern; - if (!numbers) { - return NaN; - } - - var day, month, year; - var arrayPos = 0; - for (var i = 0; i < pattern.length; i++) { - var c = pattern.charAt(i); - var len = 0; - while ((pattern.charAt(i) === c) && (i < pattern.length)) { - i++; - len++; - } - if (c === 'y') { - year = numbers[arrayPos++]; - } else if (c === 'M') { - var nameArray; - switch (len) { - case 3: - nameArray = cfg.calendarInit.MONTHS_SHORT; - break; - case 4: - nameArray = cfg.calendarInit.MONTHS_LONG; - break; - default: - nameArray = null; - } - if (nameArray) { - for (var j = 0; j < nameArray.length; j++) { - if (value.indexOf(nameArray[j]) >= 0) { - month = j + 1; - break; - } - } - } else { - month = numbers[arrayPos++]; - } - } else if (c === 'd') { - day = numbers[arrayPos++]; - } - if (arrayPos > 2) { - break; - } - } - // TODO this is a bit crude. Make nicer some time. - if (year < 100) { - if (year < 70) { - year = year * 1 + 2000; - } else { - year = year * 1 + 1900; - } - } - var date = new Date(); - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - date.setFullYear(year, (month - 1), day); - - return date; - }; - - /** - * Returns a string containing the value, with a leading zero if the value is < 10. - */ - Wicket.DateTime.padDateFragment = function(value) { - return (value < 10 ? "0" : "") + value; - }; - - /** - * Gets the height of the displayed area of the window, as YAHOO.util.Dom.getViewportHeight() - * has issues with Firefox. - * See http://tech.groups.yahoo.com/group/ydn-javascript/message/5850 - * Implementation taken from: http://www.quirksmode.org/viewport/compatibility.html#link2 - */ - Wicket.DateTime.getViewportHeight = function() { - var viewPortHeight; - - if (window.innerHeight) {// all browsers except IE - viewPortHeight = window.innerHeight; - } else if (document.documentElement && document.documentElement.clientHeight) {// IE 6 strict mode - viewPortHeight = document.documentElement.clientHeight; - } else if (document.body) {// other IEs - viewPortHeight = document.body.clientHeight; - } - return viewPortHeight; - }; - - /** - * Position subject relative to target top-left by default. - * If there is too little space on the right side/bottom, - * the datepicker's position is corrected so that the right side/bottom - * is aligned with the display area's right side/bottom. - * @param subject the dom element to has to be positioned - * @param target id of the dom element to position relative to - */ - Wicket.DateTime.positionRelativeTo = function(subject, target) { - - var targetPos = YAHOO.util.Dom.getXY(target); - var targetHeight = YAHOO.util.Dom.get(target).offsetHeight; - var subjectHeight = YAHOO.util.Dom.get(subject).offsetHeight; - var subjectWidth = YAHOO.util.Dom.get(subject).offsetWidth; - - var viewPortHeight = Wicket.DateTime.getViewportHeight(); - var viewPortWidth = YAHOO.util.Dom.getViewportWidth(); - - // also take scroll position into account - var scrollPos = [YAHOO.util.Dom.getDocumentScrollLeft(), YAHOO.util.Dom.getDocumentScrollTop()]; - - // correct datepicker's position so that it isn't rendered off screen on the right side or bottom - if (targetPos[0] + subjectWidth > scrollPos[0] + viewPortWidth) { - // correct horizontal position - YAHOO.util.Dom.setX(subject, Math.max(targetPos[0], viewPortWidth) - subjectWidth); - } else { - YAHOO.util.Dom.setX(subject, targetPos[0]); - } - if (targetPos[1] + targetHeight + 1 + subjectHeight > scrollPos[1] + viewPortHeight) { - // correct vertical position - YAHOO.util.Dom.setY(subject, Math.max(targetPos[1], viewPortHeight) - subjectHeight); - } else { - YAHOO.util.Dom.setY(subject, targetPos[1] + targetHeight + 1); - } - }; - - /** - * Return the result of interpolating the value (datetime) argument with the date pattern. - * The date has to be an array, where year is in the first, month in the second - * and date (day of month) in the third slot. - */ - Wicket.DateTime.substituteDate = function(cfg, datetime) { - var day = datetime[2]; - var month = datetime[1]; - var year = datetime[0]; - - var date = new Date(); - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - date.setFullYear(year, (month - 1), day); - - var dayName = null; - var datePattern = cfg.datePattern; - - // optionally do some padding to match the pattern - if(datePattern.match(/dd+/)) { - day = Wicket.DateTime.padDateFragment(day); - } - if (datePattern.match(/MMMM/)) { - month = cfg.calendarInit.MONTHS_LONG[month - 1]; - } - else if (datePattern.match(/MMM/)) { - month = cfg.calendarInit.MONTHS_SHORT[month - 1]; - } - else if(datePattern.match(/MM+/)) { - month = Wicket.DateTime.padDateFragment(month); - } - if(datePattern.match(/yyy+/)) { - year = Wicket.DateTime.padDateFragment(year); - } else if(datePattern.match(/yy+/)) { - year = Wicket.DateTime.padDateFragment(year % 100); - } - if (datePattern.match(/EEEE/)) { - // figure out which weekday it is... - var engDayName = date.toString().match(/(\S*)/)[0]; - var engDayNames = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; - for (var i = 0; i < engDayNames.length; i++) { - if (engDayName === engDayNames[i]) { - dayName = cfg.calendarInit.WEEKDAYS_LONG[i]; - break; - } - } - } - // replace pattern with real values - var result = datePattern.replace(/d+/, day).replace(/y+/, year).replace(/M+/, month); - - if (dayName != null) { - result = result.replace(/EEEE/, dayName); - } - - return result; - }; - - /** - * Display the YUI calendar widget. If the date is not null (should be a string) then it is parsed - * using the provided date pattern, and set as the current date on the widget. - */ - Wicket.DateTime.showCalendar = function(widget, date, cfg) { - if (date) { - date = Wicket.DateTime.parseDate(cfg, date); - if (!isNaN(date)) { - widget.select(date); - var firstDate = widget.getSelectedDates()[0]; - if (firstDate) { - widget.cfg.setProperty("pagedate", (firstDate.getMonth() + 1) + "/" + firstDate.getFullYear()); - widget.render(); - } - } - } - widget.show(); - }; - - // configures a datepicker using the cfg object - Wicket.DateTime.init = function(cfg) { - cfg.dpJs = cfg.widgetId + "DpJs"; - cfg.dp = cfg.widgetId + "Dp"; - cfg.icon = cfg.widgetId +"Icon"; - YAHOO.namespace("wicket"); - - if (cfg.calendarInit.pages && cfg.calendarInit.pages > 1) { - YAHOO.wicket[cfg.dpJs] = new YAHOO.widget.CalendarGroup(cfg.dpJs,cfg.dp, cfg.calendarInit); - } else { - YAHOO.wicket[cfg.dpJs] = new YAHOO.widget.Calendar(cfg.dpJs,cfg.dp, cfg.calendarInit); - } - YAHOO.wicket[cfg.dpJs].isVisible = function() { return YAHOO.wicket[cfg.dpJs].oDomContainer.style.display === 'block'; }; - - function showCalendar() { - if (YAHOO.wicket[cfg.dpJs].oDomContainer.style.display !== 'block') { - Wicket.DateTime.showCalendar(YAHOO.wicket[cfg.dpJs], YAHOO.util.Dom.get(cfg.componentId).value, cfg); - if (cfg.alignWithIcon) { - Wicket.DateTime.positionRelativeTo(YAHOO.wicket[cfg.dpJs].oDomContainer, cfg.icon); - } - } - } - - YAHOO.util.Event.addListener(cfg.icon, "click", showCalendar, YAHOO.wicket[cfg.dpJs], true); - - if (cfg.showOnFieldClick) { - YAHOO.util.Event.addListener(cfg.widgetId, "click", showCalendar, YAHOO.wicket[cfg.dpJs], true); - } - - YAHOO.wicket[cfg.dpJs].cfg.setProperty(YAHOO.widget.Calendar.DEFAULT_CONFIG.STRINGS.key, {"close": cfg.closeLabel}); - - function selectHandler(type, args, cal) { - YAHOO.util.Dom.get(cfg.componentId).value = Wicket.DateTime.substituteDate(cfg, args[0][0]); - if (cal.isVisible()) { - if (cfg.hideOnSelect) { - cal.hide(); - } - if (cfg.fireChangeEvent) { - var field = YAHOO.util.Dom.get(cfg.componentId); - if (field.onchangeoriginal) { - field.onchangeoriginal(); - } - if (field.onchange) { - field.onchange(); - } - Wicket.Event.fire(Wicket.$(cfg.componentId), 'change'); - } - } - } - - YAHOO.wicket[cfg.dpJs].selectEvent.subscribe(selectHandler, YAHOO.wicket[cfg.dpJs]); - - if(cfg.autoHide) { - YAHOO.util.Event.on(document, "click", function(e) { - - var el = YAHOO.util.Event.getTarget(e); - var dialogEl = document.getElementById(cfg.dp); - var showBtn = document.getElementById(cfg.icon); - var fieldEl = document.getElementById(cfg.componentId); - - if (YAHOO.wicket[cfg.dpJs] && - el !== dialogEl && - el !== fieldEl && - !YAHOO.util.Dom.isAncestor(dialogEl, el) && - el !== showBtn && - !YAHOO.util.Dom.isAncestor(showBtn, el)) - { - YAHOO.wicket[cfg.dpJs].hide(); - } - }); - } - YAHOO.wicket[cfg.dpJs].render(); - }; - - /** - * Checks that `str` ends with `suffix` - * @param str The string to check - * @param suffix The suffix with which the `srt` must end - * @return {boolean} true if the `str` ends with `suffix` - */ - var endsWith = function(str, suffix) { - return str.indexOf(suffix, str.length - suffix.length) !== -1; - }; - - /** - * @param toDestroy An array of Wicket DateTime objects to destroy - */ - var destroyInternal = function (toDestroy) { - - // avoids creation of a function inside a loop (JSLint warning) - function scheduleDestroy(toDestroy2) { - window.setTimeout(function(){destroyInternal(toDestroy2);}, 5); - } - - if (toDestroy && toDestroy.length > 1) { - var i = 0; - while (toDestroy.length > 0) { - var name = toDestroy.pop(); - try { - if (YAHOO.wicket[name]) { - // this is expensive. - YAHOO.wicket[name].destroy(); - delete YAHOO.wicket[name]; - } - } catch (e) { - if (Wicket.Log) { - Wicket.Log.error(e); - } - } - i++; - if (i === 20) { - scheduleDestroy(toDestroy); - break; - } - } - } - }; - - /** - * Schedules all YAHOO.wicket.** objects for destroy if their host HTML element - * is no more in the DOM document. - */ - var destroy = function() { - if (!YAHOO.wicket) { - return; - } - var deleted = 0; - var available = 0; - var toDestroy = []; - for(var propertyName in YAHOO.wicket) { - if (endsWith(propertyName, "DpJs")) { - var id = propertyName.substring(0, propertyName.length - 4); - var e = Wicket.$(id); - available++; - if (e === null) { - try { - deleted++; - toDestroy.push(propertyName); - } catch (ex) { - if (Wicket.Log) { - Wicket.Log.error(ex); - } - } - } - } - } - if (Wicket.Log) { - Wicket.Log.info("Date pickers to delete="+deleted+", available="+available); - } - setTimeout(function(){destroyInternal(toDestroy);}, 5); - }; - - // init method variant that needs less character to invoke - Wicket.DateTime.init2 = function(widgetId, componentId, calendarInit, datePattern, - alignWithIcon, fireChangeEvent, hideOnSelect, showOnFieldClick, i18n, autoHide, closeLabel) { - calendarInit.MONTHS_SHORT = i18n.MONTHS_SHORT; - calendarInit.MONTHS_LONG = i18n.MONTHS_LONG; - calendarInit.WEEKDAYS_MEDIUM = i18n.WEEKDAYS_MEDIUM; - calendarInit.WEEKDAYS_LONG = i18n.WEEKDAYS_LONG; - calendarInit.START_WEEKDAY = i18n.START_WEEKDAY; - calendarInit.WEEKDAYS_1CHAR = i18n.WEEKDAYS_1CHAR; - calendarInit.WEEKDAYS_SHORT = i18n.WEEKDAYS_SHORT; - - Wicket.DateTime.init({ - widgetId: widgetId, - componentId: componentId, - calendarInit: calendarInit, - datePattern: datePattern, - alignWithIcon: alignWithIcon, - fireChangeEvent: fireChangeEvent, - hideOnSelect: hideOnSelect, - showOnFieldClick: showOnFieldClick, - autoHide: autoHide, - closeLabel: closeLabel - }); - }; - - YAHOO.register("wicket-date", Wicket.DateTime, {version: "6.7.0", build: "1"}); - - // register a listener to clean up YAHOO.wicket cache. - Wicket.Event.subscribe('/ajax/call/complete', function(jqEvent, attributes, jqXHR, errorThrown, textStatus) { - window.setTimeout(function(){destroy();}, 10); - }); -})(); http://git-wip-us.apache.org/repos/asf/wicket/blob/2bb684c1/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/dom/dom-min.js ---------------------------------------------------------------------- diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/dom/dom-min.js b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/dom/dom-min.js deleted file mode 100644 index 194f1e8..0000000 --- a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/dom/dom-min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2011, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.com/yui/license.html -version: 2.9.0 -*/ -(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var e=YAHOO.util,k=YAHOO.lang,L=YAHOO.env.ua,a=YAHOO.lang.trim,B={},F={},m=/^t(?:able|d|h)$/i,w=/color$/i,j=window.document,v=j.documentElement,C="ownerDocument",M="defaultView",U="documentElement",S="compatMode",z="offsetLeft",o="offsetTop",T="offsetParent",x="parentNode",K="nodeType",c="tagName",n="scrollLeft",H="scrollTop",p="getBoundingClientRect",V="getComputedStyle",y="currentStyle",l="CSS1Compat",A="BackCompat",E="class",f="className",i="",b=" ",R="(?:^|\\s)",J="(?= |$)",t="g",O="position",D="fixed",u="relative",I="left",N="top",Q="medium",P="borderLeftWidth",q="borderTopWidth",d=L.opera,h=L.webkit,g=L.gecko,s=L.ie;e.Dom={CUSTOM_ATTRIBUTES:(!v.hasAttribute)?{"for":"htmlFor","class":f}:{"htmlFor":"for","className":E},DOT_ATTRIBUTES:{checked:true},get:function(aa){var ac,X,ab,Z,W,G,Y=null;if(aa){if(typeof aa=="string"||typeof aa=="number"){ac=aa+"";aa=j.getElementById(aa);G=(aa)?aa.attributes:null;if(aa&&G&&G.id&&G.id.v alue===ac){return aa;}else{if(aa&&j.all){aa=null;X=j.all[ac];if(X&&X.length){for(Z=0,W=X.length;Z<W;++Z){if(X[Z].id===ac){return X[Z];}}}}}}else{if(e.Element&&aa instanceof e.Element){aa=aa.get("element");}else{if(!aa.nodeType&&"length" in aa){ab=[];for(Z=0,W=aa.length;Z<W;++Z){ab[ab.length]=e.Dom.get(aa[Z]);}aa=ab;}}}Y=aa;}return Y;},getComputedStyle:function(G,W){if(window[V]){return G[C][M][V](G,null)[W];}else{if(G[y]){return e.Dom.IE_ComputedStyle.get(G,W);}}},getStyle:function(G,W){return e.Dom.batch(G,e.Dom._getStyle,W);},_getStyle:function(){if(window[V]){return function(G,Y){Y=(Y==="float")?Y="cssFloat":e.Dom._toCamel(Y);var X=G.style[Y],W;if(!X){W=G[C][M][V](G,null);if(W){X=W[Y];}}return X;};}else{if(v[y]){return function(G,Y){var X;switch(Y){case"opacity":X=100;try{X=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(Z){try{X=G.filters("alpha").opacity;}catch(W){}}return X/100;case"float":Y="styleFloat";default:Y=e.Dom._toCamel(Y);X=G[y]?G[y][Y]:null;return(G.sty le[Y]||X);}};}}}(),setStyle:function(G,W,X){e.Dom.batch(G,e.Dom._setStyle,{prop:W,val:X});},_setStyle:function(){if(!window.getComputedStyle&&j.documentElement.currentStyle){return function(W,G){var X=e.Dom._toCamel(G.prop),Y=G.val;if(W){switch(X){case"opacity":if(Y===""||Y===null||Y===1){W.style.removeAttribute("filter");}else{if(k.isString(W.style.filter)){W.style.filter="alpha(opacity="+Y*100+")";if(!W[y]||!W[y].hasLayout){W.style.zoom=1;}}}break;case"float":X="styleFloat";default:W.style[X]=Y;}}else{}};}else{return function(W,G){var X=e.Dom._toCamel(G.prop),Y=G.val;if(W){if(X=="float"){X="cssFloat";}W.style[X]=Y;}else{}};}}(),getXY:function(G){return e.Dom.batch(G,e.Dom._getXY);},_canPosition:function(G){return(e.Dom._getStyle(G,"display")!=="none"&&e.Dom._inDoc(G));},_getXY:function(W){var X,G,Z,ab,Y,aa,ac=Math.round,ad=false;if(e.Dom._canPosition(W)){Z=W[p]();ab=W[C];X=e.Dom.getDocumentScrollLeft(ab);G=e.Dom.getDocumentScrollTop(ab);ad=[Z[I],Z[N]];if(Y||aa){ad[0]-=aa;ad[1]-=Y; }if((G||X)){ad[0]+=X;ad[1]+=G;}ad[0]=ac(ad[0]);ad[1]=ac(ad[1]);}else{}return ad;},getX:function(G){var W=function(X){return e.Dom.getXY(X)[0];};return e.Dom.batch(G,W,e.Dom,true);},getY:function(G){var W=function(X){return e.Dom.getXY(X)[1];};return e.Dom.batch(G,W,e.Dom,true);},setXY:function(G,X,W){e.Dom.batch(G,e.Dom._setXY,{pos:X,noRetry:W});},_setXY:function(G,Z){var aa=e.Dom._getStyle(G,O),Y=e.Dom.setStyle,ad=Z.pos,W=Z.noRetry,ab=[parseInt(e.Dom.getComputedStyle(G,I),10),parseInt(e.Dom.getComputedStyle(G,N),10)],ac,X;ac=e.Dom._getXY(G);if(!ad||ac===false){return false;}if(aa=="static"){aa=u;Y(G,O,aa);}if(isNaN(ab[0])){ab[0]=(aa==u)?0:G[z];}if(isNaN(ab[1])){ab[1]=(aa==u)?0:G[o];}if(ad[0]!==null){Y(G,I,ad[0]-ac[0]+ab[0]+"px");}if(ad[1]!==null){Y(G,N,ad[1]-ac[1]+ab[1]+"px");}if(!W){X=e.Dom._getXY(G);if((ad[0]!==null&&X[0]!=ad[0])||(ad[1]!==null&&X[1]!=ad[1])){e.Dom._setXY(G,{pos:ad,noRetry:true});}}},setX:function(W,G){e.Dom.setXY(W,[G,null]);},setY:function(G,W){e.Dom.setXY(G,[n ull,W]);},getRegion:function(G){var W=function(X){var Y=false;if(e.Dom._canPosition(X)){Y=e.Region.getRegion(X);}else{}return Y;};return e.Dom.batch(G,W,e.Dom,true);},getClientWidth:function(){return e.Dom.getViewportWidth();},getClientHeight:function(){return e.Dom.getViewportHeight();},getElementsByClassName:function(ab,af,ac,ae,X,ad){af=af||"*";ac=(ac)?e.Dom.get(ac):null||j;if(!ac){return[];}var W=[],G=ac.getElementsByTagName(af),Z=e.Dom.hasClass;for(var Y=0,aa=G.length;Y<aa;++Y){if(Z(G[Y],ab)){W[W.length]=G[Y];}}if(ae){e.Dom.batch(W,ae,X,ad);}return W;},hasClass:function(W,G){return e.Dom.batch(W,e.Dom._hasClass,G);},_hasClass:function(X,W){var G=false,Y;if(X&&W){Y=e.Dom._getAttribute(X,f)||i;if(Y){Y=Y.replace(/\s+/g,b);}if(W.exec){G=W.test(Y);}else{G=W&&(b+Y+b).indexOf(b+W+b)>-1;}}else{}return G;},addClass:function(W,G){return e.Dom.batch(W,e.Dom._addClass,G);},_addClass:function(X,W){var G=false,Y;if(X&&W){Y=e.Dom._getAttribute(X,f)||i;if(!e.Dom._hasClass(X,W)){e.Dom.setAttrib ute(X,f,a(Y+b+W));G=true;}}else{}return G;},removeClass:function(W,G){return e.Dom.batch(W,e.Dom._removeClass,G);},_removeClass:function(Y,X){var W=false,aa,Z,G;if(Y&&X){aa=e.Dom._getAttribute(Y,f)||i;e.Dom.setAttribute(Y,f,aa.replace(e.Dom._getClassRegex(X),i));Z=e.Dom._getAttribute(Y,f);if(aa!==Z){e.Dom.setAttribute(Y,f,a(Z));W=true;if(e.Dom._getAttribute(Y,f)===""){G=(Y.hasAttribute&&Y.hasAttribute(E))?E:f;Y.removeAttribute(G);}}}else{}return W;},replaceClass:function(X,W,G){return e.Dom.batch(X,e.Dom._replaceClass,{from:W,to:G});},_replaceClass:function(Y,X){var W,ab,aa,G=false,Z;if(Y&&X){ab=X.from;aa=X.to;if(!aa){G=false;}else{if(!ab){G=e.Dom._addClass(Y,X.to);}else{if(ab!==aa){Z=e.Dom._getAttribute(Y,f)||i;W=(b+Z.replace(e.Dom._getClassRegex(ab),b+aa).replace(/\s+/g,b)).split(e.Dom._getClassRegex(aa));W.splice(1,0,b+aa);e.Dom.setAttribute(Y,f,a(W.join(i)));G=true;}}}}else{}return G;},generateId:function(G,X){X=X||"yui-gen";var W=function(Y){if(Y&&Y.id){return Y.id;}var Z=X+YAH OO.env._id_counter++; -if(Y){if(Y[C]&&Y[C].getElementById(Z)){return e.Dom.generateId(Y,Z+X);}Y.id=Z;}return Z;};return e.Dom.batch(G,W,e.Dom,true)||W.apply(e.Dom,arguments);},isAncestor:function(W,X){W=e.Dom.get(W);X=e.Dom.get(X);var G=false;if((W&&X)&&(W[K]&&X[K])){if(W.contains&&W!==X){G=W.contains(X);}else{if(W.compareDocumentPosition){G=!!(W.compareDocumentPosition(X)&16);}}}else{}return G;},inDocument:function(G,W){return e.Dom._inDoc(e.Dom.get(G),W);},_inDoc:function(W,X){var G=false;if(W&&W[c]){X=X||W[C];G=e.Dom.isAncestor(X[U],W);}else{}return G;},getElementsBy:function(W,af,ab,ad,X,ac,ae){af=af||"*";ab=(ab)?e.Dom.get(ab):null||j;var aa=(ae)?null:[],G;if(ab){G=ab.getElementsByTagName(af);for(var Y=0,Z=G.length;Y<Z;++Y){if(W(G[Y])){if(ae){aa=G[Y];break;}else{aa[aa.length]=G[Y];}}}if(ad){e.Dom.batch(aa,ad,X,ac);}}return aa;},getElementBy:function(X,G,W){return e.Dom.getElementsBy(X,G,W,null,null,null,true);},batch:function(X,ab,aa,Z){var Y=[],W=(Z)?aa:null;X=(X&&(X[c]||X.item))?X:e.Dom.get(X);if(X& &ab){if(X[c]||X.length===undefined){return ab.call(W,X,aa);}for(var G=0;G<X.length;++G){Y[Y.length]=ab.call(W||X[G],X[G],aa);}}else{return false;}return Y;},getDocumentHeight:function(){var W=(j[S]!=l||h)?j.body.scrollHeight:v.scrollHeight,G=Math.max(W,e.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var W=(j[S]!=l||h)?j.body.scrollWidth:v.scrollWidth,G=Math.max(W,e.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,W=j[S];if((W||s)&&!d){G=(W==l)?v.clientHeight:j.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,W=j[S];if(W||s){G=(W==l)?v.clientWidth:j.body.clientWidth;}return G;},getAncestorBy:function(G,W){while((G=G[x])){if(e.Dom._testElement(G,W)){return G;}}return null;},getAncestorByClassName:function(W,G){W=e.Dom.get(W);if(!W){return null;}var X=function(Y){return e.Dom.hasClass(Y,G);};return e.Dom.getAncestorBy(W,X);},getAncestorByTagName:function(W,G){W=e.Dom.get(W);if(!W){return null;}var X= function(Y){return Y[c]&&Y[c].toUpperCase()==G.toUpperCase();};return e.Dom.getAncestorBy(W,X);},getPreviousSiblingBy:function(G,W){while(G){G=G.previousSibling;if(e.Dom._testElement(G,W)){return G;}}return null;},getPreviousSibling:function(G){G=e.Dom.get(G);if(!G){return null;}return e.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,W){while(G){G=G.nextSibling;if(e.Dom._testElement(G,W)){return G;}}return null;},getNextSibling:function(G){G=e.Dom.get(G);if(!G){return null;}return e.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,X){var W=(e.Dom._testElement(G.firstChild,X))?G.firstChild:null;return W||e.Dom.getNextSiblingBy(G.firstChild,X);},getFirstChild:function(G,W){G=e.Dom.get(G);if(!G){return null;}return e.Dom.getFirstChildBy(G);},getLastChildBy:function(G,X){if(!G){return null;}var W=(e.Dom._testElement(G.lastChild,X))?G.lastChild:null;return W||e.Dom.getPreviousSiblingBy(G.lastChild,X);},getLastChild:function(G){G=e.Dom.get(G);return e.Dom.getLastChildBy(G); },getChildrenBy:function(W,Y){var X=e.Dom.getFirstChildBy(W,Y),G=X?[X]:[];e.Dom.getNextSiblingBy(X,function(Z){if(!Y||Y(Z)){G[G.length]=Z;}return false;});return G;},getChildren:function(G){G=e.Dom.get(G);if(!G){}return e.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||j;return Math.max(G[U].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||j;return Math.max(G[U].scrollTop,G.body.scrollTop);},insertBefore:function(W,G){W=e.Dom.get(W);G=e.Dom.get(G);if(!W||!G||!G[x]){return null;}return G[x].insertBefore(W,G);},insertAfter:function(W,G){W=e.Dom.get(W);G=e.Dom.get(G);if(!W||!G||!G[x]){return null;}if(G.nextSibling){return G[x].insertBefore(W,G.nextSibling);}else{return G[x].appendChild(W);}},getClientRegion:function(){var X=e.Dom.getDocumentScrollTop(),W=e.Dom.getDocumentScrollLeft(),Y=e.Dom.getViewportWidth()+W,G=e.Dom.getViewportHeight()+X;return new e.Region(X,Y,G,W);},setAttribute:function(W,G,X){e.Dom.batch(W,e.Dom._setAttribute,{attr:G,val:X});} ,_setAttribute:function(X,W){var G=e.Dom._toCamel(W.attr),Y=W.val;if(X&&X.setAttribute){if(e.Dom.DOT_ATTRIBUTES[G]&&X.tagName&&X.tagName!="BUTTON"){X[G]=Y;}else{G=e.Dom.CUSTOM_ATTRIBUTES[G]||G;X.setAttribute(G,Y);}}else{}},getAttribute:function(W,G){return e.Dom.batch(W,e.Dom._getAttribute,G);},_getAttribute:function(W,G){var X;G=e.Dom.CUSTOM_ATTRIBUTES[G]||G;if(e.Dom.DOT_ATTRIBUTES[G]){X=W[G];}else{if(W&&"getAttribute" in W){if(/^(?:href|src)$/.test(G)){X=W.getAttribute(G,2);}else{X=W.getAttribute(G);}}else{}}return X;},_toCamel:function(W){var X=B;function G(Y,Z){return Z.toUpperCase();}return X[W]||(X[W]=W.indexOf("-")===-1?W:W.replace(/-([a-z])/gi,G));},_getClassRegex:function(W){var G;if(W!==undefined){if(W.exec){G=W;}else{G=F[W];if(!G){W=W.replace(e.Dom._patterns.CLASS_RE_TOKENS,"\\$1");W=W.replace(/\s+/g,b);G=F[W]=new RegExp(R+W+J,t);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}\\])/g},_testElement:function(G,W){return G&&G[K]= =1&&(!W||W(G));},_calcBorders:function(X,Y){var W=parseInt(e.Dom[V](X,q),10)||0,G=parseInt(e.Dom[V](X,P),10)||0;if(g){if(m.test(X[c])){W=0;G=0;}}Y[0]+=G;Y[1]+=W;return Y;}};var r=e.Dom[V];if(L.opera){e.Dom[V]=function(W,G){var X=r(W,G);if(w.test(G)){X=e.Dom.Color.toRGB(X);}return X;};}if(L.webkit){e.Dom[V]=function(W,G){var X=r(W,G);if(X==="rgba(0, 0, 0, 0)"){X="transparent";}return X;};}if(L.ie&&L.ie>=8){e.Dom.DOT_ATTRIBUTES.type=true;}})();YAHOO.util.Region=function(d,e,a,c){this.top=d;this.y=d;this[1]=d;this.right=e;this.bottom=a;this.left=c;this.x=c;this[0]=c;this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(a){return(a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(f){var d=Math.max(this.top,f.top),e=Math.min(this.right,f.right),a=Math. min(this.bottom,f.bottom),c=Math.max(this.left,f.left); -if(a>=d&&e>=c){return new YAHOO.util.Region(d,e,a,c);}else{return null;}};YAHOO.util.Region.prototype.union=function(f){var d=Math.min(this.top,f.top),e=Math.max(this.right,f.right),a=Math.max(this.bottom,f.bottom),c=Math.min(this.left,f.left);return new YAHOO.util.Region(d,e,a,c);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(e){var g=YAHOO.util.Dom.getXY(e),d=g[1],f=g[0]+e.offsetWidth,a=g[1]+e.offsetHeight,c=g[0];return new YAHOO.util.Region(d,f,a,c);};YAHOO.util.Point=function(a,b){if(YAHOO.lang.isArray(a)){b=a[1];a=a[0];}YAHOO.util.Point.superclass.constructor.call(this,b,a,b,a);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var b=YAHOO.util,a="clientTop",f="clientLeft",j="parentNode",k="right",w="hasLayout",i="px",u="opacity",l="auto",d="borderLeftWidth",g="borderTop Width",p="borderRightWidth",v="borderBottomWidth",s="visible",q="transparent",n="height",e="width",h="style",t="currentStyle",r=/^width|height$/,o=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,m={get:function(x,z){var y="",A=x[t][z];if(z===u){y=b.Dom.getStyle(x,u);}else{if(!A||(A.indexOf&&A.indexOf(i)>-1)){y=A;}else{if(b.Dom.IE_COMPUTED[z]){y=b.Dom.IE_COMPUTED[z](x,z);}else{if(o.test(A)){y=b.Dom.IE.ComputedStyle.getPixel(x,z);}else{y=A;}}}}return y;},getOffset:function(z,E){var B=z[t][E],x=E.charAt(0).toUpperCase()+E.substr(1),C="offset"+x,y="pixel"+x,A="",D;if(B==l){D=z[C];if(D===undefined){A=0;}A=D;if(r.test(E)){z[h][E]=D;if(z[C]>D){A=D-(z[C]-D);}z[h][E]=l;}}else{if(!z[h][y]&&!z[h][E]){z[h][E]=B;}A=z[h][y];}return A+i;},getBorderWidth:function(x,z){var y=null;if(!x[t][w]){x[h].zoom=1;}switch(z){case g:y=x[a];break;case v:y=x.offsetHeight-x.clientHeight-x[a];break;case d:y=x[f];break;case p:y=x.offsetWidth-x.clientWidth-x[f];break;}return y+i ;},getPixel:function(y,x){var A=null,B=y[t][k],z=y[t][x];y[h][k]=z;A=y[h].pixelRight;y[h][k]=B;return A+i;},getMargin:function(y,x){var z;if(y[t][x]==l){z=0+i;}else{z=b.Dom.IE.ComputedStyle.getPixel(y,x);}return z;},getVisibility:function(y,x){var z;while((z=y[t])&&z[x]=="inherit"){y=y[j];}return(z)?z[x]:s;},getColor:function(y,x){return b.Dom.Color.toRGB(y[t][x])||q;},getBorderColor:function(y,x){var z=y[t],A=z[x]||z.color;return b.Dom.Color.toRGB(b.Dom.Color.toHex(A));}},c={};c.top=c.right=c.bottom=c.left=c[e]=c[n]=m.getOffset;c.color=m.getColor;c[g]=c[p]=c[v]=c[d]=m.getBorderWidth;c.marginTop=c.marginRight=c.marginBottom=c.marginLeft=m.getMargin;c.visibility=m.getVisibility;c.borderColor=c.borderTopColor=c.borderRightColor=c.borderBottomColor=c.borderLeftColor=m.getBorderColor;b.Dom.IE_COMPUTED=c;b.Dom.IE_ComputedStyle=m;})();(function(){var c="toString",a=parseInt,b=RegExp,d=YAHOO.util;d.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",r ed:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(e){if(!d.Dom.Color.re_RGB.test(e)){e=d.Dom.Color.toHex(e);}if(d.Dom.Color.re_hex.exec(e)){e="rgb("+[a(b.$1,16),a(b.$2,16),a(b.$3,16)].join(", ")+")";}return e;},toHex:function(f){f=d.Dom.Color.KEYWORDS[f]||f;if(d.Dom.Color.re_RGB.exec(f)){f=[Number(b.$1).toString(16),Number(b.$2).toString(16),Number(b.$3).toString(16)];for(var e=0;e<f.length;e++){if(f[e].length<2){f[e]="0"+f[e];}}f=f.join("");}if(f.length<6){f=f.replace(d.Dom.Color.re_hex3,"$1$1");}if(f!=="transparent"&&f.indexOf("#")<0){f="#"+f;}return f.toUpperCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.9.0",build:"2800"}); \ No newline at end of file
