// Usage: (tag attributes) onfocus='this.select()' onblur='timeFormat(event)' onkeydown='inputCheck(event)'


function timeFormat(e)
{
	var ev = (typeof window.event == 'undefined') ? e : window.event;
	var target = ev.target ? ev.target : ev.srcElement;

	if (target.value.length == 0) return;
	var parts = target.value.split(':');

	var h=0, m=0;
	if (parts.length == 1)
	{
		var val = parts[0];

		if (val.length <= 2) h = parseInt(val, 10);
		else if (val.length == 3)
		{
			h = parseInt(val.charAt(0), 10);
			m = parseInt(val.substr(1), 10);
		}
		else
		{
			h = parseInt(val.substr(0,2), 10);
			m = parseInt(val.substr(2,2), 10);
		}
	}
	else
	{
		h = parseInt(parts[0], 10);
		m = parseInt(parts[1], 10);
	}

	if ( isNaN(h) ) h = 0;
	if ( isNaN(m) ) m = 0;

	if (h > 23) h = 23;
	if (m > 59) m = 59;

	if (h < 10) h = '0'+ h;
	if (m < 10) m = '0'+ m;

	target.value = h +':'+ m;
}



function durationFormat(e)
{
	var ev = (typeof window.event == 'undefined') ? e : window.event;
	var target = ev.target ? ev.target : ev.srcElement;

	if (target.value.length == 0) return;
	var parts = target.value.split(':');

	var h=0, m=0;
	if (parts.length == 1)
	{
		var val = parts[0];

		if (val.length <= 2) h = parseInt(val);
		else if (val.length == 3)
		{
			h = parseInt(val.charAt(0), 10);
			m = parseInt(val.substr(1), 10);
		}
		else if (val.length == 4)
		{
			h = parseInt(val.substr(0,2), 10);
			m = parseInt(val.substr(2,2), 10);
		}
		else
		{
			h = parseInt(val.substr(0,3), 10);
			m = parseInt(val.substr(3,2), 10);
		}
	}
	else
	{
		h = parseInt(parts[0], 10);
		m = parseInt(parts[1], 10);
	}

	if ( isNaN(h) ) h = 0;
	if ( isNaN(m) ) m = 0;

	if (h > 999) h = 999;
	if (m > 59) m = 59;


	if (h < 10) h = '0'+ h;
	//else if (h < 100) h = '0'+ h;
	
	if (m < 10) m = '0'+ m;

	target.value = h +':'+ m;
}



function inputCheck(e)
{
	var ev = (typeof window.event == 'undefined') ? e : window.event;
	var key = ev.keyCode;
	var target = ev.target ? ev.target : ev.srcElement;
	var colonKey = ev.target ? 59 : 186;

	if
	(
		!(  (key > 47 && key < 58) || (key > 95 && key < 106) || (key > 34 && key < 41) ||
		(ev.shiftKey && key == colonKey) || key == 8 || key == 9 || key == 46  )
	)
	{
		if (ev.preventDefault) ev.preventDefault();
		else ev.returnValue = false;
	}
}