﻿// JScript File
var firstLoad=false;
 var map;
//var Display_overlay=false;
    var link,title;
   // var icons = {};
    
    
    
var stylesheet;
    var source;
 var gToolTip = new Array();
var gToolTipLen;   

var tooltipHTML =  '<table width="287" border="0" cellspacing="0" cellpadding="0"><tr><td>'
tooltipHTML += '<table width="100%"  border="0" cellspacing="0" cellpadding="0"><tr><td ><table width="100%"  border="0" cellspacing="0" cellpadding="0">'
tooltipHTML += '<tr><td style="width: 14px; height: 17px"></td><td style="height: 17px"><img src="../images/top_left.gif" width="14" height="17"></td><td background="../images/top_mid.gif" style="height: 17px" width="237"></td><td style="height: 17px" width="23"><img src="../images/top_right.gif" width="23" height="17" style="cursor:pointer" onclick="CLOSEFUNCTION"></td></tr></table></td>'
tooltipHTML += '</tr><tr><td ><table width="100%"  border="0" cellspacing="0" cellpadding="0"> <tr><td >&nbsp;</td><td  background="../images/left_side.gif" >&nbsp;</td>'
tooltipHTML += '<td  background="../images/bg.gif" class="red_1">RESTDATA</td>'
tooltipHTML += '<td background="../images/right_side.gif" width="23">&nbsp;</td></tr><tr><td align="right" colspan="2"><img src="../images/bottom_left1.gif" width="27" height="29"></td><td style="background-image: url(../images/bottom_mid.gif); background-repeat: repeat-x" valign="top" width="237"> </td> <td valign="top" width="23"><img src="../images/bottom_right1.gif" width="23" height="18"></td> </tr></table></td></tr></table></td></tr></table>'

        
        

    function load() 
    {
    try
    {
      if (GBrowserIsCompatible()) 
      {
        map = new GMap2(document.getElementById("Gmap"));
      GEvent.addListener(map, "dragstart", function() {
 var i;
 if(gToolTip.length!=null)
 {
 for(i=0;i<=gToolTip.length-1;i++)
 {
		gToolTip[i].style.visibility = 'hidden';
 
 }
 }

 
});  
        map.addControl(new GLargeMapControl());
        //map.addControl(new GMapTypeControl());
        map.addControl(new GOverviewMapControl());
map.setCenter(new GLatLng(54.8007, -2.9883), 7);
        map.enableDoubleClickZoom();
        LoadIcon(); 
        load_preloader(2);
      }
      }catch(e){}
    }
    
           // Create a base icon for all of our markers that specifies the
        // shadow, icon dimensions, etc.
             var baseIcon;
             function LoadIcon()
             {
         baseIcon = new GIcon();
       // baseIcon.shadow = "../images/flag-shade.gif";
        baseIcon.iconSize = new GSize(50,46);
        baseIcon.shadowSize = new GSize(28, 34);
        baseIcon.iconAnchor = new GPoint(0, 34);
        baseIcon.infoWindowAnchor = new GPoint(19, 2);
        baseIcon.infoShadowAnchor = new GPoint(0, 34);
     
        }




     
        // Creates a marker whose info window displays the letter corresponding
        // to the given index.
        function createMarker(point, index,toolTip) {
          // Create a lettered icon for this point using our icon class
         // var letter = String.fromCharCode("A".charCodeAt(0) + parseInt(index));
          var icon = new GIcon(baseIcon);
          icon.image = "../images/icon1.png";
          var marker = new GMarker(point, icon);
var tempHTML;
          	gToolTipLen = gToolTip.length;
	gToolTip[gToolTipLen] = document.createElement("div");
tempHTML =tooltipHTML.replace('RESTDATA',toolTip);
tempHTML=tempHTML.replace("CLOSEFUNCTION","javascript:gToolTip[" + gToolTipLen + "].style.visibility = 'hidden';");

gToolTip[gToolTipLen].innerHTML=tempHTML
var count = gToolTipLen;
          GEvent.addListener(marker, "click", function() {
         
          // marker.openInfoWindowHtml(toolTip);
         showTooltip(marker,gToolTip[count]);
           });
         GEvent.addListener(marker,"mouseout", function() {
		//gToolTip[gToolTipLen].style.visibility = 'hidden';
           });
        
           if(document.getElementById("divGoogleMap")!=null)
          { 
		    collapse("divGoogleMap",1);
		    }
          return marker;
        }

