var $j=jQuery.noConflict();var mapviewer,searchRequest,markers,infoBoxes,searchType,regionIds,numberOfResults,regionValue,resultSet,numberOfPages,currentPage=0,lastResult,regionCount=0,quickSearchString,globalLoopValue,max_zindex=1000,searchValue,thinkOfMe;var regionResults=new Array(10,3);var regionIds=new Array();regionIds[0]=new Array("Scotland",56.77395,-4.27596);regionIds[1]=new Array("North West",53.60685,-2.40419);regionIds[2]=new Array("North East",53.59113,-0.81966);regionIds[3]=new Array("Northern Ireland",54.52601,-6.79569);regionIds[4]=new Array("Wales",52.46863,-2.95144);regionIds[5]=new Array("East Midlands",52.05947,0.41747);regionIds[6]=new Array("West Midlands",52.37043,-1.49936);regionIds[7]=new Array("South West",50.77308,-3.32658);regionIds[8]=new Array("South",50.96086,-1.26557);regionIds[9]=new Array("South East",51.26378,0.01426);regionIds[10]=new Array("Ireland",53.01989,-8.02616);$j(document).ready(function(){displayInitialMap();$j("form#map_search_submission").submit(function(){if($j("input#quickSearch").val()===""){return false}quickSearchString=$j("input#quickSearch").val();searchValue=quickSearchString;LBI.firstSearch.doPrimarySearch(quickSearchString);return false});$j("#browseRegions a").click(function(){revealMap();removeStoreElements();regionValue=$j(this).attr("value");searchType="region";doFilteredMapSearch("region_id",regionValue);return false});$j("#popularStores h4 a").click(function(){revealMap();removeStoreElements();removeRegionElements();cityValue=$j(this).html();searchType="town";doFilteredMapSearch("town",cityValue);return false})});function hideMap(){document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="608px";$j("#mapviewer div").addClass("hideAll");$j("#mapviewer").removeClass("noBackground")}function revealMap(){$j("#mapviewer div").removeClass("hideAll");$j("#mapviewer").addClass("noBackground");if($j.browser.msie&&($j.browser.version<7)){$j("#mapviewer").css({width:"494px"})}document.getElementById("mapviewer").style.height="350px";mapviewer.resize()}function displayInitialMap(){removeStoreElements();removeRegionElements();$j("#mapviewerSummary").removeClass("withMinHeight");document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="350px";initMap();hideMap();if($j(".noBackground").length===0){regionData(regionIds[regionCount][0])}}function removeRegionElements(){if(typeof($j("#searchDescription"))!="undefined"){$j("#searchDescription").remove()}if(typeof($j("#resultsDescription"))!="undefined"){$j("#resultsDescription").remove()}if(typeof($j("#resultsTable"))!="undefined"){$j("#resultsTable").remove()}if(typeof($j("#pagination"))!="undefined"){$j("#pagination").remove()}if(typeof($j("#backToUKMap"))!="undefined"){$j("#backToUKMap").remove()}}function removeStoreElements(){if(typeof($j("#mapAreaTitle"))!="undefined"){$j("#mapAreaTitle").remove()}if(typeof($j("#storeDetails"))!="undefined"){$j("#storeDetails").remove()}if(typeof($j("#backToUKMap"))!="undefined"){$j("#backToUKMap").remove()}}function removeDidYouMeanElements(){if(typeof($j("#suggestedInstructions"))!="undefined"){$j("#suggestedInstructions").remove()}if(typeof($j("#suggestedLocations"))!="undefined"){$j("#suggestedLocations").remove()}}function addResultsElements(){document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="350px";$j("#mapviewerSummary").addClass("withMinHeight");if(searchType=="town"){$j("#mapviewerSummary").append('<p id="searchDescription">You browsed for: <em>'+cityValue+"</em></p>");$j("#mapviewerSummary").append('<a href="#" id="backToUKMap" onclick="displayInitialMap(); return false;">Back to original map</a>');$j("#mapviewer").after('<p id="resultsDescription">There are <em>'+numberOfResults+" HMV stores</em> in <em>"+cityValue+"</em></p>")}else{if(searchType=="region"){$j("#mapviewerSummary").append('<p id="searchDescription">You browsed for: <em>'+regionValue+"</em></p>");$j("#mapviewerSummary").append('<a href="#" id="backToUKMap" onclick="displayInitialMap(); return false;">Back to original map</a>');$j("#mapviewer").after('<p id="resultsDescription">There are <em>'+numberOfResults+" HMV stores</em> in <em>"+regionValue+"</em></p>")}else{if(searchType=="quicksearch"){$j("#mapviewerSummary").append('<p id="searchDescription">You searched for: <em>'+searchValue+"</em></p>");$j("#mapviewerSummary").append('<a href="#" id="backToUKMap" onclick="displayInitialMap(); return false;">Back to original map</a>');$j("#mapviewer").after('<p id="resultsDescription">Here are the <em>10</em> nearest stores to <em>'+searchValue+"</em></p>")}else{if(searchType=="quicksearchDirect"){$j("#mapviewerSummary").append('<a href="#" id="backToUKMap" onclick="displayInitialMap(); return false;">Back to original map</a>');$j("#mapviewerSummary").append('<p id="searchDescription">You searched for: <em>'+searchValue+"</em></p>");$j("#mapviewer").after('<p id="resultsDescription">There are <em>'+numberOfResults+" HMV stores</em> in <em>"+searchValue+"</em></p>")}}}}resultsTable=document.createElement("table");resultsTable.setAttribute("id","resultsTable");resultsTableBody=document.createElement("tbody");if(currentPage==1){firstResult=0}else{firstResult=((currentPage-1)*10)}if((firstResult+10)<numberOfResults){lastResult=firstResult+10}else{lastResult=numberOfResults}for(i=firstResult;i<lastResult;i++){tableRow=document.createElement("tr");tableCellNumber=document.createElement("td");tableCellNumber.className="cellResultNumber";tableCellNumber.appendChild(document.createTextNode((i+1)+"."));tableCellStorename=document.createElement("td");tableCellStorenameLink=document.createElement("a");tableCellStorenameLink.setAttribute("href","#");tableCellStorenameLink.setAttribute("id",resultSet.records[i].storename.toString());tableCellStorenameLink.className="resultsTableStore";tableCellStorenameLink.onclick=function(){storeDisplay(this.id);return false};tableCellStorenameLink.appendChild(document.createTextNode("HMV "+resultSet.records[i].storename.toString()));if(resultSet.records[i].distance){tableCellDistance=document.createElement("td");tableCellDistance.className="cellResultDistance";tableCellDistance.appendChild(document.createTextNode(resultSet.records[i].distance.miles+" miles"))}tableCellStorename.appendChild(tableCellStorenameLink);tableRow.appendChild(tableCellNumber);tableRow.appendChild(tableCellStorename);if(resultSet.records[i].distance){tableRow.appendChild(tableCellDistance)}resultsTableBody.appendChild(tableRow);resultsTable.appendChild(resultsTableBody)}$j("#resultsDescription").after(resultsTable);if(numberOfPages>1){paginationWrapper=document.createElement("div");paginationWrapper.setAttribute("id","paginationWrapper");paginationContainer=document.createElement("div");paginationContainer.setAttribute("id","pagination");paginationPreviousLink=document.createElement("a");paginationPreviousLink.setAttribute("href","#");if(currentPage>1){paginationPreviousLink.className="paginationPrevious";paginationPreviousLink.onclick=function(){changePage(-1);return false}}else{paginationPreviousLink.className="paginationPreviousDisabled";paginationPreviousLink.onclick=function(){return false}}paginationPreviousLink.appendChild(document.createTextNode("Previous"));paginationNextLink=document.createElement("a");paginationNextLink.setAttribute("href","#");if(currentPage<numberOfPages){paginationNextLink.className="paginationNext";paginationNextLink.onclick=function(){changePage(1);return false}}else{paginationNextLink.className="paginationNextDisabled";paginationNextLink.onclick=function(){return false}}paginationNextLink.appendChild(document.createTextNode("Next"));paginationPage=document.createElement("p");paginationPage.setAttribute("id","paginationPage");paginationPage.appendChild(document.createTextNode("Page "+currentPage+" of "+numberOfPages+" ("+numberOfResults+" results)"));paginationWrapper.appendChild(paginationContainer);paginationContainer.appendChild(paginationPreviousLink);paginationContainer.appendChild(paginationPage);paginationContainer.appendChild(paginationNextLink);if((searchType=="region")||(searchType=="quicksearchDirect")||(searchType=="town")){$j("#resultsTable").after(paginationWrapper)}}}function addNoResultsElements(){$j("#mapviewerSummary").append("<p id='searchDescription'>You searched for: <em>"+quickSearchString+"</em><br /><em>Sorry,</em> we couldn't find that location<br />Please try searching again or browse other regions:</p>")}function addStoreElements(){removeStoreElements();removeRegionElements();removeDidYouMeanElements();storeTitle=document.createElement("h2");storeTitle.setAttribute("id","mapAreaTitle");storeTitle.appendChild(document.createTextNode("HMV "+resultSet.records[0].storename.toString()));storeDetails=document.createElement("div");storeDetails.setAttribute("id","storeDetails");storePrint=document.createElement("div");storePrint.setAttribute("id","storePrint");storePrintLink=document.createElement("a");storePrintLink.setAttribute("id","storePrintLink");storePrintLink.setAttribute("href","#");storePrintLink.setAttribute("onclick","printStore(); return false");storePrintLink.onclick=function(){printStore();return false};storePrintLink.appendChild(document.createTextNode("Print store details"));storePrint.appendChild(storePrintLink);storeFullAddress=document.createElement("div");storeFullAddress.setAttribute("id","storeFullAddress");storeFullAddress.appendChild(document.createTextNode(resultSet.records[0].street.toString()));storeFullAddress.appendChild(document.createElement("br"));if(resultSet.records[0].street1.toString()!=""){storeFullAddress.appendChild(document.createTextNode(resultSet.records[0].street1.toString()));storeFullAddress.appendChild(document.createElement("br"))}if(resultSet.records[0].street2.toString()!=""){storeFullAddress.appendChild(document.createTextNode(resultSet.records[0].street2.toString()));storeFullAddress.appendChild(document.createElement("br"))}storeFullAddress.appendChild(document.createTextNode(resultSet.records[0].town.toString()));storeFullAddress.appendChild(document.createElement("br"));storeFullAddress.appendChild(document.createTextNode(resultSet.records[0].pc.toString()));storePhone=document.createElement("div");storePhone.setAttribute("id","storePhone");storePhoneTitle=document.createElement("h3");storePhoneTitle.appendChild(document.createTextNode("Phone number"));storePhoneNumber=document.createElement("p");storePhoneNumber.appendChild(document.createTextNode(resultSet.records[0].maintelephone.toString()));storePhone.appendChild(storePhoneTitle);storePhone.appendChild(storePhoneNumber);storeTimes=document.createElement("div");storeTimes.setAttribute("id","storeTimes");storeTimesTitle=document.createElement("h3");storeTimesTitle.appendChild(document.createTextNode("Opening times"));storeTimesDays=document.createElement("p");storeTimesDays.appendChild(document.createTextNode("Mon: "+resultSet.records[0].monday.toString()));storeTimesDays.appendChild(document.createElement("br"));storeTimesDays.appendChild(document.createTextNode("Tues: "+resultSet.records[0].tuesday.toString()));storeTimesDays.appendChild(document.createElement("br"));storeTimesDays.appendChild(document.createTextNode("Wed: "+resultSet.records[0].wednesday.toString()));storeTimesDays.appendChild(document.createElement("br"));storeTimesDays.appendChild(document.createTextNode("Thurs: "+resultSet.records[0].thursday.toString()));storeTimesDays.appendChild(document.createElement("br"));storeTimesDays.appendChild(document.createTextNode("Fri: "+resultSet.records[0].friday.toString()));storeTimesDays.appendChild(document.createElement("br"));storeTimesDays.appendChild(document.createTextNode("Sat: "+resultSet.records[0].saturday.toString()));storeTimesDays.appendChild(document.createElement("br"));storeTimesDays.appendChild(document.createTextNode("Sun: "+resultSet.records[0].sunday.toString()));storeTimes.appendChild(storeTimesTitle);storeTimes.appendChild(storeTimesDays);storeDetails.appendChild(storePrint);storeDetails.appendChild(storeFullAddress);storeDetails.appendChild(storePhone);storeDetails.appendChild(storeTimes);$j("#mapviewerSummary").addClass("withMinHeight");$j("#mapviewerSummary").append(storeTitle);$j("#mapviewer").after(storeDetails);$j("#mapviewerSummary").append('<a href="#" id="backToUKMap" class="backFromStore" onclick="displayInitialMap(); return false;">Back to original map</a>')}function addDidYouMeanElements(a){removeStoreElements();removeRegionElements();removeDidYouMeanElements();cleanUp();if(typeof($j("#backToUKMap"))!="undefined"){$j("#backToUKMap").remove()}document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="608px";hideMap();$j("#mapviewerSummary").append("<p id='suggestedInstructions'>We're having problems finding that location<br />Did you mean...</p>");suggestedLocations=document.createElement("div");suggestedLocations.setAttribute("id","suggestedLocations");suggestedLocationsList=document.createElement("ul");for(i=0;i<a.length;i++){suggestedLocationsListItem=document.createElement("li");suggestedLocationsNumber=document.createElement("span");suggestedLocationsNumber.appendChild(document.createTextNode((i+1)+"."));suggestedLocationsLink=document.createElement("a");suggestedLocationsLink.setAttribute("href","#");suggestedLocationsLink.setAttribute("id",a[i].address.display_name);suggestedLocationsLink.onclick=function(){doQuickMapSearch(this.id);return false};suggestedLocationsLink.appendChild(document.createTextNode(a[i].address.display_name));suggestedLocationsListItem.appendChild(suggestedLocationsNumber);suggestedLocationsListItem.appendChild(suggestedLocationsLink);suggestedLocationsList.appendChild(suggestedLocationsListItem)}suggestedLocations.appendChild(suggestedLocationsList);$j("#suggestedInstructions").after(suggestedLocations);currentPage=0;regionCount=0;displayInitialMap();if($j(".noBackground").length===0){regionData(regionIds[regionCount][0])}regionDisplay()}function initMap(){if(mapviewer){mapviewer.removeAllOverlays()}document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="350px";mapviewer=MMFactory.createViewer(document.getElementById("mapviewer"));mapviewer.removeAllOverlays();markers=[];mapTypeWidget=new MMMapTypeWidget();mapviewer.addWidget(mapTypeWidget);mapPanZoomWidget=new MMPanZoomWidget();mapviewer.addWidget(mapPanZoomWidget)}function endRegionSetupSearch(){try{resultSet=searchRequest.record_sets[0];if(resultSet.records){regionResults[regionCount]=resultSet.records.length}if(regionCount<regionIds.length-1){regionCount=regionCount+1;setTimeout("updateRegionData()",100)}else{regionDisplay()}}catch(a){}}function updateRegionData(){regionData(regionIds[regionCount][0])}function addMarker(a,c,d,f){var e=MM_DEFAULT_ICON.copy();var b=mapviewer.createMarker(a,{zIndex:(max_zindex-f),label:f+". "+c,icon:e,text:f});b.setInfoBoxContent(d);markers.push(b)}function addMarkerStore(a){var c=new MMIcon("http://hmv.com/hmv/graphics/uk/store_finder/icons/hmv_marker.png");c.iconSize=new MMDimensions(75,48);c.iconAnchor=new MMPoint(10,48);var b=mapviewer.createMarker(a,{label:"Customized marker",icon:c});markers.push(b)}function makeInfoboxHTML(b,g){var d,f,a,e,c;d=document.createElement("div");f=document.createElement("h2");f.appendChild(document.createTextNode(g+". HMV "+b.storename.toString()));a=document.createElement("p");if(b.street.toString()!==""){a.appendChild(document.createTextNode(b.street.toString()));a.appendChild(document.createElement("br"));a.appendChild(document.createTextNode(b.town.toString()));a.appendChild(document.createTextNode(", "+b.pc.toString()))}else{a.appendChild(document.createTextNode(b.town.toString()));a.appendChild(document.createTextNode(", "+b.pc.toString()))}if(b.maintelephone.toString()!==""){a.appendChild(document.createElement("br"));a.appendChild(document.createTextNode(b.maintelephone.toString()))}e=document.createElement("a");c="#?store="+b.id;e.setAttribute("href",c);e.className="link";e.setAttribute("id",b.storename.toString());e.onclick=function(){storeDisplay(this.id);return false};e.appendChild(document.createTextNode("View store details"));a.appendChild(document.createElement("br"));a.appendChild(e);d.appendChild(f);d.appendChild(a);return d}function doQuickMapSearch(c){revealMap();cleanUp();removeStoreElements();removeRegionElements();removeDidYouMeanElements();document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="350px";quickSearchString=c;var a="no";for(i=0;i<quickSearchString.length;i++){if(parseFloat(quickSearchString.charAt(i))){a="yes"}}if((a=="no")&&(searchType!="quicksearchDirect")){searchType="quicksearchDirect";doFilteredMapSearch("town",quickSearchString)}else{searchType="quicksearch";searchRequest=MMFactory.createSearchRequester(endSearch);var b=new MMSearch();b.address=new MMAddress({qs:quickSearchString,country_code:"GB"});b.data_source="mm.clients.hmv_01_api";b.order_by_fields="distance";b.order_by_order="asc";searchRequest.search(b)}}function doFilteredMapSearch(c,b){revealMap();cleanUp();removeStoreElements();removeRegionElements();removeDidYouMeanElements();if(searchType!="storename"){document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="350px"}else{document.getElementById("mapviewer").style.width="495px";document.getElementById("mapviewer").style.height="350px"}searchRequest=MMFactory.createSearchRequester(endSearch);var a=new MMSearch(new MMSearchFilter(c,"eq",b));a.count=1000;a.order_by_fields="storename";searchRequest.search(a)}function regionSetupSearch(b,c){searchRequest=MMFactory.createSearchRequester(endRegionSetupSearch);var a=new MMSearch(new MMSearchFilter(b,"eq",c));a.count=1000;searchRequest.search(a)}function endSearch(){removeRegionElements();removeStoreElements();removeDidYouMeanElements();mapviewer.resize();resultSet=searchRequest.result_set;if(searchRequest.error_code){processGeocodingErrors(searchRequest.error_code,resultSet)}else{try{resultSet=searchRequest.record_sets[0]}catch(e){}if(resultSet){if(resultSet.records){numberOfResults=resultSet.records.length;if(searchType!="storename"){if(searchRequest.record_sets.length>0){var a,b,d,c;if(numberOfResults>10){lastResult=10;numberOfPages=(parseInt(numberOfResults/10))+1}else{lastResult=numberOfResults;numberOfPages=1}currentPage=1;for(d=0;d<numberOfResults;d++){a=new MMLocation(new MMLatLon(resultSet.records[d].point.lat,resultSet.records[d].point.lon));b="HMV "+resultSet.records[d].storename.toString();c=makeInfoboxHTML(resultSet.records[d],(d+1));addMarker(a,b,c,(d+1))}mapviewer.declutterGroup();mapviewer.goToPosition(mapviewer.getAutoScaleLocation(markers))}}if((searchType=="region")||(searchType=="town")){addResultsElements()}if(searchType=="storename"){addStoreElements();a=new MMLocation(new MMLatLon(resultSet.records[0].point.lat,resultSet.records[0].point.lon));addMarkerStore(a);mapviewer.goToPosition(mapviewer.getAutoScaleLocation(markers));LBI.searchRequest=MMFactory.createSearchRequester(LBI.firstSearch.storesNearestTo);searching=new MMSearch(new MMSearchFilter("storename","not",resultSet.records[0].storename));searching.distance_units="miles";searching.count=9999;searching.point=a;searching.data_source="mm.clients.hmv_01_api";searching.order_by_fields="distance";LBI.searchRequest.search(searching)}if(searchType=="quicksearchDirect"){if(numberOfResults<10){searchType=="quicksearch";doQuickMapSearch(resultSet.records[0].pc.toString())}else{addResultsElements()}}if(searchType=="quicksearch"){addResultsElements()}}else{if(searchType=="quicksearchDirect"){searchType=="quicksearch";doQuickMapSearch(quickSearchString)}}}}}function regionData(a){if($j(".noBackground").length===0){regionSetupSearch("region_id",a)}}function regionDisplay(){cleanUp();globalLoopValue=0;if($j(".noBackground").length===0){for(i=0;i<regionIds.length;i++){mapviewer.goToPosition(new MMLocation(new MMLatLon(54.22804,-4),7));regionInfoBox=document.createElement("div");regionInfoBox.setAttribute("id","regionInfoBox"+(i+1));regionInfoBox.className="regionInfoBox";regionInfoBoxWrapper=document.createElement("div");regionInfoBoxWrapper.className="regionInfoBoxWrapper";regionInfoBoxLink=document.createElement("a");regionInfoBoxLink.setAttribute("id",regionIds[i][0]);regionInfoBoxLink.setAttribute("href","#");regionInfoBoxLink.onclick=function(){regionValue=this.id;searchType="region";doFilteredMapSearch("region_id",this.id);return false};regionInfoBoxLink.appendChild(document.createTextNode(regionIds[i][0]));regionInfoBoxNumber=document.createElement("span");regionInfoBoxNumber.appendChild(document.createTextNode(regionResults[i]+" stores"));regionInfoBox.appendChild(regionInfoBoxWrapper);regionInfoBox.appendChild(regionInfoBoxLink);regionInfoBox.appendChild(regionInfoBoxNumber);$j("#mapviewer").append(regionInfoBox)}}}function storeDisplay(a){revealMap();cleanUp();searchType="storename";removeRegionElements();doFilteredMapSearch("storename",a)}function changePage(a){currentPage=currentPage+a;removeRegionElements();addResultsElements()}function cleanUp(){$j(".regionInfoBox").remove();mapviewer.removeAllOverlays();markers=new Array()}function processGeocodingErrors(b,a){if(b=="MM_GEOCODE_MULTIPLE_MATCHES"){addDidYouMeanElements(a)}if(b=="MM_GEOCODE_NO_MATCHES"){addNoResultsElements()}}function printStore(){window.print()}LBI={searchRequest:{},firstSearch:{doPrimarySearch:function(a){thinkOfMe=null;revealMap();cleanUp();partialMatchAddresses=[];removeStoreElements();removeRegionElements();removeDidYouMeanElements();document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="350px";searchType="quicksearch";LBI.searchRequest=MMFactory.createSearchRequester(LBI.firstSearch.initialSearch);searchDetails=new MMSearch(new MMSearchFilter("town","like",a));searchDetails.address=new MMAddress({qs:a,country_code:"GB"});searchDetails.data_source="mm.clients.hmv_01_api";searchDetails.order_by_fields="distance";searchDetails.order_by_order="asc";searchDetails.count=1000;LBI.searchRequest.search(searchDetails)},initialSearch:function(){resultSet=LBI.searchRequest.result_set;if(LBI.searchRequest.error_code){if(LBI.searchRequest.error_code=="MM_GEOCODE_MULTIPLE_MATCHES"){LBI.firstSearch.partialMatches()}else{if(LBI.searchRequest.error_code=="MM_GEOCODE_NO_MATCHES"){LBI.secondarySearch.IESearch.doIESearch()}}}else{try{resultSet=LBI.searchRequest.record_sets[0]}catch(a){}if(resultSet){if(resultSet.records){numberOfResults=resultSet.records.length;if(numberOfResults<10){LBI.firstSearch.needMoreResults()}else{LBI.firstSearch.displayResults()}}else{LBI.firstSearch.foundTownNoResults.init({qs:quickSearchString,country_code:"GB"})}}}},needMoreResults:function(){var e,b,f;var a=resultSet.records.length;var f=resultSet.records[0].region_id.toString();var d=false;for(var c=0;c<a;c++){if(resultSet.records[c].region_id.toString()!=f){d=true}}if(d){if(typeof($j("#backToUKMap"))!="undefined"){$j("#backToUKMap").remove()}document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="608px";hideMap();$j("#mapviewerSummary").append("<p id='suggestedInstructions'>We're having problems finding that location<br />Did you mean...</p>");suggestedLocations=document.createElement("div");suggestedLocations.setAttribute("id","suggestedLocations");suggestedLocationsList=document.createElement("ul");suggestedOnClickFunction=function(h,g){return function(){searchValue=this.id;quickSearchString=searchValue;LBI.searchRequest=MMFactory.createSearchRequester(LBI.firstSearch.foundTownNoResults.findClosest);var j=new MMSearch();j.distance_units="miles";j.count=10;j.data_source="mm.clients.hmv_01_api";j.point=g;LBI.searchRequest.search(j);return false}};for(c=0;c<resultSet.records.length;c++){suggestedLocationsListItem=document.createElement("li");suggestedLocationsNumber=document.createElement("span");suggestedLocationsNumber.appendChild(document.createTextNode((c+1)+"."));suggestedLocationsLink=document.createElement("a");suggestedLocationsLink.setAttribute("href","#");suggestedLocationsLink.setAttribute("id",resultSet.records[c].storename.toString());suggestedLocationsLink.onclick=suggestedOnClickFunction(c,resultSet.records[c].point);suggestedLocationsLink.appendChild(document.createTextNode(resultSet.records[c].storename.toString()));suggestedLocationsListItem.appendChild(suggestedLocationsNumber);suggestedLocationsListItem.appendChild(suggestedLocationsLink);suggestedLocationsList.appendChild(suggestedLocationsListItem)}suggestedLocations.appendChild(suggestedLocationsList);$j("#suggestedInstructions").after(suggestedLocations);currentPage=0;regionCount=0;displayInitialMap();if($j(".noBackground").length===0){regionData(regionIds[regionCount][0])}regionDisplay()}else{LBI.searchRequest=MMFactory.createSearchRequester(LBI.secondarySearch.tenClosestGB);e=new MMSearch();e.distance_units="miles";e.count=1;e.data_source="mm.clients.hmv_01_api";e.filters=new Array();e.filters.push(new MMSearchFilter("storename","eq",resultSet.records[0].storename.toString()));b=new MMSearch();b.distance_units="miles";b.count=10;b.data_source="mm.clients.hmv_01_api";b.pre_search=e;LBI.searchRequest.search(b)}},partialMatches:function(){for(var a=0;a<resultSet.length;a++){partialMatchAddresses.push(resultSet[a])}LBI.secondarySearch.IESearch.doIESearch()},displayResults:function(){var a,b,d;for(var c=0;c<numberOfResults;c++){a=new MMLocation(new MMLatLon(resultSet.records[c].point.lat,resultSet.records[c].point.lon));b="HMV "+resultSet.records[c].storename.toString();d=makeInfoboxHTML(resultSet.records[c],(c+1));addMarker(a,b,d,(c+1))}mapviewer.declutterGroup();mapviewer.goToPosition(mapviewer.getAutoScaleLocation(markers));searchType="quicksearchDirect";currentPage=1;numberOfPages=(parseInt(numberOfResults/10))+1;addResultsElements()},storesNearestTo:function(){var a,b,d;try{resultSet=LBI.searchRequest.record_sets[0]}catch(e){}if(resultSet){if(resultSet.records){numberOfResults=resultSet.records.length;for(var c=0;c<numberOfResults;c++){a=new MMLocation(new MMLatLon(resultSet.records[c].point.lat,resultSet.records[c].point.lon));b="HMV "+resultSet.records[c].storename.toString();d=makeInfoboxHTML(resultSet.records[c],(c+1));addMarker(a,b,d,(c+1))}}}},foundTownNoResults:{init:function(b){LBI.searchRequest=MMFactory.createSearchRequester(LBI.firstSearch.foundTownNoResults.findClosest);var a=new MMSearch();a.distance_units="miles";a.count=10;a.data_source="mm.clients.hmv_01_api";a.address=new MMAddress(b);LBI.searchRequest.search(a)},findClosest:function(){LBI.secondarySearch.tenClosestGB()}}},secondarySearch:{tenClosestGB:function(){revealMap();cleanUp();removeStoreElements();removeRegionElements();removeDidYouMeanElements();var a,b,d;try{resultSet=LBI.searchRequest.record_sets[0]}catch(e){}if(resultSet){if(resultSet.records){numberOfResults=resultSet.records.length;for(var c=0;c<numberOfResults;c++){a=new MMLocation(new MMLatLon(resultSet.records[c].point.lat,resultSet.records[c].point.lon));b="HMV "+resultSet.records[c].storename.toString();d=makeInfoboxHTML(resultSet.records[c],(c+1));addMarker(a,b,d,(c+1))}mapviewer.goToPosition(mapviewer.getAutoScaleLocation(markers));searchType="quicksearch";currentPage=1;numberOfPages=1;addResultsElements()}}else{addNoResultsElements()}},IESearch:{doIESearch:function(){LBI.searchRequest=MMFactory.createSearchRequester(LBI.secondarySearch.IESearch.initialSearch);searchDetails=new MMSearch(new MMSearchFilter("town","eq",quickSearchString));searchDetails.address=new MMAddress({qs:quickSearchString,country_code:"IE"});searchDetails.data_source="mm.clients.hmv_01_api";searchDetails.order_by_fields="distance";searchDetails.order_by_order="asc";searchDetails.count=1000;LBI.searchRequest.search(searchDetails)},initialSearch:function(){resultSet=LBI.searchRequest.result_set;if(LBI.searchRequest.error_code){if(LBI.searchRequest.error_code=="MM_GEOCODE_MULTIPLE_MATCHES"){if(partialMatchAddresses.length>0){LBI.secondarySearch.IESearch.combinePartialMatches(partialMatchAddresses)}else{LBI.secondarySearch.listPartialMatches(partialMatchAddresses)}}else{if(LBI.searchRequest.error_code=="MM_GEOCODE_NO_MATCHES"){if(partialMatchAddresses.length>0){LBI.secondarySearch.listPartialMatches(partialMatchAddresses)}else{addNoResultsElements()}}}}else{try{resultSet=LBI.searchRequest.record_sets[0]}catch(a){}if(resultSet){if(resultSet.records){numberOfResults=resultSet.records.length;if(numberOfResults<10){LBI.firstSearch.needMoreResults()}else{LBI.firstSearch.displayResults()}}else{LBI.firstSearch.foundTownNoResults.init({qs:quickSearchString,country_code:"IE"})}}}},combinePartialMatches:function(){for(var a=0;a<resultSet.length;a++){partialMatchAddresses.push(resultSet[a])}LBI.secondarySearch.listPartialMatches(partialMatchAddresses)}},listPartialMatches:function(a){if(typeof($j("#backToUKMap"))!="undefined"){$j("#backToUKMap").remove()}document.getElementById("mapviewer").style.width="660px";document.getElementById("mapviewer").style.height="608px";hideMap();$j("#mapviewerSummary").append("<p id='suggestedInstructions'>We're having problems finding that location<br />Did you mean...</p>");suggestedLocations=document.createElement("div");suggestedLocations.setAttribute("id","suggestedLocations");suggestedLocationsList=document.createElement("ul");suggestedOnClickFunction=function(b){return function(){searchValue=this.id;quickSearchString=searchValue;LBI.searchRequest=MMFactory.createSearchRequester(LBI.firstSearch.foundTownNoResults.findClosest);var c=new MMSearch();c.distance_units="miles";c.count=10;c.data_source="mm.clients.hmv_01_api";c.point=a[b].coords;LBI.searchRequest.search(c);return false}};for(i=0;i<a.length;i++){suggestedLocationsListItem=document.createElement("li");suggestedLocationsNumber=document.createElement("span");suggestedLocationsNumber.appendChild(document.createTextNode((i+1)+"."));suggestedLocationsLink=document.createElement("a");suggestedLocationsLink.setAttribute("href","#");suggestedLocationsLink.setAttribute("id",a[i].address.display_name);suggestedLocationsLink.onclick=suggestedOnClickFunction(i);suggestedLocationsLink.appendChild(document.createTextNode(a[i].address.display_name));suggestedLocationsListItem.appendChild(suggestedLocationsNumber);suggestedLocationsListItem.appendChild(suggestedLocationsLink);suggestedLocationsList.appendChild(suggestedLocationsListItem)}suggestedLocations.appendChild(suggestedLocationsList);$j("#suggestedInstructions").after(suggestedLocations);currentPage=0;regionCount=0;displayInitialMap();if($j(".noBackground").length===0){regionData(regionIds[regionCount][0])}regionDisplay()}}};