
function store_default() {
    appmain_tabclicked(3 /* Store */);
    // actual work
    var xmlHttp = appmain_getXmlHttp();
    url = _LGP_BASE_URL + "store.php";
    //alert(url);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=function() {
        if(xmlHttp.readyState == 4) {
            var json = eval('(' + xmlHttp.responseText + ')');
            var redirected = appmain_redirectIfRequired(json, "flow/store");
            if(redirected == false) {
                document.getElementById("gt-body").innerHTML = json.html;
                eval(json.js_functions);
            }
        }
    };
    xmlHttp.send(null);
}

function store_onPrepareSuppliesClicked() {
	var supplies = serializeForm(document.getElementById("prepareSuppliesForm"));
    var xmlHttp = appmain_getXmlHttp();
	var url = _LGP_BASE_URL + "store.php";
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp.onreadystatechange=function() {
        if(xmlHttp.readyState == 4) {
            //alert(xmlHttp.responseText);
            var json = eval('(' + xmlHttp.responseText + ')');
            var redirected = appmain_redirectIfRequired(json, "flow/storeconfirm");
            if(redirected == false) {
                document.getElementById("storeBody").innerHTML = json.storeBodyHtml;
                eval(json.js_functions);
            }
        }
    };

	var params = "";
	params += "&failFormId=checkoutSuppliesFailForm";
	params += "&failFormFunc=store_onCheckoutSuppliesFailClicked";
	params += "&successFormId=checkoutSuppliesSuccessForm";
	params += "&successFormFunc=store_onCheckoutSuppliesSuccessClicked";
	params += "&supplies=" + supplies;
	params += "&uq=" + (new Date().getUTCMilliseconds());
    xmlHttp.send("op=getCheckoutSupplies" + params);
}

function store_onCheckoutSuppliesSuccessClicked() {
	var checklist = serializeForm(document.getElementById("checkoutSuppliesSuccessForm"));
    var xmlHttp = appmain_getXmlHttp();
	var url = _LGP_BASE_URL + "store.php";
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp.onreadystatechange=function() {
        if(xmlHttp.readyState == 4) {
            //alert(xmlHttp.responseText);
            var json = eval('(' + xmlHttp.responseText + ')');
            var redirected = appmain_redirectIfRequired(json, "flow/storeconfirm");
            if(redirected == false) {
                appmain_showMessage("Thank you for using Crazy Al's store!");
                appmain_refreshHeader();
                greenpatch_default();
            }
        }
    };

	var params = "";
	params += "&supplies=" + checklist;
	params += "&uq=" + (new Date().getUTCMilliseconds());
    xmlHttp.send("op=performCheckoutSupplies" + params);
}

function store_onCheckoutSuppliesFailClicked() {
    store_default ();
}

function updateTotal() {

  var rakePrice = document.getElementById('lgp-RakePrice').value;
  var glovesPrice = document.getElementById('lgp-GlovesPrice').value;
  var hosePrice = document.getElementById('lgp-HosePrice').value;
  var carrotsPrice = document.getElementById('lgp-CarrotsPrice').value;
  var nutsPrice = document.getElementById('lgp-NutsPrice').value;
  var dogbonesPrice = document.getElementById('lgp-DogbonesPrice').value;
  var cameraPrice = document.getElementById('lgp-CameraPrice').value;

  var rakeCount = 0;
  var elem = document.getElementById('lgp-RakeSelect');
  var val = document.getElementById('lgp-RakeCount');
  if (elem != null) {
    rakeCount = elem.selectedIndex;
    var rakeCountInt = parseInt(rakeCount);
    if (rakeCountInt > 0) {
      val.value = rakeCountInt;
    } else {
      val.value = '0';
    }
  }

  var glovesCount = 0;
  var elem = document.getElementById('lgp-GlovesSelect');
  var val = document.getElementById('lgp-GlovesCount');
  if (elem != null) {
    glovesCount = elem.selectedIndex;
    var glovesCountInt = parseInt(glovesCount);
    if (glovesCountInt > 0) {
      val.value = glovesCountInt;
    } else {
      val.value = '0';
    }
  }

  var hoseCount = 0;
  var elem = document.getElementById('lgp-HoseSelect');
  var val = document.getElementById('lgp-HoseCount');
  if (elem != null) {
    hoseCount = elem.selectedIndex;
    var hoseCountInt = parseInt(hoseCount);
    if (hoseCountInt > 0) {
      val.value = hoseCountInt;
    } else {
      val.value = '0';
    }
  }

  var carrotsCount = 0;
  var elem = document.getElementById('lgp-CarrotsSelect');
  var val = document.getElementById('lgp-CarrotsCount');
  if (elem != null) {
    carrotsCount = elem.selectedIndex;
    var carrotsCountInt = parseInt(carrotsCount);
    if (carrotsCountInt > 0) {
      val.value = carrotsCountInt;
    } else {
      val.value = '0';
    }
  }

  var nutsCount = 0;
  var elem = document.getElementById('lgp-NutsSelect');
  var val = document.getElementById('lgp-NutsCount');
  if (elem != null) {
    nutsCount = elem.selectedIndex;
    var nutsCountInt = parseInt(nutsCount);
    if (nutsCountInt > 0) {
      val.value = nutsCountInt;
    } else {
      val.value = '0';
    }
  }

  var dogBonesCount = 0;
  var elem = document.getElementById('lgp-DogbonesSelect');
  var val = document.getElementById('lgp-DogbonesCount');
  if (elem != null) {
    dogbonesCount = elem.selectedIndex;
    var dogbonesCountInt = parseInt(dogbonesCount);
    if (dogbonesCountInt > 0) {
      val.value = dogbonesCountInt;
    } else {
      val.value = '0';
    }
  }

  var cameraCount = 0;
  var elem = document.getElementById('lgp-CameraSelect');
  var val = document.getElementById('lgp-CameraCount');
  if (elem != null) {
    cameraCount = elem.selectedIndex;
    var cameraCountInt = parseInt(cameraCount);
    if (cameraCountInt > 0) {
      val.value = cameraCountInt;
    } else {
      val.value = '0';
    }
  }

  var total = (rakePrice     * rakeCount    ) +
              (glovesPrice   * glovesCount  ) +
              (hosePrice     * hoseCount    ) +
              (carrotsPrice  * carrotsCount ) +
              (nutsPrice     * nutsCount    ) +
              (dogbonesPrice * dogbonesCount) +
              (cameraPrice   * cameraCount  );

  document.getElementById('checkoutAmount').innerHTML = total;
}
