﻿
function ToggleMain()
{
    document.getElementById("PicTab").style.display = 'none';
    document.getElementById("DescTab").style.display = 'none';
    document.getElementById("MainTab").style.display = 'inline';
    
    document.getElementById("MainBtn").src = '/CCDL/AppGS/img/main-tab-a.gif';
    document.getElementById("MainBtn").style.borderBottom = '0px';
    
    if (document.getElementById("DetailBtn"))
    {
        document.getElementById("DetailBtn").src = '/CCDL/AppGS/img/detail-tab-b.gif';
        document.getElementById("DetailBtn").style.borderBottom = 'solid 1px #eeeeee';
    }
    if (document.getElementById("PhotoBtn"))
    {
        document.getElementById("PhotoBtn").src = '/CCDL/AppGS/img/photo-tab-b.gif';
        document.getElementById("PhotoBtn").style.borderBottom = 'solid 1px #eeeeee';
    }
}

function ToggleDesc()
{
    document.getElementById("PicTab").style.display = 'none';
    document.getElementById("MainTab").style.display = 'none';
    document.getElementById("DescTab").style.display = 'inline';
    
    document.getElementById("MainBtn").src = '/CCDL/AppGS/img/main-tab-b.gif';
    document.getElementById("MainBtn").style.borderBottom = 'solid 1px #eeeeee';
    
    document.getElementById("DetailBtn").src = '/CCDL/AppGS/img/detail-tab-a.gif';
    document.getElementById("DetailBtn").style.borderBottom = '0px';
    
    if (document.getElementById("PhotoBtn"))
    {
        document.getElementById("PhotoBtn").src = '/CCDL/AppGS/img/photo-tab-b.gif';
        document.getElementById("PhotoBtn").style.borderBottom = 'solid 1px #eeeeee';
    }
}

function TogglePic()
{
    document.getElementById("DescTab").style.display = 'none';
    document.getElementById("MainTab").style.display = 'none';
    document.getElementById("PicTab").style.display = 'inline';
    
    document.getElementById("MainBtn").src = '/CCDL/AppGS/img/main-tab-b.gif';
    document.getElementById("MainBtn").style.borderBottom = 'solid 1px #eeeeee';
    
    if (document.getElementById("DetailBtn"))
    {
        document.getElementById("DetailBtn").src = '/CCDL/AppGS/img/detail-tab-b.gif';
        document.getElementById("PhotoBtn").style.borderBottom = 'solid 1px #eeeeee';
    }
    
    document.getElementById("PhotoBtn").src = '/CCDL/AppGS/img/photo-tab-a.gif';
    document.getElementById("PhotoBtn").style.borderBottom = '0px';
}

function RefGoTo()
{
    var refBox = document.getElementById("RefBox");
    var out = document.getElementById("RefResult");
    
    try
    {
    GoTo(refpins[refBox.value]);
	}
	catch (ex)
	{
		alert("We're sorry but ref number " + refBox.value + " is not on the map.");
	}
}

function Launch(url)
{
    window.open(url, 'Directions', 'resizable=yes,scrollbars=yes,width=550,height=600');
}
        
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

function fixPNG(myImage) 
{
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
	   var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
	   var imgTitle = (myImage.title) ? 
		             "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
	   var imgStyle = "display:inline-block;" + myImage.style.cssText
	   var strNewHTML = "<span " + imgID + imgClass + imgTitle
                  + " style=\"" + "width:" + myImage.width 
                  + "px; height:" + myImage.height 
                  + "px;" + imgStyle + ";"
                  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                  + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
	   myImage.outerHTML = strNewHTML	  
    }
}

function DoAtoR(id)
{
    document.getElementById("AtoR").value = id;
    document.getElementById("form1").submit();
}

var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

function fixPNG(myImage) 
{
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
	   var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
	   var imgTitle = (myImage.title) ? 
		             "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
	   var imgStyle = "display:inline-block;" + myImage.style.cssText
	   var strNewHTML = "<span " + imgID + imgClass + imgTitle
                  + " style=\"" + "width:" + myImage.width 
                  + "px; height:" + myImage.height 
                  + "px;" + imgStyle + ";"
                  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                  + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
	   myImage.outerHTML = strNewHTML	  
    }
}

 function KeyDown(evt)
{
	try
	{
	//evt = evt || event;
	keyCode = evt.keyCode || evt.which;
	
	if(keyCode == 13)
	{
		if (evt.preventDefault)
		{
			evt.preventDefault();
			evt.stopPropagation();
		} else {
			event.returnValue=false; 
			event.cancel = true;
		}
		
		if (document.getElementById('RefBox').value != '')
			document.getElementById('RefBtn').click();
		else		
			document.getElementById('SearchButton').click();
	}
	}
	catch (ex) { }
}

