/*

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.getFullYear()

    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' ;
  	
/* 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  = 'makeitbusiness.com/';
        var testlive  = 'sitepreview';
        var secure  = 'secure';
        
        if(url.lastIndexOf(local) > 1)
            path = "http://localhost/MAKEITBUSINESS/";   
        else if(url.lastIndexOf(secure) > 1)
            path = "https://secure.makeitbusiness.com/";                 
        else if(url.lastIndexOf(live) > 1)
            path = "http://www.makeitbusiness.com/";      
        else if(url.lastIndexOf(testlive) > 1)
            path = "http://mib-com.sitepreview.ca/";
        
        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 +" "+ sToday;//" <a class='today-style'  onmouseout='window.status=\"\"' title='"+gotoString+"' onmouseover=javascript:window.status=\"\";return true;>" +	 + "</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+" " +sToday //" <a class='today-style'  onmouseout='window.status=\"\"' title='"+gotoString+"' onmouseover=javascript:window.status=\"\";return true;>" +	 + "</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
            }
        }
    }
//alert(window.location.href);
    ctlToPlaceValue.value =	constructDate(dateSelected,monthSelected,yearSelected);
   
   if(ctlToPlaceValue.id.indexOf("Row")>-1)
   {
    var rowEditId=ctlToPlaceValue.id.substring(0,ctlToPlaceValue.id.lastIndexOf("_")+1);
    var dtStart = new Date(getObj(rowEditId+"txtDateTo").value);
    var dtEnd = new Date(ctlToPlaceValue.value);
    difference_in_milliseconds = dtEnd - dtStart;
    if(getObj(rowEditId+"lblDayType").innerText=='One Time')
     getObj(rowEditId+"txtDateTo").value=ctlToPlaceValue.value;
        if(difference_in_milliseconds>0)
        getObj(rowEditId+"txtDateTo").value=ctlToPlaceValue.value;
   }
   else  if(getObj("ctl00_cphContent_ctrlTeam_txtDateTo")!=null)
   {
    var dtStart = new Date(getObj("ctl00_cphContent_ctrlTeam_txtDateTo").value);
    var dtEnd = new Date(ctlToPlaceValue.value);
    difference_in_milliseconds = dtEnd - dtStart;
    
        if(difference_in_milliseconds>0)
        getObj("ctl00_cphContent_ctrlTeam_txtDateTo").value=ctlToPlaceValue.value;
   
   }
   
     if(getObj("ctl00_cphContent_ctrlTeam_txtCalenderDate")!=null)
        {
         if(getObj("ctl00_cphContent_ctrlTeam_txtCalenderDate").value!="")
         {
           getObj("ctl00_cphContent_ctrlTeam_txtCalenderDate").focus(); 
         }		
        }	
     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 = parseFloat(dt.substring(6,10))
	    yy = yy + parseFloat(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(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="";
				}
			 }
		   }
	 }
//alert(ctl2+','+getObj(ctl2))
	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 = parseFloat(aData[i], 10);
					tokensChanged ++;
		  }
		  else if	((aFormat[i]=="m") || (aFormat[i]=="mm")){
				monthSelected =	parseFloat(aData[i], 10) - 1;
				tokensChanged ++;
			}
		  else if	(aFormat[i]=="yyyy"){
				yearSelected = parseFloat(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;//alert(aTag.offsetParent)
		    if(ie)
				{
				    do {
					     aTag = aTag.offsetParent;
			            try
			            {
			                leftpos	+= aTag.offsetLeft;
			                toppos += aTag.offsetTop;  
			            }catch(er){}
				    } while(aTag != null && aTag.tagName!="HTML");
				}
				else
				{
				    do {
					    aTag = aTag.offsetParent;
					   if(aTag!=null)
					    {leftpos	+= aTag.offsetLeft;
					    toppos += aTag.offsetTop;}
				    } while(aTag.tagName!="BODY");
				}
		
		
		
//		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";
            
		
		  crossobj.zIndex="+100000";
		 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")
           {
          
               cutDateNow=dateNow;
               cutYearNow=yearNow;
               cutMonthNow=monthNow;
           }   
           if(startendtype!=undefined && startendtype!="startdate")
           {     
           
             //cutMonthNow = getObj(ctlEnd).value.substring(0,2);
             // cutDateNow = getObj(ctlEnd).value.substring(3,5);
             // cutYearNow = getObj(ctlEnd).value.substring(6,10);
           
                var monthIndex=getObj(ctlEnd).value.indexOf('/');
                cutMonthNow = getObj(ctlEnd).value.substring(0,monthIndex);
                cutDateNow =  getObj(ctlEnd).value.substring(monthIndex+1,monthIndex+3);              
                 var yesrIndex=getObj(ctlEnd).value.lastIndexOf('/');
                 cutYearNow = getObj(ctlEnd).value.substring(yesrIndex+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 (e) { 

      if(!e)
       e=event;
	if (e.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);
    
        var monthIndex=getObj(ctlEnd).value.indexOf('/');
        var txtFromMonth = getObj(ctlEnd).value.substring(0,monthIndex); 
        var yesrIndex=getObj(ctlEnd).value.lastIndexOf('/');
        var txtFromYear = getObj(ctlEnd).value.substring(yesrIndex+1);
        
         var monthIndex=getObj(ctlStart).value.indexOf('/');
        var txttoMonth = getObj(ctlStart).value.substring(0,monthIndex); 
        var yesrIndex=getObj(ctlStart).value.lastIndexOf('/');
        var txttoYear = getObj(ctlStart).value.substring(yesrIndex+1);
         
         
   }
    //Allow back untill month of dateto doesnot reaches till datefrom 
    if(backallow == '1' && parseFloat(txtFromMonth) == parseFloat(monthSelected)+ parseFloat(1) && parseFloat(txtFromYear)== parseFloat(yearSelected) )
     {    
     
         return  ;
     }    
//   if(parseFloat(txtFromMonth) == parseFloat(monthSelected)+ parseFloat(1) &&  startendtype!='startdate')
//     {
//     
//        return ;
//     }
   monthSelected--
   allowback='1';
   if (monthSelected<0)
     {
       monthSelected=11
       yearSelected--
       cutYearNow=yearSelected;
     }
        cutMonthNow = monthSelected; 
        
        if((parseFloat(txtFromMonth)-1) == monthSelected)
        {
            cutMonthNow++;
        }
        constructCalendar()
   
}


// * call in popUpMonth() 
function constructMonth() 
{ allowback='1';
    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 = (parseFloat(crossobj.left) + 30) + "px";
    crossMonthObj.top =	(parseFloat(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+parseFloat(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+parseFloat(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
       {
       
       
              
                 var yesrIndex=getObj(ctlEnd).value.lastIndexOf('/');
                 selectYearEnd = getObj(ctlEnd).value.substring(yesrIndex+1);
                 
         //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=parseFloat(nYear+nStartingYear);
        }
        else
        {           
            yearSelected=parseFloat(nYear+parseFloat(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 = parseFloat(crossobj.left) + getObj("spanYear").offsetLeft;
    leftOffset += 6
    crossYearObj.left =	leftOffset+ "px";
    crossYearObj.top = (parseFloat(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!="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')
             {
             
              var monthIndex=getObj(ctlStart).value.indexOf('/');
                cutMonthNow = getObj(ctlStart).value.substring(0,monthIndex);
               
                cutDateNow = 0; 
                 var yesrIndex=getObj(ctlStart).value.lastIndexOf('/');
                cutYearNow = getObj(ctlStart).value.substring(yesrIndex+1,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==parseFloat(cutMonthNow)-1)&&(yearSelected==cutYearNow))
         {
     
             backallow='1';
         }
        
        if(yearSelected == cutYearNow && monthSelected == (parseFloat(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!="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);
           
           var monthIndex=getObj(ctlEnd).value.indexOf('/');
                cutMonthNow = getObj(ctlEnd).value.substring(0,monthIndex);
               cutDateNow =  getObj(ctlEnd).value.substring(monthIndex+1,monthIndex+3);
              
                 var yesrIndex=getObj(ctlEnd).value.lastIndexOf('/');
                 cutYearNow = getObj(ctlEnd).value.substring(yesrIndex+1);
            
       }
     if ((parseFloat(datePointer) < (parseFloat(cutDateNow))) &&(parseFloat(monthSelected)==parseFloat(cutMonthNow)-1)&&(parseFloat(yearSelected)==parseFloat(cutYearNow)))
        {// alert(parseFloat(monthSelected)+','+(parseFloat(cutMonthNow)-1))
             sStyle = "pre-day-style"; 
        }
    }
    
    sHint = ""
    for (k=0;k<HolidaysCounter;k++){
            if ((parseFloat(Holidays[k].d)==datePointer)&&(parseFloat(Holidays[k].m)==(monthSelected+1)))
	        {
	         if ((parseFloat(Holidays[k].y)==0)||((parseFloat(Holidays[k].y)==yearSelected)&&(parseFloat(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 ((parseFloat(datePointer) < (parseFloat(cutDateNow))) &&(parseFloat(monthSelected)==parseFloat(cutMonthNow)-1)&&(parseFloat(yearSelected)==parseFloat(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 ((parseFloat(Holidays[k].d)==datePointer)&&(parseFloat(Holidays[k].m)==(monthSelected+1)))
	        {
	         if ((parseFloat(Holidays[k].y)==0)||((parseFloat(Holidays[k].y)==yearSelected)&&(parseFloat(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=parseInt(yearSelected,10)+1
        getObj("spanMonth1").innerHTML = "&nbsp;" +	monthName[parseFloat(monthSelected)] + "&nbsp;"
        getObj("spanYear1").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;"
        monthSelected=12
        yearSelected=parseInt(yearSelected,10)-1
     }      
     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;
}