
var today	= "2";
var day		= "";
var month	= "";
var year	= "";


var cal_obj2update = {};
	cal_obj2update.mode = null; // pickup or drop off
	cal_obj2update.index = null;

var selectedDate = {}; // the onclick day
	selectedDate.date	= null;
	selectedDate.month	= null;
	selectedDate.year	= null;	

function updateObj()
{
	
	if (isnull(selectedDate.date) || isnull(cal_obj2update.mode)){return}
	var day = selectedDate.date;
	var month=selectedDate.month;
	var year = selectedDate.year;
	if(cal_obj2update.mode == 'pick'){
		
		switch(cal_obj2update.index){
			case "2" :
				document.all['pickday_2'].value=day;
				document.all['pickmonth_2'].value=month;
				document.all['pickyear_2'].value=year;
				break
			case "3" :
				document.all['pickday_3'].value=day;
				document.all['pickmonth_3'].value=month;
				document.all['pickyear_3'].value=year;
				break
			default :
				document.all['pickday'].value=day;
				document.all['pickmonth'].value=month;
				document.all['pickyear'].value=year;
				try{
					var numOfDays = getNumOfDays(month+"/"+day+"/"+year+" "+document.all['pick_up_time'].value, document.all['offmonth'].value+"/"+document.all['offday'].value+"/"+document.all['offyear'].value+" "+document.all['drop_off_time'].value)
					window.num_of_days.innerHTML = numOfDays+" days";
					document.all['no_OfDays'].value = numOfDays;
				}catch(e){}	
				break			
		}
	}
	else if(cal_obj2update.mode == 'drop'){
		
		switch(cal_obj2update.index){
			case "2" :
				document.all['offday_2'].value=day;
				document.all['offmonth_2'].value=month;
				document.all['offyear_2'].value=year;
				break
			case "3" :
				document.all['offday_3'].value=day;
				document.all['offmonth_3'].value=month;
				document.all['offyear_3'].value=year;
				break
			default :
				document.all['offday'].value=day;
				document.all['offmonth'].value=month;
				document.all['offyear'].value=year;
				try{
					var numOfDays = getNumOfDays(document.all['pickmonth'].value+"/"+document.all['pickday'].value+"/"+document.all['pickyear'].value+" "+document.all['pick_up_time'].value, month+"/"+day+"/"+year+" "+document.all['drop_off_time'].value)
					window.num_of_days.innerHTML = numOfDays+" days";
					document.all['no_OfDays'].value = numOfDays;
				}catch(e){}	
				break			
		}
	}
}