var map; 

function Init(){
  map = new Map(document.getElementById("map"));
  map.authenticate(CONFIG.clientName, CONFIG.clientPassword);
  map.addCopyrightMessage("<a href=\"javascript:Launch('http://www.decarta.com/legal/TA_TOU.html');\">Terms of Use</a>&#169; deCarta &#169; 2004-2007 Tele Atlas, Rel. 06/2005");
  
  var zoom = new ZoomController(init_radius); 
  map.addZoomController(zoom);
  
  var myInfoBubble = document.createElement("DIV");
  myInfoBubble.style.width="250px";
  myInfoBubble.style.height="155px";    

  var img = document.createElement("img");
  img.src='img/thought.gif';

  img.style.position="absolute";
  img.style.top="9px";
  img.style.left="9px";
  img.style.zIndex=1;
  img.style.width="250px";
  img.style.height="155px"; 
   
  myInfoBubble.appendChild(img);
  myInfoBubble.style.position="absolute";
  myInfoBubble.style.zIndex=5000;
  myInfoBubble.style.display="none";
  
  // create Objects and add to Map
  var closeButton = new Icon("img/x.gif",240,10,20,20);
  var infoWindow = new InfoWindow(myInfoBubble,-5,150,closeButton);
  map.addCustomInfoWindow(infoWindow);


  var pos = new Position(c_latlon);
  map.centerOnPosition(pos, function(pos){
        PlacePOI();
  });
}

var zindex = 1000;
var pins = new Array();
var refpins = new Array();
function addPushPin(loc,html,id,iconFile, h,w, iid)
{
	//var to = new TextOverlay(id,9,4,"#000000","10pt","arial");
	//var icon = new Icon("/CCDL/icons/" + iconFile + id, h/2, w/2, h, w, to);
    var icon = new Icon("/CCDL/AppGS2/Icon.ashx?icon=" + iconFile + "&num=" + id, h/2, w/2, h, w);

    var res = "";

   /* if (window.ActiveXObject)
    {
        var xml = new ActiveXObject("Microsoft.XMLDOM");
        xml.async = false;
        xml.loadXML(html);
        
        var xsl = new ActiveXObject("Microsoft.XMLDOM");
        xsl.async = false;
        xsl.load("xsl/poiBubble.xsl");
        
        res = xml.transformNode(xsl);    
    }
    else
    { */
        var cmoXmlDom = Sarissa.getDomDocument();
        cmoXmlDom = (new DOMParser()).parseFromString(html, "text/xml");
        
        res = GetHtml(cmoXmlDom);          

   // }

    var pin = new Pin(new Position(loc), res, null, icon);
    
    pin.pinImg.style.cursor = 'pointer';

    EventRegistry.addListener(pin,"click", clickCallBack);
    map.addPin(pin);
    
    pins[iid] = pin;
    refpins[id] = iid;
}

function clickCallBack(pin){
    map.panToPosition(pin.getPosition());
    pin.showInfoWindow();  
}

function GoTo(id)
{

    	var pin = pins[id];
    	map.panToPosition(pin.getPosition());
    	pin.showInfoWindow();
	
	
}

function GoToWOUT(id)
{
    var pin = pins[id];
    map.panToPosition(pin.getPosition());
}

