// This file should be included near the end of your document to work properly

(function() {
	if ( ! document.getElementsByName || !document.createElement ) return;
	var dateClass = 'date';
	var numYears = 5;
	var DatePicker = new function() {
		var months = ['January','February','March','April','May','June', 'July', 'August','September','October','November','December'];
		var dates = [];
		for(var d=1; d < 32; d++ ) {
			dates[dates.length] = d;
		}
		var years = [];
		for(var j=0, y=(new Date).getFullYear(); j < numYears; j++ ) {
			years[years.length] = y + j;
		}
		
		
		
		
		return {
			create: function(input) {
				var selected = new Array(3);
				var update =input;
				var current = update.value.split('/');
				update.style.cssText = 'position: absolute; visibility:hidden; left: -300em;';
				function updateDates(val, idx) {
					selected[idx] = val;
					update.value = selected.join('/');
					update.setAttribute('value',update.value);
				}
				function bindData (idx, sel, data, useIndex) {
					sel.options[0] = new Option('Choose One','');
					for( var i=0,l=data.length; i<l; i++ ) {
						sel.options[i+1] = new Option(data[i], useIndex===true ? i +1: data[i]);
						if ( current[idx] == sel.options[i+1].value ) sel.options[i+1].selected = true;
					}
					sel.idx = idx
					sel.onchange= function(){ updateDates(this.value, this.idx); };
					return sel;
				}
			
				var sel = document.createElement('select');
				var p = update.parentNode
				p.appendChild( bindData(0, sel.cloneNode(false), months, true) );
				p.appendChild( document.createTextNode(' ') );
				p.appendChild( bindData(1, sel.cloneNode(false), dates, false) );
				p.appendChild( document.createTextNode(' ') );
				p.appendChild( bindData(2, sel.cloneNode(false), years, false) );

				
			}
		}
	}

	var inputs= document.getElementsByTagName('input');

	for (var i = 0, l = inputs.length; i < l; i++ ) {
		var input = inputs[i];
		if ( input.className.indexOf(dateClass) > -1 ) {
			
			DatePicker.create(input);
		}
	}


})();
