function frmtTime(tVal) {
	if (tVal.indexOf(":") == -1)
		return "";
	var tvArray = tVal.split(":");
	return padNumber(2,tvArray[0])+":"+padNumber(2,tvArray[1]);
}

function intToTime(tVal) {
	tVal = tVal+"";
	if (tVal.length < 3) {
		return frmtTime("0:"+minAsMinutes(tVal));
	} else if (tVal.length == 3) {
		return frmtTime(tVal.substring(0,1)+":"+minAsMinutes(tVal.substring(1,3)));
	} else if (tVal.length == 4) {
		return frmtTime(tVal.substring(0,2)+":"+minAsMinutes(tVal.substring(2,4)));
	} else {
		return "00:00";
	}
}

function minAsDec(minVal) {
	return Math.round((parseInt(minVal,10)/60)*100);
}

function minAsMinutes(minVal) {
	return Math.round((parseInt(minVal,10)/100)*60);
}

function timeToInt(tVal) {
	var tvArray = Array(0,0);
	if (tVal.indexOf(":") == -1 && parseInt(tVal, 10) > 0)
		tvArray = Array(parseInt(tVal, 10),0);
	else if (tVal.indexOf(":") == -1)
		return 0;
	else
		tvArray = tVal.split(":");
	return parseInt(tvArray[0]+""+padNumber(2,minAsDec(tvArray[1])+""),10);
}

function setMinTime(thisObj) {
	var stObj = findFormElementByName(thisObj.parentNode, "input", "start_time[]");
	var etObj = findFormElementByName(thisObj.parentNode, "input", "end_time[]");
	if (etObj && timeToInt(stObj.value) > timeToInt(etObj.value))
		etObj.value = frmtTime(stObj.value);
}
function nudgeTime(thisObj) {
	var stObj = findFormElementByName(thisObj.parentNode, "input", "start_time[]");
	var etObj = findFormElementByName(thisObj.parentNode, "input", "end_time[]");
	setMinTime(thisObj);
}
function nudgeTimeKeydown(evt) {
	evt = evt ? evt : window.event;
	var tObj = (evt.target || evt.srcElement);
	var codeVal = evt.charCode || evt.keyCode;
	if (codeVal == 38) {
		if (timeToInt(tObj.value)-25 > 0) {
			tObj.value = intToTime(timeToInt(tObj.value)-25);
			setMinTime(tObj);
		}
	} else if (codeVal == 40) {
		if (timeToInt(tObj.value)+25 < 2400) {
			tObj.value = intToTime(timeToInt(tObj.value)+25);
			setMinTime(tObj);
		}
	}
}

