﻿/*

To Do:
1) Add date range from and to restriction - i.e. forward only from today or from ##/##/#### to ##/##/#### only...
2) Add time option to output - i.e. ##/##/#### 12:00:00 AM/PM - maybe add default time value as well

*/ 
    var allowback='0';
    var length;
    var todayStringF = "Today is"
    
    var ctlEndDate="01/01/1970"
    var format="mm/dd/yyyy"    
    var iCalWidth = 155
    var iCalHeight = 135
    var	fixedX = -1 // x position (-1 if to appear below control)
    var	fixedY = -1 // y position (-1 if to appear below control)
    var startAt = 0 // 0 - sunday ; 1 - monday
    var showWeekNumber = 0	// 0 - don't show; 1 - show
    var showToday = 1		// 0 - don't show; 1 - show
     var imgDir = RelativePathNew()+"controls/calendar/"		// directory for images ... e.g. var imgDir="/img/"
    var bShowFullDayName = false //whether to display T or Tue on day headings
     
    //UI vars for control messages
    var gotoString = "Go To Current Month"
    var todayString = "Today is"
    
    var weekString = "Wk"
   //    var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
   //    var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
    var scrollLeftMessage = "Click to scroll to the previous month. Hold the mouse button to scroll automatically."
    var scrollRightMessage = "Click to scroll to the next month.  Hold the mouse button to scroll automatically."
    var selectMonthMessage = "Click to select a month."
    var selectYearMessage = "Click to select a year."
    var selectDateMessage = " " // do not replace [date], it will be replaced by date.

    //vars related to whether data was selected and what each data point selected was
    var crossobj="", crossMonthObj, crossYearObj;
    var crossYearObj;
    var monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected;
    var monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2;
    var ctlNow, dateFormat, nStartingYear;

    //form elements to place selected date(s) into
    var ctlToPlaceValue, ctlToPlaceEndDateValue;

    var bPageLoaded=false
    
    var ie=document.all //check to see browser type
    var dom=getObj

    var ns4=document.layers
    var today =	new	Date()
    var dateNow	 = today.getDate()
    var monthNow = today.getMonth()
    var yearNow	 = today.getYear()
    var imgsrc = new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif")
    var img	= new Array()
    var Language="";

    var bShow = false;
    var objName;
    var noOfYears;

	var forwardallow= '0';
	var backallow= '0';
	
	var langType;
	
   	var startendtype;
   	var DateFlage=0;
   	var dec= 0;
   	var CalendarType=2;// 1 for single Calendar and 2 for double
   	var dateIsSelected= false;
  	var monthActual = '0';
  	
    var cutDateNow="";
    var cutMonthNow="";
    var cutYearNow="";
    
    var ctlStart ="";
    var ctlEnd="";
  	var calPosition='0' ;
  	var ctlTo ;
/* hides <select> and <applet> objects (for IE only) */
var dom=getObj

  function getObj(objID) 
	{
	    if (document.getElementById)
	    {
	        if (document.getElementById(objID)==null)
	        objID="ctl00_cphContent_"+objID;
	        
	        return document.getElementById(objID)
	    }
	    else if (document.all)
	    {
	        if (document.all(objID)==null)
	        objID="ctl00_cphContent_"+objID;
	        
	        return document.all[objID];
	    }
	    else if (document.layers)
	    {
	        if (document.layers(objID)==null)
	        objID="ctl00_cphContent_"+objID;
	        	    
	        return document.layers[objID];
	    }
	}
	
	function setCalPosition(pos)
	{
	calPosition =  pos;	
	return calPosition;
	}
	
  	 function RelativePathNew()
{

     var url = self.location.href;
 
    url = url.toLowerCase();
    var path = '';    
    var local = 'localhost/';   
    var live  = 'bwsaddleback.com';
    
    if(url.lastIndexOf(local) > 1)
        path = "http://localhost/BWSaddleback/";  
    else if(url.lastIndexOf(live) > 1)
        path = "http://www.bwsaddleback.com/";         
    
    return path;
}
	//* call in popUpCalendarUser()
// Find the element's offsetTop and offsetLeft relative to the BODY tag.
function hideElement( elmID, overDiv ){  
    if(ie){
        for( i = 0; i < document.all.tags( elmID ).length; i++ ){
            obj = document.all.tags( elmID )[i];
            if( !obj || !obj.offsetParent ){
                continue ;
            }
        objLeft   = obj.offsetLeft;
        objTop    = obj.offsetTop;
        objParent = obj.offsetParent;

        while( objParent.tagName.toUpperCase() != "BODY" ){
            objLeft  += objParent.offsetLeft;
            objTop   += objParent.offsetTop;
            objParent = objParent.offsetParent;
        }


        objHeight = obj.offsetHeight;
        objWidth = obj.offsetWidth;
        if (overDiv !=null){
            if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
            else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop );
            else if( overDiv.offsetTop >= ( objTop + objHeight ));
            else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
            else{
                obj.style.visibility = "hidden";	           
            }
        }
      }
    }
    
}     
 /*
    * unhides <select> and <applet> objects (for IE only)
    */
    //* call in hideCalendar()
