// JavaScript Document - Scriptaculous Prototype

// simple function to show chnage of delivery address
function fnChangeDeliveryAddress() {
  $('deliverydetails').hide();
  $('changeaddress').show();
}

// simple function to cancel change of delivery address
function fnCancelDeliveryAddress() {
  $('altaddress').value = "";
  $('changeaddress').hide();
  $('deliverydetails').show();
}

function fnValidateDetails() {

  // alert("Validating");
  
  var objForename = $('client_fname');
  var objSurname = $('client_sname');
  var objEmail = $('cemail');
  var objPasswordDisplay = $('changepassword');
  var objPassword = $('cpassword');
  var objAddress = $('caddress1');
  var objCity = $('ccity');
  var objCounty = $('ccounty');
  var objPostcode = $('cpostcode');
  var objCountry = $('ccountry');
  var objVATNumber = $('cvatnumber');
      
  // check on forename
  if (objForename.value=="") {
    alert("Please enter your forename.");
    return false;  
  } 
  // check on surname
  if (objSurname.value=="") {
    alert("Please enter your surname.");
    return false;  
  } 
  // check on email 
  if (objEmail.value=="") {
    alert("Please enter a valid email.");
    return false;  
  } 
  // check on email 
  if (objPasswordDisplay.getStyle('display')=="block") {
    if (objPassword.value=="") { 
      alert("If selected, you need to enter a valid email.");
      return false;  
    }
  } 
  // check on address 
  if (objAddress.value=="") {
    alert("Please enter the first line of your address.");
    return false;  
  } 
  // check on city
  if (objCity.value=="") {
    alert("Please enter your home town or city.");
    return false;  
  } 
  // check on postcode
  if (objPostcode.value=="") {
    alert("Please enter your postcode.");
    return false;  
  } 
  // check on country
  if (objCountry.value=="") {
    alert("Please enter your country.");
    return false;  
  }

}

function fnValidateRegistration() {
  
  var objForename = $('cforename');
  var objSurname = $('csurname');
  var objEmail = $('cemail');
  var objPassword = $('cpass');
  
  if (objForename.value=="") {
    alert('Please enter a valid forename.');
    return false;
  }

  if (objSurname.value=="") {
    alert('Please enter a valid surname.');
    return false;  
  }

  if (objEmail.value=="") {
    alert('Please enter a valid email.');
    return false;  
  }

  if (objPassword.value=="" || objPassword.value.length <8) {
    alert('Please enter a valid password of at least 8 characters.');
    return false;  
  }
}

function fnValidateAltDelivery() {
  var objCountry = $('altdelivery');
  
  // check on alternate delivery address
  if (objCountry.value=="") {
    alert("Please enter a valid alternative delivery address.");
    return false;  
  }     
}

function fnChangePassword() {
  $('newpassword').hide();
  $('changepassword').show();

}

function fnCancelChangePassword() {
  // blank password field - will be changed if present on save.
  $('cpassword').value = "";
  $('changepassword').hide();
  $('newpassword').show();
}


// ajax routines
function fnCheckEmail() {

  var objEmail = $('useremail');
  var strEmail = objEmail.value;
  //alert(strEmail);

  var timestamp = new Date().getTime();
  var strURL = 'inc/ajax_check_email.php?user_email='+strEmail+"&timestamp="+timestamp;
  //alert(strURL);

  new Ajax.Request(strURL, {
    method:'get',
    onSuccess: function(transport){
      var response = transport.responseText;
      if (response=="ok") {
        $('echeck').hide();
        $('ecomplete').show();
      }
      else {
        $('echeck').hide();
        $('efail').show();
      }
    },
    onFailure: function(){ 
      alert('Something went wrong...');
    }
  });
}

function fnSavePassword() {
  
  var custid = $('ncid').value;
  var strPassword = $('npass').value;
  var strEmail =  $('eholder').innerHTML; 
  
  var timestamp = new Date().getTime();
  var strURL = 'inc/ajax_save_password.php?user_id='+custid+'&user_email='+strEmail+'&user_pass='+strPassword+"&timestamp="+timestamp;
  //alert(strURL);

  new Ajax.Request(strURL, {
    method:'get',
    onSuccess: function(transport){
      var response = transport.responseText;
      if (response=="ok") {
        $('econfirm').hide();
        $('ecomplete').show();
      }
      else {
        $('econfirm').hide();
        $('efail').show();
      }
    },
    onFailure: function(){ 
      alert('Something went wrong...');
    }
  });  
}

function fnProcessOrderDetails(paramEmail, paramCustomerID, paramCountry) {
  
  document.getElementById('btnPay').disabled;      
  var bInternational = "1";
  if (paramCountry=="GB") {
    bInternational = 0;  
  }
  var timestamp = new Date().getTime();
  var strURL = 'inc/ajax_process_transaction.php?user_email='+paramEmail+"&customerID="+paramCustomerID+"&international="+bInternational+"&timestamp="+timestamp;
  var bComplete = "no";

  new Ajax.Request(strURL, {
    method:'get',
    onSuccess: function(transport){
      var strText = transport.responseText;
      alert(strText);
      // break up response text
      var arrElements = strText.split("|");
      var OrderID = arrElements[0];    
      var OrderAmount = arrElements[1];    
      var BasketDetails = arrElements[2];
      // populate fields with information 
      document.getElementById('Amount').value = OrderAmount;
      document.getElementById('VendorTxCode').value = OrderID;
      document.getElementById('Basket').value = BasketDetails;
      return true;
    },
    onFailure: function(){ 
      alert('Something went wrong...');
      return false;
    }
  });    
}

function fnCheckVATNumber(paramType) {  

  var objVatNumber = document.getElementById('cvatnumber');
  var strVatNumber = objVatNumber.value;
  var objCountry = document.getElementById('ccountry');
  var strCountry = '';//objCountry.value;
  var ilength = cust_details.ccountry.length;
  var i = 0;

  for (i = 0; i < ilength; i++) {
    if (cust_details.ccountry[i].selected) {
      strCountry = cust_details.ccountry[i].value;
    } 
  }
  //alert(strCountry);  

  if (strVatNumber!="") {

    var timestamp = new Date().getTime();

    var strURL = 'inc/ajax_check_eu_vat.php?country='+strCountry+"&vatno="+strVatNumber+"&querytype="+paramType+"&timestamp="+timestamp;
    alert(strURL);
    new Ajax.Request(strURL, {
      method:'get',
      onSuccess: function(transport){
        var strText = transport.responseText;
        switch (strText) {
          case "false":
            document.getElementById('cvatnumber').value="";
            alert("VAT Registration number is invalid for your country.");
            break;
          case "null":
            document.getElementById('cvatnumber').value="";
            alert("Your designated country does not require a VAT number.");            
            break;
          case "true":
            alert("VAT number has been confirmed.");            
            break;
        }   
      },
      onFailure: function(){ 
        alert('Something went wrong...');
        return false;
      }
    });
  }
}

