jW7LvdaFG4vJCph
kSMQHd8qsTj6k8+tZS3AWymRmkity25jgEqM+p6Cjm1MUyvf+fc6f9phnxcr
gwITwvoxPfvUAeSRluZria5gGYkLLkxjIHbHtxURZruSyauS9zabnScqxLqO
Ju2COv4d64lnJKmC4W3XBZlCk+cen0z7Vq5tqzJ5V0HjzYrpLWMxxQu3KjP3
yOW57fp1q7eWt2kC+THG3zgZQ/eGec/4ipUdSL6FW6WZ5oXkilLkL5WCSyEn
qAati1eGa4YyMlzIeSOcjjPsTREp2ZVt/NuzLFtuDGpDDb91hn9DV4W0VrJ5
7tslYYR37jPQ/wCNZotSZIzFokFw4dQCXkRtoPpkjk8VmwLJdrMsDO8CgMSV
wOuOT3FSo3Gpq5DO3lzTRrHG8LRiIbxwD3+lYl5NaRrGL+Fp5hGgAUkeWc9c
+veoimwtc5m5geK6CFVki+ZkwPlGRwT+uaezXECRh45ABhjtGTnsRyOPahQ1
G2jO3iTzcWsM7A+Y5CY6njcfWi5CXttG4kniVZQjLKRlx1zxwODjPtV8raMm
i0xiYCJZZWjJyXRepyePXGKoLJL5Mltbh4baAlpI26Me+T69KSkRKOpk6peC
1iW5eJZQBuUhPlPyj72OmCeveuVnuHuykTL5LnL7z3+rdsdMVlWbuOOru9/6
7kM0cKMm5JSw2OSDxIfcDjgVlJui1b+0JLoxWrI3lLAuGDH7u7qCOuTxWekn
dr/glSnK5enkM7zLJHiWKQyea2VWVT/Wle7Kpp8ItpYbgK+FIBAyc5Pc+tbq
Q4ONx0Zu5YRcXD2kCW5GV3cPn+ED19/ers0QkmaWSF44ZAJXIfOV6gZ/X3rR
SfKXJ3Kb3d1LciXUJbW1hK8BEIHIGAPTqetZ6zOZ2LQMsCcwmNjk4OPrznNU
1YyTszpHvNNkhS8M1vBISqtn1IPXv1H1p1xLsybi9NmBgDevmgE9ce3I5qlJ
N3l/wQle7t+Jz1xfyX4mgnGbUYEkijaXw3A5+mc0XKbQhLZtRIX2qSx68YP9
K5ZtMuNx2WmjuZRK7yooXaASpOeD+WKR7Wa8ubZlcCLG2Q7uSO4Huc5rH3WU
02RSWdxHHcC0tY5pXJBMh4Rfx69uBV5tGz5Bu7qy8lFIdNwLk8dB1wM5pQgt
dRKLbuldnUWNhZ2NnHEkwuHhKtIVYDHuR0PBI/Osq4k0a1MsEbJcxOGkWNdu
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!THE TWELVE has been selected by Amazon's Rising Stars panel as a top debut for Aut    *p~0  %:  S   	178-4-26384                    ?      
   Horses/Ponies for Loanfor homesowInMainNav ShowInF2   
Horse RugskockoolingStablingeTypes LocaleID CurrSyEUR    Connemara Pony fully registered. A very nice 13.2 hands high pony. She is broken to harness and lightly ridden.Loads of potential. Connemara Pony fully registered. Any time she has been shown in hand she has always in the ribbons.This pony will make an ideal brood mare with her ancestors tracing back to Lady Ann Hempill's Tulira bloodlines.She is also a grandaughter of Abbeyleix Fionn.Alaskackheonderry       Ds P$*6*6*h#)h#)#        valley view stableshDressageTUDntreck & Togsck TrailapyngaryER                [ THE TWELVE has been selected by Amazon's Rising Stars panel as a top debut for Autumn 2009!THE TWELVE has been selected by Amazon's Rising Stars panel as a top debut for Aut     J  %:  S   	178-4-26384                    ?      
   
