
// ItemDetails.js

// global variables
var contentObj = null;
var detailsTop = 250;
var detailsLeft = 100;
var detailsWidth = 500;
var detailsHeight = 400;
var keepOnTop = false;
var useMouseOver = false;

// strings
var MSG_POPUP_TITLE = "Item Details";
var MSG_POPUP_LOADING = "Loading details...";

function getMousePos(evt)
{
    var e = (window.event ? window.event : evt);
    if (e.pageX)
    {
        detailsLeft = e.pageX;
        detailsTop = e.pageY;
    }
    else if(e.clientX)
    {
        detailsLeft = e.clientX + document.documentElement.scrollLeft;
        detailsTop = e.clientY + document.documentElement.scrollTop;
    }
         
    // adjust top position
    var detailsBottom = detailsTop + detailsHeight;
    if (detailsBottom > document.documentElement.scrollTop + document.documentElement.clientHeight)
    {
        detailsTop = document.documentElement.scrollTop + document.documentElement.clientHeight - detailsHeight - 15;
    }
}

function centerWindow(id, w, h)
{
    detailsLeft = document.documentElement.scrollLeft + (document.documentElement.clientWidth - w)/2;
    detailsTop = document.documentElement.scrollTop + (document.documentElement.clientHeight - h)/2; 
    if (detailsLeft < 0) detailsLeft = 10;
    if (detailsTop < 0) detailsTop = 10;  
    movePopup(id, detailsLeft, detailsTop);
}

////////////////////////////////////////////////
function showItemDetails(id, url, evt)
{
    getMousePos(evt);
    
    keepOnTop = true;
    doShowItemDetails(id, url);
}

function showItemDetails_over(id, url, evt)
{
    if (useMouseOver)
    {    
        getMousePos(evt);
        
        keepOnTop = false;
        setTimeout("doShowItemDetails('" + id + "','" + url + "');", 1000);
    }
}

function showItemDetails_out(id, url, evt)
{
    if (useMouseOver && !keepOnTop)
    {
        hidebox("itemDetails");
    }
}

function doShowItemDetails(id, url)
{
    if (contentObj == null)
    {
        contentObj = new popUp(detailsLeft, detailsTop, detailsWidth, detailsHeight, 
            "itemDetails", // ID
            MSG_POPUP_LOADING, // initial content
            "#FFFFFF", //back color
            "#000000", //text color
            "11px arial,helvetica,sans-serif", //font
            MSG_POPUP_TITLE, //title
            "#DDDDBB", //title back color
            "#FF5500", //title text color
            "#DDDDBB", //border color
            "#DDDDBB", //scroll color
            "#AAAAAA", //shadow color
            false, //show on start
            true, // can drag
            false, // can resize
            false, // old OK ?
            false, // has external content
            false, // pop once 
            "", // minimize image
            "", // maximize image
            "/Image/close.gif", // close image
            "", //resize image
            true // fade when closing
            );
    }
     
    hidebox("itemDetails");
    movePopup("itemDetails", detailsLeft + 10, detailsTop + 10);
    changecontent("itemDetails", MSG_POPUP_LOADING);
    fadeboxin("itemDetails");        
    
    var req = new Request();
    req.Send(url, ItemDetails_OnData);
}

function ItemDetails_OnData(data)
{
    changecontent("itemDetails", data);
}

///////////////////////////////////////////////////////////////////////
var boxObj = null;
var boxObj1 = null;

function CreateBox(id, title, w, h, external)
{    
    var popupObj = new popUp(detailsLeft, detailsTop, w, h, 
        id, // ID
        MSG_POPUP_LOADING, // initial content
        "#FFFFFF", //back color
        "#000000", //text color
        "11px arial,helvetica,sans-serif", //font
        title, //title
        "#D7D7D7", //title back color
        "#000000", //title text color
        "#D7D7D7", //border color
        "#D7D7D7", //scroll color
        "#AAAAAA", //shadow color
        false, //show on start
        true, // can drag
        false, // can resize
        false, // old OK ?
        external, // has external content
        false, // pop once 
        "", // minimize image
        "", // maximize image
        "/Image/close.gif", // close image
        "", //resize image
        false // fade when closing
        ); 
    return popupObj;           
}


/////////////////////////////////////////
// called by clicking "Email to Advertiser"
var sendEmailToAdvertiser = null;
function EmailToAdvertiser_Handler(url, title, evt)
{
    getMousePos(evt);
    
    detailsWidth = 640;
    detailsHeight = 480;
    
    if (sendEmailToAdvertiser == null)
    {
        sendEmailToAdvertiser = CreateBox("sendEmailtoAdvertiser", title, detailsWidth, detailsHeight, false);
    }
    
    centerWindow("sendEmailtoAdvertiser", detailsWidth, detailsHeight); 
    showbox("sendEmailtoAdvertiser");
    
    var req = new Request();
    req.Send(url, EmailToAdvertiser_OnData);
              
}

function EmailToAdvertiser_OnData(data)
{   
    changecontent("sendEmailtoAdvertiser", data);    
}

/////////////////////////////////////////
// called by clicking "View Large Image"
function ViewLargeImage_Handler(url, title, evt)
{    
    getMousePos(evt);
    
    detailsWidth = 600;
    detailsHeight = 600;
        
    if (boxObj == null)
    {
        boxObj = CreateBox("largeView", title, detailsWidth, detailsHeight, false);    
    }
    
    centerWindow("largeView", detailsWidth, detailsHeight);    
    changecontent("largeView", "<TABLE width='100%' height='100%'><TR><TD align='center' valign='middle'><IMG src='" + url + "'/></TD></TR></TABLE>");
    showbox("largeView");
}

/////////////////////////////////////////
// called by clicking "View Whole Ad"
function ViewWholeAd_Handler(url, title, evt)
{    
    getMousePos(evt);
    
    detailsWidth = 600;
    detailsHeight = 600;
    
    if (boxObj1 == null)
    {
        boxObj1 = CreateBox("adView", title, detailsWidth, detailsHeight, true);
    }
           
    centerWindow("adView", detailsWidth, detailsHeight);
    changecontent("adView", url);
    showbox("adView");
}

/////////////////////////////////////////
// called by clicking "Email to Friend"
var sendEmailToFriend = null;
function EmailToFriend_Handler(url, title, evt)
{
    getMousePos(evt);
    
    detailsWidth = 640;
    detailsHeight = 480;
    
    if (sendEmailToFriend == null)
    {
        sendEmailToFriend = CreateBox("sendEmailToFriend", title, detailsWidth, detailsHeight, false);
    }
    
    centerWindow("sendEmailToFriend", detailsWidth, detailsHeight); 
    showbox("sendEmailToFriend");
    
    var req = new Request();
    req.Send(url, EmailToFriend_OnData);
              
}

function EmailToFriend_OnData(data)
{   
    changecontent("sendEmailToFriend", data);    
}

/////////////////////////////////////////
// called by clicking "Print item"
var boxPrint = null;
function PrintItem_Handler(url, title, evt)
{
    getMousePos(evt);
    
    detailsWidth = 640;
    detailsHeight = 480;
    
    if (boxPrint == null)
    {
        boxPrint = CreateBox("printItem", title, detailsWidth, detailsHeight, false);
    }
    
    centerWindow("printItem", detailsWidth, detailsHeight); 
    showbox("printItem");
    
    var req = new Request();
    req.Send(url, PrintItem_OnData);
              
}

function PrintItem_OnData(data)
{    
    changecontent("printItem", data);    
}

