var MAP_XML = [];
var MAP_BANNER = [];
var MAP_DISTANCE = [];
var XML_OG = [];
var DEBUG_VAR;
var xmlDirections;
var map;
var gdir;
var xmlDirectionsReload;
var mylat = [];
var mylng = [];
var point2 = [];
var mystorenum2 = [];
var myaddress2 = [];  
var mycity2 = [];  
var mystate2 = [];  
var myzip2 = [];    
var myphone2 = [];    
var myemail2 = [];    
var mylocation2 = []; 
var myIconImage = [];
var myIconImageShadow = [];
var mybannernum2 = []; 
var mypopupicon2 = []; 
var mysetbutton2 = [];			
var mysetstorepicurl2 = [];
var storeAddress2 = [];
var mystorepic2 = [];
var zipcodeENTERED = [];	
var distance = [];
var miles = [];
var xmlUpdate2 = "";
var lat = [];
var lon = [];
var locale = "en_US";
//var delay = 10000;	
var xmlDoc;
var markers;
var icons;	
var myform2 = [];
var mystoreCorp2 = [];
var mapHTML2 = [];
var mapFORM2 = [];
var zipcodeENTERED2 = [];
var BC_CHECK;
var WS_CHECK;

var ALL_CHECK;
var REMOVE_DATA;
var REMOVE_DATA2;

var showDebug;
showDebug="false"; //audit stores
var searchedForZipLat;
var searchedForZipLng;
var xmlObj,xsl,xmlDoc;

	
var handleErrorMessage = "Sorry that address is not valid, please click OK to close this window and try again";
function handleErrors(){
	//alert("test");
if (this.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
  document.getElementById("errorMessage").innerHTML ="Please double check the zip code you entered.\nError code: " + this.getStatus().code + "\n Please contact customer service.";
else if (this.getStatus().code == G_GEO_SERVER_ERROR)
  document.getElementById("errorMessage").innerHTML ="There was no match for that address, please verify the address is correct.\n Error code: " + this.getStatus().code + "\n Please contact customer service.";
else if (this.getStatus().code == G_GEO_MISSING_QUERY)
  document.getElementById("errorMessage").innerHTML ="Please double check the zip code you entered.\n Error code: " + this.getStatus().code + "\n Please contact customer service.";
else if (this.getStatus().code == G_GEO_BAD_KEY)
  document.getElementById("errorMessage").innerHTML ="Key Issue. \n Error code: " + this.getStatus().code + "\n Please contact customer service.";
else if (this.getStatus().code == G_GEO_BAD_REQUEST)
  document.getElementById("errorMessage").innerHTML ="A directions request could not be successfully parsed.\n Error code: " + this.getStatus().code + "\n Please contact customer service.";
else 
  document.getElementById("errorMessage").innerHTML ="An unknown error occurred: " + this.getStatus().code + ".\n Please contact customer service."; 
}

function createXMLobj(text){	 
var xmlDoc;
  if (window.DOMParser){	  
    var parser=new DOMParser();
    xmlDoc=parser.parseFromString(text,"text/xml");  
  }else{// Internet Explorer
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML(text);
  } 
  return xmlDoc;
}

function setDirections(fromAddress, toAddress, locale) {gdir.load("from: " + fromAddress + " to: " + toAddress, {"locale": locale});}
 
function pauseMe(q){var date = new Date();var curDate = null; do { curDate = new Date(); }while(curDate-date < q);}

function getDirFunc(x,y){setDirections("" + x + "","" + y + "",locale);}

function showXML(g){document.getElementById("storeData").innerHTML = g;}

function number(e)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();

if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;
else if ((("()-0123456789").indexOf(keychar) > -1))
   return true;
else
   return false;
}

var xmlFinal;
function loadXMLDoc(dname){
  if (window.XMLHttpRequest){xhttp=new window.XMLHttpRequest();}else{xhttp=new ActiveXObject("Microsoft.XMLHTTP");};
  xhttp.open("GET",dname,false);
  xhttp.setRequestHeader('Content-Type', 'text/xml');
  xhttp.send();
  return xhttp.responseXML;
}

function filterRadius(){  myForm = document.getElementById("zipSearch");  myForm.submit();}
	
function setLoading(x){	document.getElementById("loadingText").innerHTML = x; }	

function checkboxUpdate(x){
alert("checkBoxUpdate");
  var checkingWS = x.indexOf(" storenumber ");
  var checkingBC = x.indexOf(" storenumber ");

  if(checkingWS != 0){document.getElementById("wsID").disabled = true;}else{document.getElementById("wsID").disabled = false;}
  if(checkingBC != 0){document.getElementById("bcID").disabled = true;}else{document.getElementById("bcID").disabled = false;}
 
}

