From: mkasper Date: Tue, 7 Feb 2006 14:35:14 +0000 (+0000) Subject: Set svn:eol-style=LF for all text files. Fix inconsistent newlines in webgui/datetime... X-Git-Url: https://git.gsnw.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=646414b6357ad91e17dfdefe6d182923e4ecef91;p=m0n0chwall.git Set svn:eol-style=LF for all text files. Fix inconsistent newlines in webgui/datetimepicker.js. git-svn-id: https://svn.m0n0.ch/wall/trunk@52 e36fee2c-cc09-0410-a7cc-ebac5c6737de --- diff --git a/build/minibsd/mklibs.pl b/build/minibsd/mklibs.pl index f65c574..68bcf4f 100644 --- a/build/minibsd/mklibs.pl +++ b/build/minibsd/mklibs.pl @@ -1,39 +1,39 @@ -#!/usr/bin/perl - -# $Id$ - -# arguments: binaries_tree - -use File::Find; - -exit unless $#ARGV == 0; - -undef @liblist; - -# check_libs(path) -sub check_libs { - @filestat = stat($File::Find::name); - - if ((($filestat[2] & 0170000) == 0100000) && - ($filestat[2] & 0111) && (!/.ko$/)) { - - @curlibs = qx{/usr/bin/ldd -f "%p\n" $File::Find::name 2>/dev/null}; - - push(@liblist, @curlibs); - } -} - -# walk the directory tree -find(\&check_libs, $ARGV[0]); - -# throw out dupes -undef %hlib; -@hlib{@liblist} = (); -@liblist = sort keys %hlib; - -foreach $lib (@liblist) { - $lib = substr($lib, 1); -} - -print @liblist; - +#!/usr/bin/perl + +# $Id$ + +# arguments: binaries_tree + +use File::Find; + +exit unless $#ARGV == 0; + +undef @liblist; + +# check_libs(path) +sub check_libs { + @filestat = stat($File::Find::name); + + if ((($filestat[2] & 0170000) == 0100000) && + ($filestat[2] & 0111) && (!/.ko$/)) { + + @curlibs = qx{/usr/bin/ldd -f "%p\n" $File::Find::name 2>/dev/null}; + + push(@liblist, @curlibs); + } +} + +# walk the directory tree +find(\&check_libs, $ARGV[0]); + +# throw out dupes +undef %hlib; +@hlib{@liblist} = (); +@liblist = sort keys %hlib; + +foreach $lib (@liblist) { + $lib = substr($lib, 1); +} + +print @liblist; + diff --git a/build/minibsd/mkmini.pl b/build/minibsd/mkmini.pl index 23a98b3..fd4c904 100644 --- a/build/minibsd/mkmini.pl +++ b/build/minibsd/mkmini.pl @@ -1,48 +1,48 @@ -#!/usr/bin/perl - -# $Id$ - -# arguments: source_tree dest_tree - -use File::Copy; - -exit unless $#ARGV == 2; - -print "Populating MiniBSD tree: $ARGV[2]\n"; - -# populate_tree(treefile, srcpath, destpath) -sub populate_tree { - my @args = @_; - - open TREEFILE, $args[0]; - - TREE: while () { - - next TREE if /^#/; - next TREE if /^ *$/; - - @srcfiles = split(/:/); - chomp @srcfiles; - - $srcfile = shift(@srcfiles); - @srcstat = stat($args[1] . "/" . $srcfile); - - if (copy($args[1] . "/" . $srcfile, $args[2] . "/" . $srcfile)) { - printf "Copy $args[1]/$srcfile -> $args[2]/$srcfile ($srcstat[4]/$srcstat[5]/%04o)\n", ($srcstat[2] & 07777); - chown $srcstat[4], $srcstat[5], $args[2] . "/" . $srcfile; - chmod $srcstat[2] & 07777, $args[2] . "/" . $srcfile; - } else { - print "ERROR while copying file $args[1]/$srcfile\n"; - } - - foreach $lnfile (@srcfiles) { - if (link($args[2] . "/" . $srcfile, $args[2] . "/" . $lnfile)) { - print "Link $args[2]/$srcfile -> $args[2]/$lnfile\n"; - } else { - print "ERROR while linking file $args[2]/$srcfile\n"; - } - } - } -} - -populate_tree $ARGV[0], $ARGV[1], $ARGV[2]; +#!/usr/bin/perl + +# $Id$ + +# arguments: source_tree dest_tree + +use File::Copy; + +exit unless $#ARGV == 2; + +print "Populating MiniBSD tree: $ARGV[2]\n"; + +# populate_tree(treefile, srcpath, destpath) +sub populate_tree { + my @args = @_; + + open TREEFILE, $args[0]; + + TREE: while () { + + next TREE if /^#/; + next TREE if /^ *$/; + + @srcfiles = split(/:/); + chomp @srcfiles; + + $srcfile = shift(@srcfiles); + @srcstat = stat($args[1] . "/" . $srcfile); + + if (copy($args[1] . "/" . $srcfile, $args[2] . "/" . $srcfile)) { + printf "Copy $args[1]/$srcfile -> $args[2]/$srcfile ($srcstat[4]/$srcstat[5]/%04o)\n", ($srcstat[2] & 07777); + chown $srcstat[4], $srcstat[5], $args[2] . "/" . $srcfile; + chmod $srcstat[2] & 07777, $args[2] . "/" . $srcfile; + } else { + print "ERROR while copying file $args[1]/$srcfile\n"; + } + + foreach $lnfile (@srcfiles) { + if (link($args[2] . "/" . $srcfile, $args[2] . "/" . $lnfile)) { + print "Link $args[2]/$srcfile -> $args[2]/$lnfile\n"; + } else { + print "ERROR while linking file $args[2]/$srcfile\n"; + } + } + } +} + +populate_tree $ARGV[0], $ARGV[1], $ARGV[2]; diff --git a/webgui/datetimepicker.js b/webgui/datetimepicker.js index 68d9cd5..c4d585a 100644 --- a/webgui/datetimepicker.js +++ b/webgui/datetimepicker.js @@ -1,487 +1,487 @@ -//Javascript name: My Date Time Picker -//Date created: 16-Nov-2003 23:19 -//Scripter: TengYong Ng -//Website: http://www.rainforestnet.com -//Copyright (c) 2003 TengYong Ng -//FileName: DateTimePicker.js -//Version: 0.8 -//Contact: contact@rainforestnet.com -// Note: Permission given to use this script in ANY kind of applications if +//Javascript name: My Date Time Picker +//Date created: 16-Nov-2003 23:19 +//Scripter: TengYong Ng +//Website: http://www.rainforestnet.com +//Copyright (c) 2003 TengYong Ng +//FileName: DateTimePicker.js +//Version: 0.8 +//Contact: contact@rainforestnet.com +// Note: Permission given to use this script in ANY kind of applications if // header lines are left unchanged. - -//Global variables -var winCal; -var dtToday=new Date(); -var Cal; -var docCal; -var MonthName=["January", "February", "March", "April", "May", "June","July", - "August", "September", "October", "November", "December"]; -var WeekDayName=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; -var exDateTime;//Existing Date and Time - -//Configurable parameters -var cnTop="200";//top coordinate of calendar window. -var cnLeft="500";//left coordinate of calendar window -var WindowTitle ="DateTime Picker";//Date Time Picker title. -var WeekChar=2;//number of character for week day. if 2 then Mo,Tu,We. if 3 then Mon,Tue,Wed. -var CellWidth=20;//Width of day cell. -var DateSeparator="/";//Date Separator, you can change it to "/" if you want. -var TimeMode=24;//default TimeMode value. 12 or 24 - -var ShowLongMonth=true;//Show long month name in Calendar header. example: "January". -var ShowMonthYear=true;//Show Month and Year in Calendar header. -var MonthYearColor="#435370";//Font Color of Month and Year in Calendar header. -var WeekHeadColor="#777777";//Background Color in Week header. -var SundayColor="#D9DEE8";//Background color of Sunday. -var SaturdayColor="#D9DEE8";//Background color of Saturday. -var WeekDayColor="white";//Background color of weekdays. -var FontColor="black";//color of font in Calendar day cell. -var TodayColor="#FFFF33";//Background color of today. -var SelDateColor="red";//Backgrond color of selected date in textbox. -var YrSelColor="black";//color of font of Year selector. -var ThemeBg="";//Background image of Calendar window. -//end Configurable parameters -//end Global variable - -function NewCal(pCtrl,pFormat,pShowTime,pTimeMode) -{ - Cal=new Calendar(dtToday); - if ((pShowTime!=null) && (pShowTime)) - { - Cal.ShowTime=true; - if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24'))) - { - TimeMode=pTimeMode; - } - } - if (pCtrl!=null) - Cal.Ctrl=pCtrl; - if (pFormat!=null) - Cal.Format=pFormat.toUpperCase(); - - exDateTime=document.getElementById(pCtrl).value; - if (exDateTime!="")//Parse Date String - { - var Sp1;//Index of Date Separator 1 - var Sp2;//Index of Date Separator 2 - var tSp1;//Index of Time Separator 1 - var tSp1;//Index of Time Separator 2 - var strMonth; - var strDate; - var strYear; - var intMonth; - var YearPattern; - var strHour; - var strMinute; - var strSecond; - //parse month - Sp1=exDateTime.indexOf(DateSeparator,0) - Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1)); - - if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY")) - { - strMonth=exDateTime.substring(Sp1+1,Sp2); - strDate=exDateTime.substring(0,Sp1); - } - else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY")) - { - strMonth=exDateTime.substring(0,Sp1); - strDate=exDateTime.substring(Sp1+1,Sp2); - } - if (isNaN(strMonth)) - intMonth=Cal.GetMonthIndex(strMonth); - else - intMonth=parseInt(strMonth,10)-1; - if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12)) - Cal.Month=intMonth; - //end parse month - //parse Date - if ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1)) - Cal.Date=strDate; - //end parse Date - //parse year - strYear=exDateTime.substring(Sp2+1,Sp2+5); - YearPattern=/^\d{4}$/; - if (YearPattern.test(strYear)) - Cal.Year=parseInt(strYear,10); - //end parse year - //parse time - if (Cal.ShowTime==true) - { - tSp1=exDateTime.indexOf(":",0) - tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1)); - strHour=exDateTime.substring(tSp1,(tSp1)-2); - Cal.SetHour(strHour); - strMinute=exDateTime.substring(tSp1+1,tSp2); - Cal.SetMinute(strMinute); - strSecond=exDateTime.substring(tSp2+1,tSp2+3); - Cal.SetSecond(strSecond); - } - } - winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=195,height=200,resizable=0,top="+cnTop+",left="+cnLeft); - docCal=winCal.document; - RenderCal(); -} - -function RenderCal() -{ - var vCalHeader; - var vCalData; - var vCalTime; - var i; - var j; - var SelectStr; - var vDayCount=0; - var vFirstDay; - - docCal.open(); - docCal.writeln(""+WindowTitle+""); - docCal.writeln(""); - docCal.writeln(""); - docCal.writeln("
"); - - vCalHeader="\n"; - //Month Selector - vCalHeader+="\n\n"; - vCalHeader+=""; - //Calendar header shows Month and Year - if (ShowMonthYear) - vCalHeader+="\n"; - //Week day header - vCalHeader+=""; - for (i=0;i<7;i++) - { - vCalHeader+=""; - } - vCalHeader+=""; - docCal.write(vCalHeader); - - //Calendar detail - CalDate=new Date(Cal.Year,Cal.Month); - CalDate.setDate(1); - vFirstDay=CalDate.getDay(); - vCalData=""; - for (i=0;i\n"; - } - } - docCal.writeln(vCalData); - //Time picker - if (Cal.ShowTime) - { - var showHour; - showHour=Cal.getShowHour(); - vCalTime="\n\n"; - docCal.write(vCalTime); - } - //end time picker - docCal.writeln("\n
"; - //Year selector - vCalHeader+="\n
\n"; - vCalHeader+="< "+Cal.Year+" >
"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"
"+WeekDayName[i].substr(0,WeekChar)+"
"; - vCalTime+=""; - vCalTime+=" : "; - vCalTime+=""; - vCalTime+=" : "; - vCalTime+=""; - if (TimeMode==12) - { - var SelectAm =(parseInt(Cal.Hours,10)<12)? "Selected":""; - var SelectPm =(parseInt(Cal.Hours,10)>=12)? "Selected":""; - - vCalTime+=""; - } - vCalTime+="\n
"); - docCal.writeln("
"); - docCal.close(); -} - -function GenCell(pValue,pHighLight,pColor)//Generate table cell with value -{ - var PValue; - var PCellStr; - var vColor; - var vHLstr1;//HighLight string - var vHlstr2; - var vTimeStr; - - if (pValue==null) - PValue=""; - else - PValue=pValue; - - if (pColor!=null) - vColor="bgcolor=\""+pColor+"\""; - else - vColor=""; - if ((pHighLight!=null)&&(pHighLight)) - {vHLstr1="color='red'>";vHLstr2="";} - else - {vHLstr1=">";vHLstr2="";} - - if (Cal.ShowTime) - { - vTimeStr="winMain.document.getElementById('"+Cal.Ctrl+"').value+=' '+"+"winMain.Cal.getShowHour()"+"+':'+"+"winMain.Cal.Minutes"+"+':'+"+"winMain.Cal.Seconds"; - if (TimeMode==12) - vTimeStr+="+' '+winMain.Cal.AMorPM"; - } - else - vTimeStr=""; - PCellStr=""+PValue+""+vHLstr2+""; - return PCellStr; -} - -function Calendar(pDate,pCtrl) -{ - //Properties - this.Date=pDate.getDate();//selected date - this.Month=pDate.getMonth();//selected month number - this.Year=pDate.getFullYear();//selected year in 4 digits - this.Hours=pDate.getHours(); - - if (pDate.getMinutes()<10) - this.Minutes="0"+pDate.getMinutes(); - else - this.Minutes=pDate.getMinutes(); - - if (pDate.getSeconds()<10) - this.Seconds="0"+pDate.getSeconds(); - else - this.Seconds=pDate.getSeconds(); - - this.MyWindow=winCal; - this.Ctrl=pCtrl; - this.Format="ddMMyyyy"; - this.Separator=DateSeparator; - this.ShowTime=false; - if (pDate.getHours()<12) - this.AMorPM="AM"; - else - this.AMorPM="PM"; -} - -function GetMonthIndex(shortMonthName) -{ - for (i=0;i<12;i++) - { - if (MonthName[i].substring(0,3).toUpperCase()==shortMonthName.toUpperCase()) - { return i;} - } -} -Calendar.prototype.GetMonthIndex=GetMonthIndex; - -function IncYear() -{ Cal.Year++;} -Calendar.prototype.IncYear=IncYear; - -function DecYear() -{ Cal.Year--;} -Calendar.prototype.DecYear=DecYear; - -function SwitchMth(intMth) -{ Cal.Month=intMth;} -Calendar.prototype.SwitchMth=SwitchMth; - -function SetHour(intHour) -{ - var MaxHour; - var MinHour; - if (TimeMode==24) - { MaxHour=23;MinHour=0} - else if (TimeMode==12) - { MaxHour=12;MinHour=1} - else - alert("TimeMode can only be 12 or 24"); - var HourExp=new RegExp("^\\d\\d$"); - if (HourExp.test(intHour) && (parseInt(intHour,10)<=MaxHour) && (parseInt(intHour,10)>=MinHour)) - { - if ((TimeMode==12) && (Cal.AMorPM=="PM")) - { - if (parseInt(intHour,10)==12) - Cal.Hours=12; - else - Cal.Hours=parseInt(intHour,10)+12; - } - else if ((TimeMode==12) && (Cal.AMorPM=="AM")) - { - if (intHour==12) - intHour-=12; - Cal.Hours=parseInt(intHour,10); - } - else if (TimeMode==24) - Cal.Hours=parseInt(intHour,10); - } -} -Calendar.prototype.SetHour=SetHour; - -function SetMinute(intMin) -{ - var MinExp=new RegExp("^\\d\\d$"); - if (MinExp.test(intMin) && (intMin<60)) - Cal.Minutes=intMin; -} -Calendar.prototype.SetMinute=SetMinute; - -function SetSecond(intSec) -{ - var SecExp=new RegExp("^\\d\\d$"); - if (SecExp.test(intSec) && (intSec<60)) - Cal.Seconds=intSec; -} -Calendar.prototype.SetSecond=SetSecond; - -function SetAmPm(pvalue) -{ - this.AMorPM=pvalue; - if (pvalue=="PM") - { - this.Hours=(parseInt(this.Hours,10))+12; - if (this.Hours==24) - this.Hours=12; - } - else if (pvalue=="AM") - this.Hours-=12; -} -Calendar.prototype.SetAmPm=SetAmPm; - -function getShowHour() -{ - var finalHour; - if (TimeMode==12) - { - if (parseInt(this.Hours,10)==0) - { - this.AMorPM="AM"; - finalHour=parseInt(this.Hours,10)+12; - } - else if (parseInt(this.Hours,10)==12) - { - this.AMorPM="PM"; - finalHour=12; - } - else if (this.Hours>12) - { - this.AMorPM="PM"; - if ((this.Hours-12)<10) - finalHour="0"+((parseInt(this.Hours,10))-12); - else - finalHour=parseInt(this.Hours,10)-12; - } - else - { - this.AMorPM="AM"; - if (this.Hours<10) - finalHour="0"+parseInt(this.Hours,10); - else - finalHour=this.Hours; - } - } - else if (TimeMode==24) - { - if (this.Hours<10) - finalHour="0"+parseInt(this.Hours,10); - else - finalHour=this.Hours; - } - return finalHour; -} -Calendar.prototype.getShowHour=getShowHour; - -function GetMonthName(IsLong) -{ - var Month=MonthName[this.Month]; - if (IsLong) - return Month; - else - return Month.substr(0,3); -} -Calendar.prototype.GetMonthName=GetMonthName; - -function GetMonDays()//Get number of days in a month -{ - var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; - if (this.IsLeapYear()) - { - DaysInMonth[1]=29; - } - return DaysInMonth[this.Month]; -} -Calendar.prototype.GetMonDays=GetMonDays; - -function IsLeapYear() -{ - if ((this.Year%4)==0) - { - if ((this.Year%100==0) && (this.Year%400)!=0) - { - return false; - } - else - { - return true; - } - } - else - { - return false; - } -} -Calendar.prototype.IsLeapYear=IsLeapYear; - -function FormatDate(pDate) -{ - if (this.Format.toUpperCase()=="DDMMYYYY") - return (pDate+DateSeparator+(this.Month+1)+DateSeparator+this.Year); - else if (this.Format.toUpperCase()=="DDMMMYYYY") - return (pDate+DateSeparator+this.GetMonthName(false)+DateSeparator+this.Year); - else if (this.Format.toUpperCase()=="MMDDYYYY") - return ((this.Month+1)+DateSeparator+pDate+DateSeparator+this.Year); - else if (this.Format.toUpperCase()=="MMMDDYYYY") - return (this.GetMonthName(false)+DateSeparator+pDate+DateSeparator+this.Year); -} + +//Global variables +var winCal; +var dtToday=new Date(); +var Cal; +var docCal; +var MonthName=["January", "February", "March", "April", "May", "June","July", + "August", "September", "October", "November", "December"]; +var WeekDayName=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; +var exDateTime;//Existing Date and Time + +//Configurable parameters +var cnTop="200";//top coordinate of calendar window. +var cnLeft="500";//left coordinate of calendar window +var WindowTitle ="DateTime Picker";//Date Time Picker title. +var WeekChar=2;//number of character for week day. if 2 then Mo,Tu,We. if 3 then Mon,Tue,Wed. +var CellWidth=20;//Width of day cell. +var DateSeparator="/";//Date Separator, you can change it to "/" if you want. +var TimeMode=24;//default TimeMode value. 12 or 24 + +var ShowLongMonth=true;//Show long month name in Calendar header. example: "January". +var ShowMonthYear=true;//Show Month and Year in Calendar header. +var MonthYearColor="#435370";//Font Color of Month and Year in Calendar header. +var WeekHeadColor="#777777";//Background Color in Week header. +var SundayColor="#D9DEE8";//Background color of Sunday. +var SaturdayColor="#D9DEE8";//Background color of Saturday. +var WeekDayColor="white";//Background color of weekdays. +var FontColor="black";//color of font in Calendar day cell. +var TodayColor="#FFFF33";//Background color of today. +var SelDateColor="red";//Backgrond color of selected date in textbox. +var YrSelColor="black";//color of font of Year selector. +var ThemeBg="";//Background image of Calendar window. +//end Configurable parameters +//end Global variable + +function NewCal(pCtrl,pFormat,pShowTime,pTimeMode) +{ + Cal=new Calendar(dtToday); + if ((pShowTime!=null) && (pShowTime)) + { + Cal.ShowTime=true; + if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24'))) + { + TimeMode=pTimeMode; + } + } + if (pCtrl!=null) + Cal.Ctrl=pCtrl; + if (pFormat!=null) + Cal.Format=pFormat.toUpperCase(); + + exDateTime=document.getElementById(pCtrl).value; + if (exDateTime!="")//Parse Date String + { + var Sp1;//Index of Date Separator 1 + var Sp2;//Index of Date Separator 2 + var tSp1;//Index of Time Separator 1 + var tSp1;//Index of Time Separator 2 + var strMonth; + var strDate; + var strYear; + var intMonth; + var YearPattern; + var strHour; + var strMinute; + var strSecond; + //parse month + Sp1=exDateTime.indexOf(DateSeparator,0) + Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1)); + + if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY")) + { + strMonth=exDateTime.substring(Sp1+1,Sp2); + strDate=exDateTime.substring(0,Sp1); + } + else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY")) + { + strMonth=exDateTime.substring(0,Sp1); + strDate=exDateTime.substring(Sp1+1,Sp2); + } + if (isNaN(strMonth)) + intMonth=Cal.GetMonthIndex(strMonth); + else + intMonth=parseInt(strMonth,10)-1; + if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12)) + Cal.Month=intMonth; + //end parse month + //parse Date + if ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1)) + Cal.Date=strDate; + //end parse Date + //parse year + strYear=exDateTime.substring(Sp2+1,Sp2+5); + YearPattern=/^\d{4}$/; + if (YearPattern.test(strYear)) + Cal.Year=parseInt(strYear,10); + //end parse year + //parse time + if (Cal.ShowTime==true) + { + tSp1=exDateTime.indexOf(":",0) + tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1)); + strHour=exDateTime.substring(tSp1,(tSp1)-2); + Cal.SetHour(strHour); + strMinute=exDateTime.substring(tSp1+1,tSp2); + Cal.SetMinute(strMinute); + strSecond=exDateTime.substring(tSp2+1,tSp2+3); + Cal.SetSecond(strSecond); + } + } + winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=195,height=200,resizable=0,top="+cnTop+",left="+cnLeft); + docCal=winCal.document; + RenderCal(); +} + +function RenderCal() +{ + var vCalHeader; + var vCalData; + var vCalTime; + var i; + var j; + var SelectStr; + var vDayCount=0; + var vFirstDay; + + docCal.open(); + docCal.writeln(""+WindowTitle+""); + docCal.writeln(""); + docCal.writeln(""); + docCal.writeln("
"); + + vCalHeader="\n"; + //Month Selector + vCalHeader+="\n\n"; + vCalHeader+=""; + //Calendar header shows Month and Year + if (ShowMonthYear) + vCalHeader+="\n"; + //Week day header + vCalHeader+=""; + for (i=0;i<7;i++) + { + vCalHeader+=""; + } + vCalHeader+=""; + docCal.write(vCalHeader); + + //Calendar detail + CalDate=new Date(Cal.Year,Cal.Month); + CalDate.setDate(1); + vFirstDay=CalDate.getDay(); + vCalData=""; + for (i=0;i\n"; + } + } + docCal.writeln(vCalData); + //Time picker + if (Cal.ShowTime) + { + var showHour; + showHour=Cal.getShowHour(); + vCalTime="\n\n"; + docCal.write(vCalTime); + } + //end time picker + docCal.writeln("\n
"; + //Year selector + vCalHeader+="\n
\n"; + vCalHeader+="< "+Cal.Year+" >
"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"
"+WeekDayName[i].substr(0,WeekChar)+"
"; + vCalTime+=""; + vCalTime+=" : "; + vCalTime+=""; + vCalTime+=" : "; + vCalTime+=""; + if (TimeMode==12) + { + var SelectAm =(parseInt(Cal.Hours,10)<12)? "Selected":""; + var SelectPm =(parseInt(Cal.Hours,10)>=12)? "Selected":""; + + vCalTime+=""; + } + vCalTime+="\n
"); + docCal.writeln("
"); + docCal.close(); +} + +function GenCell(pValue,pHighLight,pColor)//Generate table cell with value +{ + var PValue; + var PCellStr; + var vColor; + var vHLstr1;//HighLight string + var vHlstr2; + var vTimeStr; + + if (pValue==null) + PValue=""; + else + PValue=pValue; + + if (pColor!=null) + vColor="bgcolor=\""+pColor+"\""; + else + vColor=""; + if ((pHighLight!=null)&&(pHighLight)) + {vHLstr1="color='red'>";vHLstr2="";} + else + {vHLstr1=">";vHLstr2="";} + + if (Cal.ShowTime) + { + vTimeStr="winMain.document.getElementById('"+Cal.Ctrl+"').value+=' '+"+"winMain.Cal.getShowHour()"+"+':'+"+"winMain.Cal.Minutes"+"+':'+"+"winMain.Cal.Seconds"; + if (TimeMode==12) + vTimeStr+="+' '+winMain.Cal.AMorPM"; + } + else + vTimeStr=""; + PCellStr=""+PValue+""+vHLstr2+""; + return PCellStr; +} + +function Calendar(pDate,pCtrl) +{ + //Properties + this.Date=pDate.getDate();//selected date + this.Month=pDate.getMonth();//selected month number + this.Year=pDate.getFullYear();//selected year in 4 digits + this.Hours=pDate.getHours(); + + if (pDate.getMinutes()<10) + this.Minutes="0"+pDate.getMinutes(); + else + this.Minutes=pDate.getMinutes(); + + if (pDate.getSeconds()<10) + this.Seconds="0"+pDate.getSeconds(); + else + this.Seconds=pDate.getSeconds(); + + this.MyWindow=winCal; + this.Ctrl=pCtrl; + this.Format="ddMMyyyy"; + this.Separator=DateSeparator; + this.ShowTime=false; + if (pDate.getHours()<12) + this.AMorPM="AM"; + else + this.AMorPM="PM"; +} + +function GetMonthIndex(shortMonthName) +{ + for (i=0;i<12;i++) + { + if (MonthName[i].substring(0,3).toUpperCase()==shortMonthName.toUpperCase()) + { return i;} + } +} +Calendar.prototype.GetMonthIndex=GetMonthIndex; + +function IncYear() +{ Cal.Year++;} +Calendar.prototype.IncYear=IncYear; + +function DecYear() +{ Cal.Year--;} +Calendar.prototype.DecYear=DecYear; + +function SwitchMth(intMth) +{ Cal.Month=intMth;} +Calendar.prototype.SwitchMth=SwitchMth; + +function SetHour(intHour) +{ + var MaxHour; + var MinHour; + if (TimeMode==24) + { MaxHour=23;MinHour=0} + else if (TimeMode==12) + { MaxHour=12;MinHour=1} + else + alert("TimeMode can only be 12 or 24"); + var HourExp=new RegExp("^\\d\\d$"); + if (HourExp.test(intHour) && (parseInt(intHour,10)<=MaxHour) && (parseInt(intHour,10)>=MinHour)) + { + if ((TimeMode==12) && (Cal.AMorPM=="PM")) + { + if (parseInt(intHour,10)==12) + Cal.Hours=12; + else + Cal.Hours=parseInt(intHour,10)+12; + } + else if ((TimeMode==12) && (Cal.AMorPM=="AM")) + { + if (intHour==12) + intHour-=12; + Cal.Hours=parseInt(intHour,10); + } + else if (TimeMode==24) + Cal.Hours=parseInt(intHour,10); + } +} +Calendar.prototype.SetHour=SetHour; + +function SetMinute(intMin) +{ + var MinExp=new RegExp("^\\d\\d$"); + if (MinExp.test(intMin) && (intMin<60)) + Cal.Minutes=intMin; +} +Calendar.prototype.SetMinute=SetMinute; + +function SetSecond(intSec) +{ + var SecExp=new RegExp("^\\d\\d$"); + if (SecExp.test(intSec) && (intSec<60)) + Cal.Seconds=intSec; +} +Calendar.prototype.SetSecond=SetSecond; + +function SetAmPm(pvalue) +{ + this.AMorPM=pvalue; + if (pvalue=="PM") + { + this.Hours=(parseInt(this.Hours,10))+12; + if (this.Hours==24) + this.Hours=12; + } + else if (pvalue=="AM") + this.Hours-=12; +} +Calendar.prototype.SetAmPm=SetAmPm; + +function getShowHour() +{ + var finalHour; + if (TimeMode==12) + { + if (parseInt(this.Hours,10)==0) + { + this.AMorPM="AM"; + finalHour=parseInt(this.Hours,10)+12; + } + else if (parseInt(this.Hours,10)==12) + { + this.AMorPM="PM"; + finalHour=12; + } + else if (this.Hours>12) + { + this.AMorPM="PM"; + if ((this.Hours-12)<10) + finalHour="0"+((parseInt(this.Hours,10))-12); + else + finalHour=parseInt(this.Hours,10)-12; + } + else + { + this.AMorPM="AM"; + if (this.Hours<10) + finalHour="0"+parseInt(this.Hours,10); + else + finalHour=this.Hours; + } + } + else if (TimeMode==24) + { + if (this.Hours<10) + finalHour="0"+parseInt(this.Hours,10); + else + finalHour=this.Hours; + } + return finalHour; +} +Calendar.prototype.getShowHour=getShowHour; + +function GetMonthName(IsLong) +{ + var Month=MonthName[this.Month]; + if (IsLong) + return Month; + else + return Month.substr(0,3); +} +Calendar.prototype.GetMonthName=GetMonthName; + +function GetMonDays()//Get number of days in a month +{ + var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + if (this.IsLeapYear()) + { + DaysInMonth[1]=29; + } + return DaysInMonth[this.Month]; +} +Calendar.prototype.GetMonDays=GetMonDays; + +function IsLeapYear() +{ + if ((this.Year%4)==0) + { + if ((this.Year%100==0) && (this.Year%400)!=0) + { + return false; + } + else + { + return true; + } + } + else + { + return false; + } +} +Calendar.prototype.IsLeapYear=IsLeapYear; + +function FormatDate(pDate) +{ + if (this.Format.toUpperCase()=="DDMMYYYY") + return (pDate+DateSeparator+(this.Month+1)+DateSeparator+this.Year); + else if (this.Format.toUpperCase()=="DDMMMYYYY") + return (pDate+DateSeparator+this.GetMonthName(false)+DateSeparator+this.Year); + else if (this.Format.toUpperCase()=="MMDDYYYY") + return ((this.Month+1)+DateSeparator+pDate+DateSeparator+this.Year); + else if (this.Format.toUpperCase()=="MMMDDYYYY") + return (this.GetMonthName(false)+DateSeparator+pDate+DateSeparator+this.Year); +} Calendar.prototype.FormatDate=FormatDate; \ No newline at end of file