|
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 User : jackjohn ( 502) PHP Version : 5.3.17 Disable Function : NONE Directory : /home/jackjohn/public_html/shopsite-images/en-ZA/javascript/ |
Upload File : |
// Code obtained from http://www.mattkruse.com/javascript/colorpicker
// getAnchorPosition(anchorname)
// This function returns an object having .x and .y properties which are the
// coordinates of the named anchor, relative to the page.
function getAnchorPosition(anchorname)
{
var coordinates = new Object();
var useWindow = false;
var x = 0, y = 0;
// Browser capability sniffing
var use_gebi = false, use_css = false, use_layers = false;
if (document.getElementById)
use_gebi = true;
else
if (document.all)
use_css = true;
else
if (document.layers)
use_layers = true;
// Logic to find position
if (use_gebi && document.all)
{
x = AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
y = AnchorPosition_getPageOffsetTop(document.all[anchorname]);
}
else
if (use_gebi)
{
var o = document.getElementById(anchorname);
x = AnchorPosition_getPageOffsetLeft(o);
y = AnchorPosition_getPageOffsetTop(o);
}
else
if (use_css)
{
x = AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
y = AnchorPosition_getPageOffsetTop(document.all[anchorname]);
}
else
if (use_layers)
{
var found = 0;
for (var i = 0; i < document.anchors.length; i++)
{
if (document.anchors[i].name == anchorname)
{
found = 1;
break;
}
}
if (found == 0)
{
coordinates.x = 0;
coordinates.y = 0;
return coordinates;
}
x = document.anchors[i].x;
y = document.anchors[i].y;
}
else
{
coordinates.x = 0;
coordinates.y = 0;
return coordinates;
}
coordinates.x = x;
coordinates.y = y;
return coordinates;
}
// getAnchorWindowPosition(anchorname)
// This function returns an object having .x and .y properties which are the
// coordinates of the named anchor, relative to the window
function getAnchorWindowPosition(anchorname)
{
var coordinates = getAnchorPosition(anchorname);
var x = 0, y = 0;
if (document.getElementById)
{
if (isNaN(window.screenX))
{
x = coordinates.x - document.body.scrollLeft + window.screenLeft;
y = coordinates.y - document.body.scrollTop + window.screenTop;
}
else
{
x = coordinates.x + window.screenX + (window.outerWidth - window.innerWidth) - window.pageXOffset;
y = coordinates.y + window.screenY + (window.outerHeight - 24 - window.innerHeight) - window.pageYOffset;
}
}
else
if (document.all)
{
x = coordinates.x - document.body.scrollLeft + window.screenLeft;
y = coordinates.y - document.body.scrollTop + window.screenTop;
}
else
if (document.layers)
{
x = coordinates.x + window.screenX + (window.outerWidth - window.innerWidth) - window.pageXOffset;
y = coordinates.y + window.screenY + (window.outerHeight - 24 - window.innerHeight) - window.pageYOffset;
}
coordinates.x = x;
coordinates.y = y;
return coordinates;
}
// Functions for IE to get the position of an object
function AnchorPosition_getPageOffsetLeft(el)
{
var ol = el.offsetLeft;
while ((el = el.offsetParent) != null)
ol += el.offsetLeft;
return ol;
}
function AnchorPosition_getWindowOffsetLeft(el)
{
return AnchorPosition_getPageOffsetLeft(el) - document.body.scrollLeft;
}
function AnchorPosition_getPageOffsetTop(el)
{
var ot = el.offsetTop;
while((el = el.offsetParent) != null)
ot += el.offsetTop;
return ot;
}
function AnchorPosition_getWindowOffsetTop(el)
{
return AnchorPosition_getPageOffsetTop(el) - document.body.scrollTop;
}