/*-------------------------------------------------------------------- 
 * JQuery Plugin: "EqualHeights"
 * by:	Scott Jehl, Todd Parker, Maggie Costello Wachs (http://www.filamentgroup.com)
 *
 * Copyright (c) 2008 Filament Group
 * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
 *
 * Description: Compares the heights or widths of the top-level children of a provided element 
 		and sets their min-height to the tallest height (or width to widest width). Sets in em units 
 		by default if pxToEm() method is available.
 * Dependencies: jQuery library, pxToEm method	(article: 
		http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/)							  
 * Usage Example: $(element).equalHeights();
  		Optional: to set min-height in px, pass a true argument: $(element).equalHeights(true);
 * Version: 2.0, 08.01.2008
--------------------------------------------------------------------*/

$.fn.equalHeights = function(px) {
	$(this).each(function(){
		var currentTallest = 0;
		$(this).children().each(function(i){
			if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
		});
		if (!px || !Number.prototype.pxToEm) currentTallest = currentTallest.pxToEm(); //use ems unless px is specified
		// for ie6, set height since min-height isn't supported
		if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'height': currentTallest}); }
		$(this).children().css({'min-height': currentTallest}); 
	});
	return this;
};
      //get position x y.
 function getElementPos(elementId) {
         var ua = navigator.userAgent.toLowerCase();
         var isOpera = (ua.indexOf('opera') != -1);
         var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
         var el =elementId ;
         if(el.parentNode === null || el.style.display == 'none') {
          return false;
         }      
         var parent = null;
         var pos = [];     
         var box;     
         if(el.getBoundingClientRect)    //IE
         {         
          box = el.getBoundingClientRect();
          var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
          var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
          return {x:box.left + scrollLeft, y:box.top + scrollTop};
         }else if(document.getBoxObjectFor)    // gecko    
         {
          box = document.getBoxObjectFor(el); 
          var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0; 
          var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0; 
          pos = [box.x - borderLeft, box.y - borderTop];
         } else    // safari & opera    
         {
          pos = [el.offsetLeft, el.offsetTop];  
          parent = el.offsetParent;     
          if (parent != el) { 
           while (parent) {  
            pos[0] += parent.offsetLeft; 
            pos[1] += parent.offsetTop; 
            parent = parent.offsetParent;
           }  
          }   
          if (ua.indexOf('opera') != -1 || ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )) { 
           pos[0] -= document.body.offsetLeft;
           pos[1] -= document.body.offsetTop;         
          }    
         }              
         if (el.parentNode) { 
            parent = el.parentNode;
           } else {
            parent = null;
           }
         while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') { 
          pos[0] -= parent.scrollLeft;
          pos[1] -= parent.scrollTop;
          if (parent.parentNode) {
           parent = parent.parentNode;
          } else {
           parent = null;
          }
         }
         return {x:pos[0], y:pos[1]};
   }
   
   
   function getBody(){
    var Body;
    if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
       Body = document.documentElement;
    }
    else if (typeof document.body != 'undefined') {
       Body = document.body;
    }
    return Body;
    }

  function getScrollPos(){
  var t,l;
  if (typeof window.pageYOffset != 'undefined'){
    t = window.pageYOffset;
    l = window.pageXOffset;
  }
  else{
   t = getBody().scrollTop;
   l = getBody().scrollLeft;
  }
  
  return {t:t,l:l};
}