//Fabio Di Lupo - 2007 Copyright

var isNav=false;
//if(parseInt(navigator.appVersion) >= 4) {if(navigator.appName == "Netscape"){isNav=true;}}else{isNav=true;}
var today = new Date(new Date().valueOf());
var dateBoxPieceBlank = "    <td style=\"background:#eee;\">&nbsp;</td>";
var dateBoxPiece = "    <td style=\"background:##BGCOLOR##\" onMouseOver=\"this.style.background = '#ffc';\" onMouseOut=\"this.style.background = '##BGCOLOR##';\" onClick=\"setDateBoxes('##DATESET##',##MONTH##,##DAY##,##YEAR##)\">##DAY##</td>";

var baseDateBoxHeader = "<table class=\"calendario\" style=\"width:150px\">\n";
baseDateBoxHeader += "  <tr>\n";
baseDateBoxHeader += "    <td colspan=\"7\">\n";
baseDateBoxHeader += "      <table class=\"calendario\" style=\"width:150px\">\n";
baseDateBoxHeader += "        <tr>\n";
baseDateBoxHeader += "          <td style=\"width:22px;text-align:left;\"><div name=\"back\" class=\"scegli\" style=\"width:15px;\" onClick=\"previousMonth('##DATESET##')\"><b>&#171;</b></div></td>\n";
baseDateBoxHeader += "          <td style=\"width:106px;color:#401A1F;text-align:center;\"><b>##MONTHNAME## ##YEAR##</b></td>\n";
baseDateBoxHeader += "          <td style=\"width:22px;text-align:right;\"><div name=\"next\" class=\"scegli\" style=\"width:15px;\" onClick=\"nextMonth('##DATESET##')\"><b>&#187;</b></div></td>\n";
baseDateBoxHeader += "        </tr>\n";
baseDateBoxHeader += "      </table>\n";
baseDateBoxHeader += "    </td>\n";
baseDateBoxHeader += "  </tr>\n";
baseDateBoxHeader += "  <tr>\n";
baseDateBoxHeader += "    <th>Lu</th>\n";
baseDateBoxHeader += "    <th>Ma</th>\n";
baseDateBoxHeader += "    <th>Me</th>\n";
baseDateBoxHeader += "    <th>Gi</th>\n";
baseDateBoxHeader += "    <th>Ve</th>\n";
baseDateBoxHeader += "    <th>Sa</th>\n";
baseDateBoxHeader += "    <th>Do</th>\n";
baseDateBoxHeader += "  </tr>";

var dateBoxFooter = "  <tr>\n";
dateBoxFooter += "    <td colspan=\"7\"><div name=\"close_btn\" class=\"scegli\" style=\"margin-left:25px;width:100px; height:15px;\" onClick=\"hideCalendar()\">Chiudi Calendario</div></td>\n";
dateBoxFooter += "  </tr>\n</table>\n";
var calBuffer="";
var caldays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var months = new Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");
function isLeapYear(yr)
{  if (((yr % 4 == 0) && (yr % 100 != 0)) || (yr % 400 == 0)) { return true; }  else { return false; } };

function GetDOW2(d,m,y){var dt=new Date(y,m-1,d);  return(dt.getDay())%7;};
var selectBoxFlag=false;var maxYear=0;var minYear=0;

function displayCalendar(hideSelects,inDateSet){  selectBoxFlag=hideSelects;  
if(isNav)
  {    var calWinHndl = window.open("#","calendario","scrollbars=yes,resizable=yes,width=150,height=250");    calWinHndl.focus();  }
else
 {theForm = document.MFR;
  var inYear = theForm.inyear.options[theForm.inyear.selectedIndex].value;
  theForm = document.MFR;
  var mon = parseInt(theForm.inmonth.options[theForm.inmonth.selectedIndex].value,10); 
  var day = parseInt(theForm.inday.options[theForm.inday.selectedIndex].value,10);
  var year = parseInt(theForm.inyear.options[theForm.inyear.selectedIndex].value,10);
  currentMonth = mon;
  currentYear = year;
  currentDay = day;
  maxYear = parseInt(theForm.inyear.options[(theForm.inyear.options.length-1)].value,10);
  minYear = parseInt(theForm.inyear.options[0].value,10);
  drawCalendarBody(inDateSet,mon,day,year);
  document.all.CAL.style.left = (event.x - event.offsetX);
  document.all.CAL.style.top = (event.y - event.offsetY);
  document.all.CAL.style.visibility = "visible";
  if(hideSelects)
   { if(document.all.MFR.n_persone) { document.all.MFR.n_persone.style.visibility = "hidden"; };
	  if(document.all.MFR.n_babies) { document.all.MFR.n_babies.style.visibility = "hidden"; };
	  if(document.all.MFR.n_kids) { document.all.MFR.n_kids.style.visibility = "hidden"; };
	  if(document.all.MFR.n_teens) { document.all.MFR.n_teens.style.visibility = "hidden"; };
	  if(document.all.MFR.tipologia_appartamento) {document.all.MFR.tipologia_appartamento.style.visibility = "hidden"; }
	  if(inDateSet == "in"){ document.all.MFR.outmonth.style.visibility = "hidden";
	                          document.all.MFR.outday.style.visibility = "hidden";
									  document.all.MFR.outyear.style.visibility = "hidden";
								   }
	 }
  }
};

