
var callOnClose = "";

function cal_setEndFunction(v_coc)
{
	callOnClose = v_coc;
}

function cal_showDateSelect(v_id)
{
	document.getElementById("cal_date_select_" + v_id).style.display = 'block';
	document.getElementById("cal_date_display_" + v_id).style.display = 'none';
	document.getElementById("cal_time_select_" + v_id).style.display = 'none';
}

function cal_setDate(v_id)
{
	v_y = document.getElementById("cal_y_" + v_id).value;
	v_m = document.getElementById("cal_m_" + v_id).value;
	v_d = document.getElementById("cal_d_" + v_id).value;
	v_h = document.getElementById("cal_h_" + v_id).value;
	v_i = document.getElementById("cal_i_" + v_id).value;
	v_s = document.getElementById("cal_s_" + v_id).value;
	
	document.getElementById("input_" + v_id).value = cal_displayInputDate(v_y, v_m, v_d, v_h, v_i, v_s);

	if (document.all)
	{
		document.getElementById("cal_date_display_" + v_id).innerText = cal_displayDate(v_y, v_m, v_d, v_h, v_i, v_s);
	}
	else
	{
		document.getElementById("cal_date_display_" + v_id).textContent = cal_displayDate(v_y, v_m, v_d, v_h, v_i, v_s);
	}
	
	document.getElementById("cal_date_select_" + v_id).style.display = 'none';
	document.getElementById("cal_date_display_" + v_id).style.display = 'block';
	document.getElementById("cal_time_select_" + v_id).style.display = 'none';
	
 if (callOnClose != '')
 {
		this[callOnClose]();
 }
 
}

function cal_showTimeSelect(v_id)
{
	document.getElementById("cal_time_select_" + v_id).style.display = 'block';
	document.getElementById("cal_date_display_" + v_id).style.display = 'none';
	document.getElementById("cal_date_select_" + v_id).style.display = 'none';
}

function cal_changeDateTo(v_id, v_newDate)
{

 if (v_newDate != "")
 {
 
  a = v_newDate.split("-", 3);
  v_y = a[0];
  v_m = parseInt(a[1], 10);
  b = a[2].split(" ", 2);
  v_d = b[0];
	
	if (b.length == 1)
	{
		v_h = "12";
		v_i = "00";
		v_s = "00";
	}
	else
	{
		c = b[1].split(":", 3);
		v_h = c[0];
		v_i = c[1];
		v_s = c[2];
	}
 }
 else
 {
  myDate = new Date();
  v_d = myDate.getDate();
  v_m = myDate.getMonth() + 1;
  v_y = myDate.getFullYear();
  v_h = 12;
  v_i = 0;
  v_s = 0;
 }
 
	document.getElementById('cal_y_' + v_id).value = cal_pad(v_y, 4, "0");
	
	document.getElementById('cal_m_' + v_id).value = cal_pad(v_m, 2, "0");
	
	document.getElementById('cal_d_' + v_id).value = cal_pad(v_d, 2, "0");
	
	document.getElementById('cal_h_' + v_id).value = cal_pad(v_h, 2, "0");
	
	document.getElementById('cal_i_' + v_id).value = cal_pad(v_i, 2, "0");
	
	document.getElementById('cal_s_' + v_id).value = cal_pad(v_s, 2, "0");
	
	cal_setDate(v_id);
	
}

