﻿/* Accessible way to open page in a new window */
function pageInit(){
    sameAddress()
    externalLinks()
    deliveryPrice()
    
    if (document.getElementById('shopList') != null){
        shopScroll();
    }
}

function shopScroll(){

    // vertical slider control on country select
    var slider1 = new Control.Slider('handle1', 'track1', {
	    axis: 'vertical',
	    onSlide: function(v) { scrollVertical(v, document.getElementById('shopList'), slider1);  },
	    onChange: function(v) { scrollVertical(v, document.getElementById('shopList'), slider1); }
    });

}
    function scrollVertical(value, element, slider) {
	    element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
    }

function sameAddress(){

    // Show the 'Same as Billing Address' radio button
    if (document.getElementById('sameDiv')){
        document.getElementById('sameDiv').className = "";
        //setDeliveryAddress();
        document.getElementById('cboSame').onclick = function(){setDeliveryAddress()}
    }
    
}

function setDeliveryAddress(){

    if (document.getElementById('cboSame').checked){
        document.getElementById('txtFirstNameDelivery').value = document.getElementById('txtFirstName').value
        document.getElementById('txtSurnameDelivery').value = document.getElementById('txtSurname').value
        document.getElementById('txtAddress1Delivery').value = document.getElementById('txtAddress1').value
        document.getElementById('txtAddress2Delivery').value = document.getElementById('txtAddress2').value
        document.getElementById('txtCityDelivery').value = document.getElementById('txtCity').value
        document.getElementById('txtPostcodeDelivery').value = document.getElementById('txtPostcode').value
        document.getElementById('txtStateDelivery').value = document.getElementById('txtState').value
        document.getElementById('selDelCountry').value = document.getElementById('selCountry').value
        
        document.getElementById('txtFirstNameDelivery').disabled = true
        document.getElementById('txtSurnameDelivery').disabled = true
        document.getElementById('txtAddress1Delivery').disabled = true
        document.getElementById('txtAddress2Delivery').disabled = true
        document.getElementById('txtCityDelivery').disabled = true
        document.getElementById('txtPostcodeDelivery').disabled = true
        document.getElementById('txtStateDelivery').disabled = true
        document.getElementById('selDelCountry').disabled = true
      
        
    }else{
        document.getElementById('txtFirstNameDelivery').value = ""
        document.getElementById('txtSurnameDelivery').value = ""
        document.getElementById('txtAddress1Delivery').value = ""
        document.getElementById('txtAddress2Delivery').value = ""
        document.getElementById('txtCityDelivery').value = ""
        document.getElementById('txtPostcodeDelivery').value = ""
        document.getElementById('txtStateDelivery').value = ""
        document.getElementById('selDelCountry').value = ""

        document.getElementById('txtFirstNameDelivery').disabled = false
        document.getElementById('txtSurnameDelivery').disabled = false
        document.getElementById('txtAddress1Delivery').disabled = false
        document.getElementById('txtAddress2Delivery').disabled = false
        document.getElementById('txtCityDelivery').disabled = false
        document.getElementById('txtPostcodeDelivery').disabled = false
        document.getElementById('txtStateDelivery').disabled = false
        document.getElementById('selDelCountry').disabled = false

    }
}
// Sets the delivery price when changing the delivery type
function deliveryPrice(){

	var delOptions = document.getElementsByTagName("input");
	var delOptionsLen = delOptions.length
	
	for (var i=0; i<delOptionsLen; i++) { 
		var inputField = delOptions[i]; 
		if (inputField.getAttribute("type") == "radio" && inputField.getAttribute("rel") == "delOption"){
		    inputField.onclick = function(){document.getElementById('fmDelivery').submit()}
		}

    }
    if (document.getElementById('selDelivery')){
        document.getElementById('selDelivery').onchange = function(){document.fmBasket.submit()}
    }
}

function externalLinks() { 
	if (!document.getElementsByTagName) return; 
	var anchors = document.getElementsByTagName("a");
	var anchorsLen = anchors.length
	
	for (var i=0; i<anchorsLen; i++) { 
		var anchor = anchors[i]; 
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
	}
	
	if (document.getElementById('txtMessage1')){
	    document.getElementById('txtMessage1').onkeyup = function(){doCount('txtMessage1','txtCounter1')}
	}
	if (document.getElementById('txtMessage2')){
	    document.getElementById('txtMessage2').onkeyup = function(){doCount('txtMessage2','txtCounter2')}
	}
	if (document.getElementById('txtMessage3')){
	    document.getElementById('txtMessage3').onkeyup = function(){doCount('txtMessage3','txtCounter3')}
	}
	
}
var maxTotal = 30
function doCount(txtInput,countField){
    totalCharacters = document.getElementById(txtInput).value.length
    remainingCharacters = maxTotal - totalCharacters
    
    document.getElementById(countField).value = remainingCharacters;
}


window.onload = function(){
    pageInit();
}