Horseboxesies for Loanfor homesowInMainNav ShowInF2   
Horse RugskockoolingStablingeTypes LocaleID CurrSyEUR    Connemara Pony fully registered. A very nice 13.2 hands high pony. She is broken to harness and lightly ridden.Loads of potential. Connemara Pony fully registered. Any time she has been shown in hand she has always in the ribbons.This pony will make an ideal brood mare with her ancestors tracing back to Lady Ann Hempill's Tulira bloodlines.She is also a grandaughter of Abbeyleix Fionn.Alaskackheonderry       Ds P$*6*6*h#)h#)#        valley view stableshDressageTUDntreck & Togsck TrailapyngaryER                [ THE TWELVE has been selected by Amazon's Rising Stars panel as a top debut for Autumn 2009!THE TWELVE has been selected by Amazon's Rising Stars panel as a top debut for Aut      %:  S   	178-4-26384                    ?      
   Horse Trailersfor Loanfor homesowInMainNav ShowInF2   
Horse RugskockoolingStelement and should have position (like absolute or relative).
	 *                             It will retreive the offset relative to this parent element. By default it is the body element.
	 *
	 * Also an object can be passed as the second paramater to
	 * catch the value of the return and continue the chain.
	 *
	 * For accurate calculations make sure to use pixel values for margins, borders and padding.
	 * 
	 * Known issues:
	 *  - Issue: A div positioned relative or static without any content before it and its parent will report an offsetTop of 0 in Safari
	 *    Workaround: Place content before the relative div ... and set height and width to 0 and overflow to hidden
	 *
	 * @example $("#testdiv").offset()
	 * @result { top: 100, left: 100, scrollTop: 10, scrollLeft: 10 }
	 *
	 * @example $("#testdiv").offset({ scroll: false })
	 * @result { top: 90, left: 90 }
	 *
	 * @example var offset = {}
	 * $("#testdiv").offset({ scroll: false }, offset)
	 * @result offset = { top: 90, left: 90 }
	 *
	 * @name offset
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	offset: function(options, returnObject) {
		if (!this[0]) error();
		var x = 0, y = 0, sl = 0, st = 0,
		    elem = this[0], parent = this[0], op, parPos, elemPos = $.css(elem, 'position'),
		    mo = $.browser.mozilla, ie = $.browser.msie, oa = $.browser.opera,
		    sf = $.browser.safari, sf3 = $.browser.safari && parseInt($.browser.version) > 520,
		    absparent = false, relparent = false, 
		    options = $.extend({ margin: true, border: false, padding: false, scroll: true, lite: false, relativeTo: document.body }, options || {});
		
		// Use offsetLite if lite option is true
		if (options.lite) return this.offsetLite(options, returnObject);
		// Get the HTMLElement if relativeTo is a jquery collection
		if (options.relativeTo.jquery) options.relativeTo = options.relativeTo[0];
		
		if (elem.tagName == 'BODY') {
			// Safari 2 is the only one to get offsetLeft and offsetTop properties of the body "correct"
			// Except they all mess up when the body is positioned absolute or relative
			x = elem.offsetLeft;
			y = elem.offsetTop;
			// Mozilla ignores margin and subtracts border from body element
			if (mo) {
				x += num(elem, 'marginLeft') + (num(elem, 'borderLeftWidth')*2);
				y += num(elem, 'marginTop')  + (num(elem, 'borderTopWidth') *2);
			} else
			// Opera ignores margin
			if (oa) {
				x += num(elem, 'marginLeft');
				y += num(elem, 'marginTop');
			} else
			// IE does not add the border in Standards Mode
			if ((ie && jQuery.boxModel)) {
				x += num(elem, 'borderLeftWidth');
				y += num(elem, 'borderTopWidth');
			} else
			// Safari 3 doesn't not include border or margin
			if (sf3) {
				x += num(elem, 'marginLeft') + num(elem, 'borderLeftWidth');
				y += num(elem, 'marginTop')  + num(elem, 'borderTopWidth');
			}
		} else {
			do {
				parPos = $.css(parent, 'position');
			
				x += parent.offsetLeft;
				y += parent.offsetTop;

				// Mozilla and IE do not add the border
				// Mozilla adds the border for table cells
				if ((mo && !parent.tagName.match(/^t[d|h]$/i)) || ie || sf3) {
					// add borders to offset
					x += num(parent, 'borderLeftWidth');
					y += num(parent, 'borderTopWidth');

					// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent
					if (mo && parPos == 'absolute') absparent = true;
					// IE does not include the border on the body if an element is position static and without an absolute or relative parent
					if (ie && parPos == 'relative') relparent = true;
				}

				op = parent.offsetParent || document.body;
				if (options.scroll || mo) {
					do {
						if (options.scroll) {
							// get scroll offsets
							sl += parent.scrollLeft;
							st += parent.scrollTop;
						}
						
						// Opera sometimes incorrectly reports scroll offset for elements with display set to table-row or inline
						if (oa && ($.css(parent, 'display') || '').match(/table-row|inline/)) {
							sl = sl - ((parent.scrollLeft == parent.offsetLeft) ? parent.scrollLeft : 0);
							st = st - ((parent.scrollTop == parent.offsetTop) ? parent.scrollTop : 0);
						}
				
						// Mozilla does not add the border for a parent that has overflow set to anything but visible
						if (mo && parent != elem && $.css(parent, 'overflow') != 'visible') {
							x += num(parent, 'borderLeftWidth');
							y += num(parent, 'borderTopWidth');
						}
				
						parent = parent.parentNode;
					} while (parent != op);
				}
				parent = op;
				
				// exit the loop if we are at the relativeTo option but not if it is the body or html tag
				if (parent == options.relativeTo && !(parent.tagName == 'BODY' || parent.tagName == 'HTML'))  {
					// Mozilla does not add the border for a parent that has overflow set to anything but visible
					if (mo && parent != elem && $.css(parent, 'overflow') != 'visible') {
						x += num(parent, 'borderLeftWidth');
						y += num(parent, 'borderTopWidth');
					}
					// Safari 2 and opera includes border on positioned parents
					if ( ((sf && !sf3) || oa) && parPos != 'static' ) {
						x -= num(op, 'borderLeftWidth');
						y -= num(op, 'borderTopWidth');
					}
					break;
				}
				if (parent.tagName == 'BODY' || parent.tagName == 'HTML') {
					// Safari 2 and IE Standards Mode doesn't add the body margin for elments positioned with static or relative
					if (((sf && !sf3) || (ie && $.boxModel)) && elemPos != 'absolute' && elemPos != 'fixed') {
						x += num(parent, 'marginLeft');
						y += num(parent, 'marginTop');
					}
					// Safari 3 does not include the border on body
					// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent
					// IE does not include the border on the body if an element is positioned static and without an absolute or relative parent
					if ( sf3 || (mo && !absparent && elemPos != 'fixed') || 
					     (ie && elemPos == 'static' && !relparent) ) {
						x += num(parent, 'borderLeftWidth');
						y += num(parent, 'borderTopWidth');
					}
					break; // Exit the loop
				}
			} while (parent);
		}

		var returnValue = handleOffsetReturn(elem, options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	},
	
	/**
	 * Gets the location of the element in pixels from the top left corner of the viewport.
	 * This method is much faster than offset but not as accurate when borders and margins are
	 * on the element and/or its parents. This method can be invoked
	 * by setting the lite option to true in the offset method.
	 * The offsetLite method takes an optional map of key value pairs to configure the way
	 * the offset is calculated. Here are the different options.
	 *
	 * (Boolean) margin - Should the margin of the element be included in the calculations? True by default.
	 * (Boolean) border - Should the border of the element be included in the calculations? False by default. 
	 * (Boolean) padding - Should the padding of the element be included in the calcuations? False by default. 
	 * (Boolean) scroll - Sould the scroll offsets of the parent elements be included int he calculations? True by default.
	 *                    When true it adds the total scroll offsets of all parents to the total offset and also adds two
	 *                    properties to the returned object, scrollTop and scrollLeft.
	 * (HTML Element) relativeTo - This should be a parent of the element and should have position (like absolute or relative).
	 *                             It will retreive the offset relative to this parent element. By default it is the body element.
	 *
	 * @name offsetLite
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	offsetLite: function(options, returnObject) {
		if (!this[0]) error();
		var x = 0, y = 0, sl = 0, st = 0, parent = this[0], offsetParent, 
		    options = $.extend({ margin: true, border: false, padding: false, scroll: true, relativeTo: document.body }, options || {});
				
		// Get the HTMLElement if relativeTo is a jquery collection
		if (options.relativeTo.jquery) options.relativeTo = options.relativeTo[0];
		
		do {
			x += parent.offsetLeft;
			y += parent.offsetTop;

			offsetParent = parent.offsetParent || document.body;
			if (options.scroll) {
				// get scroll offsets
				do {
					sl += parent.scrollLeft;
					st += parent.scrollTop;
					parent = parent.parentNode;
				} while(parent != offsetParent);
			}
			parent = offsetParent;
		} while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML' && parent != options.relativeTo);

		var returnValue = handleOffsetReturn(this[0], options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	},
	
	/**
	 * Returns a jQuery collection with the positioned parent of 
	 * the first matched element. This is the first parent of 
	 * the element that has position (as in relative or absolute).
	 *
	 * @name offsetParent
	 * @type jQuery
	 * @cat Plugins/Dimensions
	 */
	offsetParent: function() {
		if (!this[0]) error();
		var offsetParent = this[0].offsetParent;
		while ( offsetParent && (offsetParent.tagName != 'BODY' && $.css(offsetParent, 'position') == 'static') )
			offsetParent = offsetParent.offsetParent;
		return $(offsetParent);
	}
});

