        function drawTemporaryTable() {
            var table = document.createElement('table');
            table.id = 'hidden_table';
            table.border = 1;
            var cellpadding = document.createAttribute('cellpadding');
            cellpadding.nodeValue = 0;
            table.setAttributeNode(cellpadding);
            var cellspacing = document.createAttribute('cellspacing');
            cellspacing.nodeValue = 0;
            table.setAttributeNode(cellspacing);
            document.body.appendChild(table);

            var tbody = document.createElement('tbody');
            tbody.id = 'grid_body';
            table.appendChild(tbody);

            var tr = document.createElement('tr');
            tr.id = 'temp_table_first_row';
            document.getElementById('grid_body').appendChild(tr);

            var td = document.createElement('td');
            td.id = 'temp_table_first_cell';
            document.getElementById('temp_table_first_row').appendChild(td);

            var strongTag = document.createElement('strong');
            strongTag.id = 'temp_table_strong_id';
            document.getElementById('temp_table_first_cell').appendChild(strongTag);

            var cellText = document.createTextNode(warrantyShortDescription);
            document.getElementById('temp_table_strong_id').appendChild(cellText);
        }

        function absPosition(obj) {
            var x = y = 0;
            while(obj) {
                x += obj.offsetLeft;
                y += obj.offsetTop;
                obj = obj.offsetParent;
            }
            return {x:x, y:y};
        }

        function showPopUpWarranty() {
            drawTemporaryTable();
            var ourDiv = document.getElementById("link_warranty_id");
            var xPos = absPosition(ourDiv).x;
            var yPos = absPosition(ourDiv).y;

            document.getElementById("hidden_table").style.display = "";
            var offsetWidth = document.getElementById("temp_table_first_cell").offsetWidth;
            document.getElementById("hidden_table").style.display = "none";

            /* Next block determines whether preliminary position
             * of popUp is correct. If it's not, it will be corrected.
             * popUpWidth is global variable.
             */
            var preliminaryPos = xPos + offsetWidth + 10 + popUpWidth;
            var currentWindowWidth = getWindowWidth();
            var pixelShortage = 0;
            if (preliminaryPos > currentWindowWidth) {
                pixelShortage = preliminaryPos - currentWindowWidth + 25;
            }

            document.getElementById("warranty_descript_id").style.left = xPos + offsetWidth + 10 - pixelShortage;
            document.getElementById("warranty_descript_id").style.top = yPos - 138 - 18;
            document.getElementById("warranty_descript_id").style.visibility = "visible";
            showHideFlag++;
            var bodyObj = document.getElementById('hidden_table');
            document.body.removeChild(bodyObj);
        }

        function getWindowWidth() {
            if (window.innerWidth) {
                return window.innerWidth;
            }
            if ((document.body.clientWidth) && (!window.innerWidth)) {
                return document.body.clientWidth;
            }
        }

        function mouse_changes(elem_id_1) {
            //if Opera Netscape 6 Netscape 4x Mozilla
            if (window.innerWidth || window.innerHeight) {
                document.getElementById(elem_id_1).style.cursor='pointer';
            }
            // if IE
            if ((document.body.clientWidth || document.body.clientHeight) &&
                (!window.innerWidth || !window.innerHeight)) {
                document.getElementById(elem_id_1).style.cursor='hand';
            }
        }

        function addListener(element, type, expression, bubbling) {
            bubbling = bubbling || false;
            if(window.addEventListener) { // Standard
                element.addEventListener(type, expression, bubbling);
                return true;
            }
            else if(window.attachEvent) { // IE
                element.attachEvent('on' + type, expression);
                return true;
            }
            else return false;
        }

        function hidePopUp() {
            if (document.getElementById('warranty_descript_id').style.visibility=='visible' && (showHideFlag % 2)) {
                document.getElementById('warranty_descript_id').style.visibility='hidden';
            }
            showHideFlag++
        }

        function setShowHideFlag(val) {
            showHideFlag = val;
        }


        function vertical_alignment() {
            drawTemporaryTable();
            var ourDiv = document.getElementById("link_warranty_id");
            var xPos = absPosition(ourDiv).x;
            var yPos = absPosition(ourDiv).y;
            document.getElementById("hidden_table").style.display = "";
            var offsetWidth = document.getElementById("temp_table_first_cell").offsetWidth;
            document.getElementById("hidden_table").style.display = "none";

            var preliminaryPos = xPos + offsetWidth + 10 + popUpWidth;
            var currentWindowWidth = getWindowWidth();
            var pixelShortage = 0;
            if (preliminaryPos > currentWindowWidth) {
                pixelShortage = preliminaryPos - currentWindowWidth + 25;
            }

            document.getElementById("warranty_descript_id").style.left = xPos + offsetWidth + 10 - pixelShortage;
            document.getElementById("warranty_descript_id").style.top = yPos - 138 - 18;
            var bodyObj = document.getElementById('hidden_table');
            document.body.removeChild(bodyObj);
        }

        function onResizeChangePopUpPosition() {
            if(window.addEventListener) { // Standard
               document.body.setAttribute("onResize", "vertical_alignment()");
            }
            else if(window.attachEvent) { // IE
               var bodyObj = document.body;
               bodyObj.onresize = vertical_alignment;
            }
        }
