/**
 * @fileoverview
 * 
 * <p>Copyright (c) 2006 Peter Michaux. All rights reserved.<br />
 * Code licensed under the MIT License:<br />
 * http://michaux.ca/svn/dragdrop/trunk/MIT-LICENSE.txt</p>
 *
 * @author Peter Michaux - http://peter.michaux.ca
 * @version 0.1 (August 2006)
 */

/**
 * @class
 * <p>An instance of SquareEdge is for use as an edge of an
 * instance of SquareDonut.</p>
 * 
 * @private
 *
 * @extends AbstractEdge
 *
 * @constructor
 */
function SquareEdge(height, width, vOffset, hOffset) {
  SquareEdge.superclass.constructor.call(this);

	var s = this.element.style;
	s.height = height + "px";
	s.width = width + "px";
	this.vOffset = vOffset;
	this.hOffset = hOffset;
}
YAHOO.extend(SquareEdge, AbstractEdge);

/**
 * @class
 * <p>An instance of SquareDonut can be used with DragManager
 * or a subclass of DragManager. A SqureDonut proxy is a 100px by 100px
 * proxy with a border thickness of 10px. You choose the colour for the 
 * proxy through the "proxy" class name selector in a CSS definition.</p>
 *
 * <p>SquareDonut is not intended to be a flexible proxy. It's just
 * a square donut with CSS definable color. That's it. Because the proxy
 * is so simple and the hole is so big in the middle, it will be hard to 
 * beat the performance of a SquareDonut. This makes SquareDonut a good
 * choice for clients with slow computers.</p>
 *
 * @extends AbstractDonut
 *
 * @constructor
 */
function SquareDonut() {
  SquareDonut.superclass.constructor.call(this);
	var e = this.edges;
	e.top = new SquareEdge(10, 100, -50, -50);
	e.left = new SquareEdge(100, 10, -50, -50);
	e.bottom = new SquareEdge(10, 100, 40, -50);
	e.right = new SquareEdge(100, 10, -50, 40);
}
YAHOO.extend(SquareDonut, AbstractDonut);