function showTooltip(marker,tooltip) 
  {
  
  var i;
 if(gToolTip.length!=null)
 {
 for(i=0;i<=gToolTip.length-1;i++)
 {
		gToolTip[i].style.visibility = 'hidden';
 
 }
 }
//var tooltip = document.createElement("div");
document.getElementById("Gmap").appendChild(tooltip);
tooltip.style.visibility="hidden";
//tooltip.innerHTML = tootip1;
var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
var anchor=marker.getIcon().iconAnchor;
var width=marker.getIcon().iconSize.width;
var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x + width,- offset.y + point.y +anchor.y)); 
pos.apply(tooltip);
tooltip.style.visibility="visible";
}
  
  
  
    function GetPost_old(p1,p2)
    {
     var postcode,postcode2;
     var positionFlag;
     
    if(p1==null)
    {
      positionFlag=false;
            postcode =document.getElementById("txtpostcode1").value;
            
            if(postcode.length<2) 
            {
            alert('Please enter min. 2 characters of postcode');
            return false;
            }
    postcode2 =document.getElementById("txtpostcode2").value; 
    }
    else
    {
     postcode =p1;
     postcode2 =p2;
        
     
    }
    
    //showAddress(document.getElementById("txtpostcode1").value)
    GDownloadUrl("GmapData.xml", function(data) {
        try
        {
         var tooltip;
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("Postcode");
          for (var i = 0; i < markers.length; i++) {
        
         if(markers[i].getAttribute("Postcode1").toLowerCase().indexOf(postcode.toLowerCase()) != -1)
         {

if(postcode2!='')
{

  var posts2 = markers[i].getElementsByTagName("Post");
  
         for (var j = 0; j < parseInt(posts2.length); j++) 
          {
          if(posts2[j].getAttribute("Postcode2").toLowerCase().indexOf(postcode2.toLowerCase())!= -1)
          {
         
          
           var restmarks=posts2[j].getElementsByTagName("Restaurant");
           for (var k = 0; k < parseInt(restmarks.length); k++) 
           {
           var Latitude=restmarks[k].getAttribute("Latitude")
            var Longitude=restmarks[k].getAttribute("Longitude");
             var point = new GLatLng(parseFloat(restmarks[k].getAttribute("Latitude")),
                                    parseFloat(restmarks[k].getAttribute("Longitude")));
          
            var restpostcode=posts2[j].getAttribute("Postcode2");
            var tooltip = '<font color=red> ' + restmarks[k].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[k].getAttribute("Address");
            
            
            tooltip = tooltip + '<br/>Longitude ' + Longitude + ' latitude ' + Latitude + '<br/>Post Code: ' + restpostcode + '<br/>';
          
            var m=createMarker(point, 1,tooltip);
            map.addOverlay(m);
            
            positionFlag=true;
              m.openInfoWindowHtml(tooltip);
            map.setCenter(point,13);
            
            }
          }
          }
}
else
{
var posts2 = markers[i].getElementsByTagName("Post");

         for (var j = 0; j < parseInt(posts2.length); j++) 
          {
          
          
           var restmarks=posts2[j].getElementsByTagName("Restaurant");
           
           for (var k = 0; k < parseInt(restmarks.length); k++) 
           {
           var Latitude=restmarks[k].getAttribute("Latitude")
            var Longitude=restmarks[k].getAttribute("Longitude");
              var point = new GLatLng(parseFloat(restmarks[k].getAttribute("Latitude")),
                                    parseFloat(restmarks[k].getAttribute("Longitude")));
          
            var restpostcode=posts2[j].getAttribute("Postcode2");
            var tooltip = '<font color=red> ' + restmarks[k].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[k].getAttribute("Address");
            
            
            tooltip = tooltip + '<br/>Longitude ' + Longitude + ' latitude ' + Latitude + '<br/>Post Code: ' + restpostcode + '<br/>';

            var m=createMarker(point, 1,tooltip);
            
            map.addOverlay(m);
            
         
              m.openInfoWindowHtml(tooltip);
              
            map.setCenter(point,13);
            
            }
          }
        

}
            }
          }
          }catch(e){//alert(e.value)
          }
        });
        
    }
    
    
 function GetPost(p1,p2)
    {
   try
   { 
     var postcode,postcode2;
     var positionFlag;
     
    if(p1==null)
    {
      positionFlag=false;
            postcode =document.getElementById("txtpostcode1").value;
            
            if(postcode.length<2) 
            {
            alert('Please enter min. 2 characters of postcode');
            return false;
            }
    postcode2 =document.getElementById("txtpostcode2").value; 
    }
    else
    {
     postcode =p1;
     postcode2 =p2;
        
     
    }
   source.setProperty("SelectionLanguage","XPath");

if(postcode2!='')
{
var fullpostcode = postcode.toUpperCase() + "-" + postcode2.toUpperCase();
// var posts2 = source.SelectSingleNode("*//@Postcode2='" + fullpostcode + "']");
  var posts2 = source.selectSingleNode("//*[@Postcode2='" + fullpostcode + "']");
         
   
          if(posts2!=null)
          {
         
          
           var restmarks=source.selectNodes("/Map/Region/County/Town/Postcode/Post[@Postcode2='" + fullpostcode + "']/Restaurant");
            if(restmarks==null)
            {
            restmarks=source.selectNodes("/Map/Region/County/Town/Postcode/Post[contains(@Postcode2)='" + fullpostcode + "']/Restaurant");
            }
            if(restmarks!=null)
          {
          
           for (var k = 0; k < parseInt(restmarks.length); k++) 
           {
           var Latitude=restmarks[k].getAttribute("Latitude")
            var Longitude=restmarks[k].getAttribute("Longitude");
             var point = new GLatLng(parseFloat(Latitude),
                                    parseFloat(Longitude));
          
            var restpostcode=restmarks[k].getAttribute("Postcode_one") + '-' + restmarks[k].getAttribute("Postcode_two");
            var tooltip = '<table><tr><td class="red_1"><font class="red_bold" > ' + restmarks[k].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[k].getAttribute("Address");
            
          
            tooltip = tooltip + '<br/>Post Code: ' + restpostcode + '<br/></td></tr></table>';
           if(firstLoad==false)
          {
      
            setTimeout("SetFirst(" + Latitude + "," + Longitude + ",'" + tooltip.replace("'","&lsquo;") + "');",4000); 
          }
          else
          {
            var m=createMarker(point, 1,tooltip);
            map.addOverlay(m);
            
            positionFlag=true;
             //     m.openInfoWindowHtml(tooltip);
    
            map.setCenter(point,13);
         showTooltip(m,gToolTip[gToolTipLen]);
 }
            }
            }
          }
 }

else
 {

          
           var restmarks=source.selectNodes("/Map/Region/County/Town/Postcode[@Postcode1='" + postcode.toUpperCase() + "']/Post/Restaurant");
         
          if(restmarks!=null && restmarks.length>0)
          {
        
          for(var k = 0; k < parseInt(restmarks.length); k++) 
           {
           var Latitude=restmarks[k].getAttribute("Latitude")
            var Longitude=restmarks[k].getAttribute("Longitude");
              var point = new GLatLng(parseFloat(Latitude),
                                    parseFloat(Longitude));
          
            var restpostcode=restmarks[k].getAttribute("Postcode_one") + '-' + restmarks[k].getAttribute("Postcode_two");
           var tooltip = '<table><tr><td class="red_1"><font class="red_bold" > ' + restmarks[k].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[k].getAttribute("Address");
            
          
            tooltip = tooltip + '<br/>Post Code: ' + restpostcode + '<br/></td></tr></table>';
          
          
          if(firstLoad==false)
          {
   
       
           setTimeout("SetFirst(" + Latitude + "," + Longitude + ",'" + tooltip.replace("'","&lsquo;") + "');",3000); 
          }
          else
          {
            var m=createMarker(point, 1,tooltip);
            
            map.addOverlay(m);
          //   m.openInfoWindowHtml(tooltip);
             
            map.setCenter(point,13);
            
        showTooltip(m,gToolTip[gToolTipLen]);
            }
            }
          }
          else
          {
         restmarks=source.SelectNodes("/Map/Region/County/Town/Postcode[contains(@Postcode1)='" + postcode.toUpperCase() + "']/Post/Restaurant");
         if(restmarks!=null && restmarks.length>0)
          {
          for(var k = 0; k < parseInt(restmarks.length); k++) 
           {
           var Latitude=restmarks[k].getAttribute("Latitude")
            var Longitude=restmarks[k].getAttribute("Longitude");
              var point = new GLatLng(parseFloat(restmarks[k].getAttribute("Latitude")),
                                    parseFloat(restmarks[k].getAttribute("Longitude")));
          
            var restpostcode=posts2[j].getAttribute("Postcode2");
            var tooltip = '<table><tr><td class="red_1"><font class="red_bold" > ' + restmarks[k].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[k].getAttribute("Address");
            
          
            tooltip = tooltip + '<br/>Post Code: ' + restpostcode + '<br/></td></tr></table>';
           if(firstLoad==false)
          {
           setTimeout("SetFirst(" + Latitude + "," + Longitude + ",'" + tooltip.replace("'","&lsquo;") + "');",3000); 
          }
          else
          {
            var m=createMarker(point, 1,tooltip);
            
            map.addOverlay(m);
            
         
            // m.openInfoWindowHtml(tooltip);
  
              
            map.setCenter(point,13);
         showTooltip(m,gToolTip[gToolTipLen]);
     }
            
            }
          }
else
          {

     setTimeout('SetCenter()',2000);
          
          }
          }
        

}
          firstLoad=true;
    
}
catch(e){firstLoad=true;setTimeout('SetCenter()',2000);
}
} 
function SetCenter()
{
        map.setCenter(new GLatLng(54.8007, -2.9883), 5);
}
    
 function SetFirst(lat,log,tooltip)
{
         

  var point = new GLatLng(parseFloat(lat),parseFloat(log));

  var m=createMarker(point, 1,tooltip);
  map.addOverlay(m);
   map.setCenter(point,13);
   showTooltip(m,gToolTip[gToolTipLen]);
}   
    
    
    
    
    
    
    
    
  
