« July 2006 | Main | September 2006 »

August 27, 2006

Google #11 for Todd Akin Eating Your Children

Woo hoo! #11 on Google's rank for "Todd Akin wants to eat your children!" todd akin eat children - Google Search

August 24, 2006

How bloody awful

So now the people behind the re-election of Todd Akin now want to deny your kids the truth about where we came from. And Todd still wants to eat your children. Evolution Major Vanishes From Approved Federal List - New York Times

August 22, 2006

American Taliban

yet another reason why not to vote for Todd Akin... With the mentality of these people, what's the difference between them and the Taliban? Religious nutcases should be ostracized. Besides... Todd Akin still wants to eat your children. US preacher defends belief women can't teach men - Yahoo! News

August 15, 2006

Keep it simple

It's about time NASA finally got it right. We had something that worked, and was tested and now there going back. Hopefully these rockets won't have postponed launches due to bird droppings on it's exterior or problems with 5lb pieces of foam. NASA borrows ideas from Apollo program - Yahoo! News Don't overengineer things that are complex, just keep it simple. and todd akin still wants to eat your children.

Hot dogs will kill you

Yes. Hot dogs will kill you but I still love them.Hot Dogs May Cause Genetic Mutations - Yahoo! News And Todd Akin still wants to eat your children.

August 13, 2006

Akin still wants to eat your children

Finally, they say it... Very good article about Akin and his "belief" system. If you're not scared of Akin now, wait until he starts to eat your children... STLtoday - News - Columnists

Remember how Todd Akin voted... he wants to eat your children.

