objname = $objname; //$this->year_display_from_current = 50; $this->date_picker = $date_picker; //set default year display from current year $thisyear = date('Y'); $this->year_start = $thisyear-$this->year_display_from_current; $this->year_end = $thisyear+$this->year_display_from_current; $this->show_input = $show_input; } //check for leapyear function is_leapyear($year){ return ($year % 4 == 0) ? !($year % 100 == 0 && $year % 400 <> 0) : false; } //get the total day of each month in year function total_days($month,$year){ $days = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); return ($month == 2 && $this->is_leapYear($year)) ? 29 : $days[$month-1]; } //Deprecate since v1.6 function getDayNum($day){ $headers = $this->getDayHeaders(); return isset($headers[$day]) ? $headers[$day] : 0; } //get the day headers start from sunday till saturday function getDayHeaders(){ if($this->startMonday) return array("1"=>"Mo", "2"=>"Tu", "3"=>"We", "4"=>"Th", "5"=>"Fr", "6"=>"Sa","7"=>"Su"); else return array("7"=>"Su", "1"=>"Mo", "2"=>"Tu", "3"=>"We", "4"=>"Th", "5"=>"Fr", "6"=>"Sa"); } function setIcon($icon){ $this->icon = $icon; } function setText($txt){ $this->txt = $txt; } //----------------------------------------------------------- //input the date format according to php date format // for example: 'd F y' or 'Y-m-d' //----------------------------------------------------------- function setDateFormat($format){ $this->date_format = $format; } //set default selected date function setDate($day, $month, $year){ $this->day = $day; $this->month = $month; $this->year = $year; } //specified location of the calendar_form.php function setPath($path){ $last_char = substr($path, strlen($path)-1, strlen($path)); if($last_char != "/") $path .= "/"; $this->path = $path; } function writeScript(){ $this->writeHidden(); //check whether it is a date picker if($this->date_picker){ if($this->show_input){ $this->writeDay(); $this->writeMonth(); $this->writeYear(); }else{ $this->writeDateContainer(); } echo(" objname."');\">"); if(isset($this->icon)){ echo("icon."\" id=\"tcbtn_".$this->objname."\" name=\"tcbtn_".$this->objname."\" border=\"0\" align=\"absmiddle\" />"); }else echo($this->txt); echo(""); $div_display = "none"; $iframe_position = "absolute"; $dp=1; }else{ $div_display = "block"; $iframe_position = "relative"; $dp=0; } $params = array(); $params[] = "objname=".$this->objname; $params[] = "selected_day=".$this->day; $params[] = "selected_month=".$this->month; $params[] = "selected_year=".$this->year; $params[] = "year_start=".$this->year_start; $params[] = "year_end=".$this->year_end; $params[] = "dp=".$dp; $params[] = "mon=".$this->startMonday; $params[] = "da1=".$this->date_allow1; $params[] = "da2=".$this->date_allow2; $params[] = "sna=".$this->show_not_allow; $params[] = "aut=".$this->auto_submit; $params[] = "frm=".$this->form_container; $params[] = "tar=".$this->target_url; $params[] = "inp=".$this->show_input; $params[] = "fmt=".$this->date_format; $paramStr = (sizeof($params)>0) ? "?".implode("&", $params) : ""; //write the calendar container echo("
objname."\" style=\"position: relative;display:".$div_display.";z-index:10000;\">
"); } //write the select box of days function writeDay(){ echo(" "); } //write the select box of months function writeMonth(){ echo(" "); } //write the year textbox function writeYear(){ //echo("objname."_year\" id=\"".$this->objname."_year\" value=\"$this->year\" maxlength=4 size=5 onBlur=\"javascript:tc_setYear('".$this->objname."', this.value, '$this->path');\" onKeyPress=\"javascript:if(yearEnter(event)){ tc_setYear('".$this->objname."', this.value, '$this->path'); return false; }\"> "); echo(" "); } //write hidden components function writeHidden(){ echo("objname."\" id=\"".$this->objname."\" value=\"".$this->getDate()."\">"); echo("objname."_dp\" id=\"".$this->objname."_dp\" value=\"".$this->date_picker."\">"); echo("objname."_year_start\" id=\"".$this->objname."_year_start\" value=\"".$this->year_start."\">"); echo("objname."_year_end\" id=\"".$this->objname."_year_end\" value=\"".$this->year_end."\">"); echo("objname."_mon\" id=\"".$this->objname."_mon\" value=\"".$this->startMonday."\">"); echo("objname."_da1\" id=\"".$this->objname."_da1\" value=\"".$this->date_allow1."\">"); echo("objname."_da2\" id=\"".$this->objname."_da2\" value=\"".$this->date_allow2."\">"); echo("objname."_sna\" id=\"".$this->objname."_sna\" value=\"".$this->show_not_allow."\">"); echo("objname."_aut\" id=\"".$this->objname."_aut\" value=\"".$this->auto_submit."\">"); echo("objname."_frm\" id=\"".$this->objname."_frm\" value=\"".$this->form_container."\">"); echo("objname."_tar\" id=\"".$this->objname."_tar\" value=\"".$this->target_url."\">"); echo("objname."_inp\" id=\"".$this->objname."_inp\" value=\"".$this->show_input."\">"); echo("objname."_fmt\" id=\"".$this->objname."_fmt\" value=\"".$this->date_format."\">"); } //set width of calendar function setWidth($width){ if($width) $this->width = $width; } //set height of calendar function setHeight($height){ if($height) $this->height = $height; } function setYearInterval($start, $end){ $this->year_start = $start; $this->year_end = $end; } function getMonthNames(){ return array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); } function startMonday($flag){ $this->startMonday = $flag; } function dateAllow($from = "", $to = "", $show_not_allow = true){ $this->date_allow1 = $from; $this->date_allow2 = $to; $this->show_not_allow = $show_not_allow; } function autoSubmit($auto, $form_name, $target = ""){ $this->auto_submit = $auto; $this->form_container = $form_name; $this->target_url = $target; } function getDate(){ return str_pad($this->year, 4, "0", STR_PAD_LEFT)."-".str_pad($this->month, 2, "0", STR_PAD_LEFT)."-".str_pad($this->day, 2, "0", STR_PAD_LEFT); } function showInput($flag){ $this->show_input = $flag; } function writeDateContainer(){ if($this->day && $this->month && $this->year) $dd = date($this->date_format, mktime(0,0,0,$this->month,$this->day,$this->year)); else $dd = "Select Date"; echo("objname."_lbl\" class=\"date-tccontainer\">$dd"); } } ?>