﻿function callLocalService(method, params, callback) {
  jQuery.ajax({
    type:     "POST",
    url:      "services/" + method + ".ashx",
    data:     params,
    dataType: "xml",
    success:  function(responseXml) {
      callback(responseXml);
    }
  });
  
  return false;
}

function getError(xml) {
  return jQuery(xml).find("Error").text() + jQuery(xml).find("error").text();
}

function paypalSubmit(product, qty) {
  var params = "email=" + jQuery("#emailAddress").val() + "&optin=" + jQuery("#optIn").attr("checked") + "&cart=" + product + "," + qty;
  callLocalService("ConfirmOrder", params,
    function (xml) {
      if (getError(xml) != "") {
        alert(getError(xml));
      } else {
        if (jQuery(xml).find("trackSubmission").text() == "true") {
          trackSubmission();
          jQuery("#invoice").val(jQuery(xml).find("orderId").text());
          jQuery("#form1").attr("action", jQuery(xml).find("postBackUrl").text()); 
          jQuery("#form1").submit();
        } else {
          window.location = jQuery(xml).find("postBackUrl").text();
        }
      }
    }
  );
  return false;
}

function siteSubmit(form) {
  var params = "email=" + jQuery("#emailAddress").val() + "&optin=" + jQuery("#optIn").attr("checked") + "&cart=1,1";
  jQuery.ajax({
    type:     "POST",
    url:      "../services/ConfirmOrder.ashx",
    data:     params,
    dataType: "xml",
    success:  function(xml) {
      if (getError(xml) != "") {
        alert(getError(xml));
      } else {
        jQuery("#invoice").val(jQuery(xml).find("orderId").text());
        form.submit();
      }
    }
  });
  return false;
}

function sendOrder() {
  var params = "email=" + jQuery("#emailAddress").val();
  callLocalService("UpdateOrder", params,
    function (xml) {
      if (getError(xml) != "") {
        alert(getError(xml));
      } else {
        jQuery("#form1").submit();
      }
    }
  );
  return false;
}

function trackSubmission() {
  callLocalService("TrackSubmission", "", function() {});
}
