

function getXY(obj, targetParent, ignoreWindowScroll){
  var XY= [0,0];
  var isFirst= 'true';
  
  while(obj.offsetParent){

    XY[0]+= (obj.offsetLeft);
    XY[1]+= (obj.offsetTop);
    
	
	
    //adjust for scrolling
    if(obj.scrollLeft)
      XY[0]-= obj.scrollLeft;
    if(obj.scrollTop)
      XY[1]-= obj.scrollTop;
    //adjust for border
    if(!isFirst){
      if((obj.style && obj.style.borderLeftWidth) || getCSSValue(obj.className,'borderLeftWidth')){
        
		if((obj.style && obj.style.borderLeftWidth)){
          XY[0]+= parseInt(obj.style.borderLeftWidth);
		} else if(parseInt(getCSSValue(obj.className,'borderLeftWidth'))){
          XY[0]+= parseInt(getCSSValue(obj.className,'borderLeftWidth'));
		}
      }
    } isFirst= false;
   
    if(targetParent){
      if(obj.offsetParent && obj.offsetParent!= targetParent)
        obj= obj.offsetParent;
      else
        break;
    } else {
      if(obj.offsetParent)
        obj= obj.offsetParent;
    }
  }
	
  if(!ignoreWindowScroll){
  	if(typeof(document.body.scrollLeft)!= 'undefined'){
	 	XY[0]-= document.body.scrollLeft;
	  	XY[1]-= document.body.scrollTop;
	} else if(typeof(window.pageXOffset)!= 'undefined'){
	 	XY[0]-= window.pageXOffset;
	  	XY[1]-= window.pageXOffset;
	}
  }
 
  //alert(XY);
  return(XY);
}


function getCSSValue(className,cssProperty,styleSheet){
  var cssValue= false;
  var ss = document.styleSheets[0];

	if (navigator.appName=="Netscape"){
		//cssRules for mozilla
 		 for(i= 0; i< ss.cssRules[0].length; i++){
			if(ss.rules[i].selectorText== ('.'+className)){
				cssValue= ss.rules[i].style[cssProperty];
				break;
			}
		}
 	 } else {
		//cssRules for explorer
 	 	for(i= 0; i< ss.rules.length; i++){
			if(ss.rules[i].selectorText== ('.'+className)){
				cssValue= ss.rules[i].style[cssProperty];
				break;
   			}
 		}
 	}
 	 	
  return(cssValue);
}