/*! Open Postcodes jQuery Plugin - v1.0.0 - 2014-06-24 * https://github.com/OpenPostcodes/postcodes-jquery * Copyright (c) 2014 Open Postcodes; MIT */ (function(e){"use strict";function i(t){this.config={};e.extend(this,r);if(t){e.extend(this,t)}var n={};for(var i in this.output_fields){if(this.output_fields[i]!==undefined){n[i]=e(this.output_fields[i])}}this.$output_fields=n}var t=[];var n;var r={api_key:"",output_fields:{line_1:"#line1",line_2:"#line2",line_3:"#line3",post_town:"#town",postcode:"#postcode",postcode_inward:undefined,postcode_outward:undefined,udprn:undefined,dependant_locality:undefined,double_dependant_locality:undefined,thoroughfare:undefined,dependant_thoroughfare:undefined,building_number:undefined,building_name:undefined,sub_building_name:undefined,po_box:undefined,department_name:undefined,organisation_name:undefined,postcode_type:undefined,su_organisation_indicator:undefined,delivery_point_suffix:undefined},api_endpoint:"https://api.openpostcodes.com/v1",input:undefined,$input:undefined,input_label:"Enter your Postcode",input_muted_style:"color:#CBCBCB;",input_class:"",input_id:"opc_input",button:undefined,$button:undefined,button_id:"opc_button",button_label:"Find your Address",button_class:"",button_disabled_message:"Fetching Addresses...",$dropdown:undefined,dropdown_separator:",",dropdown_id:"opc_dropdown",dropdown_select_message:"Select your Address",dropdown_class:"",$error_message:undefined,error_message_id:"opc_error_message",error_message_postcode_invalid:"Please recheck your postcode, it seems to be incorrect",error_message_postcode_not_found:"Your postcode could not be found. Please type in your address",error_message_default:"We were not able to your address from your Postcode. Please input your address manually",error_message_class:"",lookup_interval:1e3,debug_mode:false,onLookupSuccess:undefined,onLookupError:undefined,onAddressSelected:undefined};i.prototype.setupPostcodeInput=function(e){this.$context=e;this.setupInputField();this.setupLookupButton()};i.prototype.setupInputField=function(){var t=this;if(e(this.input).length){this.$input=e(this.input).first()}else{this.$input=e("",{type:"text",id:this.input_id,value:this.input_label}).appendTo(this.$context).addClass(this.input_class).val(this.input_label).attr("style",this.input_muted_style).submit(function(){return false}).keypress(function(e){if(e.which===13){t.$button.trigger("click")}}).focus(function(){t.$input.removeAttr("style").val("")}).blur(function(){if(!t.$input.val()){t.$input.val(t.input_label);t.$input.attr("style",t.input_muted_style)}})}return this.$input};i.prototype.setupLookupButton=function(){var t=this;if(e(this.button).length){this.$button=e(this.button).first()}else{this.$button=e("