////////////////////////////////////////////////////////////////////////////////
// upload.js
// -----------------------------------------------------------------------------
// AJAX interface to DataZoo upload functions
////////////////////////////////////////////////////////////////////////////////

YAHOO.namespace("DZUpload"); 

////////////////////////////////////////////////////////////////////////////////
// AJAX calls to upload a file and extract column headers, creating step 2 form
////////////////////////////////////////////////////////////////////////////////

YAHOO.DZUpload.stepOne = { 
	
	handlesuccess:function(o) { 
		YAHOO.DZUpload.stepOne.target.innerHTML = o.responseText;
		document.getElementById('step2').style.display = 'block';
		checkValues('cols[]', false)
	},

	handlefailure:function(o) {
		alert('AJAX call failed at the request level:' + o.statusText);
	},

	startRequest:function() {
		// Clear out step 2 form
		YAHOO.DZUpload.stepOne.target = document.getElementById('step2_content');
		YAHOO.DZUpload.stepOne.target.innerHTML = '';

		// Hide step 3 form
		document.getElementById('step3').style.display = 'none';

		YAHOO.util.Connect.setForm('uploadForm', true, true);
		YAHOO.util.Connect.asyncRequest('POST', '?action=upload-ajax&step=1', YAHOO.DZUpload.stepOneCallback); 
	}

};

YAHOO.DZUpload.stepOneCallback = { 
	upload:YAHOO.DZUpload.stepOne.handlesuccess, 
	failure:YAHOO.DZUpload.stepOne.handlefailure,
	scope:YAHOO.DZUpload.stepOne
};


////////////////////////////////////////////////////////////////////////////////
// AJAX calls to parse a file into the database, creating step 3 results
////////////////////////////////////////////////////////////////////////////////

YAHOO.DZUpload.stepTwo = { 
	
	handlesuccess:function(o) {
		YAHOO.DZUpload.stepTwo.target.innerHTML = o.responseText;
		document.getElementById('step3').style.display = 'block';
	},

	handlefailure:function(o) {
		alert('AJAX call failed at the request level:' + o.statusText);
	},

	startRequest:function() {
		YAHOO.DZUpload.stepTwo.target = document.getElementById('step3_content');
		YAHOO.DZUpload.stepTwo.target.innerHTML = '';

		YAHOO.util.Connect.setForm('uploadForm', true, true);
		YAHOO.util.Connect.asyncRequest('POST', '?action=upload-ajax&step=2', YAHOO.DZUpload.stepTwoCallback); 
	}

};

YAHOO.DZUpload.stepTwoCallback = { 
	upload:YAHOO.DZUpload.stepTwo.handlesuccess, 
	failure:YAHOO.DZUpload.stepTwo.handlefailure,
	scope:YAHOO.DZUpload.stepTwo
};