﻿// JScript File

function hideDiv(divName)
{
    var dv = document.getElementById(divName);
    if (dv != null)
        dv.style.display = 'none';
}

function doLink(url)
{
    window.location = url;
}

function trim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function ltrim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+/,"");
}

function rtrim(stringToTrim)
{
	return stringToTrim.replace(/\s+$/,"");
}

var canPopupProductMenu = false;

function productMenuAvailable(objID, isAvailable)
{
    canPopupProductMenu = isAvailable;
    popupMenu(objID, isAvailable);
}

function hoverProductButton(objID, display)
{
    if (display)
    {
        document.getElementById('aProducts').setAttribute("class", "left-side-hover");
        document.getElementById('aProducts').setAttribute("className", "left-side-hover");
    }
    else
    {
        document.getElementById('aProducts').setAttribute("class", "left-side");
        document.getElementById('aProducts').setAttribute("className", "left-side");
    }
    popupMenu(objID, display);
}

function popupMenu(objID, display)
{       
    
    if (!canPopupProductMenu)
        return;
        
    var obj = document.getElementById(objID);
    var obj2 = document.getElementById(objID + '-dropshadow');
    
    if (display)
    {       
        document.getElementById('aProducts').setAttribute("class", "left-side-hover");
        document.getElementById('aProducts').setAttribute("className", "left-side-hover");

        obj.style.display = 'block';
        obj2.style.display = 'block';
    }
    else
    {
        document.getElementById('aProducts').setAttribute("class", "left-side");
        document.getElementById('aProducts').setAttribute("className", "left-side");


        //canPopupProductMenu = false;
        obj.style.display = 'none';
        obj2.style.display = 'none';
    }
}

var lastPopupMenuID = '';

function closePopup(divID)
{
    var outside = document.getElementById('divPopupOutside');
    var inside = document.getElementById(divID);
    var modal = document.getElementById('divPopupModal');
    
    outside.style.display = 'none';
    inside.style.display = 'none';
    modal.style.display = 'none';
}

function popup(divID, wid, isover, ref, ismodal)
{
    var outside = document.getElementById('divPopupOutside');
    var inside = document.getElementById(divID);
    var modal = document.getElementById('divPopupModal');
    
    if (isover)
    {    

        if (lastPopupMenuID != '')
        {
            closePopup(lastPopupMenuID);
        }
                
        lastPopupMenuID = divID;
        
        changeOpac(0, 'divPopupOutside');
        changeOpac(0, divID);
        changeOpac(0, 'divPopupModal');
        
        outside.style.display = 'block';
        inside.style.display = 'block';   
        if (ismodal)
            modal.style.display = 'block';

        var border = 10;
        
        var iTop = 0;
        var iWidth = wid;
        var iLeft =  390 - (iWidth/2);
                
        inside.style.left = iLeft + 'px';
        inside.style.width = iWidth + 'px';
               
                
        //Calculate the TOP
        if (ref != '')
        {
            var refObj = document.getElementById(ref);
            iTop = findPosY(refObj);
            iTop = iTop - (inside.offsetHeight/2);
        }     
        else
        {
            iTop = 0;
        }    
        
        var popupBottom = inside.offsetHeight + iTop;
        
        var mainContainer = document.getElementById('main-content');
        
        var absBottom = mainContainer.offsetHeight + findPosY(mainContainer);
               
        if (popupBottom > absBottom)
            iTop = absBottom - inside.offsetHeight - 30;
         
        if (iTop < 125)
            iTop = 125;
            
        inside.style.top = iTop + 'px';
        
        //End of TOP Calculation

        var oTop = iTop - border;
        var oLeft = iLeft - border;
        var oWidth =  inside.offsetWidth;
        var oHeight = inside.offsetHeight;

        outside.style.top = oTop + 'px';
        outside.style.left = oLeft + 'px';
        outside.style.width = oWidth + (border*2) + 'px';
        outside.style.height = oHeight + (border*2) + 'px';
        
        opacity('divPopupOutside', 0, 80, 400);
        opacity(divID, 0, 100, 400);       
        opacity('divPopupModal', 0, 5, 400);
        
    }
    else
    {   
        closePopup(divID);          
    }  
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 



function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }