(function(jQuery) {

jQuery.nbsBox = {

	verticalOffset: -75,
	horizontalOffset: 0,
	repositionOnResize: true,
	overlayOpacity: .70,                // transparency level of overlay
	overlayColor: '#000',
	okButton: '&nbsp;Delete&nbsp;',         // text for the OK button
	cancelButton: '&nbsp;Cancel&nbsp;',		// text for cancel button
	
	//public methods
	
	
	
	
	// private methods
	
	_show: function(){
	
	jQuery.nbsBox._hide();
	jQuery.nbsBox._overlay('show');

	
	/*
	jQuery("BODY").append(
				  '<!--NBS Plus code starts -->' +
'<div id="popup_container">'+
   ' <script type="text/javascript"><!--'+
       ' nbsplus_name ="AdvancedHygienicContracting";'+
   ' nbsplus_code ="12400";'+
    'nbsplus_domainname ="http://services.ribae.com/nbsproductdata/";'+
    'nbsplus_height ="120";'+
   ' nbsplus_width ="360";'+
    'nbsplus_borderwidth ="5";'+
   ' nbsplus_borderwidthunits ="px";'+
   ' nbsplus_bordercolour ="002B42";'+
    'nbsplus_borderstyle ="Solid";'+
    'nbsplus_backcolor ="C6C6C6";'+
    'nbsplus_fontfamily ="Arial";'+
    'nbsplus_fontsize ="12";'+
   ' nbsplus_fontsizeunits ="px";'+
    'nbsplus_fontcolor ="3D7F94";'+
   ' nbsplus_fontweight ="normal";'+
   ' nbsplus_rangeColour ="111111";'+
   ' nbsplus_rangeHoverColour ="D3D3D3";'+
    'nbsplus_urlweight ="Bold";'+
    'nbsplus_urlcolor ="333333";'+
    'nbsplus_liststyle ="Square";'+
    'nbsplus_scroll ="Yes";'+
    'nbsplus_singlevalue ="all";'+
    'nbsplus_singlevaluename ="file.xml";'+
	 '//--></script>'+
    '<script type="text/javascript" src="http://services.ribae.com/nbsproductdata/_Resources/js/NBSPlusSynd.js">'+
    '</script>'+
'</div>'+
'<!--NBS Plus code ends -->');
	*/
	// IE6 Fix
		var pos = (jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6 ) ? 'absolute' : 'fixed'; 
	
	// Add CSS styles to popup	
		jQuery("#popup_container").css({
						position: pos,
						zIndex: 99999,
						padding: 0,
						margin: 0
					});
					
	// Populate popup with conten
	
	//jQuery("#popup_title").text(title);
	//jQuery("#popup_message").text(msg);
	//jQuery("#popup_message").html( jQuery("#popup_message").text().replace(/\n/g, '<br />') );
	
	/*jQuery("#popup_container").css({
					minWidth: jQuery("#popup_container").outerWidth(),
					maxWidth: jQuery("#popup_container").outerWidth()
				});
	*/
				
	jQuery.nbsBox._reposition();
	jQuery.nbsBox._maintainPosition(true);
	
		jQuery('#popup_container').show();

	/*
	// Add buttons to popup
	jQuery("#popup_message").after('<div id="popup_panel"><input type="button" value="' + jQuery.nbsBox.okButton + '" id="popup_ok" /> <input type="button" value="' + jQuery.nbsBox.cancelButton + '" id="popup_cancel" /></div>');
	
	// Add actions to buttons
	jQuery("#popup_ok").click( function() {
							jQuery.nbsBox._hide();
							if( callback ) callback(true);
						});
						jQuery("#popup_cancel").click( function() {
							jQuery.nbsBox._hide();
							if( callback ) callback(false);
						});
	
	// Focus ok button
						jQuery("#popup_ok").focus();
	// Set keypress actions
						jQuery("#popup_ok, #popup_cancel").keypress( function(e) {
							if( e.keyCode == 13 ) jQuery("#popup_ok").trigger('click');
							if( e.keyCode == 27 ) jQuery("#popup_cancel").trigger('click');
											});	
						*/
	},
	
	_hide: function(){
		jQuery("#popup_container").hide();
		jQuery.nbsBox._overlay('hide');
		jQuery.nbsBox._maintainPosition(false);
	},
	
	_overlay: function(status){
		switch(status){
			case 'show':
			jQuery.nbsBox._overlay('hide');
				jQuery("BODY").append('<div id="popup_overlay"></div>');
				jQuery("#popup_overlay").css({
										position: 'absolute',
										zIndex: 99998,
										top: '0px',
										left: '0px',
										width: '100%',
										height: jQuery(document).height(),
										background: jQuery.nbsBox.overlayColor,
										opacity: jQuery.nbsBox.overlayOpacity
									});
				
				jQuery("#popup_overlay").click(function(){
							jQuery.nbsBox._hide();					   
												   
												   });
				
			break;
			case 'hide':
			jQuery("#popup_overlay").remove();
			break;
		}
		
		},
		
		_reposition: function(){
			var top = ((jQuery(window).height() / 2) - (jQuery("#popup_container").outerHeight() / 2)) + jQuery.nbsBox.verticalOffset;
			var left = ((jQuery(window).width() / 2) - (jQuery("#popup_container").outerWidth() / 2)) + jQuery.nbsBox.horizontalOffset;
			if( top < 0 ) top = 0;
			if( left < 0 ) left = 0;
			
			// IE6 fix
			if( jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6 ) top = top + jQuery(window).scrollTop();
			jQuery("#popup_container").css({
						top: top + 'px',
						left: left + 'px'
					});
					jQuery("#popup_overlay").height( jQuery(document).height() );
				},
				
				_maintainPosition: function(status) {
							if( jQuery.nbsBox.repositionOnResize ) {
								switch(status) {
									case true:
										jQuery(window).bind('resize', jQuery.nbsBox._reposition);
									break;
									case false:
										jQuery(window).unbind('resize', jQuery.nbsBox._reposition);
									break;
								}
							}
						}
						
}

// Shortcut functions
jNBSBox = function(){
	jQuery.nbsBox._show();
};

})(jQuery);