var hdl
function ShowRestaurant(restid)
{
//if(hdl!=null)
//{
//hdl.close();
//}
// hdl = window.open('frm_SearchMap.aspx?restid=' + restid,'mapwin','width=650,height=350,left=0,top=0,resizable=no,status=no,scrollbars=yes');
ShowLocation(restid);
 
}


    function ShowLocation_old(restid)
    {
    var flag=false;
    
    GDownloadUrl("GmapData.xml", function(data) {
        try
        {
        
          var xml = GXml.parse(data);
          
         var markers = xml.documentElement.getElementsByTagName("Restaurant");
          for (var i = 0; i < markers.length; i++) {
         if(markers[i].getAttribute("id")==restid)
         {
            var point = new GLatLng(parseFloat(markers[i].getAttribute("Latitude")),
                                    parseFloat(markers[i].getAttribute("Longitude")));
           
            var Latitude=markers[i].getAttribute("Latitude")
            var Longitude=markers[i].getAttribute("Longitude");
            var toolTip = '<font color=red> ' + markers[i].getAttribute("Name")  + '</font><br/>Address: ' + markers[i].getAttribute("Address");
            
            
            var m=createMarker(point, 1,toolTip);
            
            map.addOverlay(m);
             m.openInfoWindowHtml(toolTip);
            
          
            map.setCenter(point,13);
            flag = true;
            }
           
          }
          if(flag==false)
          {
           map.setCenter(new GLatLng(54.8007, -2.9883), 5);
          
          alert('Sorry, location not found');
          }
          }catch(e){}
        });
    }
    
    function ShowLocation(restid)
    {

        try
        {
        
                  var markers =source.selectSingleNode("/Map/Region/County/Town/Postcode/Post/Restaurant[@id='" + restid + "']");
       
      
         if(markers!=null)
         {
            var point = new GLatLng(parseFloat(markers.getAttribute("Latitude")),
                                    parseFloat(markers.getAttribute("Longitude")));
           
            var Latitude=markers.getAttribute("Latitude")
            var Longitude=markers.getAttribute("Longitude");
             // var toolTip = '<font color=red> ' + markers.getAttribute("Name")  + '</font><br/>Address: ' + markers.getAttribute("Address");
            
            var toolTip = '<table><tr><td class="red_1"><font class="red_bold" > ' + markers.getAttribute("Name")  + '</font><br/>Address: ' + markers.getAttribute("Address");
            
          
            toolTip = toolTip + '<br/>Post Code: ' + markers.getAttribute("Postcode_one") + '-' + markers.getAttribute("Postcode_two")  + '<br/></td></tr></table>';
          
          
            var m=createMarker(point, 1,toolTip);
            
            map.addOverlay(m);
             //m.openInfoWindowHtml(toolTip);
            
          
            map.setCenter(point,15);
             
          if(firstLoad!=false)
          {
         showTooltip(m,gToolTip[gToolTipLen]);
         }
           
          }
          else
          {
           map.setCenter(new GLatLng(54.8007, -2.9883), 5);
          
          alert('Sorry, location not found');
          }
          if(document.getElementById("gmapptop")!=null)
        {
        document.getElementById("gmapptop").focus();
        }
          }
          catch(e){}
      
    }