function cal_displayDateField(v_id, v_default)
{
	
 if (v_default != "")
 {
 
  a = v_default.split("-", 3);
  v_y = a[0];
  v_m = parseInt(a[1], 10);
  b = a[2].split(" ", 2);
  v_d = b[0];
	
	if (b.length == 1)
	{
		v_h = "12";
		v_i = "00";
		v_s = "00";
	}
	else
	{
		c = b[1].split(":", 3);
		v_h = c[0];
		v_i = c[1];
		v_s = c[2];
	}
 }
 else
 {
  myDate = new Date();
  v_d = myDate.getDate();
  v_m = myDate.getMonth() + 1;
  v_y = myDate.getFullYear();
  v_h = 12;
  v_i = 0;
  v_s = 0;
 }

  var thisDate = new Date();
	
	thisDate.setFullYear(v_y);
	thisDate.setMonth(v_m - 1);
	thisDate.setDate(v_d);
	thisDate.setHours(v_h);
	thisDate.setMinutes(v_i);
	thisDate.setSeconds(v_s);
	
	document.write("<DIV>");
	
	document.write("<TABLE STYLE='width: auto;'><TR><TD>");
	
	document.write("<INPUT TYPE=HIDDEN ID='input_" + v_id + "' VALUE='" + cal_displayInputDate(v_y, v_m, v_d, v_h, v_i, v_s) + "'>");	
		
	document.write("<DIV STYLE='display: none; width: 160px; border: solid 1px #999999;' ID='cal_date_select_" + v_id + "'>");
	
	document.write("<TABLE><TR><TD>");
	
	cal_monthSelect(v_id, v_m);
		
	document.write("<TD>/<TD>");
	
	cal_daySelect(v_id, v_d);
		
	document.write("<TD>/<TD>");
	
	cal_yearSelect(v_id, v_y);
	
	document.write("<TD><IMG SRC='images/cal_ok.gif' onclick='cal_setDate(\"" + v_id + "\")'></TABLE>");
	
	document.write("</DIV>");
		
	document.write("<DIV STYLE='display: none; width: 160px; border: solid 1px #999999;' ID='cal_time_select_" + v_id + "'>");
	
	document.write("<TABLE><TR><TD>");
	
	cal_hourSelect(v_id, v_h);
		
	document.write("<TD>:<TD>");
	
	cal_minuteSelect(v_id, v_i);
		
	document.write("<TD>:<TD>");
	
	cal_secondSelect(v_id, v_s);
	
	document.write("<TD><IMG SRC='images/cal_ok.gif' onclick='cal_setDate(\"" + v_id + "\")'></TABLE>");
	
	document.write("</DIV>");
		
	document.write("<DIV STYLE='text-align: center; font-size: 8pt; font-family: sans-serif; width: 160px; border: solid 1px #999999;' ID='cal_date_display_" + v_id + "'>");

	document.write(cal_displayDate(v_y, v_m, v_d, v_h, v_i, v_s));
	
	document.write("</DIV>");
		
	document.write("<TD>");
		
	document.write("<IMG SRC='images/cal.gif' onclick='cal_showDateSelect(\"" + v_id + "\")'></DIV>");
	
	document.write("<TD>");
		
	document.write("<IMG SRC='images/clock.gif' onclick='cal_showTimeSelect(\"" + v_id + "\")'></DIV>");
	
	document.write("</TABLE>");
	
	document.write("</DIV>");
	
}

function cal_displayDate(v_y, v_m, v_d, v_h, v_i, v_s)
{
	dt = v_m + "/" + v_d + "/" + v_y;
	
	if (v_h == 0) { tm = "12:" + cal_pad(v_i, 2, "0") + " AM"; }
	else if (v_h < 12) { tm = cal_pad(v_h, 2, "0") + ":" + cal_pad(v_i, 2, "0") + " AM"; }
	else if (v_h == 12) { tm = "12:" + cal_pad(v_i, 2, "0") + " PM"; }
	else { tm = cal_pad(v_h - 12, 2, "0") + ":" + cal_pad(v_i, 2, "0") + " PM"; }

	return dt + " " + tm;
}

function cal_displayInputDate(v_y, v_m, v_d, v_h, v_i, v_s)
{
	dt = v_y + "-" + cal_pad((v_m), 2, "0") + "-" + cal_pad(v_d, 2, "0");
	tm = cal_pad((v_h), 2, "0") + ":" + cal_pad((v_i), 2, "0") + ":" + cal_pad((v_s), 2, "0");

	return dt + " " + tm;
}

function cal_yearSelect(v_id, v_y)
{
	document.write("<SELECT STYLE='font-size: 8pt;' STYLE='font-size: 8pt;' NAME='cal_y_" + v_id + "' ID='cal_y_" + v_id + "'>");
	
	var thisYear = new Date();
	
	for (i=thisYear.getFullYear()-5; i<thisYear.getFullYear()+6; i++)
	{
		t = cal_pad(i, 4, "0");
		
		if (i == v_y)
		{
			document.write("<OPTION STYLE='font-size: 8pt;' SELECTED VALUE=" + t + ">" + t);
		}
		else
		{
			document.write("<OPTION STYLE='font-size: 8pt;' VALUE=" + t + ">" + t);
		}
	}
	
	document.write("</SELECT>");
}

