var bStop;

function TimePicker(name,value)
{
	var HourVal=GetHourVal(value);
	var MinuteVal=GetMinuteVal(value);
	var AmPmval=GetAmPmVal(value);
	var sAdd="<span id=\"d_" + name + "\" style=\"background-color:#ffffff;position:relative;width:86px;top:-1px;BORDER-LEFT: #aeaeae 2px ridge;"
			+ "BORDER-TOP: #aeaeae 2px ridge;BORDER-RIGHT: #aeaeae 1px inset;BORDER-BOTTOM: #aeaeae 1px inset;"
			+ "HEIGHT:22px;OVERFLOW-Y:hidden;OVERFLOW-X:hidden;VERTICAL-ALIGN:bottom;"
			+ "font-family:tahoma;font-size:13px;font-weight:normal;\" "
			+ "onkeydown=\"SelectionButtonKey('" + name + "');cancelBubble=true;return false;\" onkeyup=\"StopButton();cancelBubble=true;return false;\" "
			+ "onfocusout=\"DeselectTimeElement('" + name + "')\" onkeypress=\"cancelBubble=true;return false;\"> "
		+ "<input type=hidden name=\"" + name + "\" id=\"" + name + "\" value=\"" + value + "\">"
		+ "<div id=\"" + name + "_pHours\" onmousedown=\"SelectTimeElement(this,'" + name + "')\" style=\"position:absolute;"
			+ "left:3px;width:16px;top:1px;border:none;text-align:center\">" + HourVal + "</div>"
		+ "<div style=\"position:absolute;left:19px;top:0px;width:3px;border:none;\">:</div>"
		+ "<div id=\"" + name + "_pMinutes\" onmousedown=\"SelectTimeElement(this,'" + name + "')\" style=\"position:absolute;"
			+ "left:24px;width:20px;top:1px;border:none;text-align:center\">" + MinuteVal + "</div>"
		+ "<div id=\"" + name + "_pAmPm\" onmousedown=\"SelectTimeElement(this,'" + name + "')\" style=\"position:absolute;"
			+ "left:44px;width:20px;top:1px;border:none;text-align:center\">" + AmPmval + "</div>"
		+ "<img src=\"" + imgPath + "up_button_small.gif\" style=\"position:absolute;left:67px;top:0px\" "
			+	"onmousedown=\"UpButton(1,'" + name + "');this.src='" + imgPath + "up_button_small_on.gif';\" "
			+	"onmouseout=\"StopButton();this.src='" + imgPath + "up_button_small.gif';\" "
			+ "onmouseup=\"StopButton();this.src='" + imgPath + "up_button_small.gif';\">"
		+ "<img src=\"" + imgPath + "down_button_small.gif\" style=\"position:absolute;left:67px;top:9px\" "
			+ "onmousedown=\"DownButton(1,'" + name + "');this.src='" + imgPath + "down_button_small_on.gif';\" "
			+ "onmouseout=\"StopButton();this.src='" + imgPath + "down_button_small.gif';\" "
			+ "onmouseup=\"StopButton();this.src='" + imgPath + "down_button_small.gif';\">"
		+ "<img src=\"" + imgPath + "up_button_small_on.gif\" style=\"visibility:hidden;\">"
		+	"<img src=\"" + imgPath + "down_button_small_on.gif\" style=\"visibility:hidden;\">"
		+ "<div id=\"" + name + "_TimeElementSelected\" style=\"visibility:hidden;width:0px;height:0px;\"></div>"
		+ "</span>"
		document.write(sAdd);
}

var TimeElementSelected;