function showElement( elmID ){
    if( ie ){
        for( i = 0; i < document.all.tags( elmID ).length; i++ ){
            obj = document.all.tags( elmID )[i];
            if( !obj || !obj.offsetParent ){
                 continue;
            }
        obj.style.visibility = "";
        }
}

}
// * get day month year and description
// * call in addHoliday ()
	function HolidayRec (d, m, y, desc){
		this.d = d
		this.m = m
		this.y = y
		this.desc = desc
	}

	var HolidaysCounter = 0
	var Holidays = new Array()
    // * add holidays get day,month,year and description
	function addHoliday (d, m, y, desc){
		Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
	}

	//write div containing calendar and place holders for cal header and calendar content
	if (dom)// dom=documnet.getElementId
	        {
		for	(i=0;i<imgsrc.length;i++){
			img[i] = new Image
			img[i].src= imgDir + imgsrc[i]
		}
if(CalendarType==2)
{
    	document.write ("<div onclick='bShow=true' id='calendar' class='div-style'>")
    	document.write("<table width=310 cellpadding=0  cellspacing=0 class='table-style' height=" + iCalHeight + "  >")
    	document.write("<tr class='title-background-style'><td height=13>")
    	document.write("<table cellpadding=0   cellspacing=0 width=100%><tr><td class='title-style' height=13 valign=top>")
    	document.write("<span id='caption'></span></td><td align=right width=15>")
    	document.write(" ")
    	document.write(" </a></td></tr></table></td>")
    	document.write("<td class=divisionline  height=13 align=right >")
    	document.write("<table cellpadding=0  cellspacing=0  width=146><tr><td class='title-style' height=13 valign=top>")
    	document.write("<span id='caption1'></span></td><td align=right width=15><a onclick=javascript:hideCalendar();>")     	                                                                    
    	document.write("<img src='"+imgDir+"close.gif' width='15' id='closeimg' height='13' border='0'")
    	document.write(" alt='Close the calendar'></a></td></tr></table></td>")
    	document.write("</tr><tr>")

    	
    	document.write("<td  class='body-style' valign=top><span id='content'></span></td><td  class='body-style' valign=top style='border-left:solid 1px #184453;'><span id='content1'></span></td></tr>")

      }
      else
      {
        document.write ("<div onclick='bShow=true' id='calendar' class='div-style'>")
    	document.write("<table width="+ iCalWidth + " cellpadding=1 cellspacing=0  class='table-style' height=" + iCalHeight + ">")
    	document.write("<tr class='title-background-style'><td height=13>")
    	document.write("<table cellpadding=0  cellspacing=0 width=100%><tr><td class='title-style' height=13 valign=top>")
    	document.write("<span id='caption'></span></td><td align=right width=15><a href='javascript:hideCalendar()'>")
    	document.write("<img src='"+imgDir+"close.gif' width='15' id='closeimg' height='13' border='0'")
    	document.write(" alt='Close the Calendar'></a></td></tr></table></td></tr><tr><td class='body-style'")
    	document.write(" valign=top><span id='content'></span></td></tr>")
      }
      
      if(CalendarType==2)
      {
          if (showToday==1){
			document.write ("<tr class='today-style'><td><span id='lblToday' class='body-style'></span></td><td class=divisionline ><span id='lblToday1' class='body-style'></span></td></tr>")

		 }
      }
      else
      {
      
		if (showToday==1){
			document.write ("<tr class='today-style'><td><span id='lblToday' class='body-style'></span></td></tr>")
		}
	}
		
			
		document.write ("</table></div><div id='selectMonth' class='div-style' style=\"width:58px\">")
		document.write("</div><div id='selectYear' class='div-style'></div>");
	}
	

    var	monthName =	new	Array("January","February","March","April","May","June","July","August","September","October","November","December")
	var	monthName2 = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC")
		
	if (startAt==0){
		if (bShowFullDayName == false){
			dayName = new Array	("S","M","T","W","T","F","S")
		}
		else{
			dayName = new Array	("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
		} 
	}
	else{	
		if (bShowFullDayName == false){
			dayName = new Array	("M","T","W","T","F","S","S")
		}
		else{
			dayName = new Array	("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
		}
	}

	function swapImage(srcImg, destImg){
        if (ie){

            if(backallow=='1' && srcImg=='changeLeft'  )
                {
                getObj(srcImg).setAttribute("src",imgDir + 'left2.gif')
                }
            else if(yearSelected != yearNow && monthActual == monthNow && srcImg=='changeRight' && destImg=='right1.gif' )
                {
                    getObj(srcImg).setAttribute("src",imgDir + 'right2.gif')
                }
            else
             {
             getObj(srcImg).setAttribute("src",imgDir + destImg)
             }
       }
    }
// * set header of  calender
// * call in popUpCalendarUser()
	function init(){
   
    	if (yearNow < 200)
			   yearNow += 1900;
		if (!ns4){	  
	
		
			crossobj=(dom)?getObj("calendar").style : ie? document.all.calendar : document.calendar
			hideCalendar()
			
            crossMonthObj=(dom)?getObj("selectMonth").style : ie? document.all.selectMonth	: document.selectMonth
            crossYearObj=(dom)?getObj("selectYear").style : ie? document.all.selectYear : document.selectYear

			monthConstructed=false;
			yearConstructed=false;


			if (showToday==1){
				if (bShowFullDayName == false){
					var sToday = monthName[parseFloat(monthNow)].substring(0,3) + " " +  dateNow +  " " + yearNow
			
				}
				else{ 
					var sToday = dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[parseFloat(monthNow)].substring(0,3) + "	" +	yearNow
				}	
							
				//getObj("lblToday").innerHTML =	todayString + " <a class='today-style' onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>" +	sToday + "</a>"
				getObj("lblToday").innerHTML =	todayString + " <a class='today-style'  onmouseout='window.status=\"\"' title='"+gotoString+"' onmouseover=javascript:window.status=\"\";return true;>" +	sToday + "</a>"
				 //<a class='"+sStyle+"' style='cursor:pointer;' title=\"" + sHint + "\" onclick=javascript:flagefirst();closeCalendar();   onmouseout=window.status =\"\";return true; onmouseover=javascript:dateSelected="+datePointer+";window.status=\"\";return true;>" + datePointer + "</a>
				if(CalendarType==2)
				{
				    getObj("lblToday1").innerHTML =	todayString + " <a class='today-style'  onmouseout='window.status=\"\"' title='"+gotoString+"' onmouseover=javascript:window.status=\"\";return true;>" +	sToday + "</a>"
				}
			}
				
	
			///*make calendar header fixed width so that header does not "flop" around			
				
		sHTMLCalHead =" <table cellpadding=0 cellspacing=0 ><tr>"			
        sHTMLCalHead+=" <td id='spanLeft' height=13 width=10 valign=top class='title-control-normal-style'"
        
        sHTMLCalHead+=" onmouseover='swapImage(\"changeLeft\",\"left2.gif\");this.className=\"title-control-select-style\";window.status=\""
        sHTMLCalHead+=" "+scrollLeftMessage+"\"' title=\""+scrollLeftMessage+"\" onclick='javascript:decMonth()'"
        
        sHTMLCalHead+=" onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\");"
        sHTMLCalHead+=" this.className=\"title-control-normal-style\";window.status=\"\"' "
        sHTMLCalHead+=" onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)' "
        sHTMLCalHead+=" onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>"
        
        if(startendtype=='startdate')
        {
            sHTMLCalHead+=" <img id='changeLeft' src='"+imgDir+"left1.gif' width=10 height=11 border=0></td>"
        }
        else
        {
            sHTMLCalHead+=" <img id='changeLeft' src='"+imgDir+"left2.gif' width=10 height=11 border=0></td>"
        }
        
        sHTMLCalHead+=" <td id='spanRight' height=13 width=10 valign=top class='title-control-normal-style'"
        sHTMLCalHead+=" onmouseover='swapImage(\"changeRight\",\"right2.gif\");this.className=\"title-control-select-style\";"
        sHTMLCalHead+="window.status=\""+scrollRightMessage+"\"' title=\""+scrollRightMessage+"\" "
        sHTMLCalHead+="onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\");"
        sHTMLCalHead+="this.className=\"title-control-normal-style\";window.status=\"\"' "
        sHTMLCalHead+="onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);"
        sHTMLCalHead+="timeoutID1=setTimeout(\"StartIncMonth()\",500)' onmouseup='clearTimeout(timeoutID1);"
        sHTMLCalHead+="clearInterval(intervalID1)'><img id='changeRight' src='"+imgDir+"right1.gif'"
        sHTMLCalHead+=" width=10 height=11 border=0></td>"
        sHTMLCalHead+=" <td id='spanMonth' height=13 width=70 valign=top class='title-control-normal-style'"
        sHTMLCalHead+=" onmouseover='swapImage(\"changeMonth\",\"drop2.gif\");"
        sHTMLCalHead+="this.className=\"title-control-select-style\";window.status=\""+selectMonthMessage+"\"'"
        sHTMLCalHead+=" title=\""+selectMonthMessage+"\" onmouseout='swapImage(\"changeMonth\",\"drop1.gif\");"
        sHTMLCalHead+="this.className=\"title-control-normal-style\";window.status=\"\"' onclick='popUpMonth()'></td>"
        sHTMLCalHead+=" <td id='spanYear' height=13 valign=top class='title-control-normal-style' "
        sHTMLCalHead+="onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.className=\"title-control-select-style\"; "
        sHTMLCalHead+="window.status=\""+selectYearMessage+"\"' title=\""+selectYearMessage+"\" "
        sHTMLCalHead+="onmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.className=\"title-control-normal-style\";"
        sHTMLCalHead+="window.status=\"\"'	onclick='popUpYear()'></td>"
        sHTMLCalHead+=" </tr></table>"
			//*/
	    getObj("caption").innerHTML  =	sHTMLCalHead
		//**************for double calendar********
		if(CalendarType==2)	
		{
	    sHTMLCalHead1 =" <table cellpadding=0 cellspacing=0><tr>"			
        sHTMLCalHead1+=" <td "
        sHTMLCalHead1+=" "
        sHTMLCalHead1+=" <td id='spanRight' "
        sHTMLCalHead1+=" ></td>"
        sHTMLCalHead1+=" <td id='spanMonth1' height=13 width=70 valign=top class='title-control-normal-style1'"
        sHTMLCalHead1+=" ></td>"
        sHTMLCalHead1+=" <td id='spanYear1' height=13 valign=top class='title-control-normal-style1' "
        sHTMLCalHead1+=" ></td>"
        sHTMLCalHead1+=" </tr></table>"
		
		getObj("caption1").innerHTML  =	sHTMLCalHead1
		}
		//********************************************
			bPageLoaded=true ;
		}
	}

function hideCalendar(){
    crossobj.visibility="hidden" ;
    if (crossMonthObj != null){
         crossMonthObj.visibility="hidden";
    }
    if (crossYearObj !=	null){
         crossYearObj.visibility="hidden";
    }
    showElement( 'SELECT' );
    showElement( 'APPLET' );
}
// * call in constructDate()
function padZero(num){
	return (num	< 10)? '0' + num : num ;
}

//controls formatting of date
//* call in closeCalendar(),ChDate(),constructCalendar (), 
function constructDate(d,m,y){
   
	sTmp = dateFormat ;
	sTmp = sTmp.replace	("dd","<e>");
	sTmp = sTmp.replace	("d","<d>");
	sTmp = sTmp.replace	("<e>",padZero(d));
	sTmp = sTmp.replace	("<d>",d);	
	sTmp = sTmp.replace	("mmm","<o>");
	sTmp = sTmp.replace	("mm","<n>");
	sTmp = sTmp.replace	("m","<m>");
	sTmp = sTmp.replace	("<m>",m+1)	;	
	sTmp = sTmp.replace	("<n>",padZero(m+1));	
	sTmp = sTmp.replace	("<o>",monthName2[m]);	
	sTmp = sTmp.replace ("yyyy",y);
	//return sTmp.replace ("yyyy",y) //original code
	return sTmp.replace ("yy",padZero(y%100));	
}

//handles setting of actual dat value in form field
// *call in constructCalendar()
function closeCalendar(){

    try{	
    var	sTmp;
    hideCalendar();
    if(CalendarType==2)
    {
        if(DateFlage==1)
        {
            if(monthSelected==11){
                monthSelected=0
                yearSelected=yearSelected+1
            }
            else{
             monthSelected=monthSelected+1
            }
        }
    }
  
    ctlToPlaceValue.value =	constructDate(dateSelected,monthSelected,yearSelected)
    //alert(ctlToPlaceValue.value)
    
    
    ////////////////////////////////////////////////////////////////////////
       if(startendtype=="startdate")
           {
              
             if( getObj(ctlTo).value!="")
             {
              dtStartDate = new Date(ctlToPlaceValue.value); 
              dtEndDate = new Date(getObj(ctlTo).value); 
              if (dtEndDate.getTime() < dtStartDate.getTime())
              {
             getObj(ctlTo).value = ctlToPlaceValue.value;
              }
             }
             else
             {
              getObj(ctlTo).value = ctlToPlaceValue.value;
             }
          }
          else
          {
              cutDateNow=dateSelected;
              cutMonthNow=monthSelected;
              cutYearNow=yearSelected;          
          }
    
    ////////////////////////////////
    
    }
    catch(er){
         alert(er);
    }  		
}


function setCheckInValue(controlValue)
{
    var chin=controlValue;
    var chin_array=chin.split("/")
    var Imlength=chin_array[0].length;
    var Idlength=chin_array[1].length;
    var Iylength=chin_array[2].length;
    
    var monthSubStr=chin_array[0];
    
    if(valueFormat=="0")
    {
        monthSubStr=chin_array[0].substring(0,1);
        if(monthSubStr=="0")
        {
            monthSubStr=chin_array[0].substring(1,2);
        }
        else
        {
            monthSubStr=chin_array[0]
        }
         monthSubStr--;
       
         if(monthSubStr<10)
            monthSubStr="0"+monthSubStr;
    }
        
        var monthyear = chin_array[2]+ monthSubStr;
        var dayValue=chin_array[1];
        if(dayValue.substring(0,1)=="0")
            dayValue=dayValue.substring(1,2);
       
        getObj("arrivalMonthYear").value=monthyear;
        fillArrivalDate();
        getObj("arrivalDay").value=dayValue;
        fillDepartureMonth();	
	    fillDepartureDate();
	    fillTextBox();
        
}

function setCheckOutValue(controlValue)
{
    var chin=controlValue;
    var chin_array=chin.split("/")
    var Imlength=chin_array[0].length;
    var Idlength=chin_array[1].length;
    var Iylength=chin_array[2].length;
    
    var monthSubStr=chin_array[0];
    if(valueFormat=="0")
    {
        monthSubStr=chin_array[0].substring(0,1);
        if(monthSubStr=="0")
        {
            monthSubStr=chin_array[0].substring(1,2);
        }
        else
        {
            monthSubStr=chin_array[0]
        }
         monthSubStr--;
       
         if(monthSubStr<10)
            monthSubStr="0"+monthSubStr;
    }
        
        var monthyear = chin_array[2]+ monthSubStr;
        
        var dayValue=chin_array[1];
        if(dayValue.substring(0,1)=="0")
            dayValue=dayValue.substring(1,2);
            
        getObj("departureMonthYear").value=monthyear;
        fillDepartureDate();
        getObj("departureDay").value=dayValue;
        fillTextBox();
}


	
	/*** Start actual calendar code which builds string of calendar content***/
     // * get the date and return number of week
     // * call in constructCalender()
function WeekNbr(today){
	
    Year = takeYear(today);
    Month = today.getMonth();
    Day = today.getDate();
    now = Date.UTC(Year,Month,Day+1,0,0,0);
    var Firstday = new Date();
    Firstday.setYear(Year);
    Firstday.setMonth(0);
    Firstday.setDate(1);
    then = Date.UTC(Year,0,1,0,0,0);
    var Compensation = Firstday.getDay();
    if (Compensation > 3) Compensation -= 4;
    else Compensation += 3;
    NumberOfWeek =  Math.round((((now-then)/86400000)+Compensation)/7);
    return NumberOfWeek;
}
//* return year
   //* call in weekNbr
function takeYear(theDate){
    x = theDate.getFullYear();
    var y = x % 100;
    y += (y < 38) ? 2000 : 1900;
    return y;
}

	//builds string containing HTML table that is calender


//* 
//* call in closeCalendar()
function setExpDate(iID){
    if(iID.substring(iID.length - 3,iID.length) == "Enr"){
	    var ArrayOfDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	    tb = iID.substring(0,iID.length - 3) + "Exp"
	    obj = getObj(iID)
	    dt =obj.value;
	    mm = dt.substring(0,2)
	    dd = dt.substring(3,5)
	    yy = parseInt(dt.substring(6,10))
	    yy = yy + parseInt(noOfYears)
	    obj = getObj(tb);
	    obj.value= mm + "/" + dd + "/" + yy
     }	
}
	
function getDays(GivenYear){
	if((GivenYear % 4 == 0 && GivenYear % 100 !=0 ) || (GivenYear % 100 == 0 && GivenYear % 400 ==0 ))
		return 29;
	else
	  return 28;
}	

function OpenNewWin(url){
	if(url.length > 3){
		if(url.substring(0,4) == "http")
		newWin = window.open(url);
    	else{
			newWin = window.open("http://" + url);
		 }
	 }
	else{
	  newWin = window.open(url);
    }
 }
		
function popUpCalendarAdmin(ctl,ctl2,startend,ctlFrom)
{

    ctlStart =ctl2;    
//    if(ctlFrom !=null)
//     {
//       ctlEnd=ctlFrom;
//     }

 allowback!='0';
    startendtype=startend;
    
    if(startendtype=="startdate")
    {
     ctlTo=ctlFrom;
    }
    else
    {
        if(ctlFrom !=null)
        {
            ctlEnd=ctlFrom;
        }
        if(ctlFrom!=undefined)
        {
            if(getObj(ctlFrom).value==""){
            // alert('Please select Start Date');
            return false;
        }
        }
    }
    
     
   

    

   imgDir =RelativePathNew()+"controls/calendar/"
     getObj("closeimg").src=imgDir+"close.gif"
     var	leftpos=0
     var	toppos=0
    

  init();
     
    if(bPageLoaded)
    {
    if ( crossobj.visibility ==	"hidden" )
    {
	    ctlToPlaceValue	= getObj(ctl2)
	    dateFormat=format;
        formatChar = " ";
		aFormat	= dateFormat.split(formatChar);
		
		if (aFormat.length<3)
		{
		   formatChar = "/";
		   aFormat	= dateFormat.split(formatChar);
		   
		   if (aFormat.length<3)
		   {
             formatChar = ".";
			 aFormat	= dateFormat.split(formatChar);
			 if (aFormat.length<3)
			 {
			    formatChar = "-";
				aFormat	= dateFormat.split(formatChar);
			    if (aFormat.length<3)
			    {
				   formatChar="";
				}
			 }
		   }
	 }

	tokensChanged =	0;
	if ( formatChar	!= "" ){
		// use user's date
		aData =	getObj(ctl2).value.split(formatChar);
		
        for	(i=0;i<3;i++){
		  if ((aFormat[i]=="d") || (aFormat[i]=="dd")){
					dateSelected = parseInt(aData[i], 10);
					tokensChanged ++;
		  }
		  else if	((aFormat[i]=="m") || (aFormat[i]=="mm")){
				monthSelected =	parseInt(aData[i], 10) - 1;
				tokensChanged ++;
			}
		  else if	(aFormat[i]=="yyyy"){
				yearSelected = parseInt(aData[i], 10);
				tokensChanged ++;
			}
		  else if	(aFormat[i]=="mmm"){
			  for	(j=0; j<12;	j++){
				if (aData[i]==monthName[j]){
					monthSelected=j;
					tokensChanged ++;
				 }
			   }
		}
	}
  }
    if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected)) {
			
			dateSelected = dateNow;
			monthSelected =	monthNow;
			yearSelected = yearNow;
    }
            odateSelected=dateSelected;
			omonthSelected=monthSelected;
			oyearSelected=yearSelected;

		aTag = ctl
		do {
				aTag = aTag.offsetParent;
				leftpos	+= aTag.offsetLeft;
				toppos += aTag.offsetTop;
		 } 
		 while(aTag.tagName!="BODY");
		
          var oPosLeft = (fixedX==-1 ? ctl.offsetLeft	+ leftpos :	fixedX) + "px";
          var oPosTop = (fixedY==-1 ?	ctl.offsetTop +	toppos + ctl.offsetHeight +	2 :	fixedY) + "px";
            
		
		  
		 if(calPosition==1)
		  {
		  
		  crossobj.left =	426;
		  crossobj.top = oPosTop;
		  }
		  else if(calPosition==2)
		  {
		  crossobj.left =	600;
		  crossobj.top = oPosTop;
		  }
		  else
		  {
		  crossobj.left =	oPosLeft;
		  crossobj.top = oPosTop;
		  }
		  
		   if(startendtype=="startdate")
           {
//              
//             if( getObj(ctlTo).value!="")
//             {
//             alert( getObj(ctlTo).value)
//             
//             }
//             else
//             {          
               cutDateNow=dateNow;
               cutYearNow=yearNow;
               cutMonthNow=monthNow;
             //}
           }   

           if(startendtype!="startdate")
           {     
        
             cutMonthNow = getObj(ctlEnd).value.substring(0,2);
              cutDateNow = getObj(ctlEnd).value.substring(3,5);
              cutYearNow = getObj(ctlEnd).value.substring(6,10);
           
//              cutMonthNow = getObj("ctl00_cphContent_txtFrom").value.substring(0,2);
//              cutDateNow = getObj("ctl00_cphContent_txtFrom").value.substring(3,5);
//              cutYearNow = getObj("ctl00_cphContent_txtFrom").value.substring(6,10);
              monthSelected = parseFloat(cutMonthNow)-1;
              yearSelected=cutYearNow;
            }
          
   		  constructCalendar ();	
	      crossobj.visibility=(dom||ie)? "visible" : "show"
		  bShow = true;
			
		}
	}
	else{
		
		init();
	}
}	
//handles click on Enter Key to hide calendar
document.onkeypress = function hidecal1 () { 
	if (event.keyCode==27) 
	 {
		hideCalendar();
	 }
}
 //handles click on of document to hide calendar
