  //based on code from visionmonster.com
//environment vars
var o_navigator = navigator.userAgent.toLowerCase();
var isMacIE = (o_navigator.indexOf("msie 5")>-1&&o_navigator.indexOf("mac")>-1) ? 1 : 0;
var isPCIE = (o_navigator.indexOf("msie")>-1&&!isMacIE&&o_navigator.indexOf("opera")==-1) ? 1 : 0;
var isIE = (isMacIE||isPCIE)?1 : 0;
var isOp = (o_navigator.indexOf("opera")>-1) ? 1 : 0;
//translatable - see HTML
var mArray	= new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var mArrayEng	= new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var mArrayBig5	= new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
var mArrayGB	= new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
var dArray 	= new Array("Su","Mo","Tu","We","Th","Fr","Sa");var sTitle 	= "Select a Date:";var sClose 	= "Close";
var dArrayEng 	= new Array("Su","Mo","Tu","We","Th","Fr","Sa");var sTitleEng 	= "Select a Date:";var sCloseEng 	= "Close";
var dArrayBig5 	= new Array("日","一","二","三","四","五","六");var sTitleBig5 	= "請選擇日期:";var sCloseBig5 	= "關閉";
var dArrayGB 	= new Array("日","一","二","三","四","五","六");var sTitleGB 	= "请选择日期:";var sCloseGB 	= "关闭";
//calendar vars
var o_calbody		= 0;//object for the calendar code
var i_cal			= 1;//calendar count
var i_calnum		= 2;//number of calendars to make
var s_calmode		= "md";//mONTH dATE || dATE mONTH
var datesArray 		= new Array(31,28,31,30,31,30,31,31,30,31,30,31); 
var today 			= new Date();			//todays date
var cD 				= today.getDay();		//current day of week 0-6
var cT				= today.getDate();		//current day 1-31
var cM				= today.getMonth();		//current month 0-11
var cMDs 			= datesArray[cM];		//number of days in current month
var cY				= today.getFullYear();	//js method	not used here//current Year
var today = new Date(cY,cM,cT); //kill the hours/minutes/seconds
var o_view;var o_param;var b_closenow=0;var t_startclose=null;var o_calendar = null;var b_calendar = 0;var s_inputparent;var i_calrow;var d_tomake = new Date();var d_nextmonth = new Date();var s_delimiter = "/";var o_trigger;//make global
//attach onclick event to window to close calendar if click anywhere else on the page
var s_jscall = (isPCIE)? "parent." : "";

var web_cal_class_name = "web_cal";
var web_cal_ie_class_name = "web_cal_ie";
var web_cal_not_close_date = false;
var web_cal_block_prev_days = true;
var web_cal_lang = "eng";
var web_cal_align_top = false;
var web_cal_align_left = false;

