// JavaScript Document
function postcodeFinder() {
	if (!$('findUKAddress')) {return};
	$('findUKAddress').addEvent('click', function(e) {
	
		e = new Event(e).stop();
		
		var arRequired = $$('#container .miniRequired');
		
		for (var i=0; i<arRequired.length; i++) {
			var objInput = arRequired[i];
			var objParent = objInput.getParent('div');
			if (objInput.getProperty('value') == '' || /^[\+|\s]+$/.test(objInput.getProperty('value'))) {
				objParent.addClass('error');
				showErrorText(objInput.id, true);
				var state = 'error';
			} else {
				showErrorText(objInput.id, false);
				objParent.removeClass('error');
			}
		}
		
		var postcodeClass = 'ukpostcode';
		var housenumClass = 'ukhousenumber';
		var titleClass = 'title';
		var firstnameClass = 'firstname';
		var lastnameClass = 'lastname';
		var countryClass = 'country';
		var lineItemID = 'lineitem';
		var postcodeData = $$('input.' +postcodeClass)[0].getProperty('value');
		var housenumData = $$('input.' +housenumClass)[0].getProperty('value');
		if ($$('select.' +titleClass)[0]) {
  	   	 	var titleData = $$('select.' +titleClass)[0].getProperty('value');
  	   	} else {
  	   		var titleData = '';
  	   	}
		var firstnameData = $$('input.' +firstnameClass)[0].getProperty('value');
		var lastnameData = $$('input.' +lastnameClass)[0].getProperty('value');
  		var countryData = $$('select.' +countryClass)[0].getProperty('value');
  		var lineItemData = $$('input.' +lineItemID)[0].getProperty('value');

		//ECM-7428 Added encoding for address data
		if (state != 'error') {
			var addressData = '?' + postcodeClass  + '=' + escape(postcodeData)  + '&' + housenumClass  + '=' + escape(housenumData)  + '&' +titleClass     + '=' + escape(titleData) + '&' + firstnameClass + '=' + escape(firstnameData) + '&' +lastnameClass  + '=' + escape(lastnameData)  + '&' + countryClass   + '=' + escape(countryData) + '&' + lineItemID   + '=' + escape(lineItemData);
			TB_show('',findAddressURL+addressData+postcodeFinderDimensions,'');
		}
	});
}
function removeGoButtons() {
	if ($('selectCountry')) {
		//$$('#selectCountry input.image')[0].remove();
		$$('#selectCountry input.image')[0].addClass("hide");
	}
	if ($('ptMultipleAddress')) {
		var inputs = $$('#ptMultipleAddress input.go');
		if (inputs[0]) {
			for (var i = 0; i <	inputs.length; i++) {
				inputs[i].remove();
			}
		}
	}
	if ($('ptGifting')) {
		var inputs = $$('#ptGifting input.useThis');
		if (inputs[0]) {
			for (var i = 0; i <	inputs.length; i++) {
				inputs[i].remove();
			}
		}	
	}
	/*var ptGifting = $$("#ptGifting");
	if ($('ptGifting')) {
		for (var i = 0; i < ptGifting.length; i++){
		$$('#ptGifting input.useThis')[i].addClass("hide");
		
		}
	}*/
}
	
function initSelect() {
	var theSelect = $$("select.selector");
	theSelect.each(function (aSelect) {
		aSelect.changed = false;
		aSelect.onfocus = selectFocussed;
		
		aSelect.addEvent('change', function(e) {
			selectChanged(this);
		});
		
		aSelect.onkeydown = selectKeyed;
		aSelect.onclick = selectClicked;
	});
	
	return true;
}
function selectChanged(theElement) {
	var theForm = document.getElementById('dwfrm_checkout_addresses');
	//FFS-1390
	if (theForm == null) {
		theForm = document.getElementById('dwfrm_customeraddress');
	}
	var theSelect;
	if (theElement && theElement.value) {
		theSelect = theElement;
	} else {
		theSelect = this;
	}
	if (!theSelect.changed) {
		return false;
	}
	//HOF-1350
	if(document.getElementById("CMetricAddress")!=null && document.getElementById("CMetricAddress").value=="send"){
		cmCreateManualLinkClickTag(theForm.action + '?cm_sp=CartCountryCode-_-Combobox-_-' + this.value, 'cart Country Code');
	}
	clearForm();
	jQuery("#isCountryChanged").val("is");
	theForm.submit();
	return true;
}
function selectClicked() {
	this.changed = true;
}
function selectFocussed(){
	this.initValue = this.value;	
	return true;
}
function selectKeyed(e) {
	var theEvent;
	var keyCodeTab = "9";
	var keyCodeEnter = "13";
	var keyCodeEsc = "27";
	if (e) {
		theEvent = e;
	} else {
		theEvent = event;
	}
	if ((theEvent.keyCode == keyCodeEnter || 
		theEvent.keyCode == keyCodeTab) && 
		this.value != this.initValue) {
			this.changed = true;
			selectChanged(this);
		}
		else if (theEvent.keyCode == keyCodeEsc) {
			this.value = this.initValue;
		} else {
			this.changed = false;
	}
	return true;
}


var deleteAddressPopups = {
	ismlURL: "/on/demandware.store/Sites-USC-Site/default/LBitest-addressactionconfirm",
	init: function() {
		var deleteButtons = $$("input.deleteAddressConfirm");
		for (var i = 0; i < deleteButtons.length; i++) {
			deleteButtons[i].onclick = deleteAddressPopups.showPopup;
		}
	},
	showPopup: function() {
		TB_show('',deleteAddressPopups.ismlURL+'?height=212&width=284','');
		return false;
	}
}

window.addEvent('domready', function(){
	postcodeFinder();
	removeGoButtons();
	initSelect();
	deleteAddressPopups.init();
});

function showErrorText(formId, display) {
	var errIdent = "err_";
	var errObj = document.getElementById(errIdent + formId);
	
	if (errObj != null) {
		if (display) {
			errObj.style.display = "block";
		}
		else {
			errObj.style.display = "none";
		}
	}
}


function clearForm(){
var arClear = $$('#container .clearFieldIE');		
		for (var i=0; i<arClear.length; i++) {
			var objInput = arClear[i];
			if (objInput.getProperty('value') == '') {
				empty=true;
			} else {
			objInput.removeProperty('value')
			}
		}
}