document.onclick = function hidecal2 () { 		
	if (!bShow)
	 {
		hideCalendar();
	 }
	bShow = false
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////
/*** Start Month Pulldown ***/
//* set the interval of given method
function StartDecMonth(){
	intervalID1=setInterval("decMonth()",80);
}
   //* set the interval of given method
function StartIncMonth(){
	intervalID1=setInterval("incMonth()",80);
}
  // * if selected month is  last month of year then next month will be first month of next year
  //* call in init()
function incMonth ()
{
	    monthSelected++
	    allowback='1';
	    if (monthSelected > 11)
	    {
	        monthSelected=0		    
		    yearSelected=parseFloat(yearSelected)+1;
		    cutYearNow=yearSelected;
	    }
	  cutMonthNow = monthSelected;
	  constructCalendar()	
}


// * if selected month is first month of year then month of last year is last month
// * call in init()
function decMonth ()
{
//    var txtFromMonth = getObj("ctl00_cphContent_txtFrom").value.substring(0,2);
//    var txttoMonth = getObj("ctl00_cphContent_txtTo").value.substring(0,2);
//    
//    var txtFromYear = getObj("ctl00_cphContent_txtFrom").value.substring(6,10);
//    var txttoYear = getObj("ctl00_cphContent_txtTo").value.substring(6,10);
 if(startendtype!="startdate")
   { 
    var txtFromMonth = getObj(ctlEnd).value.substring(0,2);
    var txttoMonth = getObj(ctlStart).value.substring(0,2);    
    var txtFromYear = getObj(ctlEnd).value.substring(6,10);
    var txttoYear = getObj(ctlStart).value.substring(6,10);
   }
    //Allow back untill month of dateto doesnot reaches till datefrom 
    if(backallow == '1' && parseInt(txtFromMonth) == parseInt(monthSelected)+ parseInt(1) && parseInt(txtFromYear)== parseInt(yearSelected) )
     {    
     
         return  ;
     }    
//   if(parseInt(txtFromMonth) == parseInt(monthSelected)+ parseInt(1) &&  startendtype!='startdate')
//     {
//     
//        return ;
//     }
   monthSelected--
   allowback='1';
   if (monthSelected<0)
     {
       monthSelected=11
       yearSelected--
       cutYearNow=yearSelected;
     }
        cutMonthNow = monthSelected; 
        
        if((parseInt(txtFromMonth)-1) == monthSelected)
        {
            cutMonthNow++;
        }
        constructCalendar()
   
}


// * call in popUpMonth() 
function constructMonth() 
{
    popDownYear()

if(Language=="French")
{   
        var	monthName =	new	Array("janvier","f"+String.fromCharCode(233)+"vrierss","mars","avril","mai","juin","juillet","ao"+String.fromCharCode(251)+"t","septembre","octobre","novembre","d"+String.fromCharCode(233)+"cembre")
}
else
{
        var	monthName =	new	Array("January","February","March","April","May","June","July","August","September","October","November","December")
}
   
        if (!monthConstructed){
          sHTML =	""
          
          if(startendtype=='startdate')
          {
          for(i=0; i<12;	i++){
            sName =	monthName[i];
            if (i==monthSelected){
                sName =	"<B>" +	sName +	"</B>"
            }
            sHTML += "<tr><td id='m" + i + "' onmouseover='this.className=\"dropdown-select-style\"' onmouseout='this.className=\"dropdown-normal-style\"' onclick='monthConstructed=false;monthSelected=" + i + ";constructCalendar();popDownMonth();event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
        }
        }
        else
        {
        var monthsStart = 0;      
        if(cutYearNow == yearSelected)
        {
        monthsStart = parseFloat(cutMonthNow)-1;
        }
        
          for(i= monthsStart; i<12;	i++){
            sName =	monthName[i];
            if (i==monthSelected){
                sName =	"<B>" +	sName +	"</B>"
            }
            
            sHTML += "<tr><td id='m" + i + "' onmouseover='this.className=\"dropdown-select-style\"' onmouseout='this.className=\"dropdown-normal-style\"' onclick='monthConstructed=false;monthSelected=" + i + ";constructCalendar();popDownMonth();event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
        }        
        }
       getObj("selectMonth").innerHTML = "<table class='dropdown-style' cellspacing=0 cellpadding=1 onmouseover='clearTimeout(timeoutID1)' onmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>" + sHTML + "</table>"
       monthConstructed=true
   }
 
}
// * asign the left & top lenth of popmonth
// * call in init()
function popUpMonth()
 {
    constructMonth()
    crossMonthObj.visibility = (dom||ie)? "visible"	: "show";    
    crossMonthObj.left = (parseInt(crossobj.left) + 30) + "px";
    crossMonthObj.top =	(parseInt(crossobj.top) + 20) + "px";    
 }

function popDownMonth(){
crossMonthObj.visibility= "hidden"
}

/*** END Month Pulldown ***/
/*** Start Year Pulldown ***/
// * increase the year in popdown year in calender
function incYear()
{   
    for	(i=0; i<7; i++)
    {
         newYear	= (i+parseInt(nStartingYear))+1
       
        if (newYear==yearSelected){ 
            txtYear =	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;"
        }
        else
        {
          
            txtYear =	"&nbsp;" + newYear + "&nbsp;" 
        }
        getObj("y"+i).innerHTML = txtYear
    }
   
    nStartingYear ++;
    bShow=true
}
  //* decrease the year in popdown year in calender
     
function decYear()
{   
            if(nStartingYear == cutYearNow)
                {

                }
             else
                 {
                
                    for	(i=0; i<7; i++)
                        {
                            newYear	= (i+parseInt(nStartingYear))-1 
                            if (newYear==cutYearNow)
                                { 
                                    txtYear = "&nbsp;<B>"	+ newYear +	"</B>&nbsp;" 
                                }
                            else
                                { 
                                   txtYear = "&nbsp;" + newYear + "&nbsp;" 
                                }   
                            getObj("y"+i).innerHTML = txtYear  
                        }     

                     nStartingYear --;   
                 }      
//     }
    
    bShow=true
}
// * select the given year 


function constructYear()
 {
    popDownMonth()
    sHTML =	""
    if (!yearConstructed){
        
       
        if(startendtype=='startdate')
        {       
        sHTML =	"<tr><td align='center'	onmouseover='this.className=\"dropdown-select-style\"' onmouseout='clearInterval(intervalID1);this.className=\"dropdown-normal-style\"' onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>"
        j =	0
        
         nStartingYear =	yearSelected-3
            for	(i=(yearSelected-3); i<=(yearSelected+3); i++){
                sName =	i;
                if (i==yearSelected){
	                sName =	"<B>" +	sName +	"</B>"
                }
              sHTML += "<tr><td id='y" + j + "' onmouseover='this.className=\"dropdown-select-style\"' onmouseout='this.className=\"dropdown-normal-style\"' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
              j ++;              
             }
       }
       else
       {
       
         selectYearEnd =getObj(ctlEnd).value.substring(6,10);
        
         if(selectYearEnd !="")
         {
         sHTML =	"<tr><td align='center'	onmouseover='this.className=\"dropdown-select-style\"' onmouseout='clearInterval(intervalID1);this.className=\"dropdown-normal-style\"' onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>"
         nStartingYear = selectYearEnd
         cutYearNow = selectYearEnd  
         }
         else
         {
         nStartingYear =	cutYearNow         
         }
              j = 0               
            for	(i=parseFloat(cutYearNow); i<=(parseFloat(cutYearNow)+7); i++){
                sName =	i;
                if (i==yearSelected){
	                sName =	"<B>" +	sName +	"</B>"
                }
              sHTML += "<tr><td id='y" + j + "' onmouseover='this.className=\"dropdown-select-style\"' onmouseout='this.className=\"dropdown-normal-style\"' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
              j ++;
             }
       }
       
       sHTML += "<tr><td align='center' onmouseover='this.className=\"dropdown-select-style\"' onmouseout='clearInterval(intervalID2);this.className=\"dropdown-normal-style\"' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'	onmouseup='clearInterval(intervalID2)'>+</td></tr>"
       getObj("selectYear").innerHTML	= "<table width=44 class='dropdown-style' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>"	+ sHTML	+ "</table>"
       yearConstructed	= true
    }
}
// call in constructYear()
    function selectYear(nYear)
    {
        allowback='1';
        if(startendtype=='startdate')
        {        
            yearSelected=parseInt(nYear+nStartingYear);
        }
        else
        {           
            yearSelected=parseInt(nYear+parseInt(nStartingYear));
        }
        yearConstructed=false;
        constructCalendar();
        popDownYear();
    }


//* clear the interval time 
function popDownYear() {
	clearInterval(intervalID1)
	clearTimeout(timeoutID1)
	clearInterval(intervalID2)
	clearTimeout(timeoutID2)
	crossYearObj.visibility= "hidden"
}
// * call in init()
function popUpYear() {
    var	leftOffset;
    constructYear();

    crossYearObj.visibility=(dom||ie)?"visible" : "show";
    leftOffset = parseInt(crossobj.left) + getObj("spanYear").offsetLeft;
      
    leftOffset += 6
    crossYearObj.left =	leftOffset;
    crossYearObj.top = (parseInt(crossobj.top) +	20) + "px";
}

	/*** END Year Pulldown ***/

///////////////////////////////////////////////////////////////////////////////////////////

function constructCalendar()
{


        if(Language=="French")
        {   
                var	monthName =	new	Array("janvier","f"+String.fromCharCode(233)+"vrierss","mars","avril","mai","juin","juillet","ao"+String.fromCharCode(251)+"t","septembre","octobre","novembre","d"+String.fromCharCode(233)+"cembre")
                todayString=todayStringF;
        }
        else
        {
                var	monthName =	new	Array("January","February","March","April","May","June","July","August","September","October","November","December")
        }

       if (showToday==1)
        {
	            if (bShowFullDayName == false)
	            {
		            var sToday = monthName[parseFloat(monthNow)].substring(0,3) + " " +  dateNow +  " " + yearNow
	            }
	            else
	            { 
		            var sToday = dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[parseFloat(monthNow)].substring(0,3) + "	" +	yearNow
	            }			
        }
      forwardallow= '0';
      backallow= '0';

     if(monthSelected != monthNow)     
        {
            swapImage('changeLeft','left1.gif','yes')
        }

if(startendtype!=null)
{
     if(startendtype!="startdate")//open the calnder with respect to the date enter into the text box.
        {  
                           //and diallow the user go back withrespect to dateto 
          //if(getObj("ctl00_cphContent_txtTo").value !="" && allowback!='1')
         
          if(getObj(ctlStart).value !="" && allowback!='1')
             {
             
              
                cutMonthNow = getObj(ctlStart).value.substring(0,2);
                cutDateNow = 0; 
                cutYearNow = getObj(ctlStart).value.substring(6,10);
              
                monthSelected = parseFloat(cutMonthNow)-1;               
              
                yearSelected=cutYearNow;                
             }
                         
        }
       
   }
     
           allowback='0';
           var iDateCelWidth = (iCalWidth/7) - 4
           var dateMessage
           var	startDate =	new	Date (yearSelected,monthSelected,1)
           var	endDate	= new Date (yearSelected,monthSelected+1,1);
           endDate	= new Date (endDate	- (24*60*60*1000));
           numDaysInMonth = endDate.getDate()
           datePointer	= 0 
           dayPointer = startDate.getDay() - startAt  //*var startAt = 0 // 0 - sunday ; 1 - monday
       
           if (dayPointer<0)
           {
                dayPointer = 6
           }
             sHTML =	"<table	border=0 cellspacing=0 cellpadding=1 width=100%><tr>"

          if (showWeekNumber == 1)
          {
               sHTML += "<td width=" + iDateCelWidth + ">"+ weekString + "</td><td width=1 rowspan=7 class='weeknumber-div-style'><img src='"+imgDir+"divider.gif' width=1></td>"
          }
          for(i=0; i<7; i++)
           {
              sHTML += "<td align='right' class='dayheader-style' width=" + iDateCelWidth + ">"+ dayName[i]+"</td>"
           }
            sHTML +="</tr><tr>"
         if (showWeekNumber == 1)
            {
                sHTML += "<td align=right width=" + iDateCelWidth + ">" + WeekNbr(startDate) + "</td>"
            }
         for	(var i=1; i<=dayPointer;i++)
          {
           sHTML += "<td width=" + iDateCelWidth + ">&nbsp;</td>"
          }

  //Start writing cells with dates in them
  for(datePointer=01; datePointer<=numDaysInMonth; datePointer++ )
  {
       if((datePointer == numDaysInMonth) && (( dayPointer % 7)  == 6 ))
       {
                	
       }
       else
       {
        dayPointer++;
       }
        sHTML += "<td align=right width=" + iDateCelWidth + ">"
        var sStyle="normal-day-style"; //regular day
       
       if(startendtype!="startdate")
       {
     
         if ((datePointer ==1)&&(monthSelected==parseInt(cutMonthNow)-1)&&(yearSelected==cutYearNow))
         {
     
             backallow='1';
         }
        
        if(yearSelected == cutYearNow && monthSelected == (parseInt(cutMonthNow)-1))
            {       
         
               backallow='1';
            }
       }
   	
       if ((datePointer==cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)) 
             {        
              
            if(cutDateNow==odateSelected)
            {
               sStyle = "current-day-style"; 
            }
           else
            {
              sStyle ="normal-day-style";
           }
            } 
          else if	(dayPointer % 7 == (startAt * -1) +1) 
            { 
             sStyle = "end-of-weekday-style"; 
            }
         else if	(dayPointer % 7 == 0) 
            { 
                 sStyle = "end-of-weekday-style"; 
            }
     //*  for sunday
   if ((datePointer==odateSelected) &&	(monthSelected==omonthSelected)	&& (yearSelected==oyearSelected)){ 
        if(datePointer != dateNow)
        {
             sStyle += " selected-day-style"; 
        }
        if	(dayPointer % 7 == 0) 
        { 
         sStyle = " selected-day-style"; 
       }
     }
    
   if(startendtype!=null)
{
    if(startendtype!="startdate")
    {
  
     //to reset the values so that all cutted datee will show while again click on calender icon
     if (getObj(ctlStart).value!='' && getObj(ctlEnd).value!='' && cutDateNow==0)
       {
           cutMonthNow = getObj(ctlEnd).value.substring(0,2);
           cutDateNow =  getObj(ctlEnd).value.substring(3,5);
           cutYearNow = getObj(ctlEnd).value.substring(6,10);
       }
       
       
     if ((parseInt(datePointer) < (parseFloat(cutDateNow))) &&(parseInt(monthSelected)==parseInt(cutMonthNow-1))&&(parseInt(yearSelected)==parseInt(cutYearNow)))
        { 
    
             sStyle = "pre-day-style"; 
        }

    }
}
 
    sHint = ""
//    for (k=0;k<HolidaysCounter;k++){
//            if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
//	        {
//	         if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
//	          {
//		         sStyle += " holiday-style";
//		         sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
//	          }
//        }
//     }

    var regexp= /\"/g
    sHint=sHint.replace(regexp,"&quot;")
    
    if(startendtype!="startdate"){
        if ((parseInt(datePointer) < (parseFloat(cutDateNow))) &&(parseInt(monthSelected)==parseInt(cutMonthNow-1))&&(parseInt(yearSelected)==parseInt(cutYearNow)))
        { 
            dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
            sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" >&nbsp;" + datePointer + "&nbsp;</a>"
        }
        else
        {
            dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
            sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flagefirst();closeCalendar();'>&nbsp;" + datePointer + "&nbsp;</a>"
        }

    }
    else  {
        dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
        sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flagefirst();closeCalendar();'>&nbsp;" + datePointer + "&nbsp;</a>"
    }



     sHTML +=  " "  //this give gap's between Number of dates in calendar.
     if ((dayPointer+startAt) % 7 == startAt) { 
	    sHTML += "</td></tr><tr>" 
        if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
	      {
            sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + "</td>"
	      }
     }
  }
        sHTML +="</tr></table>"		  
    //write string to calendar content placeholder

    getObj("content").innerHTML  = sHTML 
     //getObj("content1").innerHTML  = sHTML


    getObj("spanMonth").innerHTML = "&nbsp;" +	monthName[parseFloat(monthSelected)] + "&nbsp;<IMG id='changeMonth' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
    getObj("spanYear").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;<IMG id='changeYear' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
    if(CalendarType==2)
    {
        constructCalendar1()
    }
}

function constructCalendar1() {

      monthSelected=monthSelected+1

      //forwardallow= '0';
      var iDateCelWidth = (iCalWidth/7) - 4
      var dateMessage
      var	startDate =	new	Date (yearSelected,monthSelected,1)
      var	endDate	= new Date (yearSelected,monthSelected+1,1);
      endDate	= new Date (endDate	- (24*60*60*1000));
      numDaysInMonth = endDate.getDate()
      datePointer	= 0
      //dd=0;      
          
   dayPointer = startDate.getDay() - startAt  //*var startAt = 0 // 0 - sunday ; 1 - monday
   if (dayPointer<0){
    dayPointer = 6
   }
   sHTML =	"<table	border=0 cellspacing=0 cellpadding=1 width=100%><tr>"
   if (showWeekNumber == 1){
     sHTML += "<td width=" + iDateCelWidth + ">"+ weekString + "</td><td width=1 rowspan=7 class='weeknumber-div-style'><img src='"+imgDir+"divider.gif' width=1></td>"
   }
   for(i=0; i<7; i++){
      sHTML += "<td align='right' class='dayheader-style' width=" + iDateCelWidth + ">"+ dayName[i]+"</td>"
   }
   sHTML +="</tr><tr>"
  if (showWeekNumber == 1){
     sHTML += "<td align=right width=" + iDateCelWidth + ">" + WeekNbr(startDate) + "</td>"
  }
  for	(var i=1; i<=dayPointer;i++){
   sHTML += "<td width=" + iDateCelWidth + ">&nbsp;</td>"
  }
  //Start writing cells with dates in them
  for(datePointer=1; datePointer<=numDaysInMonth; datePointer++ ){
   if((datePointer == numDaysInMonth) && (( dayPointer % 7)  == 6 )){
            	
    }
   else{
    dayPointer++;
    }
    sHTML += "<td align=right width=" + iDateCelWidth + ">"
    var sStyle="normal-day-style calOver"; //regular day
    
   if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)) { 
         sStyle = "current-day-style"; 
    } 
   else if	(dayPointer % 7 == (startAt * -1) +1) { 
         sStyle = "end-of-weekday-style"; 
    }
    else if	(dayPointer % 7 == 0) { 
         sStyle = "end-of-weekday-style"; 
    }
     //*  for sunday

  if ((datePointer==odateSelected) &&	(monthSelected==omonthSelected)	&& (yearSelected==oyearSelected)){ 
        sStyle += " selected-day-style"; 
     }
     
    sHint = ""
    for (k=0;k<HolidaysCounter;k++){
            if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
	        {
	         if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
	          {
		         sStyle += " holiday-style";
		         sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
	          }
        }
     }

    var regexp= /\"/g
    sHint=sHint.replace(regexp,"&quot;")

    
  
         dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
         sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flageSecond();closeCalendar();'>&nbsp;" + datePointer + "&nbsp;</a>"
      

     sHTML +=  " "  //this give gap's between Number of dates in calendar.
     if ((dayPointer+startAt) % 7 == startAt) { 
	    sHTML += "</td></tr><tr>" 
        if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
	      {
            sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + "</td>"
	      }
     }
  }
        sHTML +="</tr></table>"		  
    //write string to calendar content placeholder

     getObj("content1").innerHTML  = sHTML 

      
     if(monthSelected==12)
     {         
        monthSelected=0
        yearSelected=yearSelected++
        getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[parseFloat(monthSelected)] + "&nbsp;"
        getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
        monthSelected=12
        yearSelected=yearSelected--
     }      
     else{
  
        getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[parseFloat(monthSelected)] + "&nbsp;"
        getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
        }
        
       
    if((monthSelected==0) )
     {
        monthSelected=11
        //yearSelected=yearSelected-1
      }
     else
     {
        monthSelected=monthSelected-1;
     }
       monthActual = monthSelected + 1 ;  
       
        
 }

