
var pcd={ 
displayed:false,

on:function(popcid){ 
var pcd_layer = document.getElementById(popcid);
var disty = 5;
var distx = 5;
this.displayed = true; 
pcd_layer.style.display = "block";
pcd_layer.style.visibility = "visible";
}, 
off:function(popcid){ 
var pcd_layer = document.getElementById(popcid);
this.displayed = false; 
pcd_layer.style.visibility = "hidden";
pcd_layer.style.display = "none";
}, 
move:function(popcid, evt){ 
var pcd_layer = document.getElementById(popcid);
var disty = 5;
var distx = 5;

e = evt || window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if (targ.nodeType == 3) targ = targ.parentNode;
var tgt = document.getElementById("pagewrapper");
targ2 = targ.parentNode;

// Get top left co-ords of div
var divX = findPosX(tgt);
var divY = findPosY(tgt);

var divX2 = findPosX(targ2);
var divY2 = findPosY(targ2);

var divY3 = findPosY(targ);

// Workout if page has been scrolled
var pXo = getPXoffset();
var pYo = getPYoffset();

// Subtract div co-ords from event co-ords
var clickX = divX;
var clickY = divY;



if (document.addEventListener) { 
pcd_layer.style.left = ((evt.clientX + window.pageXOffset)+distx - clickX) + 'px'; 
pcd_layer.style.top = ((evt.clientY + window.pageYOffset)+disty - clickY) + 'px'; 

} 
else if (window.opera) { 
pcd_layer.style.left = ((evt.clientX + window.pageXOffset)+distx - clickX) + 'px'; 
pcd_layer.style.top = ((evt.clientY + window.pageYOffset)+disty - clickY) + 'px'; 

} 
else if (window.event) { 
if (document.compatMode && document.compatMode!= 'BackCompat') { 
pcd_layer.style.left = ((event.clientX + document.documentElement.scrollLeft)+distx - clickX) + 'px'; 
pcd_layer.style.top = ((event.clientY + document.documentElement.scrollTop)+disty - clickY) + 'px'; 

} 
else { 

pcd_layer.style.left = ((event.clientX + document.body.scrollLeft)- (clickX) +distx - pXo) + 'px'; 
pcd_layer.style.top = ((event.clientY + pYo)+disty - clickY) + 'px'; 

} 

} 
} 
} 

function setParent(el, newParent) {
newParent.appendChild(el);
}




function findPosX(obj) {
var curleft = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
} else if (obj.x) {
curleft += obj.x;
}
return curleft;
}

function findPosY(obj) {
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curtop += obj.offsetTop
obj = obj.offsetParent;
}
} else if (obj.y) {
curtop += obj.y;
}
return curtop;
}

function getPXoffset(){
if (self.pageXOffset) { // all except Explorer
return self.pageXOffset;
} else if (document.documentElement
&& document.documentElement.scrollTop) {// Explorer 6 Strict
return document.documentElement.scrollLeft;
} else if (document.body) { // all other Explorers
return document.body.scrollLeft;
}
}

function getPYoffset(){
if (self.pageYOffset) { // all except Explorer
return self.pageYOffset;
} else if (document.documentElement
&& document.documentElement.scrollTop) {// Explorer 6 Strict
return document.documentElement.scrollTop;
} else if (document.body) { // all other Explorers
return document.body.scrollTop;
}
}
 
 
