if (!(typeof(addEvent)=='function')) {
  function addEvent(name,obj,f) {
    if (window.attachEvent) {
      obj.attachEvent("on"+name,f);
    } else if (window.addEventListener) {
      obj.addEventListener(name,f,false);
    }
  }
}

addEvent('load',window,function() {
	function reviewdate(e) {
		while (el=calbtn.nextSibling) {
			calbtn.parentNode.removeChild(el);
		}

		if (d.value=='') return true;

		if (isNaN(Date.parse(d.value))) {
			if (window.event) {
				window.event.cancelBubble=true;
				window.event.returnValue=false;
			}
			if (e.preventDefault) e.preventDefault();
			if (e.stopPropagation) e.stopPropagation();

			calbtn.parentNode.appendChild(document.createElement('br'));
			calbtn.parentNode.appendChild(document.createTextNode('Do not understand date format.'));

			return false;
		}

		return true;
	}

	var d=document.getElementById('date');
	var calbtn=document.getElementById('calbtn');
	if (d && calbtn) {

		var el=d.parentNode;

		while (el && el.nodeName.toLowerCase() != 'form') {
			el=el.parentNode;
		}

		if (el) {
			addEvent('submit',el,reviewdate);
			Calendar.setup({
				weekNumbers: false,
				inputField: "date",
				button: "calbtn",
				ifFormat: "%b %d, %Y"
			});
		}
	}
});