/**
 * @author ccortes
 */
(function($) {

	jQuery.fn.boxes = function(settings) {
	
		// Settings
		settings = jQuery.extend({
			topImage: "/HealthCare/images/bgSidebarBoxTop.png",
			bottomImage: "/HealthCare/images/bgSidebarBoxBottom.png"
		}, settings);
	

		var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
		var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
	
		//Build Content box
		var boxContent = $('<div class="boxContent"></div>');
		if(jQuery(this).attr("id")){
			boxContent.attr("id",jQuery(this).attr("id"));
		}
		if(jQuery(this).attr("class")){
			boxContent.addClass(jQuery(this).attr("class"));
		}
		if(settings.bgColor){
			boxContent.css("background-color",settings.bgColor);
		}
		//Fill content
		boxContent.html(jQuery(this).html());
		
		//Build Bottom box
		var boxBottom = $('<div class="boxBottom"></div>');
		bgBottom = new Image();
		$(bgBottom).load(function(){
			if (jQuery.browser.msie && (ie55 || ie6)) {
				boxBottom.css({
					backgroundImage: 'none',
					filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "',sizingMethod='crop')",
					height: this.height+"px",
					overflow: 'hidden',
					zoom: 1
				});
			} else {
				boxBottom.css({
					backgroundImage: 'url('+this.src+')',
					backgroundRepeat: 'no-repeat',
					paddingTop: this.height+"px"
				});
			}
		}).attr('src',settings.bottomImage);

		//Build container
		var boxContainer = $('<div class="boxContainer"></div>');
		bgContainer = new Image();
		$(bgContainer).load(function(){
			if (jQuery.browser.msie && (ie55 || ie6)) {
				boxContainer.css({
					backgroundImage: 'none',
					filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "',sizingMethod='crop')",
					paddingTop: this.height + "px",
					zoom: 1
				});
			} else {
				boxContainer.css({
					backgroundImage: 'url(' + this.src + ')',
					backgroundRepeat: 'no-repeat',
					paddingTop: this.height + "px"
				});
			}
		}).attr('src',settings.topImage);
		

		if(settings.className){
			boxContainer.addClass(settings.className);
		}


		//fill container
		boxContainer.append(boxContent);
		boxContainer.append(boxBottom);
		
		//replacement with container
		jQuery(this).replaceWith(boxContainer);
	
		return jQuery;
	};

})(jQuery);