function flageSecond()
{
DateFlage=1;
}
function flagefirst()
{
DateFlage=0;
}




//handles building calendar - this is the function that is called by page controls to do calendar functionality

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////Calendar for Book now//////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function closeCalendarUser(){

    try{	
        var	sTmp;
        hideCalendar();
       if(type=="1"){
//***********************
    if(CalendarType==2)
    {
    if(DateFlage==1)
    {
        if(monthSelected==11){
      
           monthSelected=0
           yearSelected=yearSelected+1
            }
        else{
           monthSelected=monthSelected+1
            }
    }
    }
 
            ctlToPlaceValue.value =	constructDate(dateSelected,monthSelected,yearSelected)
          //alert(ctlToPlaceValue.value)
             if(ctlToPlaceValue.name=="txtDateFr")
                setCheckInValue(ctlToPlaceValue.value);
            else
                setCheckOutValue(ctlToPlaceValue.value);
            

         }
         
        else{
          if(CalendarType==2)
    {
    if(DateFlage==1)
    {
        if(monthSelected==11){
          
            monthSelected=0
            yearSelected=yearSelected+1
            }
        else{
            monthSelected=monthSelected+1
            }
    }
    }
          ctlToPlaceValue.value =	constructDate(dateSelected,monthSelected,yearSelected)
        }			
    }
    catch(er){
	    alert(er);
    }  		
}