function ShowRest(post1,post2)
{

 GDownloadUrl("Gmappaths.xml", function(data) {
        try
        {
        var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("Post_Code_With_Longitude");
          for (var i = 0; i < markers.length; i++) 
          {
         if(markers[i].getAttribute("Post_Code").toLowerCase()==post1.toLowerCase() && markers[i].getAttribute("Post_Code2").toLowerCase()==post2.toLowerCase())
         {
         
         var restmarks = markers[i].getElementsByTagName("Restaurant");
         for (var j = 0; j < parseInt(restmarks.length); j++) 
          {
          var point = new GLatLng(parseFloat(restmarks[j].getAttribute("Latitude")),
                                    parseFloat(restmarks[j].getAttribute("Longitude")));
           
            var Latitude=restmarks[j].getAttribute("Latitude")
            var Longitude=restmarks[j].getAttribute("Longitude");
            var toolTip = '<font color=red> ' + restmarks[j].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[j].getAttribute("Address") + '<br/>Menu: ' + restmarks[j].getAttribute("Menu");
            toolTip = toolTip + '<br/> Website: <A style="color:blue" href="http://www.123-yum.co.uk">123-yum.co.uk</a>'
           
            var m=createMarker(point, 1,toolTip);
            map.addOverlay(m);
             m.openInfoWindowHtml(toolTip);
            
          
            map.setCenter(point,13);
          
          
           }
           
            }
           
          }
         
          }catch(e){}
        });
    
}


