var DynamicCorners = {		
	_xc : function(cls, p) {
		var el = document.createElement("div");
		if(p != null){
			p.appendChild(el);
		}
		$(el).addClass(cls);		
		return el;		
	},

	
	isWebKit : navigator.userAgent.toLowerCase().indexOf("webkit") != -1,	
	setup : function(cls) {			
		if(!($.browser.mozilla || DynamicCorners.isWebKit)) {	
			$("." + cls).each(
				function() {					
					$(this).css("border-style", "none");
										
					var x = DynamicCorners;
					var g = x._xc("g", document.body);
					var t = x._xc("t", g);
					var b = x._xc("b", t);
					var l = x._xc("l", b);
					var r = x._xc("r", l);
					var bl = x._xc("bl", r);
					var br = x._xc("br", bl);
					var tl = x._xc("tl", br);
					var tr = x._xc("tr", tl);
					
					$(tr).addClass("inner");

					var o = $(this).get(0);

					$(tr).html($(this).html());
					$(this).empty();
		
					o.appendChild(g);

					var clr = x._xc("clear", o);
					$(clr).text(" ");

					$(this).addClass(cls + "Bg");					
				}
			);
		}
	},
	
	_queue : [],
	
	_onLoadRegistered : false,
	
	initialise :  function() {
		if(DynamicCorners._queue.length == 0) return false;
	    for(var i = 0; i < DynamicCorners._queue.length; i++){			
	        DynamicCorners.setup(DynamicCorners._queue[i]);
	    }
	    if(typeof(DynamicCorners.onSetupComplete) == "function"){						
	        DynamicCorners.onSetupComplete();
	    }    
	},
	
	queueItem : function(cls) {		
	    DynamicCorners._queue.push(cls);
	},
	
    onSetupComplete : null,
	
	autoAdjustHeights : function(selector) {
		var autoResizeContainers = $(selector);

		autoResizeContainers.each(
		    function() {
			    var pods = $(this).children("div");
			    var maxHeight = 0;				
			    pods.each(function() {
				    var h = $(this).height();
				    if(h > maxHeight) maxHeight = h;
			    });

			    var hasMinHeight = true;

			    if ($.browser.msie) {
				    if($.browser.version == "6.0" || $.browser.version == "5.5") {hasMinHeight = false;}
			    }

			    pods.each(
			        function(){
				        var inner = $(this).find("div.inner");
				        var targ;

				        targ = (inner.length > 0) ? inner : $(this);

				        if(!hasMinHeight) targ.css({height : maxHeight});
				        targ.css({"min-height" : maxHeight});
			        }
			    );
		    }
	    );
	}
};