function popUpCalendarUser(ctl, ctl3,Lang,booktype){

getObj("txtDateFr").value=getObj("txtchin").value
getObj("txtDateTo").value=getObj("txtchout").value
    Language=Lang;
    ctl2=getObj(ctl3);
    caltype=ctl3;
    type=1 ;
    var	leftpos=0; // (x) location on page of element calling this function - used to hide selects near calendar
    var	toppos=0; // (y) location on page of element calling this function - used to hide selects near calendar
    objName = ctl2.name;


    try{	
       
        if (bPageLoaded){ 
            if ( crossobj.visibility ==	"hidden" ){
                ctlToPlaceValue = ctl2;
                if(ctlEndDate!=null){
                    ctlToPlaceEndDateValue = ctlEndDate;
                    }
                dateFormat=format;			
                formatChar = " ";

                aFormat	= dateFormat.split(formatChar)
                if (aFormat.length<3)
                {
                
               
                formatChar = "/";
                aFormat	= dateFormat.split(formatChar);
                   
                    if (aFormat.length<3)
                    {
                  
                    formatChar = ".";
                    aFormat	= dateFormat.split(formatChar);
                        if (aFormat.length<3)
                        {
                      
                        formatChar = "-";
                        aFormat	= dateFormat.split(formatChar)
                        if (aFormat.length<3)
                        {
                      
                         // invalid date	format
                            formatChar="";
                            }
                    }
                }
            }

                tokensChanged =	0;
                if ( formatChar	!= "" ){					
                    //CODE CHANGE - specify delimiter on date value so can split val properly
                    formatChar = "/";
                    // use user's date
                    x = ctl2.value ;
                    
                    aData =	ctl2.value.split(formatChar)
                    ctl2.value = x;
                    for	(i=0;i<3;i++){
                        if ((aFormat[i]=="d") || (aFormat[i]=="dd")){
                            dateSelected = parseInt(aData[i], 10);
                            tokensChanged ++;
                            }
                        else if	((aFormat[i]=="m") || (aFormat[i]=="mm")){							
                            monthSelected =	parseInt(aData[i], 10) - 1 	;
                            tokensChanged ++;
                            }
                        else if	(aFormat[i]=="yyyy"){
                            yearSelected = parseInt(aData[i], 10);
                            tokensChanged ++;
                            }
                    else if	(aFormat[i]=="mmm") {
                        for	(j=0; j<12;	j++){
                            if (aData[i]==monthName[j]){
                            monthSelected=j;
                            tokensChanged ++;
                            }
                        }
                    }
                }
            	
            }
        
                if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected))
                {
                    dateSelected = dateNow;
                    monthSelected = monthNow;	
                    yearSelected = yearNow;
                }				
 
                 odateSelected=dateSelected;
                 omonthSelected=monthSelected;
                 oyearSelected=yearSelected;
                 aTag = ctl;
 
              var browserName = ""; 
             var ua = navigator.userAgent.toLowerCase(); 
            if ( ua.indexOf( "opera" ) != -1 )
            { 
                browserName = "opera"; 
            } 
            else if ( ua.indexOf( "msie" ) != -1 )
            { 
             
                browserName = "msie"; 
            }
            else if ( ua.indexOf( "safari" ) != -1 )
            { 
                browserName = "safari"; 
            }
            else if ( ua.indexOf( "mozilla" ) != -1 )
            { 
                if ( ua.indexOf( "firefox" ) != -1 )
                { 
                    browserName = "firefox"; 
                }
                else
                { 
                    browserName = "mozilla"; 
                } 
            } 
                 
            
        if(browserName == "msie")
	     {
		    do 
		    {
               	      
			    aTag = aTag.offsetParent;
			   try
			    {
			        leftpos	+= aTag.offsetLeft;
			        toppos += aTag.offsetTop;  //alert(aTag.tagName);
			    }catch(er){}
		    } 
		    
		    while(aTag!=null && aTag.tagName!="HTML");
		 } 
		 else 
		 {
		    do {
		        	 
			    aTag = aTag.offsetParent;
			    leftpos	+= aTag.offsetLeft;
			    toppos += aTag.offsetTop;  //alert(aTag.tagName);
		    } while(aTag.tagName!="BODY");
		 }
                 
              
//                 do
//                 {
//                      
//                        aTag = aTag.offsetParent;
//                        leftpos	+= aTag.offsetLeft;
//                        toppos += aTag.offsetTop;
//                 } 
//                        while(aTag.tagName!="BODY");
                        

                   if(booktype=='booknowin')
                    {
                      leftpos=675;
                    }
                    else if(booktype=='booknowout')
                     {
                    
                   leftpos=675;
                     }
                     else
                       {
                        
                      crossobj.left =	fixedX==-1 ? ctl.offsetLeft	+ leftpos-25 :	fixedX +"px";
                      }
                       if(browserName == "firefox")
			            {
			           
				       crossobj.left =	fixedX==-1 ? ctl.offsetLeft	+ leftpos-184 +"px" :	fixedX +"px";
                       crossobj.top = fixedY==-1 ?	ctl.offsetTop +	toppos + ctl.offsetHeight +"px" : fixedY +"px"; 
				       }
				       else
				       {
				        crossobj.left =	fixedX==-1 ? ctl.offsetLeft	+ leftpos-184 :	fixedX +"px";
                       crossobj.top = fixedY==-1 ?	ctl.offsetTop +	toppos + ctl.offsetHeight : fixedY +"px"; 
				       }	
                  
                    var      preDateNow= dateNow
                    var      preMonthNow= monthNow
                    var      preYearNow=yearNow
                    
                 
                     
                    constructCalendarUser (1, monthSelected, yearSelected);
                     
                     dateNow =  preDateNow
                     monthNow =  preMonthNow 
                     yearNow = preYearNow
                              
                    crossobj.visibility=(dom||ie)? "visible" : "show";
                   
                 
//                hideElement('SELECT', getObj("calendar"));
//                hideElement('APPLET', getObj("calendar"));	
            
                bShow = true;

            }
        }
        else{

        init();
      
        }
    }
    catch(er)
    {
    
       alert(er);
      
       
    }  	

}