function ShowPostCodeLocation_old(townName,clickFlag)
{

GDownloadUrl("GmapData.xml", function(data) {
        try
        {
        var xml = GXml.parse(data);
         var towns = xml.documentElement.getElementsByTagName("Town");
         
          
          
          for (var i = 0; i < towns.length; i++) 
          {
         if(towns[i].getAttribute("TName").toLowerCase()==townName.toLowerCase())
         {
         
         var restmarks = towns[i].getElementsByTagName("Restaurant");
    
         if(restmarks.length>=1 && clickFlag==1)
         {
        ShowListing(restmarks[0].getAttribute("Postcode_one") + '-' + restmarks[0].getAttribute("Postcode_two")); 
         }
         for (var j = 0; j < restmarks.length; j++) 
          {
          
          var point = new GLatLng(parseFloat(restmarks[j].getAttribute("Latitude")),
                                    parseFloat(restmarks[j].getAttribute("Longitude")));
            var Latitude=restmarks[j].getAttribute("Latitude")
            var Longitude=restmarks[j].getAttribute("Longitude");
            var toolTip = '<font color=red> ' + restmarks[j].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[j].getAttribute("Address") + '<br/>'
            toolTip = toolTip + 'Postcode : ' + restmarks[j].getAttribute("Postcode_one") + '-' + restmarks[j].getAttribute("Postcode_two") 
           
            var m=createMarker(point,1,toolTip);
            map.addOverlay(m);
             //m.openInfoWindowHtml(toolTip);
            
          
            map.setCenter(point,10);
            
          }
         }
         }
         
         }
         catch(e)
         {}
         });
}


