        function MM_preloadImages() { //v3.0
            var d = document; if (d.images) {
                if (!d.MM_p) d.MM_p = new Array();
                var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
                    if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
            }
        }

        function MM_swapImgRestore() { //v3.0
            var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
        }

        function MM_findObj(n, d) { //v4.01
            var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
                d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
            }
            if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
            for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
            if (!x && d.getElementById) x = d.getElementById(n); return x;
        }

        function MM_swapImage() { //v3.0
            var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
                if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
        }


        function TG_SignIn() 
        {
            location = '/_layouts/Authenticate.aspx?Source=' + window.location.pathname;
        }


        function TG_SearchTextBoxEnter(textBoxID, e, scope) {

            var key;
           
            if (window.event)
                key = window.event.keyCode;     //IE
            else
                key = e.which;     //firefox and other browsers

            // enter key pressed.
            if (key == 13) {
                TG_SimpleButtonClick(textBoxID, scope);
            }
        }


        function TG_SimpleButtonClick(textBoxID, scope) {
        
            var searchText = '';
            var searchQuery = '';

            var textBoxSearch = document.getElementById(textBoxID); 
            
            if (textBoxSearch != null) {
                searchText = textBoxSearch.value;

                if (searchText == '') {
                    alert('Please enter a search term and click the search button.');
                }
                else {
                    if (scope == '') {
                        searchQuery = '/search/pages/default.aspx?k=' + searchText ;
                    }
                    else {
                        searchQuery = '/search/pages/default.aspx?k=' + searchText + '&s=' + scope;
                    }
                   
                    location = searchQuery;
                }
            }
        }
        
        function TG_PostcodeSearchTextBoxEnter(textBoxID, e, scope) {

            var key;
           
            if (window.event)
                key = window.event.keyCode;     //IE
            else
                key = e.which;     //firefox and other browsers

            // enter key pressed.
            if (key == 13) {
                TG_PostCodeButtonClick(textBoxID, scope);
            }
        }


        function TG_PostCodeButtonClick(textBoxID, scope) {

            var searchText = '';
            var searchQuery = '';

            var textBoxSearch = document.getElementById(textBoxID);

            if (textBoxSearch != null) {
                searchText = textBoxSearch.value;

                if (searchText == '' || searchText == 'Enter postcode') {
                    alert('Please enter a postcode and click the search button.');
                }
                else {
                    if (searchText.length != 4 || isNaN(searchText)) {
                        alert('Please enter a valid postcode.  A valid post code must be of 4 digits.');
                    }
                    else {
                    searchQuery = '/projects/pages/postcodesearchresults.aspx?p=' + searchText;
                    location = searchQuery;
                    }
                }
            }
        }
        



        function PageQuery(q) {
            if (q.length > 1) this.q = q.substring(1, q.length);
            else this.q = null;
            this.keyValuePairs = new Array();
            if (q) {
                for (var i = 0; i < this.q.split("&").length; i++) {
                    this.keyValuePairs[i] = this.q.split("&")[i];
                }
            }
            this.getKeyValuePairs = function() { return this.keyValuePairs; }
            this.getValue = function(s) {
                for (var j = 0; j < this.keyValuePairs.length; j++) {
                    if (this.keyValuePairs[j].split("=")[0] == s)
                        return this.keyValuePairs[j].split("=")[1];
                }
                return false;
            }
            this.getParameters = function() {
                var a = new Array(this.getLength());
                for (var j = 0; j < this.keyValuePairs.length; j++) {
                    a[j] = this.keyValuePairs[j].split("=")[0];
                }
                return a;
            }
            this.getLength = function() { return this.keyValuePairs.length; }
        }
        
        function queryString(key) {
            var page = new PageQuery(window.location.search);
            return unescape(page.getValue(key));
        }


        function TF_GetQueryStringValue(textBoxID, queryStringKey) {

            var textBoxSearch = document.getElementById(textBoxID);

            if (textBoxSearch != null) 
            {
                var searchText = queryString(queryStringKey);
                
                if (searchText != 'false')
                {
                    textBoxSearch.value = searchText;
                }
            }
        }
        


        function TG_setBanner() {
            var url;
            var urlParts;
    
            url = window.location.href;
            urlParts = url.split("/");

            switch (urlParts[3].toLowerCase()) {
                case "projects":
                    return "/_layouts/TransGrid.Portal.Website/images/projectsbanner.jpg";
                    break;
                case "pe":
                    return "/_layouts/TransGrid.Portal.Website/images/easementsbanner.jpg";
                    break;
                case "she":
                    return "/_layouts/TransGrid.Portal.Website/images/safetybanner.jpg";
                    break;
                case "network":
                    return "/_layouts/TransGrid.Portal.Website/images/networkbanner.jpg";
                    break;
                case "careers":
                    return "/_layouts/TransGrid.Portal.Website/images/careersbanner.jpg";
                    break;
                case "mediaweb":
                    return "/_layouts/TransGrid.Portal.Website/images/mediabanner.jpg";
                    break;
                case "tenders":
                    return "/_layouts/TransGrid.Portal.Website/images/tendersbanner.jpg";
                    break;
                case "search":
                    return "/_layouts/TransGrid.Portal.Website/images/searchbanner.jpg";
                    break;
                default:
                    return "/_layouts/TransGrid.Portal.Website/images/genericbanner.jpg";
            }
        }

        function TG_setHomeBanner() {
            var inX = 3; // Number of alternative images
            var inRand = pickRandom(inX); // Number of alternative images
            var stRandImgURL = new Array(inX); // Array to hold filenames
            
            stRandImgURL[0] = "/_layouts/TransGrid.Portal.Website/images/banner1.jpg";
            stRandImgURL[1] = "/_layouts/TransGrid.Portal.Website/images/banner2.jpg";
            stRandImgURL[2] = "/_layouts/TransGrid.Portal.Website/images/banner3.jpg";
            
            return stRandImgURL[inRand];
            //return inRand;
        }
        
        function pickRandom(range) {
            if (Math.random)
                return Math.round(Math.random() * (range - 1));
            else {
                var now = new Date();
                return (now.getTime() / 1000) % range;
            }
        }
        function TGSlideShow() {
            document.write("<ul class='hide' id='imageviewer'>");
            document.write("<li class='hide'>");
            document.write("<h2>The Next Generation</h2>");
            document.write("<a href='#'><img class='iw_tst' src='/_layouts/transgrid.portal.website/images/slideshow1.jpg' alt='Click to play video' /></a>");
            document.write("<p class='smalltext'>Lorem ipsum dolor sit amet etur adipiscing.");
            document.write("<a class='boldtext' href='#'>Read More</a></p>");
            document.write("</li>");
            document.write("<li class='hide'>");
            document.write("<h2>Second Headline</h2>");
            document.write("<a href='#'><img class='iw_tst' src='/_layouts/transgrid.portal.website/images/slideshow1.jpg' alt='Click to play video' /></a>");
            document.write("<p class='smalltext'>Meet the workforce taking TransGrid into the future. Lorem ipsum dolor sit amet.");
            document.write("<a class='boldtext' href='#'>Read More</a></p>");
            document.write("</li>");
            document.write("<li class='hide'>");
            document.write("<h2>Next Headline</h2>");
            document.write("<a href='#'><img class='iw_tst' src='/_layouts/transgrid.portal.website/images/slideshow2.jpg' alt='Click to play video' /></a>");
            document.write("<p class='smalltext'>Lorem ipsum dolor sit amet etur adipiscing.");
            document.write("<a class='boldtext' href='#'>Read More</a></p>");
            document.write("</li>");
            document.write("<li class='hide'>");
            document.write("<h2>Another Headline</h2>");
            document.write("<a href='#'><img class='iw_tst' src='/_layouts/transgrid.portal.website/images/slideshow3.jpg' alt='Click to play video' /></a>");
            document.write("<p class='smalltext'>Meet the workforce taking TransGrid into the future. Ipsum dolor sit amet etur.");
            document.write("<a class='boldtext' href='#'>Read More</a></p>");
            document.write("</li>");
            document.write("</ul>");
        }



        function OpenCenteredPopup(page, name, width, height, scroll) {
            var leftPosition = (screen.width) ? (screen.width - width) / 2 : 0;
            var topPosition = (screen.height) ? (screen.height - height) / 2 : 0;
            settings = 'location=no,height=' + height + ',width=' + width + ',top=' + topPosition + ',left=' + leftPosition + ',scrollbars=' + scroll + ',resizable=no';
            window.open(page + "?url=" + window.location.href, name, settings);
        }

        function resizeFrame(f, width) {
            //f.width = '485px';
            f.width = width;
            f.style.height = (f.document.body.scrollHeight + 20) + 'px';
        }
        
        function setStyle(x) {
            document.getElementById(x).style.color = "#333333";
        }