var pos; // variable for posting information
function loadXMLPosDoc(url,posData) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        pos = new XMLHttpRequest();
        pos.onreadystatechange = processPosChange;
        pos.open("POST", url, false);
        pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        pos.send(posData);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        pos = new ActiveXObject("Microsoft.XMLHTTP");
        if (pos) {
            pos.onreadystatechange = processPosChange;
            pos.open("POST", url, false);
            pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            pos.send(posData);
        }
    }
}
function processPosChange() {
    // page loaded "complete"
    if (pos.readyState == 4 && pos.status == 200) {
	}
    else {
        document.getElementById('savingDetails').innerHTML = "<strong>Internal Error: Please check your inputs and try again.</strong>";
    }
}
function validateFields() {
	var frmEl = document.getElementById('cForm');
	var posKWH = document.getElementById('posKWH');
	var whiteSpace = /^[\s]+$/;
	var numbers = /^[0-9]+$/;
	if ( posKWH.value == '' || whiteSpace.test(posKWH.value) || !(numbers.test(posKWH.value)) ) {
		//alert("Empty or invalid kWh input.\nPlease enter only numbers and without any spaces.");
        var savings = document.getElementById('savingDetails');
        savings.style.display = 'block';
        savings.innerHTML = "<strong>Empty or invalid kWh input.<br />Please enter only numbers and without any spaces.</strong>";
	}
	else {
		sendkWhInput();
	}
}
function sendkWhInput() {
	var savings = document.getElementById('savingDetails');
	var posProvider = document.getElementById('posProvider');
	var posType = document.getElementById('posType');
	var posKWH = document.getElementById('posKWH');
	var page = "http://www.paylesselectricity.com/calculate/index.php";
	showCalcBar(); // quickly begin the load bar
	savings.style.display = 'none'; // hide the savings block
	var stuff = 'posProvider='+posProvider.value+'&posType='+posType.value+'&posKWH='+posKWH.value;
	loadXMLPosDoc(page,stuff);
}
function showCalcBar () {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
	sentTimer = setTimeout('hideCalcBar()',2000);
}
function hideCalcBar () {
	var loader = document.getElementById('loadBar');
	var savings = document.getElementById('savingDetails');
	var formArea = document.getElementById('calcform');
	var inputs = formArea.getElementsByTagName('input');
	var inputsLen = inputs.length;
	// Hide the load bar alas! Done Loading
	loader.style.display = 'none';
	savings.style.display = 'block';
    savings.innerHTML = pos.responseText;
	// Now Hijack the form elements
	for ( i=0;i<inputsLen;i++ ) {
  		if ( inputs[i].getAttribute('type') == 'text' ) {
  			inputs[i].value = '';
  		}
  	}
}
function ajaxCalculate() {
 	var frmEl = document.getElementById('cForm');
 	addEvent(frmEl, 'submit', validateFields, false);
 	frmEl.onsubmit = function() { return false; }
}
addEvent(window, 'load', ajaxCalculate, false);
