function stickyWinHTML (caption, body, options){
	options = $merge({
		width: '300px',
		css: "div.DefaultStickyWin div.body{font-family:verdana; font-size:11px; line-height: 13px;}"+
			"div.DefaultStickyWin div.top_ul{background:url(%baseHref%popupback.png) top left no-repeat; _background-image:url(%baseHref%popupback.gif); height:30px; width:15px; float:left}"+
			"div.DefaultStickyWin div.top_ur{position:relative; left:0px !important; left:-4px; background:url(%baseHref%popupback.png) top right !important; _background-image:url(%baseHref%popupback.gif); height:30px; margin:0px 0px 0px 15px !important; margin-right:-4px; padding:0px}"+
			"div.DefaultStickyWin h1.caption{margin:0px 5px 0px 0px; overflow: hidden; padding:0; font-weight:bold; color:#555; font-size:14px; position:relative; top:8px; left:5px; float: left; height: 22px;}"+
			"div.DefaultStickyWin div.middle, div.DefaultStickyWin div.closeBody {background:url(%baseHref%popupback.png) top left repeat-y; _background-image:url(%baseHref%popupback.gif); margin:0px 20px 0px 0px !important;	margin-bottom: -3px; position: relative;	top: 0px !important; top: -3px;}"+
			"div.DefaultStickyWin div.body{background:url(%baseHref%popupback.png) top right repeat-y; _background-image:url(%baseHref%popupback.gif); padding:8px 30px 8px 0px; margin-left:5px; position:relative; right:-20px}"+
			"div.DefaultStickyWin div.bottom{clear:both}"+
			"div.DefaultStickyWin div.bottom_ll{background:url(%baseHref%popupback.png) bottom left no-repeat; _background-image:url(%baseHref%popupback.gif); width:15px; height:15px; float:left}"+
			"div.DefaultStickyWin div.bottom_lr{background:url(%baseHref%popupback.png) bottom right; _background-image:url(%baseHref%popupback.gif); position:relative; left:0px !important; left:-4px; margin:0px 0px 0px 15px !important; margin-right:-4px; height:15px}"+
			"div.DefaultStickyWin div.closeButtons{min-height: 20px;text-align: center; background:url(%baseHref%body.png) top right repeat-y;  padding: 0px 30px 8px 0px; margin-left:5px; position:relative; right:-20px}"+
			"div.DefaultStickyWin a.button:hover{background:url(%baseHref%big_button_over.gif) repeat-x}"+
			"div.DefaultStickyWin a.button {background:url(%baseHref%big_button.gif) repeat-x; margin: 2px 8px 2px 8px; padding: 2px 12px; cursor:pointer; border: 1px solid #999 !important; text-decoration:none; color: #000 !important;}"+
			"div.DefaultStickyWin div.closeButton{width:13px; height:13px; background:url(%baseHref%closebtn.gif) no-repeat; position: absolute; right: 0px; margin:10px 15px 0px 0px !important; cursor:pointer}"+
			"div.DefaultStickyWin div.dragHandle {	width: 11px;	height: 25px;	position: relative;	top: 5px;	left: -3px;	cursor: move;	background: url(%baseHref%drag_corner.gif); float: left;}",
		cornerHandle: false,
		cssClass: '',
		baseHref: 'http://static.mondocuisto.com/images/popup/',
		buttons: []
/*	These options are deprecated:		
		closeTxt: false,
		onClose: Class.empty,
		confirmTxt: false,
		onConfirm: Class.empty	*/
	}, options);
	//legacy support
	if(options.confirmTxt) options.buttons.push({text: options.confirmTxt, onClick: options.onConfirm || Class.empty});
	if(options.closeTxt) options.buttons.push({text: options.closeTxt, onClick: options.onClose || Class.empty});

	window.addEvent('domready', function(){
		try {
			if(!$('defaultStickyWinStyle')) {
				var css = simpleTemplateParser.parseTemplate(options.css, options);
				if(window.ie) css = css.replace(new RegExp('png', 'gi'),'gif');
				var styler = new Element('style').setProperty('id','defaultStickyWinStyle').injectInside($$('head')[0]);
				if (!styler.setText.attempt(css, styler)) styler.appendText(css);
			}
		}catch(e){dbug.log('error: %s',e);}
	}.bind(this));

	caption = $pick(caption, '%caption%');
	body = $pick(body, '%body%');
	var container = new Element('div').setStyle('width', options.width).addClass('cuistoPopup');
	if(options.cssClass) container.addClass(options.cssClass);
	//header
	
	var h1Caption = new Element('h2').addClass('caption').addClass(options.extraClass).setStyle('width', (options.width.toInt()-(options.cornerHandle?70:60))+'px');
	var showCaption = false;
	if($(caption)) { h1Caption.adopt(caption); showCaption = true; }
	else if ( caption ) { h1Caption.setHTML(caption);showCaption = true; }
	
	var bodyDiv = new Element('div').addClass('body').addClass(options.extraClass).addClass('gainlayout');
	
	var bodyCTable = new Element('tbody').injectInside(new Element('table', {'cellspacing' : '0', 'cellpadding' : '0', 'style' : 'width: 100%', 'class':'pcontentTable'}).injectInside(bodyDiv));
	var bodyCTableRow = new Element('tr');

	if ( options.extraClass == 'message' || options.extraClass == 'error' ) {	
	var contentTD = new Element('td', {'style' : 'text-align: center'}).injectInside(bodyCTableRow);	
	} else {
	var contentTD = new Element('td', {'style' : 'text-align: left'}).injectInside(bodyCTableRow);				
	} 
	
	if (showCaption) {contentTD.adopt(h1Caption);}
	if ($(body)) contentTD.adopt(body);
	else new Element('div').inject(contentTD).setHTML(body);

	bodyCTable.adopt(bodyCTableRow);
	
	 	
	var top_ur = new Element('div').addClass('top_ur').adopt(
			new Element('div').addClass('closeButton').addClass('closeSticky')
		)
		
	
	if(options.cornerHandle){
		new Element('div').addClass('dragHandle').injectTop(top_ur);
	} else {
		h1Caption.addClass('dragHandle');
	}
	container.adopt(
		new Element('div').addClass('top').adopt(
				new Element('div').addClass('top_ul')
			).adopt(top_ur)
	);
	//body
	container.adopt(new Element('div').addClass('middle').addClass('gainlayout').adopt(bodyDiv));
	//close buttons
	
	
	
	if(options.buttons.length > 0){
		
		var closeButtons = new Element('div').addClass('closeButtons');
		var closeBTable = new Element('tbody').injectInside(new Element('table', {'cellspacing' : '0', 'cellpadding' : '0', 'style' : 'width: 100%', 'class':'closeButtons'}).injectInside(closeButtons));
		var closeBTableRow = new Element('tr');
		
		var closeLeft = new Element('td', {'style' : 'text-align: left'}).injectInside(closeBTableRow);
		var closeRight = new Element('td', {'style' : 'text-align: right'}).injectInside(closeBTableRow);
			
		options.buttons.each(function(button){
			if(button.properties && button.properties.className){
				button.properties['class'] = button.properties.className;
				
				delete button.properties.className;
			}
			
			if (typeof(button.properties) != 'undefined' && typeof(button.properties.extraClassName) != 'undefined') { additionalClass =  button.properties.extraClassName;}
			else {additionalClass = 'green_button';}

			
			var properties = $merge({'class': 'closeSticky'}, button.properties);
			new Element('button', {'href' : 'javascript:;'}).addEvent('click',
				button.onClick || Class.empty).setHTML(
				button.text).injectInside(closeLeft).setProperties(properties).addClass(additionalClass).addClass('popupButton');
			new Element('span').injectInside(closeLeft).setHTML('&nbsp;&nbsp;');	
		});
		
			if (options.putcloseform == 1) { 
				
				
				
				new Element('button', {'class': 'closeSticky','href' : 'javascript:;'}).addEvent('click',
				'' || Class.empty).injectInside(closeRight).addClass('red_button').addClass('popupButton').setHTML('<img alt="Cancel" src="images/tips/close_red.gif"/>');	
			}		
		
		closeBTable.adopt(closeBTableRow);
		container.adopt(new Element('div').addClass('closeBody').adopt(closeButtons));
	}
	//footer
	container.adopt(
		new Element('div').addClass('bottom').adopt(
				new Element('div').addClass('bottom_ll')
			).adopt(
				new Element('div').addClass('bottom_lr')
		)
	);
	

	
	return container;
};