﻿function RouteInfoDisplayer (anchorId, options) {
        this.anchorId = anchorId;
        this.anchor = document.getElementById(anchorId);
        this.options = options;
       
        var fileReference = anchorId.split("_");
        this.fileReference = fileReference[1];
        var url = "json/"+mainJSONFile[fileReference[1]];
        this.ajaxHelper = new net.ContentLoader(this,url,"GET",[]);
       
        this.initializeBehavior();
}

RouteInfoDisplayer.prototype = {
        initializeBehavior: function() {
                var oThis = this;
                this.anchor.onclick = function() {
                        oThis.showRouteInfo();
                };
        },
       
        showRouteInfo: function() {
                this.refreshContent();
                this.ajaxHelper.sendRequest();
        },

        refreshContent: function() {
                var divMainContent2 = document.getElementById("mainContent2");
                divMainContent2.style.display="inline";
                var divMainImage = document.getElementById("imagePlaceholder");
                divMainImage.style.display="inline";
               
                var divMainContent1 = document.getElementById("mainContent1");
                var divIFrame = document.getElementById("iframe");
                if (divIFrame) {
                        divMainContent1.removeChild(divIFrame);
                        divIFrame = null;
                }
                var pleaseWaitImage = document.getElementById("pleaseWait");
                pleaseWaitImage.style.display = 'inline';

        },
       
        //Ajax Callback routine.
        ajaxUpdate: function(request) {
                var name="";
                var descrip="";
                var image="";
                //alert(request.responseText);
                var jsonTxt=request.responseText;
                var jsonObj=eval("("+jsonTxt+")");
                name=jsonObj.wall.name;
                descrip+="<p><h2 class='heading'>"+name+"</h2>";
                 
                var infos=jsonObj.wall.routeinfo;
                descrip+="<ul>";
                for (var i=0;i<infos.length;i++) {
                        descrip+="<li>"+infos[i]+"</li>\n";
                }
                descrip+="</ul>";
                
                var otherinfo = jsonObj.wall.otherinfo;
                if (otherinfo) { descrip+="<p>"+otherinfo+"</p>"; }
                descrip+="</p>";

                var pageOneLink = document.getElementById("pageOneLink");
                pageOneLink.style.display = 'inline';

               var pleaseWaitImage = document.getElementById("pleaseWait");
               pleaseWaitImage.style.display = 'none';

                //remove iframe     
                var mainContentNode = document.getElementById("mainContent1");
                var divIFrame = document.getElementById("iFrame");
                if (divIFrame) {
                    mainContentNode.removeChild(divIFrame);
                    divIFrame = null;
                } 
                 
                //show main
                var mainContent2 = document.getElementById("mainContent2");
                mainContent2.innerHTML = descrip;

                mainContent2.style.display="inline";
                var image = document.getElementById("imagePlaceholder");
                image.style.display="inline";

                var imageSrc=jsonObj.wall.image;
                if (imageSrc) {showMainImage(imageSrc); }
       },
        
        //If XMLHTTPRequest is unavailable, perform this...
        handleNoXMLHTTPRequest: function() {
            if (this.options.alternativeAction)
                this.options.alternativeAction(this.fileReference);
        },
       
        handleError: function(request) {
                if (this.options.errorHandler)
                        this.options.errorHandler(request);
        }
}; 