function filterBanner(){
  BC_CHECK = document.getElementById("bcID").checked;
  WS_CHECK = document.getElementById("wsID").checked;
  
  if((BC_CHECK+WS_CHECK)==0){REMOVE_DATA="yes";}else{REMOVE_DATA="no";}
  loadNewIcons(XML_OG);
}

function checkBanner(x){
  if(document.getElementById("" + x + "").checked){document.getElementById("" + x + "").checked = false;}else{document.getElementById("" + x + "").checked = true;}  
  filterBanner();
}

function checkForm(){
  zipValue = document.getElementById("zipcodeEntered").value;
	if(zipValue.length < 5){
	  document.getElementById("errorMessage").innerHTML ="Please enter a 5 digit Zip Code"; return false;
	}else{
	  load(); return true;
	}
}

function animate(xlat,xlng) { map.panTo(new GLatLng(xlat, xlng)); }	
	
function loadNewData(mapXML) {
var xmlForMap, check, x;
var resetXML = "";
var xmlUpdateWithDistance = "";
var xmlUpdate = "";

xmlForMap = createXMLobj(mapXML);
xmlDoc = xmlForMap;
markers = xmlForMap.documentElement.getElementsByTagName("marker");
check = xmlForMap.documentElement.getElementsByTagName("distance")[0];
icons = xmlForMap.documentElement.getElementsByTagName("icon");
x = markers.length;	

  for (i = 0; i < icons.length; i++) {myIconImage[i] = icons[i].getAttribute("image");}   
  for (i = 0; i < markers.length; i++) {		
	mylat[i] = markers[i].getAttribute("lat");
	mylng[i] = markers[i].getAttribute("lng");
	point2[i] = new GPoint(parseFloat(markers[i].getAttribute("lng")), parseFloat(markers[i].getAttribute("lat")));
	mystorenum2[i] = markers[i].getAttribute("storenum");
	mystorepic2[i] = markers[i].getAttribute("storepic");
	myaddress2[i] = markers[i].getAttribute("address");   
	mycity2[i] = markers[i].getAttribute("city");  
	mystate2[i] = markers[i].getAttribute("state"); 
	myzip2[i] = markers[i].getAttribute("zipcode"); 
	myphone2[i] = markers[i].getAttribute("phone"); 
	myemail2[i] = markers[i].getAttribute("email"); 
	mylocation2[i] = markers[i].getAttribute("location");  
	mybannernum2[i] = markers[i].getAttribute("bannernum"); 
    mypopupicon2[i] = markers[i].getAttribute("popupicon"); 
	
if(check != null){			  
x=xmlForMap.getElementsByTagName("miles")[i];
y=x.childNodes[0];
txt=y.nodeValue;
miles[i] = txt;

var numericMiles = parseInt(txt);
x=xmlForMap.getElementsByTagName("distance")[i];
y=x.childNodes[0];
txt=y.nodeValue;
distance[i] = txt;
	  
xmlUpdateWithDistance += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "'><distance>" + distance[i] + "</distance><miles>" + miles[i] + "</miles></marker><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
}else{
 xmlUpdate += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "'></marker><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
} 

  } // for loop = markers   

	if(xmlUpdateWithDistance){	
	  displayResultsUpdate("<markers>" + xmlUpdateWithDistance + "</markers>");
	}else{
	  displayResultsUpdate("<markers>" + xmlUpdate + "</markers>");
	}

} //end function loadNewData(mapXML)
//--------------------------------------------------------------------------------------------------------------------------------
function loadNewData2(mapXML,c) {
  var countStores2 = 0;
  var thisC = c;
  if(thisC=="no"){
  var xmlForMap;
  var xmlUpdateWithDistance = "";
  var xmlUpdate = "";
  var x, xx, check2;

  xmlForMap = createXMLobj(mapXML);
  xmlDoc = xmlForMap;
  markers = xmlDoc.documentElement.getElementsByTagName("marker");
  check = xmlDoc.documentElement.getElementsByTagName("marker")[0].firstChild;
  icons = xmlDoc.documentElement.getElementsByTagName("icon");
  x = markers.length;	
 
  for (i = 0; i < icons.length; i++) {myIconImage[i] = icons[i].getAttribute("image");}  
  for (i = 0; i < markers.length; i++) {      		
    mylat[i] = markers[i].getAttribute("lat");
    mylng[i] = markers[i].getAttribute("lng");
    point2[i] = new GPoint(parseFloat(markers[i].getAttribute("lng")), parseFloat(markers[i].getAttribute("lat")));
    mystorenum2[i] = markers[i].getAttribute("storenum");
	mystorepic2[i] = markers[i].getAttribute("storepic");
    myaddress2[i] = markers[i].getAttribute("address");   
    mycity2[i] = markers[i].getAttribute("city");  
    mystate2[i] = markers[i].getAttribute("state"); 
    myzip2[i] = markers[i].getAttribute("zipcode"); 
    myphone2[i] = markers[i].getAttribute("phone"); 
	myemail2[i] = markers[i].getAttribute("email"); 
    mylocation2[i] = markers[i].getAttribute("location");  
    mybannernum2[i] = markers[i].getAttribute("bannernum"); 
    mypopupicon2[i] = markers[i].getAttribute("popupicon"); 
    if((ws_Banner=="") && (mybannernum2[i] == "storenumber")){continue;}
    if((bc_Banner=="") && (mybannernum2[i] == "storenumber")){continue;}
    
	countStores2 = countStores2 + 1;
    if(check != null){			  
      x=xmlDoc.getElementsByTagName("miles")[i];
      y=x.childNodes[0];
      txt=y.nodeValue;
      miles[i] = txt;

      var numericMiles = parseInt(txt);
      x=xmlDoc.getElementsByTagName("distance")[i];
      y=x.childNodes[0];
      txt=y.nodeValue;
      distance[i] = txt;
	  
xmlUpdateWithDistance += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "'><distance>" + distance[i] + "</distance><miles>" + miles[i] + "</miles></marker><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
}else{
 xmlUpdate += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "'></marker><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
} 

  } // for loop = markers   
if(check != null){	
  displayResultsUpdate2("<markers>" + xmlUpdateWithDistance + "</markers>");
}else{
  displayResultsUpdate2("<markers>" + xmlUpdate + "</markers>");
}

if(countStores2 == 1){ storesVar = "liquor store";}else{storesVar = "liquor stores";}
document.getElementById("bannerCount").innerHTML="(" + countStores2 + " " + storesVar + ")";	  


  }else{ 
  document.getElementById("storeData").innerHTML = "<br /><br /><br />No Wine, Beer &amp; Spirits stores available<br /><br />";
  document.getElementById("bannerCount").innerHTML = ""
  }
} // end function loadNewData2(mapXML,c)
//--------------------------------------------------------------------------------------------------------------------------------
function displayResultsUpdate(x){ 
var xmlForMap;
var markers;
var check, storesVar;
var counter=0;

xmlForMap = createXMLobj(x);
markers = xmlForMap.documentElement.getElementsByTagName("marker");
check = xmlForMap.documentElement.getElementsByTagName("distance")[0];
icons = xmlForMap.documentElement.getElementsByTagName("icon");

for (i = 0; i < markers.length; i++) {counter = counter + 1;} 
if(counter == 1){ storesVar = "store";}else{storesVar = "stores";}
document.getElementById("bannerCount").innerHTML="(" + counter + " " + storesVar + ")";	  

var thisRad = document.getElementById("selRadius").value;

if(check != null){
xsl=createXMLobj('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><table class="mapData"><tr><th width="75">store</th><th>address</th><th>city</th><th>state</th><th>zip</th><th>phone</th><th>distance</th></tr><xsl:for-each select="markers/marker"><xsl:sort select="miles" data-type="number" order="ascending" /><xsl:if test="miles &lt;=' + thisRad +'"><tr><td align="center"><xsl:attribute name="href"><xsl:value-of select="@popupicon"/></xsl:attribute><img><xsl:attribute name="src"><xsl:value-of select="@popupicon"/></xsl:attribute></img></td><td align="left"><xsl:value-of select="@address"/></td><td align="left"><xsl:value-of select="@city"/></td><td><xsl:value-of select="@state"/></td><td align="center"><xsl:value-of select="@zipcode"/></td><td align="center"><xsl:value-of select="@phone"/></td><td align="left"><a><xsl:attribute name="href">mapPrintPageLiquor.asp?from=' + searchedForZipLat + "," + searchedForZipLng + '&amp;to=<xsl:value-of select="@lat"/>, <xsl:value-of select="@lng"/>&amp;address=<xsl:value-of select="@address"/>&amp;city=<xsl:value-of select="@city"/>&amp;state=<xsl:value-of select="@state"/>&amp;zipcode=<xsl:value-of select="@zipcode"/>&amp;phone=<xsl:value-of select="@phone"/>&amp;icon=<xsl:value-of select="@popupicon"/></xsl:attribute><xsl:attribute name="target">_blank</xsl:attribute><xsl:attribute name="title">Click to get directions</xsl:attribute><xsl:value-of select="distance"/></a></td></tr></xsl:if></xsl:for-each></table></xsl:template></xsl:stylesheet>');
}else{
xsl=createXMLobj('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><table class="mapData"><tr class="mapData"><th width="75">store</th><th>address</th><th>city</th><th>state</th><th>zip</th><th>phone</th></tr><xsl:for-each select="markers/marker"><xsl:sort select="@state" data-type="text" order="ascending" /><xsl:sort select="@city" data-type="text" order="ascending" /><xsl:sort select="@zipcode" data-type="text" order="ascending" /><tr><td align="center"><xsl:attribute name="href"><xsl:value-of select="@popupicon"/></xsl:attribute><img><xsl:attribute name="src"><xsl:value-of select="@popupicon"/></xsl:attribute></img></td><td align="left"><xsl:value-of select="@address"/></td><td align="left"><xsl:value-of select="@city"/></td><td><xsl:value-of select="@state"/></td><td align="center"><xsl:value-of select="@zipcode"/></td><td align="center"><xsl:value-of select="@phone"/></td></tr></xsl:for-each></table></xsl:template></xsl:stylesheet>');
}

document.getElementById("storeData").innerHTML="";
var mozillaXML = createXMLobj(x);

if (window.ActiveXObject)
  {
  ex=mozillaXML.transformNode(xsl);
  document.getElementById("storeData").innerHTML=ex;
  }
else if (document.implementation && document.implementation.createDocument)
  {
  xsltProcessor=new XSLTProcessor();
  xsltProcessor.importStylesheet(xsl);
  resultDocument = xsltProcessor.transformToFragment(mozillaXML,document);  
  document.getElementById("storeData").appendChild(resultDocument);
  }  
}// end function displayResultsUpdate(x)
//--------------------------------------------------------------------------------------------------------------------------------
function displayResultsUpdate2(x)
{ 
var xmlForMap;
var xmlDoc;
var markers;
var xmlDocShow;
var check;
var filterCheckboxes2;
xmlForMap = createXMLobj(x);
xmlDoc = xmlForMap;
markers = xmlDoc.documentElement.getElementsByTagName("marker");
check = xmlDoc.documentElement.getElementsByTagName("marker")[0].firstChild;
 
var thisRad = document.getElementById("selRadius").value;
if(check != null){
xsl=createXMLobj('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><table class="mapData"><tr><th width="75">store</th><th>address</th><th>city</th><th>state</th><th>zip</th><th>phone</th><th>distance</th></tr><xsl:for-each select="markers/marker"><xsl:sort select="miles" data-type="number" order="ascending" /><xsl:if test="miles &lt;=' + thisRad + '"><tr><td align="center"><xsl:attribute name="href"><xsl:value-of select="@popupicon"/></xsl:attribute><img><xsl:attribute name="src"><xsl:value-of select="@popupicon"/></xsl:attribute></img></td><td align="left"><xsl:value-of select="@address"/></td><td align="left"><xsl:value-of select="@city"/></td><td><xsl:value-of select="@state"/></td><td align="center"><xsl:value-of select="@zipcode"/></td><td align="center"><xsl:value-of select="@phone"/></td><td align="left"><a><xsl:attribute name="href">mapPrintPageLiquor.asp?from=' + searchedForZipLat + "," + searchedForZipLng + '&amp;to=<xsl:value-of select="@lat"/>, <xsl:value-of select="@lng"/>&amp;address=<xsl:value-of select="@address"/>&amp;city=<xsl:value-of select="@city"/>&amp;state=<xsl:value-of select="@state"/>&amp;zipcode=<xsl:value-of select="@zipcode"/>&amp;phone=<xsl:value-of select="@phone"/>&amp;icon=<xsl:value-of select="@popupicon"/></xsl:attribute><xsl:attribute name="target">_blank</xsl:attribute><xsl:attribute name="title">Click to get directions</xsl:attribute><xsl:value-of select="distance"/></a></td></tr></xsl:if></xsl:for-each></table></xsl:template></xsl:stylesheet>');
}else{
xsl=createXMLobj('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><table class="mapData"><tr><th width="75">store</th><th>address</th><th>city</th><th>state</th><th>zip</th><th>phone</th></tr><xsl:for-each select="markers/marker"><tr><td align="center"><xsl:attribute name="href"><xsl:value-of select="@popupicon"/></xsl:attribute><img><xsl:attribute name="src"><xsl:value-of select="@popupicon"/></xsl:attribute></img></td><td align="left"><xsl:value-of select="@address"/></td><td align="left"><xsl:value-of select="@city"/></td><td><xsl:value-of select="@state"/></td><td align="center"><xsl:value-of select="@zipcode"/></td><td align="center"><xsl:value-of select="@phone"/></td></tr></xsl:for-each></table></xsl:template></xsl:stylesheet>');
}
document.getElementById("storeData").innerHTML="";

if(REMOVE_DATA == "no"){

var mozillaXML = createXMLobj(x);
if (window.ActiveXObject)
  {
  ex=mozillaXML.transformNode(xsl);
  document.getElementById("storeData").innerHTML=ex;
  }
else if (document.implementation && document.implementation.createDocument)
  {
  xsltProcessor=new XSLTProcessor();
  xsltProcessor.importStylesheet(xsl);
  resultDocument = xsltProcessor.transformToFragment(mozillaXML,document);  
  document.getElementById("storeData").appendChild(resultDocument);
  }  
  }else{
  document.getElementById("storeData").innerHTML="<br /><br /><br />No Wine, Beer &amp; Spirits stores available<br /><br />";  
  }
}// end function displayResultsUpdate2(x)
//--------------------------------------------------------------------------------------------------------------------------------
function loadNewMap(mapXML) {


var ws = document.getElementById("wsID").checked;
var bc = document.getElementById("bcID").checked;

if(ws){ws_Banner = true;}else{ws_Banner = "";}
if(bc){bc_Banner = true;}else{bc_Banner = "";}


MAP_XML = mapXML;
var check;

var baseIcon = new GIcon();
baseIcon.image = "http://apfreshonline.com/bc_icon.png";
baseIcon.shadow = "http://apfreshonline.com/bc_iconShadow.png";
baseIcon.iconSize = new GSize(50, 50);
baseIcon.shadowSize = new GSize(40, 40);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(20, 35);	 
 
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.enableScrollWheelZoom();

var thisZoom = document.getElementById("zipZoomID").value;

if(searchedForZipLat){
  map.setCenter(new GLatLng(searchedForZipLat, searchedForZipLng), parseInt(thisZoom)); 
}else{
  map.setCenter(new GLatLng(40.5, -73.7000), 7); 
} 
 
function createTabbedMarker(point,htmls,labels,iconname, mystorenum, myaddress, mycity, mystate, myzip, myphone, mylocation,mybannernum,mypopupicon,mysetbutton,mysetstorepicurl) {
	var icon = new GIcon(baseIcon);
	icon.image = iconname.getAttribute("image");
	var marker = new GMarker(point, icon); 		
    GEvent.addListener(marker, "click", function() {
        // adjust the width so that the info window handles multiple tabs
        if (htmls.length > 2) {
          htmls[0] = '<div style="width:'+htmls.length*88+'px">' + htmls[0] + '</div>';
        }
        	var tabs = [];
	        for (var i=0; i<htmls.length; i++) {
	            tabs.push(new GInfoWindowTab(labels[i],htmls[i]));
	        }
          marker.openInfoWindowTabsHtml(tabs);
        });
        return marker;
}	
var xmlForMap, xmlDoc, markers, check, icons, x, emailTextLink, showIconAboveAddress, iconAboveAddress;
var xmlUpdateWithDistance = "";
var xmlUpdate = "";

xmlForMap = createXMLobj(mapXML);
markers = xmlForMap.documentElement.getElementsByTagName("marker");
check = xmlForMap.documentElement.getElementsByTagName("distance")[0];
icons = xmlForMap.documentElement.getElementsByTagName("icon");
x = markers.length;	

	  for (i = 0; i < icons.length; i++) {myIconImage[i] = icons[i].getAttribute("image");}
	   
	  for (i = 0; i < markers.length; i++) {
          if(check != null){
			  x=xmlForMap.getElementsByTagName("distance")[i];
			 
			  y=x.childNodes[0];
			  txt=y.nodeValue;
			  distance[i] = txt;
			  
              x=xmlForMap.getElementsByTagName("miles")[i];
              y=x.childNodes[0];
			  txt=y.nodeValue;
			  miles[i] = txt;
		  }
		
	mylat[i] = markers[i].getAttribute("lat");
	mylng[i] = markers[i].getAttribute("lng");
	point2[i] = new GPoint(parseFloat(markers[i].getAttribute("lng")), parseFloat(markers[i].getAttribute("lat")));
	mystorenum2[i] = markers[i].getAttribute("storenum");
	mystorepic2[i] = markers[i].getAttribute("storepic");
	myaddress2[i] = markers[i].getAttribute("address");   
	mycity2[i] = markers[i].getAttribute("city");  
	mystate2[i] = markers[i].getAttribute("state"); 
	myzip2[i] = markers[i].getAttribute("zipcode"); 
	myphone2[i] = markers[i].getAttribute("phone"); 
	myemail2[i] = markers[i].getAttribute("email"); 
	mylocation2[i] = markers[i].getAttribute("location");  
	mybannernum2[i] = markers[i].getAttribute("bannernum"); 
	
	if((bc_Banner=="") && (mybannernum2[i] == "bc")){continue;}
	if((ws_Banner=="") && (mybannernum2[i] == "ws")){continue;}	

	mypopupicon2[i] = markers[i].getAttribute("popupicon"); 
	mysetbutton2[i] = markers[i].getAttribute("setbutton"); 
	mysetstorepicurl2[i] = markers[i].getAttribute("setstorepicurl"); 
	storeAddress2[i] = myaddress2[i] + " " + mycity2[i] + ", " + mystate2[i] + " " + myzip2[i];
	//mystorepic2[i] = mystorenum2[i];		
//alert(mystorepic2[i]);
	if((mystorepic2[i] == "wns_default")||(mystorepic2[i] == "bc_default")){ 
	  showIconAboveAddress = false;
	  if(mybannernum2[i]=="bc"){
	    mystorepic2[i] = "bc_default"; 
	  }else{
	    mystorepic2[i] = "wns_default"; 	  
	  }	
	}else{	
	showIconAboveAddress = true;
	}	

	  myform2[i] ="<form method='post' action='" + mylocation2[i] + "' target='_top' style='margin:0px'><input type='hidden' name='" + mybannernum2[i] + "' value='" + mystorenum2[i] + "'><input type='submit' name='setcookie' value='Set As My Store'></form>";
	  mystoreCorp2[i] = "Store";
		
if(myemail2[i]){
emailTextLink = "<div style='text-align:center'><a href='mailto:" + myemail2[i] + "?Subject=Wine and Spirits Locator' style='font-size:10px;color:blue;text-decoration:underline' />Click Here Email Us:</a></div>";
}else{
emailTextLink = "";
}		
		
if(showIconAboveAddress){
iconAboveAddress = "<img src='" + mypopupicon2[i] + "' /><br />";
}else{
iconAboveAddress = "";
}	


mapHTML2[i] = "<table class='mapClass'><tr valign='top'><td><img src='" + mysetstorepicurl2[i] + "liquor/" + mystorepic2[i] + ".jpg' /></td><td valign='top' align='left'>" + iconAboveAddress + "<font size='1' face='arial'>"+ myaddress2[i] + "<br />" + mycity2[i] + ", " + mystate2[i] + "&nbsp;&nbsp;" + myzip2[i] + "<br />" + myphone2[i] + "<br /><br />" + emailTextLink + "</td></tr></table>";	

var thisZipCode = document.getElementById("zipcodeEntered").value;

mapFORM2[i] = "<table class='mapClass' border='0'><tr><td align='center'><form method='get' action='mapPrintPageLiquor.asp' target='_blank' class='myFormClass' style='padding:0px;' name='mapDirections'><br />Please enter your zipcode:<br /><input type='text' size='25' id='fromAddress' name='from' value='"+thisZipCode+"' /><input type='hidden' id='toAddress' name='to' value='" + storeAddress2[i] + "' /><input type='hidden' id='address' name='address' value='" + myaddress2[i] + "' /><input type='hidden' id='city' name='city' value='" + mycity2[i] + "' /><input type='hidden' id='state' name='state' value='" + mystate2[i] + "' /><input type='hidden' id='zipcode' name='zipcode' value='" + myzip2[i] + "' /><input type='hidden' id='icon' name='icon' value='" + mypopupicon2[i] + "' /><input type='hidden' size='5' id='locale' name='locale' value='en_US' /><br /><br /><input name='submit' type='submit' value='Get Directions!' /></td></tr><tr><td></form></td></tr></table>";

if(check != null){			  
	x=xmlForMap.getElementsByTagName("miles")[i];
	y=x.childNodes[0];
	txt=y.nodeValue;
	miles[i] = txt;
	
	var numericMiles = parseInt(txt);
	x=xmlForMap.getElementsByTagName("distance")[i];
	y=x.childNodes[0];
	txt=y.nodeValue;
	distance[i] = txt;	
		
var thisRad = document.getElementById("selRadius").value;
	
if(numericMiles >= thisRad){continue;}else{
xmlUpdateWithDistance += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "' /><distance>" + distance[i] + "</distance><miles>" + miles[i] + "</miles><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
}

}else{
 xmlUpdate += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "' /><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
} 

map.addOverlay(createTabbedMarker(point2[i], [mapHTML2[i], mapFORM2[i]],[mystoreCorp2[i],"Directions"],icons[i], mystorenum2[i], myaddress2[i], mycity2[i], mystate2[i], myzip2[i], myphone2[i], mylocation2[i],mybannernum2[i],mypopupicon2[i],mysetbutton2[i],mysetstorepicurl2[i])
);	
 
  } // for loop = markers 
  
  //banner not checked but produces result
  var g = xmlUpdate+xmlUpdateWithDistance; 
  if(g != ""){

  loadNewData("<markers>" + g + "</markers>");
    }else{
  document.getElementById("storeData").innerHTML="<br /><br /><br />No Wine, Beer &amp; Spirits stores available<br /><br />";  
  }
  
} //end function loadNewMap(mapXML)
//--------------------------------------------------------------------------------------------------------------------------------
function loadNewIcons(mapXML) {

var ws = document.getElementById("wsID").checked;
var bc = document.getElementById("bcID").checked;

if(ws){ws_Banner = true;}else{ws_Banner = "";}
if(bc){bc_Banner = true;}else{bc_Banner = "";}

var baseIcon = new GIcon();
baseIcon.image = "http://apfreshonline.com/bc_icon.png";
baseIcon.shadow = "http://apfreshonline.com/bc_iconShadow.png";
baseIcon.iconSize = new GSize(50, 50);
baseIcon.shadowSize = new GSize(40, 40);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(20, 35);	 

var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.enableScrollWheelZoom();

var thisZoom = document.getElementById("zipZoomID").value;

if(searchedForZipLat){
	map.setCenter(new GLatLng(searchedForZipLat, searchedForZipLng),parseInt(thisZoom)); 
}else{
	map.setCenter(new GLatLng(40.5, -73.7000), 7); 
}
  
  function createTabbedMarker(point,htmls,labels,iconname, mystorenum, myaddress, mycity, mystate, myzip, myphone, mylocation,mybannernum,mypopupicon,mysetbutton,mysetstorepicurl) { 
 
	var icon = new GIcon(baseIcon);
	icon.image = iconname.getAttribute("image");
	var marker = new GMarker(point, icon); 		
    GEvent.addListener(marker, "click", function() {
        // adjust the width so that the info window handles multiple tabs
        if (htmls.length > 2) {
          htmls[0] = '<div style="width:'+htmls.length*88+'px">' + htmls[0] + '</div>';
        }
        	var tabs = [];
	        for (var i=0; i<htmls.length; i++) {
	            tabs.push(new GInfoWindowTab(labels[i],htmls[i]));
	        }
          marker.openInfoWindowTabsHtml(tabs);
        });
        return marker;
}	
	var xmlForMap;
	var xmlUpdateWithDistance = "";
	var xmlUpdate = "";
	var x;
 
	xmlForMap = createXMLobj(mapXML);
	xmlDoc = xmlForMap;
	xmlDocSHOW = xmlDoc.documentElement;
	markers = xmlDoc.documentElement.getElementsByTagName("marker");
	check = xmlDoc.documentElement.getElementsByTagName("marker")[0].firstChild; 
	icons = xmlDoc.documentElement.getElementsByTagName("icon");
	x = markers.length;	

	  for (i = 0; i < icons.length; i++) {myIconImage[i] = icons[i].getAttribute("image");}	   
	  for (i = 0; i < markers.length; i++) {
          if(check != null){
			  x=xmlDoc.getElementsByTagName("distance")[i];
			  y=x.childNodes[0];
			  txt=y.nodeValue;
			  distance[i] = txt;
			  
              x=xmlDoc.getElementsByTagName("miles")[i];
              y=x.childNodes[0];
			  txt=y.nodeValue;
			  miles[i] = txt;
		  }
		
	mylat[i] = markers[i].getAttribute("lat");
	mylng[i] = markers[i].getAttribute("lng");
	point2[i] = new GPoint(parseFloat(markers[i].getAttribute("lng")), parseFloat(markers[i].getAttribute("lat")));
	mystorenum2[i] = markers[i].getAttribute("storenum");
	mystorepic2[i] = markers[i].getAttribute("storepic");
	
	myaddress2[i] = markers[i].getAttribute("address");   
	mycity2[i] = markers[i].getAttribute("city");  
	mystate2[i] = markers[i].getAttribute("state"); 
	myzip2[i] = markers[i].getAttribute("zipcode"); 
	myphone2[i] = markers[i].getAttribute("phone"); 
	myemail2[i] = markers[i].getAttribute("email");
	mylocation2[i] = markers[i].getAttribute("location");  
	mybannernum2[i] = markers[i].getAttribute("bannernum"); 

	if((bc_Banner=="") && (mybannernum2[i] == "bc")){continue;}
	if((ws_Banner=="") && (mybannernum2[i] == "ws")){continue;}	

	mypopupicon2[i] = markers[i].getAttribute("popupicon"); 
	mysetbutton2[i] = markers[i].getAttribute("setbutton"); 
	mysetstorepicurl2[i] = markers[i].getAttribute("setstorepicurl"); 
	storeAddress2[i] = myaddress2[i] + " " + mycity2[i] + ", " + mystate2[i] + " " + myzip2[i];
		//mystorepic2[i] = mystorenum2[i];		

	if((mystorepic2[i] == "wns_default")||(mystorepic2[i] == "bc_default")){ 
	showIconAboveAddress = false;
	  if(mybannernum2[i]=="bc"){
	    mystorepic2[i] = "bc_default"; 
	  }else{
	    mystorepic2[i] = "wns_default"; 	  
	  }	
	}else{	
	showIconAboveAddress = true;
	}	
	
		
	
	  myform2[i] ="<form method='post' action='" + mylocation2[i] + "' target='_top' style='margin:0px'><input type='hidden' name='" + mybannernum2[i] + "' value='" + mystorenum2[i] + "'><input type='submit' name='setcookie' value='Set As My Store'></form>";
	  mystoreCorp2[i] = "Store";
	
var thisZip = document.getElementById("zipcodeEntered").value;

if(myemail2[i]){
emailTextLink = "<div style='text-align:center'><a href='mailto:" + myemail2[i] + "?Subject=Wine and Spirits Locator' style='font-size:10px;color:blue;text-decoration:underline' />Click Here Email Us:</a></div>";
}else{
emailTextLink = "";
}	

if(showIconAboveAddress){
iconAboveAddress = "<img src='" + mypopupicon2[i] + "' /><br />";
}else{
iconAboveAddress = "";
}	

mapHTML2[i] = "<table class='mapClass'><tr valign='top'><td><img src='" + mysetstorepicurl2[i] + "liquor/" + mystorepic2[i] + ".jpg' /></td><td valign='top' align='left'>" + iconAboveAddress + "<font size='1' face='arial'>"+ myaddress2[i] + "<br />" + mycity2[i] + ", " + mystate2[i] + "&nbsp;&nbsp;" + myzip2[i] + "<br />" + myphone2[i] + "<br /><br />" + emailTextLink + "</td></tr></table>";	

var thisZipCode = document.getElementById("zipcodeEntered").value;

mapFORM2[i] = "<table class='mapClass' border='0'><tr><td align='center'><form method='get' action='mapPrintPageLiquor.asp' target='_blank' class='myFormClass' style='padding:0px;' name='mapDirections'><br />Please enter your zipcode:<br /><input type='text' size='25' id='fromAddress' name='from' value='"+thisZipCode+"' /><input type='hidden' id='toAddress' name='to' value='" + storeAddress2[i] + "' /><input type='hidden' id='address' name='address' value='" + myaddress2[i] + "' /><input type='hidden' id='city' name='city' value='" + mycity2[i] + "' /><input type='hidden' id='state' name='state' value='" + mystate2[i] + "' /><input type='hidden' id='zipcode' name='zipcode' value='" + myzip2[i] + "' /><input type='hidden' id='icon' name='icon' value='" + mypopupicon2[i] + "' /><input type='hidden' size='5' id='locale' name='locale' value='en_US' /><br /><br /><input name='submit' type='submit' value='Get Directions!' /></td></tr><tr><td></form></td></tr></table>";



if(check != null){			  
x=xmlDoc.getElementsByTagName("miles")[i];
y=x.childNodes[0];
txt=y.nodeValue;
miles[i] = txt;

var numericMiles = parseInt(txt);
x=xmlDoc.getElementsByTagName("distance")[i];
y=x.childNodes[0];
txt=y.nodeValue;
distance[i] = txt;
	
var thisRad = document.getElementById("selRadius").value;
if(numericMiles >= thisRad){continue;}else{
xmlUpdateWithDistance += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "'><distance>" + distance[i] + "</distance><miles>" + miles[i] + "</miles></marker><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
}
}else{
 xmlUpdate += "<marker lat='" + mylat[i] + "' lng='" + mylng[i] + "' storenum='" + mystorenum2[i] + "' storepic='" + mystorepic2[i] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[i] + "' email='" + myemail2[i] + "' location='" + mylocation2[i] + "' bannernum='" + mybannernum2[i] + "' popupicon='" + mypopupicon2[i] + "' setstorepicurl='" + mysetstorepicurl2[i] + "'></marker><icon image='" +  myIconImage[i] + "' shadow='" + myIconImageShadow[i] + "' class='local' />"; 
} 

map.addOverlay(createTabbedMarker(point2[i], [mapHTML2[i], mapFORM2[i]],[mystoreCorp2[i],"Directions"],icons[i], mystorenum2[i], myaddress2[i], mycity2[i], mystate2[i], myzip2[i], myphone2[i], mylocation2[i],mybannernum2[i],mypopupicon2[i],mysetbutton2[i],mysetstorepicurl2[i])
);	 

  } // for loop = markers   

  var g = xmlUpdate+xmlUpdateWithDistance; 
  if(g == ""){REMOVE_DATA = "yes";}else{REMOVE_DATA = "no";} 
  loadNewData2("<markers>" + g + "</markers>",REMOVE_DATA);
} //end function loadNewIcons(mapXML)