function nDas(_month,_year){
	var monthDays	= new montharray(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if ((_month == 1 && ((_year % 4 == 0) && (_year % 100 != 0)) || (_year % 400 == 0)))
        return monthDays[1] = 29;
    return monthDays[_month] 
}

function montharray(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11){
    this[0] = m0; this[1] = m1; this[2] = m2; this[3] = m3;
    this[4] = m4; this[5] = m5; this[6] = m6; this[7] = m7;
    this[8] = m8; this[9] = m9; this[10] = m10; this[11] = m11;
}



function markDays(lastDay,_today,color){
	selectedDate.date = _today;
	selectedDate.month = month;
	selectedDate.year = year;
	updateObj();
}

function moveTo(_year,_month){
	//i_cYear i_cMonth Are curing dates.
	var dToDay = new Date()
	if ((_year==dToDay.getFullYear())&&((_month)<dToDay.getMonth())) return
	if ((_year>=(dToDay.getFullYear()+1))&&((_month)==12)) return
	if (_month>11) {
		_year++;

	}
	//alert("_year="+_year+"  _month="+_month)
	if (_month==-1) {
		_year--;
	}
	
	if (_month == -1){ _month = 11  }
	if (_month == 12){  _month = 0 }
	
	rebuild(_year,_month)
}

function rebuild(_year,_month){
	
	document.all('td_calendar').innerHTML =  calendar(_year,_month,1)
	
}


// Create the calender
function calendar(_year,_month,day,color){
    
    var monthNames	= "January;February;March;April;May;June;July;August;September;October;November;December;"
    
    var sDateTitle = monthNames.split(";")[_month] +" "+  _year 
    color = "orange"
     if (_month == undefined){_month = "4"} 
    if (_year == undefined) {_year = "2002"}
    
    month	= ++_month;
    year	= _year;
    today	= day
    var returnCal = ""
    
    
    var Days		= new Array ;
    for (i=1 ; i<=31 ; Days[i++] = false );
    
    for (i=0 ; i < today.length ; Days[today[i++]] = true );
    
    var monthDays	= new montharray(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		thisMonth	= new Date(_month + "/1/" + _year); // start the _month and _year (MM/dd/YYYY)
    var thisDay		= 23 //thisDay = thisMonth.getDate();
    
    var _month		= thisMonth.getMonth()
    
    if (((_year % 4 == 0) && (_year % 100 != 0)) || (_year % 400 == 0))
        monthDays[1] = 29;

    nDays = monthDays[_month];
    firstDay = thisMonth;
    firstDay.setDate(1);
    startDay = firstDay.getDay();
    
    // Strat the table
    returnCal +=('<TABLE border="0" cellspacing="1" cellpadding="0" width="140" bgcolor="#FFFFFF" dir="ltr" style="color:#000000; font-size:12;FONT-FAMILY: Arial;">');
    // Title
    returnCal +=('<tr><td colspan="7">')
			returnCal +=('<TABLE border="0" cellspacing="0" cellpadding="0" width="100%" dir="rtl" style="color:#000000; font-size:12;FONT-FAMILY: Arial;">');
			returnCal +=('<TR style="padding:0 0 2 0;font-size:10" ><TD class="calendarDates" height="0" align="right" onclick=moveTo(' + _year + ',' + (_month * 1 +1 ) + ') style="CURSOR: hand;">Next</TD>')
			returnCal +=('<TD class="calendarDates" align="left"  onclick=moveTo(' + _year + ',' + (_month * 1 - 1) +') style="CURSOR: hand;">Previous</TD>')
			returnCal +=('<tr><td colspan="2" style="height:20px;padding:0 4 2 4" bgcolor="#FFFFFF" align="center" valign="center">');
			returnCal +=('<div id="divDateTitle"  width="135" style="height:19px;font:bold;font-size:14px;background-color:#e78b00;color:white">'+ sDateTitle +'</div></td></tr>')
			returnCal +=('</table>')
    returnCal +=('</td></tr>')
    // Days Bar
    returnCal +=('<tr><td align="center"><TABLE border="0" cellspacing="0" cellpadding="0" width="130">')
    returnCal +=('<TR align="center" class="'+color+'BG" style="color:#ffffff;">');
	returnCal +=('<TD class="calBorder">SU</TD><TD class="calBorder">MO</TD><TD class="calBorder">TU</TD><TD class="calBorder">WE</TD><TD class="calBorder">TH</TD><TD class="calBorder">FR</TD><TD class="calBorder" style="border:0">SA</TD>');
    returnCal +=('</TR><TR style="padding:0 0 0 0"><td style="font-size:3px">&nbsp;</td></tr><tr>');
    column = 0;
    
    // Blank days (if the first day is not Sunday)
    for (i=0; i<startDay; i++){
        returnCal +=('<TD bgcolor="#FFFFFF">&nbsp</td>');
        column++;
    }

    // Fill all _month days
    dToDay = new Date()
    
    for (i=1; i<=nDays; i++){
        if (dToDay.getDate() == i && _month == dToDay.getMonth() && _year == dToDay.getFullYear()) returnCal +=('<TD onclick=markDays(' + today + ',' + i +',"'+color+'") id = "day_' + i + '"  class="calendarDates" style="background-color:#CECFCE">');
        else if((_month+1) <= dToDay.getMonth()&& _year== dToDay.getFullYear()){
				returnCal +=('<TD onclick=markDays(' + today + ',' + i +',"'+color+'") id = "day_' + i + '" disabled  style="background-color:#FFFFFF;CURSOR: default;color:#ffffff" class="'+color+'BG">');
        }else if (dToDay.getDate() > i&&_month <= dToDay.getMonth()&& _year<= dToDay.getFullYear()){
             returnCal +=('<TD onclick=markDays(' + today + ',' + i +',"'+color+'") id = "day_' + i + '" disabled  style="background-color:#FFFFFF;CURSOR: default;color:#ffffff" class="'+color+'BG">');
        }else returnCal +=('<TD onclick=markDays(' + today + ',' + i +',"'+color+'") id = "day_' + i + '"  class="calendarDates" >');
        returnCal +=('<CENTER>');
        returnCal +=(i);
        returnCal +=('</CENTER></td>');
        
        column++;
        if (column == 7){
            
            returnCal +=('</tr><TR style="padding:0 0 0 0"><td style="font-size:3px">&nbsp;</td></tr><tr>');
            column = 0;
        }
    }
    
    // Finish the last cells after the last day.
    for (i=column; (i<7) && (i != 0) ; i++)
		returnCal +=('<TD bgcolor="#FFFFFF">&nbsp</td>');	
	
    returnCal +=('</TABLE></td></tr></TABLE>');
    return returnCal
}

///////////////////////////////////////////////////////////////////////////////////////////
//added by Michael (valid for Alamo only)
function displayCalender(strMode){
	
	cal_obj2update.mode=strMode;
	refreshCalendar();
	document.all['table_calendar'].style.display = 'block';
	if(strMode=='pick'){
		document.all['td_calendar_title'].innerHTML='Pick up Date'
	}
	else{
		document.all['td_calendar_title'].innerHTML='Drop off Date'
	}
	try{
	    if(document.all['calender_div']){
	    document.all['calender_div'].style.display = 'block';
	   }
	}catch(e){}
}

function hideCalender(){
	document.all['table_calendar'].style.display = 'none';
	try{
	    document.all['calender_div'].style.display = 'none';
	}catch(e){}
}
////////////////////////////////////////////////////////////////////////////////////////////
