﻿/*
    ChiPV 20080812 
*/
var arrCompanyDetail = new Array();
arrCompanyDetail["D28"] = new Array();
arrCompanyDetail["D28"]["CompanyName"] = "D28 Com1";
arrCompanyDetail["D28"]["StandNo"] = "D281";

function showDetail(evt, isShow, sKey)
{
    var DetailDiv = document.getElementById("DetailDiv");
    
    if (isShow == undefined)
    {
        if (DetailDiv.style.display == "none")
            isShow = true;
        else 
            isShow = false;
        
        showDetail(sKey,isShow)
        return;
    }
    
    if (isShow)
    {
        var DetailDivText = document.getElementById("DetailDivText");
        var tmpCompanyDetail = arrCompanyDetail[sKey];
        var tmpHTML = "<table width='100%' >"
                +   "   <tr style='vertical-align:top'>"
                +   "       <td>Click for more detail</td>"
                +   "   </tr>"
                +   "   <tr style='vertical-align:top'>"
                +   "       <td>" + tmpCompanyDetail["CompanyName"] + "</td>"
                +   "   </tr>";
        if (tmpCompanyDetail["CompanyPhone"] != ""  && tmpCompanyDetail["CompanyPhone"] != undefined)
            tmpHTML += "   <tr style='vertical-align:top'>"
                +   "       <td>" + tmpCompanyDetail["CompanyPhone"] + "</td>"
                +   "   </tr>";
        if (tmpCompanyDetail["Email"] != "" && tmpCompanyDetail["Email"] != undefined)
            tmpHTML += "   <tr style='vertical-align:top'>"
                +   "       <td>" + tmpCompanyDetail["Email"] + "</td>"
                +   "   </tr>";
        if (tmpCompanyDetail["WebSite"] != ""  && tmpCompanyDetail["WebSite"] != undefined)
            tmpHTML += "   <tr style='vertical-align:top'>"
                +   "       <td>" + tmpCompanyDetail["WebSite"] + "</td>"
                +   "   </tr>"
                
        tmpHTML +=   "</table>";
        
        var tmpMousePos = getMousePos(evt);
        var tmpClientDimension = getClientDimension();
        var scrollPos = getScrollBarPos();
        
        //show the DetailDiv to get it's offsetWidth & offsetHeight then hide it
        DetailDiv.style.display = "";
        var divX, divY, divW, divH;
        divW = DetailDiv.offsetWidth;
        divH = DetailDiv.offsetHeight;
        DetailDiv.style.display = "none";
        
        ((tmpMousePos.x + divW) > scrollPos.x + tmpClientDimension.x)? divX = scrollPos.x + tmpClientDimension.x - divW : divX = tmpMousePos.x;
        ((tmpMousePos.y + divH) > scrollPos.y + tmpClientDimension.y)? divY = scrollPos.y + tmpClientDimension.y - divH : divY = tmpMousePos.y;
        
        DetailDiv.style.left = divX;
        DetailDiv.style.top = divY + 5;
        DetailDiv.style.display = "";
        DetailDivText.innerHTML = tmpHTML;
    }
    else
    {
        DetailDiv.style.display = "none";
    }
}

function calOffsetLeft(elem)
{
    return calOffset(elem,"offsetLeft");
}
        
function calOffsetTop(elem)
{
    return calOffset(elem,"offsetTop");
}

function calOffset(elem,attr)
{
    if (typeof elem == "string")
        elem = document.getElementById(elem);
    var el = elem;
    var offset = 0;
    while (el)
    {
        offset += el[attr];
        el = el.offsetParent;
    }
    return offset;
}

//get the mouse cursor position
function getMousePos(ev) 
{
    ev = (window.event) ? window.event : ev;
    if(ev.pageX || ev.pageY)
    {
        return {x:ev.pageX, y:ev.pageY};
    }
    else
    {
        //may be there is a different between IE 6 strict mode and normal mode
        var scrollPos = getScrollBarPos();
	    
        return {    x:ev.clientX + scrollPos.x - document.body.clientLeft,
                    y:ev.clientY + scrollPos.y  - document.body.clientTop 	};
    }
	
}


//get the page height
function getPageDimension()
{
    var x,y;
    var test1 = document.body.scrollHeight;
    var test2 = document.body.offsetHeight;
    if (test1 > test2) // all but Explorer Mac
    {
        x = document.body.scrollWidth;
        y = document.body.scrollHeight;
    }
    else // Explorer Mac;
         //would also work in Explorer 6 Strict, Mozilla and Safari
    {
        x = document.body.offsetWidth;
        y = document.body.offsetHeight;
    }
        
    var pageDimension = new Object();
    pageDimension.x = x;
    pageDimension.y = y;
    
    return pageDimension;
  
}

//get the scroll position
function getScrollBarPos()
{
    var scrollPos = new Object()
    if (self.pageYOffset) // all except Explorer
    {
        scrollPos.x = self.pageXOffset;
        scrollPos.y = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
        // Explorer 6 Strict
    {
        scrollPos.x = document.documentElement.scrollLeft;
        scrollPos.y = document.documentElement.scrollTop;
	 
    }
    else if (document.body) // all other Explorers
    {
        scrollPos.x = document.body.scrollLeft;
        scrollPos.y = document.body.scrollTop;
	 
    }
    
    return scrollPos;
}

//get the client screen dimension
function getClientDimension()
{
    var clientDimension = new Object();
    if (self.innerHeight) // all except Explorer
    {
	    clientDimension.x = self.innerWidth;
	    clientDimension.y = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight)
	    // Explorer 6 Strict Mode
    {
	    clientDimension.x = document.documentElement.clientWidth;
	    clientDimension.y = document.documentElement.clientHeight;
    }
    else if (document.body) // other Explorers
    {
	    clientDimension.x = document.body.clientWidth;
	    clientDimension.y = document.body.clientHeight;
    }
    
    return clientDimension;
}