/**
 * Throws an error message when no elements are in the jQuery collection
 * @private
 */
var error = function() {
	throw "Dimensions: jQuery collection is empty";
};

/**
 * Handles converting a CSS Style into an Integer.
 * @private
 */
var num = function(el, prop) {
	return parseInt($.css(el.jquery?el[0]:el,prop))||0;
};

/**
 * Handles the return value of the offset and offsetLite methods.
 * @private
 */
var handleOffsetReturn = function(elem, options, x, y, sl, st) {
	if ( !options.margin ) {
		x -= num(elem, 'marginLeft');
		y -= num(elem, 'marginTop');
	}

	// Safari and Opera do not add the border for the element
	if ( options.border && (($.browser.safari && parseInt($.browser.version) < 520) || $.browser.opera) ) {
		x += num(elem, 'borderLeftWidth');
		y += num(elem, 'borderTopWidth');
	} else if ( !options.border && !(($.browser.safari && parseInt($.browser.version) < 520) || $.browser.opera) ) {
		x -= num(elem, 'borderLeftWidth');
		y -= num(elem, 'borderTopWidth');
	}

	if ( options.padding ) {
		x += num(elem, 'paddingLeft');
		y += num(elem, 'paddingTop');
	}
	
	// do not include scroll offset on the element ... opera sometimes reports scroll offset as actual offset
	if ( options.scroll && (!$.browser.opera || elem.offsetLeft != elem.scrollLeft && elem.offsetTop != elem.scrollLeft) ) {
		sl -= elem.scrollLeft;
		st -= elem.scrollTop;
	}

	return options.scroll ? { top: y - st, left: x - sl, scrollTop:  st, scrollLeft: sl }
	                      : { top: y, left: x };
};

/**
 * Gets the width of the OS scrollbar
 * @private
 */
var scrollbarWidth = 0;
var getScrollbarWidth = function() {
	if (!scrollbarWidth) {
		var testEl = $('<div>')
				.css({
					width: 100,
					height: 100,
					overflow: 'auto',
					position: 'absolute',
					top: -1000,
					left: -1000
				})
				.appendTo('body');
		scrollbarWidth = 100 - testEl
			.append('<div>')
			.find('div')
				.css({
					width: '100%',
					height: 200
				})
				.width();
		testEl.remove();
	}
	return scrollbarWidth;
};

})(jQuery);
