
var numCopies = 0;
var blankButton;
var blankButtonPP;

function updateDiscount() {
  if (numCopies >= 5) {
   var subtotal = numCopies * 29.99
   var percent = 5
   if (numCopies == 10) percent = 12.5
   document.getElementById('discount').innerHTML = "<b>Discount of "+percent+"% :</b><big> £"+(subtotal*percent/100).toFixed(2)+"</big>"
   document.getElementById('discount').style.color = "#ff0000"
  }
  else {
   document.getElementById('discount').innerHTML = "<b>Discount :</b><big> £0.00</big>"
   document.getElementById('discount').style.color = "#000000"
  }
}

function updateTotal() {
  var total = parseFloat(document.getElementById('shipping').innerHTML.substr(document.getElementById('shipping').innerHTML.lastIndexOf('£')+1))
  total -= parseFloat(document.getElementById('discount').innerHTML.substr(document.getElementById('discount').innerHTML.lastIndexOf('£')+1))
  total += numCopies * 29.99
  document.getElementById('total').innerHTML = "<big><b>TOTAL : £"+total.toFixed(2)+"</b></big>"
  document.forms[0].TotalPrice.value = "£"+total.toFixed(2)
}

function Maximum(a, b) {
  if (a < b) return a
  else return b
}

function updateShipping() {
   if (document.getElementById('UK').checked || document.getElementById('Europe').checked || document.getElementById('World-Standard').checked || document.getElementById('World-Air').checked)
   {
    if (document.getElementById('UK').checked) amount = Maximum(numCopies, 5)*3
    else if (document.getElementById('Europe').checked) amount = Maximum(numCopies, 5)*6
    else if (document.getElementById('World-Standard').checked) amount = Maximum(numCopies, 5)*6
    else amount = Maximum(numCopies, 5)*12
    document.getElementById('shipping').innerHTML = "<b>Postage & Packing @ £"+(amount/numCopies).toFixed(2)+" per book : </b><big>£"+amount.toFixed(2)+"</big>"
   }
   else
   {
      document.getElementById('shipping').innerHTML = "<b>Postage & Packing (see delivery options below) : </b><big>£0.00</big>"
   }
  updateTotal()
}

function updatePrice(box, id) {
  if (box.checked) document.getElementById("price"+id).innerHTML = "£"+(getPrice(id)+5).toFixed(2)
  else document.getElementById("price"+id).innerHTML = "£"+(getPrice(id)-5).toFixed(2)
  updateDiscount()
  updateTotal()
}

function choose(howMany) {
   numCopies = howMany
   updateDiscount()
   updateShipping()
}

function untickOptions() {
  document.getElementById('choose1').checked = "checked"
  document.getElementById('UK').checked = ""
  document.getElementById('Europe').checked = ""
  document.getElementById('World-Standard').checked = ""
  document.getElementById('World-Air').checked = ""
}

function withoutSpace(text) {
  return text.replace(/^\s+|\s+$/g, '')
}

