/* This file has been generated by X-MAN Obfuscator 2.4a 2005(c) in Sat, 16 Jul 2005 12:57:14 +0300 */

/**
 * Calendar class
 *
 * @author Ivan Kravets <Admin@relax-info.com>
 * @copyright X-MAN 2005 (c)
 * @link http://relax-info.com
 * @package Calendar
 * @version 4.2
 */
function Calendar (){this.current_date=new Date();this.current_day=0;this.current_month=0;this.current_year=0;this.sel_month=0;this.sel_year=0;this.data_arr=new Array();this.data_new_arr=new Array();this.day_week_arr=new Array();this.style_class=new Array();this.cache_arr=new Array();this.script=document.createElement("SCRIPT");this.main_part=null;this.process=process;this.form_style_class=form_style_class;this.get_current_day=get_current_day;this.get_current_month=get_current_month;this.get_current_year=get_current_year;this.correct_selected_date=correct_selected_date;this.get_total_day=get_total_day;this.get_week_day=get_week_day;this.prepare_data=prepare_data;this.display=display;this.form_week_day=form_week_day;this.form_main_part=form_main_part;this.form_day=form_day;this.set_cache=set_cache;this.reload=reload;function process(month, year){this.main_part=document.getElementById("calendar_body");this.current_day=this.get_current_day();this.current_month=this.get_current_month();this.current_year=this.get_current_year();this.correct_selected_date(month, year);this.prepare_data();this.form_style_class();body=this.display();this.set_cache(body);this.data_new_arr=new Array();this.main_part.innerHTML=body;}function form_style_class(){this.style_class['text']="block_text";this.style_class['day']="calendar_day";this.style_class['day_red']="calendar_day_red";this.style_class['week_day']="calendar_week_day";this.style_class['week_day_red']="calendar_week_day_red";this.style_class['today']="calendar_today";}function get_current_day(){return this.current_date.getDate();}function get_current_month(){var month=this.current_date.getMonth()+1;return month;}function get_current_year(){return this.current_date.getFullYear();}function correct_selected_date(month, year){if(parseInt(month)>0) this.sel_month=month;else this.sel_month=this.current_month;if(parseInt(year)>0) this.sel_year=year;else this.sel_year=this.current_year;}function get_total_day(){var day_offset=32;var tmp_date=new Date(this.sel_year, this.sel_month-1, day_offset);var total_day=day_offset-tmp_date.getDate();return total_day;}function get_week_day( type ){var week_day=0;var tmp_date=null;var west_week_day=0;switch (type){case "first":tmp_date=new Date(this.sel_year, this.sel_month-1, 1);break;case "last":var last_day=this.get_total_day();tmp_date=new Date(this.sel_year, this.sel_month-1, last_day);break;default:tmp_date=new Date(this.sel_year, this.sel_month-1, this.current_day);break;}west_week_day=tmp_date.getDay();(west_week_day == 0)? week_day=7 : week_day=west_week_day;return week_day;}function prepare_data(){var tmp_arr=new Array();var total_day=this.get_total_day();this.data_arr=new Array(total_day);for (var i=0; i<total_day; i++){tmp_arr=new Array(i+1, false, null);this.data_arr[i]=tmp_arr;}var total_new_day=this.data_new_arr.length;for (var j=0; j<total_new_day; j++){this.data_arr[this.data_new_arr[j][0]-1][1]=true;this.data_arr[this.data_new_arr[j][0]-1][2]=this.data_new_arr[j][1];}}function display(){var body="";body="<TABLE border=0 celpadding=0 cellspacing=1 width=100% class="+this.style_class['text']+">";body += this.form_week_day();body += this.form_main_part();body+="</TABLE>";return body;}function form_week_day(){var total_day_week=this.day_week_arr.length;var body="<TR>";for (var i=0; i<total_day_week; i++){(i>4)? body += "<TD align=center class="+this.style_class['week_day_red']+">"+this.day_week_arr[i].toUpperCase()+"</TD>" : body += "<TD align=center class="+this.style_class['week_day']+">"+this.day_week_arr[i].toUpperCase()+"</TD>";}body += "</TR>";return body;}function form_main_part(){var body="<TR bgcolor=#FFFFFF>";var first_week_day=this.get_week_day("first");var last_week_day=this.get_week_day("last");var total_data_day=this.data_arr.length;for (var i=1; i<=first_week_day; i++){if (i == first_week_day) break;else body += "<TD></TD>";}for (var j=0; j<total_data_day; j++){if (i == 8){body += "</TR><TR bgcolor=#FFFFFF>";i=1;}body += this.form_day(this.data_arr[j], i);i++;}last_week_day=7-last_week_day;for (var i=0; i<last_week_day; i++)body += "<TD></TD>";body += "</TR>";return body;}function form_day(data_arr, week_day){var td="<TD align=center ";var link="<A href="+data_arr[2]+" style='text-decoration: underline;'>"+data_arr[0]+"</A>";if (data_arr[0] == this.current_day && this.sel_month == this.current_month && this.sel_year == this.current_year){td += "class="+this.style_class['today']+">";(data_arr[1])? td += "<A href="+data_arr[2]+" class="+this.style_class['today']+">"+data_arr[0]+"</A>"  : td += data_arr[0];}else{(week_day == 6 || week_day ==7)? td += "class="+this.style_class['day_red']+">" : td += "class="+this.style_class['day']+">";(data_arr[1])? td += (week_day == 6 || week_day == 7)? "<A href="+data_arr[2]+" class="+this.style_class['day_red']+">"+data_arr[0]+"</A>" : link : td += data_arr[0];}td += "</TD>";return td;}function set_cache(body){this.cache_arr[this.cache_arr.length]=new Array(this.sel_month, this.sel_year, body);}function reload(){var d=document;var month=d.all.calendar_month.value;var year=d.all.calendar_year.value;var oActLink=d.getElementById('all_action_link');var check_cache=false;var main_part_height=this.main_part.offsetHeight;var cache_body="<TABLE border=0 cellpadding=0 cellspacing=0 width=100% height=" +main_part_height+" class="+this.style_class['text']+"><TR><TD align=center valign=middle>Loading...</TR></TR></TABLE>";for (var i=0; i<this.cache_arr.length; i++){if (this.cache_arr[i][0] == month && this.cache_arr[i][1] == year){check_cache=true;cache_body=this.cache_arr[i][2];break;}else check_cache=false;}if(check_cache) this.main_part.innerHTML=cache_body;else{this.main_part.innerHTML=cache_body;this.script.src=main.SITE_URL+main.LANG_URL+"calendar/js/"+month+"/"+year+'.djs';this.script.id="cal_data";this.script.name="cal_data";d.body.appendChild(this.script);}oPrevAnchor=oActLink.getElementsByTagName('A')[0];oPrevAnchor.href=main.SITE_URL+main.LANG_URL+'calendar/'+month+'-'+year+'.html';}}var calendar=new Calendar();
