/*
datepicker initialization code
dajw (dominic winsor, get2dom.com)
*/

var txtDate;
var dp;
function initDatePicker()
{
	// create a new datepicker & append to container div
	var datepicker = document.getElementById('datepicker');
	dp = new DatePicker();
	var el = dp.create();
	datepicker.appendChild( el );
	datepicker.style.display = 'none';
}
function getDatePicker(el)
{
	// set up elements
	var datepicker = document.getElementById('datepicker');
	el = document.getElementById(el);
	txtDate = el;
	if (!el.disabled) 
	{
		// update field onchange
		dp.onchange = function () {
			txtDate.value = dateFormat(dp.getDate());
		};
		
		// copy existing date to datepicker
		if (el.value.length==10 && el.value!="dd/mm/yyyy") 
		{
			dTemp = new Date();
			dTemp.setDate( el.value.substring(0,2) );
			dTemp.setMonth( parseInt(el.value.substring(3,5))-1 );
			dTemp.setFullYear( el.value.substring(6,10) );
			dp.setDate(dTemp);
		}
		
		// position the container div (by walking up the DOM and summing all offset positions.)
		var x = 0;
		var y = el.offsetHeight;
		while (el.offsetParent && el.tagName.toUpperCase() != 'BODY')
		{
			x += el.offsetLeft;
			y += el.offsetTop;
			el = el.offsetParent;
		}
		x += el.offsetLeft;
		y += el.offsetTop;

		datepicker.style.left = x + 'px';
		datepicker.style.top = y + 'px';
		datepicker.style.display = 'block';
		if (document.getElementById('lstStatus')) document.getElementById('lstStatus').style.display = 'none';
		if (document.getElementById('lstCommand')) document.getElementById('lstCommand').style.display = 'none';
	}
}

// called from datepicker.js: useButton, added by dajw
function hideDatePicker(dpDate)
{
	var d = dpDate.getDate();
	txtDate.value = (d==null) ? "" : dateFormat(d);
	document.getElementById('datepicker').style.display = 'none';
	if (document.getElementById('lstStatus')) document.getElementById('lstStatus').style.display = 'inline';
	if (document.getElementById('lstCommand')) document.getElementById('lstCommand').style.display = 'inline';
}

// return a ddmmyyyy formatted string
function dateFormat(d)
{
    try
    {
	    var dy = d.getDate();
	    var mn = d.getMonth()+1;
	    var yr = new String(d.getFullYear()); //.substring(2,4);
	    if (dy<10) dy = "0"+dy;
	    if (mn<10) mn = "0"+mn;
	    return dy+"/"+mn+"/"+yr;
	}
	catch(exception)
	{
	    return "";
	}
}
