var IE = document.all?true:false
var mposX = 0, mposY = 2000;
var scrOfX = 0, scrOfY = 0;
var scrWidth = 0, scrHeight = 0;
var previewinterval = "";

function getScreenSize() 
{     
    if( typeof( window.innerWidth ) == 'number' ) 
    {
        //Non-IE
        scrWidth = window.innerWidth;
        scrHeight = window.innerHeight;        
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        scrWidth = document.documentElement.clientWidth;
        scrHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        scrWidth = document.body.clientWidth;
        scrHeight = document.body.clientHeight;
    }          
}
  
function getScrollXY() 
{    
    scrOfX = (document.documentElement && document.documentElement.scrollLeft) ?  document.documentElement.scrollLeft : document.body.scrollLeft;
    scrOfY = (document.documentElement && document.documentElement.scrollTop) ?  document.documentElement.scrollTop : document.body.scrollTop;
}       

function getMouseXY(e) 
{ 
    //http://javascript.about.com/library/blmousepos.htm
    getScrollXY();
       
    if (IE)
    {        
        mposX = event.clientX + scrOfX;
        mposY = event.clientY + scrOfY;
    }    
    else 
    {      
        mposX = e.clientX + scrOfX;
        mposY = e.clientY + scrOfY;
          
        //original...   
        //mposX = e.pageX;
        //mposY = e.pageY;              
    }
    // catch possible negative values
    if (mposX < 0){mposX = 0}
    if (mposY < 0){mposY = 0}  
}  
    
// returns the object for the given id
function obj(id)
{
    return document.getElementById(id);
}

function objFindAttribute(name)
{           
    var objArea = document.getElementsByTagName("area");
    var len = objArea.length;
    var xPos;
    var yPos;
    var dashPos;
    var attValue;
    
    for(var i = 0; i < len; i++)
    {
        if(objArea[i].getAttribute(name))
        {
            attValue = objArea[i].getAttribute(name);
            dashPos = attValue.indexOf("-");
            
            xPos = attValue.substring(0, dashPos);
            yPos = attValue.substring((dashPos + 1), attValue.length);
            alert(yPos);
        }
    }            
}

function showImagePreview(source) 
{
    if(source.length > 0) 
    {        
        obj('previewimage').src = source;
        obj('previewimagebox').style.display = 'block';        
    }
    
    if(previewinterval != "") 
    {
        clearInterval(previewinterval);
        previewinterval = "";
    }
}

// delayer function
function setImagePreview(source) 
{
    if(previewinterval == "") 
    {
        obj('previewimage').src = '/images/loading.gif';
        previewinterval = setInterval('showImagePreview(\''+source+'\')', 500);
    }
}


// hide image preview box
function clearImagePreview() 
{
    obj('previewimagebox').style.display = 'none';
    getScrollXY();
    getScreenSize();

    if(previewinterval != "") 
    {
        clearInterval(previewinterval);
        previewinterval = "";
    }
}

// Set the mouse position
function setMousePos(e) 
{
    if (!e) var e = window.event;   
    getScreenSize();     
    getScrollXY();      
    //getMouseXY();   
               
    //Mouse in TOP LEFT QUADRANT
    if( (mposX < (scrWidth / 2)) && (mposY < (scrHeight / 2)) )
    {       
        obj('previewimagebox').style.left = (mposX + 2) + "px";
        obj('previewimagebox').style.top = (mposY + 2) + "px";
    }
    
    //Mouse in BOTTOM LEFT QUADRANT
    if( (mposX < (scrWidth / 2)) && (mposY > (scrHeight / 2)) )
    {    
        obj('previewimagebox').style.left = (mposX + 2) + "px";
        obj('previewimagebox').style.top = (mposY - 4) - obj('previewimage').height + "px";
    }
    
    //Mouse in TOP RIGHT QUADRANT
    if( (mposX > (scrWidth / 2)) && (mposY < (scrHeight / 2)) )
    {    
        obj('previewimagebox').style.left = (mposX - 4) - obj('previewimage').width + "px";
        obj('previewimagebox').style.top = (mposY + 2) + "px";
    }
    
    //Mouse in BOTTOM RIGHT QUADRANT
    if( (mposX > (scrWidth / 2)) && (mposY > (scrHeight / 2)) )
    {    
        obj('previewimagebox').style.left = (mposX - 4) - obj('previewimage').width + "px";
        obj('previewimagebox').style.top = (mposY - 4) - obj('previewimage').height + "px";
    } 
}
