var calmode=-1; var PickUp_Day,PickUp_Month,PickUp_Year,Return_Day,Return_Month,Return_Year; function CalOver(obj,id) { obj.style.background="#0066CC"; obj.style.cursor="pointer"; document.getElementById(id).style.color="#FFFFFF"; } function CalOut(obj,id,colorid) { obj.style.background=""; obj.style.cursor=""; document.getElementById(id).style.color=colorid; } function CallCalendar(FieldID) { var DATESP; if (document.rf.PickUpDate.value.length>0 && document.rf.PickUpDate.value!='ДД.ММ.ГГГГ') { DATESP = document.rf.PickUpDate.value.split("/"); PickUp_Day = DATESP[0]; PickUp_Month = DATESP[1]; PickUp_Year = DATESP[2]; } else { PickUp_Day=0; PickUp_Month=0; PickUp_Year=0; } if (document.rf.ReturnDate.value.length>0 && document.rf.ReturnDate.value!='ДД.ММ.ГГГГ') { DATESP = document.rf.ReturnDate.value.split("/"); Return_Day = DATESP[0]; Return_Month = DATESP[1]; Return_Year = DATESP[2]; } else { Return_Day=0; Return_Month=0; Return_Year=0; } calmode=FieldID; if (document.getElementById("CalBody").style.display=="block") { $("#CalBody").slideUp("fast"); } else { if (FieldID==1) { document.getElementById("CalBody").style.top = parseInt(document.getElementById("PickUpDateField").offsetTop+26)+"px"; if (CheckDate(1,PickUp_Month,PickUp_Year)) { DisplayCalendar(PickUp_Year,PickUp_Month); } else { DisplayCalendar(-1,-1); } } if (FieldID==2) { document.getElementById("CalBody").style.top = parseInt(document.getElementById("ReturnDateField").offsetTop+26)+"px"; if (CheckDate(1,Return_Month,Return_Year)) { DisplayCalendar(Return_Year,Return_Month); } else if (CheckDate(1,PickUp_Month,PickUp_Year)) { DisplayCalendar(PickUp_Year,PickUp_Month); } else { DisplayCalendar(-1,-1); } } } } function DisplayCalendar(CurrentYear, CurrentMonth) { var MStr = new Array("","януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"); var TodayYear = 2010; var TodayMonth = 9; var TodayDay = 11; var NowDateStr = '9-11-2010'; var CurDateStr = 0; var Color = ''; if (CurrentYear==-1) { CurrentYear=TodayYear; } else { CurrentYear = parseInt(CurrentYear); } if (CurrentMonth==-1) { CurrentMonth=TodayMonth; } else { CurrentMonth = parseInt(CurrentMonth); } var now = new Date(CurrentYear,CurrentMonth-1,1); if (CurrentMonth==1) { PrevMonth = 12; PrevYear=CurrentYear-1; } else { PrevMonth=CurrentMonth-1; PrevYear = CurrentYear; } if (CurrentMonth==12) { NextMonth = 1; NextYear=CurrentYear+1; } else { NextMonth=CurrentMonth+1; NextYear = CurrentYear; } var d_mon = now.getMonth()+1; var wday = now.getDay(); if (now.getDay()==0) { wday=7; } if (d_mon==1 || d_mon==3 || d_mon==5 || d_mon==7 || d_mon==8 || d_mon==10 || d_mon==12) { maxdays=31; } else if (d_mon==2) { maxdays=28; } else { maxdays=30; } var HeaderOutput = ''; HeaderOutput += '
'; HeaderOutput += ''; HeaderOutput += ''; HeaderOutput += ''; HeaderOutput += ''; HeaderOutput += '
' + MStr[d_mon] + ' ' + CurrentYear + '
'; i=1; var BodyOutput = ''; while (i<=maxdays) { BodyOutput += ''; for (j=1; j<=7; j++) { if (i==1 && jmaxdays && j<=7) { BodyOutput += ''; } else { CurDateStr = d_mon+'-'+i+'-'+CurrentYear; if (CompareDates(NowDateStr,CurDateStr)>0) { BodyOutput += ''; } else { if (j==6 || j==7) { Color='#CC0000'; } else { Color='#0044AA'; } BodyOutput += ''; } i++; } } } BodyOutput += ''; } BodyOutput += '
 
' + i + '
'; BodyOutput += '
'; BodyOutput += '
' + i + '
'; BodyOutput += '
'; var Line5px = ''; document.getElementById("CalBody").innerHTML = HeaderOutput + '
'+Line5px+'
' + BodyOutput + '
'+Line5px+'
'; $("#CalBody").slideDown("fast"); } function SetDate(YYYY,MM,DD,FieldID) { if (MM<10) { MM = '0'+MM; } if (DD<10) { DD = '0'+DD; } if (FieldID==1) { document.rf.PickUpDate.value = DD+'/'+MM+'/'+YYYY; } else { document.rf.ReturnDate.value = DD+'/'+MM+'/'+YYYY; } $("#CalBody").slideUp("fast"); } function CompareDates(value1, value2) { var date1, date2; var month1, month2; var year1, year2; month1 = value1.substring (0, value1.indexOf ("-")); date1 = value1.substring (value1.indexOf ("-")+1, value1.lastIndexOf ("-")); year1 = value1.substring (value1.lastIndexOf ("-")+1, value1.length); month2 = value2.substring (0, value2.indexOf ("-")); date2 = value2.substring (value2.indexOf ("-")+1, value2.lastIndexOf ("-")); year2 = value2.substring (value2.lastIndexOf ("-")+1, value2.length); if (month1<10) { month1 = '0'+month1; } if (month2<10) { month2 = '0'+month2; } if (date1<10) { date1 = '0'+date1; } if (date2<10) { date2 = '0'+date2; } if (year1 > year2) return 1; else if (year1 < year2) return -1; else if (month1 > month2) return 1; else if (month1 < month2) return -1; else if (date1 > date2) return 1; else if (date1 < date2) return -1; else return 0; } function CheckDate(day,month,year) { if (day.length==0 || month.length==0 || year.length==0) { return false; } day = parseInt(day); month = parseInt(month); year = parseInt(year); var leapyear = false; if ((Math.floor(year/4)== (year/4)) && ((Math.floor(year/100)!=(year/100)) || (Math.floor(year/400)==(year/400)))) { leapyear = true; } else { leapyear = false; } if (leapyear && month=='02' && day>29) { return false; } else if (!leapyear && month=='02' && day>28) { return false; } else if (day>30 && (month=='04' || month=='06' || month=='09' || month=='11')) { return false; } else if (day>31) { return false; } if (year<2008 || year>2099) { return false; } return true; } function MaxDays(month,year) { if (month=='02') { var leapyear = false; if ((Math.floor(year/4)== (year/4)) && ((Math.floor(year/100)!=(year/100)) || (Math.floor(year/400)==(year/400)))) { leapyear = true; } else { leapyear = false; } if (leapyear) { return 29; } else { return 28; } } else if (month=='01' || month=='03' || month=='05' || month=='07' || month=='08' || month=='10' || month=='12') { return 31; } else { return 30; } }