var submission = false
function submitGoogleOrder() {
  if (submission) return false

  if (!document.getElementById('UK').checked && !document.getElementById('Europe').checked && !document.getElementById('World-Standard').checked && !document.getElementById('World-Air').checked)
  {
   alert("Please select a delivery option first")
   return false
  }

  var numLimited = 0
  var numSigned = 0
  var numBoth = 0
/*
  for (i=1; i<=numCopies; i++) {
   var thisLimited = eval("document.forms[0].Copy"+i+"LimitedEdition.checked")
   var thisSigned = eval("document.forms[0].Copy"+i+"PersonallySigned.checked")
   if (thisLimited && thisSigned) numBoth++
   else if (thisLimited) numLimited++;
   else if (thisSigned) numSigned++;
  }
*/

  // Generate the checkout button
  document.getElementById("googlebutton").innerHTML = blankButton

  var numItems = 0
   for (loop=0; loop<7; loop++) {
      var add = false
      if ((loop == 0) && (numCopies - (numLimited+numSigned+numBoth) > 0)) add = true
//      if ((loop == 1) && (numLimited > 0)) add = true
//      if ((loop == 2) && (numSigned > 0)) add = true
//      if ((loop == 3) && (numBoth > 0)) add = true
      if ((loop == 4) && (numCopies >= 5)) add = true
//      if ((loop == 5) && (withoutSpace(document.forms[0].Message.value).length > 0)) add = true
      if ((loop == 6) && document.forms[0].InvoiceBox.checked) add = true

     if (add) {
         numItems++

         var title = document.createElement("input")
         title.type = "hidden"
         title.name = "item_name_"+numItems
         if (loop == 4) title.value = "DISCOUNT"
         else if (loop == 5) title.value = "Special message"
         else if (loop == 6) title.value = "Paper invoice"
         else title.value = "Georgian Silver Sugar Tongs"

         var description = document.createElement("input")
         description.type = "hidden"
         description.name = "item_description_"+numItems
         if (loop == 0) description.value = "Standard hardback"
         if (loop == 1) description.value = "Limited edition hardback"
         if (loop == 2) description.value = "Personally signed hardback"
         if (loop == 3) description.value = "Personally signed, limited edition hardback"
         if (loop == 4) {
            if (numCopies == 10) description.value = "12.5%"
            else description.value = "5%"
         }
         if (loop == 5) description.value = description.value = document.forms[0].Message.value
         if (loop == 6) description.value = ""

         var quantity = document.createElement("input")
         quantity.type = "hidden"
         quantity.name = "item_quantity_"+numItems
         if (loop == 0) quantity.value = ""+(numCopies - (numLimited+numSigned+numBoth))
         else if (loop == 1) quantity.value = ""+numLimited
         else if (loop == 2) quantity.value = ""+numSigned
         else if (loop == 3) quantity.value = ""+numBoth
         else quantity.value = "1"

         var price = document.createElement("input")
         price.type = "hidden"
         price.name = "item_price_"+numItems
         if (loop == 0) price.value = "29.99"
         else if (loop == 1) price.value = "34.99"
         else if (loop == 2) price.value = "34.99"
         else if (loop == 3) price.value = "39.99"
         else if (loop == 4) price.value = "-"+(parseFloat(document.getElementById('discount').innerHTML.substr(document.getElementById('discount').innerHTML.lastIndexOf('£')+1)))
         else price.value = "0.0"

         var currency = document.createElement("input")
         currency.type = "hidden"
         currency.name = "item_currency_"+numItems
         currency.value = "GBP"

         document.getElementById("googlebutton").appendChild(title)
         document.getElementById("googlebutton").appendChild(description)
         document.getElementById("googlebutton").appendChild(quantity)
         document.getElementById("googlebutton").appendChild(price)
         document.getElementById("googlebutton").appendChild(currency)
     }
   }

   var deliveryOption = 1
   if ( document.getElementById('Europe').checked ) deliveryOption = 2
   else if ( document.getElementById('World-Standard').checked ) deliveryOption = 3
   else if ( document.getElementById('World-Air').checked ) deliveryOption = 4

   for (d=1; d<=4; d++, ++deliveryOption)
   {
      if ( deliveryOption > 4 ) deliveryOption = 1

      var title = document.createElement("input")
      title.type = "hidden"
      title.name = "ship_method_name_"+d

      if (deliveryOption==1) {
         title.value = "Standard UK delivery"
      }
      else if (deliveryOption==2) {
         title.value = "Europe"
      }
      else if (deliveryOption==3) {
         title.value = "Rest of the world (standard)"
      }
      else {
         title.value = "Rest of the world (airmail)"
      }

      var price = document.createElement("input")
      price.type = "hidden"
      price.name = "ship_method_price_"+d
      var postage = parseFloat(document.getElementById('shipping').innerHTML.substr(document.getElementById('shipping').innerHTML.lastIndexOf('£')+1))
      if ( d > 1 ) {
         if (document.getElementById('UK').checked) {
            if (d==4) postage = postage*4.0
            else postage = postage*2.0
         }
         else if (document.getElementById('Europe').checked) {
            if (d==3) postage = postage*2.0
            else if (d==4) postage = postage*0.5
         }
         else if (document.getElementById('World-Standard').checked) {
            if (d==2) postage = postage*2.0
            else if (d==3) postage = postage*0.5
         }
         else {
            if (d==2) postage = postage*0.25
            else postage = postage*0.5
         }
      }
      price.value = ""+postage

      var currency = document.createElement("input")
      currency.type = "hidden"
      currency.name = "ship_method_currency_"+d
      currency.value = "GBP"

      var area = document.createElement("input")
      area.type = "hidden"
      area.name = "checkout-flow-support.merchant-checkout-flow-support.shipping-methods.flat-rate-shipping-"+d+".shipping-restrictions.allowed-areas.world-area-1"
      area.value = "true"

      document.getElementById("googlebutton").appendChild(title)
      document.getElementById("googlebutton").appendChild(price)
      document.getElementById("googlebutton").appendChild(currency)
      document.getElementById("googlebutton").appendChild(area)
   }

   submission = true

  return true
}