function constructCalendarUser(){///aaa

if(Language=="French")
{   
        var	monthName =	new	Array("janvier","f"+String.fromCharCode(233)+"vrierss","mars","avril","mai","juin","juillet","ao"+String.fromCharCode(251)+"t","septembre","octobre","novembre","d"+String.fromCharCode(233)+"cembre")
        todayString=todayStringF;
}
else
{
        var	monthName =	new	Array("January","February","March","April","May","June","July","August","September","October","November","December")
}

if(type==1)
{
    cutDateNow=parseInt(getObj("arrivalDay").value)+1;
    var month1=getObj("arrivalMonthYear").value.substring(4,6);
    var year1=getObj("arrivalMonthYear").value.substring(0,4);
    cutYearNow=parseInt(year1);
             
    if(valueFormat=="0")
    {
        var monthNow1=month1.substring(0,1);
        if(monthNow1=="0")
        {
            monthNow1=month1.substring(1,2);
        }
        else
        {
            monthNow1=month1;
        }
    }
    cutMonthNow=monthNow1;
    
   if(caltype=="txtDateFr")
   {
       cutDateNow=dateNow;
       cutYearNow=yearNow;
       cutMonthNow=monthNow;
   }
}

if (showToday==1)
{
	if (bShowFullDayName == false)
	{
		var sToday = monthName[monthNow].substring(0,3) + " " +  dateNow +  " " + yearNow
	}
	else
	{ 
		var sToday = dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[monthNow].substring(0,3) + "	" +	yearNow
	}				
	//getObj("lblToday").innerHTML =	todayString + " <a class='today-style' onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>" +	sToday + "</a>"
				
}
      forwardallow= '0';
      backallow= '0';

    

    if(type== 1 )
    {  
   
        var arrMonVal;     
        arrMonVal= (getObj("arrivalMonthYear").options[0].value).substring(4,6) ;
//        alert(yearSelected+"  A  "+yearNow +"  B  "+ monthSelected+"  C  "+ monthNow)
        if(yearSelected == yearNow && monthSelected < cutMonthNow )
        { 
      
            yearSelected = yearNow ;
            monthSelected = parseInt(cutMonthNow) ;
        }
        else if ( yearSelected != yearNow && monthSelected > monthNow )
             {
            
                yearSelected = yearNow + 1 ;
                if(CalendarType==2)
                {
                    if(arrMonVal==00)
                    {
                       monthSelected = 11 ;
                       yearSelected = yearNow ;
                    }
                    else
                     {
                  
                       monthSelected = monthNow -1 ;
                     }
                }
                else
                {
                    monthSelected = monthNow ;
                }
            }
            else if  ( yearSelected != yearNow && monthSelected == monthNow )
                { 
                
                     if (CalendarType==2)
                     {
                    
                           if(arrMonVal==00)
                           {
                                 monthSelected = 11 ;
                                 yearSelected = yearNow ;
                           }
                           else
                           {    
                                 monthSelected = monthNow -1 ;
                                 yearSelected = yearNow + 1 ;
                               
                            }
                            
  
                       }
                        else
                        {
                            monthSelected = monthNow  ;
                            yearSelected = yearNow + 1 ;
                        }
                                        
                }  
                 
    } 
    
     if(monthSelected != monthNow)
     
        {
            swapImage('changeLeft','left1.gif','yes')
        }

      var iDateCelWidth = (iCalWidth/7) - 4
      var dateMessage
      var	startDate =	new	Date (yearSelected,monthSelected,1)
      var	endDate	= new Date (yearSelected,monthSelected+1,1);
      endDate	= new Date (endDate	- (24*60*60*1000));
          
       numDaysInMonth = endDate.getDate()
       datePointer	= 0 
       dayPointer = startDate.getDay() - startAt  //*var startAt = 0 // 0 - sunday ; 1 - monday
   
   
   if (dayPointer<0){
    dayPointer = 6
   }
 
   sHTML =	"<table	border=0 cellspacing=0 cellpadding=1 width=100%><tr>"
   
   if (showWeekNumber == 1){
     sHTML += "<td width=" + iDateCelWidth + ">"+ weekString + "</td><td width=1 rowspan=7 class='weeknumber-div-style'><img src='"+imgDir+"divider.gif' width=1></td>"
   }
   for(i=0; i<7; i++){
      sHTML += "<td align='right' class='dayheader-style' width=" + iDateCelWidth + ">"+ dayName[i]+"</td>"
   }
   sHTML +="</tr><tr>"
  if (showWeekNumber == 1){
     sHTML += "<td align=right width=" + iDateCelWidth + ">" + WeekNbr(startDate) + "</td>"
  }
  for	(var i=1; i<=dayPointer;i++){
   sHTML += "<td width=" + iDateCelWidth + ">&nbsp;</td>"
  }
  
    
  
  //Start writing cells with dates in them
  for(datePointer=1; datePointer<=numDaysInMonth; datePointer++ ){
   if((datePointer == numDaysInMonth) && (( dayPointer % 7)  == 6 )){
            	
    }
   else{
    dayPointer++;
    }
    sHTML += "<td align=right width=" + iDateCelWidth + ">"
    var sStyle="normal-day-style"; //regular day
    if (type== 1 ){
 
        // previous date of current date
        if ((datePointer ==1)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){
        
              backallow='1';
		 }
		if ((datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){ 
             sStyle = "pre-day-style"; 
         }
         
        if(yearSelected == cutYearNow && monthSelected == (parseInt(cutMonthNow)-1))
        {
            backallow ='1';
            sStyle = "pre-day-style"; 
        }
        
      // next date from current date of next year sohan
      if(caltype=="txtDateFr")
      { 
 
         if ((datePointer > cutDateNow-1)&&(monthSelected==cutMonthNow)&&(yearSelected !=cutYearNow)){ 
		 if (datePointer == numDaysInMonth ){
		
		     forwardallow = '1';
	      }
	   sStyle = "pre-day-style"; 
         }
      }
      else
      {
            if ((datePointer > cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected !=cutYearNow))
            { 
           
		        if (datePointer == numDaysInMonth )
		        {
		             forwardallow = '1';
	            }
	            sStyle = "pre-day-style"; 
            }
        }
	}	
	
	  	
   if ((datePointer==cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)) 
         {        
          if(caltype=="txtDateFr"){
            sStyle ="current-day-style";
         }
        else
        {
        if(cutDateNow==odateSelected){
                sStyle = "current-day-style"; 
                }
               else {
                sStyle ="normal-day-style";
                }
        } 
    } 
   else if	(dayPointer % 7 == (startAt * -1) +1) { 
         sStyle = "end-of-weekday-style"; 
    }
     else if	(dayPointer % 7 == 0) { 
         sStyle = "end-of-weekday-style"; 
    }
     //*  for sunday
   if(type==1){
        if((dayPointer % 7 == (startAt * -1) +1)&& (datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){ 
             sStyle = "pre-day-style"; 
        }
         if((dayPointer % 7 == 0 )&& (datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){ 
             sStyle = "pre-day-style"; 
        }
        
        
	            	// for Next year and current year and sunday
        if	((dayPointer % 7 == (startAt * -1) +1)&& (datePointer > cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected !=cutYearNow)){ 
               sStyle = "pre-day-style"; 
         }
         if	((dayPointer % 7 == 0 )&& (datePointer > cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected !=cutYearNow)){ 
               sStyle = "pre-day-style"; 
         }
         
         if((dayPointer % 7 == 0 )&& (yearSelected == cutYearNow) && (monthSelected == (parseInt(cutMonthNow)-1)))
        {
            sStyle = "pre-day-style"; 
        }
        if((dayPointer % 7 == (startAt * -1) +1)&& (yearSelected == cutYearNow) && (monthSelected == (parseInt(cutMonthNow)-1)))
        {
            sStyle = "pre-day-style"; 
        }
    }
    
  if ((datePointer==odateSelected) &&	(monthSelected==omonthSelected)	&& (yearSelected==oyearSelected)){ 
        if(datePointer != dateNow)
        {
       
       sStyle += " selected-day-style"; 
        }
        if	(dayPointer % 7 == 0) { 
         sStyle = " selected-day-style"; 
       }
     }
    
   
    sHint = ""
    for (k=0;k<HolidaysCounter;k++){
            if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
	        {
	         if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
	          {
		         sStyle += " holiday-style";
		         sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
	          }
        }
     }

    var regexp= /\"/g
    sHint=sHint.replace(regexp,"&quot;")

    if(type=="1"){
       //dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
       //dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\";return true;' onmouseout='window.status=\"\";return true;' "
       // dateMessage = "onmouseover='javascript:window.status=\"\";return true;' onmouseout='javascript:window.status=\"\";return true;' "
    
        //sHint = selectDateMessage.replace("[inout]",'aaaa');
        
        
        if(caltype=="txtDateFr"){
         selectDateMessage="Select [date] as your check in date.";
        sHint = selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected));
            if ((datePointer < dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){
                    sHTML += "<a class='"+sStyle+"' >" + datePointer + "</a>"
                }
            else if (((datePointer >= dateNow)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)) ){
                    sHTML += "<a class='"+sStyle+"' >" + datePointer + "</a>"
                }
                else {
                //sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flagefirst();closeCalendarUser();'>" + datePointer + "</a>"
                
                sHTML += "<a class='"+sStyle+" ' style='cursor:pointer;' title=\"" + sHint + "\" onclick=javascript:flagefirst();closeCalendarUser();   onmouseout=this.style.backgroundColor='#fce9d8';window.status =\"\";return true;  onmouseover=this.style.backgroundColor='#F8B319';javascript:dateSelected="+datePointer+";window.status=\"\";return true;>" + datePointer + "</a>"
            }
           
        }
        else {
        //cutDateNow cutMonthNow cutYearNow 
         selectDateMessage="Select [date] as your check out date.";
        sHint = selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected));

        if ((datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){
                    sHTML += "<a class='"+sStyle+"' "+dateMessage+"  "+datePointer+"'>" + datePointer + "</a> "
                }
            else if (((datePointer > cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected !=cutYearNow)) ){
         
                    sHTML += "<a class='"+sStyle+"' "+dateMessage+" >" + datePointer + "</a>"
                } 
                else 
                {
                    if((yearSelected == cutYearNow) && (monthSelected == (parseInt(cutMonthNow)-1)))
                    {
                        sHTML += "<a class='"+sStyle+"' "+dateMessage+" >" + datePointer + "</a>" 
                    }
                else
                {
                 sHTML += "<a class='"+sStyle+" cal' style='cursor:pointer;' title=\"" + sHint + "\" onclick=javascript:flagefirst();closeCalendarUser();   onmouseout=this.style.backgroundColor='#fce9d8';window.status =\"\";return true;  onmouseover=this.style.backgroundColor='#F8B319';javascript:dateSelected="+datePointer+";window.status=\"\";return true;>" + datePointer + "</a>"
                }
            }
       }
    }

    else{
         dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
         sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flagefirst();closeCalendarUser();'>&nbsp;" + datePointer + "&nbsp;</a>"
      }

     sHTML +=  " "  //this give gap's between Number of dates in calendar.
     if ((dayPointer+startAt) % 7 == startAt) { 
	    sHTML += "</td></tr><tr>" 
        if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
	      {
            sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + "</td>"
	      }
     }
  }
        sHTML +="</tr></table>"		  
    //write string to calendar content placeholder

    getObj("content").innerHTML  = sHTML 
     //getObj("content1").innerHTML  = sHTML


    getObj("spanMonth").innerHTML = "&nbsp;" +	monthName[monthSelected] + "&nbsp;<IMG id='changeMonth' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
    getObj("spanYear").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;<IMG id='changeYear' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
    if(CalendarType==2)
    {
        constructCalendarUser1()
    }
    
    
    iframeObj2=getObj("iframeObj2");
	if(iframeObj2)
	{
	    iframeObj2.style.display = 'block';
	    iframeObj2.style.height = getObj("calendar").offsetHeight+1;
	    iframeObj2.style.width=getObj("calendar").offsetWidth;
	    iframeObj2.style.left=getObj("calendar").offsetLeft;
	    iframeObj2.style.top=getObj("calendar").offsetTop;	 
	    iframeObj2.style.zIndex=11;    
	    //iframeObj2.style.src=RelativePathNew()+ 'blank.htm';

   }
}






	
function constructCalendarUser1() {
  if(type== 1 ){

    if(monthSelected==11)
     {
 
//     if(type== 1 ){
        monthSelected=0
        yearSelected=yearSelected+1
//        }
     }   
     else
     {
      monthSelected=monthSelected+1
     }
      
    } 
     else
     {
      monthSelected=monthSelected+1
     }
   
// 
      //forwardallow= '0';
      var iDateCelWidth = (iCalWidth/7) - 4
      var dateMessage
      var	startDate =	new	Date (yearSelected,monthSelected,1)
      var	endDate	= new Date (yearSelected,monthSelected+1,1);
      endDate	= new Date (endDate	- (24*60*60*1000));
      numDaysInMonth = endDate.getDate()
      datePointer	= 0
      //dd=0;

      
          
   dayPointer = startDate.getDay() - startAt  //*var startAt = 0 // 0 - sunday ; 1 - monday
   if (dayPointer<0){
    dayPointer = 6
   }
   sHTML =	"<table	border=0 cellspacing=0 cellpadding=1 width=100%><tr>"
   if (showWeekNumber == 1){
     sHTML += "<td width=" + iDateCelWidth + ">"+ weekString + "</td><td width=1 rowspan=7 class='weeknumber-div-style'><img src='"+imgDir+"divider.gif' width=1></td>"
   }
   for(i=0; i<7; i++){
      sHTML += "<td align='right' class='dayheader-style' width=" + iDateCelWidth + ">"+ dayName[i]+"</td>"
   }
   sHTML +="</tr><tr>"
  if (showWeekNumber == 1){
     sHTML += "<td align=right width=" + iDateCelWidth + ">" + WeekNbr(startDate) + "</td>"
  }
  for	(var i=1; i<=dayPointer;i++){
   sHTML += "<td width=" + iDateCelWidth + ">&nbsp;</td>"
  }
  //Start writing cells with dates in them
  for(datePointer=1; datePointer<=numDaysInMonth; datePointer++ ){
   if((datePointer == numDaysInMonth) && (( dayPointer % 7)  == 6 )){
            	
    }
   else{
    dayPointer++;
    }
    sHTML += "<td align=right width=" + iDateCelWidth + ">"
    var sStyle="normal-day-style calOver"; //regular day
    if (type== 1 ){
        // previous date of current date
        if ((datePointer ==1)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){
              backallow='1';
		 }
		if ((datePointer < dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){ 
             sStyle = "pre-day-style"; 
         }
         
         if ((datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){ 
             sStyle = "pre-day-style"; 
         }
         
      // next date from current date of next year sohan
      if(caltype=="txtDateFr")
      {
        if ((datePointer > dateNow-1)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)){ 
	        sStyle = "pre-day-style"; 
         }
      }
      else
      {
        if ((datePointer > dateNow)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)){ 
	        sStyle = "pre-day-style"; 
         }
      }
       
	}	  	
   if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)) { 
         sStyle = "current-day-style"; 
    } 
   else if	(dayPointer % 7 == (startAt * -1) +1) { 
         sStyle = "end-of-weekday-style"; 
    }
    else if	(dayPointer % 7 == 0) { 
         sStyle = "end-of-weekday-style"; 
    }
     //*  for sunday
   if(type==1){
//        if((dayPointer % 7 == (startAt * -1) +1)&& (datePointer < dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){ 
//             sStyle = "pre-day-style"; 
//        }
	            	// for Next year and current year and sunday
        if	((dayPointer % 7 == (startAt * -1) +1)&& (datePointer > dateNow)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)){ 
               sStyle = "pre-day-style"; 
         }
           if	((dayPointer % 7 == 0 )&& (datePointer > dateNow)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)){ 
              
               sStyle = "pre-day-style"; 
         }
         
         if ((dayPointer % 7 == (startAt * -1) +1)&& (datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){ 
             sStyle = "pre-day-style"; 
         }
         if ((dayPointer % 7 == 0 )&& (datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow)){ 
             sStyle = "pre-day-style"; 
         }
    }
  if ((datePointer==odateSelected) &&	(monthSelected==omonthSelected)	&& (yearSelected==oyearSelected)){ 
        sStyle += " selected-day-style"; 
     }
     
    sHint = ""
    for (k=0;k<HolidaysCounter;k++){
            if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
	        {
	         if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
	          {
		         sStyle += " holiday-style";
		         sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
	          }
        }
     }

    var regexp= /\"/g
    sHint=sHint.replace(regexp,"&quot;")

    if(type=="1"){
       // dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
        //sHint = selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected));
        if(caltype=="txtDateFr"){
        
        selectDateMessage="Select [date] as your check in date.";
        sHint = selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected));
        
            if ((datePointer < dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){
                    sHTML += "<a class='"+sStyle+"' "+dateMessage+"  "+datePointer+"'>" + datePointer + "</a>"
                }
            else if (((datePointer >= dateNow)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)) ){
                    sHTML += "<a class='"+sStyle+"' "+dateMessage+"  "+datePointer+"'>" + datePointer + "</a>"
                }
                else {
                                    
                    sHTML += "<a class='"+sStyle+"' style='cursor:pointer;' title=\"" + sHint + "\" onclick=javascript:flageSecond();closeCalendarUser();    onmouseout=this.style.backgroundColor='#fce9d8';window.status =\"\";return true;  onmouseover=this.style.backgroundColor='#F8B319';javascript:dateSelected="+datePointer+";window.status=\"\";return true;>" + datePointer + "</a>"
            }
           
        }
        else {
        selectDateMessage="Select [date] as your check out date.";
        sHint = selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected));
        if ((datePointer < dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){
                    sHTML += "<a class='"+sStyle+"' "+dateMessage+"  "+datePointer+"'>" + datePointer + "</a> "
                }
            else if (((datePointer > dateNow)&&(monthSelected==monthNow)&&(yearSelected !=yearNow)) ){
                    sHTML += "<a class='"+sStyle+"' "+dateMessage+"  "+datePointer+"'>" + datePointer + "</a>"
                } 
                else {
                if ((datePointer < cutDateNow)&&(monthSelected==cutMonthNow)&&(yearSelected==cutYearNow) )
                  {
                        sHTML += "<a class='"+sStyle+"' "+dateMessage+"  "+datePointer+"'>" + datePointer + "</a>"
                  }
                  else
                  {
                dd=1;
                //sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flageSecond();closeCalendarUserUser();'>" + datePointer + "</a> "
                  sHTML += "<a class='"+sStyle+"' style='cursor:pointer;' title=\"" + sHint + "\" onclick=javascript:flageSecond();closeCalendarUser();    onmouseout=this.style.backgroundColor='#fce9d8';window.status =\"\";return true;  onmouseover=this.style.backgroundColor='#F8B319';javascript:dateSelected="+datePointer+";window.status=\"\";return true;>" + datePointer +  "</a>"
                }
            }
         }

     }

    else{
         dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "
         sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";flageSecond();closeCalendarUser();'>&nbsp;" + datePointer + "&nbsp;</a>"
      }

     sHTML +=  " "  //this give gap's between Number of dates in calendar.
     if ((dayPointer+startAt) % 7 == startAt) { 
	    sHTML += "</td></tr><tr>" 
        if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
	      {
            sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + "</td>"
	      }
     }
  }
        sHTML +="</tr></table>"		  
    //write string to calendar content placeholder

     getObj("content1").innerHTML  = sHTML 

      if(type== 1 ){
      if(monthSelected==0 )
     {
     
        monthSelected=0
        //yearSelected=yearSelected
         
         
        getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[monthSelected] + "&nbsp;"
        getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
        
         monthSelected=12
         yearSelected=yearSelected-1
         
     }
     }
     
//     else 

     if(monthSelected==12)
     {

         if(type== 1 ){
        monthSelected=0
        yearSelected=yearSelected+1

        getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[monthSelected] + "&nbsp;"
        getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
             monthSelected=12
            yearSelected=yearSelected-1
        }
        else
        {
         
            monthSelected=0
             yearSelected=yearSelected+1
            getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[monthSelected] + "&nbsp;"
            getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
            monthSelected=12
          yearSelected=yearSelected-1
        }
        
          
     } 
     
     else{
  
        getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[monthSelected] + "&nbsp;"
        getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
        }
        
       
    if((monthSelected==0) )
     {
        monthSelected=11
        //yearSelected=yearSelected-1
      }
     else
     {
        monthSelected=monthSelected-1;
     }
       monthActual = monthSelected + 1 ;  
       
        
 }