]> git.gsnw.org Git - m0n0chwall.git/commitdiff
Set svn:eol-style=LF for all text files. Fix inconsistent newlines in webgui/datetime...
authormkasper <mkasper@e36fee2c-cc09-0410-a7cc-ebac5c6737de>
Tue, 7 Feb 2006 14:35:14 +0000 (14:35 +0000)
committermkasper <mkasper@e36fee2c-cc09-0410-a7cc-ebac5c6737de>
Tue, 7 Feb 2006 14:35:14 +0000 (14:35 +0000)
git-svn-id: https://svn.m0n0.ch/wall/trunk@52 e36fee2c-cc09-0410-a7cc-ebac5c6737de

build/minibsd/mklibs.pl
build/minibsd/mkmini.pl
webgui/datetimepicker.js

index f65c5745860570753a8e5d5fb259333c8f5f3a61..68bcf4f5170dc1967646a8bcd935e9bc96145e92 100644 (file)
@@ -1,39 +1,39 @@
-#!/usr/bin/perl\r
-\r
-# $Id$\r
-\r
-# arguments: binaries_tree\r
-\r
-use File::Find;\r
-\r
-exit unless $#ARGV == 0;\r
-\r
-undef @liblist;\r
-\r
-# check_libs(path)\r
-sub check_libs {\r
-       @filestat = stat($File::Find::name);\r
-       \r
-       if ((($filestat[2] & 0170000) == 0100000) &&\r
-               ($filestat[2] & 0111) && (!/.ko$/)) {\r
-\r
-               @curlibs = qx{/usr/bin/ldd -f "%p\n" $File::Find::name 2>/dev/null};\r
-\r
-               push(@liblist, @curlibs);\r
-       }\r
-}\r
-\r
-# walk the directory tree\r
-find(\&check_libs, $ARGV[0]);\r
-\r
-# throw out dupes\r
-undef %hlib;\r
-@hlib{@liblist} = ();\r
-@liblist = sort keys %hlib;\r
-\r
-foreach $lib (@liblist) {\r
-       $lib = substr($lib, 1);\r
-}\r
-\r
-print @liblist;\r
-\r
+#!/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;
+
index 23a98b324973a8d2344de0f940c38cb191e024e7..fd4c904ba0fa7124e47d14eae2322ddf54b5136e 100644 (file)
@@ -1,48 +1,48 @@
-#!/usr/bin/perl\r
-\r
-# $Id$\r
-\r
-# arguments: source_tree dest_tree\r
-\r
-use File::Copy;\r
-\r
-exit unless $#ARGV == 2;\r
-\r
-print "Populating MiniBSD tree: $ARGV[2]\n";\r
-\r
-# populate_tree(treefile, srcpath, destpath)\r
-sub populate_tree {\r
-       my @args = @_;\r
-       \r
-       open TREEFILE, $args[0];\r
-       \r
-       TREE: while (<TREEFILE>) {\r
-               \r
-               next TREE if /^#/;\r
-               next TREE if /^ *$/;\r
-               \r
-               @srcfiles = split(/:/);\r
-               chomp @srcfiles;\r
-\r
-               $srcfile = shift(@srcfiles);\r
-               @srcstat = stat($args[1] . "/" . $srcfile);             \r
-\r
-               if (copy($args[1] . "/" . $srcfile, $args[2] . "/" . $srcfile)) {\r
-                       printf "Copy $args[1]/$srcfile -> $args[2]/$srcfile ($srcstat[4]/$srcstat[5]/%04o)\n", ($srcstat[2] & 07777);\r
-                       chown $srcstat[4], $srcstat[5], $args[2] . "/" . $srcfile;\r
-                       chmod $srcstat[2] & 07777, $args[2] . "/" . $srcfile;\r
-               } else {\r
-                       print "ERROR while copying file $args[1]/$srcfile\n";\r
-               }\r
-\r
-               foreach $lnfile (@srcfiles) {\r
-                       if (link($args[2] . "/" . $srcfile, $args[2] . "/" . $lnfile)) {\r
-                               print "Link $args[2]/$srcfile -> $args[2]/$lnfile\n";\r
-                       } else {\r
-                               print "ERROR while linking file $args[2]/$srcfile\n";\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-populate_tree $ARGV[0], $ARGV[1], $ARGV[2];\r
+#!/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 (<TREEFILE>) {
+               
+               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];
index 68d9cd5a7e37e8cee3f1c834b40afa3a01ee8c83..c4d585ad3212231df7e381564a23845641c2d1f7 100644 (file)
-//Javascript name: My Date Time Picker\r
-//Date created: 16-Nov-2003 23:19\r
-//Scripter: TengYong Ng\r
-//Website: http://www.rainforestnet.com\r
-//Copyright (c) 2003 TengYong Ng\r
-//FileName: DateTimePicker.js\r
-//Version: 0.8\r
-//Contact: contact@rainforestnet.com\r
-// Note: Permission given to use this script in ANY kind of applications if\r
+//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.
-\r
-//Global variables\r
-var winCal;\r
-var dtToday=new Date();\r
-var Cal;\r
-var docCal;\r
-var MonthName=["January", "February", "March", "April", "May", "June","July", \r
-       "August", "September", "October", "November", "December"];\r
-var WeekDayName=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];      \r
-var exDateTime;//Existing Date and Time\r
-\r
-//Configurable parameters\r
-var cnTop="200";//top coordinate of calendar window.\r
-var cnLeft="500";//left coordinate of calendar window\r
-var WindowTitle ="DateTime Picker";//Date Time Picker title.\r
-var WeekChar=2;//number of character for week day. if 2 then Mo,Tu,We. if 3 then Mon,Tue,Wed.\r
-var CellWidth=20;//Width of day cell.\r
-var DateSeparator="/";//Date Separator, you can change it to "/" if you want.\r
-var TimeMode=24;//default TimeMode value. 12 or 24\r
-\r
-var ShowLongMonth=true;//Show long month name in Calendar header. example: "January".\r
-var ShowMonthYear=true;//Show Month and Year in Calendar header.\r
-var MonthYearColor="#435370";//Font Color of Month and Year in Calendar header.\r
-var WeekHeadColor="#777777";//Background Color in Week header.\r
-var SundayColor="#D9DEE8";//Background color of Sunday.\r
-var SaturdayColor="#D9DEE8";//Background color of Saturday.\r
-var WeekDayColor="white";//Background color of weekdays.\r
-var FontColor="black";//color of font in Calendar day cell.\r
-var TodayColor="#FFFF33";//Background color of today.\r
-var SelDateColor="red";//Backgrond color of selected date in textbox.\r
-var YrSelColor="black";//color of font of Year selector.\r
-var ThemeBg="";//Background image of Calendar window.\r
-//end Configurable parameters\r
-//end Global variable\r
-\r
-function NewCal(pCtrl,pFormat,pShowTime,pTimeMode)\r
-{\r
-       Cal=new Calendar(dtToday);\r
-       if ((pShowTime!=null) && (pShowTime))\r
-       {\r
-               Cal.ShowTime=true;\r
-               if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24')))\r
-               {\r
-                       TimeMode=pTimeMode;\r
-               }               \r
-       }       \r
-       if (pCtrl!=null)\r
-               Cal.Ctrl=pCtrl;\r
-       if (pFormat!=null)\r
-               Cal.Format=pFormat.toUpperCase();\r
-       \r
-       exDateTime=document.getElementById(pCtrl).value;\r
-       if (exDateTime!="")//Parse Date String\r
-       {\r
-               var Sp1;//Index of Date Separator 1\r
-               var Sp2;//Index of Date Separator 2 \r
-               var tSp1;//Index of Time Separator 1\r
-               var tSp1;//Index of Time Separator 2\r
-               var strMonth;\r
-               var strDate;\r
-               var strYear;\r
-               var intMonth;\r
-               var YearPattern;\r
-               var strHour;\r
-               var strMinute;\r
-               var strSecond;\r
-               //parse month\r
-               Sp1=exDateTime.indexOf(DateSeparator,0)\r
-               Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1));\r
-               \r
-               if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY"))\r
-               {\r
-                       strMonth=exDateTime.substring(Sp1+1,Sp2);\r
-                       strDate=exDateTime.substring(0,Sp1);\r
-               }\r
-               else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY"))\r
-               {\r
-                       strMonth=exDateTime.substring(0,Sp1);\r
-                       strDate=exDateTime.substring(Sp1+1,Sp2);\r
-               }\r
-               if (isNaN(strMonth))\r
-                       intMonth=Cal.GetMonthIndex(strMonth);\r
-               else\r
-                       intMonth=parseInt(strMonth,10)-1;       \r
-               if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12))\r
-                       Cal.Month=intMonth;\r
-               //end parse month\r
-               //parse Date\r
-               if ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1))\r
-                       Cal.Date=strDate;\r
-               //end parse Date\r
-               //parse year\r
-               strYear=exDateTime.substring(Sp2+1,Sp2+5);\r
-               YearPattern=/^\d{4}$/;\r
-               if (YearPattern.test(strYear))\r
-                       Cal.Year=parseInt(strYear,10);\r
-               //end parse year\r
-               //parse time\r
-               if (Cal.ShowTime==true)\r
-               {\r
-                       tSp1=exDateTime.indexOf(":",0)\r
-                       tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1));\r
-                       strHour=exDateTime.substring(tSp1,(tSp1)-2);\r
-                       Cal.SetHour(strHour);\r
-                       strMinute=exDateTime.substring(tSp1+1,tSp2);\r
-                       Cal.SetMinute(strMinute);\r
-                       strSecond=exDateTime.substring(tSp2+1,tSp2+3);\r
-                       Cal.SetSecond(strSecond);\r
-               }       \r
-       }\r
-       winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=195,height=200,resizable=0,top="+cnTop+",left="+cnLeft);\r
-       docCal=winCal.document;\r
-       RenderCal();\r
-}\r
-\r
-function RenderCal()\r
-{\r
-       var vCalHeader;\r
-       var vCalData;\r
-       var vCalTime;\r
-       var i;\r
-       var j;\r
-       var SelectStr;\r
-       var vDayCount=0;\r
-       var vFirstDay;\r
-\r
-       docCal.open();\r
-       docCal.writeln("<html><head><title>"+WindowTitle+"</title>");\r
-       docCal.writeln("<script>var winMain=window.opener;</script>");\r
-       docCal.writeln("<style>");\r
-       docCal.writeln("body,td,th,input,select {font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;font-size: 11px;}");\r
-       docCal.writeln("a {text-decoration: none;}");\r
-       docCal.writeln("</style>");\r
-       docCal.writeln("</head><body background='"+ThemeBg+"' link="+FontColor+" vlink="+FontColor+"><form name='Calendar'>");\r
-\r
-       vCalHeader="<table border=1 cellpadding=1 cellspacing=1 align=\"center\" valign=\"top\" bgcolor='#EEEEEE' style=\"border-color:#999999; border-style:solid; border-collapse:collapse\">\n";\r
-       //Month Selector\r
-       vCalHeader+="<tr>\n<td colspan='7'><table border=0 width='100%' cellpadding=0 cellspacing=0><tr><td align='left'>\n";\r
-       vCalHeader+="<select name=\"MonthSelector\" onChange=\"javascript:winMain.Cal.SwitchMth(this.selectedIndex);winMain.RenderCal();\">\n";\r
-       for (i=0;i<12;i++)\r
-       {\r
-               if (i==Cal.Month)\r
-                       SelectStr="Selected";\r
-               else\r
-                       SelectStr="";   \r
-               vCalHeader+="<option "+SelectStr+" value >"+MonthName[i]+"\n";\r
-       }\r
-       vCalHeader+="</select></td>";\r
-       //Year selector\r
-       vCalHeader+="\n<td align='right'><a href=\"javascript:winMain.Cal.DecYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\"><</font></b></a><font face=\"Verdana\" color=\""+YrSelColor+"\" size=2><b> "+Cal.Year+" </b></font><a href=\"javascript:winMain.Cal.IncYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\">></font></b></a></td></tr></table></td>\n";   \r
-       vCalHeader+="</tr>";\r
-       //Calendar header shows Month and Year\r
-       if (ShowMonthYear)\r
-               vCalHeader+="<tr><td colspan='7'><font face='Verdana' size='2' align='center' color='"+MonthYearColor+"'><b>"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"</b></font></td></tr>\n";\r
-       //Week day header\r
-       vCalHeader+="<tr bgcolor="+WeekHeadColor+">";\r
-       for (i=0;i<7;i++)\r
-       {\r
-               vCalHeader+="<td align='center'><font face='Verdana' size='2'>"+WeekDayName[i].substr(0,WeekChar)+"</font></td>";\r
-       }\r
-       vCalHeader+="</tr>";    \r
-       docCal.write(vCalHeader);\r
-       \r
-       //Calendar detail\r
-       CalDate=new Date(Cal.Year,Cal.Month);\r
-       CalDate.setDate(1);\r
-       vFirstDay=CalDate.getDay();\r
-       vCalData="<tr>";\r
-       for (i=0;i<vFirstDay;i++)\r
-       {\r
-               vCalData=vCalData+GenCell();\r
-               vDayCount=vDayCount+1;\r
-       }\r
-       for (j=1;j<=Cal.GetMonDays();j++)\r
-       {\r
-               var strCell;\r
-               vDayCount=vDayCount+1;\r
-               if ((j==dtToday.getDate())&&(Cal.Month==dtToday.getMonth())&&(Cal.Year==dtToday.getFullYear()))\r
-                       strCell=GenCell(j,true,TodayColor);//Highlight today's date\r
-               else\r
-               {\r
-                       if (j==Cal.Date)\r
-                       {\r
-                               strCell=GenCell(j,true,SelDateColor);\r
-                       }\r
-                       else\r
-                       {        \r
-                               if (vDayCount%7==0)\r
-                                       strCell=GenCell(j,false,SaturdayColor);\r
-                               else if ((vDayCount+6)%7==0)\r
-                                       strCell=GenCell(j,false,SundayColor);\r
-                               else\r
-                                       strCell=GenCell(j,null,WeekDayColor);\r
-                       }               \r
-               }                                               \r
-               vCalData=vCalData+strCell;\r
-\r
-               if((vDayCount%7==0)&&(j<Cal.GetMonDays()))\r
-               {\r
-                       vCalData=vCalData+"</tr>\n<tr>";\r
-               }\r
-       }\r
-       docCal.writeln(vCalData);       \r
-       //Time picker\r
-       if (Cal.ShowTime)\r
-       {\r
-               var showHour;\r
-               showHour=Cal.getShowHour();             \r
-               vCalTime="<tr>\n<td colspan='7' align='center'>";\r
-               vCalTime+="<input type='text' name='hour' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+showHour+" onchange=\"javascript:winMain.Cal.SetHour(this.value)\">";\r
-               vCalTime+=" : ";\r
-               vCalTime+="<input type='text' name='minute' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Minutes+" onchange=\"javascript:winMain.Cal.SetMinute(this.value)\">";\r
-               vCalTime+=" : ";\r
-               vCalTime+="<input type='text' name='second' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Seconds+" onchange=\"javascript:winMain.Cal.SetSecond(this.value)\">";\r
-               if (TimeMode==12)\r
-               {\r
-                       var SelectAm =(parseInt(Cal.Hours,10)<12)? "Selected":"";\r
-                       var SelectPm =(parseInt(Cal.Hours,10)>=12)? "Selected":"";\r
-\r
-                       vCalTime+="<select name=\"ampm\" onchange=\"javascript:winMain.Cal.SetAmPm(this.options[this.selectedIndex].value);\">";\r
-                       vCalTime+="<option "+SelectAm+" value=\"AM\">AM</option>";\r
-                       vCalTime+="<option "+SelectPm+" value=\"PM\">PM<option>";\r
-                       vCalTime+="</select>";\r
-               }       \r
-               vCalTime+="\n</td>\n</tr>";\r
-               docCal.write(vCalTime);\r
-       }       \r
-       //end time picker\r
-       docCal.writeln("\n</table>");\r
-       docCal.writeln("</form></body></html>");\r
-       docCal.close();\r
-}\r
-\r
-function GenCell(pValue,pHighLight,pColor)//Generate table cell with value\r
-{\r
-       var PValue;\r
-       var PCellStr;\r
-       var vColor;\r
-       var vHLstr1;//HighLight string\r
-       var vHlstr2;\r
-       var vTimeStr;\r
-       \r
-       if (pValue==null)\r
-               PValue="";\r
-       else\r
-               PValue=pValue;\r
-       \r
-       if (pColor!=null)\r
-               vColor="bgcolor=\""+pColor+"\"";\r
-       else\r
-               vColor="";      \r
-       if ((pHighLight!=null)&&(pHighLight))\r
-               {vHLstr1="color='red'><b>";vHLstr2="</b>";}\r
-       else\r
-               {vHLstr1=">";vHLstr2="";}       \r
-       \r
-       if (Cal.ShowTime)\r
-       {\r
-               vTimeStr="winMain.document.getElementById('"+Cal.Ctrl+"').value+=' '+"+"winMain.Cal.getShowHour()"+"+':'+"+"winMain.Cal.Minutes"+"+':'+"+"winMain.Cal.Seconds";\r
-               if (TimeMode==12)\r
-                       vTimeStr+="+' '+winMain.Cal.AMorPM";\r
-       }       \r
-       else\r
-               vTimeStr="";            \r
-       PCellStr="<td "+vColor+" width="+CellWidth+" align='center'><font face='verdana' size='2'"+vHLstr1+"<a href=\"javascript:winMain.document.getElementById('"+Cal.Ctrl+"').value='"+Cal.FormatDate(PValue)+"';"+vTimeStr+";window.close();\">"+PValue+"</a>"+vHLstr2+"</font></td>";\r
-       return PCellStr;\r
-}\r
-\r
-function Calendar(pDate,pCtrl)\r
-{\r
-       //Properties\r
-       this.Date=pDate.getDate();//selected date\r
-       this.Month=pDate.getMonth();//selected month number\r
-       this.Year=pDate.getFullYear();//selected year in 4 digits\r
-       this.Hours=pDate.getHours();    \r
-       \r
-       if (pDate.getMinutes()<10)\r
-               this.Minutes="0"+pDate.getMinutes();\r
-       else\r
-               this.Minutes=pDate.getMinutes();\r
-       \r
-       if (pDate.getSeconds()<10)\r
-               this.Seconds="0"+pDate.getSeconds();\r
-       else            \r
-               this.Seconds=pDate.getSeconds();\r
-               \r
-       this.MyWindow=winCal;\r
-       this.Ctrl=pCtrl;\r
-       this.Format="ddMMyyyy";\r
-       this.Separator=DateSeparator;\r
-       this.ShowTime=false;\r
-       if (pDate.getHours()<12)\r
-               this.AMorPM="AM";\r
-       else\r
-               this.AMorPM="PM";       \r
-}\r
-\r
-function GetMonthIndex(shortMonthName)\r
-{\r
-       for (i=0;i<12;i++)\r
-       {\r
-               if (MonthName[i].substring(0,3).toUpperCase()==shortMonthName.toUpperCase())\r
-               {       return i;}\r
-       }\r
-}\r
-Calendar.prototype.GetMonthIndex=GetMonthIndex;\r
-\r
-function IncYear()\r
-{      Cal.Year++;}\r
-Calendar.prototype.IncYear=IncYear;\r
-\r
-function DecYear()\r
-{      Cal.Year--;}\r
-Calendar.prototype.DecYear=DecYear;\r
-       \r
-function SwitchMth(intMth)\r
-{      Cal.Month=intMth;}\r
-Calendar.prototype.SwitchMth=SwitchMth;\r
-\r
-function SetHour(intHour)\r
-{      \r
-       var MaxHour;\r
-       var MinHour;\r
-       if (TimeMode==24)\r
-       {       MaxHour=23;MinHour=0}\r
-       else if (TimeMode==12)\r
-       {       MaxHour=12;MinHour=1}\r
-       else\r
-               alert("TimeMode can only be 12 or 24");         \r
-       var HourExp=new RegExp("^\\d\\d$");\r
-       if (HourExp.test(intHour) && (parseInt(intHour,10)<=MaxHour) && (parseInt(intHour,10)>=MinHour))\r
-       {       \r
-               if ((TimeMode==12) && (Cal.AMorPM=="PM"))\r
-               {\r
-                       if (parseInt(intHour,10)==12)\r
-                               Cal.Hours=12;\r
-                       else    \r
-                               Cal.Hours=parseInt(intHour,10)+12;\r
-               }       \r
-               else if ((TimeMode==12) && (Cal.AMorPM=="AM"))\r
-               {\r
-                       if (intHour==12)\r
-                               intHour-=12;\r
-                       Cal.Hours=parseInt(intHour,10);\r
-               }\r
-               else if (TimeMode==24)\r
-                       Cal.Hours=parseInt(intHour,10); \r
-       }\r
-}\r
-Calendar.prototype.SetHour=SetHour;\r
-\r
-function SetMinute(intMin)\r
-{\r
-       var MinExp=new RegExp("^\\d\\d$");\r
-       if (MinExp.test(intMin) && (intMin<60))\r
-               Cal.Minutes=intMin;\r
-}\r
-Calendar.prototype.SetMinute=SetMinute;\r
-\r
-function SetSecond(intSec)\r
-{      \r
-       var SecExp=new RegExp("^\\d\\d$");\r
-       if (SecExp.test(intSec) && (intSec<60))\r
-               Cal.Seconds=intSec;\r
-}\r
-Calendar.prototype.SetSecond=SetSecond;\r
-\r
-function SetAmPm(pvalue)\r
-{\r
-       this.AMorPM=pvalue;\r
-       if (pvalue=="PM")\r
-       {\r
-               this.Hours=(parseInt(this.Hours,10))+12;\r
-               if (this.Hours==24)\r
-                       this.Hours=12;\r
-       }       \r
-       else if (pvalue=="AM")\r
-               this.Hours-=12; \r
-}\r
-Calendar.prototype.SetAmPm=SetAmPm;\r
-\r
-function getShowHour()\r
-{\r
-       var finalHour;\r
-    if (TimeMode==12)\r
-    {\r
-       if (parseInt(this.Hours,10)==0)\r
-               {\r
-                       this.AMorPM="AM";\r
-                       finalHour=parseInt(this.Hours,10)+12;   \r
-               }\r
-               else if (parseInt(this.Hours,10)==12)\r
-               {\r
-                       this.AMorPM="PM";\r
-                       finalHour=12;\r
-               }               \r
-               else if (this.Hours>12)\r
-               {\r
-                       this.AMorPM="PM";\r
-                       if ((this.Hours-12)<10)\r
-                               finalHour="0"+((parseInt(this.Hours,10))-12);\r
-                       else\r
-                               finalHour=parseInt(this.Hours,10)-12;   \r
-               }\r
-               else\r
-               {\r
-                       this.AMorPM="AM";\r
-                       if (this.Hours<10)\r
-                               finalHour="0"+parseInt(this.Hours,10);\r
-                       else\r
-                               finalHour=this.Hours;   \r
-               }\r
-       }\r
-       else if (TimeMode==24)\r
-       {\r
-               if (this.Hours<10)\r
-                       finalHour="0"+parseInt(this.Hours,10);\r
-               else    \r
-                       finalHour=this.Hours;\r
-       }       \r
-       return finalHour;       \r
-}                              \r
-Calendar.prototype.getShowHour=getShowHour;            \r
-\r
-function GetMonthName(IsLong)\r
-{\r
-       var Month=MonthName[this.Month];\r
-       if (IsLong)\r
-               return Month;\r
-       else\r
-               return Month.substr(0,3);\r
-}\r
-Calendar.prototype.GetMonthName=GetMonthName;\r
-\r
-function GetMonDays()//Get number of days in a month\r
-{\r
-       var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r
-       if (this.IsLeapYear())\r
-       {\r
-               DaysInMonth[1]=29;\r
-       }       \r
-       return DaysInMonth[this.Month]; \r
-}\r
-Calendar.prototype.GetMonDays=GetMonDays;\r
-\r
-function IsLeapYear()\r
-{\r
-       if ((this.Year%4)==0)\r
-       {\r
-               if ((this.Year%100==0) && (this.Year%400)!=0)\r
-               {\r
-                       return false;\r
-               }\r
-               else\r
-               {\r
-                       return true;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               return false;\r
-       }\r
-}\r
-Calendar.prototype.IsLeapYear=IsLeapYear;\r
-\r
-function FormatDate(pDate)\r
-{\r
-       if (this.Format.toUpperCase()=="DDMMYYYY")\r
-               return (pDate+DateSeparator+(this.Month+1)+DateSeparator+this.Year);\r
-       else if (this.Format.toUpperCase()=="DDMMMYYYY")\r
-               return (pDate+DateSeparator+this.GetMonthName(false)+DateSeparator+this.Year);\r
-       else if (this.Format.toUpperCase()=="MMDDYYYY")\r
-               return ((this.Month+1)+DateSeparator+pDate+DateSeparator+this.Year);\r
-       else if (this.Format.toUpperCase()=="MMMDDYYYY")\r
-               return (this.GetMonthName(false)+DateSeparator+pDate+DateSeparator+this.Year);                  \r
-}\r
+
+//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("<html><head><title>"+WindowTitle+"</title>");
+       docCal.writeln("<script>var winMain=window.opener;</script>");
+       docCal.writeln("<style>");
+       docCal.writeln("body,td,th,input,select {font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;font-size: 11px;}");
+       docCal.writeln("a {text-decoration: none;}");
+       docCal.writeln("</style>");
+       docCal.writeln("</head><body background='"+ThemeBg+"' link="+FontColor+" vlink="+FontColor+"><form name='Calendar'>");
+
+       vCalHeader="<table border=1 cellpadding=1 cellspacing=1 align=\"center\" valign=\"top\" bgcolor='#EEEEEE' style=\"border-color:#999999; border-style:solid; border-collapse:collapse\">\n";
+       //Month Selector
+       vCalHeader+="<tr>\n<td colspan='7'><table border=0 width='100%' cellpadding=0 cellspacing=0><tr><td align='left'>\n";
+       vCalHeader+="<select name=\"MonthSelector\" onChange=\"javascript:winMain.Cal.SwitchMth(this.selectedIndex);winMain.RenderCal();\">\n";
+       for (i=0;i<12;i++)
+       {
+               if (i==Cal.Month)
+                       SelectStr="Selected";
+               else
+                       SelectStr="";   
+               vCalHeader+="<option "+SelectStr+" value >"+MonthName[i]+"\n";
+       }
+       vCalHeader+="</select></td>";
+       //Year selector
+       vCalHeader+="\n<td align='right'><a href=\"javascript:winMain.Cal.DecYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\"><</font></b></a><font face=\"Verdana\" color=\""+YrSelColor+"\" size=2><b> "+Cal.Year+" </b></font><a href=\"javascript:winMain.Cal.IncYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\">></font></b></a></td></tr></table></td>\n";   
+       vCalHeader+="</tr>";
+       //Calendar header shows Month and Year
+       if (ShowMonthYear)
+               vCalHeader+="<tr><td colspan='7'><font face='Verdana' size='2' align='center' color='"+MonthYearColor+"'><b>"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"</b></font></td></tr>\n";
+       //Week day header
+       vCalHeader+="<tr bgcolor="+WeekHeadColor+">";
+       for (i=0;i<7;i++)
+       {
+               vCalHeader+="<td align='center'><font face='Verdana' size='2'>"+WeekDayName[i].substr(0,WeekChar)+"</font></td>";
+       }
+       vCalHeader+="</tr>";    
+       docCal.write(vCalHeader);
+       
+       //Calendar detail
+       CalDate=new Date(Cal.Year,Cal.Month);
+       CalDate.setDate(1);
+       vFirstDay=CalDate.getDay();
+       vCalData="<tr>";
+       for (i=0;i<vFirstDay;i++)
+       {
+               vCalData=vCalData+GenCell();
+               vDayCount=vDayCount+1;
+       }
+       for (j=1;j<=Cal.GetMonDays();j++)
+       {
+               var strCell;
+               vDayCount=vDayCount+1;
+               if ((j==dtToday.getDate())&&(Cal.Month==dtToday.getMonth())&&(Cal.Year==dtToday.getFullYear()))
+                       strCell=GenCell(j,true,TodayColor);//Highlight today's date
+               else
+               {
+                       if (j==Cal.Date)
+                       {
+                               strCell=GenCell(j,true,SelDateColor);
+                       }
+                       else
+                       {        
+                               if (vDayCount%7==0)
+                                       strCell=GenCell(j,false,SaturdayColor);
+                               else if ((vDayCount+6)%7==0)
+                                       strCell=GenCell(j,false,SundayColor);
+                               else
+                                       strCell=GenCell(j,null,WeekDayColor);
+                       }               
+               }                                               
+               vCalData=vCalData+strCell;
+
+               if((vDayCount%7==0)&&(j<Cal.GetMonDays()))
+               {
+                       vCalData=vCalData+"</tr>\n<tr>";
+               }
+       }
+       docCal.writeln(vCalData);       
+       //Time picker
+       if (Cal.ShowTime)
+       {
+               var showHour;
+               showHour=Cal.getShowHour();             
+               vCalTime="<tr>\n<td colspan='7' align='center'>";
+               vCalTime+="<input type='text' name='hour' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+showHour+" onchange=\"javascript:winMain.Cal.SetHour(this.value)\">";
+               vCalTime+=" : ";
+               vCalTime+="<input type='text' name='minute' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Minutes+" onchange=\"javascript:winMain.Cal.SetMinute(this.value)\">";
+               vCalTime+=" : ";
+               vCalTime+="<input type='text' name='second' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Seconds+" onchange=\"javascript:winMain.Cal.SetSecond(this.value)\">";
+               if (TimeMode==12)
+               {
+                       var SelectAm =(parseInt(Cal.Hours,10)<12)? "Selected":"";
+                       var SelectPm =(parseInt(Cal.Hours,10)>=12)? "Selected":"";
+
+                       vCalTime+="<select name=\"ampm\" onchange=\"javascript:winMain.Cal.SetAmPm(this.options[this.selectedIndex].value);\">";
+                       vCalTime+="<option "+SelectAm+" value=\"AM\">AM</option>";
+                       vCalTime+="<option "+SelectPm+" value=\"PM\">PM<option>";
+                       vCalTime+="</select>";
+               }       
+               vCalTime+="\n</td>\n</tr>";
+               docCal.write(vCalTime);
+       }       
+       //end time picker
+       docCal.writeln("\n</table>");
+       docCal.writeln("</form></body></html>");
+       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'><b>";vHLstr2="</b>";}
+       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="<td "+vColor+" width="+CellWidth+" align='center'><font face='verdana' size='2'"+vHLstr1+"<a href=\"javascript:winMain.document.getElementById('"+Cal.Ctrl+"').value='"+Cal.FormatDate(PValue)+"';"+vTimeStr+";window.close();\">"+PValue+"</a>"+vHLstr2+"</font></td>";
+       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