function cal_delimiter(s_text){
	s_delimiter = (s_text.indexOf("/")>-1) ? "/" : (s_text.indexOf(".")>-1) ? "." : (s_text.indexOf("-")>-1) ? "-" : (s_text.indexOf(",")>-1) ? "," : "/";
	return s_delimiter;
}
function cal_nextarrow(){
	s_nextarrow = "";
	s_nextevent = (check331(d_nextmonth)) ? " onclick=\"" : " onclick=\""+s_jscall+"cal_navmonth("+(d_tomake.getMonth())+","+d_tomake.getFullYear()+");";
	s_nextevent+= (isOp) ? "window.event.stopPropagation();return false;\"":"return false;\"";
	s_nextclass = (check331(d_nextmonth)) ? " calnavoff" :"" ;	
	s_nextarrow+= (isIE||isOp) ? "<div class=\"calnextprime"+s_nextclass+"\""+s_nextevent+">" : "<div class=\"calnextalt"+s_nextclass+"\""+s_nextevent+"><div class=\"calnextbox\">" ;
	s_nextarrow+="<div class=\"calnexttop\"></div><div class=\"calnextbot\"></div>";
	s_nextarrow+= (isIE||isOp) ? "</div>" : "</div></div>";
	return s_nextarrow;
}
function cal_prevarrow(){
	s_prevarrow = "";
	d_prevarrow = new Date(d_tomake.getFullYear(),d_tomake.getMonth()-1,d_tomake.getDate());
	//s_prevevent = (d_tomake<=today) ? " onclick=\"" : " onclick=\""+s_jscall+"cal_navmonth("+(d_prevarrow.getMonth())+","+d_prevarrow.getFullYear()+");";
	s_prevevent = " onclick=\""+s_jscall+"cal_navmonth("+(d_prevarrow.getMonth())+","+d_prevarrow.getFullYear()+");";
	s_prevevent+= (isOp) ? "window.event.stopPropagation();return false;\"":"return false;\"";
	//s_prevclass = (d_tomake<=today) ? " calnavoff" :"" ;
	s_prevclass = "" ;
	s_prevarrow+= (isIE||isOp) ? "<div class=\"calprevprime"+s_prevclass+"\""+s_prevevent+">" : "<div class=\"calprevalt"+s_prevclass+"\""+s_prevevent+"><div class=\"calprevbox\">" ;
	s_prevarrow+="<div class=\"calprevtop\"></div><div class=\"calprevbot\"></div>";
	s_prevarrow+= (isIE||isOp) ? "</div>" : "</div></div>";
	return s_prevarrow;
}
function cal_navmonth(i_m,i_y){
cal_createshell();
cal_makemonth(i_m,i_y);	
}
function cal_splitinfo(s_split){
	s_delimiter = cal_delimiter(s_split);
	a_split = new Array();
	a_split = s_split.split(s_delimiter);
	return a_split;
}
//create shell
function cal_text(a_caltext){
	for(var i=0;i<a_caltext.length;i++){
		switch(a_caltext[i].className){
			case "caltxtmonthnames":
			this.monthnames = a_caltext[i];
			break;
			case "caltxtdaynames":
			this.daynames = a_caltext[i];
			break;
			case "caltxttitle":
			this.caltitle = a_caltext[i];
			break;
			case "caltxtclose":
			this.calclose = a_caltext[i];
			break;
			case web_cal_class_name:
			case web_cal_ie_class_name:
			this.calendar = a_caltext[i];
			break;
		}
	}
	this.iframe = "califrame_"+o_calendar.id
}
function cal_createshell(){
switch(o_calbody&&b_calendar){
	case false:
	case 0:
		o_caltext = new cal_text(o_calendar.getElementsByTagName("div"));
//		if(o_caltext.monthnames)mArray = cal_splitinfo(o_caltext.monthnames.innerHTML);
//		if(o_caltext.daynames)dArray = cal_splitinfo(o_caltext.daynames.innerHTML);
//		if(o_caltext.caltitle)sTitle = o_caltext.caltitle.innerHTML;
//		if(o_caltext.calclose)sClose = o_caltext.calclose.innerHTML;
		if(isPCIE&&!document.getElementById(o_caltext.iframe)){
			o_caltext.calendar.innerHTML="<iframe id=\""+o_caltext.iframe+"\" src=\"javascript:'calendar'\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" class=\"calendariframe\"></iframe>"
			s_iecalcss = "<link rel='stylesheet' type='text/css' href='"+document.getElementById("csscalendar").href+"' />";
			//if(document.getElementById("cssprimary"))s_iecalcss+="<link rel='stylesheet' type='text/css' href='"+document.getElementById("cssprimary").href+"' />"
			o_califrame = eval(o_caltext.iframe);
			o_califrame.document.open();
			o_califrame.document.write("<html><head>"+s_iecalcss+"</head><body id=\"content\" class=\"" + web_cal_class_name + "\"><div id=\"calendar\" class=\"" + web_cal_class_name + "\"></div></body></html>");
			o_califrame.document.close();	
			o_caltext.calendar.className = web_cal_ie_class_name;
		}

		s_delimiter = o_param.delimiter//"/"
		o_calbody = (isPCIE) ? o_califrame.document.getElementById("calendar") : o_caltext.calendar;
	default:
		i_cal = 1;
		o_calbody.innerHTML="<div class=\"caltitle\"><a href=\"#\" onclick=\""+s_jscall+"b_closenow=1;"+s_jscall+"cal_close();return false;\" class=\"calclose\">"+sClose+"</a>"+sTitle+"</div>";
	}

}
function cal_makedaynames(){
	o_calthday="";
	for(var i=0;i<dArray.length;i++)o_calthday+="<th>"+dArray[i]+"</th>";
	return o_calthday;
}
function cal_makelabel(i_m,i_y){
	s_th="";s_thprev="<th class=\"calarrow\" align=\"center\"></th>";s_thnext="<th class=\"calarrow\" align=\"center\"></th>";
	if(i_cal==1)s_thprev="<th class=\"calarrow\" align=\"center\">"+cal_prevarrow()+"</th>";
	if(i_cal==i_calnum)s_thnext="<th class=\"calarrow\" align=\"center\">"+cal_nextarrow()+"</th>";
	s_th+=s_thprev;
	s_th+="<th colspan=\"5\" class=\"callabel\">"+mArray[i_m]+"&nbsp;"+i_y+"</th>";
	s_th+=s_thnext;
	return s_th;
}
function cal_maketr(s_what,s_attributes){
	s_tr=(s_attributes=="")?"<tr>":"<tr "+s_attributes+">";
	s_tr+=s_what;
	s_tr+="</tr>";
	return s_tr;
}
function cal_makethead(i_m,i_y){
	o_calthead="";o_calth="";o_caltr="";
	o_calthead+="<thead style='margin:0px;'>";
	o_calth=cal_makelabel(i_m,i_y);
	o_caltr=cal_maketr(o_calth,"")
	o_calthead+=o_caltr;
	o_calth=cal_makedaynames();
	o_caltr=cal_maketr(o_calth,"class=\"caldayname\"");
	o_calthead+=o_caltr;
	o_calthead+="</thead>";
	return o_calthead;
}
function cal_nodates(i_blank){
	s_caltd="";
	for(var i=0;i<i_blank;i++)s_caltd+="<td class=\"caldate\"><div>&nbsp;</div></td>\n";
	return s_caltd;
}
function check331(d_date){
	i_date331 = Math.floor((d_date-today)/86400000);
	b_check331 = (i_date331>330) ? 1 : 0;
	return b_check331;
}
function cal_dates(i_m,i_y,s_caltd){
	i_calrow=0;
	s_caltr="";
//blanks for before first day of month;	
	s_caltd=cal_nodates(i_firstday);
//brains
	var isPrevToday = false;
	for(var i=1;i<=i_datecount;i++){
		if(i_daycount == 7){
			s_caltr+=cal_maketr(s_caltd,"");
			s_caltd="";
			i_daycount=0;
			i_calrow++;
		}
		d_calDate=new Date(i_y,i_m,i);
		i_daycount++;
		//if(d_calDate>=today&&!check331(d_calDate)){
			s_caldateclass="caldate";
			s_caldateaction = ""+s_jscall+"cal_dosetdate("+(d_calDate.getMonth()+1)+","+i+","+d_calDate.getFullYear()+");"+s_jscall+"cal_close();return false"
			for(var j=0;j<a_userdates.length;j++){
				d_testDateRange= (a_userdates[j].month=="") ? new Date(1000,1,1) : new Date(a_userdates[j].year,a_userdates[j].month-1,a_userdates[j].date);
				d_minuserdate = (a_userdates[j].month=="") ? new Date(1000,1,1) : new Date(a_userdates[j].year,a_userdates[j].month-1,a_userdates[j].date); //d_testDateRange//(a_userdates[0].month!="") ? new Date(a_userdates[0].year,a_userdates[0].month-1,a_userdates[0].date) : new Date(a_userdates[a_userdates.length-1].year,a_userdates[a_userdates.length-1].month-1,a_userdates[a_userdates.length-1].date);
				d_maxuserdate = (a_userdates[j+1]) ? (a_userdates[j+1].month!="") ? new Date(a_userdates[j+1].year,a_userdates[j+1].month-1,a_userdates[j+1].date) : d_minuserdate : d_minuserdate;
				s_caldateclass = (d_calDate.valueOf()==d_minuserdate.valueOf()) ? "caldatesel" : (d_calDate>d_minuserdate&&d_calDate<d_maxuserdate&&d_minuserdate.getFullYear()!=1000) ? "caldaterng" : "caldate";
				switch (s_caldateclass){
				case "caldatesel":
				case "caldaterng":
					j=a_userdates.length;
				break;
				}
			}
			//add class to s_caldateclass to highlight today
			isToday = (dateDiff("d", today, d_calDate) == 0);

			if (isToday)
			{
				s_caldateclass += " web_cal_today";
			}
			
			if (web_cal_block_prev_days) {
				//detect before today, dim the date, and not allow click
				try {
					isPrevToday = (dateDiff("d",today,d_calDate) < 0);
				}catch(Exception){}
				if (isPrevToday) {
					s_caldateclass += " web_cal_prev_today";
				}
			}
			s_caltd += "<td class=\""+s_caldateclass+"\">";
			
			if (isPrevToday) {
				s_caltd += "<a href=\"#\"onclick=\"web_cal_not_close_date=true;this.blur();\">";
			} else {
				s_caltd += "<a href=\"#\" onclick=\""+s_caldateaction+"\">";
			}
			if (isToday) s_caltd += "<span class=\"web_cal_today\">";
			s_caltd += i;
			if (isToday) s_caltd += "</span>";
			s_caltd += "</a>";
			s_caltd += "</td>";
		//}else{
		//	s_caltd+="<td class=\"caldateoff\"><div>"+i+"</div></td>\n"
		//}
	}
//finish off the row
	s_caltd+=cal_nodates(7-i_daycount);
	s_caltr+=cal_maketr(s_caltd,"");
//fill last row if needed	
	if(i_calrow<5)s_caltr+=cal_maketr(cal_nodates(7),"");
	return s_caltr;
}
//keep track of calendars for uniformity
function cal_maketbody(i_m,i_y){
	s_caltbody="<tbody>";
	s_caltbody+=cal_dates(i_m,i_y);
	s_caltbody+="</tbody>";
	return s_caltbody;
}
function cal_isleap(i_year){
	i_isleap = (i_year % 4 == 0 && (i_year % 100 !=0 || i_year % 400 ==0 )) ? 1:0;
	return i_isleap;
}
function cal_makemonth(i_m,i_y){
	if(i_cal==0)o_view = new cal_view(i_m,i_y);
	o_cal="";o_caltr="";o_caltd="";o_caltbody="";
	d_tomake = new Date(i_y,i_m,1);
	d_nextmonth = new Date(i_y,i_m+1,1);
	i_datecount = datesArray[i_m];
	if(i_m==1)i_datecount+=cal_isleap(i_y);
	i_firstday=d_tomake.getDay()-o_param.startday;//day of the week of the 1st.+ accounts for different starting day
	if(i_firstday==-1)i_firstday=6;
	i_daycount=i_firstday;//keep track of day of week;
	s_tableclass = (i_cal % 2) ? "caltableleft":"caltableright";
//table
	o_cal+="<table month=\""+i_m+"\" year=\""+i_y+"\" class=\""+s_tableclass+"\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"
//thead
	o_cal+=cal_makethead(i_m,i_y);
	o_caltr="";
//tbody
	o_cal+=cal_maketbody(i_m,i_y);
	o_cal+="</table>"
	o_calbody.innerHTML+=o_cal;
	i_cal++;
	if(i_cal<=i_calnum)cal_makemonth(d_nextmonth.getMonth(),d_nextmonth.getFullYear());
}
function cal_validdate(a_userdate){
	b_validate=1;
//check length
	if(a_userdate.length!=3)b_validate=0;
	if(b_validate){
//check isNaN
		for(var i=0;i<a_userdate.length;i++){
			a_userdate[i] = parseInt(a_userdate[i]);//change from string to int
			if(isNaN(a_userdate[i]))b_validate=0;
		}
		if(b_validate){
//check year
			if(a_userdate[2]<2000)a_userdate[2]+=2000;//good for 995 years
//keep it with in 1 year
			if(a_userdate[2]<cY||a_userdate[2]>cY+1)b_validate=0;
			switch(s_calmode){
//check month/date
			case "md":
				if(a_userdate[0]<0||a_userdate[0]>13)b_validate=0;
				if(b_validate)if(a_userdate[1]<0||a_userdate[1]>datesArray[a_userdate[0]-1]+cal_isleap(a_userdate[2]))b_validate=0;
			break;
//check date/month			
			case "dm":
				if(a_userdate[1]<0||a_userdate[1]>13)b_validate=0;
				if(b_validate)if(a_userdate[0]<0||a_userdate[0]>datesArray[a_userdate[1]-1]+cal_isleap(a_userdate[2]))b_validate=0;
			break;
			}
		}
	}
	return b_validate;
}
function cal_dates2int(a_date){
	for(var i=0;i<a_date.length;i++)if(!isNaN(a_date[i]))a_date[i]=parseInt(a_date[i],10);
	return a_date;
}
function cal_userdate(s_input){
	this.delimiter=cal_delimiter(s_input);//save for output
	this.month="";this.date="";this.year="";
	a_userdate = cal_dates2int(cal_splitinfo(s_input));
	if(cal_validdate(a_userdate)){
		switch(s_calmode){
			case "md":
			this.month=a_userdate[0];this.date=a_userdate[1];this.year=a_userdate[2];	
			break;
			case "dm":
			
			this.month=a_userdate[1];this.date=a_userdate[0];this.year=a_userdate[2];		
			break;
		}
	}
}
function cal_dosetdate(i_setm,i_setd,i_sety){
	switch(typeof(o_trigger)){
	case "string":
		o_input = cal_splitinfo(o_trigger);
		document.getElementById(o_input[0]).selectedIndex = i_setm-1;
		document.getElementById(o_input[1]).selectedIndex = i_setd-1;
	break;
	default:
		if(o_param.leading0=="nn"){
			if(i_setm<10)i_setm="0"+i_setm;
			if(i_setd<10)i_setd="0"+i_setd;
		}
		o_trigger.value = (s_calmode=="md")? i_setm+s_delimiter+i_setd+s_delimiter+i_sety:i_setd+s_delimiter+i_setm+s_delimiter+i_sety;
		
		updateNightsField("nights", a_userinputs[0], a_userinputs[1]);
		
		try {
			document.getElementById(a_userinputs[2]).innerHTML = i_setd + "-" + i_setm + "-" + i_sety;
		}catch(Exception){}
	}
	b_closenow = 1;
}
function cal_view(i_m,i_y){
	this.month=i_m;
	this.year=i_y;
}

