﻿// JScript File

function validateCheckoutForm(){
	
	
	if (!(newUserSignupForm_validate())){
		return false;
	}
	
	
    var frm = document.getElementById('form1')
    var iDeliveryMethod = get_radio_value(frm.delivery_method);
    if (iDeliveryMethod == "-1"){
        //alert('email');
        if (!(validateEmail(frm.delivery_email , "Please enter a valid email address" ))) {
			return false;
		}
  
    }

    if (iDeliveryMethod == ""){
        alert('Please choose where we should send your Perfect Day Experiences Gift Pack');
        return false;
    }
    
    //Mail delivery option
    if (iDeliveryMethod != "-1"){
        //Validate Address Form
        var oFrmItem;
        try
        {
           
            oFrmItem = document.getElementById('txtDeliveryTitle');
            if (oFrmItem.options[oFrmItem.selectedIndex].value == "")
            {
                alert('Please enter a value for Title');
                oFrmItem.focus();
                return false;
            }
            
            oFrmItem = document.getElementById('txtDeliveryFirstName');
            if (oFrmItem.value == '')
            {
                alert('Please enter a value for First Name');
                oFrmItem.focus();
                return false;
            }   
                           
            oFrmItem = document.getElementById('txtDeliveryLastName');
            if (oFrmItem.value == '')
            {
                alert('Please enter a value for Last Name');
                oFrmItem.focus();
                return false;
            }
            
            oFrmItem = document.getElementById('txtDeliveryAddress');
            if (oFrmItem.value == '')
            {
                alert('Please enter a value for Address');
                oFrmItem.focus();
                return false;
            }           
 
            oFrmItem = document.getElementById('txtDeliveryCity');
            if (oFrmItem.value == '')
            {
                alert('Please enter a value for City');
                oFrmItem.focus();
                return false;
            }     
            
            oFrmItem = document.getElementById('mnuProvence');
            if (oFrmItem.options[oFrmItem.selectedIndex].value == "")
            {
                alert('Please select a Province');
                oFrmItem.focus();
                return false;
            }   
            
            oFrmItem = document.getElementById('txtDeliveryPostCode');
            if (oFrmItem.value == '')
            {
                alert('Please enter a value for Post Code');
                oFrmItem.focus();
                return false;
            }
                               
        }
        catch(e)
        {
        
            alert("Error");
            return false;
        }
    }
    
    //Success
    return true;
}

function get_radio_value(radio_object){
	for (var i=0; i <radio_object.length; i++){
   		if (radio_object[i].checked){
			try{
      			return radio_object[i].value;
			}
			catch(e){
				return "";
			}
   		}
	}
  
   return "";
}


function EmailTextClick(){
	try{
		if (document.form1.delivery_email.value == "Please enter email address"){
			document.form1.delivery_email.value = "";
		}
	}
	catch(e){
		//err
	}
}

function validateEmail ( emailField, errorMsg ) {
 emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+$/;
 


 if( !emailpat.test( emailField.value ) ) {
  alert( errorMsg);
  emailField.focus();
  emailField.select();
  return false;
 }
 return true;
}


function check_email_radio_onClick(){
    var oAddSelector = new AddressSelector();
    oAddSelector.Hide();
    document.getElementById('trEmailSelector').style.display = '';
    
    try{
        document.getElementById('spSubHeading').innerText = "Please confirm your delivery email address for your Perfect Day Experiences Gift Voucher";
    }
    catch(e){
        alert(e.description);
    }
	setDeliveryLabel('E-Mail delivery');
	setDeliveryPrice('0.00');
	recalculateTotal()

}

function check_mailDelivery_radio_onClick(){
    var oAddSelector = new AddressSelector();
    oAddSelector.Show(); 
    document.getElementById('trEmailSelector').style.display = 'none'; 
    
    try{
        document.getElementById('spSubHeading').innerText = "Please confirm your delivery postal address for your Perfect Day Experiences Gift Pack";
    }
    catch(e){
        alert(e.description);
    } 
	
	var sDeliveryType = "";
	
	try{
		var frm = document.getElementById('form1')
	   	var iDeliveryMethod = get_radio_value(frm.delivery_method);	
		var oHDNDeliveryType = document.getElementById('Delivery_Method'+iDeliveryMethod);
		sDeliveryType = oHDNDeliveryType.value;
	}
	catch(e)
	{
		alert(e.description + ' in check_mailDelivery_radio_onClick');
	}
	
	setDeliveryLabel(sDeliveryType);
	
	var iDeliveryPrice = 0;
	
	try{
		var frm = document.getElementById('form1')
	   	var iDeliveryMethod = get_radio_value(frm.delivery_method);	
		var oHDNDeliveryType = document.getElementById('Delivery_Method_Price'+iDeliveryMethod);
		iDeliveryPrice = oHDNDeliveryType.value;
	}
	catch(e)
	{
		alert(e.description + ' in check_mailDelivery_radio_onClick');
	}
	
	setDeliveryPrice(iDeliveryPrice);
	recalculateTotal();
}

