$(function(){$("html").bind("ajaxSend",function(){$(this).addClass('busy');}).bind("ajaxComplete",function(){$(this).removeClass('busy');});$("[ID$='divYourPersonalDetails']").click(function(){showYourPersonalDetails();return false;});$("[ID$='divYourLoginDetails']").click(function(){showYourLoginDetails();return false;});$("[ID$='divYourOrderStatus']").click(function(){showYourOrderStatus();return false;});$("[ID$='divYourAddressBook']").click(function(){showYourAddressBook();return false;});$("[ID$='divYourPaymentOptions']").click(function(){showYourPaymentOptions();return false;});$("[ID$='divYourPreferences']").click(function(){showYourPreferences();return false;});$("[ID$='divYourHarrodsRewards']").click(function(){showYourHarrodsRewards('');return false;});$("[ID$='btnContinueShopping']").click(function(){ContinueShopping();return false;});var defaultSection=$("[ID$='DefaultSection']").val();var defaultAction=$("[ID$='DefaultAction']").val();if(defaultSection=='rewards'){showYourHarrodsRewards(defaultAction);}
if(defaultSection=='preferences'){showYourPreferences(defaultAction);}
if(defaultSection=='login'){showLogin('#divActivePanel','','','');}
if(defaultSection=='register'){showRegister('#divActivePanel','',false);}});$.fn.selectItem=function(){$("a").each(function(i){$(this).removeClass('selected');});$("[ID$='btnYourHarrodsAccount']").addClass('selected');return $(this).addClass('selected');}
$("[ID$='btnYourPersonalDetails']").live("click",function(){showYourPersonalDetails();return false;});$("[ID$='btnYourLoginDetails']").live("click",function(){showYourLoginDetails();return false;});$("[ID$='btnYourOrderStatus']").live("click",function(){showYourOrderStatus();return false;});$("[ID$='btnYourAddressBook']").live("click",function(){showYourAddressBook();return false;});$("[ID$='btnYourPaymentOptions']").live("click",function(){showYourPaymentOptions();return false;});$("[ID$='btnYourPreferences']").live("click",function(){showYourPreferences();return false;});$("[ID$='btnYourHarrodsRewards']").live("click",function(){showYourHarrodsRewards('');return false;});function resetUpdates(){$(".fieldHighlight").each(function(i){$(this).removeClass('fieldHighlight');});}
function showYourPersonalDetails(){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourPersonalDetails.ascx',eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourPersonalDetails').hide();$("[ID$='btnYourPersonalDetails']").selectItem();setSubSection("Your Personal Details");}}});}
function showYourLoginDetails(){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourLoginDetails.ascx',eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourLoginDetails').hide();$("[ID$='btnYourLoginDetails']").selectItem();setSubSection("Your Login Details");}}});}
function showYourOrderStatus(){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourOrderStatus.ascx',eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourOrderStatus').hide();$("[ID$='btnYourOrderStatus']").selectItem();setSubSection("Your Order Status");}}});}
function showYourAddressBook(){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourAddressBook.ascx',eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourAddressBook').hide();$("[ID$='btnYourAddressBook']").selectItem();setSubSection("Your Address Book");}}});}
function showYourPaymentOptions(){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourPaymentOptions.ascx',eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourPaymentOptions').hide();$("[ID$='btnYourPaymentOptions']").selectItem();setSubSection("Your Payment Options");}}});}
function showYourPreferences(Action){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourPreferencesScratch.ascx',queryString:'action='+Action,eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourPreferences').hide();$("[ID$='btnYourPreferences']").selectItem();setSubSection("Your Preferences");}}});}
function showYourHarrodsRewards(Action){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourHarrodsRewards.ascx',queryString:'action='+Action,eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourHarrodsRewards').hide();$("[ID$='btnYourHarrodsRewards']").selectItem();setSubSection("Your Harrods Rewards");}}});}
function showYourPreferences(Action){$(this).selectItem();$.dynamicLoader.loadUC({ucName:'/UserControls/Account/YourPreferencesScratch.ascx',queryString:'action='+Action,eventBindings:{ready:function(data){$('#divActivePanel').selectPanel(data);$('#divYourPreferences').hide();$("[ID$='btnYourPreferences']").selectItem();setSubSection("Your Preferences");}}});}
function GetRegionalLabels(countryShortCode){var DTO={'countryShortCode':countryShortCode};$.ajax({type:"POST",contentType:"application/json; charset=utf-8",url:"/UIServices/Account/AddressService.svc/GetRegionalLabels",data:JSON.stringify(DTO),dataType:"json",error:function(xhr,status,error){var err=eval("("+xhr.responseText+")");$('#ErrorAdd').html(err.Message).show();return false;},success:function(msg){if(msg.d.isValid&&null!=msg.d.entityData){$("#CityLabel").text(msg.d.entityData.CityLabel);$("#RegionLabel").text(msg.d.entityData.RegionLabel);$("#PostcodeLabel").text(msg.d.entityData.PostcodeLabel);}
else{$('#ErrorAdd').html(msg.d.errorMessage).show();}
return false;}});}
function LoadCountryCodes(countryCode){if($("[ID$='ddCountryList'] option").size()==2){$.ajax({type:"POST",contentType:"application/json; charset=utf-8",url:"/UIServices/Account/AddressService.svc/GetCountryCodes",data:{},dataType:"json",error:function(xhr,status,error){var err=eval("("+xhr.responseText+")");$('#ErrorView').text(err.Message).show();$('#btnChange').hide();return false;},success:function(msg){if(msg.d.isValid&&null!=msg.d.entityData){$("[ID$='ddCountryList']").children().remove();$("[ID$='ddCountryList']").append($('<option></option>').val("").html("Please Select"));$.each(msg.d.entityData.items,function(key,item){$("[ID$='ddCountryList']").append($('<option></option>').val(item.Value).html(item.Text));});$("[ID$='ddCountryList']").val(countryCode);}
else{$('#ErrorView').html(msg.d.errorMessage).show();}
return false;}});}
else{$("[ID$='ddCountryList']").val(countryCode);}}
function LoadStateCodes(countryCode){$("[ID$='ddStateList']").children().remove();var DTO={'countryCode':countryCode};$.ajax({type:"POST",contentType:"application/json; charset=utf-8",url:"/UIServices/Account/AddressService.svc/GetStateCodes",data:JSON.stringify(DTO),dataType:"json",error:function(xhr,status,error){var err=eval("("+xhr.responseText+")");$('#ErrorView').text(err.Message).show();return false;},success:function(msg){if(msg.d.isValid&&null!=msg.d.entityData){if(msg.d.entityData.items.length>0){$("[ID$='ddStateList']").append($('<option></option>').val("").html("Please Select"));$.each(msg.d.entityData.items,function(key,item){$("[ID$='ddStateList']").append($('<option></option>').val(item.Value).html(item.Text));});$("[ID$='ddStateList']").show();$("[ID$='txtRegion']").hide();}
else{$("[ID$='ddStateList']").hide();$("[ID$='txtRegion']").show();}}
else{$('#ErrorView').html(msg.d.errorMessage).show();}
return false;}});}
function FindAddress(errorMsg){errorMsg.hide();$("[ID$='ddAddressList']").children().remove();$("[ID$='divFindAddress']").hide();$("[ID$='HiddenPostcodeSearch']").val($("[ID$='txtPostcode']").val());var countryCode=$("[ID$='ddCountryList']").val();var houseNumber='';var postCode=$("[ID$='txtPostcode']").val();var DTO={'countryCode':countryCode,'houseNumber':houseNumber,'postCode':postCode};$.ajax({type:"POST",contentType:"application/json; charset=utf-8",url:"/UIServices/Account/AddressService.svc/FindAddress",data:JSON.stringify(DTO),dataType:"json",error:function(xhr,status,error){var err=eval("("+xhr.responseText+")");errorMsg.html(err.Message).show();return false;},success:function(msg){if(msg.d.isValid&&null!=msg.d.entityData){if(msg.d.entityData.addressCount==1){$("[ID$='ddAddressList']").append($('<option></option>').html(msg.d.entityData.addressMaster.AddressLine1));$("[ID$='HiddenPostcodeResult']").val(msg.d.entityData.addressMaster.Postcode);$("[ID$='HiddenPostcodeExtended']").val(msg.d.entityData.addressMaster.Postcode);showSelectedAddress(errorMsg);}
else{$("[ID$='ddAddressList']").append($('<option></option>').val("0").html("Please Select"));$.each(msg.d.entityData.items,function(key,item){$("[ID$='ddAddressList']").append($('<option></option>').html(item));});$("[ID$='HiddenPostcodeResult']").val(msg.d.entityData.addressMaster.Postcode);$("[ID$='HiddenPostcodeExtended']").val(msg.d.entityData.addressMaster.PostcodeExtended);$("[ID$='divFindAddress']").show();}}
else{errorMsg.html(msg.d.errorMessage).show();}
return false;}});}
function showSelectedAddress(errorMsg){errorMsg.hide();var address=$("[ID$='ddAddressList'] option:selected").html();var countryCode=$("[ID$='ddCountryList']").val();var postCodeResult=$("[ID$='HiddenPostcodeResult']").val();var postCodeExtended=$("[ID$='HiddenPostcodeExtended']").val();var DTO={'address':address,'countryCode':countryCode,'postCodeResult':postCodeResult,'postCodeExtended':postCodeExtended};$.ajax({type:"POST",contentType:"application/json; charset=utf-8",url:"/UIServices/Account/AddressService.svc/SelectAddress",data:JSON.stringify(DTO),dataType:"json",error:function(xhr,status,error){var err=eval("("+xhr.responseText+")");errorMsg.html(err.Message).show();return false;},success:function(msg){if(msg.d.isValid&&null!=msg.d.entityData){$.each(msg.d.entityData.addressMaster,function(key,value){if($("[ID$='txt"+key+"']")&&value!=null){$("[ID$='txt"+key+"']").val(value);}});LoadCountryCodes(msg.d.entityData.addressMaster.CountryCode);$("[ID$='Full']").show();$(".full").show();$("[ID$='Short']").hide();$('#Options1, #Options3').hide();$("[ID$='divFindAddress']").hide();}
else{errorMsg.html(msg.d.errorMessage).show();}
return false;}});}
gCjs.namespace("harrods.block");gCjs.harrods.block.onepCheckout=function(id){this._container=$("#"+id);}
var a=gCjs.harrods.block.onepCheckout;a.prototype.init=function(){gCjs.log(this._container);var _self=this;if(myHarrods.getQueryVariable("ReturnUrl")!=undefined&&myHarrods.getQueryVariable("ReturnUrl")=="/account/options"){if($('.add_address_from_c').is(':hidden')){$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#delivery_address_f').html(data);gCjs.getInstance('block_onepCheckout').listHightlight();gCjs.getInstance('block_onepCheckout').findUkAddress();$('.add_address_from_c').slideDown();$("[ID$='UserTitle']").val('MRS');$("#chkDefaultContactAddress").attr("checked","checked");}});};}
this.checkout;this.AuthCode;this.CardId;this.RewardsCardNumber='';this.BillingAddressId;this.what_billing_address=null;this.what_card=null;this.gift_card_pay=false;this.loader='<img src="/new_images/zoomloader.gif" class="small_loader" alt="Loading ..." />';this.payment={};this.address={};this.loginToCheckout();this.findUkAddress();this.editCheckoutStep();this.continueToConfPay();this.continueToPay();this.placeYourOrder();this.listHightlight();this.findUkAddressAction();this.giftCardActions();this.creditCardSelection();this.billingAddressSelection();if($(".checkout_onepage").length>0){if(userInfo.RewardsCardNumber!=null){$('#rewards_card').val(userInfo.RewardsCardNumber).attr('disabled','disabled');}
$(".step3_box .address_form, .saved_billing_addresses, .cards_form, .saved_card").hide();if(userInfo!=''&&userInfo.CreditCards.items.length==0){$('.cards_action').hide();$('.cards_form').show();this.what_card="new_card";}else{$('.cards_action').show();$('.cards_form').hide();};this.oneItem();if(activateGiftCards2010!=undefined&&activateGiftCards2010=='False'){$(".basket_gift_card, .gift_card_actions").hide();}
if(basketHasAGiftCard!=undefined&&basketHasAGiftCard=='True'){$(".basket_gift_card, .gift_card_actions").hide();}}
$('#Step02 > .address_form ul li input, #Step02 > .address_form ul li select').focus(function(){$(this).parent('li').siblings('li').removeClass('active');$(this).parent('li').addClass('active');});$("[ID$='Step01form']").find('.to_from li:first').addClass('active');$("[ID$='Step01form']").find('.to_from li:first input').focus();$('#Step04').find('.edit_address, .edit_delivery, .edit_gift_msg').live("click",function(){$("[ID$='headerStep02']").find('.progress .progress2 a').click();})
$("#add_new_address").click(function(){_self.newAddress();return false;});if(window.anon=='True'&&$("[ID$='Step02form']").is(':visible')){if($('.add_address_from_c').is(':hidden')&&$(".c_addresses_list li").lenght>=2){$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#delivery_address_f').html(data);gCjs.getInstance('block_onepCheckout').listHightlight();gCjs.getInstance('block_onepCheckout').findUkAddress();$('.add_address_from_c').slideDown();$("[ID$='UserTitle']").val('MRS');}});};}}
a.prototype.creditCardSelection=function(){var _self=this;$('#saved_card').click(function(){$(".saved_card").slideDown();$(".cards_form input, .cards_form select").attr('disabled',true);$(".cards_form, .address_form").slideUp();_self.what_card="saved_card";});$('#new_card').click(function(){$(".saved_card, .address_form, .saved_billing_addresses").slideUp();$(".cards_form").show();$(".sb_payment_address").show();$(".conf_and_pay").show();$(".cards_form input, .cards_form select").removeAttr('disabled');$(".cards_form input").val('');$(".cards_form select").val('Please Select');$('#saved_address').attr("checked","");_self.what_card="new_card";});}
a.prototype.billingAddressSelection=function(){var _self=this;$('.bill_address #saved_address').click(function(){_self.what_billing_address="saved_address";$(".saved_billing_addresses").slideDown();$(".address_item:input, .address_item:select").attr('disabled',true);$(" .step3_box .address_form").slideUp();});$('.bill_address #custom_address').click(function(){$(".saved_billing_addresses").slideUp();_self.what_billing_address="custom_address";$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#billing_address_form').html(data);$("#billing_address_form .address_form input, #billing_address_form .address_form select").removeAttr('disabled').val('');$("#billing_address_form .address_form").show();$("#billing_address_form #btnFindAddress").show();$("[ID$='AddressChoice']").val('Please Select');$("[ID$='UserTitle']").val('MRS');_self.listHightlight();_self.findUkAddress();}});});}
a.prototype.loginToCheckout=function(){$(".step1_box .continue").click(function(){var hasError=false;var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;var field_val=$("[ID$='Step01SignIn_Email']").val();if(!emailReg.test(field_val)){hasError=true;}
if(field_val==''){$("[ID$='Step01SignIn_Email']").parent('li').before('<li class="error_c"><p class="error">please enter your email address</p></li>').addClass('error');}else if(hasError==true){$("[ID$='Step01SignIn_Email']").parent('li').before('<li class="error_c"><p class="error">please enter a valid email address</p></li>').addClass('error');}else{__doPostBack('ctl00$ContentPlaceHolder1$Step01SignIn$lnkLogInAnonymous','');pageTracker._trackPageview("/onePageCheckout/stepOneUnregistred");}
return false;})
$('.login_account').click(function(){var hasError=false;var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;var field_val=$("[ID$='Step01SignIn_Username']").val();if(!emailReg.test(field_val)){hasError=true;}
if(field_val==''){$("[ID$='Step01SignIn_Username']").parent('li').before('<li class="error_c"><p class="error">please enter your email address</p></li>').addClass('error');}else if(hasError==true){$("[ID$='Step01SignIn_Username']").parent('li').before('<li class="error_c"><p class="error">please enter a valid email address</p></li>').addClass('error');}else if($('.password input').val()==''){$('.password').addClass('error');$('.password').before('<li class="error_c"><p class="error">please enter your password</p></li>');}else{__doPostBack('ctl00$ContentPlaceHolder1$Step01SignIn$lnkLogInRegistered','');pageTracker._trackPageview("/onePageCheckout/stepOneRegistred");}
return false;})
$(".password input, [ID$='Step01SignIn_Username']").keypress(function(e){if(e.which==13){$('.login_account').click();$(this).blur();}})
$("[ID$='Step01SignIn_Email']").keypress(function(e){if(e.which==13){$('.continue').click();$(this).blur();}})}
a.prototype.giftCardActions=function(){var _self=this;$("#gift_card_choice").click(function(){$(".cards_form").slideUp();$(".gift_card_login").slideDown();$(".cancel_add_gift_card").show();$(".gift_card_login").find("#gift_card_number").focus();return false;});$(".remove_gift_card").live("click",function(){$(".green_notice").hide();var giftcardid=$(this).parents(".used_gift_card_info").attr("rel");gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("RemoveGiftCardPaymentFromBasket",new gCjs.util.Delegate(_self,_self.onRemoveGiftCard),{giftCardId:giftcardid});return false;});$(".gift_card_submit").click(function(){$(".error_c").remove();$("[ID$='Step03']").find('.checkout_top_error').hide();$("#gift_card_number, #gift_card_pin").parent("li").removeClass("error");var gift_card_number=$(this).parents(".gift_card_login").find("#gift_card_number").val();var gift_card_pin=$(this).parents(".gift_card_login").find("#gift_card_pin").val();if(!/^\d{16}$/.test(gift_card_number)){$(this).parents(".gift_card_login").find("#gift_card_number").parent("li").before('<li class="error_c"><p class="error">Please enter a correct card number.</p></li>').addClass('error');}else if(!/^\d{4}$/.test(gift_card_pin)){$(this).parents(".gift_card_login").find("#gift_card_pin").parent("li").before('<li class="error_c"><p class="error">Please enter a correct pin number.</p></li>').addClass('error');}else{var giftCard={};giftCard.CardNumber=gift_card_number;giftCard.Pin=gift_card_pin;giftCard.ResponseWanted='1';gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("AddGiftCardPaymentToBasket",new gCjs.util.Delegate(_self,_self.onAddGiftCard),{giftCard:giftCard});_self.addLoader($(this).parents('dd'));};return false;});$(".cancel_add_gift_card").click(function(){$(this).hide();$(".gift_card_login").slideUp(function(){if(userInfo!=''&&userInfo.CreditCards.items.length==0){$(".cards_form").slideDown();};});document.getElementById("gift_card_choice").checked=false;return false;})}
a.prototype.onAddGiftCard=function(response){var _self=this;$(".loadingCover, .loadingBg").remove();if(response.d.IsValid==true&&response.d.EntityData.CanAcceptAnotherGiftCard==true){_self.gift_card_pay=true;$(".green_notice").hide();$(".used_gift_card_info:first").clone().attr("rel",response.d.EntityData.Id).prependTo(".gift_card_actions");var theclone=$("[rel$='"+response.d.EntityData.Id+"']");theclone.find(".gcard_id").text(response.d.EntityData.CardNumber);theclone.find(".gcard_amount").text(response.d.EntityData.AmountAsString);theclone.find(".gcard_o_bal").text(response.d.EntityData.CurrentBalanceAsString);theclone.find(".gcard_r_bal").text(response.d.EntityData.RemainingBalanceAsString);theclone.removeClass("Hidden").slideDown();$(".gift_card_login").slideUp();$(".gift_card_login input:text, .gift_card_login input:password").val("");document.getElementById("gift_card_choice").checked=false;if(response.d.EntityData.RemainingAmount>0){$(".green_notice").find(".full_order_bal").text($(".total:last").text());$(".green_notice").find(".order_r_bal").text(response.d.EntityData.RemainingAmount);$(".green_notice").fadeIn();if(userInfo.CreditCards.items.length==0){if($(".cards_form").is(":hidden")){$(".cards_form").slideDown();}}else{if($(".cards_action").is(":hidden")){$(".cards_action").slideDown();}}}else{if($(".cards_action").is(":visible")){$(".cards_action").slideUp();}
$(".select_gift_card").slideUp();_self.what_card="no_card";}}else if(response.d.IsValid==true&&response.d.EntityData.CanAcceptAnotherGiftCard==false){_self.gift_card_pay=true;$(".green_notice").hide();$(".gift_card_login").slideUp();$(".gift_card_login input:text, .gift_card_login input:password").val("");document.getElementById("gift_card_choice").checked=false;$(".select_gift_card").slideUp();$(".red_notice").find(".full_order_bal").text($(".total:last").text());$(".red_notice").find(".order_r_bal").text(response.d.EntityData.RemainingAmount);$(".red_notice").fadeIn();if(userInfo.CreditCards.items.length==0){if($(".cards_form").is(":hidden")){$(".cards_form").slideDown();}}else{if($(".cards_action").is(":hidden")){$(".cards_action").slideDown();}}}else{$(".loadingCover, .loadingBg").remove();$("#Step03 .checkout_top_error").slideDown();$("#Step03 .checkout_top_error ul").html("<li>"+response.d.ErrorMessage+"</li>");}}
a.prototype.onRemoveGiftCard=function(response){var _self=this;if(response.d.IsValid==true){_self.what_card=null;if($(".used_gift_card_info").ength==1){_self.gift_card_pay=false;}
$("[rel$='"+response.d.EntityData.Id+"']").hide();if($(".select_gift_card").is(":hidden")){$(".select_gift_card").slideDown();}
if(userInfo.CreditCards.items.length==0){if($(".cards_form").is(":hidden")){$(".cards_form").slideDown();}}else{if($(".cards_action").is(":hidden")){$(".cards_action").slideDown();}}}}
a.prototype.addLoader=function(theparent){var loadingCover=$("<div></div>");var loadingBg=$("<div></div>");loadingCover.height(theparent.height()).width(theparent.width()+10).addClass("loadingCover");loadingBg.height(theparent.height()).width(theparent.width()+10).addClass("loadingBg");theparent.prepend(loadingBg).prepend(loadingCover);}
a.prototype.continueToPay=function(){var _self=this;$(".continue_to_pay").unbind("click").click(function(){if($("[ID$='multi_shipping']").is(":checked")==false){if(!$("[ID$='AddressItem']").hasClass('selected_address')){$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error ul').append('<li>Please select an address.</li>');$("[ID$='Step02form']").find('.checkout_top_error').show();$("[ID$='Step02form']").find('.error').remove()
$("[ID$='Step02form']").find('.c_addresses_list').before('<p class="error">Please select a shipping address below.</p>');$('html,body').animate({scrollTop:0},"slow");}else if($("[ID$='AddressItem']").hasClass('selected_address')){var invalid2=true;$.each(gCjs.getInstance('block_onepShopBag').delievryAdded,function(key,value){if(value==false){invalid2=false;$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error ul').append('<li>Please select delivery method.</li>');$("[ID$='Step02form']").find('.checkout_top_error').show();$("[rel$='"+key+"']").find('.address_delivery_c .error').remove()
$("[rel$='"+key+"']").find('.address_delivery_c').prepend('<p class="error">Please select a delivery method below.</p>');}});if(invalid2==true){$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error').hide();$('.error').remove();gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("ValidateDeliveryStep",new gCjs.util.Delegate(_self,_self.onValidateDelivery),{});_self.addLoader($(this).parents('dd'));pageTracker._trackPageview("/onePageCheckout/stepTwoDelievry");}}}else if($("[ID$='multi_shipping']").is(":checked")==true){var invalid=true;$.each(gCjs.getInstance('block_onepShopBag').multiAddAdded,function(key,value){if(value==false){invalid=false;$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error ul').append('<li>Please select an address.</li>');$("[ID$='Step02form']").find('.checkout_top_error').show();$("[rel$='"+key+"']").find('.address_delivery_c').children('.address_erorr').remove()
$("[rel$='"+key+"']").find('.select_address_c').before('<p class="error address_erorr">Please select a shipping address below.</p>');}});var invalid2=true;$.each(gCjs.getInstance('block_onepShopBag').delievryAdded,function(key,value){if(value==false){invalid2=false;$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error ul').append('<li>Please select delivery method.</li>');$("[ID$='Step02form']").find('.checkout_top_error').show();$("[rel$='"+key+"']").find('.address_delivery_c .delievry_erorr').remove()
$("[rel$='"+key+"']").find('.select_delivery_c').before('<p class="error delievry_erorr">Please select a delivery method below.</p>');}});if(invalid==true&&invalid2==true){$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error').hide();$('.error').remove();gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("ValidateDeliveryStep",new gCjs.util.Delegate(_self,_self.onValidateDelivery),{});_self.addLoader($(this).parents('dd'));pageTracker._trackPageview("/onePageCheckout/stepTwoDelievry");}}
return false;});}
a.prototype.continueToConfPay=function(){var _self=this;$(".conf_and_pay").click(function(){$('.error_c').remove();$('.error').removeClass("error");if(_self.what_card==null){$('.cards_action li').addClass('error');$('.cards_action').prepend('<li class="error_c checkbox"><p class="error">Please select a card.</p></li>');}else if(_self.what_billing_address==null){$('.bill_address_action li').addClass('error');$('.bill_address_action').prepend('<li class="error_c checkbox"><p class="error">Please select a billing address.</p></li>');}else if($('#billing_address_form').html()==''||$('#billing_address_form form .address_form').is(':hidden')){$('.bill_address_action li').addClass('error');$('.bill_address_action').prepend('<li class="error_c checkbox"><p class="error">Please select an address.</p></li>');}else if(userInfo.RewardsCardNumber==null&&$('#rewards_card').val()!=''){if(!/^7042[0-9]{12}$/.test($('#rewards_card').val())){var targetOffset=$('dt.active').offset().top;$('html,body').animate({scrollTop:targetOffset},"slow");$('#rewards_card').parent("li").before('<li class="error_c"><p class="error">Please enter a correct card number.</p></li>').addClass('error');}else{_self.RewardsCardNumber=$('#rewards_card').val();_self.getBillingData();}}else{_self.getBillingData();};return false;});}
a.prototype.placeYourOrder=function(){var _self=this;$(".place_your_order").live('click',function(){if($('.confirm_gift_msg').length>0&&!$('.confirm_gift_msg').is(':checked')){$("[ID$='Step04']").find('.checkout_top_error ul').html('');$("[ID$='Step04']").find('.checkout_top_error ul').append('<li>Please confirm that your gift message is correct.</li>');$("[ID$='Step04']").find('.checkout_top_error').show();$('.confirm_gift_msg').parent('li').before('<li class="error_c checkbox"><p class="error">Please confirm gift message is correct.</p></li>').addClass('error');}else if(!$('.tandcs').is(':checked')){$("[ID$='Step04']").find('.checkout_top_error ul').html('');$("[ID$='Step04']").find('.checkout_top_error ul').append('<li>Please confirm that you agree to the terms and conditions.</li>');$("[ID$='Step04']").find('.checkout_top_error').show();$('.tandcs').parent('li').before('<li class="error_c checkbox"><p class="error">Please confirm that you agree to the terms and conditions below.</p></li>').addClass('error');}else{_self.placeOrder();}
return false;});}
a.prototype.oneItem=function(){if(basketItemCount<=1){$('.shipping_to, .shipping_to2').hide();}}
a.prototype.listHightlight=function(){$('.login_f li input, .unsigned_f li input, .to_from li input, .to_from li select').focus(function(){if($(this).attr('id')!='payment_startdate_year'&&$(this).attr('id')!='payment_expirydate_year'){$('.login_f li, .unsigned_f li, .to_from li').removeClass('active');$(this).parent('li').addClass('active');}});}
a.prototype.placeOrder=function(){var _self=this;var checkoutRequest={};checkoutRequest.CardId=_self.CardId;checkoutRequest.BillingAddressId=_self.BillingAddressId;checkoutRequest.ValidationCode=_self.AuthCode;checkoutRequest.GiftCardOnly=_self.GiftCardOnly;if(userInfo.RewardsCardNumber==null){checkoutRequest.RewardsCardNumber=_self.RewardsCardNumber;}
gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("CheckoutBasket",new gCjs.util.Delegate(_self,_self.onComplete),{checkoutRequest:checkoutRequest});_self.addLoader($("#Step04"));}
a.prototype.onSavePayment=function(){var _self=this;var checkoutRequest={};_self.payment.BillingAddress=_self.address;checkoutRequest=_self.payment;gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("ValidatePaymentStep",new gCjs.util.Delegate(this,_self.onValidatePayment),{paymentCard:checkoutRequest});_self.addLoader($("#Step03"));pageTracker._trackPageview("/onePageCheckout/stepThreeConfAndPay");}
a.prototype.onValidatePayment=function(response){var _self=this;$(".loadingCover, .loadingBg").remove();_self.CardId=response.d.EntityData.CardId;_self.BillingAddressId=response.d.EntityData.BillingAddressId;_self.GiftCardOnly=response.d.EntityData.GiftCardOnly;if(response.d.IsValid==true){$('#Step04').find("#order_sumary").html(response.d.EntityData.ResultHtml);_self.nextStep("checkoutCase4");_self["checkoutCase4"]();}}
a.prototype.onValidateDelivery=function(response){var _self=this;$(".loadingCover, .loadingBg").remove();if(response.d.IsValid){_self.nextStep($('.continue_to_pay').attr('id'));_self["checkoutCase3"]();}else{$("[ID$='Step02form']").find('.checkout_top_error ul li').text('Some delivery information is missing, please amend and continue to payment.');$("[ID$='Step02form']").find('.checkout_top_error').show();$.each(response.d.Errors,function(key,item){$("[rel$='"+key+"']").find('.select_delivery_c').before('<p class="error">'+item+'</p>');});};}
a.prototype.onComplete=function(response){if(response.d.IsValid){if(response.d.EntityData.Success){if(response.d.EntityData.Requires3DSecure){pageTracker._trackPageview("/onePageCheckout/stepFour3DSecure");window.location=response.d.EntityData.RedirectFor3DSecureUrl;$(".loadingCover, .loadingBg").remove();}else{pageTracker._trackPageview("/onePageCheckout/stepFourConfirmation");window.location="/Checkout/OrderConfirmation?TrackingNumber="+response.d.EntityData.TrackingNumber;$(".loadingCover, .loadingBg").remove();}}else{$(".loadingCover, .loadingBg").remove();$("#Step04 .checkout_top_error").slideDown();$("#Step04 .checkout_top_error ul").html("<li>"+response.d.EntityData.Errors+"</li>");}}else{$(".loadingCover, .loadingBg").remove();$("#Step04 .checkout_top_error").slideDown();$("#Step04 .checkout_top_error ul").html("<li>"+response.d.EntityData.Errors+"</li>");}}
a.prototype.findUkAddressAction=function(){var _self=this;$('#select_saved_card').change(function(){cardref=$('#select_saved_card option:selected').val();$.each(userInfo.CreditCards.items,function(i,item){if(item.Id==cardref){var today=new Date();var expDate=new Date();var ccExpMonth=parseInt(item.ExpiresMonth);var ccExpYear=parseInt(item.ExpiresYear);var getDaysInMonth=new Date(ccExpYear,ccExpMonth,0).getDate();var ExpiredCard=false;expDate.setFullYear(ccExpYear,ccExpMonth,getDaysInMonth);if(today>expDate){ExpiredCard=true;}
if(!ExpiredCard){$(".saved_card .card_exp").remove();$("#select_saved_card").parent("li").removeClass('error_c');fillCardInfo(cardref);$(".sb_payment_address").show();$(".conf_and_pay").show();}else{$(".saved_card .card_exp").remove();$("#select_saved_card").after('<p class="error card_exp" style="display:inline; margin-left:10px">The selected card has Expired, please edit card details <a href="/account/manage-payment-cards">Edit</a></p>').parent("li").addClass('error_c');$(".cards_form").hide();$(".sb_payment_address").hide();$(".conf_and_pay").hide();}}});})
if($(".checkout_onepage").length>0&&userInfo!=''){$.each(userInfo.CreditCards.items,function(i,item){$('#select_saved_card').append("<option value='"+item.Id+"'>**** **** **** "+item.LastFourDigits+"</option>");});function fillBillingAddress(cardref){$.each(userInfo.CreditCards.items,function(i,item){if(item.Id==cardref){$.each(item.BillingAddress,function(key,value){if($("[ID$='txt"+key+"']")&&value!=null){$("[ID$='txt"+key+"']").val(value);}});$("[ID$='AddressChoice']").val(item.BillingAddressId);}});}
function fillCardInfo(cardref){$(".cards_form").show();$(".cards_form input, .cards_form select").attr('disabled',true);$("[ID$='AuthCode']").removeAttr('disabled');$.each(userInfo.CreditCards.items,function(i,item){if(item.Id==cardref){$.each(item,function(key,value){if($("[ID$='"+key+"']")){$("[ID$='"+key+"']").val(value);}});cardnumber="**** **** **** "+item.LastFourDigits;$('#card_number').val(cardnumber);if(item.IssueNumber=="0"||item.IssueNumber==null||item.IssueNumber=="null"){$("[ID$='IssueNumber']").val('');}
if(item.AuthCode=="0"||item.AuthCode==null||item.AuthCode=="null"){$("[ID$='AuthCode']").val('').focus();}
if(item.BillingAddressId==null){_self.what_billing_address=null;$(".address_form, .saved_billing_addresses").slideUp();$('#saved_address').attr("checked","");$(".cards_form select").val('Please Select');}else{$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#billing_address_form').html(data);$(".address_form").show();$(".address_form #btnFindAddress").hide();$(".address_form #btnLookupUSAddress").hide();$("#saved_address").attr("checked","checked");$(".saved_billing_addresses").slideDown();_self.listHightlight();_self.findUkAddress();$(".address_form input, .address_form select").attr('disabled',true);fillBillingAddress(cardref);_self.what_billing_address="saved_address";}});};}});}
$("[ID$='AddressChoice']").change(function(){var error_div=$('#ErrorAddBill');var id=$(this).find('option:selected').val().replace(/{|}/ig,"");$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#billing_address_form').html(data);$(".step3_box .address_form input, .step3_box .address_form select").attr('disabled',true);$(".address_form #Options2").hide();_self.listHightlight();_self.findUkAddress();$(".step3_box .address_form").show();_self.showSelectedAddressById(id);}});});}}
a.prototype.findUkAddress=function(){function isValidPostcode(p){var postcodeRegEx=/^(GIR[ ]?0AA)$|^([A-PR-UWYZ][0-9][ ]?[0-9][ABD-HJLNPQ-UW-Z]{2})$|^([A-PR-UWYZ][0-9][0-9][ ]?[0-9][ABD-HJLNPQ-UW-Z]{2})$|^([A-PR-UWYZ][A-HK-Y0-9][0-9][ ]?[0-9][ABD-HJLNPQ-UW-Z]{2})$|^([A-PR-UWYZ][A-HK-Y0-9][0-9][0-9][ ]?[0-9][ABD-HJLNPQ-UW-Z]{2})$|^([A-PR-UWYZ][0-9][A-HJKS-UW0-9][ ]?[0-9][ABD-HJLNPQ-UW-Z]{2})$|^([A-PR-UWYZ][A-HK-Y0-9][0-9][ABEHMNPRVWXY0-9][ ]?[0-9][ABD-HJLNPQ-UW-Z]{2})$/;return postcodeRegEx.test(p.toUpperCase());}
var _self=this;_self.SetAddressFieldLayout("GB",0);$('#btnFindAddress').click(function(){$(this).parents('.txtPostcode').removeClass('error');$(this).parents('.txtPostcode').siblings('.txtAddressLine1').removeClass('error');$(this).parents('.txtPostcode').siblings('.txtCountry').removeClass('error');$(".error_c").remove();$(".error").removeClass("error");if($(this).parents('.txtPostcode').children("[ID$='txtPostcode']").val()==''){$(this).parents('.txtPostcode').before('<li class="error_c"><p class="error">Please enter a postcode.</p></li>').addClass('error');$(this).parents('.txtPostcode').children("[ID$='txtPostcode']").focus();}else if(isValidPostcode($(this).parents('.txtPostcode').children("[ID$='txtPostcode']").val())==false){$(this).parents('.txtPostcode').before('<li class="error_c"><p class="error">Please enter a valid postcode.</p></li>').addClass('error');$(this).parents('.txtPostcode').children("[ID$='txtPostcode']").focus();}else if($(this).parents('.txtPostcode').siblings('.txtAddressLine1').children("[ID$='txtAddressLine1']").val()==''){$(this).parents('.txtPostcode').siblings('.txtAddressLine1').before('<li class="error_c"><p class="error">Please enter a House number.</p></li>').addClass('error');$(this).parents('.txtPostcode').siblings('.txtAddressLine1').children("[ID$='txtAddressLine1']").focus();}else if($(this).parents('.txtPostcode').siblings('.txtCountry').children('select').val()!='GB'){$(this).parents('.txtPostcode').siblings('.txtCountry').before('<li class="error_c"><p class="error">Please select UK.</p></li>').addClass('error');}else{$(this).parent('span').append(_self.loader);var error_div=$('#ErrorAdd');_self.findAddress(error_div);}
return false;});$('#btnEnterFullAddress').click(function(){var countryCode=$("[ID$='ddCountryList']").val();GetRegionalLabels(countryCode);$(".full").show();$('#Options1, #Options3, .short').hide();return false;});$('#btnLookupUSAddress').click(function(){$(this).parents('.txtPostcode').removeClass('error');$(this).parents('.txtPostcode').siblings('.txtAddressLine1').removeClass('error');$(this).parents('.txtPostcode').siblings('.txtCountry').removeClass('error');$(".error_c").remove();if($(this).parents('.txtPostcode').siblings('.txtAddressLine1').children("[ID$='txtAddressLine1']").val()==''){$(this).parents('.txtPostcode').siblings('.txtAddressLine1').before('<li class="error_c"><p class="error">Please enter Address Line 1.</p></li>').addClass('error');$(this).parents('.txtPostcode').siblings('.txtAddressLine1').children("[ID$='txtAddressLine1']").focus();}
else if($(this).parents('.txtPostcode').children("[ID$='txtPostcode']").val()==''){$(this).parents('.txtPostcode').before('<li class="error_c"><p class="error">Please enter a Zipcode.</p></li>').addClass('error');$(this).parents('.txtPostcode').children("[ID$='txtPostcode']").focus();}
else if($(this).parents('.txtPostcode').siblings('.txtCountry').children('select').val()!='US'){$(this).parents('.txtPostcode').siblings('.txtCountry').before('<li class="error_c"><p class="error">Please select US.</p></li>').addClass('error');}else{$(this).parent('span').append(_self.loader);var error_div=$('#ErrorAdd');_self.lookupUSAddress(error_div);}
return false;});$("[ID$='ddAddressList']").change(function(){var error_div=$('#ErrorAdd');_self.selectAddress(error_div);});$("#txtCountryName").change(function(){$('.txtAddressLine1 input:text').val("");$('.txtAddressLine2 input:text').val("");$('.txtCounty input:text').val("");$('.txtCity input:text').val("");$('.txtPostcode input:text').val("");var rootthis=$(this).parents('.txtCountry').siblings('.txtCounty');_self.SetAddressFieldLayout($(this).val(),1);});}
a.prototype.editCheckoutStep=function(){var _self=this;$('.checkout_list dt .progress .progress2 a').click(function(){var stepno=parseInt($(this).parents('dt').find('.step_no').text());var stepnof=String('checkoutCase'+stepno);$(this).parents('dt').removeClass('greyed').addClass('active');$(this).parents('dt').siblings('dt').removeClass('active').addClass('greyed');$(this).parents('dt').siblings('dd').hide();$(this).parents('dt').next('dd').slideDown().end().fadeIn();$(this).parent('.progress2').hide();$(this).parent('.progress2').siblings('.progress1').show();if($('.continue_to_pay,.conf_and_pay,.place_your_order').is(':hidden')){$('.continue_to_pay,.conf_and_pay,.place_your_order').show();}
_self[stepnof]();});}
a.prototype.newAddress=function(){var _self=this;var here=$(".add_address_from_c");$(".add_address_from_c li, .add_address_from_c ul").removeClass("error");$(".error_c").remove();invalid="false";var new_address={}
new_address.CountryCode=here.find("[ID$='txtCountryName']").val();new_address.CountryName=$("option:selected",".add_address_from_c [ID$='txtCountryName']").text();new_address.UserTitle=here.find("[ID$='txtUserTitle']").val();if(new_address.UserTitle=="Please Select"){invalid="true";here.find(".txtUserTitle").before('<li class="error_c"><p class="error">Please select a title</p></li>').addClass('error');}
new_address.FirstName=here.find("[ID$='txtFirstName']").val();if(new_address.FirstName==""){invalid="true";here.find(".txtFirstName").before('<li class="error_c"><p class="error">Please enter a first name</p></li>').addClass('error');}
new_address.LastName=here.find("[ID$='txtLastName']").val();if(new_address.LastName==""){invalid="true";here.find(".txtLastName").before('<li class="error_c"><p class="error">Please enter a last name</p></li>').addClass('error');}
new_address.TelephoneNumberCountryCode=here.find("[ID$='TelephoneNumberCountryCode']").val();new_address.TelephoneNumber=here.find("[ID$='txtTelephoneNumber']").val();new_address.TelephoneNumber1CountryCode=here.find("[ID$='TelephoneNumber1CountryCode']").val();new_address.TelephoneNumber1=here.find("[ID$='txtTelephoneNumber1']").val();if(new_address.TelephoneNumber==""){if(new_address.TelephoneNumber1==""){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter at least one telephone number</p></li>').addClass('error');}else if(!/^([0-9]*[1-9][0-9]*)$/.test(new_address.TelephoneNumber1)||new_address.TelephoneNumber1.length<6){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(new_address.TelephoneNumber1!=""&&new_address.TelephoneNumber1CountryCode==""){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}}else if(!/^([0-9]*[1-9][0-9]*)$/.test(new_address.TelephoneNumber)||new_address.TelephoneNumber.length<6){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(new_address.TelephoneNumber!=""&&new_address.TelephoneNumberCountryCode==""){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}
if(new_address.TelephoneNumber1==""){if(new_address.TelephoneNumber==""){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter at least one telephone number</p></li>').addClass('error');}else if(!/^([0-9]*[1-9][0-9]*)$/.test(new_address.TelephoneNumber)||new_address.TelephoneNumber.length<6){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(new_address.TelephoneNumber!=""&&new_address.TelephoneNumberCountryCode==""){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}}else if(!/^([0-9]*[1-9][0-9]*)$/.test(new_address.TelephoneNumber1)||new_address.TelephoneNumber1.length<6){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(new_address.TelephoneNumber1!=""&&new_address.TelephoneNumber1CountryCode==""){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}
new_address.Email=$("#txtEmail").val();var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;if(new_address.Email==""){invalid="true";here.find(".txtEmail").before('<li class="error_c"><p class="error">Please enter an Email address</p></li>').addClass('error');}else if(!emailReg.test(new_address.Email)){invalid="true";here.find(".txtEmail").before('<li class="error_c"><p class="error">Please enter a valid email</p></li>').addClass('error');}
new_address.IsDefaultContactAddress=($("#chkDefaultContactAddress").attr('checked'));new_address.CompanyName=here.find("[ID$='txtCompanyName']").val();new_address.AddressLine1=here.find("[ID$='txtAddressLine1']").val();if(new_address.AddressLine1==""){invalid="true";here.find(".txtAddressLine1").before('<li class="error_c"><p class="error">Please enter an address line 1</p></li>').addClass('error');}
new_address.AddressLine2=here.find("[ID$='txtAddressLine2']").val();new_address.City=here.find("[ID$='txtCity']").val();if(new_address.City==""){invalid="true";here.find(".txtCity").before('<li class="error_c"><p class="error">Please enter a town/city</p></li>').addClass('error');}
if(new_address.CountryCode=="GB"){new_address.RegionName=here.find("[ID$='txtRegionName']").val();new_address.RegionCode="";if(new_address.RegionName==""){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a county</p></li>').addClass('error');};}else if(new_address.CountryCode=="US"){new_address.RegionName=here.find("[ID$='txtRegionNameUs'] option:selected").text();new_address.RegionCode=here.find("[ID$='txtRegionNameUs'] option:selected").val();if(new_address.RegionName==""||new_address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a state/region</p></li>').addClass('error');};}else if(new_address.CountryCode=="CA"){new_address.RegionName=here.find("[ID$='txtRegionNameCa'] option:selected").text();new_address.RegionCode=here.find("[ID$='txtRegionNameCa'] option:selected").val();if(new_address.RegionName==""||new_address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a province</p></li>').addClass('error');};}else if(new_address.CountryCode=="JP"){new_address.RegionName=here.find("[ID$='txtRegionNameJp'] option:selected").text();new_address.RegionCode=here.find("[ID$='txtRegionNameJp'] option:selected").val();if(new_address.RegionName==""||new_address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a prefecture</p></li>').addClass('error');};}else if(new_address.CountryCode=="AU"){new_address.RegionName=here.find("[ID$='txtRegionNameAu'] option:selected").text();new_address.RegionCode=here.find("[ID$='txtRegionNameAu'] option:selected").val();if(new_address.RegionName==""||new_address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a state/region</p></li>').addClass('error');};}else{new_address.RegionName=here.find("[ID$='txtRegionName']").val();new_address.RegionCode="";if(new_address.RegionName==""){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a state/region</p></li>').addClass('error');};};new_address.Postcode=here.find("[ID$='txtPostcode']").val();if(new_address.CountryCode=="GB"||new_address.CountryCode=="US"||new_address.CountryCode=="AU"){if(new_address.Postcode==""){invalid="true";here.find(".txtPostcode").before('<li class="error_c"><p class="error">Please enter a postcode</p></li>').addClass('error');}}
new_address.Id=here.find("[ID$='Id']").val();if(invalid=="false"){gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("SaveAddress",new gCjs.util.Delegate(this,_self.onSaveAddress),{address:new_address});_self.addLoader($(this).parents('.add_address_from_c'));}}
a.prototype.onSaveAddress=function(response){if(response.d.isValid&&response.d.entityData!=null){$('.add_new_address_h').text('Add new address');var addressId=response.d.entityData.Id.replace(/{|}/ig,"");var addressFullName=response.d.entityData.UserTitle+" "+response.d.entityData.FirstName+" "+response.d.entityData.LastName;var addressLine1=response.d.entityData.AddressLine1;var addressCounty=response.d.entityData.RegionName;var addressPostcode=response.d.entityData.Postcode;var addressCountry=response.d.entityData.CountryName;var blnInCheckout=($('body').hasClass('one_page_checkout'));var isMainContactAddress=response.d.entityData.IsDefaultContactAddress;if($("[rel$='"+addressId+"']").length>0){$("[rel$='"+addressId+"']").children('.address_prev').children('.address_cont').html("<strong>"+addressFullName+"</strong><br/>"+addressLine1+"<br/>"+addressCounty+"<br/>"+addressPostcode+"<br/>"+addressCountry+"<br/>");var relid=$('div[rel$='+addressId+']');if(!blnInCheckout&&isMainContactAddress){$('.address_box').removeClass('main_address');$('.address_box').find("[id$='BtnSelectAddress'], .selectAddressLink").show();relid.addClass('main_address');relid.find("[id$='BtnSelectAddress']").hide();}
if(!blnInCheckout&&!isMainContactAddress){relid.removeClass('main_address');relid.find("[ID$='divBtnSelectAddress']").css("display","block").html("</p><a href='#' class='green_button_l selectAddressLink' style='margin-right:7px'>Set contact address <span>&raquo;</span></a></div>");}
relid.find('.red_button_l').remove();if(relid.hasClass('error_address')==true){relid.removeClass('error_address');relid.find("[id$='BtnFixAddress']").append("</p><a href='#' class='green_button_l selectAddressLink' style='margin-right:7px'>Set contact address <span>&raquo;</span></a></div>");}
if(!blnInCheckout&&relid.find('.green_button_l').length==0){relid.children('.address_prev').children('.address_cont').append("</p><span id='divBtnSelectAddress'><a href='#' class='green_button_l selectAddressLink' style='margin-right:7px'>Set contact address</a></span></div>");}}else{var line=[];if($("#multi_shipping").is(":checked")==false){if(isMainContactAddress){line[1]="<li><div id='AddressItem' class='main_address' rel='"+addressId+"'>";}else{line[1]="<li><div id='AddressItem' rel='"+addressId+"'>";}
line[2]="<p class='address_actions'><span style='float:left;color:red;'>Saved</span><a href='#' class='edit_address'>edit</a>|<a class='remove_address' href='#'>remove</a></p><p class='address_prev'>";line[3]="<span ='address_cont'><strong>"+addressFullName+"</strong><br/>";line[4]=addressLine1+"<br/>";line[5]=addressCounty+"<br/>";line[6]=addressPostcode+"<br/>";line[7]=addressCountry+"<br/></span>";if($('body').hasClass('one_page_checkout')){line[8]="</p><a href='#' class='ship_to_address'>ship to this address</a></div></li>";}else{if(isMainContactAddress){line[8]="</p><span id='divBtnSelectAddress' style='display:none'><a href='#' class='green_button_l selectAddressLink' style='margin-right:7px;display:none'>Set contact address</a></span></div></li>";}else{line[8]="</p><span id='divBtnSelectAddress'><a href='#' class='green_button_l selectAddressLink' style='margin-right:7px'>Set contact address</a></span></div></li>";}}
var html=line.join("");$('.c_addresses_list li:first').before(html);if(myHarrods.getQueryVariable("ReturnUrl")!=undefined&&myHarrods.getQueryVariable("ReturnUrl")=="/account/options"){window.location=myHarrods.getQueryVariable("ReturnUrl");}
$('.addresses_dropdown').each(function(){$(this).parents('.actions_list_address').find('dt span').text('Select delivery address');$(this).append('<li><a href="#" rel="'+addressId+'">'+addressLine1+'</a></li>')});}else{line[1]="<li style='height: 132px;'><div id='AddressItem' rel='"+addressId+"' style='height: 122px;'>";line[2]="<p class='address_actions'><span style='float:left;color:red;'>Saved</span><a href='#' class='edit_address'>edit</a>|<a class='remove_address' href='#'>remove</a></p><p class='address_prev'>";line[3]="<span ='address_cont'><strong>"+addressFullName+"</strong><br/>";line[4]=addressLine1+"<br/>";line[5]=addressCounty+"<br/>";line[6]=addressPostcode+"<br/>";line[7]=addressCountry+"<br/></span>";line[8]="</p><a href='#' style='display:none' class='ship_to_address'>ship to this address</a></div></li>";var html=line.join("");$('.c_addresses_list li:first').before(html);$('.addresses_dropdown').each(function(){$(this).parents('.actions_list_address').find('dt span').text('Select delivery address');$(this).append('<li><a href="#" rel="'+addressId+'">'+addressLine1+'</a></li>');});}}
$("[ID$='AddressChoice']").append('<option value="'+response.d.entityData.Id+'">'+response.d.entityData.AddressLine1+'</option>');$(".loadingCover, .loadingBg").remove();$('#ErrorAdd').html('').hide();$('.add_address_from_c').slideToggle();$('#delivery_address_f').html('');}
else{var errMsg=response.d.errorMessage;if(response.d.errors!=null){$.each(response.d.errors,function(key,val){errMsg=errMsg+'<br />'+val.Value;});}
$('#ErrorAdd').html("<div class='checkout_top_error'><ul><li>"+errMsg+"</li></ul></div>");$('#ErrorAdd, #ErrorAdd .checkout_top_error').show();}}
a.prototype.nextStep=function(thisid){var theDd=$("#"+thisid).parents('.checkout_step');var targetOffset=$("#checkout_h1").offset().top;$('html,body').animate({scrollTop:targetOffset},"slow",function(){theDd.fadeOut().end().slideUp("slow",function(){theDd.prev('dt').removeClass('active').addClass('greyed');theDd.prev('dt').children('.progress').children('.progress1').hide();theDd.prev('dt').children('.progress').children('.progress2').show();theDd.next('dt').addClass('active');theDd.next('dt').children('.progress').children('.progress1').text('In Progress');theDd.next('dt').next('dd').addClass('active');theDd.next('dt').next('dd').slideDown("slow");});});}
a.prototype.checkoutCase2=function(){gCjs.log("I m in case2");$('.checkout_progress').addClass('prog_step2');$('.checkout_progress').removeClass('prog_step1');$('.checkout_progress').removeClass('prog_step3');$('.checkout_progress').removeClass('prog_step4');$('.checkout_progress li').removeClass('active');$('.checkout_progress li').eq(1).addClass('active');}
a.prototype.checkoutCase3=function(){gCjs.log("I m in case3");$('.checkout_progress').addClass('prog_step3');$('.checkout_progress').removeClass('prog_step1');$('.checkout_progress').removeClass('prog_step2');$('.checkout_progress').removeClass('prog_step4');$('.checkout_progress li').removeClass('active');$('.checkout_progress li').eq(2).addClass('active');var s=s_gi(s_account);clearVars();s.pageName="checkout:step 3:payment";s.channel="checkout";if(s.getValOnce('event18','sc_event18')){s.events=s.apl(s.events,'event18',',',1);}
s.prop3='checkout';s.t();}
a.prototype.checkoutCase4=function(){gCjs.log("I m in case4");$('.checkout_progress').addClass('prog_step4');$('.checkout_progress').removeClass('prog_step1');$('.checkout_progress').removeClass('prog_step3');$('.checkout_progress').removeClass('prog_step2');$('.checkout_progress li').removeClass('active')
$('.checkout_progress li').eq(3).addClass('active');var s=s_gi(s_account);clearVars();s.pageName="checkout:step 4:confirm and pay";s.channel="checkout";if(s.getValOnce('event19','sc_event19')){s.events=s.apl(s.events,'event19',',',1);}
s.prop3='checkout';s.t();}
a.prototype.checkoutCase5=function(){gCjs.log("I m in case5");}
a.prototype.findAddress=function(errorMsg){var _self=this;var countryCode=$("[ID$='txtCountryName']").val();var houseNumber=$("[ID$='txtAddressLine1']").val();var postCode=$("[ID$='txtPostcode']").val().toLowerCase();errorMsg.hide();$("[ID$='ddAddressList']").children().remove();$("[ID$='divFindAddress']").hide();gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("FindAddress",new gCjs.util.Delegate(this,_self.onFindAddress),{'countryCode':countryCode,'houseNumber':houseNumber,'postCode':postCode});}
a.prototype.lookupUSAddress=function(errorMsg){var _self=this;var countryCode=$("[ID$='txtCountryName']").val();var addressLine1=$("[ID$='txtAddressLine1']").val();var city=$("[ID$='txtCity']").val();var zipCode=$("[ID$='txtPostcode']").val();errorMsg.hide();$("[ID$='ddAddressList']").children().remove();$("[ID$='divFindAddress']").hide();gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("LookupUSAddress",new gCjs.util.Delegate(this,_self.onFindAddress),{'countryCode':countryCode,'addressLine1':addressLine1,'city':city,'zipCode':zipCode});}
a.prototype.onFindAddress=function(response){var _self=this;$('#ErrorAddBill').hide();if(response.d.isValid&&null!=response.d.entityData){$('.small_loader').remove();if(response.d.entityData.addressCount==1){_self.onSelectAddress(response);}
else{$("[ID$='ddAddressList']").append($('<option></option>').val("0").html("Please Select"));$.each(response.d.entityData.items,function(key,item){$("[ID$='ddAddressList']").append($('<option></option>').html(item));});$("[ID$='SearchStatus']").val(response.d.entityData.addressMaster.AddressLine1);$("[ID$='divFindAddress']").show();}}else{$('#ErrorAddBill').append('<p class="error">'+response.d.errorMessage+'</p>').show();$('.small_loader').remove();}}
a.prototype.selectAddress=function(){var _self=this;var countryCode=$("[ID$='txtCountryName']").val();var searchStatus=$("[ID$='SearchStatus']").val();var ambiguityId=$("[ID$='ddAddressList']").attr("selectedIndex")-1;$('#ErrorAddBill').hide();$("[ID$='ddAddressList']").children().remove();$("[ID$='divFindAddress']").hide();gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("SelectAddress",new gCjs.util.Delegate(this,_self.onSelectAddress),{'countryCode':countryCode,'searchStatus':searchStatus,'ambiguityId':ambiguityId});}
a.prototype.showSelectedAddressById=function(Id){var _self=this;gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("GetAddress",new gCjs.util.Delegate(this,_self.onSelectBillingAddress),{'addressId':Id});}
a.prototype.SetAddressFieldLayout=function(countryCode,full){$('.txtAddressLine1').show();$('.txtAddressLine2').show();$('.txtCity').show();$('.txtCounty').show();$('.txtPostcode').show();$('.txtAddressLine1').children('label').text('Address line 1*');$('.txtCity').children('label').text('Town/City*');$('.txtCounty').children('label').text('State/Region*');$('.txtPostcode').children('label').text('Postcode/Zipcode*');$('.txtCountry').children('select').val(countryCode);$(".address_form #btnFindAddress").hide();$(".address_form #btnLookupUSAddress").hide();if(countryCode=='GB'){$("[ID$='TelephoneNumberCountryCode']").val("+44");$("[ID$='TelephoneNumber1CountryCode']").val("+44");$('#usCounty, #auCounty,#caCounty,#jpCounty').hide();$('#ukCounty').show();$('.txtCity').children('label').text('Town*');$('.txtPostcode').children('label').text('Postcode*');$(".address_form #btnFindAddress").show();if(full=="0"){$('.txtAddressLine1').children('label').text('House number');$('.txtAddressLine2').hide();$('.txtCity').hide();$('.txtCounty').hide();}}
else if(countryCode=='US'){$('#ukCounty, #auCounty,#caCounty,#jpCounty').hide();$('#usCounty').show();$('.txtCity').children('label').text('City*');$('.txtPostcode').children('label').text('Zipcode*');$(".address_form #btnLookupUSAddress").hide();}
else if(countryCode=='CA'){$('#ukCounty, #auCounty,#usCounty,#jpCounty').hide();$('#caCounty').show();$('.txtCity').children('label').text('City/Municipality*');$('.txtPostcode').children('label').text('Postal code*');}
else if(countryCode=='AU'){$('#ukCounty, #caCounty,#usCounty,#jpCounty').hide();$('#auCounty').show();$('.txtCity').children('label').text('Suburb*');$('.txtPostcode').children('label').text('Postcode*');}
else if(countryCode=='JP'){$('#ukCounty, #auCounty,#usCounty,#caCounty').hide();$('#jpCounty').show();$('.txtCity').children('label').text('City/District*');$('.txtPostcode').children('label').text('Postcode*');}}
a.prototype.onSelectBillingAddress=function(response){if(response.d.isValid&&null!=response.d.entityData){$.each(response.d.entityData,function(key,value){if($(".step3_box [ID$='txt"+key+"']")&&value!=null){if(key=='RegionName'&&response.d.entityData.CountryCode=='US'){$("[ID$='txt"+key+"Us']").val(value);$('#ukCounty, #auCounty,#caCounty,#jpCounty').hide();$('#usCounty').show();}else if(key=='RegionName'&&response.d.entityData.CountryCode=='CA'){$("[ID$='txt"+key+"Ca']").val(value);$('#ukCounty, #auCounty,#usCounty,#jpCounty').hide();$('#caCounty').show();}else if(key=='RegionName'&&response.d.entityData.CountryCode=='JP'){$("[ID$='txt"+key+"Jp']").val(value);$('#ukCounty, #auCounty,#caCounty,#usCounty').hide();$('#jpCounty').show();}else if(key=='RegionName'&&response.d.entityData.CountryCode=='AU'){$("[ID$='txt"+key+"Au']").val(value);$('#ukCounty, #usCounty,#caCounty,#jpCounty').hide();$('#auCounty').show();}else if(response.d.entityData.CountryCode=='GB'){$('#ukCounty').children('label').text('County*');$("[ID$='txt"+key+"']").val(value);$('#auCounty, #usCounty,#caCounty,#jpCounty').hide();$('#ukCounty').show();}else{$("[ID$='txt"+key+"']").val(value);};}});}
else{$('#ErrorAddBill').html(response.d.errorMessage).show();}}
a.prototype.onSelectAddress=function(response){var _self=this;if(response.d.isValid&&null!=response.d.entityData){$('.small_loader').remove();if(response.d.entityData.addressCount==1){$.each(response.d.entityData.addressMaster,function(key,value){if($("[ID$='txt"+key+"']")&&value!=null){if(key=='RegionName'&&response.d.entityData.addressMaster.CountryName=='US'){$("[ID$='txt"+key+"Us']").val(value);$('#ukCounty, #auCounty,#caCounty,#jpCounty').hide();$('#usCounty').show();}else if(key=='RegionName'&&response.d.entityData.addressMaster.CountryName=='CA'){$("[ID$='txt"+key+"Ca']").val(value);$('#ukCounty, #auCounty,#usCounty,#jpCounty').hide();$('#caCounty').show();}else if(key=='RegionName'&&response.d.entityData.addressMaster.CountryName=='JP'){$("[ID$='txt"+key+"Jp']").val(value);$('#ukCounty, #auCounty,#caCounty,#usCounty').hide();$('#jpCounty').show();}else if(key=='RegionName'&&response.d.entityData.addressMaster.CountryName=='AU'){$("[ID$='txt"+key+"Au']").val(value);$('#ukCounty, #usCounty,#caCounty,#jpCounty').hide();$('#auCounty').show();}else if(response.d.entityData.CountryName=='GB'){$('#ukCounty').children('label').text('County*');$("[ID$='txt"+key+"']").val(value);$('#auCounty, #usCounty,#caCounty,#jpCounty').hide();$('#ukCounty').show();}else{$("[ID$='txt"+key+"']").val(value);};}});$("[ID$='TelephoneNumber']").focus();_self.SetAddressFieldLayout(response.d.entityData.addressMaster.CountryName,1);$("[ID$='Short'], #Options1, #Options3, [ID$='divFindAddress']").hide();}
else{$("[ID$='ddAddressList']").append($('<option></option>').val("0").html("Please Select"));$.each(response.d.entityData.items,function(key,item){$("[ID$='ddAddressList']").append($('<option></option>').html(item));});$("[ID$='SearchStatus']").val(response.d.entityData.addressMaster.AddressLine1);$("[ID$='divFindAddress']").show();}}
else{$('#ErrorAddBill').append('<p class="error">'+response.d.errorMessage+'</p>').show();$('.small_loader').remove();}
var _self=this;if(response.d.isValid&&null!=response.d.entityData){}
else{$('#ErrorAddBill').html(response.d.errorMessage).show();}
return false;}
a.prototype.getBillingData=function(){var _self=this;var here=$("#Step03");var invalid="false";$(".error_c").remove();var payment={};if(_self.what_card=="new_card"){payment.CardType=$("[ID$='CardType'] option:selected").val().toUpperCase();payment.CardNumber=$("#card_number").val();if(payment.CardNumber==""){invalid="true";$(".sb_card_number").before('<li class="error_c"><p class="error">Please enter a card number</p></li>').addClass('error');}else if(isNaN(payment.CardNumber)==true){invalid="true";$(".sb_card_number").before('<li class="error_c"><p class="error">Must be a number</p></li>').addClass('error');}
else if(!_self.isValidIdentifier(payment.CardNumber)){invalid="true";$(".sb_card_number").before('<li class="error_c"><p class="error">Please enter a valid card number</p></li>').addClass('error');}
payment.CardHoldersName=$("#CardHoldersName").val();if(payment.CardHoldersName==""){invalid="true";$(".sb_card_name").before('<li class="error_c"><p class="error">Please enter a name</p></li>').addClass('error');}
payment.StartMonth=$("[ID$='StartMonth'] option:selected").val();payment.StartYear=$("[ID$='StartYear'] option:selected").val();payment.ExpiresMonth=$("[ID$='ExpiresMonth'] option:selected").val();payment.ExpiresYear=$("[ID$='ExpiresYear'] option:selected").val();payment.IssueNumber=$("#IssueNumber").val();payment.AuthCode=$("#AuthCode").val();_self.AuthCode=$("#AuthCode").val();if(_self.AuthCode==""){invalid="true";$(".sb_card_code").before('<li class="error_c"><p class="error">Please enter a secure code</p></li>').addClass('error');}
var myday=new Date();var month=myday.getMonth();if(month<10)month="0"+month;var year=myday.getFullYear();if(payment.ExpiresYear==year&&payment.ExpiresMonth<month){invalid="true";$(".sb_card_end").before('<li class="error_c"><p class="error">Please enter a valid end month</p></li>').addClass('error');}
payment.Id="";payment.LastFourDigits="";payment.BillingAddressId="";}else if(_self.what_card=="no_card"){payment.GiftCardOnly=true;_self.AuthCode="";}else if(_self.what_card=="saved_card"){payment.Id=here.find("[ID$='select_saved_card'] option:selected").val();payment.AuthCode=$("#AuthCode").val();_self.AuthCode=$("#AuthCode").val();if(_self.AuthCode==""){invalid="true";$(".sb_card_code").before('<li class="error_c"><p class="error">Please enter the security code</p></li>').addClass('error');}
payment.ExpiresYear="";payment.ExpiresMonth="";payment.IssueNumber="";payment.StartYear="";payment.StartMonth="";payment.CardHoldersName="";payment.CardNumber="";payment.CardType="";}
var address={};var here=$(".sb_payment_address");if(_self.what_billing_address=="custom_address"){address.CountryCode=here.find("[ID$='txtCountryName']").val();address.CountryName=here.find("[ID$='txtCountryName'] option:selected").text();address.UserTitle=here.find("[ID$='txtUserTitle']").val();if(address.UserTitle=="Please Select"){invalid="true";here.find(".txtUserTitle").before('<li class="error_c"><p class="error">Please select a title</p></li>').addClass('error');}
address.FirstName=here.find("[ID$='txtFirstName']").val();if(address.FirstName==""){invalid="true";here.find(".txtFirstName").before('<li class="error_c"><p class="error">Please enter a first name</p></li>').addClass('error');}
address.LastName=here.find("[ID$='txtLastName']").val();if(address.LastName==""){invalid="true";here.find(".txtLastName").before('<li class="error_c"><p class="error">Please enter a last name</p></li>').addClass('error');}
address.CompanyName=here.find("[ID$='txtCompanyName']").val();address.AddressLine1=here.find("[ID$='txtAddressLine1']").val();if(address.AddressLine1==""){invalid="true";here.find(".txtAddressLine1").before('<li class="error_c"><p class="error">Please enter an address line 1</p></li>').addClass('error');}
address.AddressLine2=here.find("[ID$='txtAddressLine2']").val();address.City=here.find("[ID$='txtCity']").val();if(address.City==""){invalid="true";here.find(".txtCity").before('<li class="error_c"><p class="error">Please enter a town/city</p></li>').addClass('error');}
if(address.CountryCode=="GB"){address.RegionName=here.find("[ID$='txtRegionName']").val();address.RegionCode="";if(address.RegionName==""){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a county</p></li>').addClass('error');};}else if(address.CountryCode=="US"){address.RegionName=here.find("[ID$='txtRegionNameUs'] option:selected").text();address.RegionCode=here.find("[ID$='txtRegionNameUs'] option:selected").val();if(address.RegionName==""||address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a state/region</p></li>').addClass('error');};}else if(address.CountryCode=="CA"){address.RegionName=here.find("[ID$='txtRegionNameCa'] option:selected").text();address.RegionCode=here.find("[ID$='txtRegionNameCa'] option:selected").val();if(address.RegionName==""||address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a province</p></li>').addClass('error');};}else if(address.CountryCode=="JP"){address.RegionName=here.find("[ID$='txtRegionNameJp'] option:selected").text();address.RegionCode=here.find("[ID$='txtRegionNameJp'] option:selected").val();if(address.RegionName==""||address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a prefecture</p></li>').addClass('error');};}else if(address.CountryCode=="AU"){address.RegionName=here.find("[ID$='txtRegionNameAu'] option:selected").text();address.RegionCode=here.find("[ID$='txtRegionNameAu'] option:selected").val();if(address.RegionName==""||address.RegionName=="Please Select"){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a state/region</p></li>').addClass('error');};}else{address.RegionName=here.find("[ID$='txtRegionName']").val();address.RegionCode="";if(address.RegionName==""){invalid="true";here.find(".txtCounty").before('<li class="error_c"><p class="error">Please enter a state/region</p></li>').addClass('error');};};address.TelephoneNumberCountryCode=here.find("[ID$='TelephoneNumberCountryCode']").val();address.TelephoneNumber=here.find("[ID$='txtTelephoneNumber']").val();address.TelephoneNumber1CountryCode=here.find("[ID$='TelephoneNumber1CountryCode']").val();address.TelephoneNumber1=here.find("[ID$='txtTelephoneNumber1']").val();if(address.TelephoneNumber==""){if(address.TelephoneNumber1==""){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter at least one telephone number</p></li>').addClass('error');}else if(!/^([0-9]*[1-9][0-9]*)$/.test(address.TelephoneNumber1)||address.TelephoneNumber1.length<6){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(address.TelephoneNumber1!=""&&address.TelephoneNumber1CountryCode==""){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}}else if(!/^([0-9]*[1-9][0-9]*)$/.test(address.TelephoneNumber)||address.TelephoneNumber.length<6){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(address.TelephoneNumber!=""&&address.TelephoneNumberCountryCode==""){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}
if(address.TelephoneNumber1==""){if(address.TelephoneNumber==""){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter at least one telephone number</p></li>').addClass('error');}else if(!/^([0-9]*[1-9][0-9]*)$/.test(address.TelephoneNumber)||address.TelephoneNumber.length<6){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(address.TelephoneNumber!=""&&address.TelephoneNumberCountryCode==""){invalid="true";here.find(".txtTelephoneNumber").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}}else if(!/^([0-9]*[1-9][0-9]*)$/.test(address.TelephoneNumber1)||address.TelephoneNumber1.length<6){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a valid telephone number without any spaces and special characters</p></li>').addClass('error');}else if(address.TelephoneNumber1!=""&&address.TelephoneNumber1CountryCode==""){invalid="true";here.find(".txtTelephoneNumber1").before('<li class="error_c"><p class="error">Please enter a country code</p></li>').addClass('error');}
address.IsDefaultContactAddress=here.find("#chkDefaultContactAddress").attr('checked');address.Email=here.find("#txtEmail").val();var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;if(address.Email==""){invalid="true";here.find(".txtEmail").before('<li class="error_c"><p class="error">Please enter an Email address</p></li>').addClass('error');}else if(!emailReg.test(address.Email)){invalid="true";here.find(".txtEmail").before('<li class="error_c"><p class="error">Please enter a valid email</p></li>').addClass('error');}
address.Postcode=here.find("[ID$='txtPostcode']").val();if(address.CountryCode=="GB"||address.CountryCode=="US"||address.CountryCode=="AU"){if(address.Postcode==""){invalid="true";here.find(".txtPostcode").before('<li class="error_c"><p class="error">Please enter a postcode</p></li>').addClass('error');}}
address.Id=here.find("[ID$='txtId']").val();}else{address.Id=here.find("[ID$='AddressChoice'] option:selected").val();address.CountryCode="";address.Postcode="";address.RegionCode="";address.RegionName="";address.TelephoneNumber="";address.Email="";address.City="";address.AddressLine2="";address.AddressLine1="";address.LastName="";address.FirstName="";address.CountryName="";payment.BillingAddressId=address.Id;address.Email="";address.CustomerId="";address.UserTitle="";address.IsBFPO="";address.BFPOFullName="";address.PostcodeExtended="";address.PreferredContactNumber="";address.Rank="";address.Regiment="";}
if(invalid=="false"){_self.address=address;_self.payment=payment;_self.onSavePayment();}}
a.prototype.isValidIdentifier=function(identifier){var sum=0,alt=false,i=identifier.length-1,num;if(identifier.length<13||identifier.length>19){return false;}
while(i>=0){num=parseInt(identifier.charAt(i),10);if(isNaN(num)){return false;}
if(alt){num*=2;if(num>9){num=(num%10)+1;}}
alt=!alt;sum+=num;i--;}
return(sum%10==0);}
a.prototype.orderConfirmationPage=function(response){$(".checkout_progress, .checkout_list").hide();$("#checkout_h1").text("Order Confirmation");}
gCjs.register("block_onepCheckout",a);gCjs.namespace("harrods.block");gCjs.harrods.block.onepShopBag=function(id){this._container=$("#"+id);}
var a=gCjs.harrods.block.onepShopBag;a.prototype.init=function(){gCjs.log(this._container);var _self=this;this.loader='<img src="/new_images/zoomloader.gif" class="small_loader" alt="Loading ..." />';_self.multishippingis=false;this.hasGiftcards=false;theOrder={};theOrder.addressId="";theOrder.lineItemId="";theOrder.deliveryMethodId="";if(typeof activateGiftCards2010!='undefined'){if(activateGiftCards2010=='False'){$(".basket_gift_card, .gift_card_actions").hide();}
if(activateGiftCards2010=='True'&&$('#block_onepShopBag .shopping_bag_left > li').find(".prev_prod_name").text().match("Gift Card")){this.hasGiftcards=true;$(".basket_gift_card, .gift_card_actions").hide();}}
$(".add_address, .add_new_c .add_new").click(function(){if($('.add_address_from_c').is(':hidden')){$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#delivery_address_f').html(data);gCjs.getInstance('block_onepCheckout').listHightlight();gCjs.getInstance('block_onepCheckout').findUkAddress();$('.add_address_from_c').slideDown();$("[ID$='UserTitle']").val('MRS');}});};return false;});$('.shipping_to li input').click(function(){if($(this).attr('id')=='multi_shipping'){_self.multishippingis=true;_self.MultiShipping2();}else{_self.multishippingis=false;_self.oneShipping2();}})
this.addDelivery();this.addGiftMsg();this.removeAddress();this.OneShipping();this.MultiShipping();this.viewBenefits();if($(".checkout_onepage").length>0||$(".add_address_from_c").length>0){this.removeItem();$(".cancel_add_address").bind("click",function(){$(this).parent('div').parent('div').slideToggle();$('#delivery_address_f').html('');$('.add_new_address_h').text('Add new address');return false;});}
this.manageAddressActions();}
a.prototype.manageAddressActions=function(){var _self=this;$(".selectAddressLink").live("click",function(){theOrder.addressId=$(this).parent().parent().attr('rel');gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("SetDefaultContactAddress",new gCjs.util.Delegate(this,_self.onDefaultAddressSelected),{addressId:theOrder.addressId});return false;});$(".fixAddressLink").click(function(){$(this).parent().prev().prev().children('.edit_address').click();return false;});}
a.prototype.onDefaultAddressSelected=function(response){if(response.d.entityData==true){$('.main_address').removeClass('main_address');var relid=$(this).parent().parent().addClass('main_address');$('.selectAddressLink').parent().show();$('.selectAddressLink').show();$(this).hide();}}
a.prototype.onGetAddressControl=function(response){if(response.d.IsValid==true){$('#delivery_address_f').html(response.d.EntityData);$('.add_address_from_c').slideDown();}}
a.prototype.viewBenefits=function(){$(".view_benefits").click(function(){hamperModal($(this),480,190,$("#register_benefits"));return false;})
function hamperModal(ele,mdw,mdh,cont){var theTitle=ele.attr("title");var theContent=cont.html();$("#email_box").text("");$("#email_box").dialog({width:mdw,height:mdh,title:theTitle,modal:true,overlay:{opacity:0.9,background:"#000000"}}).fadeIn("slow");$(".ui-dialog-titlebar-close").text('');$("#email_box").append(theContent).fadeIn("slow");}}
a.prototype.addDatePicker=function(){$("div.datePicker").remove();var _self=this;for(var i=0;i<_self.datepickid.length;i++){var dateid=_self.datepickid[i];var dateiddates=_self.datepickiddates[i];var opts={formElements:{},fillGrid:true,highlightDays:[0,0,0,0,0,0,0],noFadeEffect:true,finalOpacity:100,enabledDates:{}};for(var k in dateiddates){var availdates=dateiddates[k];opts.enabledDates[availdates]=1;}
opts.formElements[dateid]="d-sl-m-sl-Y";datePickerController.createDatePicker(opts);}
$('.static-datepicker').css({"width":"170px","height":"275px","display":"block"});setInterval(function(){_self.updateDatesDisplay();},1);}
a.prototype.updateDatesDisplay=function(){$('.datepicker').each(function(){if($(this).val()!='Click icon to select date =>'){$(this).siblings(".dates_display").text($(this).val());}})}
a.prototype.removeAddress=function(){var _self=this;$('.remove_address').live("click",function(){theOrder.addressId=$(this).parent('p').parent('div').attr('rel');gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("RemoveAddress",new gCjs.util.Delegate(this,_self.onRemoveAddress),{addressId:theOrder.addressId});return false;})}
a.prototype.onRemoveAddress=function(response){if(response.d.isValid==true){$("[rel$='"+response.d.entityData.replace(/{|}/ig,"")+"']").parent('li').fadeOut('slow').remove();$('.addresses_dropdown li').each(function(){if($(this).children('a').attr('rel')==response.d.entityData.replace(/{|}/ig,"")){$(this).remove();}});$("[ID$='AddressChoice']").find("[rel$='"+response.d.entityData+"']").remove();if($(".checkout_onepage").length>0){$.each(userInfo.CreditCards.items,function(i,item){if(item.BillingAddressId==response.d.entityData){item.BillingAddressId=null;item.BillingAddress=null;}})}}}
a.prototype.removeItem=function(){var _self=this;$('.cart_remove').click(function(){var thisLineItemId=$(this).parents('.sb_item').attr('rel');gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("RemoveLineItem",new gCjs.util.Delegate(_self,_self.onRemoveItem),{lineItemId:thisLineItemId});$(this).parents('.sb_item').fadeOut();return false;})}
a.prototype.onRemoveItem=function(response){var _self=this;if(response.d.IsValid==true){_self.delievryAdded[response.d.EntityData.LineItemId]=true;_self.multiAddAdded[response.d.EntityData.LineItemId]=true;$("[rel$='"+response.d.EntityData.LineItemId+"']").fadeOut().remove();$('.cart_total .totals').html(response.d.EntityData.ResultHtml);$('#block_onepShopBag .shopping_bag_left > li').each(function(){if(activateGiftCards2010=='True'){if($(this).find(".prev_prod_name").text().match("Gift Card")){_self.hasGiftcards=true;$(".basket_gift_card, .gift_card_actions").hide();}else{_self.hasGiftcards=false;$(".basket_gift_card, .gift_card_actions").show();}}});gCjs.getInstance('block_onepCheckout').oneItem();s.linkTrackEvents='scRemove,event23';s.linkTrackVars='products,events'
s.events='scRemove,event23';s.products=';'+response.d.EntityData.ProductId+';;;event23=-'+response.d.EntityData.LineValue;s.tl(this,'o','Basket:Decrease Quantity');}}
a.prototype.addGiftMsg=function(){var _self=this;$('#block_onepShopBag .shopping_bag_left > li').each(function(){_self.delievryAdded[$(this).attr('rel')]=false;if($(this).find(".prev_prod_name").text().match("Gift Card")){$(this).find(".gift_msg1").hide();$(this).find(".gift_msg2").show();}else{$(this).find(".gift_msg1").show();$(this).find(".gift_msg2").hide();}});$('.gift_msg_input').focus(function(){$(this).text('');})
$('.add_gift_msg').click(function(){$(this).siblings('.gift_msg_form').slideToggle('fast');$(this).siblings('.add_gift_msg_intro').hide();$(this).siblings('.gift_actions').children('.cancel_gift_msg').css('display','block');$(this).hide();return false;});$('.cancel_gift_msg').click(function(){$(this).hide();if(activateGiftCards2010=='True'&&$(this).parents('.sb_item').find(".prev_prod_name").text().match("Gift Card")){$(this).parent('.gift_actions').siblings('.gift_msg2').show();$(this).parent('.gift_actions').siblings('.add_gift_msg').show();}else{$(this).parent('.gift_actions').siblings('.add_gift_msg').show();$(this).parent('.gift_actions').siblings('.gift_msg1').show();}
$(this).parent('.gift_actions').siblings('.gift_msg_form').slideToggle('fast');return false;})
$('.actions_list_gift dd .gifts_dropdown a').click(function(){var thegiftMsg=$(this).text();$(this).parents('.actions_list_gift').siblings('.gift_msg_input').text(thegiftMsg);$(this).parents('.gifts_dropdown').parent('dd').slideToggle('fast');return false;})
$('.save_gift_msg').click(function(){if(activateGiftCards2010=='True'&&$(this).siblings('.gift_msg_input').val().length>200&&$(this).parents('.sb_item').find(".prev_prod_name").text().match("Gift Card")){alert('you\'ve entered '+$(this).siblings('.gift_msg_input').val().length+' characters, and the maximum is 200 characters');}else if($(this).siblings('.gift_msg_input').val().length>240){alert('you\'ve entered '+$(this).siblings('.gift_msg_input').val().length+' characters, and the maximum is 240 characters');}else{var giftMsgCopy=$(this).siblings('.gift_msg_input').val();var thisLineItemId=$(this).parents('.sb_item').attr('rel');gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("SaveGiftMessageForItem",new gCjs.util.Delegate(this,_self.onSaveGiftMessage),{giftMessage:giftMsgCopy,lineItemId:thisLineItemId});};return false;});$('.remove_gift_msg').click(function(){var thisLineItemId=$(this).parents('.sb_item').attr('rel');gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("SaveGiftMessageForItem",new gCjs.util.Delegate(this,_self.onRemoveGiftMessage),{giftMessage:"",lineItemId:thisLineItemId});return false;})
$('.gift_msg_box .edit_gift_msg').click(function(){$(this).parents('.gift_msg_box').children('.gift_msg_form').slideToggle('fast');$(this).parent('span').hide();return false;})
$("#rtl_check").click(function(){if($(this).is(":checked")){$(".gift_msg_input").attr("dir","rtl");}else{$(".gift_msg_input").attr("dir","ltr");if($(".gift_msg_input").val()==''){$(".gift_msg_input").val('Or type a new one.')}}})}
a.prototype.onSaveGiftMessage=function(response){if(response.d.IsValid==true){var giftMsgCopy=$("[rel$='"+response.d.EntityData+"']").find('.gift_msg_box .gift_msg_input').val();var theParent=$("[rel$='"+response.d.EntityData+"']");if($("#rtl_check").is(":checked")){theParent.find('.gift_msg_box .gift_msg_copy').attr("dir","rtl");}else{theParent.find('.gift_msg_box .gift_msg_copy').attr("dir","ltr");}
theParent.find('.gift_msg_box .gift_msg_copy').text(giftMsgCopy);theParent.find('.gift_msg_box .gift_actions span, .gift_msg_box .gift_actions span a').show();theParent.find('.gift_msg_box .gift_msg_form').slideToggle('fast');theParent.find('.gift_msg_box .cancel_gift_msg').hide();}}
a.prototype.onRemoveGiftMessage=function(response){if(response.d.IsValid==true){var theParent=$("[rel$='"+response.d.EntityData+"']");theParent.find('.gift_msg_box .gift_msg_copy').text('');if(activateGiftCards2010=='True'&&theParent.find(".prev_prod_name").text().match("Gift Card")){theParent.find('.gift_msg2, .gift_msg_box .add_gift_msg').show();}else{theParent.find('.gift_msg1, .gift_msg_box .add_gift_msg').show();}
theParent.find('.gift_msg_box .gift_actions span').hide();}}
a.prototype.addAddress=function(){var _self=this;$('.actions_list_address dd .addresses_dropdown a').live('click',function(){$(this).parents('.address_delivery_c').find('.address_erorr').remove();theOrder.addressId=$(this).attr('rel');theOrder.lineItemId=$(this).parents('.sb_item').attr('rel');gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("GetValidDeliveryMethods",new gCjs.util.Delegate(_self,_self.onAddAddress),{addressId:theOrder.addressId,lineItemId:theOrder.lineItemId});return false;})}
a.prototype.onAddAddress=function(response){var _self=this;var inc=1;for(var i in response.d){if($("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dt span').text()!='Select delivery method'){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dt span').text('Select delivery method');$("[rel$='"+response.d[i].LineItemId+"']").find('.select_delivery_c').removeClass('valid_info').addClass('not_valid_info');_self.delievryAdded[response.d[i].LineItemId]=false;}
$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').attr('id',response.d[i].AddressId).html('<li class="address_first">Please select an address first.</li>');var deliveryOpt=response.d[i].DeliveryOptions;var tempdescr='';if(deliveryOpt.length==0){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').attr('id',response.d[i].AddressId).append('<li class="no_delievry">No delievry method available for this item for the selected address.</li>');}else{for(var j in deliveryOpt){if(deliveryOpt[j].DeliveryOptionId=='76646e59-bc71-425d-a443-75a962753019'){tempdescr='(3-5 working days, M-F only)';}
else if(deliveryOpt[j].DeliveryOptionId=='512a14de-71da-4e35-a9f9-a1d7c28bd910'){tempdescr='(Next working day on all orders placed before 1pm, M-F only)';}
else if(deliveryOpt[j].DeliveryOptionId=='f1a134d5-65cf-405a-aef8-244ce23ddf70'){tempdescr='(Saturday only on orders placed before Friday 1pm)';}
if(deliveryOpt[j].RequiresDate==false){if(deliveryOpt[j].DeliveryOptionId=='76646e59-bc71-425d-a443-75a962753019'||deliveryOpt[j].DeliveryOptionId=='512a14de-71da-4e35-a9f9-a1d7c28bd910'||deliveryOpt[j].DeliveryOptionId=='f1a134d5-65cf-405a-aef8-244ce23ddf70'){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix"><input type="checkbox"  class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold">'+deliveryOpt[j].Name+' (£'+deliveryOpt[j].Charge+')</span><span class="delivery_desc clearfix">'+tempdescr+'</span></div></li>');}
else{$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix"><input type="checkbox"  class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold">'+deliveryOpt[j].Name+'</span></div></li>');}}else{if(deliveryOpt[j].DeliveryOptionId=='76646e59-bc71-425d-a443-75a962753019'||deliveryOpt[j].DeliveryOptionId=='512a14de-71da-4e35-a9f9-a1d7c28bd910'||deliveryOpt[j].DeliveryOptionId=='f1a134d5-65cf-405a-aef8-244ce23ddf70'){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix datepicker_c"><input type="checkbox" class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold" style="display:block;">'+deliveryOpt[j].Name+' (£'+deliveryOpt[j].Charge+')</span><span class="dates_display" style="float:left;display:block;font-size:10px;width:140px;height:25px;background:#fff">Click icon to select date =></span><input type="text" style="display:none" value="Click icon to select date =>" class="datepicker" name="datepicker" id="datepicker'+response.d[i].LineItemId+inc+'" /><span class="delivery_desc clearfix"></span></div></li>');}
else{$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix datepicker_c"><input type="checkbox" class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold" style="display:block;">'+deliveryOpt[j].Name+'</span><span class="dates_display" style="float:left;display:block;font-size:10px;width:140px;height:25px;background:#fff">Click icon to select date =></span><input type="text" style="display:none" value="Click icon to select date =>" class="datepicker" name="datepicker" id="datepicker'+response.d[i].LineItemId+inc+'" /><span class="delivery_desc clearfix"></span></div></li>');}
_self.datepickid.push('datepicker'+response.d[i].LineItemId+inc);_self.datepickiddates.push(deliveryOpt[j].Dates);inc++;}}}
var theAddress=$("[rel$='"+response.d[i].LineItemId+"']").find("[rel$='"+response.d[i].AddressId+"']").text();$("[rel$='"+response.d[i].LineItemId+"']").find("[rel$='"+response.d[i].AddressId+"']").parents('.addresses_dropdown').parent('dd').prev('dt').children('span').text(theAddress);$("[rel$='"+response.d[i].LineItemId+"']").find('.select_address_c').removeClass('not_valid_info').addClass('valid_info');$("[rel$='"+response.d[i].LineItemId+"']").find("[rel$='"+response.d[i].AddressId+"']").parents('.addresses_dropdown').parent('dd').slideToggle('fast');}
_self.multiAddAdded[response.d[i].LineItemId]=true;$('.address_first').hide();if($(".datepicker").length>0){_self.addDatePicker();};}
a.prototype.addDelivery=function(){var _self=this;_self.datepickid=[];_self.multiAddAdded={}
_self.delievryAdded={}
_self.datepickiddates=[];if(theOrder.deliveryMethodId==""){$('.select_delivery_c').removeClass('valid_info').addClass('not_valid_info');}else{$('.select_delivery_c').removeClass('not_valid_info').addClass('valid_info');}
if(theOrder.addressId==""){$('.select_address_c').removeClass('valid_info').addClass('not_valid_info');}else{$('.select_address_c').removeClass('not_valid_info').addClass('valid_info');}
$('#block_onepShopBag .shopping_bag_left > li').each(function(){_self.delievryAdded[$(this).attr('rel')]=false;if(typeof activateGiftCards2010!='undefined'){if(activateGiftCards2010=='True'&&$(this).find(".prev_prod_name").text().match("Gift Card")){$(this).find(".gift_msg1").hide();$(this).find(".gift_msg2").show();}else{$(this).find(".gift_msg1").show();$(this).find(".gift_msg2").hide();}}});$('.actions_list_delivery dd ul li input:checkbox').live('click',function(){if($(this).parent('li').hasClass('datepicker_c')){if($(this).next('div').children('.datepicker').val()==''||$(this).next('div').children('.datepicker').val()=='Click icon to select date =>'){$(this).parent('li').children(".error").remove()
$(this).parent('li').append('<p class="error">Please select a date.</p>');this.checked=false;}else{if(this.checked==true){$(this).parent('li').children('.erorr').remove();$(this).parents('.address_delivery_c').find('.delievry_erorr').remove();theOrder.addressId=$(this).parent('li').parent('ul').attr('id');theOrder.lineItemId=$(this).parents('.sb_item').attr('rel');theOrder.deliveryMethodId=$(this).attr('id');theOrder.deliveryMethodDate=$(this).next('div').children('.datepicker').val();gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("saveLineItemDeliveryDetails",new gCjs.util.Delegate(this,_self.onSaveDelivery),{lineItemId:theOrder.lineItemId,addressId:theOrder.addressId,deliveryMethodId:theOrder.deliveryMethodId,deliveryMethodDate:theOrder.deliveryMethodDate});this.checked=true;_self.delievryAdded[theOrder.lineItemId]=true;}}}else{if(this.checked==true){$(this).parents('.address_delivery_c').find('.delievry_erorr').remove();theOrder.addressId=$(this).parent('li').parent('ul').attr('id');theOrder.lineItemId=$(this).parents('.sb_item').attr('rel');theOrder.deliveryMethodId=$(this).attr('id');gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("saveLineItemDeliveryDetails",new gCjs.util.Delegate(this,_self.onSaveDelivery),{lineItemId:theOrder.lineItemId,addressId:theOrder.addressId,deliveryMethodId:theOrder.deliveryMethodId,deliveryMethodDate:""});this.checked=true;_self.delievryAdded[theOrder.lineItemId]=true;}}})
$(".actions_list_delivery dt, .actions_list_address dt, .actions_list_gift dt").click(function(){$(this).next("dd").slideToggle('fast');return false;});var zindex=100;$('.shopping_bag_left > li').each(function(){$(this).css('z-index',zindex);zindex--;});}
a.prototype.onSaveDelivery=function(response){var _self=this;if(response.d.IsValid==true){var deliveryName=$("[rel$='"+response.d.EntityData.LineItemId+"']").find("[id$='"+response.d.EntityData.DeliveryMethodId+"']").next('div').children('.delivery_name').text();$("[rel$='"+response.d.EntityData.LineItemId+"']").find('.actions_list_delivery dd').slideUp('fast');$("[rel$='"+response.d.EntityData.LineItemId+"']").find('.actions_list_delivery dt span').text(deliveryName);$("[rel$='"+response.d.EntityData.LineItemId+"']").find('.select_delivery_c').removeClass('not_valid_info').addClass('valid_info');$('.cart_total .totals, .order_summary_c').html(response.d.EntityData.ResultHtml);}}
a.prototype.MultiShipping2=function(){var _self=this;gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("DeliverToMultipleAddresses",new gCjs.util.Delegate(_self,_self.onMultiShipping2),{});}
a.prototype.onMultiShipping2=function(response){var _self=this;$('.ship_to_address, .oneaddressintro, .oneaddressh3').fadeOut(function(){$('.select_address_c, .multiaddressintro, .multiaddressh3').fadeIn();$('.c_addresses_list li').css('height','132px');$('.c_addresses_list li div').css('height','122px').removeClass('selected_address');$('.add_new_c .add_new').css('margin-top','50px');});var newBasket=$(".shopping_bag_left",response.d.EntityData)
$("#block_onepShopBag .shopping_bag_left").remove();$("#block_onepShopBag").prepend(newBasket)
this.addDelivery();this.addGiftMsg();this.removeAddress();gCjs.getInstance('block_onepCheckout').continueToPay();$('#block_onepShopBag .shopping_bag_left > li').each(function(){_self.multiAddAdded[$(this).attr('rel')]=false;});$('.select_delivery_c, .select_address_c').removeClass('valid_info').addClass('not_valid_info');}
a.prototype.MultiShipping=function(){var _self=this;$('.actions_list_delivery dd ul li').each(function(){if($(this).hasClass('address_first')){$(this).show();}else{$(this).remove();}});this.addAddress();}
a.prototype.oneShipping2=function(){var _self=this;gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("DeliverToASingleAddress",new gCjs.util.Delegate(this,_self.onOneShipping2),{});}
a.prototype.onOneShipping2=function(response){$('.select_address_c, .multiaddressintro, .multiaddressh3').fadeOut(function(){$('.ship_to_address, .oneaddressintro, .oneaddressh3').fadeIn();$('.c_addresses_list li').css('height','172px');$('.c_addresses_list li div').css('height','162px');$('.add_new_c .add_new').css('margin-top','75px');});var newBasket=$(".shopping_bag_left",response.d.EntityData)
$("#block_onepShopBag .shopping_bag_left").remove();$("#block_onepShopBag").prepend(newBasket);this.addDelivery();this.addGiftMsg();this.removeAddress();gCjs.getInstance('block_onepCheckout').continueToPay();}
a.prototype.OneShipping=function(){var _self=this;$('.ship_to_address').live("click",function(){$('.checkout_top_error .error').remove();$(this).parents('.c_addresses_list').find('li > div').removeClass('selected_address');$(this).parents('.c_addresses_list').find('.ship_to_address').fadeIn();$(this).parent('div').addClass('selected_address');$(this).parent('div').parent('li').css("border","1px solid #000")
$("[ID$='Step02form']").find('.checkout_top_error ul').html('');$("[ID$='Step02form']").find('.checkout_top_error').hide();$('.error').remove();$(this).parent('div').parent('li').after('<li class="add_new_loader" style="height: 172px;"></li>');$(this).fadeOut();theOrder.addressId=$(this).parent('div').attr('rel');gCjs.util.ServiceProxy.getService("BasketServices.asmx").call("GetValidDeliveryMethods",new gCjs.util.Delegate(_self,_self.onOneShipping),{addressId:theOrder.addressId,lineItemId:""});return false;})
$('.c_addresses_list li div .address_actions .edit_address').live("click",function(){if($(this).parent('.address_actions').parent('div').hasClass('selected_address')){$(this).parent('.address_actions').parent('div').removeClass('selected_address');$(this).parent('.address_actions').parent('div').find('.ship_to_address').fadeIn();$('.actions_list_delivery dd ul').html('');}
theOrder.addressId=$(this).parent('p').parent('div').attr('rel');$.ajax({url:'/UIServices/Common/SiteService.svc/renderuc?path=/UserControls/Common/AddressForm.ascx&bustcache='+(new Date()).getTime(),dataType:'html',success:function(data){$('#delivery_address_f').html(data);gCjs.getInstance('block_onepCheckout').listHightlight();gCjs.getInstance('block_onepCheckout').findUkAddress();$('.add_new_address_h').text('Edit address');gCjs.util.ServiceProxy.getService("Account/AddressService.svc").call("GetAddress",new gCjs.util.Delegate(_self,_self.onEditAddress),{addressId:theOrder.addressId});}});return false;})}
a.prototype.onEditAddress=function(response){gCjs.getInstance('block_onepCheckout').SetAddressFieldLayout(response.d.entityData.CountryCode,1);if(response.d.isValid&&null!=response.d.entityData){$.each(response.d.entityData,function(key,value){if(key=='IsDefaultContactAddress'&&value){var defaultContactAddressCheckbox=$("#delivery_address_f [ID$='chkDefaultContactAddress']");defaultContactAddressCheckbox.attr('checked',true);}
if(key=='TelephoneNumberCountryCode'){var telephoneNumberCountryCodeDropdown=$("#delivery_address_f [ID$='TelephoneNumberCountryCode']");telephoneNumberCountryCodeDropdown.val(value);}
if(key=='TelephoneNumber1CountryCode'){var telephoneNumber1CountryCodeDropdown=$("#delivery_address_f [ID$='TelephoneNumber1CountryCode']");telephoneNumber1CountryCodeDropdown.val(value);}
if($("#delivery_address_f [ID$='txt"+key+"']")&&value!=null){if(key=='RegionName'&&response.d.entityData.CountryCode=='US'){$("#delivery_address_f [ID$='txt"+key+"Us']").val(response.d.entityData.RegionCode);$('#ukCounty, #auCounty,#caCounty,#jpCounty').hide();$('#usCounty').show();}else if(key=='RegionName'&&response.d.entityData.CountryCode=='CA'){$("#delivery_address_f [ID$='txt"+key+"Ca']").val(response.d.entityData.RegionCode);$('#ukCounty, #auCounty,#usCounty,#jpCounty').hide();$('#caCounty').show();}else if(key=='RegionName'&&response.d.entityData.CountryCode=='JP'){$("#delivery_address_f [ID$='txt"+key+"Jp']").val(response.d.entityData.RegionCode);$('#ukCounty, #auCounty,#caCounty,#usCounty').hide();$('#jpCounty').show();}else if(key=='RegionName'&&response.d.entityData.CountryCode=='AU'){$("#delivery_address_f [ID$='txt"+key+"Au']").val(response.d.entityData.RegionCode);$('#ukCounty, #usCounty,#caCounty,#jpCounty').hide();$('#auCounty').show();}else if(response.d.entityData.CountryCode=='GB'){$('#ukCounty').children('label').text('County*');$("#delivery_address_f [ID$='txt"+key+"']").val(value);$('#auCounty, #usCounty,#caCounty,#jpCounty').hide();$('#ukCounty').show();}else{$("#delivery_address_f [ID$='txt"+key+"']").val(value);};}});if($('.add_address_from_c').is(':hidden')){$('.add_address_from_c').slideToggle();};if($(document.activeElement).hasClass('fixAddressLink')==true){$('.save_to_addresses').click();}}}
a.prototype.onOneShipping=function(response){var _self=this;$('.add_new_loader').remove();$('.select_delivery_c').removeClass('valid_info').addClass('not_valid_info');$('.actions_list_delivery dt span').text('Select delivery method');$.each(_self.delievryAdded,function(i,n){_self.delievryAdded[i]=false;});var inc=1;for(var i in response.d){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').attr('id',response.d[i].AddressId).html('<li class="address_first">Please select an address first.</li>');var deliveryOpt=response.d[i].DeliveryOptions;if(deliveryOpt.length==0){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').attr('id',response.d[i].AddressId).append('<li class="no_delievry">No delievry method available for this item for the selected address.</li>');}else{for(var j in deliveryOpt){if(deliveryOpt[j].DeliveryOptionId=='76646e59-bc71-425d-a443-75a962753019'){tempdescr='(3-5 working days, M-F only)'}
else if(deliveryOpt[j].DeliveryOptionId=='512a14de-71da-4e35-a9f9-a1d7c28bd910'){tempdescr='(Next working day on all orders placed before 1pm, M-F only)'}
else if(deliveryOpt[j].DeliveryOptionId=='f1a134d5-65cf-405a-aef8-244ce23ddf70'){tempdescr='(Saturday only on orders placed before Friday 1pm)'}
if(deliveryOpt[j].RequiresDate==false){if(deliveryOpt[j].DeliveryOptionId=='76646e59-bc71-425d-a443-75a962753019'||deliveryOpt[j].DeliveryOptionId=='512a14de-71da-4e35-a9f9-a1d7c28bd910'||deliveryOpt[j].DeliveryOptionId=='f1a134d5-65cf-405a-aef8-244ce23ddf70'){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix"><input type="checkbox"  class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold">'+deliveryOpt[j].Name+' (£'+deliveryOpt[j].Charge+')</span><span class="delivery_desc clearfix">'+tempdescr+'</span></div></li>');}
else{$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix"><input type="checkbox"  class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold">'+deliveryOpt[j].Name+'</span></div></li>');}}else{if(deliveryOpt[j].DeliveryOptionId=='76646e59-bc71-425d-a443-75a962753019'||deliveryOpt[j].DeliveryOptionId=='512a14de-71da-4e35-a9f9-a1d7c28bd910'||deliveryOpt[j].DeliveryOptionId=='f1a134d5-65cf-405a-aef8-244ce23ddf70'){$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix datepicker_c"><input type="checkbox" class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold" style="display:block;">'+deliveryOpt[j].Name+' (£'+deliveryOpt[j].Charge+')</span><span class="dates_display" style="float:left;display:block;font-size:10px;width:140px;height:25px;background:#fff">Click icon to select date =></span><input type="text" style="display:none" value="Click icon to select date =>" class="datepicker" name="datepicker" id="datepicker'+inc+'" /><span class="delivery_desc clearfix"></span></div></li>');}
else{$("[rel$='"+response.d[i].LineItemId+"']").find('.actions_list_delivery dd ul').append('<li class="clearfix datepicker_c"><input type="checkbox" class="f_left" name="address_name" id="'+deliveryOpt[j].DeliveryOptionId+'" /><div class="f_right" style="width:170px;"><span class="delivery_name bold" style="display:block;">'+deliveryOpt[j].Name+'</span><span class="dates_display" style="float:left;display:block;font-size:10px;width:140px;height:25px;background:#fff">Click icon to select date =></span><input type="text" style="display:none" value="Click icon to select date =>" class="datepicker" name="datepicker" id="datepicker'+inc+'" /><span class="delivery_desc clearfix"></span></div></li>');}
_self.datepickid.push('datepicker'+inc);_self.datepickiddates.push(deliveryOpt[j].Dates);inc++;}}}}
$('.address_first').hide();if($(".datepicker").length>0){_self.addDatePicker();};}
gCjs.register("block_onepShopBag",a);gCjs.namespace("harrods.block");gCjs.harrods.block.unregistredSave=function(id){this._container=$("#"+id);}
var a=gCjs.harrods.block.unregistredSave;a.prototype.init=function(){var _self=this;var rewardReg=/^\d{16}$/;this.loader='<img src="/new_images/zoomloader.gif" class="small_loader" alt="Loading ..." />';$('.save_details').click(function(){$(this).hide(function(){$('.details_saved_from #email').val($('.user_email').text());$('.details_saved_from').slideDown();$('.details_saved_from #password').focus();});});$('.question_submit').click(function(){var invalid="false";$(".error_c").remove();$('.details_saved_from li').removeClass('error');var answer=$("[ID$='SecurityQestionAnswerTextbox']");if(answer.val()==''){invalid="true";_self.addValError(answer,'Please enter answer');}
var confirmAnswer=$("[ID$='SecurityQestionConfirmAnswerTextbox']");if(confirmAnswer.val()==''){invalid="true";_self.addValError(confirmAnswer,'Please enter confirm answer');}
if(answer.val()!=confirmAnswer.val()){invalid="true";_self.addValError(confirmAnswer,'Answer and confirm answer do not match');}
var question=$("[ID$='SecurityQuestionsDropdown']");if(question.val()==''){invalid="true";_self.addValError(question,'Please select a question');}
if(invalid=="false"){gCjs.util.ServiceProxy.getService("Account/AccountService.svc").call("UpdateSecurityQuestion",new gCjs.util.Delegate(_self,_self.onSubmitInfo),{email:$("[ID$='hiddenID']").val(),question:question.val(),answer:answer.val()});}});$('.submit').click(function(){var invalid="false";$(".error_c").remove();$('.details_saved_from li').removeClass('error');var password=$('.details_saved_from #password');if(password.val()==''){invalid="true";_self.addValError(password,'Please enter password');}
var confirmPassword=$('.details_saved_from #confirmPassword');if(confirmPassword.val()==''){invalid="true";_self.addValError(confirmPassword,'Please enter confirm password');}
if(password.val()!=confirmPassword.val()){invalid="true";_self.addValError(confirmPassword,'Password and confirm password do not match');}
var answer=$("[ID$='SecurityQestionAnswerTextbox']");if(answer.val()==''){invalid="true";_self.addValError(answer,'Please enter answer');}
var confirmAnswer=$("[ID$='SecurityQestionConfirmAnswerTextbox']");if(confirmAnswer.val()==''){invalid="true";_self.addValError(confirmAnswer,'Please enter confirm answer');}
if(answer.val()!=confirmAnswer.val()){invalid="true";_self.addValError(confirmAnswer,'Answer and confirm answer do not match');}
var question=$("[ID$='SecurityQuestionsDropdown']");if(question.val()==''){invalid="true";_self.addValError(question,'Please select a question');}
var rewardCardNumber=$("[ID$='txtRewardsCardNumber']");var rewardCardOption=_self.getRewardCardOption();if(rewardCardOption==0){if($.trim(rewardCardNumber.val())==''){invalid="true";rewardCardNumber.parent('div').before('<li class="error_c checkbox"><p class="error">Reward card number is required</p></li>').addClass('error');}
else if(!rewardReg.test(rewardCardNumber.val())){invalid="true";rewardCardNumber.parent('div').before('<li class="error_c checkbox"><p class="error">Reward card number is Incorrect</p></li>').addClass('error');}}
if(invalid=="false"){gCjs.util.ServiceProxy.getService("Account/AccountService.svc").call("UnregisteredToRegisteredCustomer",new gCjs.util.Delegate(_self,_self.onSubmitInfo),{email:$('.details_saved_from #email').val(),password:password.val(),question:question.val(),answer:answer.val(),answerConfirm:confirmAnswer.val(),rewardsCardOption:rewardCardOption,rewardsCardNumber:rewardCardNumber.val(),billingAddressId:$("[ID$='hidBillingAddressId']").val(),orderNumber:$("[ID$='hidOrderNumber']").val()});}});$("input[@name='rewardcardoption']:radio").click(function(){var rewardoptionval=$("input[@name='rewardcardoption']:checked").val();if(rewardoptionval=='newrewardcard'){$("#divHaveRewardCard").slideUp("slow");}
else if(rewardoptionval=='haverewardcard'){$("#divHaveRewardCard").slideDown("slow");}
else{$("#divHaveRewardCard").slideUp("slow");}});}
a.prototype.onSubmitInfo=function(response){if(response.d.isValid==true){var slideUpClassName=".details_saved_conf";if(response.d.entityData.PayrollNumber!=null&&response.d.entityData.PayrollNumber!=''){slideUpClassName=".details_saved_staff";}else if(response.d.entityData.LoyaltyCardNumber!=null&&response.d.entityData.LoyaltyCardNumber!=''){$('.details_saved_rewards').each(function(){var newtext=$(this).html().replace("::",response.d.entityData.LoyaltyCardNumber);$(this).html(newtext);});slideUpClassName=".details_saved_rewards";}
$('.details_saved_from, .details_saved').slideUp(function(){$(slideUpClassName).slideDown();});}else{if(response.d.entityData!=null&&response.d.entityData.Status==1){$('.details_saved_from, .details_saved').slideUp(function(){$('.details_saved_partial').slideDown();});}
else{$('.to_from').prepend('<li><p class="error">'+response.d.errorMessage+'</p></li>');}};}
a.prototype.addValError=function(field,message){var _self=this;if(!field.parent('li').hasClass("error")){field.parent('li').before('<li class="error_c checkbox"><p class="error">'+message+'</p></li>').addClass('error');}}
a.prototype.getRewardCardOption=function(){switch($("input[@name='rewardcardoption']:checked").val()){case"haverewardcard":return 0;case"newrewardcard":return 1;case"norewardcard":return 2;}}
gCjs.register("block_unregistredSave",a);