function cal_getuserdates(o_input){
	o_getuserdates = "";
//input field or select lists	
	switch (typeof(o_input)){
	case "object":
		o_getuserdates = new cal_userdate(o_input.value)
	break;
	case "string":
		o_input = cal_splitinfo(o_input);
		o_inputmonth = document.getElementById(o_input[0]).selectedIndex+1
		o_inputdate = document.getElementById(o_input[1]).selectedIndex+1
		o_inputyear = (o_inputdate<cD&&o_inputmonth<=cM)?cY++:cY;
		o_getuserdates = (s_calmode=="md")?new cal_userdate(o_inputmonth+"/"+o_inputdate+"/"+o_inputyear):new cal_userdate(o_inputdate+"/"+o_inputmonth+"/"+o_inputyear)
	break;
	}
	return o_getuserdates;
} 
function cal_getdateinputs(a_inputs){
	a_userdates = new Array();
	if(a_inputs.indexOf("|")>-1){
		a_inputselect = a_inputs.split("|")
		for(var i=0;i<a_inputselect.length;i++)a_userdates[i] = cal_getuserdates(a_inputselect[i])
	}else{
		a_userinputs = cal_splitinfo(a_inputs);
		//for(var i=0;i<a_userinputs.length;i++)a_userdates[i] = cal_getuserdates(document.getElementById(a_userinputs[i]));
		for(var i=0;i<2;i++)a_userdates[i] = cal_getuserdates(document.getElementById(a_userinputs[i]));
	}
}
function cal_param(c_param){
	a_param = c_param.split("!");
	this.pos = a_param[0]; //'l'eft or 'r'ight side of input
	this.delimiter = (a_param[1])? a_param[1] : "/"; //default delimiter
	this.startday = (a_param[2])? parseInt(a_param[2]) : 0;
	this.leading0 = (a_param[3])? a_param[3] : "nn";
}

