﻿/* Copyright 2009 GasBuddy */
var a,_undefined=undefined,returnTrue=true,returnFalse=false,returnNull=null;
function Calendar(c,b,d,h,g,l,o,p,m,j,k,t,u,v,q,r,n){var e=this;e.Months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.DaysOfWeek=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];e.container=c;e.monthsToDisplay=2;e.displayHorizontal=returnTrue;e.startMonth=b.getMonth();e.startDay=b.getDate();e.startYear=b.getFullYear();e.maxMonth=e.startMonth;e.maxDay=e.startDay;e.maxYear=e.startYear+1;e.curMonth=e.startMonth;e.curYear=e.startYear;e.onCancel=returnNull;e.tableClass=d;e.monthButtonCellClass=
h;e.activeButtonClass=g;e.inactiveButtonClass=l;e.dayHeaderRowClass=o;e.dayHeaderCellClass=p;e.dayCellClass=m;e.activeDayClass=j;e.inactiveDayClass=k;e.otherMonthClass=t;e.dayOverClass=u;e.calendarSpacerClass=v;e.dayHighlightClass=q;e.monthHeaderClass=r;e.horizontalClass=n}a=Calendar.prototype;
a.render=function(){var c=this,b=[],d=0,h=c.curYear,g=c.curMonth-1,l=c.displayHorizontal,o=c.monthButtonCellClass,p=c.inactiveButtonClass,m=c.monthsToDisplay,j=c.highlightDate,k=c.selectedDate,t=c.dayOverClass,u=m-1;if(l){b.p('<table cellpadding=0 cellspacing=0 class="');b.p(c.horizontalClass);b.p('"><tr>')}for(;d<m;){l&&b.p("<td>");b.p('<table cellpadding=0 cellspacing=0 onselectstart="return false;" class="');b.p(c.tableClass);b.p('"><tr valign="middle"><td class="');b.p(o);b.p('">');if(d==0){b.p('<div id=previousMonth class="');
b.p(p);b.p('" title="Previous Month">&#171;</div>')}else b.p("&nbsp;");b.p("</td>");g+=1;if(g==12){g=0;h+=1}b.p('<td class="');b.p(c.monthHeaderClass);b.p('"><b>');b.p(c.Months[g]);b.p(" ");b.p(h);b.p("</b>");b.p('</td><td class="');b.p(o);b.p('">');if(d==u){b.p('<div id=nextMonth class="');b.p(p);b.p('" title="Next Month">&#187;</div>')}else b.p("&nbsp;");b.p("</td>");if(d==u){b.p('<td class="');b.p(o);b.p('"><div id=closeCalendar class="');b.p(p);b.p('" title="Close Calendar">x</div></td>')}b.p('</tr><tr valign="top"><td colspan="');
b.p(m*3+1);b.p('">');b.p('<table width="100%" cellpadding=0 cellspacing=0><tr class="');b.p(c.dayHeaderRowClass);b.p('">');c.renderDayHeaderCell("Su",b);c.renderDayHeaderCell("Mo",b);c.renderDayHeaderCell("Tu",b);c.renderDayHeaderCell("We",b);c.renderDayHeaderCell("Th",b);c.renderDayHeaderCell("Fr",b);c.renderDayHeaderCell("Sa",b);b.p("</tr>");var v=new Date(h,g,1),q=v.getDay();if(q==0)q=7;for(var r=0;r<6;){b.p('<tr valign="middle">');for(var n=0;n<7;){var e=r*7+n-q;b.p('<td align="center" class="');
b.p(c.dayCellClass);n==6&&b.p('" style="border-right:1px solid #C0C0C0;');b.p('">');var i=v.AddDays(e),s=i.getMonth(),B=i.getDate();b.p('<div month="');b.p(s);b.p('" day="');b.p(B);b.p('" year="');b.p(i.getFullYear());b.p('" ');var x=j!=_undefined,y=k!=_undefined;if(!(x&&i.equals(j))&&!(y&&i.equals(k))||!(i>=z&&s==g))if(x&&y&&(i>j&&i<k||i>k&&i<j)&&i>=z&&s==g){b.p('between="1" class="');b.p(c.dayHighlightClass);b.p('" id="cal')}else{var z=new Date(c.startYear,c.startMonth,c.startDay);b.p('class="');
if(i>=z&&s==g){b.p(c.activeDayClass);b.p('" id="cal')}else s==g?b.p(c.inactiveDayClass):b.p(c.otherMonthClass)}else if(x&&i.equals(j)){b.p('selected="1" class="');b.p(t);b.p('" id="cal')}else if(y&&i.equals(k)){b.p('selected="1" class="');b.p(t);b.p('" id="cal')}b.p('">');b.p(B);b.p("</div></td>");n++}b.p("</tr>");r++}b.p("</table></td></tr></table>");if(l){b.p("</td>");if(d+1<m){b.p('<td class="');b.p(c.calendarSpacerClass);b.p('"><img src="images/blank.gif" width="5" height="1"></td>')}}d++}l&&
b.p("</tr></table>");c.container.innerHTML=b.join("");var A=document.createElement("div");A.style.display="none";c.container.appendChild(A);c.dropShadow=A;c.previousMonthBtn=c.findChildNodeById(c.container,"previousMonth");c.nextMonthBtn=c.findChildNodeById(c.container,"nextMonth");c.closeCalendarBtn=c.findChildNodeById(c.container,"closeCalendar");c.previousMonthBtn.owner=c.nextMonthBtn.owner=c.closeCalendarBtn.owner=c;c.previousMonthBtn.onmouseup=function(){this.owner.previousMonth()};c.previousMonthBtn.onmouseover=
function(){var f=this;f.owner.btnHi(f,returnTrue)};c.previousMonthBtn.onmouseout=function(){var f=this;f.owner.btnHi(f,returnFalse)};c.nextMonthBtn.onmouseup=function(){this.owner.nextMonth()};c.nextMonthBtn.onmouseover=function(){var f=this;f.owner.btnHi(f,returnTrue)};c.nextMonthBtn.onmouseout=function(){var f=this;f.owner.btnHi(f,returnFalse)};c.closeCalendarBtn.onmouseup=function(){var f=this;f.owner.hide();f.owner.onCancel!=returnNull&&f.owner.onCancel()};c.closeCalendarBtn.onmouseover=function(){var f=
this;f.owner.btnHi(f,returnTrue)};c.closeCalendarBtn.onmouseout=function(){var f=this;f.owner.btnHi(f,returnFalse)};d=0;for(var C=c.findChildNodesById(c.container,"cal",[]);d<C.length;){var w=C[d];w.owner=c;w.onmouseup=function(){var f=this;f.owner.selectedDate=new Date(f.getAttribute("year"),f.getAttribute("month"),f.getAttribute("day"));f.owner.onDayClick(f.owner.selectedDate)};w.onmouseover=function(){var f=this;f.owner.calHi(f,returnTrue)};w.onmouseout=function(){var f=this;f.owner.calHi(f,returnFalse)};
d++}};a.previousMonth=function(){var c=this,b=c.curYear,d=c.curMonth-1;if(d==-1){d=11;b=c.curYear-1}if(d>=c.startMonth&&b==c.startYear||b>c.startYear){c.curMonth=d;c.curYear=b;c.render();c.adjustShadow()}};a.nextMonth=function(){var c=this,b=c.curYear,d=c.curMonth+1;if(d==12){d=0;b=c.curYear+1}if(d<=c.maxMonth-c.monthsToDisplay&&b==c.maxYear||b<c.maxYear){c.curMonth=d;c.curYear=b;c.render();c.adjustShadow()}};a.show=function(){var c=this;c.render();c.container.style.display="inline";c.adjustShadow()};
a.adjustShadow=function(){var c=this,b=c.dropShadow.style;b.position="absolute";b.display="inline";b.left="5px";b.top="5px";b.width=c.container.offsetWidth+"px";b.height=c.container.offsetHeight+"px";b.backgroundColor="#808080";b.zIndex=-1;b.opacity=0.6;b.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=60)"};a.hide=function(){var c=this;if(c.dropShadow)c.dropShadow.style.display="none";c.container.style.display="none"};a.btnHi=function(c,b){var d=this;c.className=b?d.activeButtonClass:d.inactiveButtonClass};
a.calHi=function(c,b){var d=this;c.className=b||c.getAttribute("selected")==1?d.dayOverClass:!b&&c.getAttribute("between")==1?d.dayHighlightClass:d.activeDayClass};a.findChildNodeById=function(c,b){var d=returnNull,h,g=0;if(c.hasChildNodes()){for(;g<c.childNodes.length&&d==returnNull;){h=c.childNodes[g];d=h.id==b?h:this.findChildNodeById(h,b);g++}return d}return returnNull};
a.findChildNodesById=function(c,b,d){var h,g=0;if(c.hasChildNodes()){for(;g<c.childNodes.length;){h=c.childNodes[g];h.id==b?d.p(h):this.findChildNodesById(h,b,d);g++}return d}return returnNull};a.renderDayHeaderCell=function(c,b){var d=this;b.p('<td class="');b.p(d.dayHeaderCellClass);b.p('">');b.p(c);b.p("</td>");return b};a.getShortDate=function(){var c=this;return c.DaysOfWeek[c.selectedDate.getDay()]+", "+c.Months[c.selectedDate.getMonth()]+" "+c.selectedDate.getDate()+" "+c.selectedDate.getFullYear()};
Date.prototype.AddDays=function(c){var b=86400000,d=new Date(this.getTime()+c*b);if(this.getMonth()==10){var h=this.getTimezoneOffset(),g=d.getTimezoneOffset();if(h!=g){b=86400000;d=new Date(this.getTime()+c*b+3600000)}}return d};Date.prototype.equals=function(c){var b=this;return b.getFullYear()==c.getFullYear()&&b.getMonth()==c.getMonth()&&b.getDate()==c.getDate()};Array.prototype.p=function(c){this.push(c)};
