/*  Store Javascript */

function makeRequest(dowhat,parameters) {
  var httpRequest;
  if (window.XMLHttpRequest) {
    httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) httpRequest.overrideMimeType('text/xml');
  } else if (window.ActiveXObject) {
    try {
      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      try {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {}
    }
    // alert ('activex');
  }
  if (!httpRequest) {
//     alert ("Cannot create an XMLHTTP instance");
    return false;
  }

  switch (dowhat) {
    case 'updatebasket'   :
    case 'updateshipping' :
      httpRequest.onreadystatechange = function() {
//         update_basket(httpRequest);
        if (dowhat == 'updateshipping') update_shipping_charges(httpRequest);
      }
      httpRequest.open('GET','_inc/ajax.getshipping.php',true);
      httpRequest.send(parameters);
      break;

    default :
      alert ('Unknown action : '+dowhat);
      return false;
      break;
  }

  return true;
}


function update_shipping_charges(httpRequest) {
  try {
    if (httpRequest.readyState == 4) {
      if (httpRequest.status == 200) {
        var xmldoc  = httpRequest.responseXML;
        return xmldoc;
      } else {
        // alert ('there was a problem with the request');
        return false;
      }
    }
  }
  catch (e) {
    // alert ('Caught Exception: ' + e.description);
    return false;
  }




}



function show_pu_img(loc) {
  /*  This is a magic function that eleminates the need for pop-up windows */
  var JSPU_screen         = document.createElement('div');
  JSPU_screen.id          = 'JSPU_screen_overlay';

  var JSPU_preview        = document.createElement('div');
  JSPU_preview.id         = 'JSPU_preview';
  var JSPU_preview_img    = document.createElement('img');
  JSPU_preview_img.src    = loc;
  JSPU_preview.appendChild(JSPU_preview_img);
  var closetextp          = document.createElement('p');
  var closetext           = document.createTextNode("Click To Close Preview");
  closetextp.appendChild(closetext);
  JSPU_preview.appendChild(closetextp);

  document.body.appendChild(JSPU_screen);
  document.body.appendChild(JSPU_preview);

  document.getElementById('JSPU_preview').onclick=function(){
    close_pu_img();
  }
}

var objet;

function close_pu_img() {
  /* This kills the divs createed above */
  objet = document.getElementById('JSPU_screen_overlay');
  document.body.removeChild(objet);
  objet = document.getElementById('JSPU_preview');
  document.body.removeChild(objet);
  return true;

}

  function toggle_address(adid,adtype) {
    if (document.getElementById('address_errors') != undefined) {
      var oNodeToRemove = document.getElementById("address_errors");
      oNodeToRemove.parentNode.removeChild(oNodeToRemove);

      document.getElementById('address1').className   = document.getElementById('address1').className.replace(/_mm$/,'');
      document.getElementById('address2').className   = document.getElementById('address2').className.replace(/_mm$/,'');
      document.getElementById('address3').className   = document.getElementById('address3').className.replace(/_mm$/,'');
      document.getElementById('city').className       = document.getElementById('city').className.replace(/_mm$/,'');
      document.getElementById('county').className     = document.getElementById('county').className.replace(/_mm$/,'');
      document.getElementById('postcode').className   = document.getElementById('postcode').className.replace(/_mm$/,'');
      document.getElementById('country').className    = document.getElementById('country').className.replace(/_mm$/,'');
      document.getElementById('type').className       = document.getElementById('type').className.replace(/_mm$/,'');
    }
    switch (adtype) {
      case 'add' :
        document.getElementById('address1').value   = '';
        document.getElementById('address2').value   = '';
        document.getElementById('address3').value   = '';
        document.getElementById('city').value       = '';
        document.getElementById('county').value     = '';
        document.getElementById('postcode').value   = '';
        document.getElementById('country').value    = '';
        document.getElementById('type').value       = '';
        document.getElementById('default').checked  = false;
        document.getElementById('addressh2').innerHTML  =
          document.getElementById('update').value       = "Add New Address";
        break;

      case 'shipTo' :
        document.getElementById('address1').value   = shipTo_address1[adid];
        document.getElementById('address2').value   = shipTo_address2[adid];
        document.getElementById('address3').value   = shipTo_address3[adid];
        document.getElementById('city').value       = shipTo_city[adid];
        document.getElementById('county').value     = shipTo_county[adid];
        document.getElementById('postcode').value   = shipTo_postcode[adid];
        document.getElementById('country').value    = shipTo_country[adid];
        document.getElementById('type').value       = '0';
        document.getElementById('default').checked  = (shipTo_default == '1');
        document.getElementById('addressh2').innerHTML  = "Edit Address [<span style='cursor: pointer' onclick='toggle_address(\"\",\"add\")'>Add New Address</span>]";
        document.getElementById('update').value         = "Update Details";
        break;

       case 'invoiceTo' :
        document.getElementById('address1').value   = invoiceTo_address1[adid];
        document.getElementById('address2').value   = invoiceTo_address2[adid];
        document.getElementById('address3').value   = invoiceTo_address3[adid];
        document.getElementById('city').value       = invoiceTo_city[adid];
        document.getElementById('county').value     = invoiceTo_county[adid];
        document.getElementById('postcode').value   = invoiceTo_postcode[adid];
        document.getElementById('country').value    = invoiceTo_country[adid];
        document.getElementById('type').value       = '1';
        document.getElementById('default').checked  = (invoiceTo_default == '1');
        document.getElementById('addressh2').innerHTML  = "Edit Address [<span style='cursor: pointer' onclick='toggle_address(\"\",\"add\")'>Add New Address</span>]";
        document.getElementById('update').value         = "Update Details";
        break;
    }
    document.getElementById('address_id').value = adid;
  }

  function confirmDelete(adid,adtype) {
    if (!confirm("***WARNING***\n\nYou are about to permanently delete this address from your account.\n\nPlease confirm you wish to remove this address from your account.\nIf you wish to retain this address, click Cancel.")) return false;
    document.getElementById('delete_which').value = adid;
    document.getElementById('delete_type').value  = adtype;
    document.forms.deleteform.submit();
    return true;
  }