function SelectionButtonKey(p)
{
	event.cancelBubble=true;
	var s=document.getElementById(p + "_TimeElementSelected");
	if(s.innerText!="")
	{
		var e=document.getElementById(s.innerText);
		switch(event.keyCode)
		{
			case 38:UpButton(1,p);event.cancelBubble=true;break;
			case 40:DownButton(1,p);event.cancelBubble=true;break;
			case 37:
				switch(e.id.substring(e.id.indexOf("_")+1))
				{
					case "pMinutes":SelectTimeElement(document.getElementById(p + "_pHours"),p);event.cancelBubble=true;break;
					case "pAmPm":SelectTimeElement(document.getElementById(p + "_pMinutes"),p);event.cancelBubble=true;break;
				}
				break;
			case 39:
				switch(e.id.substring(e.id.indexOf("_")+1))
				{
					case "pHours":SelectTimeElement(document.getElementById(p + "_pMinutes"),p);event.cancelBubble=true;break;
					case "pMinutes":SelectTimeElement(document.getElementById(p + "_pAmPm"),p);event.cancelBubble=true;break;
				}
				break;
		}
	}
}

function GetHourVal(v)
{
	return v.substring(0,v.indexOf(":"));
}
function GetMinuteVal(v)
{
	var x=v.indexOf(":");
	return v.substring(x+1,v.indexOf(" ",x+1));
}
function GetAmPmVal(v)
{
	var x=v.indexOf(" ");
	return v.substring(x+1);
}

function SelectTimeElement(e,p)
{
	TimeElementSelected=document.getElementById(p);
	p=document.getElementById(p + "_TimeElementSelected");
	if(p.innerText!="")
	{
		var o=eval(p.innerText);
		o.style.backgroundColor="#ffffff";
		o.style.color="#000000";
	}
	p.innerText=e.id;
	e.style.backgroundColor="#000099";
	e.style.color="#ffffff";
}

function DeselectTimeElement(p)
{
	if(document.activeElement.id.indexOf(p)==-1)
	{
		p=document.getElementById(p + "_TimeElementSelected");
		if(p.innerText!="")
		{
			var o=eval(p.innerText);
			o.style.backgroundColor="#ffffff";
			o.style.color="#000000";
		}
	}
}

function StopButton()
{
	bStop=true;
}

function UpButton(num,p)
{	
	bStop=false;
	var s=document.getElementById(p + "_TimeElementSelected");
	if(s.innerText!="")
	{
		var e=document.getElementById(s.innerText);
		var Upper;
		switch(e.id.substring(e.id.indexOf("_")+1))
		{
			case "pHours":Upper=12;Lower=1;num=1;break;
			case "pMinutes":Upper=59;Lower=0;break;
			default:if(e.innerText=="am")e.innerText="pm"; else e.innerText="am";UpDateTimeValue(p);return;
		}
		var val=new Number(e.innerText);
		val=val+num;
		switch(true)
		{
			case val>Upper:e.innerText="0" + Lower;break;
			case val<10:e.innerText="0" + val;break;
			default:e.innerText=val;
		}
		if(window.event)
		{
			if(event.type!="mousedown") bStop=true;
		}
		window.setTimeout("UpAgain('" + p + "')",200);
		UpDateTimeValue(p);
	}
}

function UpAgain(p)
{	
	if(!bStop)
		UpButton(5,p);
}

function DownButton(num,p)
{	
	bStop=false;
	var s=document.getElementById(p + "_TimeElementSelected");
	if(s.innerText!="")
	{
		var e=document.getElementById(s.innerText);
		var Upper;
		switch(e.id.substring(e.id.indexOf("_")+1))
		{
			case "pHours":Upper=12;Lower=1;num=1;break;
			case "pMinutes":Upper=59;Lower=0;break;
			default:if(e.innerText=="am")e.innerText="pm"; else e.innerText="am";UpDateTimeValue(p);return;
		}
		var val=new Number(e.innerText);
		val=val-num;
		switch(true)
		{
			case val<Lower:e.innerText=Upper;break;
			case val<10:e.innerText="0" + val;break;
			default:e.innerText=val;
		}
		if(window.event)
		{
			if(event.type!="mousedown") bStop=true;
		}
		window.setTimeout("DownAgain('" + p + "')",200);
		UpDateTimeValue(p);
	}
}
function DownAgain(p)
{	
	if(!bStop)
		DownButton(5,p);
}
function UpDateTimeValue(p)
{
	document.getElementById(p).value=document.getElementById(p + "_pHours").innerText + ":" 
		+ document.getElementById(p + "_pMinutes").innerText + " " 
		+ document.getElementById(p + "_pAmPm").innerText;
}