function AddressSelector(){
    //Object
}

AddressSelector.prototype.Show = function(){
    for (var i=1;i<10;i++){
        try{
            document.getElementById('trAddressSelector'+i).style.display = '';
        }
        catch(e){
            return;
        }
    }
}
AddressSelector.prototype.Hide = function(){
    for (var i=1;i<10;i++){
        try{
            document.getElementById('trAddressSelector'+i).style.display = 'none';
        }
        catch(e){
            return;
        }
    }
   
}



// Functions for Checkout.asp
function newUserSignupForm_validate()
{
    var oFrmItem;
    
    try
    {
        oFrmItem = document.getElementById('txtFirstName');
        if (oFrmItem.value == '')
        {
            alert('Please enter your First Name');
            oFrmItem.focus();
            return false;
        }
        
        oFrmItem = document.getElementById('txtLastName');
        if (oFrmItem.value == '')
        {
            alert('Please enter your Last Name');
            oFrmItem.focus();
            return false;
        }
        
        oFrmItem = document.getElementById('txtPhoneNumber');
        if (oFrmItem.value == '')
        {
            alert('Please enter your Phone Number');
            oFrmItem.focus();
            return false;
        }
        
       
        oFrmItem = document.getElementById('txtEmailAddress');
        if (!(validateEmail(oFrmItem,'Please enter a valid email address')))
        {
            return false;
        }       
                
    
    }
    catch(e){
    }
    
    //document.frmSignupNow.submit();
	return true;

}

function setDeliveryLabel(sLabelMessage){

	try{
		var oTDLabel = document.getElementById('tdDelivery_Label');
		oTDLabel.innerHTML = 'Delivery (' + sLabelMessage +')';
		
	}
	catch(e){
		alert(e.description + ' in setDeliveryLabel');
	}

}


function setDeliveryPrice(iPrice){

	try{
		
		var iDeliveryMultiplier;
		iDeliveryMultiplier = document.getElementById('Delivery_Multiplier').value; 
		iPrice = parseFloat(iPrice) * iDeliveryMultiplier;
			
		var oTDLabel = document.getElementById('tdDelivery_Price');
		oTDLabel.innerHTML = '&nbsp;' + iPrice.toFixed(2);
		
	}
	catch(e){
		alert(e.description + ' in setDeliveryPrice');
	}

}


function recalculateTotal(){

	try{
			
		var frm = document.getElementById('form1')
	   	var iDeliveryMethod = get_radio_value(frm.delivery_method);	
		var oHDNDeliveryType;
		var iDeliveryPrice;
		var iDeliveryMultiplier;
		
		if (iDeliveryMethod == "-1"){
			iDeliveryPrice = 0.00;
		}
		else{
			oHDNDeliveryType = document.getElementById('Delivery_Method_Price'+iDeliveryMethod);
			iDeliveryMultiplier = document.getElementById('Delivery_Multiplier').value; 
			iDeliveryPrice = parseFloat(oHDNDeliveryType.value) * iDeliveryMultiplier;
		}
		
		var iGrandTotal = 0.00;
		var order_grand_total_before_ship = document.getElementById('order_grand_total_before_ship').value;
		order_grand_total_before_ship = order_grand_total_before_ship.replace(',','');


		iGrandTotal = parseFloat(order_grand_total_before_ship) + parseFloat(iDeliveryPrice)
		
		
		var oTDLabel = document.getElementById('tdGrandTotal');
		oTDLabel.innerHTML = '&nbsp;' + iGrandTotal.toFixed(2);
		
	}
	catch(e){
		alert(e.description + ' in recalculateTotal');
	}
}




