function positionInfo(object){var p_elm=object;this.getElementLeft=getElementLeft;function getElementLeft(){var x=0;var elm;if(typeof(p_elm)=="object"){elm=p_elm;}else{elm=document.getElementById(p_elm);}
while(elm!=null){if(elm.style.position=='relative'){break;}
else{x+=elm.offsetLeft;elm=elm.offsetParent;}}
return parseInt(x);}
this.getElementWidth=getElementWidth;function getElementWidth(){var elm;if(typeof(p_elm)=="object"){elm=p_elm;}else{elm=document.getElementById(p_elm);}
return parseInt(elm.offsetWidth);}
this.getElementRight=getElementRight;function getElementRight(){return getElementLeft(p_elm)+getElementWidth(p_elm);}
this.getElementTop=getElementTop;function getElementTop(){var y=0;var elm;if(typeof(p_elm)=="object"){elm=p_elm;}else{elm=document.getElementById(p_elm);}
while(elm!=null){if(elm.style.position=='relative'){break;}
else{y+=elm.offsetTop;elm=elm.offsetParent;}}
return parseInt(y);}
this.getElementHeight=getElementHeight;function getElementHeight(){var elm;if(typeof(p_elm)=="object"){elm=p_elm;}else{elm=document.getElementById(p_elm);}
return parseInt(elm.offsetHeight);}
this.getElementBottom=getElementBottom;function getElementBottom(){return getElementTop(p_elm)+getElementHeight(p_elm);}}
function CalendarControl() {
	Date.prototype.addMonths = function(n)
{
this.setMonth(this.getMonth()+n);
return this;
} 
var d = new Date().addMonths(16);
var currMonth = d.getMonth()+1; 
var currYear  =d.getFullYear();

  var calendarId = 'CalendarControl';
  var currentYear = 0;
  var currentMonth = 0;
  var currentDay = 0;   
  var currentMonth2 = 0;
  var currentYear2 = 0;
  var minimumbookingnotice= 0;
  var maximumbookingnotice=0;

  var selectedYear = 0;
  var selectedMonth = 0;
  var selectedDay = 0;

  var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
  var dateField = null;

  function getProperty(p_property){
    var p_elm = calendarId;
    var elm = null;

    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    if (elm != null){
      if(elm.style){
        elm = elm.style;
        if(elm[p_property]){
          return elm[p_property];
        } else {
          return null;
        }
      } else {
        return null;
      }
    }
  }

  function setElementProperty(p_property, p_value, p_elmId){
    var p_elm = p_elmId;
    var elm = null;

    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    if((elm != null) && (elm.style != null)){
      elm = elm.style;
      elm[ p_property ] = p_value;
    }
  }

  function setProperty(p_property, p_value) {
    setElementProperty(p_property, p_value, calendarId);
  }

  function getDaysInMonth(year, month) {
    return [31,((!(year % 4 ) && ( (year % 100 ) || !( year % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][month-1];
  }

  function getDayOfWeek(year, month, day) {
    var date = new Date(year,month-1,day)
    return date.getDay();
  }

  this.clearDate = clearDate;
  function clearDate() {
    dateField.value = '';
    hide();
  }

  this.setDate = setDate;
  function setDate(year, month, day) {
    if (dateField) {
      if (month < 10) {month = "0" + month;}
      if (day < 10) {day = "0" + day;}

      var dateString = year+"-"+month+"-"+day;
      dateField.value = dateString;	 
      hide();
	   datesed(document.getElementById('checkin').value,document.getElementById('checkout').value,document.getElementById('total').value);
    }
    return;
  }

  this.changeMonth = changeMonth;
  function changeMonth(change) {
    currentMonth += change;	
    currentDay = 0;	
    if(currentMonth > 12) {
      currentMonth = 1;	 
      currentYear++;	 
    } else if(currentMonth < 1) {
      currentMonth = 12;
      currentYear--;	  
    }

    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable();
  }
  
  // for modified calender - availability dates //
  this.changeMonthV2 = changeMonthV2;
  function changeMonthV2(change) {
    currentMonth += change;
    if(currentMonth > 12) {
      currentMonth = 1;	 
      currentYear++;	 
    } else if(currentMonth < 1) {
      currentMonth = 12;
      currentYear--;	  
    }
	
	//alert(currentMonth);
	
	//if(grandCurrentMonth == 
	
	//alert(grandCurrentMonth);
	//alert(grandCurrentDay);
	//alert(grandCurrentYear);
	
	
    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable2();
  }
  

  this.changeYear = changeYear;
  function changeYear(change) {
    currentYear += change;
    currentDay = 0;	
    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable();
  }
  function getCurrentYear() {
    var year = new Date().getYear();
    if(year < 1900) year += 1900;
    return year;
  }

  function getCurrentMonth() {
    return new Date().getMonth() + 1;
  } 

  function getCurrentDay() {
    return new Date().getDate();
  }
  
function daysBetweentwodate(checkin, checkout) {
	 t1=checkin;
     t2=checkout; 
   //Total time for one day
        var one_day=1000*60*60*24; 
//Here we need to split the inputed dates to convert them into standard format
//for furter execution
        var x=t1.split("-");     
        var y=t2.split("-");
  //date format(Fullyear,month,date) 
        var date1=new Date(x[0],(x[1]-1),x[2]);
  
        var date2=new Date(y[0],(y[1]-1),y[2])
        var month1=x[1]-1;
        var month2=y[1]-1;        
        //Calculate difference between the two dates, and convert to days               
        Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day)); 
		return Diff;
}
  function datesed(checkin,checkout,total)
	{
		
		
		
		days=daysBetweentwodate(checkin,checkout);
		if((checkin != "") && (checkout != ""))
		{
	
if(days > 0)
{
	document.getElementById('total').value = days;
}
else
{
	if ((checkin != "") && (checkout != ""))
			{
			alert("Check out date must be later than check in date");
			document.getElementById('checkout').value = "";
			document.getElementById('total').value = "";
			}
}
 

		
		}
		
	
	}
	
  function calendarDrawTablecheckout() {

    var dayOfMonth = 1;
    var validDay = 0;
    var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear, currentMonth);
    var css_class = null; //CSS class for each day
    var table = "<div id='sx-res-calendar' class='jqmID5'><a title='Close' class='jqmClose' href='javascript:hideCalendarControl();'></a> <div>";
	if(currentYear == selectedYear && currentMonth == selectedMonth)
	{
		//table = table + "  <td colspan='2' class='previous'>&nbsp;</td>";
	}
	else
	{
		table = table + "<a href='javascript:changeCalendarControlMonth(-1);' id='sx-res-calendar-prev'><div class='sx-res-calendar-button-left'></div></a>";
	}
  
if(currMonth<=currentMonth && currYear<=currentYear)
{
	 table = table + "<table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
}
else
{
	 table = table + "<a href='javascript:changeCalendarControlMonth(1);' id='sx-res-calendar-next' ><div class='sx-res-calendar-button-right'></div></a><table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
}
   
   table = table + "<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
  if(dayOfMonth<=selectedDay && currentYear == selectedYear && currentMonth == selectedMonth)
  {
	  table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
  }
  else
  {
	    table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear+","+currentMonth+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
  }
        
          dayOfMonth++;
        } else {
           table = table + "<td class='sx-res-calendar-inactive'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }

   
     table = table + "</tbody></table>";
	
	 var dayOfMonth = 1;
    var validDay = 0;
	if(currentMonth==12)
	{
		currentYear2=currentYear+1;
		currentMonth2=1;
		index=0;
	}
	else
	{
		currentYear2=currentYear;
		currentMonth2=currentMonth+1;	
		index=currentMonth;
	}
	
    var startDayOfWeek = getDayOfWeek(currentYear2, currentMonth2, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear2, currentMonth2);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()
	
	
	
table =  table + "<table class='sx-res-calendar cal-month-number2'><caption>" + months[index] + " " + currentYear2 + "</caption><thead>";  
    table = table + "<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";
	
 

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear2 == selectedYear && currentMonth2 == selectedMonth) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
  if(dayOfMonth<cday && currentYear2 == cyear && currentMonth2 == cmonth)
  {
	   table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
  }
  else
  {
	     table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear2+","+currentMonth2+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }
   
   table = table + "</table></tbody></table></div></div>";

    return table;
  }
  function calendarDrawTable() {	 

    var dayOfMonth = 1;
    var validDay = 0;
    var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear, currentMonth);
    var css_class = null; //CSS class for each day
	if(minimumbookingnotice!=0)//for minmum booking notice
	{		
		var dateString = new String(minimumbookingnotice);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);		
        var cmonth = selectedMonth
        var cday = selectedDay
        var cyear = selectedYear
	}
	else
	{
     var ccurrentTime = new Date()
     var cmonth = ccurrentTime.getMonth() + 1
     var cday = ccurrentTime.getDate()
     var cyear = ccurrentTime.getFullYear()
}

    var table = "<div id='sx-res-calendar' class='jqmID5'><a title='Close' class='jqmClose' href='javascript:hideCalendarControl();'></a> <div>";
    //table = table + "<tr class='header'>";
	if(currentYear == cyear && currentMonth == cmonth)
	{
		//table = table + "  <td colspan='2' class='previous'>&nbsp;</td>";
	}
	else
	{
		table = table + "<a href='javascript:changeCalendarControlMonth(-1);' id='sx-res-calendar-prev'><div class='sx-res-calendar-button-left'></div></a>";
	}
	
	if(currMonth<=currentMonth && currYear<=currentYear)
	{
		 table = table + "<table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
	}
	else
	{
		 table = table + "<a href='javascript:changeCalendarControlMonth(1);' id='sx-res-calendar-next' ><div class='sx-res-calendar-button-right'></div></a><table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
	}
   
    //table = table + "  <td colspan='3' class='title'>" + months[currentMonth-1] + "<br>" + currentYear + "</td>";
    //table = table + "  <td colspan='2' class='next'></td>";    
    table = table + "<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		  
		  if(dayOfMonth<=cday && currentYear == cyear && currentMonth == cmonth)
		  {
			  table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
		  }
		  else
		  {
			  	table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear+","+currentMonth+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
		  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar-inactive'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }

  
    table = table + "</tbody></table>";
	
	
	
	
	 var dayOfMonth = 1;
    var validDay = 0;
	if(currentMonth==12)
	{
		currentYear2=currentYear+1;
		currentMonth2=1;
		index=0;
	}
	else
	{
		currentYear2=currentYear;
		currentMonth2=currentMonth+1;	
		index=currentMonth;
	}
	
    var startDayOfWeek = getDayOfWeek(currentYear2, currentMonth2, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear2, currentMonth2);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()	
	table =  table + "<table class='sx-res-calendar cal-month-number2'><caption>" + months[index] + " " + currentYear2 + "</caption><thead>";  
    table = table + "<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear2 == selectedYear && currentMonth2 == selectedMonth) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		  
		  if(dayOfMonth<cday && currentYear2 == cyear && currentMonth2 == cmonth)
		  {
			  table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
		  }
		  else
		  {
				table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear2+","+currentMonth2+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
		  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }
   
    table = table + "</table></tbody></table></div></div>";

    return table;
  }
  
  //------------------------------------------------------------------------//
  // modified version for available dates //
  function mySearchString (arrayToSearch, stringToSearch) {
    
    arrayToSearch.sort();	

    for (var i = 0; i < arrayToSearch.length; i++) {

        if (arrayToSearch[i] == stringToSearch)
		{

            return true;
		}

        else if (stringToSearch < arrayToSearch[i])
		{
          
            return false;
		}

    }

    return false;
}
  
  // modified version for available dates //
  function calendarDrawTablecheckoutV2() {
	
	var tmpcellstatus1 = '';
	
    var dayOfMonth = 1;
    var validDay = 0;
    var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear, currentMonth);
    var css_class = null; //CSS class for each day
    var table = "<div id='sx-res-calendar' class='jqmID5'><a title='Close' class='jqmClose' href='javascript:hideCalendarControl();'></a> <div>";
	if(currentYear == selectedYear && currentMonth == selectedMonth)
	{
		//table = table + "  <td colspan='2' class='previous'>&nbsp;</td>";
	}
	else
	{
		table = table + "<a href='javascript:changeCalendarControlMonthV2(-1);' id='sx-res-calendar-prev'><div class='sx-res-calendar-button-left'></div></a>";
	}
  
	if(currMonth<=currentMonth && currYear<=currentYear)
	{
		 table = table + "<table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
	}
	else
	{
		 table = table + "<a href='javascript:changeCalendarControlMonthV2(1);' id='sx-res-calendar-next' ><div class='sx-res-calendar-button-right'></div></a><table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
	}

   table = table + "<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		 
		 if(dayOfMonth<=selectedDay && currentYear == selectedYear && currentMonth == selectedMonth)
		 {
			table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
		 }
		 else
		 {
			  	var datestring3=currentMonth+'-'+dayOfMonth+'-'+currentYear;
				
				if(mySearchString (reserveddates, datestring3)) {
					css_class = 'reserved';
			    } else {
					css_class = '';
			    }
				
				if(tmpcellstatus1 != css_class)
				{
					//alert('changing point ---- '+datestring3+' ----- '+currentcellstatus+' ----- '+css_class);
					
					if( (tmpcellstatus1 == 'reserved') && css_class == '')
					{
						//css_class = 'bookablestart';
					}
					
					if(tmpcellstatus1 == '' && css_class == 'reserved' )
					{
						//alert(datestring4);
						css_class = 'bookableend';
					}
					
					tmpcellstatus1 = css_class;
				}
				
				table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear+","+currentMonth+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
		  }
        
          dayOfMonth++;
        } else {
           table = table + "<td class='sx-res-calendar-inactive'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }

   
     table = table + "</tbody></table>";
	
	 var dayOfMonth = 1;
    var validDay = 0;
	if(currentMonth==12)
	{
		currentYear2=currentYear+1;
		currentMonth2=1;
		index=0;
	}
	else
	{
		currentYear2=currentYear;
		currentMonth2=currentMonth+1;	
		index=currentMonth;
	}
	
    var startDayOfWeek = getDayOfWeek(currentYear2, currentMonth2, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear2, currentMonth2);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()
	
	
	
table =  table + "<table class='sx-res-calendar cal-month-number2'><caption>" + months[index] + " " + currentYear2 + "</caption><thead>";  
    table = table + "<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";
	
 

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear2 == selectedYear && currentMonth2 == selectedMonth) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		  
		  if(dayOfMonth<cday && currentYear2 == cyear && currentMonth2 == cmonth)
		  {
			   table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
		  }
		  else
		  {
				var datestring4=currentMonth2+'-'+dayOfMonth+'-'+currentYear2;
						
						if(mySearchString (reserveddates, datestring3)) {
							css_class = 'reserved';
						} else {
							css_class = '';
						}
						
						if(tmpcellstatus1 != css_class)
						{
							//alert('changing point ---- '+datestring3+' ----- '+currentcellstatus+' ----- '+css_class);
							
							if( (tmpcellstatus1 == 'reserved') && css_class == '')
							{
								//css_class = 'bookablestart';
							}
							
							if(tmpcellstatus1 == '' && css_class == 'reserved' )
							{
								//alert(datestring4);
								css_class = 'bookableend';
							}
							
							tmpcellstatus1 = css_class;
						}
						
						
				 table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear2+","+currentMonth2+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
		  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }
   
   table = table + "</table></tbody></table><br><table width='100%' id='calenderhints' border='0' cellspacing='3' cellpadding='3'><tr><td align='left'><img border='0' src='http://www.redappleapartments.com/images/dates-available_03.png'> Dates Available</td><td align='left'><img border='0' src='http://www.redappleapartments.com/images/nobooking.gif'> Dates not available</td><td align='left'><img border='0' src='http://www.redappleapartments.com/images/bookableend.png' width='20' /> Available upto 12 AM</td></tr></table></div></div>";

    return table;
  }

  // modified version for available dates //
  function calendarDrawTable2() {	 
	
	var tmpcellstatus1 = '';
	var tmpcellstatus2 = '';
	
    var dayOfMonth = 1;
    var validDay = 0;
    var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear, currentMonth);
    var css_class = null; //CSS class for each day
	if(minimumbookingnotice!=0)//for minmum booking notice
	{		
		var dateString = new String(minimumbookingnotice);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);		
        var cmonth = selectedMonth
        var cday = selectedDay
        var cyear = selectedYear
	}
	else
	{
     var ccurrentTime = new Date()
     var cmonth = ccurrentTime.getMonth() + 1
     var cday = ccurrentTime.getDate()
     var cyear = ccurrentTime.getFullYear()
    }
	
	if(maximumbookingnotice!=0)//for maximum booking notice
	{
		var dateString3 = new String(maximumbookingnotice);		
		var dateParts3 = dateString3.split("-");        
		var selectedMonthMaximimbooking = parseInt(dateParts3[1],10);
		var selectedDayMaximimbooking = parseInt(dateParts3[2],10);
		var selectedYearMaximimbooking = parseInt(dateParts3[0],10);
	}

    var table = "<div id='sx-res-calendar' class='jqmID5'><a title='Close' class='jqmClose' href='javascript:hideCalendarControl();'></a> <div>";
    //table = table + "<tr class='header'>";
	if(currentYear == cyear && currentMonth == cmonth)
	{
		//table = table + "  <td colspan='2' class='previous'>&nbsp;</td>";
	}
	else
	{
		table = table + "<a href='javascript:changeCalendarControlMonthV2(-1);' id='sx-res-calendar-prev'><div class='sx-res-calendar-button-left'></div></a>";
	}
	
	if(currMonth<=currentMonth && currYear<=currentYear)
	{
		 table = table + "<table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
	}
	else
	{
		 table = table + "<a href='javascript:changeCalendarControlMonthV2(1);' id='sx-res-calendar-next' ><div class='sx-res-calendar-button-right'></div></a><table class='sx-res-calendar cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
	}
   
    //table = table + "  <td colspan='3' class='title'>" + months[currentMonth-1] + "<br>" + currentYear + "</td>";
    //table = table + "  <td colspan='2' class='next'></td>";    
    table = table + "<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if ( (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth )
			  ) {
            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		  
		  if(dayOfMonth<=cday && currentYear == cyear && currentMonth == cmonth)
		  {
			  table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
		  }
		  else
		  {
			  	var datestring3=currentMonth+'-'+dayOfMonth+'-'+currentYear;
				
				if(maximumbookingnotice!=0)//for maximum booking notice
				{
					var date1 = new Date(currentYear, currentMonth-1, dayOfMonth);
			    	var date2 = new Date(selectedYearMaximimbooking, selectedMonthMaximimbooking-1, selectedDayMaximimbooking);
				}
				else
				{
					var date1 = 0;
			    	var date2 = 0;
				}
				
				if(date1 > date2)
				{
					css_class = 'blocked';
				}
				else if(mySearchString (reserveddates, datestring3)) {
					css_class = 'reserved';
			    } else {
					css_class = '';
			    }
				
				if(tmpcellstatus1 != css_class)
				{
					//alert('changing point ---- '+datestring3+' ----- '+currentcellstatus+' ----- '+css_class);
					
					if( (tmpcellstatus1 == 'reserved') && css_class == '')
					{
						//css_class = 'bookablestart';
					}
					
					if(tmpcellstatus1 == '' && css_class == 'reserved' )
					{
						//alert(datestring4);
						css_class = 'bookableend';
					}
					
					tmpcellstatus1 = css_class;
				}
				
			  	table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear+","+currentMonth+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
		  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar-inactive'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }

  
    table = table + "</tbody></table>";
	
	
	
	
	 var dayOfMonth = 1;
    var validDay = 0;
	if(currentMonth==12)
	{
		currentYear2=currentYear+1;
		currentMonth2=1;
		index=0;
	}
	else
	{
		currentYear2=currentYear;
		currentMonth2=currentMonth+1;	
		index=currentMonth;
	}
	
    var startDayOfWeek = getDayOfWeek(currentYear2, currentMonth2, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear2, currentMonth2);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()	
	table =  table + "<table class='sx-res-calendar cal-month-number2'><caption>" + months[index] + " " + currentYear2 + "</caption><thead>";  
    table = table + "<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if ( dayOfMonth == selectedDay && currentYear2 == selectedYear && currentMonth2 == selectedMonth ) {
	            css_class = 'sx-res-calendar-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		  
		  //alert( dayOfMonth +'=='+ selectedDayMaximimbooking +'&&'+ currentYear2 +'=='+ selectedYearMaximimbooking +'&&'+ currentMonth2 +'=='+ selectedMonthMaximimbooking );
		  
		  if( (dayOfMonth<cday && currentYear2 == cyear && currentMonth2 == cmonth )  )
		  {
			  table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
		  }
		  else
		  {
			  	var datestring4=currentMonth2+'-'+dayOfMonth+'-'+currentYear2;
				
				if(maximumbookingnotice!=0)//for maximum booking notice
				{
					var date1 = new Date(currentYear2, currentMonth2-1, dayOfMonth);
					var date2 = new Date(selectedYearMaximimbooking, selectedMonthMaximimbooking-1, selectedDayMaximimbooking);
				}
				else
				{
					var date1 = 0;
					var date2 = 0;
				}
				
				if(date1 > date2)
				{
					css_class = 'blocked';
				}
				else if(mySearchString (reserveddates, datestring4)) {
					css_class = 'reserved';
			    } else {
					css_class = '';
			    }
				
				if(tmpcellstatus1 != css_class)
				{
					//alert('changing point ---- '+datestring3+' ----- '+currentcellstatus+' ----- '+css_class);
					
					if( (tmpcellstatus1 == 'reserved') && css_class == '')
					{
						//css_class = 'bookablestart';
					}
					
					if(tmpcellstatus1 == '' && css_class == 'reserved' )
					{
						//alert(datestring4);
						css_class = 'bookableend';
					}
					
					tmpcellstatus1 = css_class;
				}
				
				table = table + "<td class='"+css_class+"'><a  href=\"javascript:setCalendarControlDate("+currentYear2+","+currentMonth2+","+dayOfMonth+")\">"+dayOfMonth+"</a></td>";
		  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar-past'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }
   
    table = table + "</table></tbody></table><br><table width='100%' id='calenderhints' border='0' cellspacing='3' cellpadding='3'><tr><td align='left'><img border='0' src='http://www.redappleapartments.com/images/dates-available_03.png'> Dates Available</td><td align='left'><img border='0' src='http://www.redappleapartments.com/images/nobooking.gif'> Dates not available</td><td align='left'><img border='0' src='http://www.redappleapartments.com/images/bookableend.png' width='20' /> Available upto 12 AM</td></tr></table></div></div>";

    return table;
  }
  
  // modified version for available dates //
  this.showcheckin2 = showcheckin2;
  function showcheckin2(field,minimumbookingnotice2,maximumbookingnotice2,reserveddate_array) {
    can_hide = 0;
	reserveddates=reserveddate_array;
	//alert(reserveddates);
    minimumbookingnotice=minimumbookingnotice2;
	maximumbookingnotice = maximumbookingnotice2;
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(dateField.value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
		if(minimumbookingnotice!=0)//for minimum booking notice
		{
			var dateString = new String(minimumbookingnotice);		
			var dateParts = dateString.split("-");        
			selectedMonth = parseInt(dateParts[1],10);
			selectedDay = parseInt(dateParts[2],10);
			selectedYear = parseInt(dateParts[0],10);
		}
		else
		{
		  selectedMonth = getCurrentMonth();
		  selectedDay = getCurrentDay();
		  selectedYear = getCurrentYear();
		}
    }
	
    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	if(currentMonth==12)
	{
	currentMonth2 = currentMonth+1;
    //currentDay2 = currentDay+1;
    currentYear2 = currentYear+1;	
	}
	else
	{
		currentMonth2 = currentMonth+1;
	}

    if(document.getElementById){
      calendar = document.getElementById(calendarId);
	  
      calendar.innerHTML = calendarDrawTable2(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      /*var x = fieldPos.getElementLeft();*/
	  var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }
  //------------------------------------------------------------------------//
  
  
  this.showcheckin = showcheckin;
  function showcheckin(field,minimumbookingnotice2) {
    can_hide = 0;
    minimumbookingnotice=minimumbookingnotice2;
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(dateField.value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
		if(minimumbookingnotice!=0)//for minimum booking notice
	{
		var dateString = new String(minimumbookingnotice);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
	}
	else
	{
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
	}
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	if(currentMonth==12)
	{
	currentMonth2 = currentMonth+1;
    //currentDay2 = currentDay+1;
    currentYear2 = currentYear+1;	
	}
	else
	{
		currentMonth2 = currentMonth+1;
	}

    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      /*var x = fieldPos.getElementLeft();*/
	  var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }
  
  this.show = show;
  function show(field) {
    can_hide = 0;
  
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(dateField.value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	if(currentMonth==12)
	{
	currentMonth2 = currentMonth+1;
    //currentDay2 = currentDay+1;
    currentYear2 = currentYear+1;	
	}
	else
	{
		currentMonth2 = currentMonth+1;
	}

    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      /*var x = fieldPos.getElementLeft();*/
	  var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }
   this.showcontactus = showcontactus;
  function showcontactus(field) {
    can_hide = 0;
  
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(dateField.value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	if(currentMonth==12)
	{
	currentMonth2 = currentMonth+1;
    //currentDay2 = currentDay+1;
    currentYear2 = currentYear+1;	
	}
	else
	{
		currentMonth2 = currentMonth+1;
	}

    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      var x = fieldPos.getElementLeft();
	  //var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }
  
  this.showcheckout = showcheckout;
  function showcheckout(field) {
    can_hide = 0;
  
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) { try {
        var dateString = new String(document.getElementById('checkin').value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;

    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTablecheckout(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

     // var x = fieldPos.getElementLeft();
	   var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }
  
  
  this.showcheckoutV2 = showcheckoutV2;
  function showcheckoutV2(field, reserveddate_array) {
    can_hide = 0;
    reserveddates=reserveddate_array;
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(document.getElementById('checkin').value);		
		var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }
	
	if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	
	//grandCurrentMonth = selectedMonth;
    //grandCurrentDay = selectedDay;
    //grandCurrentYear = selectedYear;
	
    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTablecheckoutV2(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

     // var x = fieldPos.getElementLeft();
	   var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }
  
  
  this.showcheckoutcontactus = showcheckoutcontactus;
  function showcheckoutcontactus(field) {
    can_hide = 0;
  
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(document.getElementById('checkin').value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;

    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTablecheckout(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      var x = fieldPos.getElementLeft();
	   //var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControlIFrame');
        setElementProperty('left', x + "px", 'CalendarControlIFrame');
        setElementProperty('top', y + "px", 'CalendarControlIFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame');
      }
    }
  }

  this.hide = hide;
  function hide() {
    if(dateField) {
      setProperty('display', 'none');
      setElementProperty('display', 'none', 'CalendarControlIFrame');
      dateField = null;
    }
  }

  this.visible = visible;
  function visible() {
    return dateField
  }

  this.can_hide = can_hide;
  var can_hide = 0;}
function CalendarControl2() {
	Date.prototype.addMonths = function(n)
{
this.setMonth(this.getMonth()+n);
return this;
} 
var d = new Date().addMonths(16);
var currMonth = d.getMonth()+1; 
var currYear  =d.getFullYear();

  var calendarId = 'CalendarControl2';
  var currentYear = 0;
  var currentMonth = 0;
  var currentDay = 0;   
  var currentMonth2 = 0;
   var currentYear2 = 0;

    var reserveddates = new Array();
  var selectedYear = 0;
  var selectedMonth = 0;
  var selectedDay = 0;

  var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
  var dateField = null;

  function getProperty(p_property){
    var p_elm = calendarId;
    var elm = null;

    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    if (elm != null){
      if(elm.style){
        elm = elm.style;
        if(elm[p_property]){
          return elm[p_property];
        } else {
          return null;
        }
      } else {
        return null;
      }
    }
  }

  function setElementProperty(p_property, p_value, p_elmId){
    var p_elm = p_elmId;
    var elm = null;

    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    if((elm != null) && (elm.style != null)){
      elm = elm.style;
      elm[ p_property ] = p_value;
    }
  }


  function setProperty(p_property, p_value) {
    setElementProperty(p_property, p_value, calendarId);
  }

  function getDaysInMonth(year, month) {
    return [31,((!(year % 4 ) && ( (year % 100 ) || !( year % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][month-1];
  }

  function getDayOfWeek(year, month, day) {
    var date = new Date(year,month-1,day)
    return date.getDay();
  }

  this.clearDate = clearDate;
  function clearDate() {
    dateField.value = '';
    hide();
  }

  this.setDate = setDate;
  function setDate(year, month, day) {
    if (dateField) {
      if (month < 10) {month = "0" + month;}
      if (day < 10) {day = "0" + day;}

      var dateString = year+"-"+month+"-"+day;
      dateField.value = dateString;	 
      hide();
	   //datesed(document.getElementById('checkin').value,document.getElementById('checkout').value,document.getElementById('total').value);
    }
    return;
  }

  this.changeMonth = changeMonth;
  function changeMonth(change) {
    currentMonth += change;	
    currentDay = 0;	
    if(currentMonth > 12) {
      currentMonth = 1;	 
      currentYear++;	 
    } else if(currentMonth < 1) {
      currentMonth = 12;
      currentYear--;	  
    }

    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable();
  }

  this.changeYear = changeYear;
  function changeYear(change) {
    currentYear += change;
    currentDay = 0;	
    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable();
  }
  function getCurrentYear() {
    var year = new Date().getYear();
    if(year < 1900) year += 1900;
    return year;
  }

  function getCurrentMonth() {
    return new Date().getMonth() + 1;
  } 

  function getCurrentDay() {
    return new Date().getDate();
  }
  
  function searchString (arrayToSearch, stringToSearch) {

    arrayToSearch.sort();	

    for (var i = 0; i < arrayToSearch.length; i++) {

        if (arrayToSearch[i] == stringToSearch)
		{

            return true;
		}

        else if (stringToSearch < arrayToSearch[i])
		{
          
            return false;
		}

    }

    return false;
}
  
  function calendarDrawTable() {
	  
    var dayOfMonth = 1;
    var validDay = 0;
	var tmpcellstatus1 = '';
    var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear, currentMonth);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()

    var table = "<div id='sx-res-calendar2' class='jqmID5'><div>";
    //table = table + "<tr class='header'>";
	if(currentYear == cyear && currentMonth == cmonth)
	{
		//table = table + "  <td colspan='2' class='previous'>&nbsp;</td>";
	}
	else
	{
		table = table + "<a href='javascript:changeCalendarControlMonth2(-1);' id='sx-res-calendar2-prev'><div class='sx-res-calendar2-button-left'></div></a>";
	}
	
if(currMonth<=currentMonth && currYear<=currentYear)
{
	 table = table + "<table class='sx-res-calendar2 cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
}
else
{
	 table = table + "<a href='javascript:changeCalendarControlMonth2(1);' id='sx-res-calendar2-next' ><div class='sx-res-calendar2-button-right'></div></a><table class='sx-res-calendar2 cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
}
   
    //table = table + "  <td colspan='3' class='title'>" + months[currentMonth-1] + "<br>" + currentYear + "</td>";
    //table = table + "  <td colspan='2' class='next'></td>";    
    table = table + "<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) {
            css_class = 'sx-res-calendar2-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
  if(dayOfMonth<=cday && currentYear == cyear && currentMonth == cmonth)
  {
	  table = table + "<td class='sx-res-calendar2-past'>"+dayOfMonth+"</td>";
  }
  else
  {
	  datestring1=currentMonth+'-'+dayOfMonth+'-'+currentYear;
	  //searchString (reserveddates, datestring)
	 //alert(datestring);
	 if(searchString (reserveddates, datestring1))
	   {
		    css_class = 'reserved';
			 //table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	   else
	   {
		   	css_class = '';
		    //table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	 	
		if(tmpcellstatus1 != css_class) {
			if( (tmpcellstatus1 == 'reserved') && css_class == '') {
				//css_class = 'bookablestart';
			}
			
			if(tmpcellstatus1 == '' && css_class == 'reserved' ) {
				css_class = 'bookableend';
			}
			
			tmpcellstatus1 = css_class;
		}
		
	  table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	  
	   
  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar2-inactive'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }

  
    table = table + "</tbody></table>";
	
	
	
	
	 var dayOfMonth = 1;
    var validDay = 0;
	if(currentMonth==12)
	{
		currentYear2=currentYear+1;
		currentMonth2=1;
		index=0;
	}
	else
	{
		currentYear2=currentYear;
		currentMonth2=currentMonth+1;	
		index=currentMonth;
	}
	
    var startDayOfWeek = getDayOfWeek(currentYear2, currentMonth2, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear2, currentMonth2);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()	
	table =  table + "<table class='sx-res-calendar2 cal-month-number2'><caption>" + months[index] + " " + currentYear2 + "</caption><thead>";  
    table = table + "<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear2 == selectedYear && currentMonth2 == selectedMonth) {
            css_class = 'sx-res-calendar2-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
  if(dayOfMonth<cday && currentYear2 == cyear && currentMonth2 == cmonth)
  {
	  table = table + "<td class='sx-res-calendar2-past'>&nbsp;</td>";
  }
  else
  {
	    datestring2=currentMonth2+'-'+dayOfMonth+'-'+currentYear2;
	  //searchString (reserveddates, datestring)
	 //alert(datestring);
	 if(searchString (reserveddates, datestring2))
	   {
		    css_class = 'reserved';
			 //table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	   else
	   {
		   	css_class = '';
	    	///table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	   
	   if(tmpcellstatus1 != css_class) {
			if( (tmpcellstatus1 == 'reserved') && css_class == '') {
				//css_class = 'bookablestart';
			}
			
			if(tmpcellstatus1 == '' && css_class == 'reserved' ) {
				css_class = 'bookableend';
			}
			
			tmpcellstatus1 = css_class;
		}
		
		table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   
  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendar2-past'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }
   
    table = table + "</table></tbody></table></div></div>";

    return table;
  }

  this.show = show;
  function show(field,reserveddate_array) { 
    can_hide = 0;
    reserveddates=reserveddate_array;
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {      try {
        var dateString = new String(dateField.value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	if(currentMonth==12)
	{
	currentMonth2 = currentMonth+1;
    //currentDay2 = currentDay+1;
    currentYear2 = currentYear+1;	
	}
	else
	{
		currentMonth2 = currentMonth+1;
	}

    if(document.getElementById){

      calendar = document.getElementById(calendarId);
      calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      var x = fieldPos.getElementLeft();
	  //var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");
 
      if (document.all) {
        setElementProperty('display', 'block', 'CalendarControl2IFrame');
        setElementProperty('left', x + "px", 'CalendarControl2IFrame');
        setElementProperty('top', y + "px", 'CalendarControl2IFrame');
        setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControl2IFrame');
        setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControl2IFrame');
      }
    }
  } 

  this.hide = hide;
  function hide() {
    if(dateField) {
      setProperty('display', 'none');
      setElementProperty('display', 'none', 'CalendarControlI2Frame');
      dateField = null;
    }
  }

  this.visible = visible;
  function visible() {
    return dateField
  }

  this.can_hide = can_hide;
  var can_hide = 0;}
var calendarControl2=new CalendarControl2();function showCalendarControl2(textField,reserveddate_array){calendarControl2.show(textField,reserveddate_array);}
function CalendarControlPopup(){Date.prototype.addMonths=function(n)
{this.setMonth(this.getMonth()+n);return this;}
var d=new Date().addMonths(16);var currMonth=d.getMonth()+1;var currYear=d.getFullYear();var calendarId='CalendarControlPopup';var currentYear=0;var currentMonth=0;var currentDay=0;var currentMonth2=0;var currentYear2=0;var reserveddates=new Array();var selectedYear=0;var selectedMonth=0;var selectedDay=0;var months=['January','February','March','April','May','June','July','August','September','October','November','December'];var dateField=null;function getProperty(p_property){var p_elm=calendarId;var elm=null;if(typeof(p_elm)=="object"){elm=p_elm;}else{elm=document.getElementById(p_elm);}
if(elm!=null){if(elm.style){elm=elm.style;if(elm[p_property]){return elm[p_property];}else{return null;}}else{return null;}}}
function setElementProperty(p_property,p_value,p_elmId){var p_elm=p_elmId;var elm=null;if(typeof(p_elm)=="object"){elm=p_elm;}else{elm=document.getElementById(p_elm);}
if((elm!=null)&&(elm.style!=null)){elm=elm.style;elm[p_property]=p_value;}}
function setProperty(p_property,p_value){setElementProperty(p_property,p_value,calendarId);}
function getDaysInMonth(year,month){return[31,((!(year%4)&&((year%100)||!(year%400)))?29:28),31,30,31,30,31,31,30,31,30,31][month-1];}
function getDayOfWeek(year,month,day){var date=new Date(year,month-1,day)
return date.getDay();}
this.clearDate=clearDate;function clearDate(){dateField.value='';hide();}
this.setDate=setDate;function setDate(year,month,day){if(dateField){if(month<10){month="0"+month;}
if(day<10){day="0"+day;}
var dateString=year+"-"+month+"-"+day;dateField.value=dateString;hide();}
return;}
this.changeMonth=changeMonth;function changeMonth(change){currentMonth+=change;currentDay=0;if(currentMonth>12){currentMonth=1;currentYear++;}else if(currentMonth<1){currentMonth=12;currentYear--;}
calendar=document.getElementById(calendarId);calendar.innerHTML=calendarDrawTable();var calendarPos=new positionInfo(calendarId);}
this.changeYear=changeYear;function changeYear(change){currentYear+=change;currentDay=0;calendar=document.getElementById(calendarId);calendar.innerHTML=calendarDrawTable();}
function getCurrentYear(){var year=new Date().getYear();if(year<1900)year+=1900;return year;}
function getCurrentMonth(){return new Date().getMonth()+1;}
function getCurrentDay(){return new Date().getDate();}
function searchString(arrayToSearch,stringToSearch){arrayToSearch.sort();for(var i=0;i<arrayToSearch.length;i++){if(arrayToSearch[i]==stringToSearch)
{return true;}
else if(stringToSearch<arrayToSearch[i])
{return false;}}
return false;}
function calendarDrawTable(){var dayOfMonth=1;var validDay=0;var tmpcellstatus1='';var startDayOfWeek=getDayOfWeek(currentYear,currentMonth,dayOfMonth);var daysInMonth=getDaysInMonth(currentYear,currentMonth);var css_class=null;var ccurrentTime=new Date()
var cmonth=ccurrentTime.getMonth()+1
var cday=ccurrentTime.getDate()
var cyear=ccurrentTime.getFullYear()
var table="<div id='sx-res-calendarPopup' class='jqmID5'><div>";if(currentYear==cyear&&currentMonth==cmonth)
{}
else
{table=table+"<a href='javascript:changeCalendarControlMonthPopup(-1);' id='sx-res-calendarPopup-prev'><div class='sx-res-calendarPopup-button-left'></div></a>";}
if(currMonth<=currentMonth&&currYear<=currentYear)
{table=table+"<table class='sx-res-calendarPopup cal-month-number0'><caption>"+months[currentMonth-1]+" "+currentYear+"</caption>";}
else
{table=table+"<a href='javascript:changeCalendarControlMonthPopup(1);' id='sx-res-calendarPopup-next' ><div class='sx-res-calendarPopup-button-right'></div></a><table class='sx-res-calendarPopup cal-month-number0'><caption>"+months[currentMonth-1]+" "+currentYear+"</caption>";}
table=table+"<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";for(var week=0;week<6;week++){table=table+"<tr>";for(var dayOfWeek=0;dayOfWeek<7;dayOfWeek++){if(week==0&&startDayOfWeek==dayOfWeek){validDay=1;}else if(validDay==1&&dayOfMonth>daysInMonth){validDay=0;}
if(validDay){if(dayOfMonth==selectedDay&&currentYear==selectedYear&&currentMonth==selectedMonth){css_class='sx-res-calendarPopup-is-pickup';}else if(dayOfWeek==0||dayOfWeek==6){css_class='';}else{css_class='';}
if(dayOfMonth<=cday&&currentYear==cyear&&currentMonth==cmonth)
{table=table+"<td class='sx-res-calendarPopup-past'>"+dayOfMonth+"</td>";}
else
{datestring1=currentMonth+'-'+dayOfMonth+'-'+currentYear;if(searchString(reserveddates,datestring1))
{css_class='reserved';}
else
{css_class='';}
if(tmpcellstatus1!=css_class){if((tmpcellstatus1=='reserved')&&css_class==''){}
if(tmpcellstatus1==''&&css_class=='reserved'){css_class='bookableend';}
tmpcellstatus1=css_class;}
table=table+"<td class='"+css_class+"'>"+dayOfMonth+"</td>";}
dayOfMonth++;}else{table=table+"<td class='sx-res-calendarPopup-inactive'>&nbsp;</td>";}}
table=table+"</tr>";}
table=table+"</tbody></table>";var dayOfMonth=1;var validDay=0;if(currentMonth==12)
{currentYear2=currentYear+1;currentMonth2=1;index=0;}
else
{currentYear2=currentYear;currentMonth2=currentMonth+1;index=currentMonth;}
var startDayOfWeek=getDayOfWeek(currentYear2,currentMonth2,dayOfMonth);var daysInMonth=getDaysInMonth(currentYear2,currentMonth2);var css_class=null;var ccurrentTime=new Date()
var cmonth=ccurrentTime.getMonth()+1
var cday=ccurrentTime.getDate()
var cyear=ccurrentTime.getFullYear()
table=table+"<table class='sx-res-calendarPopup cal-month-number2'><caption>"+months[index]+" "+currentYear2+"</caption><thead>";table=table+"<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";for(var week=0;week<6;week++){table=table+"<tr>";for(var dayOfWeek=0;dayOfWeek<7;dayOfWeek++){if(week==0&&startDayOfWeek==dayOfWeek){validDay=1;}else if(validDay==1&&dayOfMonth>daysInMonth){validDay=0;}
if(validDay){if(dayOfMonth==selectedDay&&currentYear2==selectedYear&&currentMonth2==selectedMonth){css_class='sx-res-calendarPopup-is-pickup';}else if(dayOfWeek==0||dayOfWeek==6){css_class='';}else{css_class='';}
if(dayOfMonth<cday&&currentYear2==cyear&&currentMonth2==cmonth)
{table=table+"<td class='sx-res-calendarPopup-past'>&nbsp;</td>";}
else
{datestring2=currentMonth2+'-'+dayOfMonth+'-'+currentYear2;if(searchString(reserveddates,datestring2)){css_class='reserved';}else{css_class='';}
if(tmpcellstatus1!=css_class){if((tmpcellstatus1=='reserved')&&css_class==''){}
if(tmpcellstatus1==''&&css_class=='reserved'){css_class='bookableend';}
tmpcellstatus1=css_class;}
table=table+"<td class='"+css_class+"'>"+dayOfMonth+"</td>";}
dayOfMonth++;}else{table=table+"<td class='sx-res-calendarPopup-past'>&nbsp;</td>";}}
table=table+"</tr>";}
table=table+"</table></tbody></table></div><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='center'><img border='0' src='http://www.redappleapartments.com/images/dates-available_03.png'> Dates Available</td><td align='center'><img border='0' src='http://www.redappleapartments.com/images/nobooking.gif'> Dates not available</td><td align='center'><img border='0' src='http://www.redappleapartments.com/images/bookableend2.png'> Available upto 12:00 AM</td></tr></table></div>";return table;}
this.show=show;function show(field,reserveddate_array){can_hide=0;reserveddates=reserveddate_array;if(dateField==field){return;}else{dateField=field;}
if(dateField){try{var dateString=new String(dateField.value);var dateParts=dateString.split("-");selectedMonth=parseInt(dateParts[1],10);selectedDay=parseInt(dateParts[2],10);selectedYear=parseInt(dateParts[0],10);}catch(e){}}
if(!(selectedYear&&selectedMonth&&selectedDay)){selectedMonth=getCurrentMonth();selectedDay=getCurrentDay();selectedYear=getCurrentYear();}
currentMonth=selectedMonth;currentDay=selectedDay;currentYear=selectedYear;if(currentMonth==12)
{currentMonth2=currentMonth+1;currentYear2=currentYear+1;}
else
{currentMonth2=currentMonth+1;}
if(document.getElementById){calendar=document.getElementById(calendarId);calendar.innerHTML=calendarDrawTable(currentYear,currentMonth);setProperty('display','block');var fieldPos=new positionInfo(dateField);var calendarPos=new positionInfo(calendarId);var x=fieldPos.getElementLeft();var y=fieldPos.getElementBottom();if(document.all){}}}
this.hide=hide;function hide(){if(dateField){setProperty('display','none');setElementProperty('display','none','CalendarControlPopupIFrame');dateField=null;}}
this.visible=visible;function visible(){return dateField}
this.can_hide=can_hide;var can_hide=0;}
var calendarControlPopup=new CalendarControlPopup();function showCalendarControlPopup(textField,reserveddate_array){calendarControlPopup.show(textField,reserveddate_array);}
function changeCalendarControlMonthPopup(change){calendarControlPopup.changeMonth(change);}
function CalendarControldetailpage() {
	Date.prototype.addMonths = function(n)
{
this.setMonth(this.getMonth()+n);
return this;
} 
var d = new Date().addMonths(16);
var currMonth = d.getMonth()+1; 
var currYear  =d.getFullYear();

  var calendarId = 'CalendarControldetailpage';
  var currentYear = 0;
  var currentMonth = 0;
  var currentDay = 0;   
  var currentMonthdetailpage = 0;
   var currentYeardetailpage = 0;

  var reserveddates = new Array();
  var selectedYear = 0;
  var selectedMonth = 0;
  var selectedDay = 0;

  var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
  var dateField = null;

  function getProperty(p_property){
    var p_elm = calendarId;
    var elm = null;

    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    if (elm != null){
      if(elm.style){
        elm = elm.style;
        if(elm[p_property]){
          return elm[p_property];
        } else {
          return null;
        }
      } else {
        return null;
      }
    }
  }

  function setElementProperty(p_property, p_value, p_elmId){
    var p_elm = p_elmId;
    var elm = null;

    if(typeof(p_elm) == "object"){
      elm = p_elm;
    } else {
      elm = document.getElementById(p_elm);
    }
    if((elm != null) && (elm.style != null)){
      elm = elm.style;
      elm[ p_property ] = p_value;
    }
  }

  function setProperty(p_property, p_value) {
    setElementProperty(p_property, p_value, calendarId);
  }

  function getDaysInMonth(year, month) {
    return [31,((!(year % 4 ) && ( (year % 100 ) || !( year % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][month-1];
  }

  function getDayOfWeek(year, month, day) {
    var date = new Date(year,month-1,day)
    return date.getDay();
  }

  this.clearDate = clearDate;
  function clearDate() {
    dateField.value = '';
    hide();
  }

  this.setDate = setDate;
  function setDate(year, month, day) {
    if (dateField) {
      if (month < 10) {month = "0" + month;}
      if (day < 10) {day = "0" + day;}

      var dateString = year+"-"+month+"-"+day;
      dateField.value = dateString;	 
      hide();
    }
    return;
  }

  this.changeMonth = changeMonth;
  function changeMonth(change) {
    currentMonth += change;	
    currentDay = 0;	
    if(currentMonth > 12) {
      currentMonth = 1;	 
      currentYear++;	 
    } else if(currentMonth < 1) {
      currentMonth = 12;
      currentYear--;	  
    }

    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable();
  }

  this.changeYear = changeYear;
  function changeYear(change) {
    currentYear += change;
    currentDay = 0;	
    calendar = document.getElementById(calendarId);
    calendar.innerHTML = calendarDrawTable();
  }
  function getCurrentYear() {
    var year = new Date().getYear();
    if(year < 1900) year += 1900;
    return year;
  }

  function getCurrentMonth() {
    return new Date().getMonth() + 1;
  } 

  function getCurrentDay() {
    return new Date().getDate();
  }
  
  function searchString (arrayToSearch, stringToSearch) {

    arrayToSearch.sort();	

    for (var i = 0; i < arrayToSearch.length; i++) {

        if (arrayToSearch[i] == stringToSearch)
		{

            return true;
		}

        else if (stringToSearch < arrayToSearch[i])
		{
          
            return false;
		}

    }

    return false;
}
  
  function calendarDrawTable() {
	  
	var dayOfMonth = 1;
    var validDay = 0;
	var tmpcellstatus1 = '';
    var startDayOfWeek = getDayOfWeek(currentYear, currentMonth, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYear, currentMonth);
    var css_class = null; //CSS class for each day
	var ccurrentTime = new Date()
	
	var cmonth = ccurrentTime.getMonth() + 1
	var cday = ccurrentTime.getDate()
	var cyear = ccurrentTime.getFullYear()
	
	
	if(maximumbookingnotice!=0)//for maximum booking notice
	{
		var dateString3 = new String(maximumbookingnotice);		
		var dateParts3 = dateString3.split("-");        
		var selectedMonthMaximimbooking = parseInt(dateParts3[1],10);
		var selectedDayMaximimbooking = parseInt(dateParts3[2],10);
		var selectedYearMaximimbooking = parseInt(dateParts3[0],10);
	}

    var table = "<div id='sx-res-calendardetailpage' class='jqmID5'><div>";
    //table = table + "<tr class='header'>";
	if(currentYear == cyear && currentMonth == cmonth)
	{
		//table = table + "  <td colspan='2' class='previous'>&nbsp;</td>";
	}
	else
	{
		table = table + "<a href='javascript:changeCalendarControlMonthdetailpage(-1);' id='sx-res-calendardetailpage-prev'><div class='sx-res-calendardetailpage-button-left'></div></a>";
	}
	
if(currMonth<=currentMonth && currYear<=currentYear)
{
	 table = table + "<table class='sx-res-calendardetailpage cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
}
else
{
	 table = table + "<a href='javascript:changeCalendarControlMonthdetailpage(1);' id='sx-res-calendardetailpage-next' ><div class='sx-res-calendardetailpage-button-right'></div></a><table class='sx-res-calendardetailpage cal-month-number0'><caption>" + months[currentMonth-1] + " " +  currentYear + "</caption>";
}
   
    //table = table + "  <td colspan='3' class='title'>" + months[currentMonth-1] + "<br>" + currentYear + "</td>";
    //table = table + "  <td colspan='2' class='next'></td>";    
    table = table + "<thead><tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYear == selectedYear && currentMonth == selectedMonth) {
            css_class = 'sx-res-calendardetailpage-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }

  if(dayOfMonth<=cday && currentYear == cyear && currentMonth == cmonth)
  {
	  table = table + "<td class='sx-res-calendardetailpage-past'>"+dayOfMonth+"</td>";
  }
  else
  {
	datestring1=currentMonth+'-'+dayOfMonth+'-'+currentYear;
	
	if(maximumbookingnotice!=0)//for maximum booking notice
	{
		var date1 = new Date(currentYeardetailpage, currentMonthdetailpage-1, dayOfMonth);
		var date2 = new Date(selectedYearMaximimbooking, selectedMonthMaximimbooking-1, selectedDayMaximimbooking);
	}
	else
	{
		var date1 = 0;
		var date2 = 0;
	}

	if(date1 > date2)
	{
		css_class = 'blocked';
	}
	else if(searchString (reserveddates, datestring1))
	   {
		    css_class = 'reserved';
			 //table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	   else
	   {
		   	css_class = '';
		    //table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	 	
		if(tmpcellstatus1 != css_class) {
			if( (tmpcellstatus1 == 'reserved') && css_class == '') {
				//css_class = 'bookablestart';
			}
			
			if(tmpcellstatus1 == '' && css_class == 'reserved' ) {
				css_class = 'bookableend';
			}
			
			tmpcellstatus1 = css_class;
		}
		
	  table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	  
	   
  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendardetailpage-inactive'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }

  
    table = table + "</tbody></table>";
	
	
	
	
	 var dayOfMonth = 1;
    var validDay = 0;
	if(currentMonth==12)
	{
		currentYeardetailpage=currentYear+1;
		currentMonthdetailpage=1;
		index=0;
	}
	else
	{
		currentYeardetailpage=currentYear;
		currentMonthdetailpage=currentMonth+1;	
		index=currentMonth;
	}
	
    var startDayOfWeek = getDayOfWeek(currentYeardetailpage, currentMonthdetailpage, dayOfMonth);
    var daysInMonth = getDaysInMonth(currentYeardetailpage, currentMonthdetailpage);
    var css_class = null; //CSS class for each day
var ccurrentTime = new Date()
var cmonth = ccurrentTime.getMonth() + 1
var cday = ccurrentTime.getDate()
var cyear = ccurrentTime.getFullYear()	
	table =  table + "<table class='sx-res-calendardetailpage cal-month-numberdetailpage'><caption>" + months[index] + " " + currentYeardetailpage + "</caption><thead>";  
    table = table + "<tr><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr></thead><tbody>";

    for(var week=0; week < 6; week++) {
      table = table + "<tr>";
      for(var dayOfWeek=0; dayOfWeek < 7; dayOfWeek++) {
        if(week == 0 && startDayOfWeek == dayOfWeek) {
          validDay = 1;
        } else if (validDay == 1 && dayOfMonth > daysInMonth) {
          validDay = 0;
        }

        if(validDay) {
          if (dayOfMonth == selectedDay && currentYeardetailpage == selectedYear && currentMonthdetailpage == selectedMonth) {
            css_class = 'sx-res-calendardetailpage-is-pickup';
          } else if (dayOfWeek == 0 || dayOfWeek == 6) {
            css_class = '';
          } else {
            css_class = '';
          }
		  
  if(dayOfMonth<cday && currentYeardetailpage == cyear && currentMonthdetailpage == cmonth)
  {
	  table = table + "<td class='sx-res-calendardetailpage-past'>&nbsp;</td>";
  }
  else
  {
	 datestringdetailpage=currentMonthdetailpage+'-'+dayOfMonth+'-'+currentYeardetailpage;
	 
	 if(currentYeardetailpage == 2012 && currentMonthdetailpage == 8 && dayOfMonth == 1)
	  {
		  /*alert(datestringdetailpage);
		  alert(reserveddates);
		  alert(searchString (reserveddates, datestringdetailpage));*/
	  }
	 
	 if(maximumbookingnotice!=0)//for maximum booking notice
	 {
		var date1 = new Date(currentYeardetailpage, currentMonthdetailpage-1, dayOfMonth);
		var date2 = new Date(selectedYearMaximimbooking, selectedMonthMaximimbooking-1, selectedDayMaximimbooking);
	 }
	 else
	 {
		var date1 = 0;
		var date2 = 0;
	 }

	if(date1 > date2)
				{
					css_class = 'blocked';
				}
	else if(searchString (reserveddates, datestringdetailpage))
	   {
		    css_class = 'reserved';
			 //table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	   else
	   {
		   	css_class = '';
	    	///table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   }
	   
	   if(tmpcellstatus1 != css_class) {
			if( (tmpcellstatus1 == 'reserved') && css_class == '') {
				//css_class = 'bookablestart';
			}
			
			if(tmpcellstatus1 == '' && css_class == 'reserved' ) {
				css_class = 'bookableend';
			}
			
			tmpcellstatus1 = css_class;
		}
		
		table = table + "<td class='"+css_class+"'>"+dayOfMonth+"</td>";
	   
  }
        
          dayOfMonth++;
        } else {
          table = table + "<td class='sx-res-calendardetailpage-past'>&nbsp;</td>";
        }
      }
      table = table + "</tr>";
    }
   
    table = table + "</table></tbody></table></div></div>";

    return table;
  }

  this.show = show;
  function show( field, reserveddate_array, maximumbookingnotice2 ) {
	can_hide = 0;
    reserveddates=reserveddate_array;
	maximumbookingnotice = maximumbookingnotice2;
    // If the calendar is visible and associated with
    // this field do not do anything.
    if (dateField == field) {
      return;
    } else {
      dateField = field;
    }

    if(dateField) {
		try {
        var dateString = new String(dateField.value);		
        var dateParts = dateString.split("-");        
        selectedMonth = parseInt(dateParts[1],10);
        selectedDay = parseInt(dateParts[2],10);
        selectedYear = parseInt(dateParts[0],10);
      } catch(e) {}
    }

    if (!(selectedYear && selectedMonth && selectedDay)) {
      selectedMonth = getCurrentMonth();
      selectedDay = getCurrentDay();
      selectedYear = getCurrentYear();
    }

    currentMonth = selectedMonth;
    currentDay = selectedDay;
    currentYear = selectedYear;
	
	if(currentMonth==12)
	{
	currentMonthdetailpage = currentMonth+1;
    //currentDaydetailpage = currentDay+1;
    currentYeardetailpage = currentYear+1;	
	}
	else
	{
		currentMonthdetailpage = currentMonth+1;
	}

    if(document.getElementById)
	{

      calendar = document.getElementById(calendarId);
	  
      calendar.innerHTML = calendarDrawTable(currentYear, currentMonth);

      setProperty('display', 'block');

      var fieldPos = new positionInfo(dateField);
      var calendarPos = new positionInfo(calendarId);

      var x = fieldPos.getElementLeft();
	  //var x = 650;
      var y = fieldPos.getElementBottom();

      setProperty('left', x + "px");
      setProperty('top', y + "px");

      if (document.all) {
        //setElementProperty('display', 'block', 'CalendarControldetailpageIFrame');
        //setElementProperty('left', x + "px", 'CalendarControldetailpageIFrame');
        //setElementProperty('top', y + "px", 'CalendarControldetailpageIFrame');
        //setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControldetailpageIFrame');
        //setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControldetailpageIFrame');
      }
    }
  } 

  this.hide = hide;
  function hide() {
    if(dateField) {
      setProperty('display', 'none');
      setElementProperty('display', 'none', 'CalendarControlIdetailpageFrame');
      dateField = null;
    }
  }

  this.visible = visible;
  function visible() {
    return dateField
  }

  this.can_hide = can_hide;
  var can_hide = 0;}
var calendarControldetailpage = new CalendarControldetailpage();
function showCalendarControldetailpage(textField,reserveddate_array,maximumbookingnotice) {
  calendarControldetailpage.show(textField,reserveddate_array,maximumbookingnotice);
}
function changeCalendarControlMonthdetailpage(change){calendarControldetailpage.changeMonth(change);}
var calendarControl=new CalendarControl();function showCalendarControl(textField){calendarControl.show(textField);}
function showCalendarControldetail(textField,minimumbookingnotice,reserveddate_array){calendarControl.showcheckin(textField,minimumbookingnotice,reserveddate_array);}

function showCalendarControldetail2(textField,minimumbookingnotice,maximumbookingnotice,reserveddate_array) {
  // textField.onblur = hideCalendarControl;
  
  calendarControl.showcheckin2(textField,minimumbookingnotice,maximumbookingnotice,reserveddate_array);
}

function showCalendarControlcheckout(textField){if(document.getElementById('checkin').value!='')
{calendarControl.showcheckout(textField);}} function showCalendarControlcheckoutowner(textField){if(document.getElementById('from_date').value!='')
{calendarControl.showcheckout(textField);}}
function showCalendarControlcheckoutV2(textField,reserveddate_array){if(document.getElementById('checkin').value!='')
{calendarControl.showcheckoutV2(textField,reserveddate_array);changeCalendarControlMonthV2(1);changeCalendarControlMonthV2(-1);}}
function showContactusCalendarControl(textField){calendarControl.showcontactus(textField);}
function showContactusCalendarControlcheckout(textField){if(document.getElementById('checkin').value!='')
{calendarControl.showcheckoutcontactus(textField);}}
function clearCalendarControl(){calendarControl.clearDate();}
function hideCalendarControl(){if(calendarControl.visible()){calendarControl.hide();}}
function setCalendarControlDate(year,month,day){calendarControl.setDate(year,month,day); callgetamount(); }
function changeCalendarControlYear(change){calendarControl.changeYear(change);}
function changeCalendarControlMonth(change){calendarControl.changeMonth(change);}
function changeCalendarControlMonthV2(change){calendarControl.changeMonthV2(change);}
function changeCalendarControlMonth2(change){calendarControl2.changeMonth(change);}
document.write("<iframe id='CalendarControlIFrame' src='javascript:false;' frameBorder='0' scrolling='no'></iframe>");document.write("<div id='CalendarControl'></div>");document.write("<iframe id='CalendarControl2IFrame' src='javascript:false;' frameBorder='0' scrolling='no'></iframe>");document.write("<div id='CalendarControl2'></div>");

function daysBetweentwodate5(checkin,checkout){t1=checkin;t2=checkout;var one_day=1000*60*60*24;var x=t1.split("-");var y=t2.split("-");var date1=new Date(x[0],(x[1]-1),x[2]);var date2=new Date(y[0],(y[1]-1),y[2])
var month1=x[1]-1;var month2=y[1]-1;Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day));return Diff;}
function callgetamount()
{
	var checkin=document.getElementById('checkin').value;
	var checkout=document.getElementById('checkout').value;
	
	days=daysBetweentwodate5(checkin,checkout);if((checkin!="")&&(checkout!=""))
	{
		if(days>0)
		{
			try {  
	
				var isaprtpage  = document.getElementById('isapmtpage').value;
	
				if(typeof(isaprtpage) != 'undefined')
				{
					if(document.getElementById('isapmtpage').value == 1)
					{
						getamount();
					}
				}
	
			} catch(e) {  
			  e.message;  // "foo is not defined"  
			}
		}
	}
}