function GetHtml(xmld)
{
    var id = '';
    var number = '';
    var addr = '';
    var name = '';
    var open = '';
    var ddlink = '';
    var phone = '';
    var link = '';
    var image = '';
    var desc = '';
    var price = '';
    var bb = '';
    var realtor = '';
    
    if (xmld.getElementsByTagName('ID').length > 0)
        id = xmld.getElementsByTagName('ID')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Number').length > 0)
        number = xmld.getElementsByTagName('Number')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Addr').length > 0)
        addr = xmld.getElementsByTagName('Addr')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Name').length > 0)
        name = xmld.getElementsByTagName('Name')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Open').length > 0)
    {
        try
        {
        open = xmld.getElementsByTagName('Open')[0].firstChild.nodeValue;
        }
        catch (ex) { }
    }
    if (xmld.getElementsByTagName('DDLink').length > 0)
        ddlink = xmld.getElementsByTagName('DDLink')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Phone').length > 0)
        phone = xmld.getElementsByTagName('Phone')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Link').length > 0)
        link = xmld.getElementsByTagName('Link')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Image').length > 0)
        image = xmld.getElementsByTagName('Image')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Desc').length > 0)
        desc = xmld.getElementsByTagName('Desc')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Price').length > 0)
        price = xmld.getElementsByTagName('Price')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('BB').length > 0)
        bb = xmld.getElementsByTagName('BB')[0].firstChild.nodeValue;
    if (xmld.getElementsByTagName('Realtor').length > 0)
        realtor = xmld.getElementsByTagName('Realtor')[0].firstChild.nodeValue;
  
    
    var html = 
         '<div style="width: 250px;"><table cellspacing="0" cellpadding="0" border="0" width="240"><tr>'
        +'<td class="txt" style="border-bottom: solid 1px #cccccc" width="40"><b style="padding-right: 5px; width: 40px;">'
        +number
        +'</b></td><td width="50"><img id="MainBtn" src="/CCDL/AppGS/img/main-tab-a.gif" border="0" onclick="ToggleMain();" style="border-bottom: solid 0px #cccccc" />'
        +'</td><td width="50">';
    
    if (desc == '')
        html += '<img src="/CCDL/AppGS/img/detail-tab-d.gif" border="0" style="border-bottom: solid 1px #cccccc" />';
    else
        html += '<img id="DetailBtn" src="/CCDL/AppGS/img/detail-tab-b.gif" border="0" onclick="ToggleDesc();" style="border-bottom: solid 1px #cccccc" />';

    html += '</td><td width="50">';
    
    if (image == '')
        html += '<img src="/CCDL/AppGS/img/photo-tab-d.gif" border="0" style="border-bottom: solid 1px #cccccc" />';
    else
        html += '<img id="PhotoBtn" src="/CCDL/AppGS/img/photo-tab-b.gif" border="0"  onclick="TogglePic();"  style="border-bottom: solid 1px #cccccc" />';
       
    html += '</td><td width="50"  style="border-bottom: solid 1px #cccccc"><img src="/CCDL/AppGS/img/x.gif" /></td></tr></table>'
        +'<div style="z-index: 3000; display: inline;" id="MainTab"><table cellspacing="0" border="0" cellpadding="1" width="95%"><tr><td class="smtxt">'
        + addr
        +'</td></tr>';
        
    if (name != '')
        html += '<tr><td class="smtxt"><b>' + name + '</b></td></tr>';
   
   html += '<tr><td><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="smtxt">'
       + price + '<br/>' + bb
       + '</td><td class="smtxt" align="right">'
       + realtor + '<br/>' + phone
       + '</td></tr></table></td></tr><tr><td class="smtxt">'
    + open
    + '</td></tr><tr><td class="smtxt"><a class="pagelink" href=\'' + ddlink + '\'>Directions</a>';
   
   if (link != '')
    html += '<a class="pagelink" style="padding-left: 10px;" href=\'' + link + '\'>Website</a>';

    html += '<a class="pagelink" style="padding-left: 10px;" href="javascript:DoAtoR(\'' + id + '\');">Add to Route</a>'
        +'</td></tr></table></div>'
        +'<div id="PicTab" style="z-index: 3000; display: none;"><table cellspacing="0" cellpadding="2" border="0">'
        +'<tr><td><a href="javascript:Launch(\'' + image + '\');"><img width="80" border="0" src="'
        +image
        +'" /></a></td><td class="smtxt">Click on the image to see<br/>a larger version.</td></tr></table></div>'
        +'<div id="DescTab" style="z-index: 3000; display: none; width: 240px;" class="smtxt">'
        + '<div style="width: 220px;">' + desc + '</div>'
        +'</div></div>';
        
    return html;
}

function addEvent(obj, evType, fn, useCapture) {
if (obj.addEventListener) {
obj.addEventListener(evType, fn, useCapture);
return true;
} else if (obj.attachEvent) {
var r = obj.attachEvent("on" + evType, fn);
return r;
} else {
alert("handler could not be attached");
}
}
addEvent(document,"keypress",KeyDown,true);