var blankreg=new RegExp("^[ ]*$");
//construction of xmlhttp object
function xmlhttpobj(){
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
 }
else if (window.ActiveXObject)
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
}

//calculate price
function priceCalculator(){
	var aprice=0.00,x='',len,tx,fuel,sbtl=0.00,ttl=0.00,dotpos;
	for(i=0;i<=document.forms[0].totalproduct.value;i++){
if(document.getElementById('price'+i).value!='N/A'){
x=document.getElementById('price'+i).value.toString();
len=x.length-1;
aprice=Number(x.substr(1,len));
sbtl+=aprice;
}
	}
	sbtl=sbtl.toString();
	dotpos=sbtl.indexOf('.');
	if(sbtl>0 && dotpos==-1){
		sbtl=sbtl+'.00';
		}else{
sbtl=sbtl+0.00;
	}
document.forms[0].subtotal.value='$'+sbtl;
sbtl=Number(sbtl);
tx=document.forms[0].tax.value;
fuel=document.forms[0].fuel.value;
sbtl=sbtl*(1+fuel/100);
ttl=sbtl*(1+tx/100);
ttl=ttl.toString();
dotpos=ttl.indexOf('.');
ttl=ttl.substr(0,dotpos+3);
document.forms[0].total.value='$'+ttl;
}

//add product
function addProduct(){
var allrows=document.getElementById('priceTB').rows.length-4;
var x=document.getElementById('priceTB').insertRow(allrows);
var y=x.insertCell(0);
var z=x.insertCell(1);
var m=x.insertCell(2);
y.innerHTML=preGetProductList(allrows-1);
z.innerHTML='<div id="unitList'+(allrows-1)+'"></div>';
m.innerHTML='<input type="text" name="price'+(allrows-1)+'" id="price'+(allrows-1)+'" readonly="readonly" size="4" style="border:none; background:#FFFFFF" />';
getUnitList(allrows-1);
document.forms[0].totalproduct.value=allrows-1;
}
//delete product
function removeProduct(r)
{
var i=r.parentNode.parentNode.rowIndex;
document.getElementById('priceTB').deleteRow(i);
}
//
xmlhttpobj();
//get unit list
function getUnitList(x){
var myurl="getUnitList.php?product="+document.getElementById('products'+x).value+"&list="+x;
        xmlhttp.open("GET",myurl,true);
			xmlhttp.onreadystatechange=toGetUnitList; 
			        xmlhttp.send(null);
}
function toGetUnitList(){
if (xmlhttp.readyState==4) {
		if (xmlhttp.status==200) {
if(xmlhttp.responseText!=-1){
	var fdbk=xmlhttp.responseText.split("~^~");
	document.getElementById('unitList'+fdbk[0]).innerHTML=fdbk[1];
	pricebyProductUnitArea(fdbk[0]);
}
}
}
}
//get price by product, area, unit
function pricebyProductUnitArea(x){
var myurl="getPricebyProductUnitArea.php?product="+document.getElementById('products'+x).value+"&area="+document.forms[0].area.value+"&unit="+document.getElementById('aunit'+x).value+'&list='+x;
var abrowser=navigator.userAgent.indexOf("MSIE")==-1?true:false;
xmlhttp.open("GET",myurl,abrowser);
			xmlhttp.onreadystatechange=getpricebyProductUnitArea; 
xmlhttp.send(null);
}
function getpricebyProductUnitArea(){
	if (xmlhttp.readyState==4) {
		if (xmlhttp.status==200) {
if(xmlhttp.responseText!=-1){
var fdbk=xmlhttp.responseText.split('~^~');
var theprice=fdbk[0]==""?'N/A':fdbk[0];
document.getElementById('price'+fdbk[1]).value=theprice;
priceCalculator();
}
}
}
}
//area changes
function getPrice(){
for(t=0;t<=document.forms[0].totalproduct.value;t++){
pricebyProductUnitArea(t);
}
}
//
function priceForm(){
var theform=document.forms[0];
var thewarn=document.getElementById('warnmsg');
if(theform.total.value=='$0'){	
thewarn.innerHTML="No valid selection";
return false;
}
var formlen=theform.elements.length;
for($i=formlen-9;i<formlen-1;i++){
if(i!==formlen-12 && i!==formlen-10 && theform.elements[i].value.match(blankreg)!=null){	
thewarn.innerHTML="Required information";
theform.elements[i].focus();
return false;
}
}
if(theform.deliveryam.checked==false && theform.deliverypm.checked==false) {
thewarn.innerHTML="Required information";
theform.deliveryam.focus();
return false;
}
if(theform.pay[0].checked==false && theform.pay[1].checked==false && theform.pay[2].checked==false) {
thewarn.innerHTML="Required information";
theform.pay[0].focus();
return false;
}
}
