window.addEvent('domready', function() {

// Lines per order displayed -- change to match the actual code
var number_of_lines = 20;

var to_submit_v = $('to_submit');
var the_form_v = $('the_form');
var err_msg_v = $('err_msg');
var main_content_v = $('content');

var mySlide = new Fx.Slide('err_msg');
mySlide.hide();

// Calcualte button
$('calc').addEvent('click', function(e) {
	to_submit_v.value = "false";	
	calculate(the_form_v);	
});

// Submit button
$('submit').addEvent('click', function(e) {
	to_submit_v.value = "true";
	calculate(the_form_v);
});

function calculate(a) {
	a.send({
		   onComplete: calcCallback
		   });	
	return true;
}
	
function calcCallback(request) {
	var xml = (this.transport.responseXML);
	var error = false;
	var errormessage = '';
	
	// find if there is error
	try {
		var u = xml.getElementsByTagName("error");
		error = u[0].childNodes[0].nodeValue;
	}
	catch(e) {
		error = false;
	}
	
	if(error) {
		error = error.split(",");		
		for (var i=0; i<error.length; i++) {
			if(error[i] != '') {
				errormessage += error[i] + '<br>';
			}
		}
		
		err_msg_v.setHTML(errormessage);
		err_msg_v.setStyle('display', 'block');
		mySlide.slideIn();
	}
	else if(to_submit_v.value == "true") {
		main_content_v.setHTML('<p>Thank you. Your order has been submitted.</p>');
		return true;
	}
	else {
		mySlide.slideOut();
		var u = xml.getElementsByTagName('item');
		
		// clean the old calculations
		for (var i=0; i<number_of_lines; i++) {
			$('col5[' + i + ']').value = '';
			$('col6[' + i + ']').value = '';
			$('col7[' + i + ']').value = '';
		}
		
		var err_msg = '';
		var lineindex = 0;
		var gr_total = 0;
		
		for (var i=0; i<u.length; i++) {
			line = (u[i].getElementsByTagName("line"))[0].childNodes[0].nodeValue;
			panels = (u[i].getElementsByTagName("panels"))[0].childNodes[0].nodeValue;
			plength = (u[i].getElementsByTagName("plength"))[0].childNodes[0].nodeValue;		  
			cost = (u[i].getElementsByTagName("cost"))[0].childNodes[0].nodeValue;
			cost = Math.round(Number(cost) * Math.pow(10,2)) / Math.pow(10,2);
			
			$('col5[' + line + ']').value = panels;
			$('col6[' + line + ']').value = plength;
			$('col7[' + line + ']').value = cost;
			
			gr_total += Math.round(Number(cost) * Math.pow(10,2));			
		}
		
		gr_total = gr_total / Math.pow(10,2);
		 
		total = $('total');
		total.value = gr_total;
	 
		return true;  
	}
}

});