/**
 * CREATED BY ADI SCOARTA
 * EMAIL: adi@codetale.com
 * Version: 1.08
 * Build Date: June 21st, 2009
 */
/***************************************************************************
/*
/* calendar.js
/*  Portions (c) fluidr.com 2009-2010 All Rights Reserved
/*
/***************************************************************************/
var holder;var opened=false;var firstClick=false;itype="strict";startDate=new Date(2004,6,1);var now=new Date();var endDate=new Date(now.getTime()+(now.getTimezoneOffset()-8*60)*60000);iMonth=endDate.getMonth();iYear=endDate.getFullYear();iDay=endDate.getDate();imaxDays=Math.round((endDate-startDate)/1000/60/60/24);startDay=startDate.getDate();startMonth=startDate.getMonth();startYear=startDate.getFullYear();if(typeof (exploreDate)=="undefined"){exploreDate=new Date()}if(typeof (addZero)=="undefined"){addZero=true}if(typeof (offX)=="undefined"){offX=10}if(typeof (offY)=="undefined"){offY=-10}if(typeof (formatInputs)=="undefined"){formatInputs=1}if(typeof (formatSplitter)=="undefined"){formatSplitter="/"}if(typeof (monthFormat)=="undefined"){monthFormat="mm"}if(typeof (yearFormat)=="undefined"){yearFormat="yyyy"}if(typeof (followMouse)=="undefined"){followMouse=false}if(typeof (formatType)=="undefined"){formatType=yearFormat+formatSplitter+monthFormat+formatSplitter+"dd"}if(typeof (sundayOff)=="undefined"){sundayOff=false}if(typeof (saturdayOff)=="undefined"){saturdayOff=false}if(typeof (sundayFirst)=="undefined"){sundayFirst=false}if(window.addEventListener){window.addEventListener("load",createBase,false)}else{if(window.attachEvent){window.attachEvent("onload",createBase)}else{if(document.getElementById){window.onload=createBase}}}var tempX=0;var tempY=0;function getMouseXY(e){if(IE){tempX=event.clientX+document.body.scrollLeft;tempY=event.clientY+document.body.scrollTop}else{tempX=e.pageX;tempY=e.pageY}if(tempX<0){tempX=0}if(tempY<0){tempY=0}return true}var d=document;function cel(a){return d.createElement(a)}function sa(a,b,c){return a.setAttribute(b,c)}function appendc(a,b){return a.appendChild(b)}function cNode(a,b){return a.appendChild(d.createTextNode(b))}function getID(a){return d.getElementById(a)}var DayCol=new Array("M","T","W","T","F","S","S");if(sundayFirst){newDayCol=new Array(DayCol[DayCol.length-1]);for(x=0;x<DayCol.length-1;x++){newDayCol[newDayCol.length]=DayCol[x]}DayCol=newDayCol}var MonthCol=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");function getDaysInMonth(a,b){var c=new Array(31,28,31,30,31,30,31,31,30,31,30,31);if(a==1){c[1]=((b%400==0)||((b%4==0)&&(b%100!=0)))?29:28}return c[a]}var cw={currMonth:iMonth,currYear:iYear,currDay:iDay,selMonth:iMonth,selYear:iYear,selDay:iDay,config:itype,maxDays:imaxDays,stMonth:startMonth,stYear:startYear,stDay:startDay,endMonth:11,endYear:iYear,endDay:31,addZ:addZero,setMarks:function(){if(this.config=="strict"){this.stDay=startDay;this.stMonth=startMonth;this.stYear=startYear;this.getEnd()}},getConfMonths:function(){if(this.config=="strict"){cw.setMarks()}mthCol=cel("ul");mthCol.id="months";k=0;cw.setBrowseYears();for(i=0;i<12;i++){mth=cel("li");if(cw.isValidMonth(i)){if(cw.isCurrentMonth(i)){mth.className="currMonth";mth.innerHTML=MonthCol[i]}else{mth.className="months";mtha=cel("a");mtha.href="javascript:modMonth("+this.selYear+","+i+")";mtha.innerHTML=MonthCol[i];appendc(mth,mtha)}}else{mth.className="monthDisabled";mth.innerHTML=MonthCol[i]}appendc(mthCol,mth)}return mthCol},getConfDays:function(){dayCol=cel("ul");dayCol.id="days";for(i=0;i<7;i++){dayCell=cel("li");dayCell.className="headDay";dayCell.innerHTML=DayCol[i];appendc(dayCol,dayCell)}var a=new Date(this.selYear,this.selMonth,1).getDay();if(!sundayFirst){a--}if(a<0){a=6}for(i=0;i<a;i++){dayCell=cel("li");dayCell.className="dayBlank";dayCell.innerHTML="&nbsp;";appendc(dayCol,dayCell)}for(i=1;i<=getDaysInMonth(this.selMonth,this.selYear);i++){dayCell=cel("li");if(cw.isValidDate(i)){dayCell.className="dayNormal";if(cw.isCurrentDay(i)){dayCell.className="dayCurrent";dayCell.innerHTML=i}else{if(cw.isWeekend(i)){dayCell.className="dayWeekend"}dayLink=cel("a");var b=this.selMonth+1;dayLink.href="http://www.fluidr.com/explore/interesting/"+this.selYear+"/"+((b<10)?("0"+b):b)+"/"+((i<10)?("0"+i):i);dayLink.innerHTML=i;appendc(dayCell,dayLink)}}else{dayCell.className="dayDisabled";dayCell.innerHTML=i}appendc(dayCol,dayCell)}return dayCol},getEnd:function(){this.endMonth=endDate.getMonth();this.endDay=endDate.getDate();this.endYear=endDate.getFullYear()},isValidDate:function(a){if(saturdayOff||sundayOff){sun=new Date(this.selYear,this.selMonth,a);sun=sun.getDay();if((sun==6&&saturdayOff)||(sun==0&&sundayOff)){return false}}if(this.config=="loose"){return true}cdate=new Date(this.selYear,this.selMonth,a).getTime();sdate=new Date(this.stYear,this.stMonth,this.stDay).getTime();edate=new Date(this.endYear,this.endMonth,this.endDay).getTime();if(cdate<sdate||cdate>edate){return false}return true;if(this.selYear==this.stYear){if(this.selMonth<this.stMonth){return false}if(this.selMonth==this.stMonth&&a<this.stDay){return false}}if(this.selYear==this.endYear){if(this.selMonth>this.endMonth){return false}if(this.selMonth==this.endMonth&&a>this.endDay){return false}}if(this.selYear==this.endYear&&this.selYear==this.stYear){if(this.selMonth>this.endMonth||this.selMonth<this.stMonth){return false}}if(this.selYear>this.endYear){return false}return true},isWeekend:function(a){sun=new Date(this.selYear,this.selMonth,a).getDay();if(sun==6||sun==0){return true}return false},isCurrentDay:function(a){if(this.selDay==a){return true}return false},setBrowseYears:function(){brsY=cel("li");brsY.className="yearBrowse";if(this.selYear<=this.stYear&&this.config=="strict"){backB=cel("span");backB.className="yearBrowse-disabled"}else{backB=cel("a");backB.href="javascript: modYear(-1)"}backB.innerHTML="&laquo;";yText=cel("b");yText.innerHTML=cw.selYear;if(this.selYear>=this.endYear&&this.config=="strict"){fwdB=cel("span");fwdB.className="yearBrowse-disabled"}else{fwdB=cel("a");fwdB.href="javascript: modYear(1)"}fwdB.innerHTML="&raquo;";appendc(brsY,backB);appendc(brsY,yText);appendc(brsY,fwdB);appendc(mthCol,brsY)},isValidMonth:function(m){if(this.config=="loose"){return true}else{if(this.selYear<this.stYear){return false}if(this.selYear==this.stYear&&m<this.stMonth){return false}if(this.selYear>this.endYear){return false}if(this.selYear==this.endYear&&m>this.endMonth){return false}}return true},isCurrentMonth:function(i){if(i==this.selMonth){return true}return false}};cw.setMarks();function createBase(){var a=cel("div");a.id="calendar";a.style.display="none";if(typeof (elToAppend)=="undefined"){tDocument=document.getElementsByTagName("body").item(0)}else{var b=elToAppend;tDocument=document.getElementById(b)}appendc(tDocument,a)}function createCalendarElements(){var a="calendar";var b=cel("div");b.id="elements";while(document.getElementById(a).firstChild){document.getElementById(a).removeChild(document.getElementById(a).firstChild)}appendc(document.getElementById(a),b);mthCol=cw.getConfMonths();appendc(b,mthCol);dayStruct=cw.getConfDays();appendc(b,dayStruct)}function modMonth(a,b){cw.selYear=a;cw.selMonth=b;createCalendarElements()}function newDay(a){cw.selDay=a;createCalendarElements()}function modYear(a){cw.selYear=parseInt(cw.selYear)+parseInt(a);createCalendarElements()}var datas;var elem1;var elem2;var elem3;var mA=0;var yA=0;var mm=new Array("mm","mmm");var yy=new Array("yy","yyyy");function checkClick(e){if(firstClick){firstClick=false;return}var t=Event.element(e);if(!t.descendantOf($("calendar"))){closeCalendar()}}function fPopCalendar(a){if(true==opened){return false}holder=$(a);var b=$("calendar");cw.selYear=exploreDate.getFullYear();cw.selMonth=exploreDate.getMonth();cw.selDay=exploreDate.getDate();createCalendarElements();b.style.display="block";var c=0;var d=0;var e=holder;do{c+=e.offsetLeft;d+=e.offsetTop}while(e=e.offsetParent);b.style.left=(c-(b.clientWidth-holder.offsetWidth)-2)+"px";b.style.top=(d+holder.offsetHeight-1)+"px";holder.addClassName("calendar-holder");order=new String(formatType).split(formatSplitter);for(i=0;i<mm.length;i++){for(j=0;j<order.length;j++){if(mm[i]==order[j]){mA=i}if(yy[i]==order[j]){yA=i}}}firstClick=true;Event.observe(document,"click",checkClick);opened=true;return false}function closeCalendar(){Event.stopObserving(document,"click",checkClick);opened=false;$("calendar").style.display="none";holder.removeClassName("calendar-holder")}