function cal_monthSelect(v_id, v_m)
{
	document.write("<SELECT STYLE='font-size: 8pt;' NAME='cal_m_" + v_id + "' ID='cal_m_" + v_id + "'>");
	
	for (i=1; i<=12; i++)
	{
		t = cal_pad(i, 2, "0");
		
		if (i == v_m)
		{
			document.write("<OPTION STYLE='font-size: 8pt;' SELECTED VALUE=" + t + ">" + t);
		}
		else
		{
			document.write("<OPTION STYLE='font-size: 8pt;' VALUE=" + t + ">" + t);
		}
	}
	
	document.write("</SELECT>");
}

function cal_daySelect(v_id, v_d)
{
	document.write("<SELECT STYLE='font-size: 8pt;' NAME='cal_d_" + v_id + "' ID='cal_d_" + v_id + "'>");
	
	for (i=1; i<=31; i++)
	{
		t = cal_pad(i, 2, "0");
		
		if (i == v_d)
		{
			document.write("<OPTION STYLE='font-size: 8pt;' SELECTED VALUE=" + t + ">" + t);
		}
		else
		{
			document.write("<OPTION STYLE='font-size: 8pt;' VALUE=" + t + ">" + t);
		}
	}
	
	document.write("</SELECT>");
}

function cal_hourSelect(v_id, v_h)
{
	document.write("<SELECT STYLE='font-size: 8pt;' NAME='cal_h_" + v_id + "' ID='cal_h_" + v_id + "'>");
	
	for (i=0; i<24; i++)
	{
	
		t = cal_pad(i, 2, "0");
		
		if (i == 0)
		{
			j = "12 AM"
		}
		else if (i < 12)
		{
			j = i + " AM";
		}
		else if (i == 12)
		{
			j = "12 PM";
		}
		else
		{
			j = (i - 12) + " PM";
		}
	
		if (i == v_h)
		{
			document.write("<OPTION STYLE='font-size: 8pt;' SELECTED VALUE=" + t + ">" + j);
		}
		else
		{
			document.write("<OPTION STYLE='font-size: 8pt;' VALUE=" + t + ">" + j);
		}
	}
	
	document.write("</SELECT>");
}

function cal_minuteSelect(v_id, v_i)
{
	document.write("<SELECT STYLE='font-size: 8pt;' NAME='cal_i_" + v_id + "' ID='cal_i_" + v_id + "'>");
	
	for (i=0; i<60; i++)
	{
		t = cal_pad(i, 2, "0");
		
		if (i == v_i)
		{
			document.write("<OPTION STYLE='font-size: 8pt;' SELECTED VALUE=" + t + ">" + t);
		}
		else
		{
			document.write("<OPTION STYLE='font-size: 8pt;' VALUE=" + t + ">" + t);
		}
	}
	
	document.write("</SELECT>");
}

function cal_secondSelect(v_id, v_s)
{
	document.write("<SELECT STYLE='font-size: 8pt;' NAME='cal_s_" + v_id + "' ID='cal_s_" + v_id + "'>");
	
	for (i=0; i<60; i++)
	{
		t = cal_pad(i, 2, "0");
		
		if (i == v_s)
		{
			document.write("<OPTION STYLE='font-size: 8pt;' SELECTED VALUE=" + t + ">" + t);
		}
		else
		{
			document.write("<OPTION STYLE='font-size: 8pt;' VALUE=" + t + ">" + t);
		}
	}
	
	document.write("</SELECT>");
}

function cal_pad(v_t, v_n, v_p)
{
 var padding = "X";
 var i=0;
 
 for (i=0; i<v_n; i++)
 {
  padding = padding + v_p;
 }
 padding = padding + v_t;
 v_t = padding.substr(padding.length - v_n, v_n)
 return v_t;
}