function ShowPostCodeLocation(townName,clickFlag)
{
        try
        {
      source.setProperty("SelectionLanguage","XPath");
     var restmarks =  source.selectNodes("/Map/Region/County/Town[@TName='" + townName + "']/Postcode/Post/Restaurant");
     
        if(restmarks.length>=1 && clickFlag==1)
         {
         
        ShowListing(restmarks[0].getAttribute("Postcode_one")); 
          var  deltasRow=source.selectSingleNode("/Map");
          deltasRow.setAttribute("SelPostcode",(restmarks[0].getAttribute("Postcode_one")+'-'+restmarks[0].getAttribute("Postcode_two")).toUpperCase());
          deltasRow.setAttribute("selPost1",restmarks[0].getAttribute("Postcode_one").toUpperCase());
          display(true);
         }
         for (var j = 0; j < restmarks.length; j++) 
          {
          
          var point = new GLatLng(parseFloat(restmarks[j].getAttribute("Latitude")),
                                    parseFloat(restmarks[j].getAttribute("Longitude")));
            var Latitude=restmarks[j].getAttribute("Latitude")
            var Longitude=restmarks[j].getAttribute("Longitude");
           //var toolTip = '<font color=red> ' + restmarks[j].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[j].getAttribute("Address") + '<br/>'
           // toolTip = toolTip + 'Postcode : ' + restmarks[j].getAttribute("Postcode_one") + '-' + restmarks[j].getAttribute("Postcode_two") 
           
              var tooltip = '<table><tr><td class="red_1"><font class="red_bold" > ' + restmarks[j].getAttribute("Name")  + '</font><br/>Address: ' + restmarks[j].getAttribute("Address");
            
          
            tooltip = tooltip + '<br/>Post Code: ' + restmarks[j].getAttribute("Postcode_one") + '-' + restmarks[j].getAttribute("Postcode_two")  + '<br/></td></tr></table>';
           
           
            var m=createMarker(point,1,toolTip);
            map.addOverlay(m);
             //m.openInfoWindowHtml(toolTip);
            
          
            map.setCenter(point,10);
            if(firstLoad!=false)
          {
         showTooltip(m,gToolTip[gToolTipLen]);
         }
            
          }
     

         
         }
         catch(e)
         {}
        
}