/**
 * To use this calendar. Remember to prefix image button id with "img". e.g. fromdate, imgfromdate
 */
function cal_setup(c_trigger,c_inputs,c_lineage,c_calendar,c_mode,c_param,language,block_before_today, align_top, align_left){
	if (language) {
		web_cal_lang = language;
	} else {
		web_cal_lang = "eng";
	}
	if (align_top)
		web_cal_align_top = true;
	else
		web_cal_align_top = false;
	if (align_left)
		web_cal_align_left = true;
	else
		web_cal_align_left = false;
	if (block_before_today) {
		web_cal_block_prev_days = true;
	} else {
		web_cal_block_prev_days = false;
	}
	if (web_cal_lang == "eng") {
		mArray = mArrayEng;
		dArray = dArrayEng;
		sTitle = sTitleEng;
		sClose = sCloseEng;
	} else if (web_cal_lang == "big5") {
		mArray = mArrayBig5;
		dArray = dArrayBig5;
		sTitle = sTitleBig5;
		sClose = sCloseBig5;
	} else if (web_cal_lang == "gb") {
		mArray = mArrayGB;
		dArray = dArrayGB;
		sTitle = sTitleGB;
		sClose = sCloseGB;
	}
	o_param = new cal_param(c_param);
	b_calendar = (o_calendar==document.getElementById(c_calendar))
	o_calendar = document.getElementById(c_calendar);
	if(typeof(c_trigger)=="object")c_trigger = document.getElementById(c_trigger.id.replace("img",""))
	o_trigger = c_trigger;
	s_calmode = c_mode.toLowerCase();
	cal_getdateinputs(c_inputs);
	a_lineage = cal_splitinfo(c_lineage);
	o_triggerdate = cal_getuserdates(c_trigger);
	cal_createshell();
	if(o_view)cal_makemonth(o_view.month,o_view.year);
	if(o_triggerdate.month==""&&a_userdates[0].month==""&&!o_view)cal_makemonth(cM,cY);
	if(o_triggerdate.month==""&&a_userdates[0].month!=""&&!o_view)cal_makemonth(a_userdates[0].month-1,a_userdates[0].year);
	if(o_triggerdate.month!=""&&a_userdates[0].month==""&&!o_view)cal_makemonth(o_triggerdate.month-1,o_triggerdate.year);
	if(o_triggerdate.month!=""&&a_userdates[0].month!=""&&!o_view)cal_makemonth(a_userdates[0].month-1,a_userdates[0].year);
	o_calendar.style.display="block";
	o_calendar.style.visibility="visible";
	
	cal_position(a_lineage);
	setTimeout("clearTimeout(t_startclose)",250);
}
function cal_getoffset(a_lineage){
	//get trigger tree
	for(var i=0;i<a_lineage.length;i++)a_lineage[i]=document.getElementById(a_lineage[i]); 
	//change into object heirechy
	this.posleft = 0;
	this.postop = 0;
	
	tmppos = findPos(a_lineage[0]);
	this.posleft += tmppos[0] + getWidthX(a_lineage[0]);
	this.postop += tmppos[1];
}
function cal_position(c_lineage){
	o_position = new cal_getoffset(c_lineage);
//	o_calendar.style.left = o_position.posleft;//119
//	o_calendar.style.top = o_position.postop;
	if (web_cal_align_top)
	{
		o_position.postop -= getHeightX(o_calendar);
	}
	
	if (web_cal_align_left)
	{
		o_position.posleft -= getWidthX(o_calendar);
	}
	setStyle(o_calendar,"display:block;visibility:visible;left:" + o_position.posleft + "px;top:" + o_position.postop + "px");
}
function cal_close(){
	try {
	if(t_startclose||b_closenow){
		o_calendar.style.visibility="hidden";
		o_calendar.style.display="none";
	}
	b_closenow = 0;
	o_calendar = null
	}catch(Exception){}
}
function cal_startclose(){
	if (!web_cal_not_close_date) {
		if(o_calendar)t_startclose = setTimeout("cal_close()",500);
	}
	web_cal_not_close_date = false;
}
window.onclick=cal_startclose;
//if(isIE)window.document.onclick=cal_startclose;
//just for setup to compare not needed
function cal_onload(){
	a_userdates = new Array();
	o_i = document.getElementById("i")//for debugging
	o_i.value=""
	cal_createshell();	
	cal_makemonth(cM,cY);
}




var cal_dateFormat = "dd-mm-yyyy"; //default, overwritten by openCalDiv();
var cal_firstDayWeek = 0;
var cal_splitChar = ( (cal_dateFormat.indexOf("/")>-1) ? "/" :
( (cal_dateFormat.indexOf(".")>-1) ? "." :
 ( (cal_dateFormat.indexOf("-")>-1) ? "-" :
 "/" ) ) );
 var cal_md = (cal_dateFormat.toUpperCase().indexOf("M") > cal_dateFormat.indexOf("d")) ? "DM" : "MD";
 var cal_format = "r!"+cal_splitChar+"!"+cal_firstDayWeek;