...we need to get rid of this guy... Waveflux 'cause if we don't I can forsee our children being taught that Dinosaurs and man co-existed peacefully under 1 god..or is that 3? Just like our nation.. under god (at least since the 1950's) when the Commies were "godless". But thankfully we have Todd Akin on our side to protect our belief system, lest we wane in our faith. Of course they would have to be homeskooled like Todd's were.

Todd Akin wants to eat your children.

"I have an obligation to use the powers the Constitution has granted the Congress to defend the liberties of the people".

Todd Akin

And that means he'll defend your liberties only if you are a white anglo-saxon republician protestant Christian fundamentalist.  If you are gay, Jewish, Catholic, Hindu, or god help you black,  you don't have a prayer.

 Here's a quote right back at you..

"Thoſe who would give up Essential Liberty to purchaſe a little Temporary Safety, deſerve neither Liberty nor Safety." -- Benjamin Franklin.

 As the President said in his Inaugural Address, the people of the world have a desire to live in liberty.
Todd Akin

 Hey Todd... I didn't know the people of the world were U.S. voters...  I don't know about other people's "liberty" when ours is eroding.

 


Oi! A bunch of ruggers later in life...

Spaz_Andy_Utter_Headshot.JPG

Here's Spaz, Me, and Utter back in Virginia. 

August 07, 2006

As if you needed another reasone to vote "Anybody but Akin"

Wouldn't you like to have a job where you only had to work 15 days and then take a whole month off. Nice to know that we're paying > $100,000 / year for these guys to do absolutely nothing. Thanks Todd! Thanks for nothing. Oh wait, I'm sorry, you *DID* introduce a bill to make "God" permanent in our pledge of allegiance. Nothing about health care Todd? Nothing about the war in Iraq? Hmmm, seems to me that there should be more important things for you to do than worry about whether little Skippy's religious freedom will be preserved. Especially if Little Skippy is a Hindu. Hmmmm religious freedom... only if you're an Akin Christian... as other the other religions are bogus. Well, what do you expect from a guy that homeskoolz his own kids. I feel sorry for them So much to do, so little time ... so Congress skips town - Yahoo! News

Fast track this for Todd Akin

If only the FDA would fast track this so that Todd Akin could take it. You know anybody who needs an "anti-stupid" pill? - Yahoo! News

August 04, 2006

Take advantage of Global Warming

Ahhh the joys of summer. N.H. woman bakes cookies on dashboard - Yahoo! News

Akin==Bush

Come on people, with the elections coming up do we really want to re-elect another Bush to office? We need to vote Todd Akin out. Unless of course you want Pat Robertson in office. Todd Akin on the Issues

August 03, 2006

Fix for incorrect jsf inputCalendar position in tomahawk

When using JSF myfaces 1.1.3 tomahawk's inputCalendar, I have some absolute div's on my jsp and my calendar was being positioned incorrectly via it's java script.

After checking Jira log on it [#TOMAHAWK-128] Incorrect inputCalendar position when placed in DIV tag with position: absolute; - ASF JIRA

, I was able to override the included javascript in a parallel package structure at:

org.apache.myfaces.custom.calendar.resource

(see the extended entry for the javascript submitted

 

// based on code written by Tan Ling Wee on 2 Dec 2001

// last updated 20 June 2003

// email : fuushikaden@yahoo.com

//

// Modified to be completely object-oriented, CSS based and using proper DOM-access functions

// @author Martin Marinschek

// @author Sylvain Vieujot

 

org_apache_myfaces_CalendarInitData = function()

{

this.fixedX = -1;

// x position (-1 if to appear below control)

this.fixedY = -1;

// y position (-1 if to appear below control)

this.startAt = 1;

// 0 - sunday ; 1 - monday

this.showWeekNumber = 1;

// 0 - don't show; 1 - show

this.showToday = 1;

// 0 - don't show; 1 - show

this.imgDir = "images/";

// directory for images ... e.g. this.imgDir="/img/"

this.themePrefix = "jscalendar-DB";

 

this.gotoString = "Go To Current Month";

this.todayString = "Today is";

this.todayDateFormat = null;

this.weekString = "Wk";

this.scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically.";

this.scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."

this.selectMonthMessage = "Click to select a month."

this.selectYearMessage = "Click to select a year."

this.selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.

 

this.popupLeft=false;

 

this.monthName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); this.dayName = this.startAt == 0 ? new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") : new Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");

 

}

 

org_apache_myfaces_DateParts = function(sec, min, hour, date, month, year)

{

this.sec = sec;

this.min = min;

this.hour = hour;

this.date = date;

this.month = month;

this.year = year;

}

 

org_apache_myfaces_HolidayRec = function(d, m, y, desc)

{

this.d = d;

this.m = m;

this.y = y;

this.desc = desc;

}

 

org_apache_myfaces_PopupCalendar = function()

{

this.idPrefix = "org_apache_myfaces_PopupCalendar";

 

this.selectedDate = new org_apache_myfaces_DateParts(0, 0, 0, 0, 0, 0);this.saveSelectedDate = new org_apache_myfaces_DateParts(0, 0, 0, 0, 0, 0);

 

this.monthConstructed = false;

this.yearConstructed = false;

this.intervalID1;

this.intervalID2;

this.timeoutID1;

this.timeoutID2;

this.ctlToPlaceValue;

this.ctlNow;

this.containerCtl;

this.dateFormat="MM/dd/yyyy";

this.nStartingYear;

this.bPageLoaded = false;

this.ie = document.all;

this.dom = document.getElementById;

this.ns4 = document.layers;

this.dateFormatSymbols = new org_apache_myfaces_DateFormatSymbols();

this.initData = new org_apache_myfaces_CalendarInitData();

this.today = new Date();

this.dateNow = this.today.getDate();

this.monthNow = this.today.getMonth();

this.yearNow = this.today.getYear();

this.imgSrc = new Array("drop1.gif", "drop2.gif", "left1.gif", "left2.gif", "right1.gif", "right2.gif");this.img = new Array();

 

//elements which need to change their dynamical

//representation over time

this.calendarDiv;

this.selectMonthDiv;

this.selectYearDiv;

this.todaySpan = null;

this.captionSpan = null;

this.contentSpan = null;

this.closeCalendarSpan = null;

this.monthSpan = null;

this.yearSpan = nullthis

.changeMonthImg = null;this.changeYearImg = null;

 

this.holidaysCounter = 0;

this.holidays = new Array();

 

this.bClickOnCalendar = false;this.bCalendarHidden = true;

 

this.myFacesCtlType = "x:inputCalendar";

this.inputDateClientId;

}

 

org_apache_myfaces_PopupCalendar.prototype._hideElement = function(overDiv)

{

 

if (document.all)

{var

iframe = document.getElementById(overDiv.id + "_IFRAME");

 

if (iframe == null)

{

iframe = document.createElement("<iframe id='" + overDiv.id + "_IFRAME' style='visibility:hidden; position: absolute; top:0px;left:0px;'/>"); this.containerCtl.appendChild(iframe);

}

 

this._recalculateElement(overDiv); }

}

 

org_apache_myfaces_PopupCalendar.prototype._recalculateElement = function(overDiv)

{

 

if (document.all)

{var

iframe = document.getElementById(overDiv.id + "_IFRAME");

 

if (iframe)

{var

popup = overDiv;

 

popup.style.zIndex = 98;

 

iframe.style.zIndex = popup.style.zIndex - 1;

iframe.style.width = popup.offsetWidth;

iframe.style.height = popup.offsetHeight;

iframe.style.top = popup.style.top;

iframe.style.left = popup.style.left;

iframe.style.display = "block";

iframe.style.visibility = "visible";

/*we have to set an explicit visible otherwise it wont work*/}

}

}

 

org_apache_myfaces_PopupCalendar.prototype._showElement = function(overDiv)

{

 

var iframe = document.getElementById(overDiv.id + "_IFRAME");

 

if (document.all && iframe)

{

iframe.style.display = "none"; }

}

 

org_apache_myfaces_PopupCalendar.prototype.addHoliday = function(d, m, y, desc)

{

this.holidays[this.holidaysCounter++] = new org_apache_myfaces_HolidayRec (d, m, y, desc);

}

 

org_apache_myfaces_PopupCalendar.prototype._swapImage = function(srcImg, destImg)

{

 

if (srcImg)

srcImg.setAttribute("src", this.initData.imgDir + destImg);

}

 

org_apache_myfaces_PopupCalendar.prototype._keypresshandler = function()

{

try

{

if (event && event.keyCode == 27)

this._hideCalendar();

}

catch(ex)

{

}

}

 

org_apache_myfaces_PopupCalendar.prototype._clickhandler = function()

{

if (!this.bClickOnCalendar)

{this

._hideCalendar();

}

 

this.bClickOnCalendar = false;

}

 

org_apache_myfaces_PopupCalendar.prototype.init = function(containerCtl)

{

if (this.dom)

{

 

if (!this.calendarDiv)

{for

(i = 0; i < this.imgSrc.length; i++)this.img[i] = new Image;

 

this.containerCtl = containerCtl;

 

this.calendarDiv = document.createElement("div");

this.calendarDiv.id = containerCtl.id + "_calendarDiv";this.calendarDiv.className = this.initData.themePrefix + "-div-style";

 

Event.observe(this.calendarDiv, "click", function()

{

this.bClickOnCalendar = true;

}.bind(this), false);

 

this.containerCtl.appendChild(this.calendarDiv);

 

var mainTable = document.createElement("table");

mainTable.setAttribute("style", "width:" + ((this.initData.showWeekNumber == 1)?250:220) + "px;");mainTable.className =

this.initData.themePrefix + "-table-style";

 

this.calendarDiv.appendChild(mainTable);

 

//This is necessary for IE. If you don't create a tbody element, the table will never show up!var mainBody = document.createElement("tbody");

mainTable.appendChild(mainBody);

 

var mainRow = document.createElement("tr");mainRow.className = this.initData.themePrefix + "-title-background-style";

 

mainBody.appendChild(mainRow);

 

var mainCell = document.createElement("td");

 

mainRow.appendChild(mainCell);

 

var contentTable = document.createElement("table");contentTable.setAttribute("style", "width:" + ((this.initData.showWeekNumber == 1)?248:218) + "px;");

 

var contentBody = document.createElement("tbody");

contentTable.appendChild(contentBody);

 

mainCell.appendChild(contentTable);

 

var headerRow = document.createElement("tr");

contentBody.appendChild(headerRow);

 

var captionCell = document.createElement("td");captionCell.className = this.initData.themePrefix + "-title-style";

headerRow.appendChild(captionCell);

 

this.captionSpan = document.createElement("span");captionCell.appendChild(this.captionSpan);

 

var closeButtonCell = document.createElement("td");closeButtonCell.setAttribute(

"style", "text-align:right;");

headerRow.appendChild(closeButtonCell);

 

var closeCalendarLink = document.createElement("a");

closeCalendarLink.setAttribute("href", "#");Event.observe(closeCalendarLink,

"click", function(event)

{this

._hideCalendar();

Event.stop(event);

}.bindAsEventListener(this), false);

 

closeButtonCell.appendChild(closeCalendarLink);

 

this.closeCalendarSpan = document.createElement("span");

 

closeCalendarLink.appendChild(this.closeCalendarSpan);

 

var contentRow = document.createElement("tr");

mainBody.appendChild(contentRow);

 

var contentCell = document.createElement("td");contentCell.className = this.initData.themePrefix + "-body-style";

contentRow.appendChild(contentCell);

 

this.contentSpan = document.createElement("span");contentCell.appendChild(this.contentSpan);

 

if (this.initData.showToday == 1)

{

var todayRow = document.createElement("tr");todayRow.className =

this.initData.themePrefix + "-today-style";

mainBody.appendChild(todayRow);

 

var todayCell = document.createElement("td");todayCell.className = this.initData.themePrefix + "-today-lbl-style";

todayRow.appendChild(todayCell);

 

this.todaySpan = document.createElement("span"); todayCell.appendChild(this.todaySpan);

}

 

this.selectMonthDiv = document.createElement("div");

this.selectMonthDiv.id = this.containerCtl.id + "_selectMonthDiv";

this.selectMonthDiv.className = this.initData.themePrefix + "-div-style";

 

this.containerCtl.appendChild(this.selectMonthDiv);

 

this.selectYearDiv = document.createElement("div");

this.selectYearDiv.id = this.containerCtl.id + "_selectYearDiv";

this.selectYearDiv.className = this.initData.themePrefix + "-div-style";

 

this.containerCtl.appendChild(this.selectYearDiv);

 

Event.observe(document, "keypress", this._keypresshandler.bind(this), false);

Event.observe(document, "click", this._clickhandler.bind(this), false);

}

}

 

 

if (!this.ns4)

{if

(!this.ie)this.yearNow += 1900;

 

this._hideCalendar();

 

this.monthConstructed = false;

this.yearConstructed = false;

 

if (this.initData.showToday == 1)

{this

.todaySpan.appendChild(document.createTextNode(this.initData.todayString + " "))

 

var todayLink = document.createElement("a");

todayLink.className = this.initData.themePrefix + "-today-style";todayLink.setAttribute(

"title", this.initData.gotoString);

todayLink.setAttribute("href", "#")todayLink.appendChild(document.createTextNode(

this._todayIsDate()));

Event.observe(todayLink, "click", function(event)

{

this.selectedDate.month = this.monthNow;

this.selectedDate.year = this.yearNow;this._constructCalendar();

Event.stop(event);

}.bindAsEventListener(this), false);Event.observe(todayLink,

"mousemove", function()

{

window.status = this.initData.gotoString;

}.bind(this), false);Event.observe(todayLink,

"mouseout", function()

{

window.status = "";}.bind(this), false);

 

this.todaySpan.appendChild(todayLink);

}

 

this._appendNavToCaption("left");this._appendNavToCaption("right");

 

this.monthSpan = document.createElement("span");

this.monthSpan.className = this.initData.themePrefix + "-title-control-normal-style";

 

Event.observe(this.monthSpan, "mouseover", function(event)

{this

._swapImage(this.changeMonthImg, "drop2.gif");

this.monthSpan.className = this.initData.themePrefix + "-title-control-select-style";window.status =

this.selectMonthMessage;}.bindAsEventListener(this), false);

 

Event.observe(this.monthSpan, "mouseout", function(event)

{

this._swapImage(this.changeMonthImg, "drop1.gif");

this.monthSpan.className = this.initData.themePrefix + "-title-control-normal-style";

window.status = "";

}.bindAsEventListener(this), false);

 

Event.observe(this.monthSpan, "click", function(event)

{this

._popUpMonth();

Event.stop(event);

}.bind(this), false);

 

this.captionSpan.appendChild(this.monthSpan);this._appendNbsp(this.captionSpan);

 

this.yearSpan = document.createElement("span");

this.yearSpan.className = this.initData.themePrefix + "-title-control-normal-style";

 

Event.observe(this.yearSpan, "mouseover", function(event)

{this

._swapImage(this.changeYearImg, "drop2.gif");

this.yearSpan.className = this.initData.themePrefix + "-title-control-select-style";window.status =

this.selectYearMessage;}.bindAsEventListener(this), false);

 

Event.observe(this.yearSpan, "mouseout", function(event)

{

this._swapImage(this.changeYearImg, "drop1.gif");

this.yearSpan.className = this.initData.themePrefix + "-title-control-normal-style";

window.status = "";

}.bindAsEventListener(this), false);

 

Event.observe(this.yearSpan, "click", function(event)

{this

._popUpYear();

Event.stop(event);

}.bind(this), false);

 

this.captionSpan.appendChild(this.yearSpan);this._appendNbsp(this.captionSpan);

 

this.bPageLoaded = true;

 

}

}

 

org_apache_myfaces_PopupCalendar.prototype._appendNavToCaption = function(direction)

{

var imgLeft = document.createElement("img");

imgLeft.setAttribute("src", this.initData.imgDir + direction + "1.gif");imgLeft.setAttribute(

"width","10px");

imgLeft.setAttribute("height","11px");imgLeft.setAttribute(

"style", "border:0px;")

 

var spanLeft = document.createElement("span");

 

this._createControl(direction, spanLeft, imgLeft);

 

this._appendNbsp(spanLeft);

spanLeft.appendChild(imgLeft);

this._appendNbsp(spanLeft); this.captionSpan.appendChild(spanLeft);

this._appendNbsp(spanLeft);

}

 

org_apache_myfaces_PopupCalendar.prototype._createControl = function(direction, spanLeft, imgLeft)

{

spanLeft.className = this.initData.themePrefix + "-title-control-normal-style";

Event.observe(spanLeft, "mouseover", function(event)

{

this._swapImage(imgLeft, direction + "2.gif");spanLeft.className =

this.initData.themePrefix + "-title-control-select-style";

if (direction == "left")

{

window.status = this.scrollLeftMessage;

}

else

{

window.status = this.scrollRightMessage;

}}

.bindAsEventListener(this), false);

Event.observe(spanLeft, "click", function()

{

if (direction == "left")

{

this._decMonth();

}

else

{

this._incMonth();

}}

.bind(this), false);

Event.observe(spanLeft, "mouseout", function(event)

{

clearInterval(this.intervalID1);

this._swapImage(imgLeft, direction + "1.gif");

spanLeft.className = "" + this.initData.themePrefix + "-title-control-normal-style";window.status =

"";

}.bindAsEventListener(this), false);Event.observe(spanLeft,

"mousedown", function()

{

clearTimeout(this.timeoutID1);

this.timeoutID1 = setTimeout((function()

{

if (direction == "left")

{

this._startDecMonth();

}

else

{

this._startIncMonth();

}}

).bind(this), 500)

}.bind(this), false);Event.observe(spanLeft,

"mouseup", function()

{

clearTimeout(this.timeoutID1); clearInterval(this.intervalID1);

}.bind(this), false);

}

 

org_apache_myfaces_PopupCalendar.prototype._appendNbsp = function(element)

{

if (element)

element.appendChild(document.createTextNode(String.fromCharCode(160)));

}

org_apache_myfaces_PopupCalendar.prototype._todayIsDate = function()

{

var format = new org_apache_myfaces_SimpleDateFormat(this.initData.todayDateFormat?

this.initData.todayDateFormat:this.dateFormat,

this.dateFormatSymbols);

return format.format(this.today);

}

 

org_apache_myfaces_PopupCalendar.prototype._hideCalendar = function()

{

this.calendarDiv.style.visibility = "hidden"

this.bCalendarHidden = true;

if (this.selectMonthDiv.style != null)

{this

.selectMonthDiv.style.visibility = "hidden";

}if

(this.selectYearDiv.style != null)

{this

.selectYearDiv.style.visibility = "hidden";

}

 

this._showElement(this.selectMonthDiv); this._showElement(this.selectYearDiv);

this._showElement(this.calendarDiv);

}

 

org_apache_myfaces_PopupCalendar.prototype._padZero = function(num)

{

return (num < 10)? '0' + num : num;

}

 

org_apache_myfaces_PopupCalendar.prototype._constructDate = function(d, m, y)

{

var format = new org_apache_myfaces_SimpleDateFormat(this.dateFormat, this.dateFormatSymbols);

return format.format(new Date(y, m, d, this.selectedDate.hour, this.selectedDate.min, this.selectedDate.sec));

}

 

org_apache_myfaces_PopupCalendar.prototype._closeCalendar = function()

{

this._hideCalendar();

 

if (this.myFacesCtlType != "x:inputDate")

{this

.ctlToPlaceValue.value = this._constructDate(this.selectedDate.date, this.selectedDate.month, this.selectedDate.year)

var onchange = this.ctlToPlaceValue.getAttribute("onchange");

if (onchange)

{this

.ctlToPlaceValue.onchange();}

}

else

{

document.getElementById(this.myFacesInputDateClientId + ".day").value = this.selectedDate.date;

document.getElementById(this.myFacesInputDateClientId + ".month").value = this.selectedDate.month + 1;document.getElementById(

this.myFacesInputDateClientId + ".year").value = this.selectedDate.year; }

}

 

/*** Month Pulldown ***/

 

org_apache_myfaces_PopupCalendar.prototype._startDecMonth = function()

{

this.intervalID1 = setInterval((function()

{this

._decMonth

}).bind(this), 80);

}

 

org_apache_myfaces_PopupCalendar.prototype._startIncMonth = function()

{

this.intervalID1 = setInterval((function()

{this

._incMonth

}).bind(this), 80);

}

 

org_apache_myfaces_PopupCalendar.prototype._incMonth = function()

{

this.selectedDate.month = this.selectedDate.month + 1;

if (this.selectedDate.month > 11)

{

this.selectedDate.month = 0;

this.selectedDate.year++; }

this._constructCalendar();

}

 

org_apache_myfaces_PopupCalendar.prototype._decMonth = function()

{

this.selectedDate.month = this.selectedDate.month - 1;

if (this.selectedDate.month < 0)

{

this.selectedDate.month = 11

this.selectedDate.year-- }

this._constructCalendar()

}

 

 

org_apache_myfaces_PopupCalendar.prototype._removeAllChildren = function(element)

{

while (element && element.hasChildNodes())

element.removeChild(element.lastChild);

}

 

org_apache_myfaces_PopupCalendar.prototype._constructMonth = function()

{

this._popDownYear(); if (!this.monthConstructed)

{

 

var selectMonthTable = document.createElement("table");

selectMonthTable.setAttribute("style", "width:70px;border-collapse:collapse;")selectMonthTable.className =

this.initData.themePrefix + "-dropdown-style";

 

this._removeAllChildren(this.selectMonthDiv);

 

this.selectMonthDiv.appendChild(selectMonthTable);

 

Event.observe(selectMonthTable, "mouseover", function()

{

clearTimeout(this.timeoutID1);

}.bind(this), false);Event.observe(selectMonthTable,

"mouseout", function(event)

{

clearTimeout(this.timeoutID1);

this.timeoutID1 = setTimeout((function()

{

this._popDownMonth()

}).bind(this), 100);

Event.stop(event);

}.bindAsEventListener(this), false);

 

var selectMonthTableBody = document.createElement("tbody");

selectMonthTable.appendChild(selectMonthTableBody);

 

for (i = 0; i < 12; i++)

{var

sName = this.initData.monthName[i];

 

var sNameNode = null;

 

if (i == this.selectedDate.month)

{

sNameNode = document.createElement("span");sNameNode.setAttribute("style", "font-weight:bold;");

sNameNode.appendChild(document.createTextNode(sName));

sNameNode.setAttribute("userData",i);

}

else

{

sNameNode = document.createTextNode(sName);

}

 

var monthRow = document.createElement("tr");

selectMonthTableBody.appendChild(monthRow);

 

var monthCell = document.createElement("td");monthCell.setAttribute("userData",i);

monthRow.appendChild(monthCell);

 

Event.observe(monthCell, "mouseover", function(event)

{

Event.element(event).className = this.initData.themePrefix + "-dropdown-select-style";}.bind(this), false);

 

Event.observe(monthCell, "mouseout", function(event)

{

Event.element(event).className = this.initData.themePrefix + "-dropdown-normal-style";

}.bind(this), false);

 

Event.observe(monthCell, "click", function(event)

{this

.monthConstructed = false;

this.selectedDate.month = parseInt(Event.element(event).getAttribute("userData"),10);

this._constructCalendar();this._popDownMonth();

Event.stop(event);

}.bindAsEventListener(this), false);

 

this._appendNbsp(monthCell);

monthCell.appendChild(sNameNode);

this._appendNbsp(monthCell);

}

 

this.monthConstructed = true; }

}

 

org_apache_myfaces_PopupCalendar.prototype._popUpMonth = function()

{

this._constructMonth()

this.selectMonthDiv.style.visibility = (this.dom || this.ie)? "visible" : "show"

this.selectMonthDiv.style.left = parseInt(this._formatInt(this.calendarDiv.style.left), 10) + 50 + "px";this.selectMonthDiv.style.top = parseInt(this._formatInt(this.calendarDiv.style.top), 10) + 26 + "px";

 

this._hideElement(this.selectMonthDiv);

}

 

org_apache_myfaces_PopupCalendar.prototype._popDownMonth = function()

{

this.selectMonthDiv.style.visibility = "hidden";

this._showElement(this.selectMonthDiv);

}

 

/*** Year Pulldown ***/

 

org_apache_myfaces_PopupCalendar.prototype._incYear = function()

{

for (i = 0; i < 7; i++)

{

newYear = (i + this.nStartingYear) + 1;

 

this._createAndAddYear(newYear, i);

}this

.nStartingYear++;

this.bClickOnCalendar = true;

}

 

org_apache_myfaces_PopupCalendar.prototype._createAndAddYear = function(newYear, i)

{

var parentNode = document.getElementById(this.containerCtl.getAttribute("id")+"y" + i);

 

this._removeAllChildren(parentNode);

 

if (newYear == this.selectedDate.year)

{this

._appendNbsp(parentNode);

var newYearSpan = document.createElement("span");newYearSpan.setAttribute(

"userData",newYear);

newYearSpan.appendChild(document.createTextNode(newYear));

parentNode.appendChild(newYearSpan);

this._appendNbsp(parentNode);}

else

{

this._appendNbsp(parentNode);

parentNode.appendChild(document.createTextNode(newYear));

this._appendNbsp(parentNode);

}

 

parentNode.setAttribute("userData",newYear);

}

 

 

org_apache_myfaces_PopupCalendar.prototype._decYear = function()

{

for (i = 0; i < 7; i++)

{

newYear = (i + this.nStartingYear) - 1;

 

this._createAndAddYear(newYear, i);

}this

.nStartingYear--;

this.bClickOnCalendar = true;

}

 

org_apache_myfaces_PopupCalendar.prototype._constructYear = function()

{

this._popDownMonth();

var sHTML = "";

if (!this.yearConstructed)

{

 

var selectYearTable = document.createElement("table");

selectYearTable.setAttribute("style", "width:44px;border-collapse:collapse;")selectYearTable.className =

this.initData.themePrefix + "-dropdown-style";

 

this._removeAllChildren(this.selectYearDiv);

 

this.selectYearDiv.appendChild(selectYearTable);

 

Event.observe(selectYearTable, "mouseover", function()

{

clearTimeout(this.timeoutID2);

}.bind(this), false);Event.observe(selectYearTable,

"mouseout", function(event)

{

clearTimeout(this.timeoutID2);

this.timeoutID2 = setTimeout((function()

{

this._popDownYear()

}).bind(this), 100);

Event.stop(event);

}.bindAsEventListener(this), false);

 

 

var selectYearTableBody = document.createElement("tbody");

selectYearTable.appendChild(selectYearTableBody);

 

var selectYearRowMinus = document.createElement("tr");

selectYearTableBody.appendChild(selectYearRowMinus);

 

var selectYearCellMinus = document.createElement("td");selectYearCellMinus.setAttribute("align", "center");

 

selectYearCellMinus.appendChild(document.createTextNode("-"));

 

selectYearRowMinus.appendChild(selectYearCellMinus);

 

Event.observe(selectYearCellMinus, "mouseover", function(event)

{

Event.element(event).className = this.initData.themePrefix + "-dropdown-select-style";}.bindAsEventListener(this), false);

 

Event.observe(selectYearCellMinus, "mouseout", function(event)

{

clearInterval(this.intervalID1);Event.element(event).className =

this.initData.themePrefix + "-dropdown-normal-style";}.bindAsEventListener(this), false);

 

Event.observe(selectYearCellMinus, "mousedown", function(event)

{

clearInterval(this.intervalID1);

this.intervalID1 = setInterval((function()

{this

._decYear();}).bind(this), 30);

Event.stop(event);

}.bindAsEventListener(this), false);

 

Event.observe(selectYearCellMinus, "mouseup", function(event)

{clearInterval(this.intervalID1);

Event.stop(event);

}.bindAsEventListener(this), false);

 

 

//sHTML = "<tr><td align='center' onmouseover='this.className=\""+this.initData.themePrefix+"-dropdown-select-style\"' onmouseout='clearInterval(this.intervalID1); this.className=\""+this.initData.themePrefix+"-dropdown-normal-style\"' onmousedown='clearInterval(this.intervalID1);this.intervalID1=setInterval(\"_decYear()\",30)' onmouseup='clearInterval(this.intervalID1)'>-</td></tr>";

 

this.nStartingYear = this.selectedDate.year - 3;

var j = 0;

for (i = this.selectedDate.year - 3; i <= (this.selectedDate.year + 3); i++)

{var

sName = i;

 

var sNameNode = null;

 

if (i == this.selectedDate.year)

{

sNameNode = document.createElement("span");sNameNode.setAttribute("style", "font-weight:bold;");

sNameNode.appendChild(document.createTextNode(sName));

sNameNode.setAttribute("userData", sName);

}

else

{

sNameNode = document.createTextNode(sName);

}

 

var yearRow = document.createElement("tr");

selectYearTableBody.appendChild(yearRow);

 

var yearCell = document.createElement("td");

yearCell.setAttribute("userData",sName);yearCell.setAttribute(

"id",this.containerCtl.getAttribute("id")+"y" + j);

yearRow.appendChild(yearCell);

 

Event.observe(yearCell, "mouseover", function(event)

{

Event.element(event).className = this.initData.themePrefix + "-dropdown-select-style";}.bind(this), false);

 

Event.observe(yearCell, "mouseout", function(event)

{

Event.element(event).className = this.initData.themePrefix + "-dropdown-normal-style";

}.bind(this), false);

 

Event.observe(yearCell, "click", function(event)

{var

elem = Event.element(event);

var sYear = null;

this.selectedDate.year = parseInt(this._formatInt(elem.getAttribute("userData"),10));

this.yearConstructed = false;

this._popDownYear();this._constructCalendar();

Event.stop(event);

}.bindAsEventListener(this), false);

 

this._appendNbsp(yearCell);

yearCell.appendChild(sNameNode);

this._appendNbsp(yearCell);

j++;

}

 

var selectYearRowPlus = document.createElement("tr");

selectYearTableBody.appendChild(selectYearRowPlus);

 

var selectYearCellPlus = document.createElement("td");selectYearCellPlus.setAttribute("align", "center");

 

selectYearCellPlus.appendChild(document.createTextNode("+"));

 

selectYearRowPlus.appendChild(selectYearCellPlus);

 

Event.observe(selectYearCellPlus, "mouseover", function(event)

{

Event.element(event).className = this.initData.themePrefix + "-dropdown-select-style";}.bindAsEventListener(this), false);

 

Event.observe(selectYearCellPlus, "mouseout", function(event)

{

clearInterval(this.intervalID2);Event.element(event).className =

this.initData.themePrefix + "-dropdown-normal-style";}.bindAsEventListener(this), false);

 

Event.observe(selectYearCellPlus, "mousedown", function(event)

{

clearInterval(this.intervalID2);

this.intervalID2 = setInterval((function()

{this

._incYear();

}).bind(this), 30);

}.bindAsEventListener(this), false);

 

Event.observe(selectYearCellPlus, "mouseup", function(event)

{

clearInterval(this.intervalID2);}.bindAsEventListener(this), false);

 

this.yearConstructed = true;

}

}

 

org_apache_myfaces_PopupCalendar.prototype._popDownYear = function()

{

clearInterval(this.intervalID1);

clearTimeout(this.timeoutID1);clearInterval(

this.intervalID2);

clearTimeout(this.timeoutID2);

this.selectYearDiv.style.visibility = "hidden";

this._showElement(this.selectYearDiv);

}

 

org_apache_myfaces_PopupCalendar.prototype._popUpYear = function()

{

var leftOffset;

 

this._constructYear();

this.selectYearDiv.style.visibility = (this.dom || this.ie) ? "visible" : "show";leftOffset = parseInt(

this._formatInt(this.calendarDiv.style.left), 10) + this.yearSpan.offsetLeft;if (this.ie)

leftOffset += 6;

this.selectYearDiv.style.left = leftOffset + "px";

this.selectYearDiv.style.top = parseInt(this._formatInt(this.calendarDiv.style.top), 10) + 26 + "px";

 

this._hideElement(this.selectYearDiv);

}

 

/*** calendar ***/

org_apache_myfaces_PopupCalendar.prototype._weekNbr = function(n)

{

// Algorithm used:

// From Klaus Tondering's Calendar document (The Authority/Guru)

// hhtp://www.tondering.dk/claus/calendar.html

// a = (14-month) / 12

// y = year + 4800 - a

// m = month + 12a - 3

// J = day + (153m + 2) / 5 + 365y + y / 4 - y / 100 + y / 400 - 32045

// d4 = (J + 31741 - (J mod 7)) mod 146097 mod 36524 mod 1461

// L = d4 / 1460

// d1 = ((d4 - L) mod 365) + L

// WeekNumber = d1 / 7 + 1

 

year = n.getFullYear();

month = n.getMonth() + 1;

if (this.initData.startAt == 0)

day = n.getDate() + 1;

elseday = n.getDate();

 

a = Math.floor((14 - month) / 12);

y = year + 4800 - a;

m = month + 12 * a - 3;

b = Math.floor(y / 4) - Math.floor(y / 100) + Math.floor(y / 400);

J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045;

d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461;

L = Math.floor(d4 / 1460);

d1 = ((d4 - L) % 365) + L;

week = Math.floor(d1 / 7) + 1;

 

return week;

}

 

org_apache_myfaces_PopupCalendar.prototype._appendCell = function(parentElement, value)

{

var cell = document.createElement("td");cell.setAttribute("style", "text-align:right;");

 

if (value && value != "")

{

cell.appendChild(document.createTextNode(value));

}

else

{

this._appendNbsp(cell);

}

 

parentElement.appendChild(cell);

}

 

org_apache_myfaces_PopupCalendar.prototype._getDateStyle = function(datePointer)

{

var sStyle = this.initData.themePrefix + "-normal-day-style";

//regular day

 

if ((datePointer == this.dateNow) &&

(this.selectedDate.month == this.monthNow) && (this.selectedDate.year == this.yearNow)) //today

{

sStyle = this.initData.themePrefix + "-current-day-style";

}

else if (dayPointer % 7 == (this.initData.startAt * -1) + 1) //end-of-the-week day

{ sStyle = this.initData.themePrefix + "-end-of-weekday-style";

}

 

//selected day

if ((datePointer == this.saveSelectedDate.date) &&

(this.selectedDate.month == this.saveSelectedDate.month) &&(

this.selectedDate.year == this.saveSelectedDate.year))

{

sStyle += " " + this.initData.themePrefix + "-selected-day-style";

}

 

for (k = 0; k < this.holidaysCounter; k++)

{if

((parseInt(this._formatInt(this.holidays[k].d), 10) == datePointer) && (parseInt(this._formatInt(this.holidays[k].m), 10) == (this.selectedDate.month + 1)))

{if

((parseInt(this._formatInt(this.holidays[k].y), 10) == 0) || ((parseInt(this._formatInt(this.holidays[k].y), 10) == this.selectedDate.year) && (parseInt(this._formatInt(this.holidays[k].y), 10) != 0)))

{

sStyle += " " + this.initData.themePrefix + "-holiday-style";}

}

}

 

return sStyle;

}

 

org_apache_myfaces_PopupCalendar.prototype._getHolidayHint = function(datePointer)

{

var sHint = "";

for (k = 0; k < this.holidaysCounter; k++)

{

if ((parseInt(this._formatInt(this.holidays[k].d), 10) == datePointer) && (parseInt(this._formatInt(this.holidays[k].m), 10) == (this.selectedDate.month + 1)))

{

if ((parseInt(this._formatInt(this.holidays[k].y), 10) == 0) || ((parseInt(this._formatInt(this.holidays[k].y), 10) == this.selectedDate.year) && (parseInt(this._formatInt(this.holidays[k].y), 10) != 0)))

{

sHint += sHint == ""?this.holidays[k].desc:"\n" + this.holidays[k].desc;

}

}

}

 

return sHint;

}

 

 

org_apache_myfaces_PopupCalendar.prototype._constructCalendar = function()

{

var aNumDays = Array(31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

 

var dateMessage;

var startDate = new Date (this.selectedDate.year, this.selectedDate.month, 1);

var endDate;

 

if (this.selectedDate.month == 1)

{

endDate = new Date (this.selectedDate.year, this.selectedDate.month + 1, 1);endDate = new Date (endDate - (24 * 60 * 60 * 1000));

numDaysInMonth = endDate.getDate();

}

else

{

numDaysInMonth = aNumDays[this.selectedDate.month];

}

 

datePointer = 0;dayPointer = startDate.getDay() - this.initData.startAt;

 

if (dayPointer < 0)

dayPointer = 6;

 

this._removeAllChildren(this.contentSpan);

 

var contentTable = document.createElement("table");

contentTable.setAttribute("style", "border:0px;")contentTable.className =

this.initData.themePrefix + "-body-style";

 

this.contentSpan.appendChild(contentTable);

 

var contentBody = document.createElement("tbody");

contentTable.appendChild(contentBody);

 

var contentRow = document.createElement("tr");

contentBody.appendChild(contentRow);

 

if (this.initData.showWeekNumber == 1)

{var

showWeekNumberCell = document.createElement("td");showWeekNumberCell.setAttribute("style", "width:27px;font-weight:bold;");

 

contentRow.appendChild(showWeekNumberCell);

 

showWeekNumberCell.appendChild(document.createTextNode(this.initData.weekString));

 

var dividerCell = document.createElement("td");

dividerCell.setAttribute("style", "width:1px;")dividerCell.setAttribute(

"rowSpan", "7");dividerCell.className = this.initData.themePrefix + "-weeknumber-div-style";

 

contentRow.appendChild(dividerCell);

 

var dividerImg = document.createElement("img");

dividerImg.setAttribute("src", this.initData.imgDir + "divider.gif");dividerImg.setAttribute(

"style", "width:1px;");

dividerCell.appendChild(dividerImg);

}

 

for (i = 0; i < 7; i++)

{var

dayNameCell = document.createElement("td");dayNameCell.setAttribute("style", "width:27px;text-align:right;font-weight:bold;")

contentRow.appendChild(dayNameCell);

 

dayNameCell.appendChild(document.createTextNode(this.initData.dayName[i]));

}

 

var currentRow = document.createElement("tr");

contentBody.appendChild(currentRow);

 

if (this.initData.showWeekNumber == 1)

{this

._appendCell(currentRow, this._weekNbr(startDate) + " ");

}

 

for (var i = 1; i <= dayPointer; i++)

{this

._appendCell(currentRow);

}

 

for (datePointer = 1; datePointer <= numDaysInMonth; datePointer++)

{

dayPointer++;

var dateCell = document.createElement("td");dateCell.setAttribute(

"style", "text-align:right;");

 

currentRow.appendChild(dateCell);

 

var sStyle = this._getDateStyle(datePointer);var sHint = this._getHolidayHint(datePointer);

 

var sSelectStyle = sStyle + " " + this.initData.themePrefix + "-would-be-selected-day-style";

var sNormalStyle = sStyle;

 

var dateLink = document.createElement("a");

dateLink.className = sStyle;

dateLink.setAttribute("href", "#");dateLink.setAttribute("title", "sHint");

 

dateLink.sNormalStyle = sNormalStyle;

dateLink.sSelectStyle = sSelectStyle;

dateLink.datePointer = datePointer;

 

dateCell.appendChild(dateLink);

 

Event.observe(dateLink, "mousemove", function(event)

{

window.status = this.initData.selectDateMessage.replace("[date]", this._constructDate(datePointer, this.selectedDate.month, this.selectedDate.year));

}.bindAsEventListener(this), false);Event.observe(dateLink,

"mouseout", function(event)

{var

elem = Event.element(event);

elem.className = elem.sNormalStyle;

window.status = "";

}.bindAsEventListener(this), false);Event.observe(dateLink,

"click", function(event)

{var

elem = Event.element(event);

this.selectedDate.date = elem.datePointer;

this._closeCalendar();

Event.stop(event);

}.bindAsEventListener(this), false);

Event.observe(dateLink, "mouseover", function(event)

{var elem = Event.element(event);

elem.className = elem.sSelectStyle;

}.bindAsEventListener(this), false);

 

this._appendNbsp(dateLink);

dateLink.appendChild(document.createTextNode(datePointer));

this._appendNbsp(dateLink);

 

if ((dayPointer + this.initData.startAt) % 7 == this.initData.startAt)

{currentRow = document.createElement("tr");

contentBody.appendChild(currentRow);

 

if ((this.initData.showWeekNumber == 1) && (datePointer < numDaysInMonth))

{this

._appendCell(currentRow, this._weekNbr(new Date(this.selectedDate.year, this.selectedDate.month, datePointer + 1)) + " ");

}

 

}

}

 

this._removeAllChildren(this.monthSpan);

 

this._appendNbsp(this.monthSpan);

this.monthSpan.appendChild(document.createTextNode(this.initData.monthName[this.selectedDate.month]));

this._appendNbsp(this.monthSpan);

 

this.changeMonthImg = document.createElement("img");

this.changeMonthImg.setAttribute("src", this.initData.imgDir + "drop1.gif");

this.changeMonthImg.setAttribute("width","12px");

this.changeMonthImg.setAttribute("height","10px");

this.changeMonthImg.setAttribute("style", "border:0px;");

 

this.monthSpan.appendChild(this.changeMonthImg);

 

this._removeAllChildren(this.yearSpan);

 

this._appendNbsp(this.yearSpan);

this.yearSpan.appendChild(document.createTextNode(this.selectedDate.year));

this._appendNbsp(this.yearSpan);

 

this.changeYearImg = document.createElement("img");

this.changeYearImg.setAttribute("src", this.initData.imgDir + "drop1.gif");

this.changeYearImg.setAttribute("width","12px");

this.changeYearImg.setAttribute("height","10px");

this.changeYearImg.setAttribute("style", "border:0px;");

 

this.yearSpan.appendChild(this.changeYearImg);

 

this._removeAllChildren(this.closeCalendarSpan);

 

var closeButtonImg = document.createElement("img");

closeButtonImg.setAttribute("src", this.initData.imgDir + "close.gif");closeButtonImg.setAttribute(

"width","15px");

closeButtonImg.setAttribute("height","13px");closeButtonImg.setAttribute(

"style", "border:0px;");closeButtonImg.setAttribute("alt", "Close the calendar");

 

this.closeCalendarSpan.appendChild(closeButtonImg);

 

this._recalculateElement(this.calendarDiv);

}

 

org_apache_myfaces_PopupCalendar.prototype._popUpCalendar = function(ctl, ctl2, format)

{

if (this.bPageLoaded)

{if

(this.calendarDiv.style.visibility == "hidden")

{this

.ctlToPlaceValue = ctl2;this.dateFormat = format;

 

var simpleDateFormat = new org_apache_myfaces_SimpleDateFormat(this.dateFormat, this.dateFormatSymbols);

var dateSelected = simpleDateFormat.parse(ctl2.value);

 

if (dateSelected)

{this

.selectedDate.sec = dateSelected.getSeconds();

this.selectedDate.min = dateSelected.getMinutes();

this.selectedDate.hour = dateSelected.getHours();

this.selectedDate.date = dateSelected.getDate();

this.selectedDate.month = dateSelected.getMonth();

 

var yearStr = dateSelected.getYear() + "";

 

if (yearStr.length < 4)

{

yearStr = (parseInt(yearStr, 10) + 1900) + "";

}

 

this.selectedDate.year = parseInt(yearStr, 10);}

else

{

this.selectedDate.date = this.dateNow;

this.selectedDate.month = this.monthNow;

this.selectedDate.year = this.yearNow;

}

 

this._popUpCalendar_Show(ctl);}

else

{

this._hideCalendar();

if (this.ctlNow != ctl)

this._popUpCalendar(ctl, ctl2, format);

}this

.ctlNow = ctl; }

}

 

org_apache_myfaces_PopupCalendar.prototype._popUpCalendarForInputDate = function(clientId, format)

{

if (this.bPageLoaded)

{this

.myFacesCtlType = "x:inputDate";

this.myFacesInputDateClientId = clientId;

this.dateFormat = format;

 

this.selectedDate.date = parseInt(this._formatInt(document.getElementById(clientId + ".day").value), 10);

this.selectedDate.month = parseInt(this._formatInt(document.getElementById(clientId + ".month").value), 10) - 1;

this.selectedDate.year = parseInt(this._formatInt(document.getElementById(clientId + ".year").value), 10);

this.ctlNow = document.getElementById(clientId + ".day");

this._popUpCalendar_Show(document.getElementById(clientId + ".day")); }

}

 

org_apache_myfaces_PopupCalendar.prototype._popUpCalendar_Show = function(ctl)

{

this.saveSelectedDate.date = this.selectedDate.date;

this.saveSelectedDate.month = this.selectedDate.month;

this.saveSelectedDate.year = this.selectedDate.year;

 

var leftpos = 0;var toppos = 0;

 

var aTag = ctl;

var aTagPositionisAbsolute=false;

// Added try-catch to the next loop (MYFACES-870)

try

{

do {

aTag = aTag.offsetParent;

leftpos += aTag.offsetLeft;

toppos += aTag.offsetTop;

aTagPositioningisAbsolute = (aTag.style.position == "absolute")

}while

((aTag.tagName != "BODY") && (aTag.tagName != "DIV") && (!aTagPositioningisAbsolute));

}catch

(ex)

{

// ignore

}

 

var leftScrollOffset = 0;var topScrollOffset = 0;

 

aTag = ctl;

// Added try-catch (MYFACES-870)try

{

do {

leftScrollOffset += aTag.scrollLeft;

topScrollOffset += aTag.scrollTop;

aTag = aTag.parentNode;

}

while ((aTag.tagName != "BODY") && (aTag.tagName != "DIV") && (aTag.style.position != "absolute"));

}

catch (ex)

{ // ignore

}

 

var bodyRect = this._getVisibleBodyRectangle();

var cal = this.calendarDiv;

var top = 0;

var left = 0

if (aTagPositioningisAbsolute) { top = ctl.offsetTop - topScrollOffset + ctl.offsetHeight + 2;

left = ctl.offsetLeft - leftScrollOffset;

}

else {

top = ctl.offsetTop + toppos - topScrollOffset + ctl.offsetHeight + 2;

left = ctl.offsetLeft + leftpos - leftScrollOffset;

}

 

if(this.initData.popupLeft)

{

left-=cal.offsetWidth;

}

 

if (left + cal.offsetWidth > bodyRect.right)

{

left = bodyRect.right - cal.offsetWidth;

}if

(top + cal.offsetHeight > bodyRect.bottom)

{

top = bodyRect.bottom - cal.offsetHeight;

}if

(left < bodyRect.left)

{

left = bodyRect.left;

}if

(top < bodyRect.top)

{

top = bodyRect.top;

}

 

this.calendarDiv.style.left = this.initData.fixedX == -1 ? left + "px": this.initData.fixedX;

this.calendarDiv.style.top = this.initData.fixedY == -1 ? top + "px": this.initData.fixedY;

this._constructCalendar(1, this.selectedDate.month, this.selectedDate.year);

 

this.calendarDiv.style.visibility = (this.dom || this.ie)? "visible" : "show";this.bCalendarHidden = false;

 

setTimeout((function()

{

this._hideElement(this.calendarDiv);

}).bind(this), 200);

 

this._hideElement(this.calendarDiv);

 

this.bClickOnCalendar = true;

}

 

org_apache_myfaces_PopupCalendar.prototype._getVisibleBodyRectangle = function()

{

var visibleRect = new org_apache_myfaces_Rectangle();

 

if (window.pageYOffset != undefined)

{

//Most non IEvisibleRect.top = window.pageYOffset;

visibleRect.left = window.pageXOffset;

}else if

(document.body && document.body.scrollTop)

{

//IE 6 strict modevisibleRect.top = document.body.scrollTop;

visibleRect.left = document.body.scrollLeft;

}else if

(document.documentElement && document.documentElement.scrollTop)

{

//Older IEvisibleRect.top = document.documentElement.scrollTop;

visibleRect.left = document.documentElement.scrollLeft;

}

 

if (window.innerWidth != undefined)

{

//Most non-IEvisibleRect.right = visibleRect.left + window.innerWidth;

visibleRect.bottom = visibleRect.top + window.innerHeight;

}else if

(document.documentElement && document.documentElement.clientHeight)

{

//IE 6 strict modevisibleRect.right = visibleRect.left + document.documentElement.clientWidth;

visibleRect.bottom = visibleRect.top + document.documentElement.clientHeight;

}else if

(document.body && document.body.clientHeight)

{

//IE 4 compatiblevisibleRect.right = visibleRect.left + document.body.clientWidth;

visibleRect.bottom = visibleRect.top + document.body.clientHeight;

}

return visibleRect;

}

 

function org_apache_myfaces_Rectangle()

{

this.top = 0;

this.left = 0;

this.bottom = 0;

this.right = 0;

}

 

org_apache_myfaces_PopupCalendar.prototype._formatInt = function(str)

{

 

if (typeof str == 'string')

{

 

//truncate 0 for number less than 10

if (str.charAt && str.charAt(0) == "0")

{ // <----- Change, added str.charAt for method availability detection (MYFACES) return str.charAt(1);

}

 

}

return str;

 

}

 

August 02, 2006

IllegalStateException in MyFaces Extension Filter

I've been receiving this error from myfaces tomahawk 1.1.3  with weblogic 8.1 sp5
java.lang.IllegalStateException: getOutputStream() has already been called for this response
from the myfaces extension filter...

<filter-mapping>
 <filter-name>MyFacesExtensionsFilter</filter-name>
 <url-pattern>*</url-pattern>
</filter-mapping>


I fixed it by changing my mapping to the following:
<filter-mapping>
 <filter-name>MyFacesExtensionsFilter</filter-name>
 <url-pattern>*.jsf</url-pattern>
</filter-mapping>

<filter-mapping>
 <filter-name>MyFacesExtensionsFilter</filter-name>
 <url-pattern>/faces/*</url-pattern>
</filter-mapping>

But to verify, I changed it back to:
<filter-mapping>
 <filter-name>MyFacesExtensionsFilter</filter-name>
 <url-pattern>*</url-pattern>
</filter-mapping>

And added an index.jsp that forwarded to my home.jsf page and now it works fine....

August 01, 2006

A picture is worth a 1000 words.

Lukas at the pool

Welcome

We are hoping to put a whole bunch of updates in a blog format to keep you apprised of Luke and the family.

 


Hosting by Yahoo!