//---------------------------


   
    function LoadForm()
    {
 
    
     if (window.ActiveXObject)               // IE
        {
         stylesheet=new ActiveXObject("Microsoft.XMLDOM");
         stylesheet.async=false; 
         source=new ActiveXObject("Microsoft.XMLDOM");
         source.async=false;
    source.setProperty("SelectionLanguage","XPath");
    
         source.loadXML(SourceXML);

         
         if (parseInt(source.documentElement.childNodes.length) > 1)
              {
                 stylesheet.load("postcodetree.xslt");
                 }
      }
         else
         {
         }
         
    }

 function GetTownName(post_one)
    {
       
  source.setProperty("SelectionLanguage","XPath");

    var deltasRow=source.selectSingleNode("//*[@Postcode1='" + post_one.toUpperCase() + "']");
  if(deltasRow!=null)
  {

  var townNode = deltasRow.parentNode;
  return(townNode.getAttribute("TName"))
  }
  else
  {
  deltasRow = source.selectSingleNode("//Map/Region/County/Town/Postcode[contains(@Postcode1,'" + post_one.toUpperCase() + "')]")       
if(deltasRow!=null)
  {
 lpostcode_one=deltasRow.getAttribute("Postcode1");
   var townNode = deltasRow.parentNode;
   return(townNode.getAttribute("TName"))
  }


  return('')
  
  }
}
    
    
    
    function ShowPostcodes()
    {
ShowListing();
    
    var tname;
    var deltasRow;
    if (window.ActiveXObject)               // IE
        {
         if (parseInt(source.documentElement.childNodes.length) > 1)
              {
             
                 //LoadPostcodes();
    
                if(ltown!='')
                {
                tname=ltown;
             
                }
                if(lpostcode_one!='')
                {
                 tname=GetTownName(lpostcode_one);
                }
                deltasRow=source.selectSingleNode("/Map");
                deltasRow.setAttribute("SelTown",tname);
                if(lpostcode_one!='')
                {
                 deltasRow.setAttribute("SelPostcode",(lpostcode_one+'-'+lpostcode_two).toUpperCase());
                deltasRow.setAttribute("selPost1",lpostcode_one.toUpperCase());
                }
                display(true);
                load_preloader(1);
                
                
                 ShowPostCodeLocation(tname);
                 
                 if(lpostcode_one!='')
                 {
                GetPost(lpostcode_one,lpostcode_two);
                  
                 }
                 //load_preloader(2);
                           
                } 
          else {
          // document.getElementById('question').innerHTML = "<br><br><br>No Question found for this criteria. Please re-select criteria.<br><br>";
              }
         }
         
    }
    
 function GetValPostcodeOne(post_one,city)
  {
source.setProperty("SelectionLanguage","XPath");
var deltasRow;
if(city=='')
{

   deltasRow=source.selectSingleNode("//*[@Postcode1='" + post_one.toUpperCase() + "']");
  if(deltasRow!=null)
  {

  var retpost = deltasRow.getAttribute("Postcode1");

  return(retpost)
  }
  else
  {
  deltasRow = source.selectSingleNode("//Map/Region/County/Town/Postcode[contains(@Postcode1,'" + post_one.toUpperCase() + "')]")       
if(deltasRow!=null)
  {

  var retpost = deltasRow.getAttribute("Postcode1");

  return(retpost)
  }


  return(post_one)
  
  }
  }
  else
  {
  
  deltasRow = source.selectSingleNode("//Map/Region/County/Town[@TName='"+ city +"']/Postcode[@Postcode1='" + post_one.toUpperCase() + "']")       

if(deltasRow!=null)
{

  var retpost = deltasRow.getAttribute("Postcode1");
  return(retpost)
}
else
{

  deltasRow = source.selectSingleNode("//Map/Region/County/Town[@TName='"+ city +"']/Postcode[contains(@Postcode1,'" + post_one.toUpperCase() + "')]")       

if(deltasRow!=null)
{
  var retpost = deltasRow.getAttribute("Postcode1");
  return(retpost)
}
else
{
  deltasRow = source.selectSingleNode("//Map/Region/County/Town[@TName='"+ city +"']/Postcode")       

if(deltasRow!=null)
{

  var retpost = deltasRow.getAttribute("Postcode1");
  
  return(retpost)
}
}

}




  }
  return(post_one)
  
  }




