// Event Handlers

// Create Address
Core.event.addressCreateBegin = function (sender, data){
};
Core.event.addressCreateSuccess = function (sender, data) {
	Core.attachBehaviors( $("#addresslist") );
	$('#addresslist .address-radio[checked]').attr("checked",false);
	$("#"+sender).addClass('collapsed');
	$("#address_block_" + data.addressId + " .address-radio").attr("checked", true);
	updateTransport(data.addressId);
	setActivStep("checkout_step2_title");
	$("#carriers-list").show();
};
Core.event.addressCreateFail = function (sender, data) {
	setErrorMessages(sender , data);
};

// Save Address
var checkboxAddressSavechecked = false;
Core.event.addressSaveBegin = function (addressBlockId, data) {
	checkboxAddressSavechecked = $(".address-radio","#"+addressBlockId).attr("checked");
}; 
Core.event.addressSaveSuccess = function (addressBlockId, data) {
	Core.attachBehaviors( $("#addresslist") );
	checkboxAddressSavechecked = $(".address-radio","#"+addressBlockId).attr("checked");
	if (checkboxAddressSavechecked == true){
		$('#addresslist .address-radio[checked]').attr("checked",false);
		$("#"+addressBlockId+" .address-radio").attr("checked",checkboxAddressSavechecked);
		$("#"+addressBlockId+" .address-radio").click();
	}
	$("#"+addressBlockId+'.collapsible:not(.collapsed)').each( function () {
		Core.toggleFieldset(this);
	});
	setActivStep("checkout_step2_title");
	$("#carriers-list").show();
	updateTransport(data.addressId);
};
Core.event.addressSaveFail = function (sender, messages) {
	setErrorMessages(addressBlockId,messages);
};


var checkboxAddressDeleteChecked = false;
Core.event.addressDeleteBegin = function (addressBlockId, data) {
	checkboxAddressDeleteChecked = $("#"+addressBlockId+" .address-radio").attr("checked");
}; 
Core.event.addressDeleteEnd = function (sender, data) {
	if ((checkboxAddressDeleteChecked == true) || ($('#addresslist .address-radio').length <= 1)) {
		if (($('#addresslist .address-radio').length < 1) && ($(".stepcontent").length != 0)) {
			$('#addresslist #address_block_new .address-radio').attr("checked",true);
			$('#addresslist div.collapsible.collapsed#address_block_new').each( function () {
				Core.toggleFieldset(this);
			});
		}
		updateTransport(0);
	}			
};

// End Event Handlers

function setErrorMessages (addrFormId, messages){
	$('ul.errors',"#"+addrFormId).remove();
	for (var message in messages){
		errorHtml = '<ul class="errors"><li>'+messages[message]+'</li></ul>' ;
		$("#"+message, "#"+addrFormId).parent().append(errorHtml);
	}
}