function submitPayPalOrder() {
  if (submission) return false

  if (!document.getElementById('UK').checked && !document.getElementById('Europe').checked && !document.getElementById('World-Standard').checked && !document.getElementById('World-Air').checked)
  {
   alert("Please select a delivery option first")
   return false
  }

  var numLimited = 0
  var numSigned = 0
  var numBoth = 0
/*
  for (i=1; i<=numCopies; i++) {
   var thisLimited = eval("document.forms[0].Copy"+i+"LimitedEdition.checked")
   var thisSigned = eval("document.forms[0].Copy"+i+"PersonallySigned.checked")
   if (thisLimited && thisSigned) numBoth++
   else if (thisLimited) numLimited++;
   else if (thisSigned) numSigned++;
  }
*/

  // Generate the checkout button
  document.getElementById("paypalbutton").innerHTML = blankButtonPP

   var numItems = 0
   for (loop=0; loop<7; loop++) {
      var add = false
      if ((loop == 0) && (numCopies - (numLimited+numSigned+numBoth) > 0)) add = true
//      if ((loop == 1) && (numLimited > 0)) add = true
//      if ((loop == 2) && (numSigned > 0)) add = true
//      if ((loop == 3) && (numBoth > 0)) add = true
//      if ((loop == 4) && (numCopies >= 5)) add = true
//      if ((loop == 5) && (withoutSpace(document.forms[0].Message.value).length > 0)) add = true
      if ((loop == 6) && document.forms[0].InvoiceBox.checked) add = true

     if (add) {
         numItems++

         var title = document.createElement("input")
         title.type = "hidden"
         title.name = "item_name_"+numItems
         if (loop == 4) title.value = "DISCOUNT"
         else if (loop == 5) title.value = "Special message"
         else if (loop == 6) title.value = "Paper invoice"
         else {
            title.value = "Georgian Silver Sugar Tongs, standard hardback"
            if (numCopies == 10) title.value += " -12.5% DISCOUNT"
            else if (numCopies >= 5) title.value += " -5% DISCOUNT"
         }

         var quantity = document.createElement("input")
         quantity.type = "hidden"
         quantity.name = "quantity_"+numItems
         if (loop == 0) quantity.value = ""+(numCopies - (numLimited+numSigned+numBoth))
         else if (loop == 1) quantity.value = ""+numLimited
         else if (loop == 2) quantity.value = ""+numSigned
         else if (loop == 3) quantity.value = ""+numBoth
         else quantity.value = "1"

         var price = document.createElement("input")
         price.type = "hidden"
         price.name = "amount_"+numItems
         if (loop == 0) {
            if (numCopies == 10) price.value = "26.24"
            else if (numCopies >= 5) price.value = "28.49"
            else price.value = "29.99"
         }
         else if (loop == 1) price.value = "34.99"
         else if (loop == 2) price.value = "34.99"
         else if (loop == 3) price.value = "39.99"
         else if (loop == 4) price.value = "-"+(parseFloat(document.getElementById('discount').innerHTML.substr(document.getElementById('discount').innerHTML.lastIndexOf('£')+1)))
         else price.value = "0.0"

         document.getElementById("paypalbutton").appendChild(title)
         document.getElementById("paypalbutton").appendChild(quantity)
         document.getElementById("paypalbutton").appendChild(price)
     }
   }

   var shipping = document.createElement("input")
   shipping.type = "hidden"
   shipping.name = "handling_cart"
   shipping.value = ""+parseFloat(document.getElementById('shipping').innerHTML.substr(document.getElementById('shipping').innerHTML.lastIndexOf('£')+1))
   document.getElementById("paypalbutton").appendChild(shipping)

   submission = true
   return true
}