var ajaxRestList;

 function ShowListing(pcode)
    {
    
    var postcode,postcode2,city,resttype;
    if(pcode!=null)
    {
    
    //var pcodes = pcode.split('-');
    postcode=pcode;          //pcodes[0];
    postcode2='';         //pcodes[1];
    city="";
    resttype=0;
   }
   else
   {
    LoadPostcodes();
    postcode=lpostcode_one;
    postcode2=lpostcode_two;
    city=ltown;
    resttype=lresttype;
    postcode = GetValPostcodeOne(postcode,city);
   }
 //if(postcode!='')
 //{
        listLoadComplete('N');
 
  var url = "zrest_listing.aspx?pcode1=" + postcode + "&pcode2=" + postcode2 + "&city=" + city + "&type=" + resttype + "&scrap=Y"
if(ajaxRestList==null)
{
	 ajaxRestList= new sack();
	} 
	else
	{
	 ajaxRestList=null;
	  ajaxRestList= new sack();
} 
	
	
	ajaxRestList.requestFile = url;
	ajaxRestList.onCompletion = function(){  
	try
	{
	
var htmlstring = ajaxRestList.response;
try
{
var scriptstring = htmlstring.substring(htmlstring.indexOf('<script')+8,htmlstring.lastIndexOf('</script>'));
if(scriptstring!=null || scriptstring!='')
{
eval(scriptstring);
}
}
catch(e){}
htmlstring = htmlstring.substring(htmlstring.indexOf('$$$$')+4,htmlstring.lastIndexOf('$$$$'));
htmlstring = htmlstring.substring(0,htmlstring.lastIndexOf('@@@@'));

	  listLoadComplete('Y');
        document.getElementById("Restaurant_List").innerHTML =htmlstring;
        }
       catch(e)
        {
       
       }
	}; 
	
	ajaxRestList.runAJAX();	
	 if(pcode!=null)
    {
    GetPost(postcode,postcode2);   
   }
  
//}
}


  function ShowFullPostCode(pcode)
    {
    if(pcode!=null)
    {
    
    var pcodes = pcode.split('-');
    var postcode=pcodes[0];
    var postcode2=pcodes[1];
    GetPost(postcode,postcode2);   
 
   }
    }
    
      
    function ChangePostcodes(town)
    {
    var deltasRow=source.selectSingleNode("/Map");
    deltasRow.setAttribute("SelTown",town.value);
    ShowPostCodeLocation(town.value,1);
                 display(true);
               
             
                
    }
      function ChangePostcodes2(postcode1)
    {
    var deltasRow=source.selectSingleNode("/Map");
    deltasRow.setAttribute("selPost1",postcode1);
    //ShowPostCodeLocation(postcode1);
                 display(true);
      GetPost(postcode1,'');         
               
    }
    
    function display(refreshMe)
{
 	if (refreshMe==true)
	    {
	    var deltasRow;
    	if (window.ActiveXObject)
	    {
	
		 //deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
	    // deltasRow.setAttribute("visited","2");
	     
		// viewRange.value="position() = "+curPage+"";
		 
		//status="Current page "+(curPage)+"/"+(lastPage);

	     document.getElementById("lblTreeNode").innerHTML =source.documentElement.transformNode(stylesheet);
		
	     //var deltasRow=source.selectSingleNode("/xml/question["+(curPage-1)+"]");
		 //deltasRow.setAttribute("visited","1")
     	}
//	else if (document.implementation && document.implementation.createDocument)
//    	{
//        deltasRow =source.evaluate("/xml/question["+curPage+"]", source, null, 9, null).singleNodeValue;
//        deltasRow.setAttribute("visited","2")
//	    viewRange.value="position() = "+curPage+"";
//	
//		status="Current page "+(curPage)+"/"+(lastPage);
//		var result;
//		var xsltProcessor = new XSLTProcessor(); 
//        xsltProcessor.importStylesheet(stylesheet); 
//        result = xsltProcessor.transformToDocument(source); 

//	   	document.getElementById("question").innerHTML =result.xml;
//		
//		
//		var deltasRow=source.evaluate("/xml/question["+curPage+"]", source, null, 9, null).singleNodeValue;
//		deltasRow.setAttribute("visited","1");
//		}
//		
	}	
}	