function hideCalendar(hideSelects)
{
document.all.CAL.style.visibility = "hidden"; 
if(hideSelects || selectBoxFlag){    if(document.all.MFR.n_persone) { document.all.MFR.n_persone.style.visibility = "visible"; }    if(document.all.MFR.n_babies) { document.all.MFR.n_babies.style.visibility = "visible"; }    if(document.all.MFR.n_kids) { document.all.MFR.n_kids.style.visibility = "visible"; }
if(document.all.MFR.n_teens) { document.all.MFR.n_teens.style.visibility = "visible"; }    if(document.all.MFR.tipologia_appartamento) {document.all.MFR.tipologia_appartamento.style.visibility = "visible"; }  document.all.MFR.outmonth.style.visibility = "visible";    document.all.MFR.outday.style.visibility = "visible";    document.all.MFR.outyear.style.visibility = "visible";    document.all.MFR.inmonth.style.visibility = "visible";    document.all.MFR.inday.style.visibility = "visible";    document.all.MFR.inyear.style.visibility = "visible";}
};

function nextMonth(inDateSet){currentMonth += 1;if(currentMonth > 12 && currentYear + 1 <= maxYear){currentMonth = 1;
currentYear++;}if(currentMonth > 12){currentMonth = 12;}if(currentMonth == (today.getMonth()+1) && currentYear == today.getYear()){drawCalendarBody(inDateSet,currentMonth,currentDay,currentYear);}
else{
drawCalendarBody(inDateSet,currentMonth,0,currentYear);}};

function previousMonth(inDateSet){  if((currentMonth - 1) < (today.getMonth()+1) && currentYear <= today.getYear())  {
}else{currentMonth -= 1; if(currentMonth < 1 && currentYear - 1 >= minYear) {   currentMonth = 12;   currentYear -= 1;  }   if(currentMonth == (today.getMonth()+1) && currentYear == today.getYear())   { drawCalendarBody(inDateSet,currentMonth,currentDay,currentYear);  }  else
{drawCalendarBody(inDateSet,currentMonth,0,currentYear);}}};

var currentMonth=1;var currentYear=2007;var currentDay=1;

function drawCalendarBody(inDateSet,mon,day,year){
calObj = document.all.CAL_BODY;
theForm = document.MFR;
var dowStartPos = GetDOW2(1,mon,year);
var finalDay = caldays[(mon-1)];
if(isLeapYear(year) && mon == 1) { finalDay += 1; };
re_MonthName = /##MONTHNAME##/g;
re_Year = /##YEAR##/g;
re_DateSet = /##DATESET##/g;
dateBoxHeader = baseDateBoxHeader;
dateBoxHeader = dateBoxHeader.replace(re_MonthName,months[(mon-1)]);
dateBoxHeader = dateBoxHeader.replace(re_Year,""+year);
dateBoxHeader = dateBoxHeader.replace(re_DateSet,""+inDateSet);
calBuffer = generateGrid(inDateSet,dowStartPos,finalDay, mon,day,year);
document.all.CAL_BODY.innerHTML = dateBoxHeader + calBuffer + dateBoxFooter;};

function generateGrid(inDateSet,startPos,endPos, m,d,y){
var currentDay=1;
var gridCount=0;
var doBlanks=true;
var tmpBuffer="";
re_Month = /##MONTH##/g;
re_Day = /##DAY##/g;
re_Year = /##YEAR##/g;
re_BGColor = /##BGCOLOR##/g;
re_DateSet = /##DATESET##/g;
for(var i=0;i<6;i++)  {
tmpBuffer += "<tr>\n";
for(var j=0;j<7;j++)  {
  if(gridCount < startPos || currentDay > endPos) 
   { tmpBuffer += dateBoxPieceBlank + "\n";  }
  else
   {pasrsedDBP = dateBoxPiece;   pasrsedDBP = pasrsedDBP.replace(re_Month,""+m);  pasrsedDBP = pasrsedDBP.replace(re_Day,""+currentDay);   pasrsedDBP = pasrsedDBP.replace(re_Year,""+y);   pasrsedDBP = pasrsedDBP.replace(re_DateSet,""+inDateSet);
  if(currentDay == d) 
   { pasrsedDBP = pasrsedDBP.replace(re_BGColor,"#d00"); } 
  else
   { pasrsedDBP = pasrsedDBP.replace(re_BGColor,"#bbb"); };
  tmpBuffer += pasrsedDBP + "\n";
  currentDay++;}gridCount++;}
  tmpBuffer += "</tr>\n";}
return tmpBuffer;};

function setDateBoxes(whichDateSet,m,d,y){  theForm = document.MFR;  eval("monthObj = theForm."+whichDateSet+"month;");  eval("dayObj = theForm."+whichDateSet+"day;");
eval("yearObj = theForm."+whichDateSet+"year;");  var yearOffset = parseInt(theForm.inyear.options[0].value,10);  monthObj.options[(m-1)].selected = true;  dayObj.options[(d-1)].selected = true;  yearObj.options[(y-yearOffset)].selected = true;changeDates();  hideCalendar();
}


