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 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 AP_CHECK;
var WB_CHECK;
var PM_CHECK;
var SF_CHECK;
var FB_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){
  var checkingAP = x.indexOf(" storenumber ");
  var checkingWB = x.indexOf(" WaldStoreNumber ");
  var checkingPM = x.indexOf(" pathstorenumber ");
  var checkingSF = x.indexOf(" sfstorenumber ");
  var checkingFB = x.indexOf(" fbStoreNumber ");

  if(checkingAP != 0){document.getElementById("apID").disabled = true;}else{document.getElementById("apID").disabled = false;}
  if(checkingWB != 0){document.getElementById("wbID").disabled = true;}else{document.getElementById("wbID").disabled = false;}
  if(checkingPM != 0){document.getElementById("pmID").disabled = true;}else{document.getElementById("pmID").disabled = false;}
  if(checkingSF != 0){document.getElementById("sfID").disabled = true;}else{document.getElementById("sfID").disabled = false;}
  if(checkingFB != 0){document.getElementById("fbID").disabled = true;}else{document.getElementById("fbID").disabled = false;}
}

function filterBanner(){
  AP_CHECK = document.getElementById("apID").checked;
  WB_CHECK = document.getElementById("wbID").checked;
  PM_CHECK = document.getElementById("pmID").checked;
  SF_CHECK = document.getElementById("sfID").checked;
  FB_CHECK = document.getElementById("fbID").checked;
  if((AP_CHECK+WB_CHECK+PM_CHECK+SF_CHECK+FB_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");
	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"); 
	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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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");
    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"); 
    mylocation2[i] = markers[i].getAttribute("location");  
    mybannernum2[i] = markers[i].getAttribute("bannernum"); 
    mypopupicon2[i] = markers[i].getAttribute("popupicon"); 
    if((ap_Banner=="") && (mybannernum2[i] == "storenumber")){continue;}
    if((wb_Banner=="") && (mybannernum2[i] == "WaldStoreNumber")){continue;}
    if((pm_Banner=="") && (mybannernum2[i] == "pathstorenumber")){continue;}
    if((sf_Banner=="") && (mybannernum2[i] == "sfstorenumber")){continue;}
    if((fb_Banner=="") && (mybannernum2[i] == "fbStoreNumber")){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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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 = "pharmacy";}else{storesVar = "pharmacies";}
document.getElementById("bannerCount").innerHTML="(" + countStores2 + " " + storesVar + ")";	  


  }else{ 
  document.getElementById("storeData").innerHTML = "<br /><br /><br /><h2>No Pharmacies Available</h2><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 = "pharmacy";}else{storesVar = "pharmacies";}
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">mapPrintPage.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"><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">mapPrintPage.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 /><h2>No Pharmacies Available</h2><br /><br />";  
  }
}// end function displayResultsUpdate2(x)
//--------------------------------------------------------------------------------------------------------------------------------
function loadNewMap(mapXML) {

MAP_XML = mapXML;
var check;
var banner_AP;
var banner_WB;
var banner_PM;
var banner_SF;
var banner_FB;

var ap = document.getElementById("apID").checked;
var wb = document.getElementById("wbID").checked;
var pm = document.getElementById("pmID").checked;
var sf = document.getElementById("sfID").checked;
var fb = document.getElementById("fbID").checked;

if(ap){ap_Banner = "AP";}else{ap_Banner = "";}
if(wb){wb_Banner = "WB";}else{wb_Banner = "";}
if(pm){pm_Banner = "PM";}else{pm_Banner = "";}
if(sf){sf_Banner = "SF";}else{sf_Banner = "";}
if(fb){fb_Banner = "FB";}else{fb_Banner = "";}

var baseIcon = new GIcon();
baseIcon.image = "http://waldbaums.com/wald_icon.png";
baseIcon.shadow = "http://waldbaums.com/wald_iconShadow.png";
baseIcon.iconSize = new GSize(30, 30);
baseIcon.shadowSize = new GSize(35, 35);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(15, 10);	 
 
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;
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");
	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"); 
	mylocation2[i] = markers[i].getAttribute("location");  
	mybannernum2[i] = markers[i].getAttribute("bannernum"); 

	if((ap_Banner=="") && (mybannernum2[i] == "storenumber")){continue;}
	if((wb_Banner=="") && (mybannernum2[i] == "WaldStoreNumber")){continue;}
	if((pm_Banner=="") && (mybannernum2[i] == "pathstorenumber")){continue;}
	if((sf_Banner=="") && (mybannernum2[i] == "sfstorenumber")){continue;}
	if((fb_Banner=="") && (mybannernum2[i] == "fbStoreNumber")){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(mybannernum2[i] == "WaldStoreNumber"){ mystorepic2[i] = "wald_store_pic"; }
	if(mybannernum2[i] == "fbStoreNumber"){ mystorepic2[i] = "default"; }
	if(mybannernum2[i] == "pathstorenumber"){mystorepic2[i] = "path_default"; }			
	
	//if(mystorenum2[i] ==1){
	  //myform2[i] = "<img src='http://aptea.com/images/maps/corpLogo.jpg' />";
	  //mystoreCorp2[i] = "Corporate";
	//}else{
	  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";
	//}
		
mapHTML2[i] = "<table class='mapClass'><tr valign='top'><td><img src='" + mysetstorepicurl2[i] + mystorepic2[i] + ".jpg' /></td><td valign='top' align='left'><img src='" + mypopupicon2[i] + "' /><br /><font size='1' face='arial'>"+ myaddress2[i] + "<br />" + mycity2[i] + ", " + mystate2[i] + "&nbsp;&nbsp;" + myzip2[i] + "<br />" + myphone2[i] + "</td></tr></table>";	

var thisZipCode = document.getElementById("zipcodeEntered").value;

mapFORM2[i] = "<table class='mapClass' border='0'><tr><td align='center'><form method='get' action='mapPrintPage.asp' target='_blank' class='myFormClass' style='padding:0px;' name='mapDirections'><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 /><input name='submit' type='submit' value='Get Directions!' /></td></tr><tr><td></form></td></tr></table>";
mypopupicon2
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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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 /><h2>No Pharmacies Available</h2><br /><br />";  
  }
  
} //end function loadNewMap(mapXML)
//--------------------------------------------------------------------------------------------------------------------------------
function loadNewIcons(mapXML) {
var ap = document.getElementById("apID").checked;
var wb = document.getElementById("wbID").checked;
var pm = document.getElementById("pmID").checked;
var sf = document.getElementById("sfID").checked;
var fb = document.getElementById("fbID").checked;

if(ap){ap_Banner = true;}else{ap_Banner = "";}
if(wb){wb_Banner = true;}else{wb_Banner = "";}
if(pm){pm_Banner = true;}else{pm_Banner = "";}
if(sf){sf_Banner = true;}else{sf_Banner = "";}
if(fb){fb_Banner = true;}else{fb_Banner = "";}

var baseIcon = new GIcon();
baseIcon.image = "http://waldbaums.com/wald_icon.png";
baseIcon.shadow = "http://waldbaums.com/wald_iconShadow.png";
baseIcon.iconSize = new GSize(30, 30);
baseIcon.shadowSize = new GSize(35, 35);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(15, 10);	  

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");
	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"); 
	mylocation2[i] = markers[i].getAttribute("location");  
	mybannernum2[i] = markers[i].getAttribute("bannernum"); 

	if((ap_Banner=="") && (mybannernum2[i] == "storenumber")){continue;}
	if((wb_Banner=="") && (mybannernum2[i] == "WaldStoreNumber")){continue;}
	if((pm_Banner=="") && (mybannernum2[i] == "pathstorenumber")){continue;}
	if((fb_Banner=="") && (mybannernum2[i] == "fbStoreNumber")){continue;}
	if((sf_Banner=="") && (mybannernum2[i] == "sfstorenumber")){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(mybannernum2[i] == "WaldStoreNumber"){ mystorepic2[i] = "wald_store_pic"; }
	if(mybannernum2[i] == "fbStoreNumber"){ mystorepic2[i] = "default"; }
	if(mybannernum2[i] == "pathstorenumber"){mystorepic2[i] = "path_default"; }			
	
	//if(mystorenum2[i] ==1){
	  //myform2[i] = "<img src='http://aptea.com/images/maps/corpLogo.jpg' />";
	  //mystoreCorp2[i] = "Corporate";
	//}else{
	  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;

mapHTML2[i] = "<table class='mapClass'><tr valign='top'><td><img src='" + mysetstorepicurl2[i] + mystorepic2[i] + ".jpg' /></td><td valign='top' align='left'><img src='" + mypopupicon2[i] + "' /><br /><font size='1' face='arial'>"+ myaddress2[i] + "<br />" + mycity2[i] + ", " + mystate2[i] + "&nbsp;&nbsp;" + myzip2[i] + "<br />" + myphone2[i] + "</td></tr></table>";	

var thisZipCode = document.getElementById("zipcodeEntered").value;

mapFORM2[i] = "<table class='mapClass' border='0'><tr><td align='center'><form method='get' action='mapPrintPage.asp' target='_blank' class='myFormClass' style='padding:0px;' name='mapDirections'><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 /><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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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] + "' address='" + myaddress2[i] + "' city='" + mycity2[i] + "' state='" + mystate2[i] + "' zipcode='" + myzip2[i] + "' phone='" + myphone2[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)
